summary refs log tree commit diff
path: root/pkgs/stdenv/adapters.nix
Commit message (Collapse)AuthorAge
* More renamesEelco Dolstra2012-12-28
|
* More random cleanupEelco Dolstra2012-12-28
|
* Random cleanup: use "or" in adapters.nixEelco Dolstra2012-12-28
|
* Rename buildNativeInputs -> nativeBuildInputsEelco Dolstra2012-12-28
| | | | | Likewise for propagatedBuildNativeInputs, etc. "buildNativeInputs" sounds like an imperative rather than a noun phrase.
* Rename hostDrv -> crossDrv, buildDrv -> nativeDrvEelco Dolstra2012-12-28
| | | | | | This is for consistency with terminology in stdenv (and the terms "hostDrv" and "buildDrv" are not very intuitive, even if they're consistent with GNU terminology).
* Add a stdenv adapter ‘keepDebugInfo’ to make a debug buildEelco Dolstra2012-10-31
| | | | | | | | | This adapter causes the resulting binaries to have debug info and no optimisations. Example use (in all-packages.nix): foo = callPackage ./foo.nix { stdenv = keepDebugInfo stdenv; };
* * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointlessEelco Dolstra2012-01-18
| | | | | | function, so obsolete it. svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
* * Streamline the stdenv bootstrap and resulting closure by removingEelco Dolstra2011-12-14
| | | | | | | | | | | some redundant builds (e.g., GMP was built three times). * Updated GMP to 5.0.2. * Updated PPL to 0.11.2. * Remove ad hoc flags to build GCC's dependencies statically. Instead, use the ‘makeStaticLibraries’ stdenv adapter. * Build GMP with C++ support by default. svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
* validateLicenses: Warn about derivations lacking licensing information.Ludovic Courtès2011-11-20
| | | | svn path=/nixpkgs/trunk/; revision=30496
* stdenv adapters: Use `toString' instead of `exprToString'.Ludovic Courtès2011-11-20
| | | | svn path=/nixpkgs/trunk/; revision=30494
* Bootstrap clang with itselfShea Levy2011-10-19
| | | | svn path=/nixpkgs/trunk/; revision=29901
* * Typo.Eelco Dolstra2011-07-01
| | | | svn path=/nixpkgs/trunk/; revision=27569
* * makeStaticBinaries: handle the case where configureFlags isEelco Dolstra2011-01-20
| | | | | | an array. svn path=/nixpkgs/trunk/; revision=25641
* Making the addCoverageInformation stdenv adapter better in the sense that itLluís Batlle i Rossell2010-11-30
| | | | | | | | | | does not override NIX_CFLAGS_COMPILE anymore in the mkDerivation parameter attributes. This way, apacheHttpd can be built properly with coverage information. An indication of this problem came from the nixos tests.subversion failure. svn path=/nixpkgs/branches/stdenv-updates/; revision=24938
* Updating from trunkLluís Batlle i Rossell2010-08-07
|\ | | | | | | svn path=/nixpkgs/branches/stdenv-updates/; revision=23027
| * TyposYury G. Kudryashov2010-08-06
| | | | | | | | svn path=/nixpkgs/trunk/; revision=23011
* | Making gcc cross-buildable, at least for glibc.Lluís Batlle i Rossell2010-03-06
|/ | | | svn path=/nixpkgs/branches/stdenv-updates/; revision=20454
* Fixing the cross build stdenv adapter so it tolerates buildInputs with ↵Lluís Batlle i Rossell2010-03-04
| | | | | | 'null' elements. svn path=/nixpkgs/trunk/; revision=20381
* Adding a new special attribute for mkDerivation: crossAttrs. It sits next toLluís Batlle i Rossell2010-02-27
| | | | | | | | | "meta" and "passthru", and these attributes will be appended to the usual mkDerivation attributes only if the package is cross built. This allows putting some of the cross-building logic in the mkDerivation nix parameters, and not only in the final builder script, as it was until now. svn path=/nixpkgs/trunk/; revision=20272
* * Fix splashutils.Eelco Dolstra2010-01-26
| | | | svn path=/nixpkgs/branches/stdenv-updates/; revision=19662
* * libjpeg updated to version 8.Eelco Dolstra2010-01-21
| | | | | | | * libpng updated to 1.4.0. * For libjpegStatic, use a stdenv adapter to build a static library. svn path=/nixpkgs/branches/stdenv-updates/; revision=19605
* Merging from trunk.Lluís Batlle i Rossell2010-01-14
|\ | | | | | | | | | | | | | | | | I fixed conflicts regarding the renaming 'kernel' -> 'linux' in all-packages. Also a small conflict in all-packages about making openssl overridable. And I some linux 2.6.31-zen kernel files also marked in conflict. svn path=/nixpkgs/branches/stdenv-updates/; revision=19438
| * * Linux 2.6.32 generates weirdly named gcno files.Eelco Dolstra2010-01-04
| | | | | | | | svn path=/nixpkgs/trunk/; revision=19206
* | Finishing the update from trunk, having resolved the eclipse related directoryLluís Batlle i Rossell2009-11-26
|\| | | | | | | | | | | | | | | | | | | | | | | renaming. I think directory renaming breaks the usual merges... because it leaves the 'to be removed' directory in the working directory still. A manual 'rm' of the 'to be removed' directory fixed the commit. svn merge ^/nixpkgs/trunk svn path=/nixpkgs/branches/stdenv-updates/; revision=18661
| * * Add an adapter which abort an install if the installed package dependsNicolas Pierron2009-11-22
| | | | | | | | | | | | | | | | | | | | | | on a derivation with a meta.license attribute which does not satisfy the license predicate. With this adapter you can abort any install which depends on software which are not free by default. You can try it with MPlayer, because MPlayer depends of win32codecs flagged as "unfree". svn path=/nixpkgs/trunk/; revision=18530
| * * Add a script to retrieve licenses of the current derivation and of allNicolas Pierron2009-11-21
| | | | | | | | | | | | | | | | | | its dependencies. To make it works, you need to change the default stdenv as documented in the error message. ./maintainers/scripts/dep-licenses.sh <attribute name> svn path=/nixpkgs/trunk/; revision=18508
* | I should learn to concatenate lists.Lluís Batlle i Rossell2009-11-23
| | | | | | | | svn path=/nixpkgs/branches/stdenv-updates/; revision=18579
* | Making, in cross-builds, every buildInput a propagatedBuildInput. We needLluís Batlle i Rossell2009-11-23
| | | | | | | | | | | | | | | | | | | | this because 'ld' wants to know the path of every library involved in a dynamic linking. I imagine that ld does not need that in native builds because it can call the loader for it to resolve the library rpaths, but this is not the case for cross-building. svn path=/nixpkgs/branches/stdenv-updates/; revision=18577
* | On native builds:Lluís Batlle i Rossell2009-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | - Disabling guile test, because one fails. I commented on that in the source. On cross builds: - Adding stripping - Updating the glibc-2.11 expression to match the parameters of glibc-2.9, which I was updating more. - Renaming from selfNativeBuildInput to selfBuildNativeInput, so this matches better the pattern buildNativeInputs. svn path=/nixpkgs/branches/stdenv-updates/; revision=18550
* | Big fixes in the cross build:Lluís Batlle i Rossell2009-11-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Before this changes, cflags and ldflags for the native and the cross compiler got mixed. Not all the gcc-wrapper/gcc-cross-wrapper variables are independant now, but enough, I think. - Fixed the generic stdenv expression, which did a big mess on buildInputs and buildNativeInputs. Now it distinguishes when there is a stdenvCross or not. Maybe we should have a single stdenv and forget about the stdenvCross adapter - this could end in a stdenv a bit complex, but simpler than the generic stdenv + adapter. - Added basic support in pkgconfig for cross-builds: a single PKG_CONFIG_PATH now works for both the cross and the native compilers, but I think this should work well for most cases I can think of. - I tried to fix the guile expression to cross-biuld; guile is built, but not its manual, so the derivation still fails. Guile requires patching to cross-build, as far as I understnad. - Made the glibcCross build to be done through the usage of a gcc-cross-wrapper over the gcc-cross-stage-static, instead of using it directly. - Trying to make physfs (a neverball dependency) cross build. - Updated the gcc expression to support building a cross compiler without getting derivation variables mixed with those of the stdenvCross. svn path=/nixpkgs/branches/stdenv-updates/; revision=18534
* | Adding a new mkDerivation flag for the cross stdenv, selfNativeBuildInput =Lluís Batlle i Rossell2009-11-20
| | | | | | | | | | | | | | | | | | | | | | | | true/false, which tells whether the derivation needs itself as buildNativeInput. For example, in order to build cross ncurses, we need the a native build ncurses. (As libtool does not work in stdenv, I have not tested this change, to check whether finally ncurses cross-build) svn path=/nixpkgs/branches/stdenv-updates/; revision=18489
* | Allowing in the cross stdenv adapter the calls to mkDerivation without name.Lluís Batlle i Rossell2009-11-20
| | | | | | | | | | | | | | I don't know why there are such calls, but there are. svn path=/nixpkgs/branches/stdenv-updates/; revision=18482
* | Attention, people who care on the builders for native builds. In the stdenvLluís Batlle i Rossell2009-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | derivation, the "buildInputs" in every stdenv mkDerivation don't map now directly to the environment variable "buildInputs" in the builder, but "buildNativeInputs". So, the inputs build by the native compiler. When cross compiling, they will map to the environment variable "buildInputs" (yes, now the same name), which means does to be built with the cross compiler. I think I improved the naming of variables a bit. There was a big mess, specially in the stdenv adapter for cross building, and also in the default builder script. I also tried to add proper manager of propagatedInputBuilds, these being propagated considering the host or build origin of that input build (so, at the end, being those propagatedInputBuilds being propagated properly to the native or the cross compiler. svn path=/nixpkgs/branches/stdenv-updates/; revision=18477
* | Merging from trunk. I had to do two manual merges, quite trivial I think.Lluís Batlle i Rossell2009-11-19
|\| | | | | | | svn path=/nixpkgs/branches/stdenv-updates/; revision=18472
| * * Add a stdenv adapter which can remove all maintainers fields. This canNicolas Pierron2009-11-16
| | | | | | | | | | | | be used to remove error reports from development branches. svn path=/nixpkgs/trunk/; revision=18377
* | - Removed all *NoCross expressions I dupilcated in nixpkgs, while maintainingLluís Batlle i Rossell2009-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the cross compilation functionality. - I renamed some expected stdenv.mkDerivation parameter attributes so we can keep this branch properly updated from trunk. We agreed with Nicolas Pierron doing a massive renaming, so all current buildInputs become hostInputs (input as build for the host machine, in autotools terminology) , and then buildInputs would mean "input as for the build machine". By now, the specific "input as for the build machine" is specified through buildNativeInputs. We should fix this in the merge to trunk. - I made the generic stdenv understand the buildNativeInputs, otherwise if we start changing nixpkgs expressions so they distinguish the current buildInputs into buildInputs and buildNativeInputs, we could break even more nixpkgs for other platforms. - I changed the default result of mkDerivation so it becomes the derivation for to be run in the build machine. This allows, without any special rewriting, "fetchurl" derivations to be always results for the build machine to use them. - The change above implies that, for anyone wanting to cross-compile, has to build the hostDrv of the wanted derivation. For example, after this commit, the usual test of "nix-build -A bison.hostDrv arm.nix" works. I described the contents of this arm.nix in r18398. svn path=/nixpkgs/branches/stdenv-updates/; revision=18471
* | Fixing what I broke in the last commit in setup.sh.Lluís Batlle i Rossell2009-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I made the stdenvCross adapter simpler, according to Nicolas Pierron comments, and I commented it a bit. There are still jobs to do. At least: - Plan for the general renaming from buildInputs to hostInputs - We should not break merges from trunk. - Make the generic stdenv understand about host/buildInputs, at least for native builds, because it is used in the always-native building of stdenvLinux. This should allow us to remove all duplications of "*NoCross" in nixpkgs. svn path=/nixpkgs/branches/stdenv-updates/; revision=18449
* | I made the whole nixpkgs dependencies available to the cross compiler, noLluís Batlle i Rossell2009-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | needing to keep a new tree of expressions apart for the expressions to get cross-compiled. I changed the whole way of using cross compilation with nixpkgs, which before was done through a simple adapter. Now the adapter became complex, and I've tried to avoid the most obvious recursivities. For example, the fetchurl expression should never be cross-compiled, as the gmp, mpfr, and some others, like some ncurses, perl, ... I made overrided copies of those necessary as perlNoCross, ncursesNoCross, as stdenvNoCross, keeping in mind that the stdenv (capable of cross compilation) is built upon stdenvNoCross using an adapter. So, to cross compile, instead of building using "nixpkgs/default.nix", you should build with your own "myarchiteture.nix", which should have contents like these, for example: import /etc/nixos/nixpkgs/default.nix { crossSystem = { config = "armv5tel-unknown-linux-gnueabi"; bigEndian = false; arch = "arm"; float = "soft"; }; } svn path=/nixpkgs/branches/stdenv-updates/; revision=18398
* | Trying to move all stdenv cross-compiling details out of the stdenv expression,Lluís Batlle i Rossell2009-11-17
|/ | | | | | | into a stdenv adapater. svn path=/nixpkgs/branches/stdenv-updates/; revision=18397
* * Factor out an adapter to clean up the build tree.Eelco Dolstra2009-09-02
| | | | svn path=/nixpkgs/trunk/; revision=16920
* * addCoverageInstrumentation: factor out the code that keeps the buildEelco Dolstra2009-09-01
| | | | | | | | tree under $out into a separate stdenv adapter named keepBuildTree. * makeModulesClosure: support building an initrd for a kernel that has been compiled with coverage instrumentation. svn path=/nixpkgs/trunk/; revision=16916
* * A stdenv adapter to build a package with coverage instrumentation.Eelco Dolstra2009-08-28
| | | | svn path=/nixpkgs/trunk/; revision=16890
* * Fix duplication of the version in dietlibc's gcc wrapper.Eelco Dolstra2009-06-22
| | | | svn path=/nixpkgs/trunk/; revision=16021
* * Move some functions for manipulating meta and name attributes out ofEelco Dolstra2009-03-30
| | | | | | all-packages.nix and into lib. svn path=/nixpkgs/trunk/; revision=14778
* * More refactoring: move all the stdenv adapter functions (likeEelco Dolstra2009-02-10
useDietlibc) to a separate file. all-packages.nix should really only contain package composition stuff. svn path=/nixpkgs/trunk/; revision=14022