Commit graph

129192 commits

Author SHA1 Message Date
Eelco Dolstra
8ed9ea8b51 * Use a Nix shell for gcc-wrapper and ld-wrapper.
svn path=/nixpkgs/trunk/; revision=875
2004-03-29 17:34:00 +00:00
Eelco Dolstra
12ae5363ea * Remove trivial builders.
* Make builders unexecutable by removing the hash-bang line and
  execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
  `mkDerivation'.  These transformations were all done automatically,
  so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.

svn path=/nixpkgs/trunk/; revision=874
2004-03-29 17:23:01 +00:00
Eelco Dolstra
bc71554fc8 * Okay, so something did break.
svn path=/nixpkgs/trunk/; revision=871
2004-03-29 10:27:01 +00:00
Eelco Dolstra
2fcc5fdb08 * "!isNull x" -> "x != null". Done automatically. Hope nothing
broke.

svn path=/nixpkgs/trunk/; revision=870
2004-03-29 10:25:25 +00:00
Eelco Dolstra
e3ff964291 * Fixing ltmain.sh is now done in setup.sh.
svn path=/nixpkgs/trunk/; revision=869
2004-03-29 10:15:12 +00:00
Eelco Dolstra
5862e56f26 * For simple Autotools-style packages (such as the ATerm library), the
builder may now be omitted entirely; the function `mkDerivation'
  will then use a default build script.

svn path=/nixpkgs/trunk/; revision=868
2004-03-28 21:17:56 +00:00
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
91a5fe9eb0 * Networking now works in the UML machine. Masquerading for the tun
device should be enabled on the host in order for the UML machine to
  be able to talk to the Internet.

svn path=/nixu/trunk/; revision=806
2004-02-19 12:49:00 +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
3514c5658b * Proper sysvinit boot/halt. At runlevel 2, creates login shells at
virtual consoles 0 and 1.  To shutdown, do `init 0' (`halt' and
  `shutdown' don't work because they call /sbin/init).

svn path=/nixu/trunk/; revision=803
2004-02-18 14:56:32 +00:00
Eelco Dolstra
008ef42267 * init -> boot, to prevent confusion.
svn path=/nixu/trunk/; revision=802
2004-02-18 14:12:49 +00:00
Eelco Dolstra
1e87e75d07 * Use sysvinit's init to start the system. This has the happy
side-effect of initialising the console properly (i.e., enabling
  Ctrl-[C, Z]).

svn path=/nixu/trunk/; revision=801
2004-02-18 10:56:07 +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