Commit graph

2198 commits

Author SHA1 Message Date
Eelco Dolstra 609710f102 * Enable the pure stdenv-linux for powerpc.
svn path=/nixpkgs/trunk/; revision=6867
2006-10-26 22:41:46 +00:00
Eelco Dolstra 29961dbb85 * Doh.
svn path=/nixpkgs/trunk/; revision=6866
2006-10-26 22:40:44 +00:00
Eelco Dolstra 2efe6dc281 * Tsk.
svn path=/nixpkgs/trunk/; revision=6865
2006-10-26 22:30:48 +00:00
Eelco Dolstra cf693caa08 * Another example of an inline hook.
svn path=/nixpkgs/trunk/; revision=6864
2006-10-26 22:30:27 +00:00
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
Eelco Dolstra 87e86fb538 * Cleanup.
svn path=/nixpkgs/trunk/; revision=6811
2006-10-23 20:20:25 +00:00
Eelco Dolstra 4db491be54 * Can't use dietlibc for gawk on x86_64, not enough libm functionality.
svn path=/nixpkgs/trunk/; revision=6810
2006-10-23 20:16:37 +00:00
Eelco Dolstra b495d3f65e * Trying to get gcc-static to build on x86_64. Still doesn't work though.
svn path=/nixpkgs/trunk/; revision=6809
2006-10-23 18:56:43 +00:00
Eelco Dolstra 491f9dec21 * Quick hack to get binutils to build with dietlibc on x86_64.
svn path=/nixpkgs/trunk/; revision=6808
2006-10-23 18:55:25 +00:00
Eelco Dolstra 461783c3a5 * useDietLibC: work properly on impure stdenvs.
* dietlibc: pass glibc explicitly.

svn path=/nixpkgs/trunk/; revision=6807
2006-10-23 17:43:55 +00:00
Eelco Dolstra 13c3591485 * Add x86_64-linux to the isLinux attribute.
svn path=/nixpkgs/trunk/; revision=6806
2006-10-23 17:43:03 +00:00
Eelco Dolstra ed5f6e55e8 * Support x86_64.
svn path=/nixpkgs/trunk/; revision=6805
2006-10-23 17:42:17 +00:00
Eelco Dolstra 84dd812f33 Finally, the new stdenv-linux.
* The statically linked bootstrap tools are now automatically
  reproducable, just do:

  $ nix-build ./make-bootstrap-tools.nix

  The resulting binaries in result/in-nixpkgs go to
  stdenv/linux/bootstrap/<platform>/, and the tarballs in
  result/on-server go to
  https://svn.cs.uu.nl:12443/repos/trace/tarballs/trunk/stdenv-linux/<platform>/<revision>/.
  These are checked out on nix.cs.uu.nl under http://.../dist/tarballs.

* The statically linked libraries all use dietlibc now (except
  patchelf and glibc), so they are much smaller.  This is especially
  nice for the tools in the Nixpkgs tree, since it makes Nixpkgs
  tarballs smaller.

* Use Binutils 2.17 and GCC 4.1.1 for the bootstrap.

* The stdenv is now based on Glibc 2.5.  I hope it works ;-)

svn path=/nixpkgs/trunk/; revision=6803
2006-10-23 14:27:34 +00:00
Eelco Dolstra 03a243a5e1 * We do need libgcc_s.so.
svn path=/nixpkgs/trunk/; revision=6800
2006-10-23 12:21:35 +00:00
Eelco Dolstra 2caebdb82d * Use Binutils 2.17.
svn path=/nixpkgs/trunk/; revision=6799
2006-10-23 11:43:36 +00:00
Eelco Dolstra 766ff9059e * WMA plugin for BMP.
svn path=/nixpkgs/trunk/; revision=6798
2006-10-23 09:13:17 +00:00
Eelco Dolstra ffdf59a99d * Glibc needs gzip.
svn path=/nixpkgs/trunk/; revision=6797
2006-10-21 22:22:04 +00:00
Eelco Dolstra bc22a981e5 * Remove <dlfcn.h>, it makes some packages think we can load dynamic
libraries.

svn path=/nixpkgs/trunk/; revision=6796
2006-10-21 11:36:28 +00:00
Eelco Dolstra 0b85530440 * Add diffutils.
svn path=/nixpkgs/trunk/; revision=6795
2006-10-20 22:23:36 +00:00
Eelco Dolstra f5502aaba7 * Add gawk.
svn path=/nixpkgs/trunk/; revision=6794
2006-10-20 20:57:31 +00:00
Eelco Dolstra 207bba1367 * Add GNU make.
svn path=/nixpkgs/trunk/; revision=6793
2006-10-20 20:18:21 +00:00
Eelco Dolstra 3d2e573eff * GNU sed 4.1.5 compiled with dietlibc gives "Memory exhausted" errors
on trivial patterns, so use an older sed instead (4.1.2).  See
  http://linuxfromscratch.org/pipermail/hlfs-dev/2005-September/002447.html.

svn path=/nixpkgs/trunk/; revision=6792
2006-10-20 20:05:26 +00:00
Eelco Dolstra 65bbb45ab7 * Add findutils to the bootstrap tools.
svn path=/nixpkgs/trunk/; revision=6791
2006-10-20 16:01:38 +00:00
Eelco Dolstra 4a00169ff6 * Okay, we do need part of <wchar.h>
svn path=/nixpkgs/trunk/; revision=6790
2006-10-20 16:01:11 +00:00
Eelco Dolstra 692168db6c * Add the glibc static tarball.
svn path=/nixpkgs/trunk/; revision=6789
2006-10-20 12:50:45 +00:00
Eelco Dolstra 9cfda380c8 * Add a statically linked patchelf.
svn path=/nixpkgs/trunk/; revision=6788
2006-10-20 11:50:08 +00:00
Eelco Dolstra 54c158cb84 * Function `makeStaticBinaries' that augments stdenv to produce
statically linked binaries.

svn path=/nixpkgs/trunk/; revision=6787
2006-10-20 11:49:47 +00:00
Eelco Dolstra 0bacb7b00d * Doh!
svn path=/nixpkgs/trunk/; revision=6786
2006-10-20 11:27:25 +00:00
Eelco Dolstra 263e4dd623 * Add the statically linked GCC.
svn path=/nixpkgs/trunk/; revision=6785
2006-10-20 11:16:15 +00:00
Eelco Dolstra 63720cf493 * Add gzip, binutils. Getting there...
svn path=/nixpkgs/trunk/; revision=6784
2006-10-20 10:13:07 +00:00
Eelco Dolstra 884e8571c3 * Add grep.
svn path=/nixpkgs/trunk/; revision=6783
2006-10-19 22:47:51 +00:00
Eelco Dolstra 1acd2157cc * Add patch, sed.
svn path=/nixpkgs/trunk/; revision=6782
2006-10-19 22:31:08 +00:00
Eelco Dolstra 8ae026392b * Remove <wchar.h> since it's bogus.
svn path=/nixpkgs/trunk/; revision=6781
2006-10-19 22:30:20 +00:00
Eelco Dolstra c6ecc900cf * Add more stuff to the bootstrap builder.
* Remove some redundant *Diet values in all-packages.nix.

svn path=/nixpkgs/trunk/; revision=6780
2006-10-19 21:36:51 +00:00
Eelco Dolstra fc56793b67 * Start of a Nix expression that builds and gathers all the statically
linked tools necessary for bootstrapping stdenv-linux.

svn path=/nixpkgs/trunk/; revision=6778
2006-10-19 18:03:13 +00:00
Eelco Dolstra 1ef55666d0 * Dead file.
svn path=/nixpkgs/trunk/; revision=6777
2006-10-19 17:55:11 +00:00
Eelco Dolstra 6b03da43d9 * binutils on dietlibc.
* Pass -lcompat by default in the dietlibc stdenv.

svn path=/nixpkgs/trunk/; revision=6770
2006-10-19 11:03:20 +00:00
Eelco Dolstra c696045af0 * dietlibc: copy sys/user.h from Glibc, binutils needs it.
* dietlibc: rename the PC macro to __DIETLIBC_PC to prevent name
  clashes.

svn path=/nixpkgs/trunk/; revision=6769
2006-10-19 10:54:40 +00:00
Eelco Dolstra ce22859f8a * Bash on dietlibc.
* Pass -D_BSD_SOURCE=1 by default in the dietlibc stdenv.

svn path=/nixpkgs/trunk/; revision=6768
2006-10-18 16:16:07 +00:00
Eelco Dolstra f3619824a9 * bzip2 with dietlibc.
svn path=/nixpkgs/trunk/; revision=6767
2006-10-18 15:49:47 +00:00
Eelco Dolstra efc2b12da5 * A better patch.
svn path=/nixpkgs/trunk/; revision=6766
2006-10-18 15:26:48 +00:00
Eelco Dolstra 6ff020ad3a * Build coreutils on dietlibc.
svn path=/nixpkgs/trunk/; revision=6765
2006-10-18 15:16:53 +00:00
Eelco Dolstra 5947d98f05 * Cleanup.
svn path=/nixpkgs/trunk/; revision=6764
2006-10-18 14:04:55 +00:00
Eelco Dolstra 5fb7ad141c * Notation.
svn path=/nixpkgs/trunk/; revision=6762
2006-10-18 12:52:20 +00:00
Eelco Dolstra 501ceef268 * A function `useDietLibC' that returns a modified stdenv that uses
dietlibc to produce small, statically linked binaries.  This stdenv
  also passes `-Os' to GCC automatically to optimise for size.  It
  also tries to prevent builders from linking against dynamic
  libraries (which dietlibc doesn't support).

* A function `addAttrsToDerivation' that returns a modified stdenv
  that always adds the specified attributes to the derivations that it
  produces.  Example (from curl):

    curlDiet =  import ../tools/networking/curl {
      inherit fetchurl zlib;
      stdenv = addAttrsToDerivation {
        CFLAGS = "-DHAVE_INET_NTOA_R_2_ARGS=1";
      } (useDietLibC stdenv);
    };

  (This is needed to get curl to build with dietlibc.  Also note the
  stacking of stdenv-modifying functions.)

* curl-diet: no longer necessary.

svn path=/nixpkgs/trunk/; revision=6761
2006-10-18 12:50:04 +00:00
Eelco Dolstra 20d42ae673 * Fake Glibc's crti.o and crtn.o to make the linker happy.
svn path=/nixpkgs/trunk/; revision=6760
2006-10-18 12:45:46 +00:00
Eelco Dolstra b131d474c7 * dietlibc: symlink "lib" to "lib-*", and symlink "crt1.o" to
"start.o" to make it easier to use dietlibc as a drop-in replacement
  for glibc.

svn path=/nixpkgs/trunk/; revision=6759
2006-10-18 11:25:10 +00:00
Eelco Dolstra e643730bbf * Remove redundant parentheses.
svn path=/nixpkgs/trunk/; revision=6758
2006-10-18 10:32:45 +00:00
Eelco Dolstra 8c61b6b62d * No longer used.
svn path=/nixpkgs/trunk/; revision=6757
2006-10-18 10:11:42 +00:00
Eelco Dolstra 7827a75fe0 * Glibc 2.5. It compiles and seems to work. However, we probably
should bite the bullet on NPTL.

svn path=/nixpkgs/trunk/; revision=6756
2006-10-17 22:07:10 +00:00
Eelco Dolstra 76405f2b7f * `drv + /path' is deprecated, so don't do that anymore.
svn path=/nixpkgs/trunk/; revision=6754
2006-10-17 14:06:18 +00:00