Commit graph

8766 commits

Author SHA1 Message Date
Lluís Batlle i Rossell 3136303d63 Fixing the libxcb native build: missing dependency.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18499
2009-11-21 10:11:44 +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 b27cf66ee2 argh. Bad commenting style and a commit too blind.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18496
2009-11-20 20:29:32 +00:00
Lluís Batlle i Rossell 7748e9e964 Disabling the coreutils tests
svn path=/nixpkgs/branches/stdenv-updates/; revision=18495
2009-11-20 20:28:43 +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
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
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 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 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
Ludovic Courtès 40e564c87c GNU Coreutils 8.1.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18476
2009-11-19 22:46: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 4dfc635cbb Fixing the uboot cross-build.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18473
2009-11-19 21:43:03 +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
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
Eelco Dolstra 519e7870b6 * Move `modifyDerivation' from build-support/vm to lib and rename it
to `overrideDerivation'.

svn path=/nixpkgs/trunk/; revision=18466
2009-11-19 16:43:58 +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
Rob Vermaas 5fca80982a move autoconfPhase so it can be overriden
svn path=/nixpkgs/trunk/; revision=18458
2009-11-19 13:57:57 +00:00
Michael Raskin d9aae7cb65 Adding JAMP game..
svn path=/nixpkgs/trunk/; revision=18454
2009-11-19 12:10:23 +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
Rob Vermaas 4dca2c8b12 echo to stderr in stead of stdout. else hydra cannot read hash/path
svn path=/nixpkgs/trunk/; revision=18448
2009-11-18 19:10:24 +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
Ludovic Courtès 4f20056bca nix-prefetch-git: Default to SHA256.
svn path=/nixpkgs/trunk/; revision=18443
2009-11-18 16:39:09 +00:00
Ludovic Courtès 39476057a2 nix-prefetch-git: Support $NIX_PREFETCH_GIT_LEAVE_DOT_GIT.
svn path=/nixpkgs/trunk/; revision=18442
2009-11-18 16:39:06 +00:00
Ludovic Courtès 3124661215 nix-prefetch-git: Remove `--depth' argument since it's risky.
The `--depth' argument asks Git to fetch the last revisions of the given
repo on *any* branch, which is often useless.

Thanks to Lluís Battle for clarifying this.

svn path=/nixpkgs/trunk/; revision=18438
2009-11-18 16:24:31 +00:00
Eelco Dolstra eb9ff07031 * Package naming / versioning guidelines.
svn path=/nixpkgs/trunk/; revision=18433
2009-11-18 15:05:09 +00:00
Ludovic Courtès 15da008651 Slightly generalize `sourceTarball'.
svn path=/nixpkgs/trunk/; revision=18426
2009-11-18 14:12:39 +00:00
Eelco Dolstra bab04acc3a svn path=/nixpkgs/trunk/; revision=18420 2009-11-18 13:58:59 +00:00
Eelco Dolstra 063f44d23c * Move classification.txt to the manual.
svn path=/nixpkgs/trunk/; revision=18419
2009-11-18 13:54:20 +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 2bbaf039da fetchurl: Improve GNU mirror list.
svn path=/nixpkgs/trunk/; revision=18416
2009-11-18 13:18:28 +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 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 b4636d333c svn path=/nixpkgs/trunk/; revision=18406 2009-11-18 11:46:35 +00:00
Eelco Dolstra 4437778e33 svn path=/nixpkgs/trunk/; revision=18405 2009-11-18 11:38:20 +00:00
Eelco Dolstra e4d5933e0a * "with args" considered harmful.
svn path=/nixpkgs/trunk/; revision=18404
2009-11-18 10:52:37 +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