Commit graph

2744 commits

Author SHA1 Message Date
Lluís Batlle i Rossell
03fc55deeb Making the gcc 4.4 expression more friendly. Nevertheless it still cannot be
used to cross-compile, because of some bug in 4.4.2 I think. This bug does not
allow building a cross-compiler without libc:
http://archives.free.net.ph/message/20091119.140407.040d3c5b.en.html

Maybe we should wait for 4.4.3 or stay with 4.4.1 cross compiling. By now I
will keep 4.3.4 on cross compilation.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18730
2009-12-01 10:29:22 +00:00
Lluís Batlle i Rossell
f4720cd5f9 Trying to get the gcc-4.4 cross-build also.
Fixing the glibc-2.10 expression on cross-builds (which should be ported to
the glibc-2.11 expression once we get "ports" there)

Making kde3 and cyrus-sasl use gcc-4.3, because the strictness in gcc-4.4 does
not allow them build.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18706
2009-11-29 23:27:35 +00:00
Lluís Batlle i Rossell
2b580b9846 Updating the perl-5.10 expression to support the bootstrapping stdenv better
- I still have not understood why it worked without this fix before, and I think
this has been triggered by the gcc-4.4, but I have not investigated this much. I
went with the trivial fix.

Adding a glibc-2.10.1 expression, because the glibc-2.11 still does not have
a ports release, so it cannot be used in arm. I'm using it only in native
compilation by now.

Making the default glibc to be 2.10 instead of 2.11 in armv5tel-linux.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18688
2009-11-28 12:57:42 +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
Lluís Batlle i Rossell
adc61253b9 Merging from trunk, partially, to get rid of the annoying failing commits from
svn when files were removed, recreated and whatever...
 svn merge -r 18479:18485 ^/nixpkgs/trunk



svn path=/nixpkgs/branches/stdenv-updates/; revision=18659
2009-11-26 21:34:53 +00:00
Lluís Batlle i Rossell
8a115c13ad Fixing the fontconfig native build (cross-building related)
svn path=/nixpkgs/branches/stdenv-updates/; revision=18658
2009-11-26 21:26:42 +00:00
Ludovic Courtès
f1f286052e Remove `unpackCmd's not needed with GNU tar format auto-detection (r18492).
svn path=/nixpkgs/branches/stdenv-updates/; revision=18653
2009-11-26 15:50:26 +00:00
Rob Vermaas
95970eb095 x86_64-darwin support for perl
svn path=/nixpkgs/trunk/; revision=18652
2009-11-26 15:50:10 +00:00
Rob Vermaas
4a0fd9efbb sendmail patch for CS173Tourney
svn path=/nixpkgs/trunk/; revision=18586
2009-11-24 09:39:51 +00:00
Michael Raskin
be75df0b0d update webkit
svn path=/nixpkgs/trunk/; revision=18575
2009-11-23 22:31:12 +00:00
Lluís Batlle i Rossell
fce5b7fe78 Adding a hack for gettext to cross-build with gcc+glibc in linux.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18568
2009-11-23 19:38:34 +00:00
Lluís Batlle i Rossell
c6b526495b Improving the crossStripping. A cross-glibc gets broken if stripped by the
native strip. So we now distinguish dontStrip and dontCrossStrip. I updated
the expressions for glibc-2.9 and glibc-2.11 accordingly.
I could get rid of the cross-glibc depending on the cross-gcc-stage-static.

Enabling nls in the final cross-gcc.

I still have problems on wint_t/wchar_t not working on cross build. Gettext
does not build.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18562
2009-11-23 17:06:57 +00:00
Lluís Batlle i Rossell
75b60caea0 Updating guile so it uses gawk as a buildNativeInput and not as buildInput.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18561
2009-11-23 17:01:28 +00:00
Michael Raskin
bbd6e56d69 Fix the cleanup-induced problems
svn path=/nixpkgs/trunk/; revision=18554
2009-11-23 12:21:34 +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
Ludovic Courtès
98af7b9cb9 GNU Guile 1.8: Clean up.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18545
2009-11-22 22:16:58 +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
Ludovic Courtès
04a15b29b0 glibc 2.11: Factorize the libc/info/locales expressions.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18526
2009-11-22 16:03:56 +00:00
Ludovic Courtès
1b5b1b62e1 glibc 2.11: Fix i686-linux builds.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18525
2009-11-22 16:03:43 +00:00
Ludovic Courtès
544032ea33 glibc 2.11: Try again to fix link errors for `nscd'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18518
2009-11-22 00:57:20 +00:00
Ludovic Courtès
60a661259b glibc 2.11: Try to fix link errors for `nscd'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18513
2009-11-22 00:22:47 +00:00
Ludovic Courtès
0d041d909b GNU Autoconf 2.65.
svn path=/nixpkgs/trunk/; revision=18511
2009-11-21 23:18:23 +00:00
Ludovic Courtès
e5e6e853de glibc 2.11: Link against `libssp'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18507
2009-11-21 15:40:52 +00:00
Ludovic Courtès
b1e17f71a6 glibc 2.11: Remove unneeded patches.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18502
2009-11-21 14:55:51 +00:00
Lluís Batlle i Rossell
ca5d91aa60 Made more libraries cross compile. fontconfig, libxcb, bzip2, libdrm, zlib...
I was trying to cross compile SDL. Many dependencies work, but I ended seeing
libX11 not ready for cross compilation. Other xorg libraries cross-compile
well. libX11 may need a small patch. The problem is the usual "configure test
cannot be run in cross compilation", so the configure script halts.

I made the pkgconfig expression always return buildDrv, as I think it rarely
will be needed as buildInput. So to avoid rewriting all its mentions to use
it as buildNativeInput, I prefered this small change.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18500
2009-11-21 10:44:22 +00:00
Lluís Batlle i Rossell
a263cb814e Fixed some details on cross compilation. Among others:
- Stating better the guile dependencies (native/host) for guile to build
- Fixing cross-linking, through --rpath-link (ld(1) explains well about it
- Made gcc call the linker and the assembler through the gcc wrapper instead of
  directly. I thought this was the source of missing -rpath's, but the source
  of the problem ended up being the lack of --rpath-link. But I think the
  native gcc calls the wrapped ld and as, so let's do the same cross
  compiling.
- Removed the binutilsCross from the glibc expressions. Now they are built
  using the gcc-cross-wrapper, and they were built with the direct gcc and
  binutils before this change.
- I think patchelf and strip don't break the cross-compiled binaries, so I
  reallow them on cross compilation.
- I disable the checkPhase on cross compilation. This made gmp and libtool
  fail when cross compiled, iirc.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18498
2009-11-21 02:42:52 +00:00
Lluís Batlle i Rossell
a5fee3325a Fixing some things on the gcc-cross-wrapper (libc was not properly added to the
linking path), and with this achieved bash being cross-compilable.
I fixed the few expressions involved in bash building, so they have well stated
native and non-native inputs.

I also tried to cross-build guile, and with this I found a problem in the
actual cross-gcc: it calls the binutils ld, instead of the ld wrapper. This
way, the programs/shared_libraries don't get the proper -rpath.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18497
2009-11-20 22:56:58 +00:00
Ludovic Courtès
be4dfd41be GNU Libtool: Disable tests for now.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18491
2009-11-20 17:09:54 +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
Eelco Dolstra
973b9cfde6 * Remove some incorrect uses of makeOverridable.
svn path=/nixpkgs/trunk/; revision=18483
2009-11-20 12:51:14 +00:00
Sander van der Burg
f08928cfe6 Increased the heap size of the GWT compiler to 256 MiB
svn path=/nixpkgs/trunk/; revision=18481
2009-11-20 11:37:11 +00:00
Lluís Batlle i Rossell
a270563c80 Updating boost
svn path=/nixpkgs/trunk/; revision=18480
2009-11-20 08:35:28 +00:00
Lluís Batlle i Rossell
7983251ce0 Fixing a trivial error in the glibc-2.11 longDescription, and fixing the
arguments for the ncurses expression.

We should find a way to express a dependency in cross compilation of the style
"cross-ncurses depends on having the native-ncurses".



svn path=/nixpkgs/branches/stdenv-updates/; revision=18479
2009-11-20 08:27:59 +00:00
Ludovic Courtès
e1af625517 Add tentative glibc 2.11 expression, based on that of glibc 2.9.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18478
2009-11-19 23:28:45 +00:00
Ludovic Courtès
640db0323d GNU Libtool 2.2.6b.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18475
2009-11-19 22:46:40 +00:00
Lluís Batlle i Rossell
5c14f92b30 Reverting a wrong name change I once did, when I thought that we would update
all the naming in nixpkgs to match the new build/host cross compilation stdenv.
Nevertheless, we decided not to do the renaming, but I forgot this change in
readline until ludo told me about it.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18474
2009-11-19 22:15:13 +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
Ludovic Courtès
1f9e87871e GNU Guile 1.9: Remove unnecessary patch.
svn path=/nixpkgs/trunk/; revision=18418
2009-11-18 13:41:17 +00:00
Ludovic Courtès
e615bc4574 GNU Guile 1.9.5.
svn path=/nixpkgs/trunk/; revision=18415
2009-11-18 13:18:24 +00:00
Eelco Dolstra
b4636d333c svn path=/nixpkgs/trunk/; revision=18406 2009-11-18 11:46:35 +00:00
Eelco Dolstra
7f5b839524 * Removed selectVersion. There's no good reason to write
`selectVersion ./foo "bar"' instead of `import ./foo/bar.nix'.
* Replaced `with args' with formal function arguments in several
  packages.
* Renamed several files to `default.nix'.  As a general rule, version
  numbers should only be included in the filename when there is a
  reason to keep multiple versions of a package in Nixpkgs.
  Otherwise, it just makes it harder to update the package.

svn path=/nixpkgs/trunk/; revision=18403
2009-11-18 09:39:59 +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
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
29384d43f2 * Update Go's version. Make 8g & 8l commands working with no need of
extra argument to locate the Go's libraries.

svn path=/nixpkgs/trunk/; revision=18376
2009-11-16 18:42:43 +00:00
Rob Vermaas
ede5426070 name typo
svn path=/nixpkgs/trunk/; revision=18375
2009-11-16 13:57:11 +00:00
Rob Vermaas
30e6d32b33 update baseline for stratego related packages
svn path=/nixpkgs/trunk/; revision=18374
2009-11-16 13:21:12 +00:00
Lluís Batlle i Rossell
81f695899a I think I fixed the gcc builder for the usual stdenv, I broke in the commit
before.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18356
2009-11-15 17:48:10 +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