Commit Graph

396 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