Commit Graph

1500 Commits

Author SHA1 Message Date
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
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
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
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
e5e6e853de glibc 2.11: Link against `libssp'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18507
2009-11-21 15:40:52 +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
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
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
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
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
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
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
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
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
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
5638a33600 Update WebKit
svn path=/nixpkgs/trunk/; revision=18172
2009-11-05 23:11:34 +00:00
Michael Raskin
661f082d47 Update directfb
svn path=/nixpkgs/trunk/; revision=18158
2009-11-05 21:10:03 +00:00
Ludovic Courtès
05437f62c9 Add hwloc 0.9.2, renamed from libtopology.
svn path=/nixpkgs/trunk/; revision=18152
2009-11-05 18:46:46 +00:00
Eelco Dolstra
f08bc4c561 * Apply the Redland fix to version 1.0.8 as well (since that's what
KDE 4.3 uses).

svn path=/nixpkgs/trunk/; revision=18127
2009-11-05 08:19:35 +00:00
Eelco Dolstra
b039fddfbc * Merged the xorg-7.5 branch, which provides X.org 7.5 and various
other X-related updates.

svn path=/nixpkgs/trunk/; revision=18124
2009-11-04 22:42:44 +00:00
Lluís Batlle i Rossell
2e8ae96930 Updating vwm and its libraries.
svn path=/nixpkgs/trunk/; revision=18123
2009-11-04 22:38:26 +00:00
Eelco Dolstra
4f839e9a54 * Sync with the trunk.
svn path=/nixpkgs/branches/xorg-7.5/; revision=18122
2009-11-04 22:37:24 +00:00
Peter Simons
4c0ff006f3 pkgs/development/libraries/redland/1.0.9.nix: fix build with sqlite 3.6.19
Redland's use of the pre-processor symbol SQLITE_API collides with a
symbol of the same name in sqlite 3.6.19. Patching the source code to
use REDLAND_SQLITE_API instead works around the problem.

svn path=/nixpkgs/trunk/; revision=18100
2009-11-04 15:14:12 +00:00
Peter Simons
dd1a6f8ab1 pkgs/development/libraries/sqlite/default.nix: enable amalgamation build
Sqlite has a build mode called "amalgamation" that gathers all 90+ source code
files into a single sqlite3.c file before compiling the library. Building
sqlite this way reportedly gives a 5-10% performance gain because the compiler
can perform more sophisticated optimizations.

svn path=/nixpkgs/trunk/; revision=18092
2009-11-04 13:07:27 +00:00
Peter Simons
600d6a9bac pkgs/development/libraries/sqlite/default.nix: updated to version 3.6.19
The new version requires Tcl at build time in order to construct sqlite3.h,
even when the --without-tcl option is passed to configure. That feels odd
because the sqlite web site does advertise "no dependencies", but then it's
probably not a big deal either. The build of the Tcl plugin for sqlite is still
disabled, so there is no run-time dependency.

svn path=/nixpkgs/trunk/; revision=18091
2009-11-04 13:07:21 +00:00
Eelco Dolstra
56ea7df62d * Several buildInputs of Gnome-related packages should be
propagatedBuildInputs, because those inputs are required by the *.pc
  or *.la files of the package:

  - If a *.pc file references a non-propagated input, then Gnome
    packages have the bad tendency to silently ignore this problem in
    configure scripts - the failure of a command like `pkg-config
    --cflags foo' will be ignored if a dependency of foo.pc is
    missing, so no flags will be added, and the build will fail later
    on a missing header or library.

  - If a *.la file references a non-propagated input, the build will
    also fail, because Libtool will add library dependencies that it
    cannot find.  (Arguably *.la files should never reference packages
    that aren't in the corresponding *.pc file, but they do it
    anyway).

  By setting the propagatedBuildInputs properly, it should be possible
  to get rid of all the NIX_CFLAGS_COMPILE / NIX_LDFLAGS hacks in the
  Gnome expressions.

svn path=/nixpkgs/branches/xorg-7.5/; revision=18084
2009-11-03 23:26:14 +00:00
Eelco Dolstra
8fd610bff9 * Fixed Qt 3.
svn path=/nixpkgs/branches/xorg-7.5/; revision=18083
2009-11-03 21:55:53 +00:00
Eelco Dolstra
eadf38f8de svn path=/nixpkgs/branches/xorg-7.5/; revision=18082 2009-11-03 21:49:59 +00:00
Eelco Dolstra
6fbcf62941 * Fix libgsf.
svn path=/nixpkgs/branches/xorg-7.5/; revision=18081
2009-11-03 21:48:09 +00:00
Sander van der Burg
ee18789ca4 Added Jetty-util library
svn path=/nixpkgs/trunk/; revision=18072
2009-11-02 16:19:37 +00:00
Sander van der Burg
248fcdc3bb Downgraded smack to 3.0.4. It seems that 3.1.0 contains some annoying bugs
svn path=/nixpkgs/trunk/; revision=18071
2009-11-02 15:12:17 +00:00
Eelco Dolstra
f01feca4ef * Updated libxml2 / libxslt.
svn path=/nixpkgs/branches/xorg-7.5/; revision=18053
2009-10-30 12:42:48 +00:00
Eelco Dolstra
6f04e6a5d6 * Merge the temporary copy of dbus.
svn path=/nixpkgs/branches/xorg-7.5/; revision=18052
2009-10-30 12:36:32 +00:00
Eelco Dolstra
78648561c5 * Updated CUPS to 1.4.1.
svn path=/nixpkgs/branches/xorg-7.5/; revision=18048
2009-10-30 09:46:51 +00:00