Commit graph

680 commits

Author SHA1 Message Date
Lluís Batlle i Rossell
0bfa3b030a Finally I wrote well building binutils before glibc in stdenvLinux.
I had done an attempt recently, unsuccesful, which ended in a recent revert.
This change works.
I even updated the comments in the file.


svn path=/nixpkgs/branches/stdenv-updates/; revision=23425
2010-08-25 13:22:48 +00:00
Lluís Batlle i Rossell
e7c47f424f The uclibc used in bootstrap-tools needs some options to allow bzip2 to build
with it.


svn path=/nixpkgs/branches/stdenv-updates/; revision=23414
2010-08-24 22:29:58 +00:00
Lluís Batlle i Rossell
643eb3435e Moving back my attempt to build binutils before glibc in stdenvLinux.
What I did results in segfaults in built binaries.

svn merge -c -23370 ^/nixpkgs/branches/stdenv-updates


svn path=/nixpkgs/branches/stdenv-updates/; revision=23376
2010-08-23 19:59:06 +00:00
Lluís Batlle i Rossell
d2bcf1340c Adding building 'binutils' before building the 'glibc' in stdenv-linux.
This should allow keeping the i686-linux boostrap-tools.
I updated some days ago the x86_64-linux bootstrap-tools, but that update is
not needed anymore. We can revert that boostrap-tools update if anyone wants.
Pro:
- new gcc building gcc and glibc.
Contra:
- maybe some old systems (patched red had kernels come to mind) break with that update?


svn path=/nixpkgs/branches/stdenv-updates/; revision=23370
2010-08-23 18:05:19 +00:00
Peter Simons
960323ec73 pkgs/stdenv/generic: cosmetic changes
svn path=/nixpkgs/trunk/; revision=23361
2010-08-23 14:40:37 +00:00
Peter Simons
eb9c20eaf3 pkgs/stdenv/generic: added stdenv attributes isFreeBSD, isOpenBSD, and isBSD
svn path=/nixpkgs/trunk/; revision=23360
2010-08-23 14:39:46 +00:00
Lluís Batlle i Rossell
dc19818cc7 Propagating the 'platform' stdenv attribute properly on stdenvLinux,
so it can be used in places like the linuxHeaders expression.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23343
2010-08-21 21:08:57 +00:00
Lluís Batlle i Rossell
b9080de4fd Addindg isArm and enlarging isMips for stdenv.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23326
2010-08-21 19:02:43 +00:00
Lluís Batlle i Rossell
72707853f0 Adding in stdenv an 'isMips' attribute.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23323
2010-08-21 17:14:03 +00:00
Lluís Batlle i Rossell
221317ae7b Setting new bootstrap-tools for x86_64.
Allowing 'curl' build without some dependencies, if it is told not to build
with them.

Updating the make-bootstrap-tools for the latest gcc/glibc, removing the
dependency on klibc, and updating unpack-boostrap-tools for the latest
boostrap-tools to work.


svn path=/nixpkgs/branches/stdenv-updates/; revision=23305
2010-08-21 12:50:49 +00:00
Lluís Batlle i Rossell
f16353b6f2 Updated from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=23275
2010-08-20 13:41:12 +00:00
Eelco Dolstra
19158d7dec * CURL: build without scp support on Cygwin because libssh2 doesn't
build.

svn path=/nixpkgs/trunk/; revision=23142
2010-08-12 11:54:55 +00:00
Lluís Batlle i Rossell
b724fa3d44 Adding support for the /lib32 (there was /lib and /lib64 only), for the n32 ABI in mips I'm
making the longsoon2f system for.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23044
2010-08-08 18:53:00 +00:00
Peter Simons
1a6039cb45 Enable parallel building of gcc, glibc, gmp, mpfr, ncurses, coreutils, perl, python, git, and qt4.
If a build expressions has set "enableParallelBuilding = true", then the
generic builder may utilize more than one CPU core to build that particular
expression. This feature works out of the box for GNU Make. Expressions that
use other build drivers like Boost.Jam or SCons have to specify appropriate
flags such as "-j${NIX_BUILD_CORES}" themselves.

svn path=/nixpkgs/trunk/; revision=23042
2010-08-08 18:51:42 +00:00
Lluís Batlle i Rossell
1c078c9861 Fixing a double set attribute in stdenv
svn path=/nixpkgs/branches/stdenv-updates/; revision=23028
2010-08-07 21:07:41 +00:00
Lluís Batlle i Rossell
46082f25f9 Updating from trunk
svn path=/nixpkgs/branches/stdenv-updates/; revision=23027
2010-08-07 20:14:04 +00:00
Yury G. Kudryashov
1aa8b54c41 Typos
svn path=/nixpkgs/trunk/; revision=23011
2010-08-06 20:23:35 +00:00
Peter Simons
4defdcc50c pkgs/stdenv/generic: added isSunOS attribute, similar to isLinux, isDarwin, etc.
svn path=/nixpkgs/trunk/; revision=22995
2010-08-06 12:44:54 +00:00
Eelco Dolstra
a1e834e85a * Get rid of the ugly `useFromStdenv' hack in all-packages.nix.
Instead, use the generic package override mechanism to use packages
  from earlier bootstrap phases.
* Don't rely on the existence of attributes such as
  `stdenv.coreutils'.

svn path=/nixpkgs/trunk/; revision=22991
2010-08-06 10:34:34 +00:00
Lluís Batlle i Rossell
e0a11f532b Trying to bootstrap gcc 4.5 with ppl, so it does not depend on libstdc++ from the boostrap-tools.
svn path=/nixpkgs/branches/stdenv-updates/; revision=22947
2010-08-04 12:36:35 +00:00
Lluís Batlle i Rossell
9724fb271b Fixing the unpack bootstrap tools script so it works not only for mips.
svn path=/nixpkgs/branches/stdenv-updates/; revision=22855
2010-08-01 22:00:14 +00:00
Lluís Batlle i Rossell
40405d03ac Trying to add the fuloong2f for bootstrap-files. It bootstraps fine
(boostrap-files cross-built)

svn path=/nixpkgs/branches/stdenv-updates/; revision=22849
2010-08-01 21:22:51 +00:00
Lluís Batlle i Rossell
937578d5ef Some first changes to get some evaluation working on the fuloong2f
svn path=/nixpkgs/branches/stdenv-updates/; revision=22840
2010-08-01 20:57:13 +00:00
Peter Simons
ba58eb8e22 pkgs/stdenv/generic: added isSunOS attribute, similar to isLinux, isDarwin, etc.
svn path=/nixpkgs/branches/stdenv-updates/; revision=22675
2010-07-20 13:14:17 +00:00
Peter Simons
226e0c7646 pkgs/stdenv/generic/setup.sh: added support for enableParallelBuilding variable
If a build expressions has set "enableParallelBuilding = true", then the
generic builder may utilize more than one CPU core to build that particular
expression. This feature works out of the box for GNU Make. Expressions that
use other build drivers like Boost.Jam or SCons have to specify appropriate
flags such as "-j${NIX_BUILD_CORES}" themselves.

svn path=/nixpkgs/branches/stdenv-updates/; revision=22399
2010-06-23 14:34:59 +00:00
Marc Weber
f3e7f0fdf0 reverting my patch series adding -j -l support for make
svn path=/nixpkgs/branches/stdenv-updates/; revision=22336
2010-06-19 15:52:28 +00:00
Marc Weber
f446814260 no longer pass -j to make without arg which means no limit on forks. This brought down the build farm
svn path=/nixpkgs/branches/stdenv-updates/; revision=22293
2010-06-16 12:39:19 +00:00
Marc Weber
3c14e712ca setup.sh: add -j and -l options
svn path=/nixpkgs/branches/stdenv-updates/; revision=22283
2010-06-15 19:00:51 +00:00
Marc Weber
4f1075c40b generic/setup.sh: remove duplication: - add generic showCommand function which prints a command before running it - add runMake which is using that function passing the makefile if set
make all make invokations use runMake

svn path=/nixpkgs/branches/stdenv-updates/; revision=22282
2010-06-15 19:00:48 +00:00
Lluís Batlle i Rossell
d30ede1a13 Reverting r22258. I got confused; we don't need a new gcc build in stdenvLinux,
but an up to date ppl package (because the current does not build with such a
new gmp)


svn path=/nixpkgs/branches/stdenv-updates/; revision=22267
2010-06-14 21:40:11 +00:00
Lluís Batlle i Rossell
0feaada94a Adding a new gcc in the middle of the linux stdenv build, so we can have a
final stdenv gcc with ppl.


svn path=/nixpkgs/branches/stdenv-updates/; revision=22258
2010-06-14 14:02:14 +00:00
Lluís Batlle i Rossell
6d88da9a23 Merging from trunk (conflict on glibc, I think I resolved it)
svn path=/nixpkgs/branches/stdenv-updates/; revision=21879
2010-05-19 15:26:00 +00:00
Yury G. Kudryashov
796ffd9f71 Move "fetchurl restricted" code to requireFile.
This reverts r21474 and r21467.
Also migrate wtk (r21472) to new API.

svn path=/nixpkgs/trunk/; revision=21575
2010-05-03 09:13:17 +00:00
Yury G. Kudryashov
404c314412 Add support for restricted downloads
svn path=/nixpkgs/trunk/; revision=21467
2010-04-30 20:40:42 +00:00
Ludovic Courtès
5e0a05e4dc stdenv: Add `isx86_64'.
svn path=/nixpkgs/trunk/; revision=21292
2010-04-24 11:08:24 +00:00
Lluís Batlle i Rossell
f36f99e368 Making gcc cross-buildable, at least for glibc.
svn path=/nixpkgs/branches/stdenv-updates/; revision=20454
2010-03-06 21:41:01 +00:00
Lluís Batlle i Rossell
8a080a699e Fixing the cross build stdenv adapter so it tolerates buildInputs with 'null' elements.
svn path=/nixpkgs/trunk/; revision=20381
2010-03-04 14:44:38 +00:00
Lluís Batlle i Rossell
fca769846a Adding a new special attribute for mkDerivation: crossAttrs. It sits next to
"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
2010-02-27 17:35:42 +00:00
Eelco Dolstra
69406f1b39 * Revert r19795 to fix builds on FreeBSD.
svn path=/nixpkgs/trunk/; revision=19898
2010-02-10 11:54:49 +00:00
Eelco Dolstra
1472ae7450 * Revert r19814 and r19815 because they break OpenBSD and FreeBSD in
the build farm.

svn path=/nixpkgs/trunk/; revision=19860
2010-02-08 12:41:15 +00:00
Sander van der Burg
a879785099 Script I used to derive the aliases on OpenBSD
svn path=/nixpkgs/branches/stdenv-updates/; revision=19815
2010-02-04 13:49:51 +00:00
Sander van der Burg
318091ed2b Added all necessary aliases to match the Linux stdenv as closely as possible on OpenBSD
svn path=/nixpkgs/branches/stdenv-updates/; revision=19814
2010-02-04 13:47:46 +00:00
Sander van der Burg
e38e9988a1 Added all necessary aliases to match the Linux stdenv as closely as possible on FreeBSD
svn path=/nixpkgs/branches/stdenv-updates/; revision=19795
2010-02-03 20:41:28 +00:00
Eelco Dolstra
4430ce1952 * Fix splashutils.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19662
2010-01-26 10:56:21 +00:00
Eelco Dolstra
ed3ebb7c2c * libjpeg updated to version 8.
* 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
2010-01-21 21:42:17 +00:00
Eelco Dolstra
231b016142 * During the bootstrap, build only 1 instance of Perl instead of 3.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19536
2010-01-19 11:25:33 +00:00
Lluís Batlle i Rossell
9183f21f7e Merging from trunk.
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
2010-01-14 14:49:31 +00:00
Eelco Dolstra
6259721697 * Linux 2.6.32 generates weirdly named gcno files.
svn path=/nixpkgs/trunk/; revision=19206
2010-01-04 13:15:04 +00:00
Eelco Dolstra
69434e0592 * Add support for lzma patches.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19028
2009-12-18 11:26:36 +00:00
Lluís Batlle i Rossell
89fe676bb3 Updating from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18878
2009-12-10 14:48:45 +00:00
Lluís Batlle i Rossell
60a5f44759 Updating the url for the latest armv5tel linux bootstrap-tools.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18844
2009-12-08 19:34:25 +00:00
Lluís Batlle i Rossell
a2b2e6542f New bootstrap-tools for armv5tel, with binutils and gcc-4.4. Without these binutils,
we can't build easily with them gcc-4.4 natively, because of a bug in the ld of the
previous bootstrap-tools.
I updated the unpack script to include the new gcc-4.4 libraries *ppl*.so in patchelfing.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18835
2009-12-08 10:03:20 +00:00
Lluís Batlle i Rossell
ba5c242c82 Trying to make "make-bootstrap-tools" include the needed gcc 4.4 dependencies
(dynamic libraries of ppl and cloogppl) into the package.
We need newer binutils in the bootstrap-tools for the armv5tel in order to
be able to build gcc 4.4 from them.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18747
2009-12-01 21:52:08 +00:00
Lluís Batlle i Rossell
6089b48c03 Updating the url to the armv5tel-linux bootstrap files, once niksnut
updated the svn checkout published in http://nixos.org/tarballs/stdenv-linux/


svn path=/nixpkgs/branches/stdenv-updates/; revision=18700
2009-11-29 21:30:46 +00:00
Lluís Batlle i Rossell
641101c7fd Again attempting to add gunzip to the bootstrap-tools to allow the ppq
installation.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18690
2009-11-28 19:21:33 +00:00
Lluís Batlle i Rossell
5c0bb27a86 Adding gunzip to the bootstrap-tools
(required to build ppl with the bootstrap tools, when boostrapping gcc)


svn path=/nixpkgs/branches/stdenv-updates/; revision=18689
2009-11-28 15:38:48 +00:00
Rob Vermaas
746c502acc changes for x86_64-darwin support
svn path=/nixpkgs/trunk/; revision=18667
2009-11-27 10:56:07 +00:00
Lluís Batlle i Rossell
a3403e6828 Finishing the update from trunk, having resolved the eclipse related directory
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
2009-11-26 21:46:08 +00:00
Rob Vermaas
26df837413 add support for x86_64-darwin
svn path=/nixpkgs/trunk/; revision=18651
2009-11-26 15:45:31 +00:00
Rob Vermaas
bcf010f111 add support for x86_64-darwin
svn path=/nixpkgs/trunk/; revision=18650
2009-11-26 15:30:56 +00:00
Rob Vermaas
5af066c31c add x86_64 stdenv based on stdenvNative
svn path=/nixpkgs/trunk/; revision=18649
2009-11-26 15:16:42 +00:00
Lluís Batlle i Rossell
1ec11edce5 I should learn to concatenate lists.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18579
2009-11-23 23:40:24 +00:00
Lluís Batlle i Rossell
eadcd4462d Making, in cross-builds, every buildInput a propagatedBuildInput. We need
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
2009-11-23 23:16:40 +00:00
Lluís Batlle i Rossell
d8aa5b5db1 Fixing stdenv's chain of propagated-build-inputs (2nd level propagated build
inputs did not get in)
Updating the xorg builder script to support cross building (in fact, support
for propagating the required build inputs).


svn path=/nixpkgs/branches/stdenv-updates/; revision=18569
2009-11-23 19:45:18 +00:00
Lluís Batlle i Rossell
45886e474d On native builds:
- 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
2009-11-22 22:48:43 +00:00
Lluís Batlle i Rossell
585ba8c27f Big fixes in the cross build:
- 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
2009-11-22 19:51:45 +00:00
Nicolas Pierron
b29073af25 * Add an adapter which abort an install if the installed package depends
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
2009-11-22 17:04:33 +00:00
Nicolas Pierron
00efa9c2dd * Add a script to retrieve licenses of the current derivation and of all
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
2009-11-21 17:50:00 +00:00
Ludovic Courtès
ab61e5b40d stdenv: Let GNU tar select the decompression method.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18492
2009-11-20 17:10:00 +00:00
Lluís Batlle i Rossell
e10632e7d5 Trying to fix the stdenv used on i686-darwin, which stopped working after my
statement of the gcc-wrapper coreutils dependency on r17867.
I don't have i686-darwin to try this.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18490
2009-11-20 16:56:11 +00:00
Lluís Batlle i Rossell
28d9e73d34 Adding a new mkDerivation flag for the cross stdenv, selfNativeBuildInput =
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
2009-11-20 16:38:01 +00:00
Lluís Batlle i Rossell
4497215410 Allowing in the cross stdenv adapter the calls to mkDerivation without name.
I don't know why there are such calls, but there are.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18482
2009-11-20 12:33:43 +00:00
Lluís Batlle i Rossell
6f3630e128 Attention, people who care on the builders for native builds. In the stdenv
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
2009-11-19 23:05:11 +00:00
Lluís Batlle i Rossell
e85500987b Merging from trunk. I had to do two manual merges, quite trivial I think.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18472
2009-11-19 19:09:10 +00:00
Lluís Batlle i Rossell
7ade207f6b - Removed all *NoCross expressions I dupilcated in nixpkgs, while maintaining
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
2009-11-19 19:03:34 +00:00
Nicolas Pierron
6ba27ab552 * Add file support in the runHook function.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18467
2009-11-19 17:19:32 +00:00
Lluís Batlle i Rossell
8c638e5e68 Fixing what I broke in the last commit in setup.sh.
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
2009-11-18 19:25:57 +00:00
Lluís Batlle i Rossell
4c09cfc8a3 Adding generic builder management of cross compilation: envHooksHost, pkgsHost, ...
svn path=/nixpkgs/branches/stdenv-updates/; revision=18446
2009-11-18 18:16:35 +00:00
Lluís Batlle i Rossell
e7c8e8da4f I made the whole nixpkgs dependencies available to the cross compiler, no
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
2009-11-17 22:58:48 +00:00
Lluís Batlle i Rossell
0c631f6181 Trying to move all stdenv cross-compiling details out of the stdenv expression,
into a stdenv adapater.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18397
2009-11-17 21:14:57 +00:00
Lluís Batlle i Rossell
2c7fa189fb Making the definition of the cross compiling target an attribute set.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18378
2009-11-16 23:21:13 +00:00
Nicolas Pierron
01e98e49b1 * Add a stdenv adapter which can remove all maintainers fields. This can
be used to remove error reports from development branches.

svn path=/nixpkgs/trunk/; revision=18377
2009-11-16 22:23:11 +00:00
Rob Vermaas
94a659596b ln issue mingw
svn path=/nixpkgs/trunk/; revision=18372
2009-11-16 12:22:55 +00:00
Rob Vermaas
4e50b362f7 svn path=/nixpkgs/trunk/; revision=18371 2009-11-16 11:24:49 +00:00
Rob Vermaas
e0389e41f0 different behaviour of ln on mingw
svn path=/nixpkgs/trunk/; revision=18370
2009-11-16 11:22:11 +00:00
Rob Vermaas
b7ebd57d93 mingw related stuff
svn path=/nixpkgs/trunk/; revision=18369
2009-11-16 08:47:31 +00:00
Lluís Batlle i Rossell
d06dce4e42 Fixing some conflict on the variable 'cross'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18357
2009-11-15 19:07:21 +00:00
Lluís Batlle i Rossell
307cbd7b3b First attempt for the full stdenvCross. I think that it should work. The
toolchain for arm built.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18355
2009-11-15 16:48:36 +00:00
Lluís Batlle i Rossell
9b977f5c60 Fixing many things related to the cross compilation in stdenvCross.
It still does not work, but I think I already get glibc cross compiled.
Next: gcc and g++, and set some setup script hooks on stdenvCross.

It took quite enough hours for this commit.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18351
2009-11-15 05:28:35 +00:00
Lluís Batlle i Rossell
2aba922d30 My first attempt at getting cross compilers in nixpkgs.
My idea is to provide special stdenv expressions that will contain in the path
additional cross compilers. As most expressions for programs accept a stdenv parameter, 
we could substitute this parameter with the special stdenv, which will have a
generic builder that attempts the usual "--target=..." and can additionally
have an env variable like "cross" with the target architecture set.
So, finally we could have additional expressions like this:

bashRealArm = makeOverridable (import ../shells/bash) {
    inherit fetchurl bison;
    stdenv = stdenvCross "armv5tel-unknown-linux-gnueabi";
};

Meanwhile it does not work - I still cannot get the cross-gcc to build.

I think it does not fill the previous expressions with a lot of noise, so I
think it may be a good path to follow.

I only touched some files of the current stdenv: gcc-4.3, kernel headers
2.6.28, glibc 2.9, ...

I tried to use the gcc-cross-wrapper, that may be very outdated. Maybe I will
update it, or update the gcc-wrapper expression to make it fit the cross tools,
but meanwhile I even cannot build gcc, so I have not tested the wrapper.

This new idea on cross compiling is not similar to that of the
nixpkgs/branches/cross-compilation, which mostly added bare new expressions for
anything to be cross compiled, if I understood it correctly.

I cared not to break anything of the usual stdenv in all this work.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18343
2009-11-14 08:11:30 +00:00
Lluís Batlle i Rossell
6864119104 Updating from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18341
2009-11-13 19:19:34 +00:00
Rob Vermaas
f26614bb78 stuff for mingw
svn path=/nixpkgs/trunk/; revision=18339
2009-11-13 11:58:17 +00:00
Rob Vermaas
079451fa9e other location for msys
svn path=/nixpkgs/trunk/; revision=18338
2009-11-13 11:41:56 +00:00
Rob Vermaas
290d47d0f3 trying to fix mingw setup
svn path=/nixpkgs/trunk/; revision=18337
2009-11-13 10:30:29 +00:00
Lluís Batlle i Rossell
6675f0a52c Adding a check in the generic builder so it halts on the existence of
/homeless-shelter


svn path=/nixpkgs/branches/stdenv-updates/; revision=18302
2009-11-08 22:50:27 +00:00
Lluís Batlle i Rossell
9c79d69710 curl.bz2 should be executable, to keep the same stdenv working as it worked in stdenv-updates
svn path=/nixpkgs/branches/stdenv-updates2/; revision=18276
2009-11-08 00:47:46 +00:00
Lluís Batlle i Rossell
b78e001b52 Adding the binary files from stdenv that did not came with the recent 'diff | patch'
I did to get the stdenv-updates changes.


svn path=/nixpkgs/branches/stdenv-updates2/; revision=18275
2009-11-08 00:45:09 +00:00
Lluís Batlle i Rossell
4b27d28701 Porting changes from stdenv-updates into this branch.
This comes from:
svn diff  ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff
patch -p0 < diff
and then adding into svn all files new from the patch.

trunk@18255 comes from the last time I updated stdenv-updates from trunk.


svn path=/nixpkgs/stdenv-updates2/; revision=18272
2009-11-08 00:32:12 +00:00
Sander van der Burg
fef5fcc47b Added empty line
svn path=/nixpkgs/trunk/; revision=17850
2009-10-16 10:21:27 +00:00
Sander van der Burg
1ca15d18f4 FreeBSD uses GNU sed now
svn path=/nixpkgs/trunk/; revision=17849
2009-10-16 10:18:55 +00:00
Sander van der Burg
18f8aa9a91 The BSD platforms now use GNU tar by default
svn path=/nixpkgs/trunk/; revision=17848
2009-10-16 10:09:33 +00:00
Sander van der Burg
4756054e17 Added some NetBSD support to the native stdenv component
svn path=/nixpkgs/trunk/; revision=17847
2009-10-16 10:03:27 +00:00
Sander van der Burg
068b2158f5 Added Solaris support to the stdenv
svn path=/nixpkgs/trunk/; revision=17559
2009-09-30 15:19:25 +00:00
Sander van der Burg
b08cf58c59 Added more aliases to GNU tools, since the BSD userspace is sometimes too poor (i.e. lacks certain options to commands) to deal with our scripts
svn path=/nixpkgs/trunk/; revision=17363
2009-09-23 13:54:45 +00:00
Sander van der Burg
4fafee1555 Added initial OpenBSD support to the stdenv
svn path=/nixpkgs/trunk/; revision=17362
2009-09-23 13:30:04 +00:00
Eelco Dolstra
f782f14e58 * Factor out an adapter to clean up the build tree.
svn path=/nixpkgs/trunk/; revision=16920
2009-09-02 06:31:13 +00:00
Eelco Dolstra
58e6161768 * addCoverageInstrumentation: factor out the code that keeps the build
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
2009-09-01 21:56:46 +00:00
Eelco Dolstra
0fd5ed507e * A stdenv adapter to build a package with coverage instrumentation.
svn path=/nixpkgs/trunk/; revision=16890
2009-08-28 16:45:56 +00:00
Lluís Batlle i Rossell
d4aedd92cc I revert my changes to get nixpkgs working on armv5tel-linux.
I thought I didn't change stdenv, but I did. This will go soon into the stdenv
branch then.
Reverse-merging r16467 through r16465.


svn path=/nixpkgs/trunk/; revision=16468
2009-07-26 22:47:33 +00:00
Lluís Batlle i Rossell
532fc4a05d Adding armv5tel to the 'if' checks in stdenv, gcc-wrapper and kernel headers
svn path=/nixpkgs/trunk/; revision=16466
2009-07-26 21:48:10 +00:00
Lluís Batlle i Rossell
dcf0a95a72 Updating to allow ld-linux.so.? interpreters, instead of always .so.2
svn path=/nixpkgs/trunk/; revision=16465
2009-07-26 21:48:00 +00:00
Eelco Dolstra
ae03990f6a * setup-new -> setup.
svn path=/nixpkgs/branches/stdenv-updates/; revision=16133
2009-07-02 09:01:37 +00:00
Eelco Dolstra
cdf4cf5c23 * Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=16094
2009-06-30 11:42:15 +00:00
Eelco Dolstra
a830968c53 * New bootstrap binaries (from r16022 in the trunk). Don't set
LD_LIBRARY_PATH since it breaks /bin/sh on non-NixOS platforms (and
  reverted the previous "fix" in r15470).

svn path=/nixpkgs/branches/stdenv-updates/; revision=16029
2009-06-22 19:49:42 +00:00
Eelco Dolstra
ef83c754f6 * Updated the function that builds the bootstrap binaries.
* Use patchelf 0.5 and use the --force-rpath flag.  This removes the
  need for setting LD_LIBRARY_PATH and so should fix bootstrapping
  Nixpkgs on non-NixOS platforms.

svn path=/nixpkgs/trunk/; revision=16022
2009-06-22 14:28:07 +00:00
Eelco Dolstra
a40dbf619d * Fix duplication of the version in dietlibc's gcc wrapper.
svn path=/nixpkgs/trunk/; revision=16021
2009-06-22 14:26:14 +00:00
Eelco Dolstra
16fef1d9d6 * dontMakeSourcesWritable: should be a variable. Caught by Marc
Weber.

svn path=/nixpkgs/trunk/; revision=15961
2009-06-15 13:39:09 +00:00
Rob Vermaas
68d5a14183 * xargsFlag empty on darwin
svn path=/nixpkgs/trunk/; revision=15919
2009-06-10 11:08:53 +00:00
Eelco Dolstra
2d0b32453c * setup.sh: quote $NIX_BUILD_TOP. Otherwise a line like
export > $NIX_BUILD_TOP/env-vars

  will fail if the name attribute contains a metacharacter
  (e.g. "?"):

    building path(s) `/nix/store/yk93gk3lc5bslcn5hklnzs0bdkp2r0an-icu-3.8-setBreakType-public.diff?rev=1.1'
    /nix/store/gj8ac12mrwinbq7wzzhwfjjs3028a11x-stdenv-linux/setup: line 374: $NIX_BUILD_TOP/env-vars: ambiguous redirect

  I guess this only happens if you happen to have an old temporary
  build directory for the same derivation in /tmp.

  This affects fetchurl in particular.

svn path=/nixpkgs/trunk/; revision=15915
2009-06-10 09:34:42 +00:00
Eelco Dolstra
89b8ab2d78 * Work around /bin/sh being broken by an LD_LIBRARY_PATH that contains
another Glibc.

svn path=/nixpkgs/branches/stdenv-updates/; revision=15470
2009-05-06 13:49:12 +00:00
Eelco Dolstra
671d53dd35 * Allow the user to install stdenv (nix-env -i stdenv) and get all the
packages in the stdenv as propagated user environment packages.

svn path=/nixpkgs/branches/stdenv-updates/; revision=15300
2009-04-25 14:08:29 +00:00
Eelco Dolstra
2a699fe5fb * Pass --disable-static to configure by default it it's supported.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15234
2009-04-21 22:40:12 +00:00
Eelco Dolstra
6b9ccbaf78 * setup.sh: turn on nullglob globally.
* setup.sh: removed some obsolete features, specifically some that
  were only used by the old build farm.
* addToSearchPath: removed some parameters that weren't used
  anywhere.

svn path=/nixpkgs/branches/stdenv-updates/; revision=15136
2009-04-18 22:22:51 +00:00
Eelco Dolstra
f5ef461217 svn path=/nixpkgs/branches/stdenv-updates/; revision=14979 2009-04-09 15:25:29 +00:00
Eelco Dolstra
d27514cb28 * Sync with the trunk once more.
* Turn on everything in Hydra.

svn path=/nixpkgs/branches/stdenv-updates/; revision=14806
2009-03-31 15:30:47 +00:00
Eelco Dolstra
2405d87230 * Move some functions for manipulating meta and name attributes out of
all-packages.nix and into lib.

svn path=/nixpkgs/trunk/; revision=14778
2009-03-30 13:22:19 +00:00
Eelco Dolstra
e032d40614 * Some meta.description attributes.
svn path=/nixpkgs/branches/stdenv-updates/; revision=14712
2009-03-25 18:34:27 +00:00
Eelco Dolstra
d9213df2c1 * gcc-wrapper: put "gcc-wrapper" in the name, e.g. "gcc-wrapper-4.3.3"
instead of "gcc-4.3.3".  This fixed the long-standing annoyance that
  you can't distinguish the two in (say) nix-store -qR.
* On x86_64-linux, put $out/lib64 in the RPATH in addition to
  $out/lib, because some packages (in particular GCC) put libraries in
  $out/lib64 and ended up linking against the wrong library.
* Strip $out/lib64.
* Removed g77_42 because it's exactly the same as gfortran.

svn path=/nixpkgs/branches/stdenv-updates/; revision=14708
2009-03-25 17:34:38 +00:00
Eelco Dolstra
390695e73f * Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=14057
2009-02-12 21:16:55 +00:00
Eelco Dolstra
0cf9849afd * More refactoring: move all the stdenv adapter functions (like
useDietlibc) to a separate file.  all-packages.nix should really
  only contain package composition stuff.

svn path=/nixpkgs/trunk/; revision=14022
2009-02-10 15:48:30 +00:00
Eelco Dolstra
871e2e1b7f * stdenvLinux on powerpc-linux is currently broken.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13968
2009-02-03 09:59:03 +00:00
Eelco Dolstra
1dee2d3de0 * Fix stdenvNative/stdenvNix.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13957
2009-02-02 15:03:38 +00:00
Eelco Dolstra
779b4b2448 * Use GCC 4.3 by default.
* Updated stdenv-linux:

  - The bootstrap tools are no longer statically linked (except for
    binaries in the Nixpkgs tree used to download and unpack the
    bootstrap tools).

  - x86_64 uses the same static binaries as i686.  This makes the
    Nixpkgs tree a bit smaller.

  - Use the Linux 2.6.28 headers.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13946
2009-02-01 21:44:56 +00:00
Eelco Dolstra
52122b0e4d * Don't require a stdenv to build stdenv. This obviates the need for
a stdenvInitial in the bootstrap.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13942
2009-02-01 21:28:55 +00:00
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
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