Commit graph

77 commits

Author SHA1 Message Date
Eelco Dolstra c556a6ea46 * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless
function, so obsolete it.

svn path=/nixpkgs/branches/stdenv-updates/; revision=31644
2012-01-18 20:16:00 +00:00
Eelco Dolstra cfde88976b * Streamline the stdenv bootstrap and resulting closure by removing
some redundant builds (e.g., GMP was built three times).
* Updated GMP to 5.0.2.
* Updated PPL to 0.11.2.
* Remove ad hoc flags to build GCC's dependencies statically.
  Instead, use the ‘makeStaticLibraries’ stdenv adapter.
* Build GMP with C++ support by default.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30891
2011-12-14 14:31:56 +00:00
Eelco Dolstra f5fd808b51 * ‘linuxHeaders’ shouldn't use the kernel sources from
‘linuxPackages.kernel’, because then every minor kernel upgrade will
  cause a rebuild of everything.  So fix it at 2.6.35.

svn path=/nixpkgs/branches/stdenv-updates/; revision=30857
2011-12-12 18:51:11 +00:00
Shea Levy d3cf97b56e Cleaner decoupling of glibc and linuxPackages while keeping kernelHeaders a linuxPackage and having a single default.nix for kernelHeaders
svn path=/nixpkgs/branches/stdenv-updates/; revision=29554
2011-10-01 22:25:28 +00:00
Shea Levy 1a7554562f Enable setting the headersVersion so the default kernel can be updated without rebuilding stdenv
svn path=/nixpkgs/branches/stdenv-updates/; revision=29548
2011-09-30 15:39:47 +00:00
Shea Levy c10d43d3bd Enable setting the headersSrc so the default kernel can be updated without rebuilding stdenv
svn path=/nixpkgs/branches/stdenv-updates/; revision=29547
2011-09-30 15:37:35 +00:00
Shea Levy dcef7ad3bf Have the kernel headers be a linuxPackage, use the current linuxPackage's headers
svn path=/nixpkgs/branches/stdenv-updates/; revision=29546
2011-09-30 15:34:37 +00:00
Peter Simons 9076331df3 pkgs/os-specific/linux/kernel-headers/2.6.28.nix: fix build errors with GNU Make 3.82
Makefile:1607: *** mixed implicit and normal rules.  Stop.

This patch is probably required in other kernel versions, too. I don't
know for sure, though.

svn path=/nixpkgs/trunk/; revision=25442
2011-01-06 11:33:20 +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 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
Lluís Batlle i Rossell ad1c77118f Updating the linux headers for 2.6.32 to a newer 2.6.32
svn path=/nixpkgs/trunk/; revision=22811
2010-07-29 14:38:52 +00:00
Lluís Batlle i Rossell 5b7f1ef09a Making busybox cross build with kernel 2.4 for mipsel (I had to disable 'ionice', which
requires some headers >= 2.6.12).

I also add the kernel 2.4 headers expression I forgot in my last commit.

svn path=/nixpkgs/trunk/; revision=20540
2010-03-10 21:32:35 +00:00
Lluís Batlle i Rossell 305a7a2ddf More testing allows fixing more errors from the recent commits.
svn path=/nixpkgs/trunk/; revision=20279
2010-02-27 21:21:20 +00:00
Lluís Batlle i Rossell 4677180b0d Barf. I have to test the expressions before commiting.
svn path=/nixpkgs/trunk/; revision=20278
2010-02-27 20:37:58 +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
Lluís Batlle i Rossell d8900100e5 Allowing linux-headers to be built for cross-compilations on non-linux platforms.
Updating the list of hydra cross-build jobs to something more ambitious.


svn path=/nixpkgs/branches/stdenv-updates/; revision=19628
2010-01-23 09:41:50 +00:00
Eelco Dolstra 93b250b960 * Use the Linux 2.6.32 kernel headers.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19552
2010-01-19 18:02:37 +00:00
Lluís Batlle i Rossell 5bae851b1e Merging from trunk. I had to give away some structure to build the native
sheevaplug kernel, so the kernel does not build in the sheevaplug right now.
I will try to fix that in next commits.


svn path=/nixpkgs/branches/stdenv-updates/; revision=19045
2009-12-19 11:14:16 +00:00
Eelco Dolstra fda6775efa * Get rid of some obsolete Linux kernel headers.
svn path=/nixpkgs/branches/kernel-config/; revision=18946
2009-12-14 18:36:43 +00:00
Lluís Batlle i Rossell 0e691fca14 Fixing the kernel headers patchPhase.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18697
2009-11-29 18:21:20 +00:00
Ludovic Courtès 83f8715475 linux-headers-2.6.28: Verbosely apply the patch against `unifdef.c'.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18692
2009-11-29 14:59:41 +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
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 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
Lluís Batlle i Rossell d4aedd92cc I revert my changes to get nixpkgs working on armv5tel-linux.
I thought I didn't change stdenv, but I did. This will go soon into the stdenv
branch then.
Reverse-merging r16467 through r16465.


svn path=/nixpkgs/trunk/; revision=16468
2009-07-26 22:47:33 +00:00
Lluís Batlle i Rossell 532fc4a05d Adding armv5tel to the 'if' checks in stdenv, gcc-wrapper and kernel headers
svn path=/nixpkgs/trunk/; revision=16466
2009-07-26 21:48:10 +00:00
Eelco Dolstra 3593b97d63 * Sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=14557
2009-03-16 12:45:27 +00:00
Eelco Dolstra 539239d66d * KVM 84. CIFS/Samba performance still broken.
* Kernel headers: KVM expects a include/linux/asm-x86 symlink, so
  provide it.

svn path=/nixpkgs/trunk/; revision=14113
2009-02-18 14:53:14 +00:00
Eelco Dolstra 2607a78df9 * Use the 2.6.28.5 kernel headers. In particular this fixes this bug:
http://bugs.gentoo.org/show_bug.cgi?format=multiple&id=252721

  E.g. the hal compile broke because of this.

svn path=/nixpkgs/branches/stdenv-updates/; revision=14101
2009-02-17 15:32:53 +00:00
Eelco Dolstra c1579d2e78 * stdenv branch: synced with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=13785
2009-01-16 10:59:27 +00:00
Eelco Dolstra 1a3a6835c2 * KVM 82.
* Kernel headers for Linux 2.6.28.

svn path=/nixpkgs/trunk/; revision=13755
2009-01-13 12:40:58 +00:00
Eelco Dolstra 821de7706a * Glibc 2.9. Got rid of 2.8 because we never used it.
* Kernel headers 2.6.27.  However, they don't work yet because they
  have a Perl dependency, which is annoying during the bootstrap.

svn path=/nixpkgs/branches/stdenv-updates/; revision=13605
2008-12-10 11:06:23 +00:00
Pjotr Prins 73d2e4f49d - Some Ruby interpreter bumped version
- Kernel headers 2.6.18 added (XEN virtual images)
- unifdef package added for kernel headers 2.6.18
- Python Zope and 4suite added
- Trying bioconductor packages with R-lang (still failing)
- Bumped gmp version
- Added rq cluster runner - still requires extra gems (installs, but does not run)


svn path=/nixpkgs/trunk/; revision=12766
2008-08-29 13:53:28 +00:00
Eelco Dolstra d4f7a93f31 * KVM 72, plus stable 2.6.26 kernel headers (needed for KVM).
svn path=/nixpkgs/trunk/; revision=12541
2008-08-08 11:49:06 +00:00
Eelco Dolstra c955f608a2 * KVM 69. Seems to improve performance quite a bit. In particular it
implements the host support for virtio devices in Linux >= 2.6.25
  guests.  Network performance shows a huge improvement with
  virtio_net, which should be good for the build farm (which uses
  Samba/CIFS to mount the file system of the host).
* Kernel headers for 2.6.26-rc5 added to build KVM 69.  Also added the
  2.6.25 headers, which turned out to be too old for KVM 69.

svn path=/nixpkgs/trunk/; revision=11985
2008-06-05 10:59:41 +00:00
Eelco Dolstra 2e92cabb37 * substitute: support patterns starting with a dash.
* Updated the kernel headers.
* ghc: setup hooks are now generated using substituteAll.

svn path=/nixpkgs/branches/stdenv-updates-merge/; revision=10838
2008-02-22 18:19:04 +00:00
Yury G. Kudryashov e1d5804f30 Installing kernel headers using make headers_install
svn path=/nixpkgs/branches/stdenv-updates/; revision=9815
2007-12-01 20:04:00 +00:00
Eelco Dolstra b37f504680 * Updated various stdenv packages (grep, gawk, tar, cpio, findutils,
pcre).

svn path=/nixpkgs/branches/stdenv-updates/; revision=9758
2007-11-19 17:39:19 +00:00
Eelco Dolstra 58873a9e3d * Latest KVM.
svn path=/nixpkgs/trunk/; revision=9566
2007-10-31 16:23:53 +00:00
Eelco Dolstra d39fd2a578 * Rewrite all the kernel.org URLs to mirror://kernel/.
svn path=/nixpkgs/trunk/; revision=9202
2007-08-27 13:59:40 +00:00
Eelco Dolstra 5990a432d4 * KVM-17.
svn path=/nixpkgs/trunk/; revision=8839
2007-06-07 13:46:50 +00:00
Wouter den Breejen 5a7edd6a37 Added missing new kernel header version
svn path=/nixpkgs/trunk/; revision=8794
2007-05-28 15:55:20 +00:00
Eelco Dolstra 8d3160f8b0 * Use the 2.6.20 kernel headers.
svn path=/nixpkgs/trunk/; revision=8769
2007-05-24 16:16:43 +00:00
Eelco Dolstra 9fdea6a917 * KVM (Kernel-based Virtual Machine). Requires KVM support in the
kernel for performance (and VT/AMD-V in the CPU), but also provides
  a working QEMU for non-KVM-enabled systems.

svn path=/nixpkgs/trunk/; revision=7889
2007-02-12 10:23:43 +00:00
Eelco Dolstra 31f2316454 * "ppc" -> "powerpc", but do copy the "ppc" directory as well.
svn path=/nixpkgs/trunk/; revision=6844
2006-10-25 10:55:36 +00:00
Eelco Dolstra 26a11fbf54 * Fix a typo, and put the platform-specific header directory in the
Nix expression rather than the builder.

svn path=/nixpkgs/trunk/; revision=6843
2006-10-25 10:14:27 +00:00