Commit Graph

8520 Commits

Author SHA1 Message Date
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
56ed820f84 Add systems.nix give more control over the increasing list of supported
systems.  This is not yet used because it has to be integrated with the
current system.

svn path=/nixpkgs/branches/stdenv-updates/; revision=18468
2009-11-19 17:19:39 +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
Lluís Batlle i Rossell
d82c7e0a69 Adding uboot cross compilation. I had to adapt the package a bit, because it
does not use autotools.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18362
2009-11-15 22:56:06 +00:00
Lluís Batlle i Rossell
3c4edd6bfa Fixing the gcc cross wrapper (removing some /usr/) so it gives proper linking.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18361
2009-11-15 21:36:13 +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
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
2412034611 Cleaning a bit around gcc43_RealCross
svn path=/nixpkgs/branches/stdenv-updates/; revision=18352
2009-11-15 05:39:22 +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
Marc Weber
f5d0193047 synergy broke by xorg-update
svn path=/nixpkgs/trunk/; revision=18335
2009-11-12 16:11:44 +00:00
Eelco Dolstra
9d15a2ed67 * Grub 1.97.1.
svn path=/nixpkgs/trunk/; revision=18332
2009-11-12 08:58:16 +00:00
Marc Weber
173bdf6d2f fix ghc-get-packages
svn path=/nixpkgs/trunk/; revision=18331
2009-11-12 07:11:03 +00:00
Sander van der Burg
ac64ef2275 Upgraded JBoss to 5.1.0
svn path=/nixpkgs/trunk/; revision=18329
2009-11-11 15:52:26 +00:00
Rob Vermaas
b325a34361 chrome 31663
svn path=/nixpkgs/trunk/; revision=18328
2009-11-11 15:34:21 +00:00
Ludovic Courtès
8799678836 GNU IceCat 3.5.5.
svn path=/nixpkgs/trunk/; revision=18327
2009-11-11 14:24:52 +00:00
Rob Vermaas
efe661ab0e update chrome to version 31662 to let dropdownlists work properly again
svn path=/nixpkgs/trunk/; revision=18326
2009-11-11 14:06:57 +00:00
Pjotr Prins
84147f4477 Force gcc42 for arb (otherwise headers balk)
svn path=/nixpkgs/trunk/; revision=18324
2009-11-10 17:16:06 +00:00
Marco Maggesi
c0a6058122 Add package OpenAFS (added forgotten files)
svn path=/nixpkgs/trunk/; revision=18323
2009-11-10 16:00:52 +00:00
Marco Maggesi
849f42d7bc Add package OpenAFS
svn path=/nixpkgs/trunk/; revision=18319
2009-11-10 14:59:39 +00:00
Pjotr Prins
5747c2194b rxp requires CFLAG -D_GNU_SOURCE
svn path=/nixpkgs/trunk/; revision=18318
2009-11-10 14:25:26 +00:00
Rob Vermaas
a40d37b57b other location for tarball
svn path=/nixpkgs/trunk/; revision=18317
2009-11-10 13:58:22 +00:00
Marco Maggesi
e2057ffe04 Add package ledger
svn path=/nixpkgs/trunk/; revision=18316
2009-11-10 11:02:45 +00:00
Lluís Batlle i Rossell
605b62da11 Enabling ipv6 at least as module in the zen5 arm kernel
svn path=/nixpkgs/branches/stdenv-updates/; revision=18315
2009-11-09 23:26:34 +00:00
Rob Vermaas
0e1a687233 revert previous change
svn path=/nixpkgs/trunk/; revision=18314
2009-11-09 15:05:45 +00:00
Rob Vermaas
83c57ed434 trying to make static linking work on darwin
svn path=/nixpkgs/trunk/; revision=18313
2009-11-09 15:00:24 +00:00
Rob Vermaas
85ee8e90b7 make static sdf2bundle
svn path=/nixpkgs/trunk/; revision=18312
2009-11-09 14:43:01 +00:00
Marco Maggesi
c0a1119f10 Reintroduced attribute scsh accidentally removed in revision 18299.
svn path=/nixpkgs/trunk/; revision=18311
2009-11-09 13:20:27 +00:00
Lluís Batlle i Rossell
de6aa89c45 Updating xchm.
svn path=/nixpkgs/trunk/; revision=18310
2009-11-09 11:55:31 +00:00
Lluís Batlle i Rossell
6d092c3371 Adding kvm88, although without the patches kvm86 had for some nix advantages (samba, ...),
because they don't apply directly.

svn path=/nixpkgs/trunk/; revision=18309
2009-11-09 11:55:23 +00:00
Rob Vermaas
f2f5176551 add static variant of sdf
svn path=/nixpkgs/trunk/; revision=18308
2009-11-09 09:57:59 +00:00
Rob Vermaas
28d59537c5 add static variant of sdf
svn path=/nixpkgs/trunk/; revision=18307
2009-11-09 09:56:06 +00:00
Rob Vermaas
0a56e71716 add static variant for sdf bundle
svn path=/nixpkgs/trunk/; revision=18306
2009-11-09 09:53:57 +00:00
Lluís Batlle i Rossell
4f906f38a8 Updating qemu to 0.11.0, and making it use stdenv with the usual gcc, and not an older.
svn path=/nixpkgs/trunk/; revision=18305
2009-11-09 09:15:58 +00:00
Wouter den Breejen
5fae957741 Added par2, unzip/rar as dependencies so they are not picked up from PATH
svn path=/nixpkgs/trunk/; revision=18304
2009-11-08 23:39:06 +00:00
Wouter den Breejen
3259101fc0 Added par2, unzip/rar as dependencies so they are not picked up from PATH
svn path=/nixpkgs/trunk/; revision=18303
2009-11-08 23:37:49 +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
96b4174b5a Fixing the neverball expression: it relied on having a /homeless-shelter
svn path=/nixpkgs/trunk/; revision=18301
2009-11-08 22:35:19 +00:00
Michael Raskin
29b28dc3bb Reduce fetchmtn verbosity
svn path=/nixpkgs/trunk/; revision=18300
2009-11-08 22:30:38 +00:00
Michael Raskin
6722c6c22f A package to feed to HAL to get synaptics support
svn path=/nixpkgs/trunk/; revision=18299
2009-11-08 22:12:55 +00:00