Commit Graph

114 Commits

Author SHA1 Message Date
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
Eelco Dolstra
1080560215 * Remove old kernel headers, use 2.6.18.1.
svn path=/nixpkgs/trunk/; revision=6832
2006-10-24 22:26:09 +00:00
Eelco Dolstra
ed5f6e55e8 * Support x86_64.
svn path=/nixpkgs/trunk/; revision=6805
2006-10-23 17:42:17 +00:00
Eelco Dolstra
84dd812f33 Finally, the new stdenv-linux.
* The statically linked bootstrap tools are now automatically
  reproducable, just do:

  $ nix-build ./make-bootstrap-tools.nix

  The resulting binaries in result/in-nixpkgs go to
  stdenv/linux/bootstrap/<platform>/, and the tarballs in
  result/on-server go to
  https://svn.cs.uu.nl:12443/repos/trace/tarballs/trunk/stdenv-linux/<platform>/<revision>/.
  These are checked out on nix.cs.uu.nl under http://.../dist/tarballs.

* The statically linked libraries all use dietlibc now (except
  patchelf and glibc), so they are much smaller.  This is especially
  nice for the tools in the Nixpkgs tree, since it makes Nixpkgs
  tarballs smaller.

* Use Binutils 2.17 and GCC 4.1.1 for the bootstrap.

* The stdenv is now based on Glibc 2.5.  I hope it works ;-)

svn path=/nixpkgs/trunk/; revision=6803
2006-10-23 14:27:34 +00:00
Eelco Dolstra
1442e8ec22 * Copy a bunch of files to nix.cs.uu.nl.
svn path=/nixpkgs/trunk/; revision=6711
2006-10-12 13:50:54 +00:00
Eelco Dolstra
b76219e55b * Doh :-(
svn path=/nixpkgs/trunk/; revision=6316
2006-08-29 18:08:26 +00:00
Eelco Dolstra
82249837c6 * Use the very latest kernel headers, while we're at it.
svn path=/nixpkgs/trunk/; revision=6313
2006-08-29 18:07:03 +00:00
Armijn Hemel
a6409626a4 fix download location
svn path=/nixpkgs/trunk/; revision=6312
2006-08-29 18:01:48 +00:00
Armijn Hemel
f2b3ae3213 switch to 2.6.17.6 before the buildfarm starts to build ;)
svn path=/nixpkgs/trunk/; revision=6311
2006-08-29 17:59:48 +00:00
Armijn Hemel
58f89a8877 change kernel-headers. Now we can build this on powerpc-linux too...
svn path=/nixpkgs/trunk/; revision=6310
2006-08-29 17:48:04 +00:00
Armijn Hemel
7930f906dc allow for variability, don't change the default
svn path=/nixpkgs/trunk/; revision=5999
2006-07-30 22:47:39 +00:00
Armijn Hemel
e2d170f18e also rename it :S
svn path=/nixpkgs/trunk/; revision=5725
2006-07-16 23:16:00 +00:00
Armijn Hemel
33d2d2515d add headers for 2.6.17.6, not yet default
svn path=/nixpkgs/trunk/; revision=5724
2006-07-16 23:15:47 +00:00
Eelco Dolstra
3389f4bc36 * Copy lots of files to nix.cs.uu.nl.
svn path=/nixpkgs/trunk/; revision=4623
2006-01-30 16:04:03 +00:00
Eelco Dolstra
94fe7734fa * Glibc 2.3.6.
* GCC 3.4.5.
* Updated several other stdenv packages.
* Modified the builders of several packages to use the generic
  builder.

svn path=/nixpkgs/trunk/; revision=4336
2005-12-06 00:12:45 +00:00
Eelco Dolstra
82e678362f * "." -> "source".
svn path=/nixpkgs/trunk/; revision=4335
2005-12-05 14:11:09 +00:00
Eelco Dolstra
552de99c19 * Update a bunch of base packages.
svn path=/nixpkgs/trunk/; revision=4065
2005-10-11 14:29:30 +00:00
Eelco Dolstra
a450978f26 * Glibc updated to 2.3.5.
* GCC 3.4.4 and 3.3.6.
* Other stdenv packages updated.

svn path=/nixpkgs/trunk/; revision=3188
2005-06-17 10:30:13 +00:00
Eelco Dolstra
f6e91bc9c9 * Merge r2396.
svn path=/nixpkgs/trunk/; revision=2397
2005-03-14 09:22:26 +00:00
Eelco Dolstra
25ab1079f9 * Use Linux 2.6.10 headers. 2.6.9 gives parse errors in some
applications (e.g.,
  `...glibc-2.3.4/include/linux/byteorder/little_endian.h:43: error:
  parse error before "__cpu_to_le64p"').

svn path=/nixpkgs/trunk/; revision=2289
2005-02-23 14:13:27 +00:00
Armijn Hemel
4b16211201 use new kernel headers
svn path=/nixpkgs/branches/nixos-pkgs/; revision=2053
2005-01-18 13:16:42 +00:00
Armijn Hemel
1182b31a47 use ftp.nluug.nl for downloading kernel instead of ftp.de.kernel.org, it's, for some reason, not always possible to download from the latter
svn path=/nixpkgs/branches/nixos-pkgs/; revision=1835
2004-12-06 17:15:53 +00:00
Armijn Hemel
f063d8c4db - add mktemp
- disable tiger, strategoxt, they don't work and give errors
- ftp.nl.kernel.org seems to have some problems, replaced with ftp.de.kernel.org
should be put back eventually

svn path=/nixpkgs/trunk/; revision=1215
2004-08-03 15:41:08 +00:00
Eelco Dolstra
12ae5363ea * Remove trivial builders.
* Make builders unexecutable by removing the hash-bang line and
  execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
  `mkDerivation'.  These transformations were all done automatically,
  so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.

svn path=/nixpkgs/trunk/; revision=874
2004-03-29 17:23:01 +00:00
Eelco Dolstra
5941f66f0e * The stdenv setup script now defines a generic builder that allows
builders for typical Autoconf-style to be much shorten, e.g.,

    . $stdenv/setup
    genericBuild

  The generic builder does lots of stuff automatically:

  - Unpacks source archives specified by $src or $srcs (it knows about
    gzip, bzip2, tar, zip, and unpacked source trees).
  - Determines the source tree.
  - Applies patches specified by $patches.
  - Fixes libtool not to search for libraries in /lib etc.
  - Runs `configure'.
  - Runs `make'.
  - Runs `make install'.
  - Strips debug information from static libraries.
  - Writes nested log information (in the format accepted by
    `log2xml').

  There are also lots of hooks and variables to customise the generic
  builder.  See `stdenv/generic/docs.txt'.

* Adapted the base packages (i.e., the ones used by stdenv) to use the
  generic builder.

* We now use `curl' instead of `wget' to download files in `fetchurl'.

* Neither `curl' nor `wget' are part of stdenv.  We shouldn't
  encourage people to download stuff in builders (impure!).

* Updated some packages.

* `buildinputs' is now `buildInputs' (but the old name also works).

* `findInputs' in the setup script now prevents inputs from being
  processed multiple times (which could happen, e.g., if an input was
  a propagated input of several other inputs; this caused the size
  variables like $PATH to blow up exponentially in the worst case).

* Patched GNU Make to write nested log information in the format
  accepted by `log2xml'.  Also, prior to writing the build command,
  Make now writes a line `building X' to indicate what is being
  built.  This is unfortunately often obscured by the gigantic tool
  invocations in many Makefiles.  The actual build commands are marked
  `unimportant' so that they don't clutter pages generated by
  `log2html'.


svn path=/nixpkgs/trunk/; revision=845
2004-03-19 16:53:04 +00:00
Eelco Dolstra
1b39a96d37 * Create a dummy linux/autoconf.h, which is needed by linux/config.h.
* Updated to 2.4.25.

svn path=/nixpkgs/trunk/; revision=819
2004-03-09 10:28:31 +00:00
Eelco Dolstra
026ff9466a * Rename .fix -> .nix.
svn path=/nixpkgs/trunk/; revision=511
2003-11-18 12:12:56 +00:00
Eelco Dolstra
48c3faca51 * Renamed pkgs-ng to pkgs.
svn path=/nixpkgs/trunk/; revision=502
2003-11-14 09:59:13 +00:00