Commit graph

330 commits

Author SHA1 Message Date
Eelco Dolstra 892b119c9d * It is now possible to execute a builder using a shell inside the Nix
store, rather than outside (such as /bin/sh).

  For instance, the Nix expression for the ATerm library now looks
  like this:

    {stdenv, fetchurl}:

    stdenv.mkDerivation {
      name = "aterm-2.0.5";
      builder = ./builder.sh;
      ...
    }

  where `mkDerivation' is a helper function in `stdenv' that massages
  the given attribute set into using the bash shell that is part of
  the standard environment:

    mkDerivation = attrs: derivation (att s // {
      builder = pkgs.bash ~ /bin/sh;
      args = ["-e" attrs.builder];
      stdenv = (...);
      system = (...).system;
    });

  Note that this makes it unnecessary to set the `stdenv' and `system'
  attributes, since `mkDerivation' already does that.


svn path=/nixpkgs/trunk/; revision=866
2004-03-28 21:07:43 +00:00
Eelco Visser f8f9f4d12c expression for strategoxt 0.9.5
svn path=/nixpkgs/trunk/; revision=863
2004-03-28 15:52:03 +00:00
Eelco Dolstra 3c699fe619 * Need to specify a dummy unpacker.
svn path=/nixpkgs/trunk/; revision=862
2004-03-27 23:39:02 +00:00
Eelco Dolstra f45695f7fa * Use $propagatedBuildInputs to find build inputs.
* Bug fix in setup.sh.

svn path=/nixpkgs/trunk/; revision=861
2004-03-27 22:09:34 +00:00
Eelco Dolstra bd56b7d65c * Started moving from XFree86 to the freedesktop.org Xlibs libraries.
svn path=/nixpkgs/trunk/; revision=860
2004-03-27 21:59:31 +00:00
Eelco Dolstra 8c4a80b585 * Upgrade to gcc 3.3.3. Starting at 3.3.3, the gcc makefile checks
whether the system header file directory actually exists (when
  calling fixinc), so passing a non-existent directory no longer
  works.  Instead we make a empty dummy directory.

svn path=/nixpkgs/trunk/; revision=858
2004-03-27 16:35:59 +00:00
Eelco Dolstra 9c4cfc02ce * Pass a `bootCurl' parameter.
svn path=/nixpkgs/trunk/; revision=857
2004-03-27 15:50:18 +00:00
Eelco Dolstra f1b459adfd * `aterm_2_0_5' is gone.
svn path=/nixpkgs/trunk/; revision=856
2004-03-27 15:49:59 +00:00
Eelco Dolstra e8295a80b4 * Upgrade to 0.9.7d (another security fix).
svn path=/nixpkgs/trunk/; revision=855
2004-03-27 15:49:20 +00:00
Eelco Dolstra f0b3c89f89 * Fix all files called `ltmain.sh' in the source tree.
svn path=/nixpkgs/trunk/; revision=854
2004-03-27 15:48:46 +00:00
Eelco Dolstra 4f155b0f7a * Upgrades.
svn path=/nixpkgs/trunk/; revision=853
2004-03-27 15:48:19 +00:00
Eelco Dolstra 158aa95f52 * Upgrade to 1.0.1.
svn path=/nixpkgs/trunk/; revision=852
2004-03-27 15:48:03 +00:00
Eelco Dolstra ee40be39a4 * Upgrade to 2.0.49.
svn path=/nixpkgs/trunk/; revision=851
2004-03-27 15:47:48 +00:00
Eelco Dolstra 4df6ec860c * Typo fix.
svn path=/nixpkgs/trunk/; revision=850
2004-03-27 15:44:05 +00:00
Eelco Dolstra cbe3e13bde * Style fix.
svn path=/nixpkgs/trunk/; revision=846
2004-03-19 17:01:46 +00:00
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