Commit graph

491 commits

Author SHA1 Message Date
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
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