Commit graph

8610 commits

Author SHA1 Message Date
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 cfbe19781d Fix `kernelHeaders2628' compilation with glibc 2.11.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18657
2009-11-26 21:04:47 +00:00
Ludovic Courtès a70f26e178 Fix `kernelHeaders2618' compilation with glibc 2.11.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18656
2009-11-26 20:55:52 +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
Lluís Batlle i Rossell 1ec11edce5 I should learn to concatenate lists.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18579
2009-11-23 23:40:24 +00:00
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 eadcd4462d Making, in cross-builds, every buildInput a propagatedBuildInput. We need
this because 'ld' wants to know the path of every library involved in a dynamic
linking. I imagine that ld does not need that in native builds because it can
call the loader for it to resolve the library rpaths, but this is not the case
for cross-building.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18577
2009-11-23 23:16:40 +00:00
Lluís Batlle i Rossell d8aa5b5db1 Fixing stdenv's chain of propagated-build-inputs (2nd level propagated build
inputs did not get in)
Updating the xorg builder script to support cross building (in fact, support
for propagating the required build inputs).


svn path=/nixpkgs/branches/stdenv-updates/; revision=18569
2009-11-23 19:45:18 +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
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
Lluís Batlle i Rossell 9dcff09187 Fixing the coreutils reference in the gcc-wrapper - they did not get properly
in the path still.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18531
2009-11-22 18:39:27 +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
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 3548887c27 GNU Coreutils: Comment on test failures.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18512
2009-11-22 00:22:42 +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
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
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 d0d2c6e3fe Overriding some xorg expressions for them to cross-build. Now SDL cross-builds clean.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18501
2009-11-21 14:49:25 +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 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