summary refs log tree commit diff
path: root/pkgs/stdenv/generic
Commit message (Collapse)AuthorAge
* * ensureDir: allow multiple directories.Eelco Dolstra2007-01-10
| | | | | | * Eval $unpackCmd. svn path=/nixpkgs/trunk/; revision=7617
* * Always set the prefix.Eelco Dolstra2006-12-28
| | | | svn path=/nixpkgs/trunk/; revision=7513
* * Don't clobber $shell.Eelco Dolstra2006-12-28
| | | | svn path=/nixpkgs/trunk/; revision=7512
* * Workaround a bug in older versions of bash.Eelco Dolstra2006-12-28
| | | | svn path=/nixpkgs/trunk/; revision=7511
* * Merge the new generic builder.Eelco Dolstra2006-12-27
| | | | | | | | | * 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
* * Doh.Eelco Dolstra2006-12-27
| | | | svn path=/nixpkgs/trunk/; revision=7496
* * Remove dontMakeInstall, it's no longer necessary (just setEelco Dolstra2006-12-27
| | | | | | installCommand to true or something). svn path=/nixpkgs/trunk/; revision=7495
* * Split the installPhase into installPhase and fixupPhase. TheEelco Dolstra2006-12-27
| | | | | | | fixupPhase strips binaries, runs patchelf, etc. This is so that those things still happen when somebody overrides installPhase. svn path=/nixpkgs/trunk/; revision=7494
* * Allow the patch flags to be overriden through $patchFlags.Eelco Dolstra2006-12-27
| | | | svn path=/nixpkgs/trunk/; revision=7493
* * Pass makeFlags to `make check'.Eelco Dolstra2006-12-27
| | | | svn path=/nixpkgs/trunk/; revision=7492
* * Pass makeFlags to `make install' as well. This is because quiteEelco Dolstra2006-12-27
| | | | | | | | 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
* * Variable $installTargets to override the install target inEelco Dolstra2006-12-27
| | | | | | installPhase. svn path=/nixpkgs/trunk/; revision=7490
* * Fix the quadratic performance in substitute().Eelco Dolstra2006-12-27
| | | | svn path=/nixpkgs/trunk/; revision=7488
* * Allow "make install" to be overriden using $installCommand.Eelco Dolstra2006-12-13
| | | | svn path=/nixpkgs/trunk/; revision=7340
* * TMI.Eelco Dolstra2006-12-11
| | | | svn path=/nixpkgs/trunk/; revision=7315
* * Move the substitution functions into stdenv (not merged yet).Eelco Dolstra2006-12-10
| | | | | | | | | | | * 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
* * Linux kernel: updated to 2.6.18.1.Eelco Dolstra2006-10-31
| | | | | | | | | | | * 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
* * Hook variables in the generic builder are now executed using eval.Eelco Dolstra2006-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * Add x86_64-linux to the isLinux attribute.Eelco Dolstra2006-10-23
| | | | svn path=/nixpkgs/trunk/; revision=6806
* * stdenv.mkDerivation: add any attributes in the "passthru" attributeEelco Dolstra2006-09-14
| | | | | | | | | 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
* * Step 2. Too bad we can't replace files atomically in SVN!Eelco Dolstra2006-08-29
| | | | svn path=/nixpkgs/trunk/; revision=6315
* * Step 1...Eelco Dolstra2006-08-29
| | | | svn path=/nixpkgs/trunk/; revision=6314
* add attribute isLinux. Nice for packages we only want to build on linux, but ↵Armijn Hemel2006-08-29
| | | | | | on different platforms (currently i686-linux and powerpc-linux) svn path=/nixpkgs/trunk/; revision=6306
* * Through the magic of functional programming, let stdenv export aEelco Dolstra2006-08-07
| | | | | | | | | | | | | | function to regenerate itself with a different setup script. This is useful for experimenting with changes to the setup script in specific packages without triggering a rebuild of everything. * stdenv/generic/setup-latest.sh is a branch of setup.sh containing pending changes that will be merged into setup.sh eventually. * setup-latest.sh: don't use tar's "z" and "j" flags. Rather, call gzip and bunzip2 directly. svn path=/nixpkgs/trunk/; revision=6066
* * On Darwin, use Apple's gcc fork.Eelco Dolstra2006-07-14
| | | | svn path=/nixpkgs/trunk/; revision=5715
* * stdenv.mkDerivation now takes an optional attribute "meta" thatEelco Dolstra2006-03-10
| | | | | | | | | | | | | | | | | | contains arbitrary information about a package, like this: meta = { homepage = "http://gcc.gnu.org/"; license = "GPL/LGPL"; description = "GNU Compiler Collection, 4.0.x"; }; The "meta" attribute is not passed to the actual derivation operation, so it's not a dependency --- changes to "meta" attributes don't trigger a recompilation. Now we have to standardise some useful attributes ;-) svn path=/nixpkgs/branches/usability/; revision=5024
* * Push packages from the final stdenv bootstrapping phase toEelco Dolstra2006-02-09
| | | | | | | | | | all-packages. That is, an attribute like "bash" in all-packages.nix should evaluate to the "bash" used to build stdenv, it shouldn't build a new one. Hm, this would be a lot cleaner if we had lazy_rec ;-) svn path=/nixpkgs/branches/usability/; revision=4775
* * "." -> "source".Eelco Dolstra2005-12-05
| | | | svn path=/nixpkgs/trunk/; revision=4335
* * Update a bunch of base packages.Eelco Dolstra2005-10-11
| | | | svn path=/nixpkgs/trunk/; revision=4065
* * mkDerivation: accept an argument `realBuilder' (stupid name) toEelco Dolstra2005-06-20
| | | | | | | | | | | override the default builder (i.e., bash). For example, stdenv.mkDerivation { realBuilder = perl ~ "bin/perl"; args = [ "-w" ./builder.pl ]; } svn path=/nixpkgs/trunk/; revision=3219
* * Don't patch symlinked shared libraries.Eelco Dolstra2005-06-17
| | | | svn path=/nixpkgs/trunk/; revision=3195
* * Move ensureDir() up, otherwise calls to fail() might fail.Eelco Dolstra2005-06-17
| | | | svn path=/nixpkgs/trunk/; revision=3192
* * Fix regexp to match base-32 hashes.Eelco Dolstra2005-03-10
| | | | svn path=/nixpkgs/trunk/; revision=2375
* * Use `--strip-debug', not `--strip-all', so that we can at least getEelco Dolstra2005-02-23
| | | | | | | proper backtraces. Otherwise debugging of Nix binaries is very hard. svn path=/nixpkgs/trunk/; revision=2292
* * Make it possible to override the log writer (from its default,Eelco Dolstra2005-02-22
| | | | | | | `tee'). Useful in the build farm where we want to write logs through `bzip2'. svn path=/nixpkgs/trunk/; revision=2270
* * Use the generic substituter in the generation of stdenv and gcc-wrapper.Eelco Dolstra2005-02-22
| | | | svn path=/nixpkgs/trunk/; revision=2269
* * Use patchelf to remove unnecessary directories automatically (in theEelco Dolstra2004-10-02
| | | | | | | installation phase) from the rpaths of ELF executables and libraries. This results in smaller closures. svn path=/nixpkgs/trunk/; revision=1534
* * The `patch' command is now part of stdenv, so it no longer needs toEelco Dolstra2004-09-18
| | | | | | | | | | | | | be passed to derivations that need to apply patches. * GCC 3.4 is now the default compiler (old GCC renamed to `gcc-3.3'). * The temporary GCCs built during the stdenvLinux bootstrap are now built without C++ support and without profiling. * Remove fixincl in GCC 3.4 to prevent a retained dependency on the previous GCC. * Always set $prefix in setup.sh, even when there is no configure script. svn path=/nixpkgs/trunk/; revision=1444
* * Replace stdenv-generic with its branch (step 1).Eelco Dolstra2004-09-17
| | | | svn path=/nixpkgs/trunk/; revision=1422
* * Various bug fixes in setup.sh and ld-wrapper.sh.Eelco Dolstra2004-04-02
| | | | svn path=/nixpkgs/trunk/; revision=909
* * Finally we have a working stdenvLinux again.Eelco Dolstra2004-03-30
| | | | | | | On the downside, the build process of stdenvLinux builds gcc 9 times (3 x 3 bootstrap stages). That's a bit excessive. svn path=/nixpkgs/trunk/; revision=880
* * Remove trivial builders.Eelco Dolstra2004-03-29
| | | | | | | | | | | | * Make builders unexecutable by removing the hash-bang line and execute permission. * Convert calls to `derivation' to `mkDerivation'. * Remove `system' and `stdenv' attributes from calls to `mkDerivation'. These transformations were all done automatically, so it is quite possible I broke stuff. * Put the `mkDerivation' function in stdenv/generic. svn path=/nixpkgs/trunk/; revision=874
* * Use $propagatedBuildInputs to find build inputs.Eelco Dolstra2004-03-27
| | | | | | * Bug fix in setup.sh. svn path=/nixpkgs/trunk/; revision=861
* * Fix all files called `ltmain.sh' in the source tree.Eelco Dolstra2004-03-27
| | | | svn path=/nixpkgs/trunk/; revision=854
* * Style fix.Eelco Dolstra2004-03-19
| | | | svn path=/nixpkgs/trunk/; revision=846
* * The stdenv setup script now defines a generic builder that allowsEelco Dolstra2004-03-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | builders for typical Autoconf-style to be much shorten, e.g., . $stdenv/setup genericBuild The generic builder does lots of stuff automatically: - Unpacks source archives specified by $src or $srcs (it knows about gzip, bzip2, tar, zip, and unpacked source trees). - Determines the source tree. - Applies patches specified by $patches. - Fixes libtool not to search for libraries in /lib etc. - Runs `configure'. - Runs `make'. - Runs `make install'. - Strips debug information from static libraries. - Writes nested log information (in the format accepted by `log2xml'). There are also lots of hooks and variables to customise the generic builder. See `stdenv/generic/docs.txt'. * Adapted the base packages (i.e., the ones used by stdenv) to use the generic builder. * We now use `curl' instead of `wget' to download files in `fetchurl'. * Neither `curl' nor `wget' are part of stdenv. We shouldn't encourage people to download stuff in builders (impure!). * Updated some packages. * `buildinputs' is now `buildInputs' (but the old name also works). * `findInputs' in the setup script now prevents inputs from being processed multiple times (which could happen, e.g., if an input was a propagated input of several other inputs; this caused the size variables like $PATH to blow up exponentially in the worst case). * Patched GNU Make to write nested log information in the format accepted by `log2xml'. Also, prior to writing the build command, Make now writes a line `building X' to indicate what is being built. This is unfortunately often obscured by the gigantic tool invocations in many Makefiles. The actual build commands are marked `unimportant' so that they don't clutter pages generated by `log2html'. svn path=/nixpkgs/trunk/; revision=845
* * Re-enabled purity checking: it should work now. First we onlyEelco Dolstra2004-03-12
| | | | | | | | | | | | | | checked whether absolute paths passed to gcc/ld refer to the store, which is wrong: they can also refer to the build tree (/tmp/nix-...). * Less static composition in the construction of stdenv-nix-linux: gcc-wrapper and generic are now passed in as arguments, rather then referenced by relative path. This makes it easier to hack on a specific stage of the bootstrap process (before, a change to, e.g., generic/setup.sh would cause all bootstrap stages to be redone). svn path=/nixpkgs/trunk/; revision=833
* * Finally got stdenv-nix-linux working again. Still not perfect,Eelco Dolstra2004-03-11
| | | | | | | | though. * libxml2: upgrade to latest. * octavefront/rna: keep debug info. svn path=/nixpkgs/trunk/; revision=830
* * stdenv-nix-linux should more-or-less work again now.Eelco Dolstra2004-03-09
| | | | svn path=/nixpkgs/trunk/; revision=826
* * Set the TZ variable to UTC to prevent silly errors in date strings.Eelco Dolstra2004-03-09
| | | | | | * Bug fix in PATH initialisation. svn path=/nixpkgs/trunk/; revision=818