Commit graph

496 commits

Author SHA1 Message Date
Eelco Dolstra 12038d5586 * Allow hooks like preBuild to be set both through shell functions and
variables.  This is so you don't have to write things like

    preBuild=preBuild
    preBuild() {
      bla
    }

svn path=/nixpkgs/branches/stdenv-updates/; revision=13941
2009-02-01 21:28:02 +00:00
Eelco Dolstra 0e1483cf87 svn path=/nixpkgs/branches/stdenv-updates/; revision=13915 2009-01-30 13:21:17 +00:00
Eelco Dolstra 5f66ddd3c3 svn path=/nixpkgs/branches/stdenv-updates/; revision=13914 2009-01-30 09:27:15 +00:00
Eelco Dolstra 1c623126c7 * Use the sh from klibc in the bootstrap. It's a lot smaller than
bash.  Also, use the cpio from klibc instead of tar.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13905
2009-01-29 17:48:45 +00:00
Eelco Dolstra c584bb878a * Sync with trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13903
2009-01-29 16:33:02 +00:00
Eelco Dolstra c91168a600 * Bootstrap tools: build on x86_64-linux.
* Removed Perl from the bootstrap tools.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13827
2009-01-23 15:09:56 +00:00
Eelco Dolstra fce6b5a233 * Use GCC 4.3.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13811
2009-01-19 20:35:03 +00:00
Eelco Dolstra 63246c648f * Turn on Make indentation.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13810
2009-01-19 20:31:02 +00:00
Eelco Dolstra 808bf6d34a * Make the nested output patch in GNU Make runtime configurable (by
setting the NIX_INDENT_MAKE variable; disabled by default) so we
  don't need a separate gnumakeNix package.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13807
2009-01-19 18:49:58 +00:00
Eelco Dolstra 2f88c471d4 svn path=/nixpkgs/branches/stdenv-updates/; revision=13789 2009-01-16 17:12:55 +00:00
Eelco Dolstra 1134464c49 * Start of the new, simplified stdenv-linux bootstrap binaries.
Instead of using a mishmash of statically linked and dietlibc
  programs (which often have problems on various platforms), we just
  use normal, dynamically linked binaries, and use some patchelf magic
  to rewrite them so that they can find Glibc.  Also include G++ and
  Perl, since there are some builds in the bootstrap that need them.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13788
2009-01-16 17:10:29 +00:00
Eelco Dolstra 0adab29d1e svn path=/nixpkgs/branches/stdenv-updates/; revision=13603 2008-12-10 10:21:05 +00:00
Eelco Dolstra cdc74e1677 svn path=/nixpkgs/branches/stdenv-updates/; revision=13602 2008-12-10 10:12:32 +00:00
Eelco Dolstra e31341510d * Merged from the trunk. Let's see how well this works with
Subversion 1.5...

svn path=/nixpkgs/branches/stdenv-updates/; revision=13601
2008-12-10 09:59:21 +00:00
Eelco Dolstra 8bcfad7e9c * Strip in libexec.
* In stripDirs: use xargs -r, otherwise when there is nothing to
  strip, strip prints its help text.  Harmless but annoying.

svn path=/nixpkgs/trunk/; revision=13492
2008-11-28 16:11:59 +00:00
Eelco Dolstra aa84bce64d * Get rid of all references to nix.cs.uu.nl.
svn path=/nixpkgs/trunk/; revision=13299
2008-11-14 16:57:19 +00:00
Eelco Dolstra 4ac5792c71 * Downloads in the stdenv bootstrap should respect the user's proxy
settings.  Contributed by Jeevakan Suresh.

svn path=/nixpkgs/trunk/; revision=13289
2008-11-14 10:51:17 +00:00
Eelco Dolstra 903ca0fc40 * Do the right thing if $sourceRoot contains spaces. Contributed by
Jeevakan Suresh.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13287
2008-11-14 10:22:15 +00:00
Eelco Dolstra 9a3890592d * Missing space.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13163
2008-10-30 15:54:29 +00:00
Ludovic Courtès 36debce744 Use gnumakeNix' instead of gnumake' in `stdenv'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13056
2008-10-13 09:06:04 +00:00
Eelco Dolstra 69b538fde3 * gcc-wrapper-new -> gcc-wrapper, setup-new -> setup.
svn path=/nixpkgs/branches/stdenv-updates/; revision=12991
2008-10-07 17:33:20 +00:00
Eelco Dolstra f427bc8831 * Remove some obsolete code.
svn path=/nixpkgs/trunk/; revision=12864
2008-09-14 19:06:15 +00:00
Eelco Dolstra 5d9dfc1e60 * Removed $installCommand, it's no longer needed since we split the
install and fixup phases.  You can just override installPhase.

svn path=/nixpkgs/trunk/; revision=12787
2008-09-02 13:51:32 +00:00
Eelco Dolstra 07e976aae2 * Just to be sure that we don't make the whole build tree
world-writable, which would be an obvious security problem...

svn path=/nixpkgs/trunk/; revision=12749
2008-08-27 15:27:06 +00:00
Eelco Dolstra cee9051b7c * Get rid of $findUnpacker, it's pointless anyway.
* Pass the source file to $unpackCmd via $curSrc.

svn path=/nixpkgs/trunk/; revision=12748
2008-08-27 15:22:33 +00:00
Eelco Dolstra e64067e28b * Allow sourceRoot to be set in advance, which is easier than setting
the setSourceRoot function.

svn path=/nixpkgs/trunk/; revision=12744
2008-08-27 14:29:16 +00:00
Eelco Dolstra eef2cd2f81 * Oops, because we didn't pass extraAttrs, the glibc from the
bootstrap wasn't recycled in the final allPackages, causing an
  additional glibc to be built for packages that explicitly depend on
  glibc.

svn path=/nixpkgs/trunk/; revision=12200
2008-06-27 14:33:09 +00:00
Eelco Dolstra 61895cfcb9 * Minor cleanup.
svn path=/nixpkgs/trunk/; revision=12160
2008-06-19 14:59:56 +00:00
Eelco Dolstra 160e3472ca * Removed some dead code.
svn path=/nixpkgs/trunk/; revision=12159
2008-06-19 14:51:26 +00:00
Eelco Dolstra 7bf0c5ba01 * Folded the Cygwin, powerpc-darwin and FreeBSD stdenv into the "native"
stdenv.

svn path=/nixpkgs/trunk/; revision=12147
2008-06-18 15:09:13 +00:00
Martin Bravenboer 7d56212df2 MinGW stdenv needs replace
svn path=/nixpkgs/trunk/; revision=12130
2008-06-16 23:18:56 +00:00
Eelco Dolstra fc5eebdf8b * Merged the stdenv branch
(https://svn.nixos.org/repos/nix/nixpkgs/branches/stdenv-updates
  -r10966:12061).

svn path=/nixpkgs/trunk/; revision=12073
2008-06-13 11:46:39 +00:00
Eelco Dolstra 8f9baa2e5a * Darwin compatibility.
svn path=/nixpkgs/branches/stdenv-updates/; revision=12038
2008-06-11 14:08:01 +00:00
Eelco Dolstra 1000662377 * Automatically patch shebang paths ("#! /interpreter") to store
paths.  E.g. /usr/bin/perl is rewritten to /nix/store/<whatever Perl
  is in $PATH>.  Paths in the Nix store are left unchanged.
  Contributed by Nicolas Pierron.

svn path=/nixpkgs/branches/stdenv-updates/; revision=12036
2008-06-11 11:22:54 +00:00
Eelco Dolstra e21b6b6ee5 * curl: build with OpenSSL (https) support by default.
* Some fetchurl-related refactoring.  The `realCurl' attribute is
  gone, `curl' is the real thing.  To prevent an infinite recursion in
  `fetchurl' (because it depends on curl and building curl needs
  fetchurl), curl and its dependencies (openssl, zlib, perl) use
  `fetchurlBoot', which is the fetchurl used by the previous bootstrap
  phase (e.g. the statically linked version of curl for
  stdenv-linux).  So as a result you can use https:// urls almost
  everywhere.

  There's also some hackery to prevent a different curl from being
  built in every stdenv-linux bootstrap phase (namely the
  stdenv.fetchurl attribute which allows fetchurl to be overriden
  everywhere).

svn path=/nixpkgs/trunk/; revision=11905
2008-05-27 07:49:55 +00:00
Eelco Dolstra 1d6f0ab989 * On Linux, build coreutils with ACL support.
svn path=/nixpkgs/branches/stdenv-updates/; revision=11848
2008-05-19 15:12:03 +00:00
Eelco Dolstra def8943aeb svn path=/nixpkgs/branches/stdenv-updates/; revision=11804 2008-05-09 16:02:14 +00:00
Eelco Dolstra 16f2d8b2d5 * Implement the succeedOnFailure flag by trapping EXIT. This makes
the fail() function unnecessary.
* Flag showBuildStats to print execution times on builder exit.

svn path=/nixpkgs/branches/stdenv-updates/; revision=11688
2008-04-23 07:19:48 +00:00
Eelco Dolstra 4195c1522f * Some variables to make it easier to inject additional phases.
svn path=/nixpkgs/branches/stdenv-updates/; revision=11221
2008-03-20 10:59:47 +00:00
Eelco Dolstra 9bddb8a172 * stripDirs: nest the output.
svn path=/nixpkgs/branches/stdenv-updates/; revision=11220
2008-03-20 10:54:58 +00:00
Eelco Dolstra c0c199dbc7 * Add some missing pre/post hooks.
svn path=/nixpkgs/branches/stdenv-updates/; revision=11179
2008-03-18 11:03:35 +00:00
Eelco Dolstra 68d08cd70d * fixupPhase: don't barf if the output doesn't exist yet.
svn path=/nixpkgs/branches/stdenv-updates/; revision=11177
2008-03-18 10:28:17 +00:00
Eelco Dolstra aaeed176c5 * Oops, don't pass --prefix twice.
svn path=/nixpkgs/branches/stdenv-updates/; revision=11176
2008-03-18 10:26:43 +00:00
Eelco Dolstra 2e92cabb37 * substitute: support patterns starting with a dash.
* Updated the kernel headers.
* ghc: setup hooks are now generated using substituteAll.

svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10838
2008-02-22 18:19:04 +00:00
Eelco Dolstra 3bcc70349b svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10814 2008-02-21 17:26:46 +00:00
Eelco Dolstra 1d49f0daff * Renamed the darwin stdenv to powerpc-darwin, since i686-darwin uses stdenv/nix.
svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10812
2008-02-21 17:25:10 +00:00
Eelco Dolstra a62b2564ba * Merge the makeFlags check.
svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10810
2008-02-21 16:23:47 +00:00
Eelco Dolstra e7570bb9cf * Don't strip all symbols from $out/bin by default, since it makes
stack traces impossible.
* When stripping all symbols on Darwin, don't use the "-s" flag
  since it has a completely different meaning (it takes an argument 
  specifying a file containing a list of symbols).

svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10809
2008-02-21 16:20:51 +00:00
Eelco Dolstra 289a6dd48a * Fix broken URLs.
svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10802
2008-02-21 13:47:11 +00:00
Michael Raskin ed3cf0a497 Fixed setup.sh - non-default Makefile may be passed in makeFlags. OpenFire added, doesn't work yet
svn path=/nixpkgs/branches/stdenv-updates/; revision=10795
2008-02-21 04:48:55 +00:00
Eelco Dolstra e12b421add * Merged most of the stdenv-updates branch. Some stuff didn't
merge cleanly right away (kde-4, kernel stuff) so it should be
  merged later.  But the stdenv stuff is all there.

svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10793
2008-02-20 23:02:41 +00:00
Eelco Dolstra 96aa40524e * Hack hack hack.
svn path=/nixpkgs/branches/stdenv-updates/; revision=10788
2008-02-20 17:22:32 +00:00
Eelco Dolstra 39c3cd4259 * Get rid of all the phase wrapper functions, just do that generically
in genericBuild.  This also means that you can override a phase
  function by redefining it, like

    buildPhase() {
      ... do something ...
    }

  and you still get the log nesting stuff.

* GNUmakefile is also a valid makefile name.

* Evaluate the variables $preHook and $postHook to allow more stdenv
  overrideability.

svn path=/nixpkgs/branches/stdenv-updates/; revision=10786
2008-02-20 17:10:36 +00:00
Eelco Dolstra 0ebff4e1d0 * buildPhase: skip if there is no Makefile (just like configurePhase
is skipped when there is no configure script).  So you don't need to
  set

    buildPhase = "true";

  for derivations that don't have any build action.

* Variable $makefile to allow the makefile to be specified.

svn path=/nixpkgs/branches/stdenv-updates/; revision=10784
2008-02-20 15:16:48 +00:00
Michael Raskin 2a087141cb Ported replace renaming to replace-literal to avoid conflict with MySQL package supplying own tool with name replace.
svn path=/nixpkgs/branches/stdenv-updates/; revision=10704
2008-02-15 11:14:40 +00:00
Eelco Dolstra 89815eb9a0 * gcc-wrapper: Propagate the wrapped gcc, binutils and glibc to the
user environment.  (NIXPKGS-63)

svn path=/nixpkgs/branches/stdenv-updates/; revision=10664
2008-02-13 19:41:37 +00:00
Eelco Dolstra 908d8286ce * Add --disable-dependency-tracking to the configure flags if
possible.  This should speed up builds a bit.  (Suggested by Ludovic
  Courtès.)

svn path=/nixpkgs/branches/stdenv-updates/; revision=10662
2008-02-13 18:27:19 +00:00
Eelco Dolstra 5f45fb3ae9 * substitute() in stdenv: use the replace program instead of awful
sed hackery.
* Some indentation fixes in setup.sh.

svn path=/nixpkgs/branches/stdenv-updates/; revision=10658
2008-02-13 14:23:09 +00:00
Eelco Dolstra fec087c826 * Bootstrap binaries for powerpc-linux.
svn path=/nixpkgs/branches/stdenv-updates/; revision=10283
2008-01-25 01:34:20 +00:00
Eelco Dolstra 4c83147793 * Hack, hack, hack.
svn path=/nixpkgs/branches/stdenv-updates/; revision=10282
2008-01-25 01:28:11 +00:00
Eelco Dolstra 4e01864742 * PowerPC hackery.
svn path=/nixpkgs/branches/stdenv-updates/; revision=10281
2008-01-24 23:49:02 +00:00
Yury G. Kudryashov da57804fff Merged with trunk again
svn path=/nixpkgs/branches/stdenv-updates/; revision=10267
2008-01-23 18:11:03 +00:00
Michael Raskin 776393982c Removed unused setup-sh-defs.nix
svn path=/nixpkgs/trunk/; revision=10254
2008-01-22 22:53:40 +00:00
Eelco Dolstra f516036cbb * Updated bootstrap binaries except for bash which now somehow
segfaults totally randomly.

svn path=/nixpkgs/branches/stdenv-updates/; revision=9840
2007-12-03 17:56:44 +00:00
Eelco Dolstra ff95bc3eea * Use gzip -d / bzip2 -d instead of gunzip / bunzip2.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9839
2007-12-03 17:55:41 +00:00
Eelco Dolstra 31034cb3d1 * Some fixes for rebuilding the bootstrap binaries on x86_64.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9836
2007-12-03 15:40:29 +00:00
Eelco Dolstra 9a89e44870 * Use gzip/bzip2 instead of gunzip/bunzip2 in the bootstrap binaries.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9834
2007-12-03 12:15:35 +00:00
Eelco Dolstra d04b560dc3 * fgrep and egrep aren't shell scripts anymore.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9802
2007-11-26 15:59:07 +00:00
Eelco Dolstra 3237b446b9 svn path=/nixpkgs/branches/stdenv-updates/; revision=9775 2007-11-22 12:39:51 +00:00
Eelco Dolstra 8b3186528e * pcre: don't compile with C++ support when doing a dietlibc build.
* GCC 4.2: restore the ability to build a statically linked compiler,
  needed for the Nixpkgs bootstrap.
* GCC 4.2: use symlinks instead of hard links in $out/bin
  (NIXPKGS-62).

svn path=/nixpkgs/branches/stdenv-updates/; revision=9771
2007-11-21 19:28:54 +00:00
Yury G. Kudryashov 784227b421 Removed setup-new-2.sh and setup-new.sh symlinks
svn path=/nixpkgs/branches/stdenv-updates/; revision=9745
2007-11-17 15:29:48 +00:00
Yury G. Kudryashov b37d00ce1f Now all the files setup-new-2.sh, setup-new.sh and setup.sh are the same file.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9744
2007-11-17 15:29:42 +00:00
Yury G. Kudryashov 5adba2d3f3 Removed setup-new-2.sh and setup-new.sh symlinks
svn path=/nixpkgs/branches/stdenv-updates/; revision=9742
2007-11-17 15:18:56 +00:00
Yury G. Kudryashov dd837dae4e Now all the files setup-new-2.sh, setup-new.sh and setup.sh are the same file.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9741
2007-11-17 15:17:01 +00:00
Yury G. Kudryashov a6797a6f4e Removed setup-new-2.sh and setup-new.sh symlinks
svn path=/nixpkgs/branches/stdenv-updates/; revision=9739
2007-11-17 14:34:56 +00:00
Yury G. Kudryashov f2b2932ee2 Spacing in setup.sh
svn path=/nixpkgs/branches/stdenv-updates/; revision=9738
2007-11-17 14:34:49 +00:00
Yury G. Kudryashov 51a3cde784 Now all the files setup-new-2.sh, setup-new.sh and setup.sh are the same file.
svn path=/nixpkgs/branches/stdenv-updates/; revision=9736
2007-11-17 14:34:27 +00:00
Michael Raskin 43b208bbb9 Fixed synaptics; Added GOCR (not that it is a good OCR); reverted MarcWeber's update to setup-new-2.sh (he has no time to use it in nearest future; later I hope it will be irrelevant)
svn path=/nixpkgs/trunk/; revision=9613
2007-11-09 13:54:02 +00:00
Marc Weber a589bdf7db createShScript proposal added
svn path=/nixpkgs/trunk/; revision=9609
2007-11-08 19:03:23 +00:00
Yury G. Kudryashov 2a79431f99 add_to_var renamed to addToSearchPath
svn path=/nixpkgs/trunk/; revision=9498
2007-10-19 20:26:06 +00:00
Yury G. Kudryashov c4c17a7843 Fixed typo, added function add_to_var
The function for use in setup hooks. The syntax is very simple:

add_to_var varName needDir addDir prefix

If the directory $prefix$needDir exists, directory $prefix$addDir is added to
variable named varName (using PATH_DELIMITER as delimiter). If addDir is "", it
defaults to needDir (this is a most common case).

svn path=/nixpkgs/trunk/; revision=9496
2007-10-19 19:29:36 +00:00
Marc Weber ec3c6e932a Thanks urkud for pointing me to the wrong implementation of PATH_DELIMITER - fixed
svn path=/nixpkgs/trunk/; revision=9352
2007-09-20 21:06:26 +00:00
Yury G. Kudryashov b840189493 Added prefixKey to stdenv/generic/setup-new-2.sh
Now you can write prefixKey="-prefix " and "-prefix ${out}" will be inserted in
configureFlags (instead of "--prefix ${out}").

svn path=/nixpkgs/trunk/; revision=9351
2007-09-20 19:52:38 +00:00
Michael Raskin de45e0e929 svn path=/nixpkgs/trunk/; revision=9347 2007-09-20 18:25:43 +00:00
Marc Weber 98e33c38df removing by accident added -x
svn path=/nixpkgs/trunk/; revision=9321
2007-09-13 10:25:56 +00:00
Marc Weber 78587bf74b PATH_DELIMITER added and some trailing whitespaces removed
svn path=/nixpkgs/trunk/; revision=9320
2007-09-13 09:34:21 +00:00
Yury G. Kudryashov 6fc617391d setup-new-2.sh: rewritten stripping code in more configurable way.
svn path=/nixpkgs/trunk/; revision=9237
2007-09-01 18:40:06 +00:00
Yury G. Kudryashov d215554ba4 Removed duplicated code for moving doc, man and info into share/ subdir.
svn path=/nixpkgs/trunk/; revision=9236
2007-09-01 18:34:16 +00:00
Marc Weber c383f04b8f I don't like cluttering up scripts using many ifs.. Do you like an assertEnvExists function ? I think we might want to use it more than twice in the future.
svn path=/nixpkgs/trunk/; revision=9224
2007-08-31 03:58:40 +00:00
Marc Weber b3d955ae2e installBin proposal
svn path=/nixpkgs/trunk/; revision=9220
2007-08-30 15:50:30 +00:00
Michael Raskin c263b309e1 Added setup-sh-defs, a draft for composing builder from predefined strings, so that substitution change doesn't ruin every package. Not cleaned..
svn path=/nixpkgs/trunk/; revision=9215
2007-08-28 23:28:21 +00:00
Eelco Dolstra 607b0d3e80 * Rewrite all the SourceForge URLs to mirror://sourceforge/.
find . -name "*.nix" | while read fn; do sed 's^http://[a-z]*.dl.sourceforge.net/sourceforge/^mirror://sourceforge/^g' < $fn > $fn.new; mv $fn.new $fn; done

svn path=/nixpkgs/trunk/; revision=9198
2007-08-27 13:01:33 +00:00
Eelco Dolstra a0159dee8e * Reverted r6713, r6711, r4623, r3660, r2237. There rewrote fetchurl
URLs to http://nix.cs.uu.nl/dist/tarballs.  With content-addressable
  mirror support (r9190, NIXPKGS-70) this is no longer necessary:
  fetchurl will try to download from that location automatically.  So
  we can keep the original URLs.

svn path=/nixpkgs/trunk/; revision=9192
2007-08-24 12:32:36 +00:00
Marc Weber f1cf8d1d7a adding purityPhase hasen't been such a good idea - untested and if a small thing changes everything has to be rebuilt..
svn path=/nixpkgs/trunk/; revision=9174
2007-08-20 13:39:59 +00:00
Marc Weber a9f676e098 unpackSource is to be included in phases .. So you can set phases after calling unpackSource manually
cd $rootSource is called at end of unpackPhase

svn path=/nixpkgs/trunk/; revision=9161
2007-08-18 18:42:18 +00:00
Michael Raskin b184b70ee4 Added setup-new-2.sh, mostly based on patch to setup.sh by Yurii Kudryashov (urkud).
svn path=/nixpkgs/trunk/; revision=9154
2007-08-18 14:47:09 +00:00
Yury G. Kudryashov 67d41efde1 Added some parts of kde-4. It doesn't work yet, but I need version control
svn path=/nixpkgs/trunk/; revision=9049
2007-08-05 13:54:42 +00:00
Eelco Dolstra acddd261c8 * substituteAll: support arbitrary characters in replacements
(including newlines, backslash, etc.).

svn path=/nixpkgs/trunk/; revision=8882
2007-06-15 11:34:46 +00:00
Eelco Dolstra 210f4950ac * Merge setup-new.sh.
svn path=/nixpkgs/trunk/; revision=8757
2007-05-24 15:29:32 +00:00
Eelco Dolstra cbc8eee7ac * stdenv: new attribute is64bit.
* stdenv: for convience, provide the library functions in
  pkgs/lib/default.nix through the lib attribute.

svn path=/nixpkgs/trunk/; revision=8740
2007-05-24 13:32:18 +00:00
Eelco Dolstra 9e960a4fb6 * Predicate `isi686'.
svn path=/nixpkgs/trunk/; revision=8721
2007-05-20 20:25:06 +00:00
Eelco Dolstra a86e3bbf54 * Rebuilt the bootstrap binaries, mostly to fix curl (DNS resolution
in dietlibc was broken).

svn path=/nixpkgs/trunk/; revision=7745
2007-01-22 15:08:16 +00:00
Eelco Dolstra c240a4774d * ensureDir: allow multiple directories.
* Eval $unpackCmd.

svn path=/nixpkgs/trunk/; revision=7617
2007-01-10 15:44:44 +00:00
Eelco Dolstra 75b6eec2d5 * Second attempt.
svn path=/nixpkgs/trunk/; revision=7521
2006-12-31 19:52:41 +00:00
Eelco Dolstra 5c192229b0 * Urgh.
svn path=/nixpkgs/trunk/; revision=7520
2006-12-31 19:10:40 +00:00
Eelco Dolstra a26e70c2af * Quick attempt at fixing stdenv-mingw.
svn path=/nixpkgs/trunk/; revision=7519
2006-12-31 19:07:33 +00:00
Eelco Dolstra 1d4d77179c * Always set the prefix.
svn path=/nixpkgs/trunk/; revision=7513
2006-12-28 21:12:44 +00:00
Eelco Dolstra 98e5779a9b * Don't clobber $shell.
svn path=/nixpkgs/trunk/; revision=7512
2006-12-28 11:32:20 +00:00
Eelco Dolstra bb9f4a2280 * Workaround a bug in older versions of bash.
svn path=/nixpkgs/trunk/; revision=7511
2006-12-28 11:15:12 +00:00
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