Updating from trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=20491
This commit is contained in:
commit
1bb2ab1904
@ -13,7 +13,7 @@ stdenv.mkDerivation {
|
|||||||
sha256 = "1sxs1nwb2zh2j8dbwm65r04byn66yn79kpzhilhswly6r8d7yivg";
|
sha256 = "1sxs1nwb2zh2j8dbwm65r04byn66yn79kpzhilhswly6r8d7yivg";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildNativeInputs = [
|
||||||
glibc
|
glibc
|
||||||
glib
|
glib
|
||||||
stdenv.gcc.gcc
|
stdenv.gcc.gcc
|
||||||
@ -51,7 +51,7 @@ stdenv.mkDerivation {
|
|||||||
chmod +x $out/bin/googleearth
|
chmod +x $out/bin/googleearth
|
||||||
|
|
||||||
fullPath=
|
fullPath=
|
||||||
for i in $buildInputs; do
|
for i in $buildNativeInputs; do
|
||||||
fullPath=$fullPath:$i/lib
|
fullPath=$fullPath:$i/lib
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
{stdenv, fetchurl, SDL, zlib, which}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "qemu-0.12.2";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = http://download.savannah.gnu.org/releases/qemu/qemu-0.12.2.tar.gz;
|
|
||||||
sha256 = "0hv8fs8z14miryqm81vhlwwp4gmffw11lka7945rxn6vqzpc5kmc";
|
|
||||||
};
|
|
||||||
|
|
||||||
patchFlags = "-p2";
|
|
||||||
|
|
||||||
buildInputs = [SDL zlib which];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "QEmu processor emulator";
|
|
||||||
};
|
|
||||||
}
|
|
18
pkgs/applications/virtualization/qemu/0.12.3.nix
Normal file
18
pkgs/applications/virtualization/qemu/0.12.3.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{stdenv, fetchurl, SDL, zlib, which}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "qemu-0.12.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.savannah.gnu.org/releases/qemu/${name}.tar.gz";
|
||||||
|
sha256 = "0jyyz9vm8qrjb6nzfgdwmj9y990fnk2bl9ja0sr1i555n27nzqiw";
|
||||||
|
};
|
||||||
|
|
||||||
|
patchFlags = "-p2";
|
||||||
|
|
||||||
|
buildInputs = [SDL zlib which];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "QEmu processor emulator";
|
||||||
|
};
|
||||||
|
}
|
12
pkgs/development/libraries/haskell/csv/default.nix
Normal file
12
pkgs/development/libraries/haskell/csv/default.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{cabal, parsec}:
|
||||||
|
|
||||||
|
cabal.mkDerivation (self : {
|
||||||
|
pname = "csv";
|
||||||
|
version = "0.1.1";
|
||||||
|
sha256 = "046e989f4bb76c9b15c33c3ec63f57a689317de8170449c9cf9e152393b7f1a0";
|
||||||
|
propagatedBuildInputs = [parsec];
|
||||||
|
meta = {
|
||||||
|
description = "CSV loader and dumper";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
cabal.mkDerivation (self : {
|
cabal.mkDerivation (self : {
|
||||||
pname = "uulib";
|
pname = "uulib";
|
||||||
version = "0.9.10";
|
version = "0.9.11";
|
||||||
sha256 = "1df7336ed76c278323c2e25ab53ec1afc9eba6a7c918c826e9f783e84479e08f";
|
sha256 = "f364ec14f249c9fc28ab341050c7e1cc1bde865fb787e4456c07c1df450815c8";
|
||||||
meta = {
|
meta = {
|
||||||
description = "Haskell Utecht Tools Library";
|
description = "Haskell Utecht Tools Library";
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "libusb-0.1.12";
|
name = "libusb-0.1.12";
|
||||||
|
|
||||||
|
# On non-linux, we get warnings compiling, and we don't want the
|
||||||
|
# build to break.
|
||||||
|
patchPhase = ''
|
||||||
|
sed -i s/-Werror// Makefile.in
|
||||||
|
'';
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = mirror://sourceforge/libusb/libusb-0.1.12.tar.gz;
|
url = mirror://sourceforge/libusb/libusb-0.1.12.tar.gz;
|
||||||
md5 = "caf182cbc7565dac0fd72155919672e6";
|
md5 = "caf182cbc7565dac0fd72155919672e6";
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
{ stdenv, fetchurl, perl }:
|
{ stdenv, fetchurl, perl }:
|
||||||
|
|
||||||
|
let
|
||||||
|
opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ]
|
||||||
|
(throw "openssl needs its platform name cross building" null)
|
||||||
|
stdenv.cross;
|
||||||
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "openssl-0.9.8l";
|
name = "openssl-0.9.8l";
|
||||||
|
|
||||||
@ -10,12 +16,24 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = [ ./darwin-arch.patch ];
|
patches = [ ./darwin-arch.patch ];
|
||||||
|
|
||||||
buildInputs = [ perl ];
|
buildNativeInputs = [ perl ];
|
||||||
|
|
||||||
configureScript = "./config";
|
configureScript = "./config";
|
||||||
|
|
||||||
configureFlags = "shared";
|
configureFlags = "shared";
|
||||||
|
|
||||||
|
crossAttrs = {
|
||||||
|
configurePhase = ''
|
||||||
|
export cross=$crossSystem-
|
||||||
|
./Configure --prefix=$out ${opensslCrossSystem} shared
|
||||||
|
'';
|
||||||
|
buildPhase = ''
|
||||||
|
make CC=$crossConfig-gcc \
|
||||||
|
AR="$crossConfig-ar r" \
|
||||||
|
RANLIB=$crossConfig-ranlib
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.openssl.org/;
|
homepage = http://www.openssl.org/;
|
||||||
description = "A cryptographic library that implements the SSL and TLS protocols";
|
description = "A cryptographic library that implements the SSL and TLS protocols";
|
||||||
|
@ -11,13 +11,12 @@ assert pythonBindings -> python != null;
|
|||||||
let
|
let
|
||||||
optional = stdenv.lib.optional;
|
optional = stdenv.lib.optional;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation
|
stdenv.mkDerivation rec {
|
||||||
{
|
name = "radare-1.5";
|
||||||
name = "radare-1.4.2";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://radare.org/get/radare-1.4.2.tar.gz;
|
url = "http://radare.org/get/${name}.tar.gz";
|
||||||
sha256 = "09pai3k4x3kzq7zjfd8425jjb16fpximrhp5wyy6pwgdc82q30sd";
|
sha256 = "1r0c9cc7z9likma8zicp2pbv2y85vjjmnk0k45wdhbvhgqh6il1h";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -32,6 +31,6 @@ stdenv.mkDerivation
|
|||||||
homepage = http://radare.org/;
|
homepage = http://radare.org/;
|
||||||
license = "GPLv2+";
|
license = "GPLv2+";
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
platforms = with stdenv.lib.platforms; all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
cabal.mkDerivation (self : {
|
cabal.mkDerivation (self : {
|
||||||
pname = "uuagc";
|
pname = "uuagc";
|
||||||
version = "0.9.10";
|
version = "0.9.14";
|
||||||
name = self.fname;
|
name = self.fname;
|
||||||
sha256 = "cdbe78b6138a67bbc612f0f667f70ba483ebbdaa4d0c87c5508cfb5e68a49dcb";
|
sha256 = "076250219874b03fc04473a71f6fc6e1c2324f3a65e98a6f7afcaa42de4dea0c";
|
||||||
extraBuildInputs = [uulib];
|
extraBuildInputs = [uulib];
|
||||||
meta = {
|
meta = {
|
||||||
description = "Attribute Grammar System of Universiteit Utrecht";
|
description = "Attribute Grammar System of Universiteit Utrecht";
|
||||||
|
@ -31,7 +31,7 @@ rec {
|
|||||||
overrideDerivation = drv: f:
|
overrideDerivation = drv: f:
|
||||||
let
|
let
|
||||||
# Filter out special attributes.
|
# Filter out special attributes.
|
||||||
attrs = removeAttrs drv ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv"];
|
attrs = removeAttrs drv ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type"];
|
||||||
newDrv = derivation (attrs // (f drv));
|
newDrv = derivation (attrs // (f drv));
|
||||||
in newDrv //
|
in newDrv //
|
||||||
{ meta = if drv ? meta then drv.meta else {};
|
{ meta = if drv ? meta then drv.meta else {};
|
||||||
|
@ -46,19 +46,26 @@ rec {
|
|||||||
doPostInstall = fullDepEntry(''
|
doPostInstall = fullDepEntry(''
|
||||||
mv $out/bin $out/libexec
|
mv $out/bin $out/libexec
|
||||||
ensureDir $out/bin
|
ensureDir $out/bin
|
||||||
for i in $out/libexec/*/*; do
|
for i in "$out/libexec/"*"/"*; do
|
||||||
echo -ne "#! /bin/sh\\n$i \"\$@\"" >$out/bin/$(basename $i)
|
echo -ne "#! /bin/sh\\n$i \"\$@\"" >$out/bin/$(basename $i)
|
||||||
chmod a+x $out/bin/$(basename $i)
|
chmod a+x $out/bin/$(basename $i)
|
||||||
done
|
done
|
||||||
[ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config
|
[ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config
|
||||||
ln -s $out/*texmf* $out/share/
|
ln -s "$out/"*texmf* "$out/share/"
|
||||||
|
|
||||||
sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat
|
sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat
|
||||||
|
|
||||||
PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
||||||
|
|
||||||
HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees
|
HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees
|
||||||
|
|
||||||
|
# Prebuild the format files, as it used to be done with TeXLive 2007.
|
||||||
|
# Note the funny argument parser of `mktexfmt', which wants something
|
||||||
|
# ending in `.fmt' as its first argument.
|
||||||
|
ensureDir "$out/texmf-var/web2c"
|
||||||
|
PATH="$PATH:$out/bin" mktexfmt does-not-matter.fmt \
|
||||||
|
--fmtdir="$out/texmf-var/web2c" --all
|
||||||
|
|
||||||
PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
PATH=$PATH:$out/bin mktexlsr $out/texmf*
|
||||||
'') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"];
|
'') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"];
|
||||||
|
|
||||||
|
@ -114,7 +114,10 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
kernelConfig = kernelConfigFun configCross;
|
kernelConfig = kernelConfigFun configCross;
|
||||||
|
|
||||||
buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot);
|
# The substitution of crossAttrs happens *after* the stdenv cross adapter sets
|
||||||
|
# the parameters for the usual stdenv. Thus, we need to specify
|
||||||
|
# the ".hostDrv" in the buildInputs here.
|
||||||
|
buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot).hostDrv;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
versionNumber = "195.36.08";
|
versionNumber = "190.53";
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
@ -15,12 +15,12 @@ stdenv.mkDerivation {
|
|||||||
if stdenv.system == "i686-linux" then
|
if stdenv.system == "i686-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
|
url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run";
|
||||||
sha256 = "0kwkms1lj7h0gaz6x3m44575mfb1zbif0xlm55xffym2n4338lds";
|
sha256 = "0ypm4ld8zvir5c6nc1a7x4wxkb0fdx13lf8a2fzi3fmvhpa8bag9";
|
||||||
}
|
}
|
||||||
else if stdenv.system == "x86_64-linux" then
|
else if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run";
|
url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run";
|
||||||
sha256 = "14yxypv4fq4ldpin51110bs5a4062mfr7gvr1vikhsa1b2vq502f";
|
sha256 = "0mm841563wy373hg5az42dncmvkzk8y7yxlij7axw4q1pjbihi80";
|
||||||
}
|
}
|
||||||
else throw "nvidia-x11 does not support platform ${stdenv.system}";
|
else throw "nvidia-x11 does not support platform ${stdenv.system}";
|
||||||
|
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
assert stdenv.isLinux;
|
assert stdenv.isLinux;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "qemu-kvm-0.12.2";
|
name = "qemu-kvm-0.12.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/kvm/${name}.tar.gz";
|
url = "mirror://sourceforge/kvm/${name}.tar.gz";
|
||||||
sha256 = "0nmg9dp3h040dkxq5vv4i7ip76v98rnhzqwy4pd88zznawc2k9l2";
|
sha256 = "1cn20jsmf27h23ynm804bz41i2fmmbg02gbnfknz6cwbjg4cvk3p";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./unix-domain.patch ./smb-tmpdir.patch ];
|
patches = [ ./unix-domain.patch ./smb-tmpdir.patch ];
|
||||||
|
@ -6,12 +6,12 @@
|
|||||||
assert sslSupport -> openssl != null;
|
assert sslSupport -> openssl != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.2.14";
|
version = "2.2.15";
|
||||||
name = "apache-httpd-${version}";
|
name = "apache-httpd-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
|
url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
|
||||||
md5 = "a5226203aaf97e5b941c41a71c112704";
|
sha1 = "5f0e973839ed2e38a4d03adba109ef5ce3381bc2";
|
||||||
};
|
};
|
||||||
|
|
||||||
#inherit sslSupport;
|
#inherit sslSupport;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{stdenv, fetchurl, zlib, lzo, bzip2, nasm}:
|
{stdenv, fetchurl, zlib, lzo, bzip2, nasm}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "lrzip-0.23";
|
name = "lrzip-0.44";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://ck.kolivas.org/apps/lrzip/lrzip-0.23.tar.bz2;
|
url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2";
|
||||||
sha256 = "52514a46228266230760fe8f7da9dd669b4c82160e9c238f029cd535d0988065";
|
sha256 = "1ncr6igs8v6yxp60sgb9h4ra8wb7jzbxiyj4a9m4nrxyw8fwm2iv";
|
||||||
};
|
};
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = "-isystem ${zlib}/include";
|
NIX_CFLAGS_COMPILE = "-isystem ${zlib}/include";
|
||||||
|
@ -34,6 +34,16 @@ stdenv.mkDerivation rec {
|
|||||||
# other LDFLAGS, because it doesn't use libtool for linking in the tests.
|
# other LDFLAGS, because it doesn't use libtool for linking in the tests.
|
||||||
makeFlags = if linkStatic then "LDFLAGS=-all-static" else "";
|
makeFlags = if linkStatic then "LDFLAGS=-all-static" else "";
|
||||||
|
|
||||||
|
crossAttrs = {
|
||||||
|
# We should refer to the cross built openssl
|
||||||
|
# For the 'urandom', maybe it should be a cross-system option
|
||||||
|
configureFlags = ''
|
||||||
|
${if sslSupport then "--with-ssl=${openssl.hostDrv}" else "--without-ssl"}
|
||||||
|
${if linkStatic then "--enable-static --disable-shared" else ""}
|
||||||
|
--with-random /dev/urandom
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit sslSupport openssl;
|
inherit sslSupport openssl;
|
||||||
};
|
};
|
||||||
|
@ -13,8 +13,11 @@ stdenv.mkDerivation {
|
|||||||
installPhase = "python setup.py install --prefix=$out ;"+
|
installPhase = "python setup.py install --prefix=$out ;"+
|
||||||
" echo 'export PYTHONPATH=$PYTHONPATH:'$out'/lib/python2.4/site-packages:"+
|
" echo 'export PYTHONPATH=$PYTHONPATH:'$out'/lib/python2.4/site-packages:"+
|
||||||
wxPython26+"/lib/python2.4/site-packages:"+
|
wxPython26+"/lib/python2.4/site-packages:"+
|
||||||
|
wxPython26+"/lib/python2.6/site-packages:"+
|
||||||
"'$out'/lib/python2.5/site-packages:"+
|
"'$out'/lib/python2.5/site-packages:"+
|
||||||
|
"'$out'/lib/python2.6/site-packages:"+
|
||||||
wxPython26+"/lib/python2.4/site-packages/wx-2.6-gtk2-unicode:"+
|
wxPython26+"/lib/python2.4/site-packages/wx-2.6-gtk2-unicode:"+
|
||||||
|
wxPython26+"/lib/python2.6/site-packages/wx-2.6-gtk2-unicode:"+
|
||||||
wxPython26+"/lib/python2.5/site-packages/wx-2.6-gtk2-unicode; "+
|
wxPython26+"/lib/python2.5/site-packages/wx-2.6-gtk2-unicode; "+
|
||||||
"python `which btdownloadgui.py` --ipv6_enabled 1 --ipv6_binds_v4 0 \"$@\";' >"+
|
"python `which btdownloadgui.py` --ipv6_enabled 1 --ipv6_binds_v4 0 \"$@\";' >"+
|
||||||
"$out/bin/bittornado ; chmod a+rx $out/bin/bittornado;";
|
"$out/bin/bittornado ; chmod a+rx $out/bin/bittornado;";
|
||||||
|
@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "844e5878d55a68ae2aac657718a1960dcfc943f6738ebdfb2bc93e8c462d0ad7";
|
sha256 = "844e5878d55a68ae2aac657718a1960dcfc943f6738ebdfb2bc93e8c462d0ad7";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [perl curl openssl];
|
buildNativeInputs = [perl];
|
||||||
|
buildInputs = [curl openssl];
|
||||||
|
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
--with-store-dir=${storeDir} --localstatedir=${stateDir}
|
--with-store-dir=${storeDir} --localstatedir=${stateDir}
|
||||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
|||||||
description = "terminal mixer - multiplexer for the i/o of terminal applications";
|
description = "terminal mixer - multiplexer for the i/o of terminal applications";
|
||||||
license="GPLv2";
|
license="GPLv2";
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
platforms = with stdenv.lib.platforms; all;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,6 @@ stdenv.mkDerivation {
|
|||||||
description = "task spooler - batch queue";
|
description = "task spooler - batch queue";
|
||||||
license="GPLv2";
|
license="GPLv2";
|
||||||
maintainers = with stdenv.lib.maintainers; [viric];
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
platforms = with stdenv.lib.platforms; all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{ stdenv, fetchurl, gettext }:
|
{ stdenv, fetchurl, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "enscript-1.6.5";
|
name = "enscript-1.6.5.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/enscript/${name}.tar.gz";
|
url = "mirror://gnu/enscript/${name}.tar.gz";
|
||||||
sha256 = "1sq4ng7z34qhx6cavnzndgkjpjr9lbvpxgd5a3ajgif3n57fjki2";
|
sha256 = "12zmd3iibpdwpgk10pwd71111dfh31x37xy6cllb1g243in3bgsp";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ gettext ];
|
buildInputs = [ gettext ];
|
||||||
|
@ -183,8 +183,8 @@ let
|
|||||||
|
|
||||||
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
defaultStdenv = allStdenvs.stdenv // { inherit platform; };
|
||||||
|
|
||||||
stdenvCross = makeStdenvCross defaultStdenv crossSystem (binutilsCross crossSystem)
|
stdenvCross = makeStdenvCross defaultStdenv crossSystem binutilsCross
|
||||||
(gccCrossStageFinal crossSystem);
|
gccCrossStageFinal;
|
||||||
|
|
||||||
stdenv =
|
stdenv =
|
||||||
if bootStdenv != null then bootStdenv else
|
if bootStdenv != null then bootStdenv else
|
||||||
@ -1949,45 +1949,47 @@ let
|
|||||||
profiledCompiler = true;
|
profiledCompiler = true;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
gcc43_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.3) {
|
gcc43_realCross = makeOverridable (import ../development/compilers/gcc-4.3) {
|
||||||
inherit stdenv fetchurl texinfo gmp mpfr noSysDirs cross;
|
inherit stdenv fetchurl texinfo gmp mpfr noSysDirs;
|
||||||
binutilsCross = binutilsCross cross;
|
binutilsCross = binutilsCross;
|
||||||
libcCross = libcCross cross;
|
libcCross = libcCross;
|
||||||
profiledCompiler = false;
|
profiledCompiler = false;
|
||||||
enableMultilib = true;
|
enableMultilib = true;
|
||||||
crossStageStatic = false;
|
crossStageStatic = false;
|
||||||
|
cross = assert crossSystem != null; crossSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
gcc44_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.4) {
|
gcc44_realCross = makeOverridable (import ../development/compilers/gcc-4.4) {
|
||||||
inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs cross
|
inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs
|
||||||
gettext which;
|
gettext which;
|
||||||
binutilsCross = binutilsCross cross;
|
binutilsCross = binutilsCross;
|
||||||
libcCross = libcCross cross;
|
libcCross = libcCross;
|
||||||
profiledCompiler = false;
|
profiledCompiler = false;
|
||||||
enableMultilib = false;
|
enableMultilib = false;
|
||||||
# cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug.
|
# cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug.
|
||||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818
|
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818
|
||||||
enableShared = if (crossSystem.arch == "sparc64") then false else true;
|
enableShared = if (crossSystem.arch == "sparc64") then false else true;
|
||||||
crossStageStatic = false;
|
crossStageStatic = false;
|
||||||
|
cross = assert crossSystem != null; crossSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
gccCrossStageStatic = cross: wrapGCCCross {
|
gccCrossStageStatic = wrapGCCCross {
|
||||||
gcc = forceBuildDrv ((gcc44_realCross cross).override {
|
gcc = forceBuildDrv (gcc44_realCross.override {
|
||||||
crossStageStatic = true;
|
crossStageStatic = true;
|
||||||
langCC = false;
|
langCC = false;
|
||||||
libcCross = null;
|
libcCross = null;
|
||||||
enableShared = true;
|
enableShared = true;
|
||||||
});
|
});
|
||||||
libc = null;
|
libc = null;
|
||||||
binutils = binutilsCross cross;
|
binutils = binutilsCross;
|
||||||
inherit cross;
|
cross = assert crossSystem != null; crossSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
gccCrossStageFinal = cross: wrapGCCCross {
|
gccCrossStageFinal = wrapGCCCross {
|
||||||
gcc = forceBuildDrv (gcc44_realCross cross);
|
gcc = forceBuildDrv gcc44_realCross;
|
||||||
libc = libcCross cross;
|
libc = libcCross;
|
||||||
binutils = binutilsCross cross;
|
binutils = binutilsCross;
|
||||||
inherit cross;
|
cross = assert crossSystem != null; crossSystem;
|
||||||
};
|
};
|
||||||
|
|
||||||
gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
|
gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
|
||||||
@ -2853,9 +2855,10 @@ let
|
|||||||
inherit fetchurl stdenv noSysDirs;
|
inherit fetchurl stdenv noSysDirs;
|
||||||
});
|
});
|
||||||
|
|
||||||
binutilsCross = cross : forceBuildDrv (import ../development/tools/misc/binutils {
|
binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils {
|
||||||
inherit stdenv fetchurl cross;
|
inherit stdenv fetchurl;
|
||||||
noSysDirs = true;
|
noSysDirs = true;
|
||||||
|
cross = assert crossSystem != null; crossSystem;
|
||||||
});
|
});
|
||||||
|
|
||||||
bison = bison23;
|
bison = bison23;
|
||||||
@ -3713,10 +3716,10 @@ let
|
|||||||
installLocales = getPkgConfig "glibc" "locales" false;
|
installLocales = getPkgConfig "glibc" "locales" false;
|
||||||
};
|
};
|
||||||
|
|
||||||
glibc29Cross = cross: forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) {
|
glibc29Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) {
|
||||||
inherit stdenv fetchurl;
|
inherit stdenv fetchurl;
|
||||||
gccCross = gccCrossStageStatic cross;
|
gccCross = gccCrossStageStatic;
|
||||||
kernelHeaders = linuxHeadersCross cross;
|
kernelHeaders = linuxHeadersCross;
|
||||||
installLocales = getPkgConfig "glibc" "locales" false;
|
installLocales = getPkgConfig "glibc" "locales" false;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -3726,16 +3729,16 @@ let
|
|||||||
installLocales = getPkgConfig "glibc" "locales" false;
|
installLocales = getPkgConfig "glibc" "locales" false;
|
||||||
};
|
};
|
||||||
|
|
||||||
glibc211Cross = cross : forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) {
|
glibc211Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) {
|
||||||
inherit stdenv fetchurl;
|
inherit stdenv fetchurl;
|
||||||
gccCross = gccCrossStageStatic cross;
|
gccCross = gccCrossStageStatic;
|
||||||
kernelHeaders = linuxHeadersCross cross;
|
kernelHeaders = linuxHeadersCross;
|
||||||
installLocales = getPkgConfig "glibc" "locales" false;
|
installLocales = getPkgConfig "glibc" "locales" false;
|
||||||
});
|
});
|
||||||
|
|
||||||
# We can choose:
|
# We can choose:
|
||||||
libcCross = cross: glibc211Cross cross;
|
libcCross = glibc211Cross;
|
||||||
# libcCross = cross: uclibcCross cross;
|
# libcCross = uclibcCross;
|
||||||
|
|
||||||
eglibc = import ../development/libraries/eglibc {
|
eglibc = import ../development/libraries/eglibc {
|
||||||
inherit fetchsvn stdenv;
|
inherit fetchsvn stdenv;
|
||||||
@ -5869,8 +5872,9 @@ let
|
|||||||
|
|
||||||
linuxHeaders = linuxHeaders_2_6_28;
|
linuxHeaders = linuxHeaders_2_6_28;
|
||||||
|
|
||||||
linuxHeadersCross = cross : forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
|
linuxHeadersCross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix {
|
||||||
inherit stdenv fetchurl cross perl;
|
inherit stdenv fetchurl perl;
|
||||||
|
cross = assert crossSystem != null; crossSystem;
|
||||||
});
|
});
|
||||||
|
|
||||||
linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
|
linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix {
|
||||||
@ -7919,7 +7923,7 @@ let
|
|||||||
inherit fetchurl stdenv pkgconfig imagemagick boost python;
|
inherit fetchurl stdenv pkgconfig imagemagick boost python;
|
||||||
};
|
};
|
||||||
|
|
||||||
qemu = import ../applications/virtualization/qemu/0.12.2.nix {
|
qemu = import ../applications/virtualization/qemu/0.12.3.nix {
|
||||||
inherit stdenv fetchurl SDL zlib which;
|
inherit stdenv fetchurl SDL zlib which;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -8706,7 +8710,7 @@ let
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
kde4 = kde44;
|
kde4 = kde43;
|
||||||
|
|
||||||
kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // {
|
kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // {
|
||||||
openexr = openexr_1_6_1;
|
openexr = openexr_1_6_1;
|
||||||
@ -9032,11 +9036,11 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
# The SQLite branch.
|
# The SQLite branch.
|
||||||
nixSqlite = makeOverridable (import ../tools/package-management/nix/sqlite.nix) {
|
nixSqlite = lowPrio (makeOverridable (import ../tools/package-management/nix/sqlite.nix) {
|
||||||
inherit fetchurl stdenv perl curl bzip2 openssl aterm sqlite;
|
inherit fetchurl stdenv perl curl bzip2 openssl aterm sqlite;
|
||||||
storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
|
storeDir = getPkgConfig "nix" "storeDir" "/nix/store";
|
||||||
stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
|
stateDir = getPkgConfig "nix" "stateDir" "/nix/var";
|
||||||
};
|
});
|
||||||
|
|
||||||
nixCustomFun = src: preConfigure: enableScripts: configureFlags:
|
nixCustomFun = src: preConfigure: enableScripts: configureFlags:
|
||||||
import ../tools/package-management/nix/custom.nix {
|
import ../tools/package-management/nix/custom.nix {
|
||||||
|
@ -81,6 +81,10 @@ rec {
|
|||||||
json = json_036;
|
json = json_036;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
csv = import ../development/libraries/haskell/csv {
|
||||||
|
inherit cabal parsec;
|
||||||
|
};
|
||||||
|
|
||||||
dataenc = import ../development/libraries/haskell/dataenc {
|
dataenc = import ../development/libraries/haskell/dataenc {
|
||||||
inherit cabal;
|
inherit cabal;
|
||||||
};
|
};
|
||||||
|
110
pkgs/top-level/release-cross.nix
Normal file
110
pkgs/top-level/release-cross.nix
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
with (import ./release-lib.nix);
|
||||||
|
|
||||||
|
(
|
||||||
|
|
||||||
|
/* Test some cross builds to the Sheevaplug */
|
||||||
|
let
|
||||||
|
crossSystem = {
|
||||||
|
config = "armv5tel-unknown-linux-gnueabi";
|
||||||
|
bigEndian = false;
|
||||||
|
arch = "arm";
|
||||||
|
float = "soft";
|
||||||
|
withTLS = true;
|
||||||
|
platform = pkgs.platforms.sheevaplug;
|
||||||
|
openssl.system = "linux-generic32";
|
||||||
|
};
|
||||||
|
nativePlatforms = linux;
|
||||||
|
in {
|
||||||
|
crossSheevaplugLinux = mapTestOnCross crossSystem (rec {
|
||||||
|
bison = nativePlatforms;
|
||||||
|
tightvnc = nativePlatforms;
|
||||||
|
#openoffice = nativePlatforms;
|
||||||
|
wxGTK = nativePlatforms;
|
||||||
|
#firefox = nativePlatforms;
|
||||||
|
xorg = {
|
||||||
|
#xorgserver = nativePlatforms;
|
||||||
|
};
|
||||||
|
nixUnstable = linux;
|
||||||
|
linuxPackages_2_6_32.kernel = linux;
|
||||||
|
linuxPackages_2_6_33.kernel = linux;
|
||||||
|
gdbCross = nativePlatforms;
|
||||||
|
gcc44_real.gcc = linux;
|
||||||
|
});
|
||||||
|
}) // (
|
||||||
|
|
||||||
|
/* Test some cross builds to the mipsel */
|
||||||
|
let
|
||||||
|
crossSystem = {
|
||||||
|
config = "mipsel-unknown-linux";
|
||||||
|
bigEndian = false;
|
||||||
|
arch = "mips";
|
||||||
|
float = "soft";
|
||||||
|
withTLS = true;
|
||||||
|
platform = {
|
||||||
|
name = "malta";
|
||||||
|
kernelBaseConfig = "malta_defconfig";
|
||||||
|
kernelHeadersBaseConfig = "malta_defconfig";
|
||||||
|
uboot = null;
|
||||||
|
kernelArch = "mips";
|
||||||
|
kernelAutoModules = false;
|
||||||
|
kernelTarget = "vmlinux.bin";
|
||||||
|
};
|
||||||
|
openssl.system = "linux-generic32";
|
||||||
|
};
|
||||||
|
nativePlatforms = linux;
|
||||||
|
in {
|
||||||
|
crossMipselLinux = mapTestOnCross crossSystem (rec {
|
||||||
|
bison = nativePlatforms;
|
||||||
|
tightvnc = nativePlatforms;
|
||||||
|
#openoffice = nativePlatforms;
|
||||||
|
wxGTK = nativePlatforms;
|
||||||
|
#firefox = nativePlatforms;
|
||||||
|
xorg = {
|
||||||
|
#xorgserver = nativePlatforms;
|
||||||
|
};
|
||||||
|
nixUnstable = linux;
|
||||||
|
linuxPackages_2_6_32.kernel = linux;
|
||||||
|
linuxPackages_2_6_33.kernel = linux;
|
||||||
|
gdbCross = nativePlatforms;
|
||||||
|
gcc44_real.gcc = linux;
|
||||||
|
});
|
||||||
|
}) // (
|
||||||
|
|
||||||
|
/* Test some cross builds to the ultrasparc */
|
||||||
|
let
|
||||||
|
crossSystem = {
|
||||||
|
config = "sparc64-unknown-linux";
|
||||||
|
bigEndian = true;
|
||||||
|
arch = "sparc64";
|
||||||
|
float = "hard";
|
||||||
|
withTLS = true;
|
||||||
|
cpu = "ultrasparc";
|
||||||
|
platform = {
|
||||||
|
name = "ultrasparc";
|
||||||
|
kernelHeadersBaseConfig = "sparc64_defconfig";
|
||||||
|
kernelBaseConfig = "sparc64_defconfig";
|
||||||
|
kernelArch = "sparc";
|
||||||
|
kernelAutoModules = false;
|
||||||
|
kernelTarget = "zImage";
|
||||||
|
uboot = null;
|
||||||
|
};
|
||||||
|
openssl.system = "linux64-sparcv9";
|
||||||
|
};
|
||||||
|
nativePlatforms = linux;
|
||||||
|
in {
|
||||||
|
crossUltraSparcLinux = mapTestOnCross crossSystem (rec {
|
||||||
|
bison = nativePlatforms;
|
||||||
|
tightvnc = nativePlatforms;
|
||||||
|
#openoffice = nativePlatforms;
|
||||||
|
wxGTK = nativePlatforms;
|
||||||
|
#firefox = nativePlatforms;
|
||||||
|
xorg = {
|
||||||
|
#xorgserver = nativePlatforms;
|
||||||
|
};
|
||||||
|
nixUnstable = linux;
|
||||||
|
linuxPackages_2_6_32.kernel = linux;
|
||||||
|
linuxPackages_2_6_33.kernel = linux;
|
||||||
|
gdbCross = nativePlatforms;
|
||||||
|
gcc44_real.gcc = linux;
|
||||||
|
});
|
||||||
|
})
|
103
pkgs/top-level/release-lib.nix
Normal file
103
pkgs/top-level/release-lib.nix
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
rec {
|
||||||
|
allPackages = import ./all-packages.nix;
|
||||||
|
|
||||||
|
pkgs = allPackages {};
|
||||||
|
|
||||||
|
/* The working or failing letters for cross builds will be sent only to
|
||||||
|
the following maintainers, as most package maintainers will not be
|
||||||
|
interested in the result of cross building a package. */
|
||||||
|
crossMaintainers = with pkgs.lib.maintainers; [ viric ];
|
||||||
|
|
||||||
|
/* Set the Hydra scheduling priority for a job. The default
|
||||||
|
priority (100) should be used for most jobs. A different
|
||||||
|
priority should only be used for a few particularly interesting
|
||||||
|
jobs (in terms of giving feedback to developers), such as stdenv.
|
||||||
|
*/
|
||||||
|
prio = level: job: toJob job // { schedulingPriority = level; };
|
||||||
|
|
||||||
|
toJob = x: if builtins.isAttrs x then x else
|
||||||
|
{ type = "job"; systems = x; schedulingPriority = 10; };
|
||||||
|
|
||||||
|
/* Perform a job on the given set of platforms. The function `f' is
|
||||||
|
called by Hydra for each platform, and should return some job
|
||||||
|
to build on that platform. `f' is passed the Nixpkgs collection
|
||||||
|
for the platform in question. */
|
||||||
|
testOn = systems: f: {system ? builtins.currentSystem}:
|
||||||
|
if pkgs.lib.elem system systems then f (allPackages {inherit system;}) else {};
|
||||||
|
|
||||||
|
/* Similar to the testOn function, but with an additional 'crossSystem'
|
||||||
|
* parameter for allPackages, defining the target platform for cross builds */
|
||||||
|
testOnCross = crossSystem: systems: f: {system ? builtins.currentSystem}:
|
||||||
|
if pkgs.lib.elem system systems then f (allPackages {inherit system
|
||||||
|
crossSystem;}) else {};
|
||||||
|
|
||||||
|
/* Map an attribute of the form `foo = [platforms...]' to `testOn
|
||||||
|
[platforms...] (pkgs: pkgs.foo)'. */
|
||||||
|
mapTestOn = pkgs.lib.mapAttrsRecursiveCond
|
||||||
|
(as: !(as ? type && as.type == "job"))
|
||||||
|
(path: value:
|
||||||
|
let
|
||||||
|
job = toJob value;
|
||||||
|
getPkg = pkgs:
|
||||||
|
pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; }
|
||||||
|
(pkgs.lib.getAttrFromPath path pkgs);
|
||||||
|
in testOn job.systems getPkg);
|
||||||
|
|
||||||
|
|
||||||
|
/* Similar to the testOn function, but with an additional 'crossSystem'
|
||||||
|
* parameter for allPackages, defining the target platform for cross builds,
|
||||||
|
* and triggering the build of the host derivation (cross built - hostDrv). */
|
||||||
|
mapTestOnCross = crossSystem: pkgs.lib.mapAttrsRecursiveCond
|
||||||
|
(as: !(as ? type && as.type == "job"))
|
||||||
|
(path: value:
|
||||||
|
let
|
||||||
|
job = toJob value;
|
||||||
|
getPkg = pkgs: setCrossMaintainers
|
||||||
|
(pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; }
|
||||||
|
(pkgs.lib.getAttrFromPath (path ++ ["hostDrv"]) pkgs));
|
||||||
|
in testOnCross crossSystem job.systems getPkg);
|
||||||
|
|
||||||
|
setCrossMaintainers = pkg: pkg // { meta.maintainers = crossMaintainers; };
|
||||||
|
|
||||||
|
/* Find all packages that have a meta.platforms field listing the
|
||||||
|
supported platforms. */
|
||||||
|
packagesWithMetaPlatform = attrSet:
|
||||||
|
if builtins ? tryEval then
|
||||||
|
let pairs = pkgs.lib.concatMap
|
||||||
|
(x:
|
||||||
|
let pair = builtins.tryEval
|
||||||
|
(let
|
||||||
|
attrVal = (builtins.getAttr x attrSet);
|
||||||
|
in
|
||||||
|
{val=(processPackage attrVal);
|
||||||
|
attrVal = attrVal;
|
||||||
|
attrValIsAttrs = builtins.isAttrs attrVal;
|
||||||
|
});
|
||||||
|
success = (builtins.tryEval pair.value.attrVal).success;
|
||||||
|
in
|
||||||
|
if success && pair.value.attrValIsAttrs &&
|
||||||
|
pair.value.val != [] then
|
||||||
|
[{name= x; value=pair.value.val;}] else [])
|
||||||
|
(builtins.attrNames attrSet);
|
||||||
|
in
|
||||||
|
builtins.listToAttrs pairs
|
||||||
|
else {};
|
||||||
|
|
||||||
|
# May fail as much as it wishes, we will catch the error.
|
||||||
|
processPackage = attrSet:
|
||||||
|
if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
|
||||||
|
packagesWithMetaPlatform attrSet
|
||||||
|
else
|
||||||
|
if attrSet ? meta && attrSet.meta ? platforms
|
||||||
|
then attrSet.meta.platforms
|
||||||
|
else [];
|
||||||
|
|
||||||
|
/* Common platform groups on which to test packages. */
|
||||||
|
inherit (pkgs.lib.platforms) linux darwin cygwin allBut all mesaPlatforms;
|
||||||
|
|
||||||
|
/* Platform groups for specific kinds of applications. */
|
||||||
|
x11Supported = linux;
|
||||||
|
gtkSupported = linux;
|
||||||
|
ghcSupported = linux ++ ["i686-darwin"] ;
|
||||||
|
|
||||||
|
}
|
@ -1,107 +1,6 @@
|
|||||||
let
|
with (import ./release-lib.nix);
|
||||||
|
|
||||||
allPackages = import ./all-packages.nix;
|
{
|
||||||
|
|
||||||
pkgs = allPackages {};
|
|
||||||
|
|
||||||
/* The working or failing letters for cross builds will be sent only to
|
|
||||||
the following maintainers, as most package maintainers will not be
|
|
||||||
interested in the result of cross building a package. */
|
|
||||||
crossMaintainers = with pkgs.lib.maintainers; [ viric ];
|
|
||||||
|
|
||||||
/* Set the Hydra scheduling priority for a job. The default
|
|
||||||
priority (100) should be used for most jobs. A different
|
|
||||||
priority should only be used for a few particularly interesting
|
|
||||||
jobs (in terms of giving feedback to developers), such as stdenv.
|
|
||||||
*/
|
|
||||||
prio = level: job: toJob job // { schedulingPriority = level; };
|
|
||||||
|
|
||||||
toJob = x: if builtins.isAttrs x then x else
|
|
||||||
{ type = "job"; systems = x; schedulingPriority = 5; };
|
|
||||||
|
|
||||||
/* Perform a job on the given set of platforms. The function `f' is
|
|
||||||
called by Hydra for each platform, and should return some job
|
|
||||||
to build on that platform. `f' is passed the Nixpkgs collection
|
|
||||||
for the platform in question. */
|
|
||||||
testOn = systems: f: {system ? builtins.currentSystem}:
|
|
||||||
if pkgs.lib.elem system systems then f (allPackages {inherit system;}) else {};
|
|
||||||
|
|
||||||
/* Similar to the testOn function, but with an additional 'crossSystem'
|
|
||||||
* parameter for allPackages, defining the target platform for cross builds */
|
|
||||||
testOnCross = crossSystem: systems: f: {system ? builtins.currentSystem}:
|
|
||||||
if pkgs.lib.elem system systems then f (allPackages {inherit system
|
|
||||||
crossSystem;}) else {};
|
|
||||||
|
|
||||||
/* Map an attribute of the form `foo = [platforms...]' to `testOn
|
|
||||||
[platforms...] (pkgs: pkgs.foo)'. */
|
|
||||||
mapTestOn = pkgs.lib.mapAttrsRecursiveCond
|
|
||||||
(as: !(as ? type && as.type == "job"))
|
|
||||||
(path: value:
|
|
||||||
let
|
|
||||||
job = toJob value;
|
|
||||||
getPkg = pkgs:
|
|
||||||
pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; }
|
|
||||||
(pkgs.lib.getAttrFromPath path pkgs);
|
|
||||||
in testOn job.systems getPkg);
|
|
||||||
|
|
||||||
|
|
||||||
/* Similar to the testOn function, but with an additional 'crossSystem'
|
|
||||||
* parameter for allPackages, defining the target platform for cross builds,
|
|
||||||
* and triggering the build of the host derivation (cross built - hostDrv). */
|
|
||||||
mapTestOnCross = crossSystem: pkgs.lib.mapAttrsRecursiveCond
|
|
||||||
(as: !(as ? type && as.type == "job"))
|
|
||||||
(path: value:
|
|
||||||
let
|
|
||||||
job = toJob value;
|
|
||||||
getPkg = pkgs: setCrossMaintainers
|
|
||||||
(pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; }
|
|
||||||
(pkgs.lib.getAttrFromPath (path ++ ["hostDrv"]) pkgs));
|
|
||||||
in testOnCross crossSystem job.systems getPkg);
|
|
||||||
|
|
||||||
setCrossMaintainers = pkg: pkg // { meta.maintainers = crossMaintainers; };
|
|
||||||
|
|
||||||
/* Find all packages that have a meta.platforms field listing the
|
|
||||||
supported platforms. */
|
|
||||||
packagesWithMetaPlatform = attrSet:
|
|
||||||
if builtins ? tryEval then
|
|
||||||
let pairs = pkgs.lib.concatMap
|
|
||||||
(x:
|
|
||||||
let pair = builtins.tryEval
|
|
||||||
(let
|
|
||||||
attrVal = (builtins.getAttr x attrSet);
|
|
||||||
in
|
|
||||||
{val=(processPackage attrVal);
|
|
||||||
attrVal = attrVal;
|
|
||||||
attrValIsAttrs = builtins.isAttrs attrVal;
|
|
||||||
});
|
|
||||||
success = (builtins.tryEval pair.value.attrVal).success;
|
|
||||||
in
|
|
||||||
if success && pair.value.attrValIsAttrs &&
|
|
||||||
pair.value.val != [] then
|
|
||||||
[{name= x; value=pair.value.val;}] else [])
|
|
||||||
(builtins.attrNames attrSet);
|
|
||||||
in
|
|
||||||
builtins.listToAttrs pairs
|
|
||||||
else {};
|
|
||||||
|
|
||||||
# May fail as much as it wishes, we will catch the error.
|
|
||||||
processPackage = attrSet:
|
|
||||||
if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
|
|
||||||
packagesWithMetaPlatform attrSet
|
|
||||||
else
|
|
||||||
if attrSet ? meta && attrSet.meta ? platforms
|
|
||||||
then attrSet.meta.platforms
|
|
||||||
else [];
|
|
||||||
|
|
||||||
/* Common platform groups on which to test packages. */
|
|
||||||
inherit (pkgs.lib.platforms) linux darwin cygwin allBut all mesaPlatforms;
|
|
||||||
|
|
||||||
/* Platform groups for specific kinds of applications. */
|
|
||||||
x11Supported = linux;
|
|
||||||
gtkSupported = linux;
|
|
||||||
ghcSupported = linux ++ ["i686-darwin"] ;
|
|
||||||
|
|
||||||
in {
|
|
||||||
|
|
||||||
tarball = import ./make-tarball.nix;
|
tarball = import ./make-tarball.nix;
|
||||||
|
|
||||||
@ -699,105 +598,5 @@ in {
|
|||||||
xset = linux;
|
xset = linux;
|
||||||
};
|
};
|
||||||
|
|
||||||
} )) // (
|
} ))
|
||||||
|
|
||||||
/* Test some cross builds to the Sheevaplug */
|
|
||||||
let
|
|
||||||
crossSystem = {
|
|
||||||
config = "armv5tel-unknown-linux-gnueabi";
|
|
||||||
bigEndian = false;
|
|
||||||
arch = "arm";
|
|
||||||
float = "soft";
|
|
||||||
withTLS = true;
|
|
||||||
platform = pkgs.platforms.sheevaplug;
|
|
||||||
};
|
|
||||||
nativePlatforms = linux;
|
|
||||||
in {
|
|
||||||
crossSheevaplugLinux = mapTestOnCross crossSystem (rec {
|
|
||||||
bison = nativePlatforms;
|
|
||||||
tightvnc = nativePlatforms;
|
|
||||||
#openoffice = nativePlatforms;
|
|
||||||
wxGTK = nativePlatforms;
|
|
||||||
#firefox = nativePlatforms;
|
|
||||||
xorg = {
|
|
||||||
#xorgserver = nativePlatforms;
|
|
||||||
};
|
|
||||||
linuxPackages_2_6_32.kernel = linux;
|
|
||||||
linuxPackages_2_6_33.kernel = linux;
|
|
||||||
gdbCross = nativePlatforms;
|
|
||||||
gcc44_real.gcc = linux;
|
|
||||||
});
|
|
||||||
}) // (
|
|
||||||
|
|
||||||
/* Test some cross builds to the mipsel */
|
|
||||||
let
|
|
||||||
crossSystem = {
|
|
||||||
config = "mipsel-unknown-linux";
|
|
||||||
bigEndian = false;
|
|
||||||
arch = "mips";
|
|
||||||
float = "soft";
|
|
||||||
withTLS = true;
|
|
||||||
platform = {
|
|
||||||
name = "malta";
|
|
||||||
kernelBaseConfig = "malta_defconfig";
|
|
||||||
kernelHeadersBaseConfig = "malta_defconfig";
|
|
||||||
uboot = null;
|
|
||||||
kernelArch = "mips";
|
|
||||||
kernelAutoModules = false;
|
|
||||||
kernelTarget = "vmlinux.bin";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nativePlatforms = linux;
|
|
||||||
in {
|
|
||||||
crossMipselLinux = mapTestOnCross crossSystem (rec {
|
|
||||||
bison = nativePlatforms;
|
|
||||||
tightvnc = nativePlatforms;
|
|
||||||
#openoffice = nativePlatforms;
|
|
||||||
wxGTK = nativePlatforms;
|
|
||||||
#firefox = nativePlatforms;
|
|
||||||
xorg = {
|
|
||||||
#xorgserver = nativePlatforms;
|
|
||||||
};
|
|
||||||
linuxPackages_2_6_32.kernel = linux;
|
|
||||||
linuxPackages_2_6_33.kernel = linux;
|
|
||||||
gdbCross = nativePlatforms;
|
|
||||||
gcc44_real.gcc = linux;
|
|
||||||
});
|
|
||||||
}) // (
|
|
||||||
|
|
||||||
/* Test some cross builds to the ultrasparc */
|
|
||||||
let
|
|
||||||
crossSystem = {
|
|
||||||
config = "sparc64-unknown-linux";
|
|
||||||
bigEndian = true;
|
|
||||||
arch = "sparc64";
|
|
||||||
float = "hard";
|
|
||||||
withTLS = true;
|
|
||||||
cpu = "ultrasparc";
|
|
||||||
platform = {
|
|
||||||
name = "ultrasparc";
|
|
||||||
kernelHeadersBaseConfig = "sparc64_defconfig";
|
|
||||||
kernelBaseConfig = "sparc64_defconfig";
|
|
||||||
kernelArch = "sparc";
|
|
||||||
kernelAutoModules = false;
|
|
||||||
kernelTarget = "zImage";
|
|
||||||
uboot = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nativePlatforms = linux;
|
|
||||||
in {
|
|
||||||
crossUltraSparcLinux = mapTestOnCross crossSystem (rec {
|
|
||||||
bison = nativePlatforms;
|
|
||||||
tightvnc = nativePlatforms;
|
|
||||||
#openoffice = nativePlatforms;
|
|
||||||
wxGTK = nativePlatforms;
|
|
||||||
#firefox = nativePlatforms;
|
|
||||||
xorg = {
|
|
||||||
#xorgserver = nativePlatforms;
|
|
||||||
};
|
|
||||||
linuxPackages_2_6_32.kernel = linux;
|
|
||||||
linuxPackages_2_6_33.kernel = linux;
|
|
||||||
gdbCross = nativePlatforms;
|
|
||||||
gcc44_real.gcc = linux;
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
Loading…
Reference in New Issue
Block a user