| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
* Eval $unpackCmd.
svn path=/nixpkgs/trunk/; revision=7617
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7513
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7512
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7511
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7496
|
|
|
|
|
|
| |
installCommand to true or something).
svn path=/nixpkgs/trunk/; revision=7495
|
|
|
|
|
|
|
| |
fixupPhase strips binaries, runs patchelf, etc. This is so that
those things still happen when somebody overrides installPhase.
svn path=/nixpkgs/trunk/; revision=7494
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7493
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7492
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
installPhase.
svn path=/nixpkgs/trunk/; revision=7490
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7488
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7340
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=7315
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=6806
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=6315
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=6314
|
|
|
|
|
|
| |
on different platforms (currently i686-linux and powerpc-linux)
svn path=/nixpkgs/trunk/; revision=6306
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=5715
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=4335
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=4065
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=3195
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=3192
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=2375
|
|
|
|
|
|
|
| |
proper backtraces. Otherwise debugging of Nix binaries is very
hard.
svn path=/nixpkgs/trunk/; revision=2292
|
|
|
|
|
|
|
| |
`tee'). Useful in the build farm where we want to write logs
through `bzip2'.
svn path=/nixpkgs/trunk/; revision=2270
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=2269
|
|
|
|
|
|
|
| |
installation phase) from the rpaths of ELF executables and
libraries. This results in smaller closures.
svn path=/nixpkgs/trunk/; revision=1534
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=1422
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=909
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* Bug fix in setup.sh.
svn path=/nixpkgs/trunk/; revision=861
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=854
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=846
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
though.
* libxml2: upgrade to latest.
* octavefront/rna: keep debug info.
svn path=/nixpkgs/trunk/; revision=830
|
|
|
|
| |
svn path=/nixpkgs/trunk/; revision=826
|
|
|
|
|
|
| |
* Bug fix in PATH initialisation.
svn path=/nixpkgs/trunk/; revision=818
|