Commit graph

2273 commits

Author SHA1 Message Date
Eelco Dolstra 0b7e256162 * Hook variables in the generic builder are now executed using eval.
This has a major advantage: you can write hooks directly in Nix
  expressions.  For instance, rather than write a builder like this:

    source $stdenv/setup

    postInstall=postInstall
    postInstall() {
        ln -sf gzip $out/bin/gunzip
        ln -sf gzip $out/bin/zcat
    }

    genericBuild

  (the gzip builder), you can just add this attribute to the
  derivation:

    postInstall = "ln -sf gzip $out/bin/gunzip; ln -sf gzip $out/bin/zcat";

  and so a separate build script becomes unnecessary.  This should
  allow us to get rid of most builders in Nixpkgs.

* Allow configure and make arguments to contain whitespace.
  Previously, you could say, for instance

    configureFlags="CFLAGS=-O0"

  but not

    configureFlags="CFLAGS=-O0 -g"

  since the `-g' would be interpreted as a separate argument to
  configure.  Now you can say

    configureFlagsArray=("CFLAGS=-O0 -g")

  or similarly

    configureFlagsArray=("CFLAGS=-O0 -g" "LDFLAGS=-L/foo -L/bar")

  which does the right thing.  Idem for makeFlags, installFlags,
  checkFlags and distFlags.

  Unfortunately you can't pass arrays to Bash through the environment,
  so you can't put the array above in a Nix expression, e.g.,

    configureFlagsArray = ["CFLAGS=-O0 -g"];

  since it would just be flattened to a since string.  However, you
  can use the inline hooks described above:

    preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";


svn path=/nixpkgs/trunk/; revision=6863
2006-10-26 22:20:25 +00:00
Eelco Dolstra c8cc992038 * Put a symlink to the assembler in the GCC wrapper. Otherwise, when
we use the GCC wrapper in a user environment, the wrong assembler
  will be called.  This is not usually a problem, but sometimes it is
  (e.g., when using G++ 4.1.1 with binutils 2.16 or so).

svn path=/nixpkgs/trunk/; revision=6862
2006-10-26 20:25:31 +00:00
Eelco Dolstra 2d3cfb2058 * Put back in the code to do a profiled GCC build, but turn in off
(build ICEs).

svn path=/nixpkgs/trunk/; revision=6861
2006-10-26 20:23:49 +00:00
Eelco Dolstra 43fb5626d6 * Bootstrap tools for the pure stdenv-linux on powerpc-linux.
svn path=/nixpkgs/trunk/; revision=6860
2006-10-26 20:07:49 +00:00
Eelco Dolstra 45bf677dcc * Doh.
svn path=/nixpkgs/trunk/; revision=6859
2006-10-26 19:00:46 +00:00
Eelco Dolstra 554ea561dd * coreutils won't build with dietlibc on ppc.
svn path=/nixpkgs/trunk/; revision=6858
2006-10-26 15:02:16 +00:00
Eelco Dolstra 29f9225a9d * Symlink gunzip, zcat.
svn path=/nixpkgs/trunk/; revision=6857
2006-10-26 14:35:57 +00:00
Eelco Dolstra dcebef7f8e * On powerpc-linux, use gcc-3.4 to compile dietlibc.
svn path=/nixpkgs/trunk/; revision=6856
2006-10-26 11:27:46 +00:00
Eelco Dolstra eb4584c0cb * Merge the gcc-4.1 changes into 3.4.
svn path=/nixpkgs/trunk/; revision=6855
2006-10-26 11:25:29 +00:00
Armijn Hemel 115a99e6f4 orig-glibc -> orig-libc
svn path=/nixpkgs/trunk/; revision=6854
2006-10-26 10:13:59 +00:00
Eelco Dolstra 47d7e73abb * Real URLs.
svn path=/nixpkgs/trunk/; revision=6853
2006-10-25 17:27:32 +00:00
Eelco Dolstra 4be38f2f31 * No longer needed.
svn path=/nixpkgs/trunk/; revision=6851
2006-10-25 16:32:33 +00:00
Eelco Dolstra fd2b826b17 * Add -B$gcc/lib64 when appropriate. This is so that configure
(calling gcc -print-search-dirs) builds a libtool that searches in
  lib64 for libstdc++.so.

svn path=/nixpkgs/trunk/; revision=6850
2006-10-25 16:32:13 +00:00
Eelco Dolstra b831b236ba * Use the pure stdenv on x86_64.
svn path=/nixpkgs/trunk/; revision=6849
2006-10-25 13:27:43 +00:00
Eelco Dolstra 4f03dec496 * Patch for a critical bug in bash.
svn path=/nixpkgs/trunk/; revision=6848
2006-10-25 12:38:57 +00:00
Eelco Dolstra 02254ec3d8 * Fix glibc build on powerpc. See http://sources.redhat.com/bugzilla/show_bug.cgi?id=2929.
svn path=/nixpkgs/trunk/; revision=6847
2006-10-25 11:17:30 +00:00
Eelco Dolstra 371d2ddbf2 * Back out r6830.
svn path=/nixpkgs/trunk/; revision=6846
2006-10-25 11:06:44 +00:00
Eelco Dolstra 3ba5d075a4 * New binaries.
svn path=/nixpkgs/trunk/; revision=6845
2006-10-25 10:56:26 +00:00
Eelco Dolstra 31f2316454 * "ppc" -> "powerpc", but do copy the "ppc" directory as well.
svn path=/nixpkgs/trunk/; revision=6844
2006-10-25 10:55:36 +00:00
Eelco Dolstra 26a11fbf54 * Fix a typo, and put the platform-specific header directory in the
Nix expression rather than the builder.

svn path=/nixpkgs/trunk/; revision=6843
2006-10-25 10:14:27 +00:00
Eelco Dolstra 9c611a19c6 * Glibc no longer containing profiling libraries.
* GCC no longer does a multilib build.

svn path=/nixpkgs/trunk/; revision=6842
2006-10-25 09:51:32 +00:00
Eelco Dolstra 7f9a2ecc16 * Fix building in an impure environment.
svn path=/nixpkgs/trunk/; revision=6841
2006-10-25 09:50:58 +00:00
Eelco Dolstra 1a7576f193 * Get the g++ tarball unconditionally, otherwise the patch won't apply.
svn path=/nixpkgs/trunk/; revision=6840
2006-10-25 09:23:20 +00:00
Eelco Dolstra c8b1035c4f * Doh.
svn path=/nixpkgs/trunk/; revision=6839
2006-10-25 07:48:59 +00:00
Eelco Dolstra 7d5de08c1c * More simplification.
svn path=/nixpkgs/trunk/; revision=6838
2006-10-24 23:07:37 +00:00
Eelco Dolstra 66fb5088c5 * Doh.
svn path=/nixpkgs/trunk/; revision=6837
2006-10-24 23:05:53 +00:00
Eelco Dolstra 4d3059721d * bash 2.0, findutils 4.2.28.
* Some Nix expression simplifications.  Sense and simplicity!

svn path=/nixpkgs/trunk/; revision=6836
2006-10-24 23:05:12 +00:00
Eelco Dolstra f86c11815f * Use coreutils 6.4; the dietlibc patch has been merged.
svn path=/nixpkgs/trunk/; revision=6835
2006-10-24 22:49:08 +00:00
Eelco Dolstra de70885cfc * No longer needed.
svn path=/nixpkgs/trunk/; revision=6834
2006-10-24 22:41:38 +00:00
Eelco Dolstra 97a65f81b2 * Unify the bzip2 builders.
svn path=/nixpkgs/trunk/; revision=6833
2006-10-24 22:40:33 +00:00
Eelco Dolstra 1080560215 * Remove old kernel headers, use 2.6.18.1.
svn path=/nixpkgs/trunk/; revision=6832
2006-10-24 22:26:09 +00:00
Eelco Dolstra 69ee353dc7 * glibc-2.5 is the default now.
* Remove gcc-static-3.4.

svn path=/nixpkgs/trunk/; revision=6831
2006-10-24 22:23:20 +00:00
Eelco Dolstra f6f207e054 * Simplify, simplify.
svn path=/nixpkgs/trunk/; revision=6830
2006-10-24 22:20:45 +00:00
Eelco Dolstra 821b647832 * Rename.
svn path=/nixpkgs/trunk/; revision=6829
2006-10-24 20:57:51 +00:00
Eelco Dolstra 18d730980c * Switching to the new stdenv-linux.
svn path=/nixpkgs/trunk/; revision=6828
2006-10-24 20:57:06 +00:00
Eelco Dolstra 60a9aa66bf * Switching.
svn path=/nixpkgs/trunk/; revision=6827
2006-10-24 20:53:54 +00:00
Eelco Dolstra ec0d20103c * Fixed tar.
svn path=/nixpkgs/trunk/; revision=6826
2006-10-24 19:35:26 +00:00
Eelco Dolstra 6e2f394e6d * Strip tar, curl.
svn path=/nixpkgs/trunk/; revision=6824
2006-10-24 19:29:12 +00:00
Eelco Dolstra b342dcb13b * gcc-wrapper: separately store the flags necessary to find GCC and
Glibc.  This is useful when building GCC.
* gcc-wrapper: the dynamic linker has a different name on x86_64 and
  powerpc.
* gcc-wrapper: "glibc" -> "libc", because someday we might support
  different C libraries.
* gcc: don't do a multilib build (e.g., 32-bit support on x86_64),
  don't need it.
* gcc: merge in support for static builds.
* gcc: various simplifications in the compiler/linker flags, hope they
  work.

svn path=/nixpkgs/trunk/; revision=6823
2006-10-24 18:26:23 +00:00
Eelco Dolstra 5f4f8766cf * GNU tar 1.16.
svn path=/nixpkgs/trunk/; revision=6822
2006-10-24 17:24:46 +00:00
Eelco Dolstra 5e25253768 * Dietlibc tar doesn't work on x86_64, use one statically linked with
glibc.
* Doh!  $tar/bin/tar should have been $gnutar/bin/tar, so we copied
  /bin/tar!

svn path=/nixpkgs/trunk/; revision=6821
2006-10-24 17:24:04 +00:00
Eelco Dolstra 361cf08c59 * Add $pkg/lib64 (if it exists) to the library search path in addition
to $pkg/lib.

svn path=/nixpkgs/trunk/; revision=6820
2006-10-24 13:50:21 +00:00
Eelco Dolstra a6d3ed3074 * Copy gcc's lib64 to the bootstrap tarball.
svn path=/nixpkgs/trunk/; revision=6819
2006-10-24 12:45:55 +00:00
Eelco Dolstra 0cf5154681 * Build a static GCC, properly. (Reminder: when building GCC on an
impure x86_64 environment, make sure that the 32-bit GCC / Glibc
  libraries are installed, such as /usr/lib/crti.o.)

svn path=/nixpkgs/trunk/; revision=6818
2006-10-24 11:36:19 +00:00
Eelco Dolstra d4578254b0 * Move.
svn path=/nixpkgs/trunk/; revision=6817
2006-10-24 08:07:15 +00:00
Eelco Dolstra f7b32f6bde * Firefox 2.0.
svn path=/nixpkgs/trunk/; revision=6816
2006-10-24 08:06:18 +00:00
Eelco Dolstra 8298be4ccf * Statically linked binaries for the stdenv-linux bootstrap on
x86_64.  Glibc doens't build yet, though (it needs libgcc_eh, which
  is strangely missing from the static GCC build).

svn path=/nixpkgs/trunk/; revision=6815
2006-10-23 21:56:49 +00:00
Eelco Dolstra 1a060e3b81 * x86_64 changes.
svn path=/nixpkgs/trunk/; revision=6814
2006-10-23 21:52:36 +00:00
Eelco Dolstra db90711cb7 * LD_LIBRARY_PATH no longer needed (?).
svn path=/nixpkgs/trunk/; revision=6813
2006-10-23 21:51:43 +00:00
Eelco Dolstra c466083d3f * Don't build unnecessary libraries.
svn path=/nixpkgs/trunk/; revision=6812
2006-10-23 21:51:08 +00:00