Commit graph

3174 commits

Author SHA1 Message Date
Ludovic Courtès 807655e1f9 Switch to glibc 2.11 and hope for the best.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18578
2009-11-23 23:35:59 +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 af198a162d Switch to glibc 2.11 for the Info manual and for locales.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18527
2009-11-22 16:04:01 +00:00
Lluís Batlle i Rossell c9ecbf7894 Adding a note about a change to do in the big-renaming to allow clear
buildInputs and buildNativeInputs, on pkgconfig, which now works always
as buildDrv even asking for its hostDrv.
Key string: cross_renaming


svn path=/nixpkgs/branches/stdenv-updates/; revision=18506
2009-11-21 15:39:20 +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
Lluís Batlle i Rossell 9effdda93b Updating the dependencies of the new coreutils: they need perl.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18494
2009-11-20 20:26:36 +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
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
Eelco Dolstra 58f543f19f * Remove some old Emacs versions.
svn path=/nixpkgs/trunk/; revision=18470
2009-11-19 17:36:43 +00:00
Eelco Dolstra 81c5c44ddb * Move makeOverridable out of all-packages.nix.
svn path=/nixpkgs/trunk/; revision=18469
2009-11-19 17:30:21 +00:00
Eelco Dolstra aa392c3aa7 * Move functions like `runCommand' out of all-packages.nix and into
build-support/.

svn path=/nixpkgs/trunk/; revision=18465
2009-11-19 16:07:47 +00:00
Michael Raskin d9aae7cb65 Adding JAMP game..
svn path=/nixpkgs/trunk/; revision=18454
2009-11-19 12:10:23 +00:00
Eelco Dolstra eb9ff07031 * Package naming / versioning guidelines.
svn path=/nixpkgs/trunk/; revision=18433
2009-11-18 15:05:09 +00:00
Eelco Dolstra b19ada9e05 * Fix the GPM URL.
svn path=/nixpkgs/trunk/; revision=18413
2009-11-18 12:47:58 +00:00
Eelco Dolstra 221ad8362f * Use the stable Nix to test the Nixpkgs expressions, since we always
want to be compatible with the last stable Nix release.

svn path=/nixpkgs/trunk/; revision=18411
2009-11-18 12:22:24 +00:00
Eelco Dolstra fcddb50e66 * Remove some more unused functions.
svn path=/nixpkgs/trunk/; revision=18407
2009-11-18 11:47:02 +00:00
Eelco Dolstra 4437778e33 svn path=/nixpkgs/trunk/; revision=18405 2009-11-18 11:38:20 +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 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
Sander van der Burg 52e9488541 Upgraded ejabberd to the latest stable 2.1.0 and also claimed maintainership since I really need this for one of my experiments
svn path=/nixpkgs/trunk/; revision=18396
2009-11-17 16:54:04 +00:00
Eelco Dolstra 802fa4ba0b * Remove sumArgs and its few remaining uses. Idem for composedArgs.
svn path=/nixpkgs/trunk/; revision=18388
2009-11-17 15:26:22 +00:00
Eelco Dolstra c3ea7a9212 * Added Digest::SHA.
svn path=/nixpkgs/trunk/; revision=18382
2009-11-17 13:07:14 +00:00
Rob Vermaas b82da9824b make nix overridable
svn path=/nixpkgs/trunk/; revision=18380
2009-11-17 12:30:17 +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
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
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 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
Nicolas Pierron da1311b893 * Add the Go Programming Language compiler.
svn path=/nixpkgs/trunk/; revision=18348
2009-11-14 20:14:28 +00:00
Nicolas Pierron c8cb5210fb * Add a fetchhg builder to checkout mercurial repositories.
svn path=/nixpkgs/trunk/; revision=18347
2009-11-14 20:14:21 +00:00
Nicolas Pierron 47de42835a * Add https support for mercurial.
svn path=/nixpkgs/trunk/; revision=18345
2009-11-14 20:14:09 +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 f5d0193047 synergy broke by xorg-update
svn path=/nixpkgs/trunk/; revision=18335
2009-11-12 16:11:44 +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
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 849f42d7bc Add package OpenAFS
svn path=/nixpkgs/trunk/; revision=18319
2009-11-10 14:59:39 +00:00
Marco Maggesi e2057ffe04 Add package ledger
svn path=/nixpkgs/trunk/; revision=18316
2009-11-10 11:02:45 +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
Rob Vermaas f2f5176551 add static variant of sdf
svn path=/nixpkgs/trunk/; revision=18308
2009-11-09 09:57:59 +00:00