Commit graph

181 commits

Author SHA1 Message Date
Eelco Dolstra bf1e734f85 * Don't use the subpath operator (~) anymore, it's subsumed by normal
concatenation (+).

svn path=/nixpkgs/trunk/; revision=6080
2006-08-09 15:05:30 +00:00
Eelco Dolstra f1166e0bbb * Through the magic of functional programming, let stdenv export a
function to regenerate itself with a different setup script.  This
  is useful for experimenting with changes to the setup script in
  specific packages without triggering a rebuild of everything.

* stdenv/generic/setup-latest.sh is a branch of setup.sh containing
  pending changes that will be merged into setup.sh eventually.

* setup-latest.sh: don't use tar's "z" and "j" flags.  Rather, call
  gzip and bunzip2 directly.

svn path=/nixpkgs/trunk/; revision=6066
2006-08-07 13:31:18 +00:00
Martin Bravenboer 835f452e70 * Allow packages to enabled shared libraries on cygwin.
(ideally, this should be the other way around, but I have no idea how
many packages will break if we enable shared libraries by default)


svn path=/nixpkgs/trunk/; revision=5923
2006-07-24 21:20:49 +00:00
Eelco Dolstra 4c68a103e8 * Pass along realCurl.
svn path=/nixpkgs/trunk/; revision=5830
2006-07-20 15:21:36 +00:00
Eelco Dolstra 3defd9a3d3 * On Darwin, use Apple's gcc fork.
svn path=/nixpkgs/trunk/; revision=5715
2006-07-14 22:34:24 +00:00
Eelco Dolstra bf7ca59eaa * Doh!
svn path=/nixpkgs/trunk/; revision=5708
2006-07-14 13:34:39 +00:00
Eelco Dolstra dd325103df * Better stdenv for Darwin: uses gcc, coreutils etc. built in Nix, but
external binutils (i.e., Apple's cctools in /usr/bin).

svn path=/nixpkgs/trunk/; revision=5706
2006-07-14 11:59:38 +00:00
Eelco Dolstra 10d67f5c7a * Reviving stdenvNix.
svn path=/nixpkgs/trunk/; revision=5702
2006-07-14 09:28:09 +00:00
Eelco Dolstra b2f6e204a2 * Remove redundant files, move path.nix around a bit.
svn path=/nixpkgs/trunk/; revision=5701
2006-07-14 08:35:59 +00:00
Eelco Dolstra 02e13f0eb4 * Regularize the treatment of the "gcc" attributes in
all-packages.nix.  All "gcc*" attributes are wrapped GCC instances
  now.

svn path=/nixpkgs/trunk/; revision=5671
2006-07-10 15:42:19 +00:00
Martin Bravenboer bb9f6fbc59 Support i686-darwin
svn path=/nixpkgs/trunk/; revision=5597
2006-07-05 16:33:41 +00:00
Eelco Dolstra d9d8a1dd57 * Disable dynamic linking on Cygwin until we figure out how to deal
with the lack of an RPATH.

svn path=/nixpkgs/trunk/; revision=5362
2006-06-01 09:41:31 +00:00
Eelco Dolstra c067e6afa2 * Fix stdenv-nix.
svn path=/nixpkgs/trunk/; revision=5358
2006-05-31 15:08:25 +00:00
Eelco Dolstra 4a00c41986 * Fix stdenv-native.
svn path=/nixpkgs/trunk/; revision=5354
2006-05-31 12:18:01 +00:00
Eelco Dolstra c4ea3e8d77 * Filter out the meta attribute, again.
svn path=/nixpkgs/trunk/; revision=5093
2006-03-24 16:07:42 +00:00
Eelco Dolstra bb28c87406 * Filter out the meta attribute.
svn path=/nixpkgs/trunk/; revision=5091
2006-03-24 14:20:31 +00:00
Eelco Dolstra baec8f5b38 * stdenv.mkDerivation now takes an optional attribute "meta" that
contains arbitrary information about a package, like this:

  meta = {
    homepage = "http://gcc.gnu.org/";
    license = "GPL/LGPL";
    description = "GNU Compiler Collection, 4.0.x";
  };

  The "meta" attribute is not passed to the actual derivation
  operation, so it's not a dependency --- changes to "meta" attributes
  don't trigger a recompilation.

  Now we have to standardise some useful attributes ;-)

svn path=/nixpkgs/branches/usability/; revision=5024
2006-03-10 16:12:46 +00:00
Eelco Dolstra 03aef934d1 * Fix "infinite recursion" errors on FreeBSD and Darwin.
svn path=/nixpkgs/branches/usability/; revision=4997
2006-03-08 15:34:05 +00:00
Eelco Dolstra 07bc3fbf00 * Push packages from the final stdenv bootstrapping phase to
all-packages.  That is, an attribute like "bash" in all-packages.nix
  should evaluate to the "bash" used to build stdenv, it shouldn't
  build a new one.

  Hm, this would be a lot cleaner if we had lazy_rec ;-)

svn path=/nixpkgs/branches/usability/; revision=4775
2006-02-09 17:04:18 +00:00
Eelco Dolstra 29c64c6c67 * Move top-level/stdenvs.nix to the stdenv/ directory.
svn path=/nixpkgs/branches/usability/; revision=4774
2006-02-09 15:55:20 +00:00
Eelco Dolstra ffe91d36c3 * Merge all-packages.nix into all-packages-generic.nix.
svn path=/nixpkgs/branches/usability/; revision=4765
2006-02-08 17:37:45 +00:00
Armijn Hemel 7bd6a3599b use newer curl. This fixes a few security bugs and this static version of curl
has been built using Nix itself. I've tested this, it works.

svn path=/nixpkgs/trunk/; revision=4451
2005-12-28 02:02:56 +00:00
Armijn Hemel 62c3e9e7a1 add the statically linked curl-7.15.1 here.
Now, switching the curl to this version did not trigger a massive rebuild on
my system, which puzzles me. Maybe it is because no checksum is recorded?
Am I doing something wrong?

svn path=/nixpkgs/trunk/; revision=4434
2005-12-25 01:36:49 +00:00
Eelco Dolstra 82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +00:00
Eelco Dolstra 552de99c19 * Update a bunch of base packages.
svn path=/nixpkgs/trunk/; revision=4065
2005-10-11 14:29:30 +00:00
Eelco Dolstra 49220563df * Purity fixes, courtesy of NixOS :-)
svn path=/nixpkgs/trunk/; revision=3675
2005-08-24 09:21:37 +00:00
Eelco Dolstra 454707da23 * catamaran.labs.cs.uu.nl -> nix.cs.uu.nl.
svn path=/nixpkgs/trunk/; revision=3660
2005-08-22 08:39:27 +00:00
Eelco Dolstra 6f8e9bc2f6 * Make the grep call optional.
svn path=/nixpkgs/trunk/; revision=3330
2005-07-13 09:07:54 +00:00
Eelco Dolstra 5b15f75a13 * mkDerivation: accept an argument `realBuilder' (stupid name) to
override the default builder (i.e., bash).  For example,

    stdenv.mkDerivation {
      realBuilder = perl ~ "bin/perl";
      args = [ "-w" ./builder.pl ];
    }

svn path=/nixpkgs/trunk/; revision=3219
2005-06-20 15:03:52 +00:00
Eelco Dolstra 0a2f531aea * Don't patch symlinked shared libraries.
svn path=/nixpkgs/trunk/; revision=3195
2005-06-17 13:46:04 +00:00
Eelco Dolstra 32d7a746a2 * Move ensureDir() up, otherwise calls to fail() might fail.
svn path=/nixpkgs/trunk/; revision=3192
2005-06-17 11:42:53 +00:00
Eelco Dolstra a3407f79dd * Alias make to gmake on FreeBSD.
svn path=/nixpkgs/trunk/; revision=3049
2005-05-16 01:21:53 +00:00
Eelco Dolstra 0217d8b204 * Add a simple standard environment for FreeBSD.
* Use the system Perl on all non-i686-linux platforms.
* Don't build Python support in libxml2 on most platforms.

svn path=/nixpkgs/trunk/; revision=3019
2005-05-10 12:59:28 +00:00
Eelco Dolstra edbfa75d01 * Use /bin/bash, not /bin/sh, since we really do need bash.
svn path=/nixpkgs/trunk/; revision=3018
2005-05-10 09:22:14 +00:00
Eelco Dolstra 6b8a8c92da * Fix regexp to match base-32 hashes.
svn path=/nixpkgs/trunk/; revision=2375
2005-03-10 17:32:09 +00:00
Eelco Dolstra 12c0a6351d * Use --strip-debug', not --strip-all', so that we can at least get
proper backtraces.  Otherwise debugging of Nix binaries is very
  hard.

svn path=/nixpkgs/trunk/; revision=2292
2005-02-23 22:01:54 +00:00
Eelco Dolstra 5b6b8d3e3e * Use the latest patchelf. This fixes broken gconv modules (e.g.,
$glibc/lib/gconv/ISO-2022-JP.so has an RPATH of `$ORIGIN' so that it
  can find glibc/lib/gconv/libJIS.so; `$ORIGIN' should not be filtered
  out of the RPATH).

svn path=/nixpkgs/trunk/; revision=2290
2005-02-23 14:15:33 +00:00
Eelco Dolstra afc8ae625f * Make it possible to override the log writer (from its default,
`tee').  Useful in the build farm where we want to write logs
  through `bzip2'.

svn path=/nixpkgs/trunk/; revision=2270
2005-02-22 15:03:24 +00:00
Eelco Dolstra 2e0380b7a0 * Use the generic substituter in the generation of stdenv and gcc-wrapper.
svn path=/nixpkgs/trunk/; revision=2269
2005-02-22 14:32:56 +00:00
Eelco Dolstra 290fba0cb6 * Remove unused stuff.
svn path=/nixpkgs/trunk/; revision=2268
2005-02-22 09:57:36 +00:00
Eelco Dolstra 399d23373e * Split downloading and unpacking.
* Add an MD5 hash for the downloaded files.
* Rename some files.

svn path=/nixpkgs/trunk/; revision=2267
2005-02-22 09:55:03 +00:00
Eelco Dolstra 31ff064352 * Use bzip instead of gzip for downloaded archives.
* Combine most of the archives together into one file (static.bz2).
* Don't depend on Subversion directories, but single files only.
  Otherwise any Subversion operation may cause a rebuild because
  something in .svn changes.  It would be nice if .svn directories
  were filtered out when copying things to the store.
* Glibc tarball: removed all .so files, /bin and /sbin, etc., and put
  linux-headers in the Glibc tarball.

svn path=/nixpkgs/trunk/; revision=2265
2005-02-22 07:59:15 +00:00
Eelco Dolstra 63bd7cdb79 * Rename stdenv-nix-linux-static to stdenv-linux.
svn path=/nixpkgs/trunk/; revision=2264
2005-02-21 20:54:34 +00:00
Eelco Dolstra 3e02536184 * Move the stdenv-linux bootstrap from stdenvs.nix to the
nix-linux-static directory.
* Get rid of the old nix-linux.
* Commented the bootstrap process.

svn path=/nixpkgs/trunk/; revision=2263
2005-02-21 20:42:07 +00:00
Eelco Dolstra 5f3c1f22ce * Forgotten.
svn path=/nixpkgs/trunk/; revision=2262
2005-02-21 20:40:51 +00:00
Eelco Dolstra ecd2596677 * Do the generic sed thing for Glibc.
* Remove debug stuff from ld-wrapper.

svn path=/nixpkgs/trunk/; revision=2261
2005-02-21 17:57:53 +00:00
Eelco Dolstra e6744d0f89 * Merge diff between trunk/pkgs@1646 and branches/nixos-pkgs@2256;
this contains mostly Armijn's pure stdenv-linux.

* After unpacking the statically linked GCC, patch all store paths to
  /nix/store/ffffffffffffffffffffffffffffffff.  Ugly hack to prevent
  undeclared references but it works.

* We don't need Glib's dynamic libraries in the first bootstrap stage;
  delete them.  Actually the downloaded Glibc binary is only needed
  for building Glibc, since GCC needs a C compiler to build some
  programs in `configure'.  So static linking is fine for that.  Maybe
  it would be better to patch `configure' so that we don't need a
  pre-built Glibc at all.

* Set the svn:executable property on `cp' and `patchelf'.

* In Glibc, revert to LinuxThreads.  Maybe NPTL will work, but TLS
  support is a problem.

* Delete most Glibc patches; they're no longer needed since the branch
  updated it to 20050110.
  
* Some cleanups.

svn path=/nixpkgs/trunk/; revision=2258
2005-02-21 16:03:34 +00:00
Armijn Hemel 0e6b2045ea we actually *do* have patchelf available and we want to use it to patch
our freshly built glibc, otherwise we get weird blah errors

svn path=/nixpkgs/branches/nixos-pkgs/; revision=2021
2005-01-14 11:45:16 +00:00
Armijn Hemel bb7c8d72ed move patchelf in a directory, so it can play nice along with things
like initialPath

svn path=/nixpkgs/branches/nixos-pkgs/; revision=2020
2005-01-14 11:41:26 +00:00
Armijn Hemel aa150ce949 don't forget stuff
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1871
2004-12-15 16:07:21 +00:00
Armijn Hemel e656dad03f remove all other occurences of old glibc path
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1839
2004-12-06 19:20:15 +00:00
Armijn Hemel 505a857e55 don't match a trailing slash
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1838
2004-12-06 19:00:06 +00:00
Armijn Hemel 30fd5fd0d1 don't forget passing sed to our script
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1837
2004-12-06 18:50:27 +00:00
Armijn Hemel fd3077a984 replace old glibc reference with $out
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1836
2004-12-06 18:30:52 +00:00
Armijn Hemel 068fd44898 right path to chmod
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1834
2004-12-06 17:00:22 +00:00
Armijn Hemel fddd91238a first make all patchable files writable before patching, then change them back (yes, I've checked it, none of the files are writeable, so that all should go well :) )
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1833
2004-12-06 16:49:55 +00:00
Armijn Hemel 771534ece7 svn path=/nixpkgs/branches/nixos-pkgs/; revision=1831 2004-12-01 18:56:46 +00:00
Armijn Hemel 98ce16d2ba addd sutff
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1830
2004-12-01 18:56:22 +00:00
Armijn Hemel ff61b869e4 we also require patchelf (this is sooooo ugly)
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1829
2004-12-01 16:10:18 +00:00
Armijn Hemel 63b86ec696 more fixes
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1828
2004-12-01 16:09:21 +00:00
Armijn Hemel 3782c94ebb typo fix
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1827
2004-12-01 16:07:32 +00:00
Armijn Hemel 222cedd14b let's patch all our glibc thingies!!
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1826
2004-12-01 15:39:39 +00:00
Armijn Hemel fbce69c4ac we need patchelf
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1824
2004-12-01 14:42:38 +00:00
Armijn Hemel d1d2e2d5c2 replace all occurances of curl 7.12.0 with 7.12.2
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1812
2004-11-29 14:40:28 +00:00
Armijn Hemel 1e3c657031 our 7.12.0 was not resolving (thank you glibc!), replaced with statically linked (with uclibc) 7.12.2
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1811
2004-11-29 14:36:29 +00:00
Armijn Hemel a30b6755ad inherit the extra2 parameter
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1731
2004-11-09 13:39:04 +00:00
Armijn Hemel 53577663f5 add (refactored) static stuff
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1679
2004-11-04 12:20:54 +00:00
Armijn Hemel a8fa64c3da commit some stuff
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1678
2004-11-04 12:19:32 +00:00
Armijn Hemel 342c818833 oops, don't forget binutils
svn path=/nixpkgs/trunk/; revision=1587
2004-10-19 15:49:15 +00:00
Armijn Hemel 69ef6a1d5e add quotes for tarball variable
svn path=/nixpkgs/trunk/; revision=1586
2004-10-19 15:32:53 +00:00
Armijn Hemel 97ef0bce9a also add a statically linked gcc
svn path=/nixpkgs/trunk/; revision=1585
2004-10-19 15:17:29 +00:00
Armijn Hemel 41a9a00c9b commit a whole bunch of statically linked packages. In the builder we add gzip to the PATH, because tar expects it to be there. This *should* be enough to bootstrap a whole new environment inside UML, give or take one or two packages I might have forgotten :)
svn path=/nixpkgs/trunk/; revision=1584
2004-10-19 15:16:14 +00:00
Armijn Hemel 99b011dc30 don't make bzip2 an initial package, but download it instead. After all, we've got gzip :)
svn path=/nixpkgs/trunk/; revision=1583
2004-10-19 15:10:38 +00:00
Armijn Hemel 6f4a18cc9e actually use $src instead of "bin", sigh
svn path=/nixpkgs/trunk/; revision=1582
2004-10-19 14:52:59 +00:00
Armijn Hemel b5aa91eee1 fix a thinko
svn path=/nixpkgs/trunk/; revision=1581
2004-10-19 14:50:46 +00:00
Armijn Hemel a0909d11c6 move gzip and gunzip in a seperate directory to avoid having the hash encoded in the binary name
svn path=/nixpkgs/trunk/; revision=1580
2004-10-19 14:48:16 +00:00
Armijn Hemel 042afeeed8 work around Nix "logics" >-)
svn path=/nixpkgs/trunk/; revision=1579
2004-10-19 12:15:22 +00:00
Armijn Hemel d133b324c0 don't let bash depend on tar and gzip
svn path=/nixpkgs/trunk/; revision=1578
2004-10-19 11:50:04 +00:00
Armijn Hemel 9eeba2d479 don't have tar depend upon tar
svn path=/nixpkgs/trunk/; revision=1577
2004-10-19 11:44:25 +00:00
Armijn Hemel e493d6ff07 don't let gzip depend on gzip
svn path=/nixpkgs/trunk/; revision=1576
2004-10-19 11:34:08 +00:00
Armijn Hemel e4cd323c2f add prehook.sh for the nix-linux-static environment
svn path=/nixpkgs/trunk/; revision=1571
2004-10-18 11:11:28 +00:00
Armijn Hemel decf75a3d8 also add gzip. Hmmm, does this add a circular dependency?
svn path=/nixpkgs/trunk/; revision=1552
2004-10-12 13:35:43 +00:00
Armijn Hemel 58bbec4a6e also add bzip2 for unpacking those binaries
svn path=/nixpkgs/trunk/; revision=1551
2004-10-12 13:14:42 +00:00
Armijn Hemel 39d35a11fd add another package for bootstrapping. Only bzip2 and gzip are still missing...
svn path=/nixpkgs/trunk/; revision=1548
2004-10-07 15:44:12 +00:00
Armijn Hemel 2a745820ed add statically linked curl binary for static nix environment for Linux
svn path=/nixpkgs/trunk/; revision=1547
2004-10-07 15:05:19 +00:00
Armijn Hemel d68128380b add a statically linked copy of GNU tar
svn path=/nixpkgs/trunk/; revision=1546
2004-10-07 14:02:18 +00:00
Eelco Dolstra b6001eed67 * Use patchelf to remove unnecessary directories automatically (in the
installation phase) from the rpaths of ELF executables and
  libraries.  This results in smaller closures.

svn path=/nixpkgs/trunk/; revision=1534
2004-10-02 18:27:50 +00:00
Eelco Dolstra 1ab4a9324c * The `patch' command is now part of stdenv, so it no longer needs to
be passed to derivations that need to apply patches.
* GCC 3.4 is now the default compiler (old GCC renamed to `gcc-3.3').
* The temporary GCCs built during the stdenvLinux bootstrap are now
  built without C++ support and without profiling.
* Remove fixincl in GCC 3.4 to prevent a retained dependency on the
  previous GCC.
* Always set $prefix in setup.sh, even when there is no configure
  script.

svn path=/nixpkgs/trunk/; revision=1444
2004-09-18 17:23:18 +00:00
Eelco Dolstra 90c8e9fd50 * It's not necessary to add gcc and binutils to the path here.
svn path=/nixpkgs/trunk/; revision=1442
2004-09-18 17:12:30 +00:00
Eelco Dolstra 286932e6b3 * Replace stdenv-generic with its branch (step 1).
svn path=/nixpkgs/trunk/; revision=1422
2004-09-17 12:35:57 +00:00
Armijn Hemel 88ab6c1edd add a statically compiled version of gcc...
Use with a bit of care though, because it will need an extra flag to be able to find the right version of cc1, etc.

svn path=/nixpkgs/trunk/; revision=1374
2004-09-02 13:54:23 +00:00
Eelco Dolstra b458af7384 * The generic builder now dumps all environment variables to the file
`$NIX_BUILD_TOP/env-vars' at the beginning of each build phase.  In
  conjunction with the `-K' Nix flag, this is useful for debugging: to
  reproduce the build environment, go to the saved build directory and
  source in `env-vars' (e.g., `. env-vars').

svn path=/nixpkgs/trunk/; revision=1367
2004-08-30 14:06:14 +00:00
Eelco Dolstra f7035ee5ca * Use named pipes explicitly instead of through bash's process
substitution feature (which appears to be buggy - there's no way to
  wait for an output redirection, and bash sometimes appears to die
  due to subtle timing conditions).  This also removes the most
  egregious dependency on bash.

svn path=/nixpkgs/trunk/; revision=1258
2004-08-11 15:26:09 +00:00
Eelco Dolstra 128a5bd522 * Fix for zlib on Darwin (it always wants to install in /usr/lib,
despite the prefix).
* Indirections in all-packages-generic for patch.
* Darwin: removed version number.

svn path=/nixpkgs/trunk/; revision=1247
2004-08-09 14:33:14 +00:00
Eelco Dolstra 0c7969f9c8 * Allow a build to finish "succesfully" as far as Nix is concerned
even if some build phase failed if the variable `$succeedOnFailure'
  is set to 1.  If that happens, the file `$out/nix-support/failed' is
  created to mark the build result as bad.  This is useful for release
  management systems that might want to publish failed releases.

svn path=/nixpkgs/trunk/; revision=1163
2004-07-12 12:34:02 +00:00
Eelco Dolstra 8b0e40b3d4 * Always make source writable.
svn path=/nixpkgs/trunk/; revision=1153
2004-07-11 20:02:57 +00:00
Eelco Dolstra 93efdb400a * Log support in the generic builder. Just set $logPhases to 1 and
it will write the output of each phase to a separate log file in
  $out/log/.

svn path=/nixpkgs/trunk/; revision=1152
2004-07-11 18:52:25 +00:00
Eelco Dolstra 331f913861 * Add write permission to sources copied from the store.
* A new `distPhase' to build source distributions (enabled when
  $doDist = 1).
* A new `checkPhase' to perform `make check' (enabled when $doCheck =
  1).
* Allow the prefix to be redirected, either by setting $prefix or by
  setting $useTempPrefix to 1.  Useful when making distributions.
* Allow the build or install phases to be skipped by setting
  $dontBuild $dontInstall to 1.
* Allow the order of phases to be changed by setting $phases.

svn path=/nixpkgs/trunk/; revision=1151
2004-07-11 16:32:34 +00:00
Eelco Dolstra 5a00ba432c * Don't strip debug info on Darwin, otherwise links by libtool fail
("/usr/bin/ld: can't use -s with -r (resulting file would not be
  relocatable)").
* Since stdenv/generic had to be modified for this, I forked it in
  situ.  This should be merged later.

svn path=/nixpkgs/trunk/; revision=1121
2004-07-02 10:05:53 +00:00
Eelco Dolstra 770e57d27c * Don't apply the libtool fix in Darwin, since it's not a pure build
environment.

svn path=/nixpkgs/trunk/; revision=1119
2004-07-01 16:56:19 +00:00