Commit graph

11465 commits

Author SHA1 Message Date
Eelco Dolstra
5941f66f0e * The stdenv setup script now defines a generic builder that allows
builders for typical Autoconf-style to be much shorten, e.g.,

    . $stdenv/setup
    genericBuild

  The generic builder does lots of stuff automatically:

  - Unpacks source archives specified by $src or $srcs (it knows about
    gzip, bzip2, tar, zip, and unpacked source trees).
  - Determines the source tree.
  - Applies patches specified by $patches.
  - Fixes libtool not to search for libraries in /lib etc.
  - Runs `configure'.
  - Runs `make'.
  - Runs `make install'.
  - Strips debug information from static libraries.
  - Writes nested log information (in the format accepted by
    `log2xml').

  There are also lots of hooks and variables to customise the generic
  builder.  See `stdenv/generic/docs.txt'.

* Adapted the base packages (i.e., the ones used by stdenv) to use the
  generic builder.

* We now use `curl' instead of `wget' to download files in `fetchurl'.

* Neither `curl' nor `wget' are part of stdenv.  We shouldn't
  encourage people to download stuff in builders (impure!).

* Updated some packages.

* `buildinputs' is now `buildInputs' (but the old name also works).

* `findInputs' in the setup script now prevents inputs from being
  processed multiple times (which could happen, e.g., if an input was
  a propagated input of several other inputs; this caused the size
  variables like $PATH to blow up exponentially in the worst case).

* Patched GNU Make to write nested log information in the format
  accepted by `log2xml'.  Also, prior to writing the build command,
  Make now writes a line `building X' to indicate what is being
  built.  This is unfortunately often obscured by the gigantic tool
  invocations in many Makefiles.  The actual build commands are marked
  `unimportant' so that they don't clutter pages generated by
  `log2html'.


svn path=/nixpkgs/trunk/; revision=845
2004-03-19 16:53:04 +00:00
Eelco Dolstra
0fd59fd7a4 * Re-enabled purity checking: it should work now. First we only
checked whether absolute paths passed to gcc/ld refer to the store,
  which is wrong: they can also refer to the build tree
  (/tmp/nix-...).

* Less static composition in the construction of stdenv-nix-linux:
  gcc-wrapper and generic are now passed in as arguments, rather then
  referenced by relative path.  This makes it easier to hack on a
  specific stage of the bootstrap process (before, a change to, e.g.,
  generic/setup.sh would cause all bootstrap stages to be redone).

svn path=/nixpkgs/trunk/; revision=833
2004-03-12 11:12:18 +00:00
Eelco Dolstra
de13527000 * Finally got stdenv-nix-linux working again. Still not perfect,
though.
* libxml2: upgrade to latest.
* octavefront/rna: keep debug info.

svn path=/nixpkgs/trunk/; revision=830
2004-03-11 17:26:14 +00:00
Eelco Dolstra
a1b3ae0c81 * stdenv-nix-linux should more-or-less work again now.
svn path=/nixpkgs/trunk/; revision=826
2004-03-09 17:16:02 +00:00
Eelco Dolstra
ab73ec398b * Removed the old gcc.
svn path=/nixpkgs/trunk/; revision=825
2004-03-09 17:10:23 +00:00
Eelco Dolstra
b8b4f9ce4b * Reject inputs outside of the store in ld if NIX_ENFORCE_PURITY is
set.
* Various bug fixes.

svn path=/nixpkgs/trunk/; revision=824
2004-03-09 17:08:41 +00:00
Eelco Dolstra
d74192ee38 * propagated-build-inputs should now be placed in $out/nix-support.
svn path=/nixpkgs/trunk/; revision=823
2004-03-09 10:59:55 +00:00
Eelco Dolstra
c8455be838 * Use a setup hook to set PKG_CONFIG_PATH.
svn path=/nixpkgs/trunk/; revision=822
2004-03-09 10:45:01 +00:00
Eelco Dolstra
5c5db47443 * Set a flag to indicate whether we're doing a native build.
svn path=/nixpkgs/trunk/; revision=821
2004-03-09 10:36:45 +00:00
Eelco Dolstra
e8d2b1cc36 * Allow Perl to be built using the native stdenv.
svn path=/nixpkgs/trunk/; revision=820
2004-03-09 10:29:30 +00:00
Eelco Dolstra
1b39a96d37 * Create a dummy linux/autoconf.h, which is needed by linux/config.h.
* Updated to 2.4.25.

svn path=/nixpkgs/trunk/; revision=819
2004-03-09 10:28:31 +00:00
Eelco Dolstra
70d26112f2 * Set the TZ variable to UTC to prevent silly errors in date strings.
* Bug fix in PATH initialisation.

svn path=/nixpkgs/trunk/; revision=818
2004-03-09 10:27:42 +00:00
Eelco Dolstra
946a2d4a48 * gcc-wrapper now filters out -L and -I flags referring to paths
outside the store (in pure builds).

svn path=/nixpkgs/trunk/; revision=817
2004-03-08 18:29:08 +00:00
Eelco Dolstra
ce50734cf0 * Started reorganising stdenv:
- gcc/ld-wrappers have been factored out into a separate
    derivation.  This allows a working gcc to be installed in the user
    environment.  (Previously the Nix gcc didn't work because it
    needed a whole bunch of flags to point to glibc.)
    
  - Better modularity: packages can specify hooks into the setup
    scripts.  For instance, setup no longer knows about the
    PKG_CONFIG_PATH variable; pkgconfig can set it up instead.

  - gcc not longer depends on binutils.  This simplifies the bootstrap
    process.

svn path=/nixpkgs/trunk/; revision=816
2004-03-08 16:02:46 +00:00
Eelco Dolstra
1b8e9faf08 * Add octavefront to the cache.
svn path=/nixpkgs/trunk/; revision=815
2004-03-08 09:22:09 +00:00
Eelco Dolstra
287edecf42 * Added gperf, texinfo, ncurses.
* Started moving the gcc wrapper stuff out of stdenv.
* Added octavefront and rna.

svn path=/nixpkgs/trunk/; revision=814
2004-03-05 10:13:23 +00:00
Eelco Dolstra
f82050134e * Perl nixification fixes. Oh, the humanity.
svn path=/nixpkgs/trunk/; revision=813
2004-02-20 16:25:34 +00:00
Eelco Dolstra
1999676d30 * Bug fix: don't pass -B to the linker.
svn path=/nixpkgs/trunk/; revision=811
2004-02-20 10:03:46 +00:00
Eelco Dolstra
b7ad383924 * Bah. All this time gcc was linking programs against
/usr/lib/crt1.o, while it should be using $glibc/lib/crt1.o.  This
  quick hack (prepending $glibc/lib to the GCC search path using "-B")
  fixes the problem, but a better solution to prevent this sort of
  thing is to remove these static paths from gcc.

  Note: this problem was found using the pure UML Nix environment
  (where we don't have /usr/lib).

svn path=/nixpkgs/trunk/; revision=810
2004-02-19 16:55:23 +00:00
Eelco Dolstra
16c0047575 * Use a 2-stage bootstrap for creating the standard build environment
(stdenv) on Linux.  The previous 1-stage bootstrap was insufficient,
  because the tools in stdenv where built by native tools.  For
  instance, the Nix bash had a reference to /lib/libncurses.  This
  doesn't happen with a 2-stage bootstrap, since the bash built in
  stage 2 will be built with the gcc built in stage 1, which doesn't
  search in the "standard" locations.

  Motto: "Disparaging the boot is a bootable offense."

svn path=/nixpkgs/trunk/; revision=809
2004-02-19 16:33:10 +00:00
Eelco Dolstra
08dbd48e8d * Newer version.
svn path=/nixpkgs/trunk/; revision=808
2004-02-19 16:24:43 +00:00
Eelco Dolstra
e5fd37f35d * Added net-tools (for ifconfig, route, hostname).
svn path=/nixpkgs/trunk/; revision=805
2004-02-19 12:46:35 +00:00
Eelco Dolstra
cd0e06b9ef * Added the UML utilities (in particular for tunctl). mconsole is
not built since it requires readline, which we don't have right now.

svn path=/nixpkgs/trunk/; revision=804
2004-02-18 16:22:31 +00:00
Eelco Dolstra
428f8b4ca3 * Upgraded vlc to 0.7.0.
svn path=/nixpkgs/trunk/; revision=800
2004-02-18 08:17:48 +00:00
Eelco Dolstra
73c7b4a111 * Pass parameters correctly.
svn path=/nixpkgs/trunk/; revision=799
2004-02-18 08:17:12 +00:00
Eelco Dolstra
b79b18dfb7 * Add bittorrent to the cache.
svn path=/nixpkgs/trunk/; revision=798
2004-02-17 20:08:01 +00:00
Eelco Dolstra
90e75450a4 * Added BitTorrent.
svn path=/nixpkgs/trunk/; revision=797
2004-02-17 20:03:12 +00:00
Eelco Dolstra
56712d5032 * Export a variation point `zlibSupport'.
svn path=/nixpkgs/trunk/; revision=796
2004-02-17 20:02:31 +00:00
Eelco Dolstra
9261c1eaa5 * Added wxPython.
svn path=/nixpkgs/trunk/; revision=795
2004-02-17 19:19:26 +00:00
Eelco Dolstra
057ad6798c * Export a variation point `compat22' to specify compatibility with
wxWindows 2.2.

svn path=/nixpkgs/trunk/; revision=794
2004-02-17 19:18:46 +00:00
Eelco Dolstra
5eea59c2cd * Use separate Berkeley DB and ATerm.
svn path=/nixpkgs/trunk/; revision=793
2004-02-16 16:54:01 +00:00
Eelco Dolstra
d113da8bab * Added a Nix expression for Nix.
svn path=/nixpkgs/trunk/; revision=790
2004-02-16 15:40:55 +00:00
Eelco Dolstra
e535bc8ad0 * Added e2fsprogs (for e2fsck).
svn path=/nixpkgs/trunk/; revision=788
2004-02-16 14:31:52 +00:00
Eelco Dolstra
500a06b8a9 * Added sysvinit (mostly because it provides a decent `halt'
command).

svn path=/nixpkgs/trunk/; revision=787
2004-02-16 14:09:55 +00:00
Eelco Dolstra
a33753a973 * Added util-linux (for mount etc.).
svn path=/nixpkgs/trunk/; revision=786
2004-02-16 10:40:45 +00:00
Eelco Dolstra
d6a58594d2 * User-Mode Linux and GNU Patch.
svn path=/nixpkgs/trunk/; revision=779
2004-02-13 14:42:28 +00:00
Eelco Dolstra
191a465665 * Added GHC and Helium. Note that GHC is built using a pre-built GHC
for Linux/x86, which is not pure and doesn't work on other
  platforms!

svn path=/nixpkgs/trunk/; revision=776
2004-02-12 13:18:24 +00:00
Eelco Dolstra
73049cea22 * Ugh.
svn path=/nixpkgs/trunk/; revision=774
2004-02-10 18:32:42 +00:00
Eelco Dolstra
ecbf66674f * Override packages in stdenvLinux with those already built in earlier
stages of the bootstrap process (i.e., stdenvLinuxBoot).
* Add those packages to the distribution.  We didn't do that before
  because it would cause them to be built twice.

svn path=/nixpkgs/trunk/; revision=753
2004-02-04 17:25:51 +00:00
Martin Bravenboer
103d1b2c83 Added version 2.6.5 of libxml2
svn path=/nixpkgs/trunk/; revision=750
2004-02-04 16:36:22 +00:00
Eelco Dolstra
9a4afa3f94 * Fix undefined variables.
svn path=/nixpkgs/trunk/; revision=744
2004-02-03 14:44:48 +00:00
Eelco Dolstra
9d9c76529f * Use the `inherit' syntax.
svn path=/nixpkgs/trunk/; revision=740
2004-02-02 21:40:18 +00:00
Eelco Dolstra
3f6bf521fc * Flex required M4 at runtime.
svn path=/nixpkgs/trunk/; revision=734
2004-01-30 17:23:34 +00:00
Eelco Dolstra
9249f4c892 * Bleeding edge Bison.
svn path=/nixpkgs/trunk/; revision=730
2004-01-30 15:52:17 +00:00
Eelco Dolstra
744c434349 * Missing semicolon.
svn path=/nixpkgs/trunk/; revision=729
2004-01-30 15:44:56 +00:00
Eelco Dolstra
c0bdcfe274 * A much newer version of flex. The old (GNU) one was from 1997.
svn path=/nixpkgs/trunk/; revision=727
2004-01-30 10:10:06 +00:00
Eelco Dolstra
66c3040dbb * Semicolons at the end of an attrset are now required.
svn path=/nixpkgs/trunk/; revision=726
2004-01-29 14:28:16 +00:00
Eelco Dolstra
7000802ae8 * Upgrade to Subversion 0.37.0.
svn path=/nixpkgs/trunk/; revision=724
2004-01-27 14:39:05 +00:00
Eelco Dolstra
41c54dd4d9 * j2sdk should not refer to /tmp/j2sdk-1_4_2_03-linux-i586.bin in this
way, since it prevents store expression from being instantiated from
  all-packages-generic.nix. 

svn path=/nixpkgs/trunk/; revision=721
2004-01-26 11:05:07 +00:00
Eelco Dolstra
9db5df37f9 * Added cksfv, a program for verifying sfv checksum files.
svn path=/nixpkgs/trunk/; revision=720
2004-01-25 08:59:20 +00:00