Commit graph

2716 commits

Author SHA1 Message Date
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
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
Nicolas Pierron 66ef37d260 * Fix "cgo" binary be defining LC_ALL=C inside the binary.
svn path=/nixpkgs/trunk/; revision=18350
2009-11-14 23:39:53 +00:00
Nicolas Pierron a61a4bc4bc * Fix TimeZone in The Go Programming Language.
svn path=/nixpkgs/trunk/; revision=18349
2009-11-14 23:39:46 +00:00
Nicolas Pierron da1311b893 * Add the Go Programming Language compiler.
svn path=/nixpkgs/trunk/; revision=18348
2009-11-14 20:14:28 +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
Marc Weber 173bdf6d2f fix ghc-get-packages
svn path=/nixpkgs/trunk/; revision=18331
2009-11-12 07:11:03 +00:00
Rob Vermaas a40d37b57b other location for tarball
svn path=/nixpkgs/trunk/; revision=18317
2009-11-10 13:58:22 +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
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 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
Marco Maggesi 4d0e24acd3 Add packages scsh, The Scheme Shell
svn path=/nixpkgs/trunk/; revision=18248
2009-11-07 11:17:53 +00:00
Ludovic Courtès a7faea338c GnuTLS 2.8.5, with LZO support, and with external libtasn1.
svn path=/nixpkgs/trunk/; revision=18233
2009-11-06 22:44:23 +00:00
Ludovic Courtès 1c8f15b0aa LZO: Build the shared library.
svn path=/nixpkgs/trunk/; revision=18232
2009-11-06 22:44:18 +00:00
Michael Raskin bc2ba3677b I think I rolled back to original sbcl-1.0.29 state
svn path=/nixpkgs/trunk/; revision=18223
2009-11-06 19:27:32 +00:00
Lluís Batlle i Rossell 005bf71e51 Updating neverball. That required adding physfs.
svn path=/nixpkgs/trunk/; revision=18220
2009-11-06 19:25:45 +00:00
Michael Raskin 1dce71822e Missed some added letters in SBCL version number..
svn path=/nixpkgs/trunk/; revision=18217
2009-11-06 18:36:16 +00:00
Andres Löh 1b9fe7411c Updated utf8-string, added mpppc.
svn path=/nixpkgs/trunk/; revision=18207
2009-11-06 14:09:30 +00:00
Andres Löh c3e966b0cb Updated xmonad to 0.9.
svn path=/nixpkgs/trunk/; revision=18204
2009-11-06 13:08:47 +00:00
Marco Maggesi b1e7aac0fd Add MIT Kerberos implementation krb5.
svn path=/nixpkgs/trunk/; revision=18202
2009-11-06 12:57:29 +00:00
Rob Vermaas e3099a7cec * added haskell libraries: webserver, json 0.3.6, http 3001, base64string, CS173Tourney
* added dep on getopt to couchdb


svn path=/nixpkgs/trunk/; revision=18201
2009-11-06 12:38:54 +00:00
Michael Raskin 81f103f176 Roll back to 1.0.29
svn path=/nixpkgs/trunk/; revision=18197
2009-11-06 11:31:35 +00:00
Michael Raskin e78e88ffcf Blacklist more versions of SBCL?
svn path=/nixpkgs/trunk/; revision=18194
2009-11-06 11:23:06 +00:00
Michael Raskin fe775f8c71 Oops, forgot to use blacklist-enabled updater
svn path=/nixpkgs/trunk/; revision=18193
2009-11-06 10:57:42 +00:00
Michael Raskin 27e0421842 Fix SBCL URL..
svn path=/nixpkgs/trunk/; revision=18190
2009-11-06 10:28:46 +00:00
Michael Raskin 8334ad8b2a Roll back SBCL
svn path=/nixpkgs/trunk/; revision=18189
2009-11-06 10:13:00 +00:00
Michael Raskin 73933c7f9b Comment out gcl as broken
svn path=/nixpkgs/trunk/; revision=18188
2009-11-06 09:44:03 +00:00