Commit Graph

43 Commits

Author SHA1 Message Date
Lluís Batlle i Rossell
ae3383e001 Making the cross-built packages not depend on the gcc cross compiler directly,
but on a nix-store path only having the cross-built gcc libraries.
This trims down a lot the runtime dependency tree for cross-built packages.

I also remove the glibc dependency on the native bash.

svn path=/nixpkgs/branches/stdenv-updates/; revision=23040
2010-08-08 18:47:48 +00:00
Lluís Batlle i Rossell
952bcf5e58 Setting the patch for the glibc locale archive, which addresses some problems
found before:
- programs linked with this glibc, will be able to find its locale-archive
  at LOCALE_ARCHIVE_2_11
- for any problem we forgot to mention, we also add the LOCALE_ARCHIVE
  variable, checked after LOCALE_ARCHIVE_2_11. I don't know a strong reason to
  have it though.
- setuid programs will expect the locale-archive in
  /var/run/current-system/sw/lib/locale, usual path of the locale-archive in
  nixos, and a path that a sysadmin can set pointing to the locale-archive in
  case of non-nixos. setuid programs don't receive the LOCALE_ARCHIVE
  variables.
- non-nixos systems will have a check for the locale-archive in /usr/lib/locale
- the glibc programs 'locale' and 'localedef' may be able to find the proper
  locale-archive too.

We were also considering getting rid of the locale-archive, and using
locale files directly (like Ubuntu seems to do [1]), maybe using the LOCPATH
variable. But this would not solve the problem of localized setuid programs.

All this came after a 'meeting' with niksnut on irc about this.

[1] http://lwn.net/Articles/244204/

svn path=/nixpkgs/branches/stdenv-updates/; revision=22977
2010-08-05 21:19:32 +00:00
Eelco Dolstra
39a2523e79 * Glibc 2.11.2.
svn path=/nixpkgs/branches/stdenv-updates/; revision=22967
2010-08-05 16:51:16 +00:00
Lluís Batlle i Rossell
5417c720fd Merging from trunk.
I tried to fix some trivial conflicts.
I don't know if I merged well some more difficult conflicts on openssl/darwin_patch
or haskell-platform.


svn path=/nixpkgs/branches/stdenv-updates/; revision=22878
2010-08-02 15:48:19 +00:00
Lluís Batlle i Rossell
878792cade Patch (already upstream on glibc master) for configure in glibc to get the gnu89-inline gcc flag right
svn path=/nixpkgs/branches/stdenv-updates/; revision=22844
2010-08-01 21:03:53 +00:00
Lluís Batlle i Rossell
937578d5ef Some first changes to get some evaluation working on the fuloong2f
svn path=/nixpkgs/branches/stdenv-updates/; revision=22840
2010-08-01 20:57:13 +00:00
Peter Simons
70240d36ac Enable parallel building of gcc, glibc, gmp, mpfr, coreutils, perl, git, and qt4.
svn path=/nixpkgs/branches/stdenv-updates/; revision=22400
2010-06-23 14:35:18 +00:00
Ludovic Courtès
9991b4f4c6 Cross-GNU: Fix Git revision names.
svn path=/nixpkgs/trunk/; revision=22278
2010-06-15 15:01:15 +00:00
Lluís Batlle i Rossell
249f35e20c As Ludovic just told me in irc, I make the glibc builder2.sh from trunk its only builder.sh
svn path=/nixpkgs/branches/stdenv-updates/; revision=21977
2010-05-25 20:46:56 +00:00
Lluís Batlle i Rossell
fa1a414aee Merging from trunk - I had to resolve conflicts on coreutils; I hope I resolved that
well


svn path=/nixpkgs/branches/stdenv-updates/; revision=21975
2010-05-25 20:38:18 +00:00
Lluís Batlle i Rossell
d15811bf78 Trying to fix stdenv updates build
(I broke glibc at the merge resolution I did with it in the last update from
trunk)


svn path=/nixpkgs/branches/stdenv-updates/; revision=21919
2010-05-20 12:33:55 +00:00
Ludovic Courtès
ed19699d1f glibc/hurd: Make Mach & Hurd headers propagated build inputs.
svn path=/nixpkgs/trunk/; revision=21906
2010-05-19 21:32:24 +00:00
Ludovic Courtès
ee7ad85926 glibc/hurd: Add libhurduser and libmachuser to the libc.so linker script.
svn path=/nixpkgs/trunk/; revision=21901
2010-05-19 21:29:48 +00:00
Ludovic Courtès
82db7c3f0e glibc/hurd: Use the date as the version number.
svn path=/nixpkgs/trunk/; revision=21895
2010-05-19 21:28:03 +00:00
Ludovic Courtès
e7521238ae glibc: Add comment about things to be fixed.
svn path=/nixpkgs/trunk/; revision=21891
2010-05-19 21:26:48 +00:00
Ludovic Courtès
0639ff01ea glibc: Fix non-Linux builds.
svn path=/nixpkgs/trunk/; revision=21890
2010-05-19 21:26:36 +00:00
Lluís Batlle i Rossell
6d88da9a23 Merging from trunk (conflict on glibc, I think I resolved it)
svn path=/nixpkgs/branches/stdenv-updates/; revision=21879
2010-05-19 15:26:00 +00:00
Ludovic Courtès
7a34b3a7a9 glibc: Get the Hurd-specific glibc branch.
svn path=/nixpkgs/trunk/; revision=21761
2010-05-12 23:54:20 +00:00
Lluís Batlle i Rossell
146cfcba6c Fixing glibcInfo - it did not build.
svn path=/nixpkgs/trunk/; revision=21755
2010-05-12 19:31:18 +00:00
Ludovic Courtès
7e08174782 glibc 2.11: Cross-build for GNU/Hurd.
svn path=/nixpkgs/trunk/; revision=21752
2010-05-12 15:46:51 +00:00
Lluís Batlle i Rossell
6d62947d71 Making glibc build without any LOCALE_ARCHIVE* environment variable anymore,
setting glibc to look for the locale-archive in the usual nixos
/var/run/current-system/sw/lib/locale path.
This solution may give us less problems.
The last problem involved was the lack of locale-archive in setuid/setgid
programs, due to the risk of letting them take the LOCALE_ARCHIVE variable
contents from the caller.

svn path=/nixpkgs/branches/stdenv-updates/; revision=21249
2010-04-22 21:17:57 +00:00
Lluís Batlle i Rossell
2d261d1c1e Making glibc-2.11.1 search the locale archive not in LOCALE_ARCHIVE, but LOCALE_ARCHIVE_2_11
Then, next updates of glibc versions should involve also a change in the LOCALE_ARCHIVE_X_XX variable name, and this way nixos would deal properly with locales and old-glibc packages.

I welcome other solutions. This looks simple enough, so that's why I go on it.


svn path=/nixpkgs/branches/stdenv-updates/; revision=20944
2010-04-04 18:05:58 +00:00
Lluís Batlle i Rossell
8cf1f739e2 Fixing the cross-glibc soft float case.
svn path=/nixpkgs/trunk/; revision=20276
2010-02-27 20:02:21 +00:00
Lluís Batlle i Rossell
b1b7266aa3 After some testing with an ultrasparc cross-compiler:
Updating the cross-build expressions, adding some flexibility.
Updated the linux headers used cross building, as 2.6.28 had bugs on endianness in
sparc64.
There were, as usual some bugs in gcc. Maybe not many make a cross compiler to
ultrasparc.

For the record, I could build an ultrasparc kernel with this base nix:
import /etc/nixos/nixpkgs/default.nix   # The root nixpkgs default.nix
{
    crossSystem = {
        config = "sparc64-unknown-linux";
        bigEndian = true;
        arch = "sparc64";
        float = "soft";
        withTLS = true;
        cpu = "ultrasparc";
    };

    config = pkgs: {
      packageOverrides = pkgs : {
        platform = {
            name = "sparc64";
            kernelHeadersBaseConfig = "sparc64_defconfig";
            kernelBaseConfig = "sparc64_defconfig";
            kernelArch = "sparc";
            kernelAutoModules = false;
            kernelTarget = "zImage";
            uboot = null;
        };
      };
    };
}

Although it did not boot directly in qemu-system-sparc64:
[sparc64] Kernel already loaded
Unhandled Exception 0x0000000000000020
PC = 0x0000000000404000 NPC = 0x0000000000404004

svn path=/nixpkgs/trunk/; revision=20269
2010-02-27 00:52:48 +00:00
Eelco Dolstra
06f07381c4 * Fix some evaluation errors.
* Removed glibc 2.10.

svn path=/nixpkgs/trunk/; revision=20130
2010-02-19 15:40:37 +00:00
Eelco Dolstra
822db4b9a9 * Glibc updated to 2.11.1. Also cleaned up the expression a bit
(don't use args.<attr> for instance).

svn path=/nixpkgs/branches/stdenv-updates/; revision=19745
2010-02-01 09:32:40 +00:00
Lluís Batlle i Rossell
a2a51f2ae3 Trying to make glibc211 build not only with the bootstrap-files compiler.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19581
2010-01-20 19:13:18 +00:00
Eelco Dolstra
f93620419f * The Linux 2.6.32 headers contain a "scsi" subdirectory, which
clashes with Glibc's "scsi" subdirectory.

svn path=/nixpkgs/branches/stdenv-updates/; revision=19553
2010-01-19 18:28:48 +00:00
Eelco Dolstra
a9634c0c5a * The postInstall attribute in default.nix did nothing, because
builder.sh already sets postInstall.  As a result Glibc had a
  retained dependency on bootstrap-tools.  Added the "rm" to
  builder.sh.
* localesbuilder.sh -> locales-builder.sh.

svn path=/nixpkgs/branches/stdenv-updates/; revision=19516
2010-01-18 10:50:32 +00:00
Lluís Batlle i Rossell
72fe687cd0 Attempting to fix ntp's MOD_NANO problems.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19021
2009-12-17 22:09:28 +00:00
Lluís Batlle i Rossell
2a0344bb39 I forgot about updating the glibc locales expressions for glibc 2.10 and 2.11.
I also set the 'glibcLocales' top-level attribute point to 2.11 instead of
2.10, to match that of the 'glibc' top-level attribute.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18746
2009-12-01 21:44:41 +00:00
Lluís Batlle i Rossell
8910d4e646 Adding ports to glibc-2.11.
Making glibc-2.11 the default in cross-compiling and also for the native armv5tel.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18744
2009-12-01 21:33:11 +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
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
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
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