Commit Graph

287 Commits

Author SHA1 Message Date
Eelco Dolstra
0eff9a5236 * Fix stdenv-initial.
svn path=/nixpkgs/trunk/; revision=7510
2006-12-28 10:54:39 +00:00
Eelco Dolstra
d15205f8b8 * Set the shell.
svn path=/nixpkgs/trunk/; revision=7504
2006-12-27 18:42:58 +00:00
Eelco Dolstra
138c0ae751 * Merge the new generic builder.
* Removed substitute, it's part of the generic builder now.
* stdenv-initial (Linux): use the real generic builder script.  This
  does require that sed is in the path of the builder of the initial
  stdenv.

svn path=/nixpkgs/trunk/; revision=7498
2006-12-27 18:14:57 +00:00
Eelco Dolstra
7a2c0d1793 * Doh.
svn path=/nixpkgs/trunk/; revision=7496
2006-12-27 17:55:57 +00:00
Eelco Dolstra
2dd4e1b9d3 * Remove dontMakeInstall, it's no longer necessary (just set
installCommand to true or something).

svn path=/nixpkgs/trunk/; revision=7495
2006-12-27 17:48:46 +00:00
Eelco Dolstra
8ab9a58e0d * Split the installPhase into installPhase and fixupPhase. The
fixupPhase strips binaries, runs patchelf, etc.  This is so that
  those things still happen when somebody overrides installPhase.

svn path=/nixpkgs/trunk/; revision=7494
2006-12-27 17:47:09 +00:00
Eelco Dolstra
1d9dcbba22 * Allow the patch flags to be overriden through $patchFlags.
svn path=/nixpkgs/trunk/; revision=7493
2006-12-27 17:33:37 +00:00
Eelco Dolstra
8988c16eea * Pass makeFlags to `make check'.
svn path=/nixpkgs/trunk/; revision=7492
2006-12-27 17:31:55 +00:00
Eelco Dolstra
ed8fff32af * Pass makeFlags to `make install' as well. This is because quite
often the same flags need to be passed to both `make' and `make
  install'.  Added a variable buildFlags for flags that should only be
  passed to `make'.

svn path=/nixpkgs/trunk/; revision=7491
2006-12-27 17:30:40 +00:00
Eelco Dolstra
81025a05df * Variable $installTargets to override the install target in
installPhase.

svn path=/nixpkgs/trunk/; revision=7490
2006-12-27 17:26:43 +00:00
Eelco Dolstra
592cb44e52 * Fix the quadratic performance in substitute().
svn path=/nixpkgs/trunk/; revision=7488
2006-12-27 17:14:00 +00:00
Eelco Dolstra
0a91ca3091 * Allow "make install" to be overriden using $installCommand.
svn path=/nixpkgs/trunk/; revision=7340
2006-12-13 20:08:24 +00:00
Eelco Dolstra
e002f96a56 * TMI.
svn path=/nixpkgs/trunk/; revision=7315
2006-12-11 15:46:54 +00:00
Eelco Dolstra
7dfbf0eba7 * Move the substitution functions into stdenv (not merged yet).
* If the environment variable buildCommand is set, then eval that
  instead of doing the build phases.  This is used by the runCommand
  function in all-packages.nix to allow one-lines like

    foo = runCommand "foo" {} "mkdir $out; echo foo > $out/foo";
    

svn path=/nixpkgs/trunk/; revision=7298
2006-12-10 22:24:42 +00:00
Martin Bravenboer
d7fcf2f810 Added /usr/local/bin to the initial search path to support Massala
svn path=/nixpkgs/trunk/; revision=7011
2006-11-13 10:09:56 +00:00
Eelco Dolstra
9a6683d6a2 * Linux kernel: updated to 2.6.18.1.
* Kernel: accept a list of kernel patches through the kernelPatches
  argument.  The names of the patches are added to the description
  attribute (e.g., "The Linux kernel (with patches:
  skas-2.6.18-v9-pre9)").
* Generic builder (forked in setup-new.sh): support patches that are
  compressed using gzip or bzip2.

svn path=/nixpkgs/trunk/; revision=6913
2006-10-31 11:40:35 +00:00
Eelco Dolstra
9050bc10fe * Latest bootstrap binaries for x86_64.
svn path=/nixpkgs/trunk/; revision=6907
2006-10-30 13:40:18 +00:00
Eelco Dolstra
37bbcde566 * Don't nuke unconditionally.
svn path=/nixpkgs/trunk/; revision=6905
2006-10-30 12:57:30 +00:00
Eelco Dolstra
f0a239989e * __currentSystem is evil.
svn path=/nixpkgs/trunk/; revision=6899
2006-10-29 00:05:17 +00:00
Eelco Dolstra
0c0d30d248 * Fix the URLs / hashes.
svn path=/nixpkgs/trunk/; revision=6891
2006-10-28 13:51:49 +00:00
Eelco Dolstra
bfa469d192 * New (smaller) bootstrap binaries for powerpc.
svn path=/nixpkgs/trunk/; revision=6889
2006-10-28 13:35:22 +00:00
Eelco Dolstra
64f8e95cf8 * Remove references from some GCC header file on powerpc.
svn path=/nixpkgs/trunk/; revision=6888
2006-10-28 13:32:49 +00:00
Eelco Dolstra
3a6754f6bb * gcc-4.1-temp -> gcc-4.1.
* Use real URLs.

svn path=/nixpkgs/trunk/; revision=6884
2006-10-27 23:14:41 +00:00
Eelco Dolstra
c37304db96 * Oops, the bootstrap tools contained an impure gzip/gunzip.
* To prevent this kind of thing, check that all tools are statically
  linked.
* Use findutils 4.2.27, 4.2.28 doesn't build with dietlibc.

svn path=/nixpkgs/trunk/; revision=6881
2006-10-27 22:50:58 +00:00
Eelco Dolstra
de25bee83d * Of course, the latest GNU tar has the same gnulib header file shit
as coreutils.

svn path=/nixpkgs/trunk/; revision=6880
2006-10-27 20:14:19 +00:00
Eelco Dolstra
3ea7d9d272 * Fix static linking in gcc.
* Use the coreutils in dietlibc.
* Add objdump to the binutils static tarball.

svn path=/nixpkgs/trunk/; revision=6879
2006-10-27 20:08:53 +00:00
Eelco Dolstra
01fbf62a2c * nativeGlibc -> nativeLibc (gcc-cross-wrapper is probably broken
right now; should merge gcc-wrapper changes).

svn path=/nixpkgs/trunk/; revision=6876
2006-10-27 13:44:17 +00:00
Eelco Dolstra
0e776c19d2 * Real URLs.
svn path=/nixpkgs/trunk/; revision=6869
2006-10-26 22:55:04 +00:00
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
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
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
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
47d7e73abb * Real URLs.
svn path=/nixpkgs/trunk/; revision=6853
2006-10-25 17:27:32 +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
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
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
c8b1035c4f * Doh.
svn path=/nixpkgs/trunk/; revision=6839
2006-10-25 07:48:59 +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
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
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
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
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
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
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
ffdf59a99d * Glibc needs gzip.
svn path=/nixpkgs/trunk/; revision=6797
2006-10-21 22:22:04 +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
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
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
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
8c61b6b62d * No longer used.
svn path=/nixpkgs/trunk/; revision=6757
2006-10-18 10:11:42 +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
Eelco Dolstra
1442e8ec22 * Copy a bunch of files to nix.cs.uu.nl.
svn path=/nixpkgs/trunk/; revision=6711
2006-10-12 13:50:54 +00:00
Eelco Dolstra
368c196a62 * More descriptions.
svn path=/nixpkgs/trunk/; revision=6709
2006-10-12 10:53:16 +00:00
Martin Bravenboer
bef5dd93a8 Use ++ for constructing builder args
svn path=/nixpkgs/trunk/; revision=6643
2006-10-02 21:16:55 +00:00
Eelco Dolstra
1014ca2ad5 * stdenv.mkDerivation: add any attributes in the "passthru" attribute
set to the result, but don't use them in the actual derivation (so
  they're not inputs).  Useful to pass through extra attributes that
  are not inputs, but should be made available to Nix expressions
  using the derivation (e.g., in assertions).

svn path=/nixpkgs/trunk/; revision=6521
2006-09-14 13:30:47 +00:00
Eelco Dolstra
0617704deb * Step 2. Too bad we can't replace files atomically in SVN!
svn path=/nixpkgs/trunk/; revision=6315
2006-08-29 18:07:52 +00:00
Eelco Dolstra
5df13f87f4 * Step 1...
svn path=/nixpkgs/trunk/; revision=6314
2006-08-29 18:07:33 +00:00
Armijn Hemel
c2f5345172 add attribute isLinux. Nice for packages we only want to build on linux, but on different platforms (currently i686-linux and powerpc-linux)
svn path=/nixpkgs/trunk/; revision=6306
2006-08-29 13:45:21 +00:00
Eelco Dolstra
9b3c21b9a4 * Well-typedness.
svn path=/nixpkgs/trunk/; revision=6296
2006-08-28 21:23:36 +00:00
Martin Bravenboer
5634042fa9 M stdenv/mingw/pkgs/default.nix
A    stdenv/mingw/pkgs/pkgconfig-builder.sh

Bootstrap pkg-config: support the setup hook.

M    stdenv/mingw/fix-builder.sh

Fix the "system" variable.


svn path=/nixpkgs/trunk/; revision=6267
2006-08-27 12:52:06 +00:00
Martin Bravenboer
1838237d25 More variables to fix
svn path=/nixpkgs/trunk/; revision=6266
2006-08-27 11:27:25 +00:00
Martin Bravenboer
a2dd4f8905 More variables to fix
svn path=/nixpkgs/trunk/; revision=6265
2006-08-27 03:56:58 +00:00
Martin Bravenboer
4b5fd3990a Fix in install of curl
svn path=/nixpkgs/trunk/; revision=6258
2006-08-27 00:28:53 +00:00
Martin Bravenboer
961b20c1b7 Added pre release of stratego libraries, fixed support for configureFlags in MinGW, add binary pkg-config distribution for bootstrapping. Optionally use pkgconfig from the stdenv (again, for bootstrapping)
svn path=/nixpkgs/trunk/; revision=6253
2006-08-26 20:11:31 +00:00
Martin Bravenboer
f0129a3f44 Fixes to support the new stdenvType
svn path=/nixpkgs/trunk/; revision=6242
2006-08-25 20:58:02 +00:00
Eelco Dolstra
a177a9ac7c * When calling all-packages.nix, pass system explicitly and don't rely
on __currentSystem being "i686-linux", because we might not be on
  "i686-linux".

svn path=/nixpkgs/trunk/; revision=6218
2006-08-23 16:18:02 +00:00
Eelco Dolstra
ca6ae0b53d * Support different kinds of stdenvs on a particular system (like
"i686-cygwin") by adding an argument "stdenvType" to specify which
  stdenv to use (like "i686-mingw").

svn path=/nixpkgs/trunk/; revision=6213
2006-08-23 15:58:54 +00:00
Martin Bravenboer
97202ee3b7 Patch for aterm library on mingw (see meta-devel-list)
Moved all the shell fixes to fix-builder.sh, which is now always invoked.

Added aterm to the list of packages provided by mingw.nix

svn path=/nixpkgs/trunk/; revision=6152
2006-08-17 15:33:49 +00:00
Martin Bravenboer
77a5272922 Added a fix-builder to fix most of the builder scripts automatically. Basic packages, such as zlib and getopt now build.
svn path=/nixpkgs/trunk/; revision=6143
2006-08-17 01:49:53 +00:00
Martin Bravenboer
18d81e23fe Cleanup of various echo and debug messages. Added top-level mingw.nix for use with nix-env, because many asserts are broken all-packages.nix does not work with mingw stdenv.
svn path=/nixpkgs/trunk/; revision=6142
2006-08-17 01:25:46 +00:00
Martin Bravenboer
bda8fc5621 Dropped gcc-wrapper
svn path=/nixpkgs/trunk/; revision=6141
2006-08-17 00:55:03 +00:00
Martin Bravenboer
688fff92de Major work on the mingw stdenv. Basics now works.
- clone of fetchurl that invokes a given chmod to workaround problems
with inappropriate file permissions (executable files are not allowed
by Nix)

- cygpath tool to determine the full windows path of a cygwin
tool. This tool is used to give fetchurl the windows path to chmod.

- native curl.exe

- gcc-wrapper no longer used

- all-packages.nix: allows stdenv to specify fetchurl.


svn path=/nixpkgs/trunk/; revision=6140
2006-08-17 00:54:32 +00:00
Martin Bravenboer
44f6c2ef74 Build the mingw w32api from source for the mingw stdenv
svn path=/nixpkgs/trunk/; revision=6137
2006-08-16 19:13:43 +00:00
Martin Bravenboer
d1f3a668a0 Victory: mingw stdenv with mingw-runtime from source
svn path=/nixpkgs/trunk/; revision=6136
2006-08-16 18:35:39 +00:00
Martin Bravenboer
890ce7f266 Cleanup
svn path=/nixpkgs/trunk/; revision=6135
2006-08-16 15:48:20 +00:00
Martin Bravenboer
38de63873c Another initial MinGW environment, having some more basic tools. This will allow us to compile some packages for the stdenv from source.
svn path=/nixpkgs/trunk/; revision=6134
2006-08-16 15:43:34 +00:00