Merge from trunk

svn path=/nixpkgs/branches/stdenv-updates/; revision=29553
This commit is contained in:
Shea Levy 2011-10-01 18:12:00 +00:00
commit 3b260bfbf7
16 changed files with 349 additions and 36 deletions

View File

@ -15,14 +15,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
rec {
firefoxVersion = "7.0b1";
firefoxVersion = "7.0";
xulVersion = "7.0"; # this attribute is used by other packages
src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${firefoxVersion}-candidates/build1/source/firefox-${firefoxVersion}.source.tar.bz2";
sha256 = "0s8lv07nggdf8ad2yx7sgq1mfy1dvzir0f6x4km911yc9qyhwmwk";
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
sha256 = "1fpadlsdc8d739cz52dicn68v2ilv044hxivilgy9jnrazznrm42";
};
commonConfigureFlags =

View File

@ -0,0 +1,180 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip
, # If you want the resulting program to call itself "Firefox" instead
# of "Shiretoko" or whatever, enable this option. However, those
# binaries may not be distributed without permission from the
# Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
rec {
firefoxVersion = "8.0b1";
xulVersion = "8.0"; # this attribute is used by other packages
src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/${firefoxVersion}-candidates/build1/source/firefox-${firefoxVersion}.source.tar.bz2";
sha256 = "1sdahpawgngvjh4cap2vdg00ngiwji5nkb40dh5kd393wa6c8mpm";
};
commonConfigureFlags =
[ "--enable-optimize"
"--disable-debug"
"--enable-strip"
"--with-system-jpeg"
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
# "--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--enable-system-cairo"
"--enable-system-sqlite"
"--disable-crashreporter"
"--disable-tests"
"--disable-necko-wifi" # maybe we want to enable this at some point
"--disable-installer"
"--disable-updater"
];
xulrunner = stdenv.mkDerivation rec {
name = "xulrunner-${xulVersion}";
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr /* nss */ libnotify xlibs.pixman yasm mesa
xlibs.libXScrnSaver xlibs.scrnsaverproto
xlibs.libXext xlibs.xextproto sqlite unzip
];
configureFlags =
[ "--enable-application=xulrunner"
"--disable-javaxpcom"
] ++ commonConfigureFlags;
enableParallelBuilding = true;
# Hack to work around make's idea of -lbz2 dependency
preConfigure =
''
find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
stdenv.lib.concatStringsSep ":"
(map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
}' ';'
export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
'';
# !!! Temporary hack.
preBuild =
''
export NIX_ENFORCE_PURITY=
'';
installFlags = "SKIP_GRE_REGISTRATION=1";
postInstall = ''
# Fix some references to /bin paths in the Xulrunner shell script.
substituteInPlace $out/bin/xulrunner \
--replace /bin/pwd "$(type -tP pwd)" \
--replace /bin/ls "$(type -tP ls)"
# Fix run-mozilla.sh search
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
echo libDir: $libDir
test -n "$libDir"
cd $out/bin
mv xulrunner ../lib/$libDir/
for i in $out/lib/$libDir/*; do
file $i;
if file $i | grep executable &>/dev/null; then
echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
chmod a+x "$out/bin/$(basename "$i")";
fi;
done;
for i in $out/lib/$libDir/{xpcshell,plugin-container,*.so}; do
patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
done;
rm -f $out/bin/run-mozilla.sh
''; # */
meta = {
description = "Mozilla Firefox XUL runner";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = { inherit gtk; version = xulVersion; };
};
firefox = stdenv.mkDerivation rec {
name = "firefox-${firefoxVersion}";
inherit src;
enableParallelBuilding = true;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
xlibs.pixman yasm mesa sqlite file unzip
];
propagatedBuildInputs = [xulrunner];
configureFlags =
[ "--enable-application=browser"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
"--enable-chrome-format=jar"
"--disable-elf-hack"
]
++ commonConfigureFlags
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
# Hack to work around make's idea of -lbz2 dependency
preConfigure =
''
find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
stdenv.lib.concatStringsSep ":"
(map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
}' ';'
'';
postInstall =
''
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
for j in $out/bin/*; do
i="$(readlink "$j")";
file $i;
if file $i | grep executable &>/dev/null; then
rm "$out/bin/$(basename "$i")"
echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
chmod a+x "$out/bin/$(basename "$i")"
fi;
done;
''; # */
meta = {
description = "Mozilla Firefox - the browser, reloaded";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = {
inherit gtk xulrunner nspr;
isFirefox3Like = true;
};
};
}

View File

@ -98,6 +98,7 @@ rec {
http://www.eu.kernel.org/pub/
http://www.de.kernel.org/pub/
http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/
http://linux-kernel.uio.no/pub/
];
# Mirrors of ftp://ftp.kde.org/pub/kde/.

View File

@ -1,5 +1,5 @@
{fetchurl, ...}:
fetchurl {
url = http://mirrors.kernel.org/gentoo/distfiles/Theme-GNU.tar.bz2;
md5 = "61969309d23c631e57b0a311102ef034";
url = http://dev.gentoo.org/~spock/repos/bootsplash/Theme-GNU.tar.bz2;
sha256 = "1pj91nxvwjphc8r6idl4ih3ldyk34j1w9c4p8gzmwnwg3w34xha0";
}

View File

@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
name = "ruby-${version}";
src = fetchurl {
url = "ftp://ftp.ruby-lang.org/pub/ruby/1.8/${name}.tar.gz";
sha256 = "0qf50wa1ziziagnxarj8z6yrsivrhchq1j9017ff3z2z7d31l9kc";
url = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.gz";
sha256 = "0zmxdqzprbdc5mvmba1i94mpqnqxxlh460jri7bx6i29bibigj0w";
};
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@ -43,9 +43,9 @@ stdenv.mkDerivation rec {
};
passthru = rec {
majorVersion = "1.8";
minorVersion = "7";
patchLevel = "330";
majorVersion = "1.9";
minorVersion = "2";
patchLevel = "290";
libPath = "lib/ruby/${majorVersion}";
gemPath = "lib/ruby/gems/${majorVersion}";
};

View File

@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
name = "ruby-${version}";
src = fetchurl {
url = "ftp://ftp.ruby-lang.org/pub/ruby/1.9/${name}.tar.gz";
sha256 = "0zmxdqzprbdc5mvmba1i94mpqnqxxlh460jri7bx6i29bibigj0w";
url = "ftp://ftp.ruby-lang.org/pub/ruby/1.8/${name}.tar.gz";
sha256 = "0qf50wa1ziziagnxarj8z6yrsivrhchq1j9017ff3z2z7d31l9kc";
};
# Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
@ -43,9 +43,9 @@ stdenv.mkDerivation rec {
};
passthru = rec {
majorVersion = "1.9";
minorVersion = "2";
patchLevel = "290";
majorVersion = "1.8";
minorVersion = "7";
patchLevel = "330";
libPath = "lib/ruby/${majorVersion}";
gemPath = "lib/ruby/gems/${majorVersion}";
};

View File

@ -1,16 +1,12 @@
args : with args;
rec {
# some packages (eg ruby-debug) still require 1.8. So let's stick to that for
# now if nobody has different requirements
version = "1.8.10";
src = fetchurl {
url = "http://production.cf.rubygems.org/rubygems/${name}.tgz";
sha256 = "0ll5swf4mi4nbgnr5jcyzmnlwb1zr2md9kvsgy3d1f485bb1n59q";
};
buildInputs = [ruby makeWrapper];
configureFlags = [];

View File

@ -0,0 +1,39 @@
{ stdenv, fetchgit, kernel, aufs3 }:
stdenv.mkDerivation {
name = "aufs3-util-${aufs3.patch.version}";
src = fetchgit {
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
rev = aufs3.patch.utilRev;
sha256 = aufs3.patch.utilHash;
};
buildInputs = [ aufs3 ];
makeFlags =
[ "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build"
"Install=install"
"DESTDIR=$(out)"
];
postInstall =
''
mv $out/usr/* $out
rmdir $out/usr
cp aufs.shlib $out/lib/
substituteInPlace $out/bin/aubrsync \
--replace /sbin/mount $out/sbin/mount \
--replace /usr/lib/aufs.shlib $out/lib/aufs.shlib
'';
meta = {
description = "Utilities for AUFS3";
homepage = http://aufs.sourceforge.net/;
maintainers = [ stdenv.lib.maintainers.eelco
stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,42 @@
{ stdenv, kernel, perl }:
let
aufsPredicate = x:
if x ? features then
(if x.features ? aufs3 then x.features.aufs3 else false)
else false;
featureAbort = abort "This kernel does not have aufs 3 support";
patch = stdenv.lib.findFirst aufsPredicate featureAbort kernel.kernelPatches;
in
stdenv.mkDerivation {
name = "aufs3-${patch.version}";
src = patch.patch.src;
buildInputs = [ perl ];
makeFlags = "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build";
installPhase =
''
ensureDir $out/lib/modules/${kernel.modDirVersion}/misc
cp -v aufs.ko $out/lib/modules/${kernel.modDirVersion}/misc
# Install the headers because aufs3-util requires them.
ensureDir $out/include/linux
cp -v usr/include/linux/aufs_type.h $out/include/linux
'';
passthru = { inherit patch; };
meta = {
description = "Another Unionfs implementation for Linux (third generation)";
homepage = http://aufs.sourceforge.net/;
maintainers = [ stdenv.lib.maintainers.eelco
stdenv.lib.maintainers.raskin
stdenv.lib.maintainers.shlevy ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -75,7 +75,7 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
passthru = {
inherit version modDirVersion headersSrc headersVersion;
inherit version modDirVersion kernelPatches headersSrc headersVersion;
# Combine the `features' attribute sets of all the kernel patches.
features = lib.fold (x: y: (if x ? features then x.features else {}) // y) features kernelPatches;
};

View File

@ -200,13 +200,13 @@ in
import ./generic.nix (
rec {
version = "3.1-rc7";
version = "3.1-rc8";
modDirVersion = "3.1.0-rc7";
modDirVersion = "3.1.0-rc8";
src = fetchurl {
url = "https://github.com/torvalds/linux/tarball/v${version}";
sha256 = "05zlg522svyym6cab7lrqpihzrk8j356dyahyc321nd8yw0qfv2x";
sha256 = "1sz6snv2wavzasrswaprkjpzpll4247v4br0x2i6sndl2nqa6jz7";
name = "v${version}.tar.gz";
};

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl }:
{ stdenv, fetchurl, fetchgit }:
let
@ -36,6 +36,24 @@ let
};
};
makeAufs3StandalonePatch = {version, rev, sha256}:
stdenv.mkDerivation {
name = "aufs3-standalone-${version}.patch";
src = fetchgit {
url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-standalone.git;
inherit sha256 rev;
};
phases = [ "unpackPhase" "installPhase" ];
#Instructions from http://aufs.git.sourceforge.net/git/gitweb.cgi?p=aufs/aufs3-standalone.git;a=blob;f=Documentation/filesystems/aufs/README;h=b8cf077635b323d1b454266366f05f476bbd09cb;hb=1067b9d8d64d23c70d905c9cd3c90a669e39c4d4
installPhase = ''
cat aufs3-base.patch aufs3-proc_map.patch aufs3-standalone.patch > $out
'';
};
in
rec {
@ -193,6 +211,7 @@ rec {
name = "aufs2";
patch = ./aufs2.patch;
features.aufsBase = true;
features.aufs2 = true;
};
aufs2_2_6_33 =
@ -202,6 +221,7 @@ rec {
name = "aufs2";
patch = ./aufs2-33.patch;
features.aufsBase = true;
features.aufs2 = true;
};
aufs2_2_6_34 =
@ -211,6 +231,7 @@ rec {
name = "aufs2";
patch = ./aufs2-34.patch;
features.aufsBase = true;
features.aufs2 = true;
};
aufs2_2_6_35 =
@ -220,6 +241,7 @@ rec {
name = "aufs2";
patch = ./aufs2-35.patch;
features.aufsBase = true;
features.aufs2 = true;
};
aufs2_2_6_36 =
@ -272,6 +294,20 @@ rec {
features.aufs2_1 = true;
};
aufs3_0 = rec {
name = "aufs3.0";
version = "3.0";
utilRev = "a08d17d433567c7c2586c5fc2625a714b20fe155";
utilHash = "4772c1c6a36da7bbd448057c227a9cd1856ccf72748765cf85421ab0c4e34535";
patch = makeAufs3StandalonePatch {
inherit version;
rev = "1067b9d8d64d23c70d905c9cd3c90a669e39c4d4";
sha256 = "b508cab5987a623f057ae5fdc006c909a6bae6151af6e12fe672bf97b1a7549d";
};
features.aufsBase = true;
features.aufs3 = true;
};
# Increase the timeout on CIFS requests from 15 to 120 seconds to
# make CIFS more resilient to high load on the CIFS server.
cifs_timeout_2_6_15 =

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
{ stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
, libjpeg, libpng, ncurses, python, glib }:
assert stdenv.isLinux;
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
buildInputs =
[ zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
[ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
ncurses python glib
];

View File

@ -2610,9 +2610,9 @@ let
regina = callPackage ../development/interpreters/regina {};
ruby18 = callPackage ../development/interpreters/ruby { };
ruby19 = callPackage ../development/interpreters/ruby/ruby-19.nix { };
ruby = ruby18;
ruby18 = callPackage ../development/interpreters/ruby/ruby-18.nix { };
ruby19 = callPackage ../development/interpreters/ruby { };
ruby = ruby19;
rubyLibs = recurseIntoAttrs (callPackage ../development/interpreters/ruby/libs.nix { });
@ -5560,6 +5560,7 @@ let
kernelPatches =
[ #kernelPatches.fbcondecor_2_6_38
kernelPatches.sec_perm_2_6_24
kernelPatches.aufs3_0
#kernelPatches.aufs2_1_3_0
#kernelPatches.mips_restart_2_6_36
];
@ -5591,17 +5592,29 @@ let
aufs = callPackage ../os-specific/linux/aufs { };
aufs2 = callPackage ../os-specific/linux/aufs2 { };
aufs2 = if kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs2 { }
else null;
aufs2_1 = if kernel.features ? aufs2_1 then
callPackage ../os-specific/linux/aufs2.1 { }
else null;
aufs3 = if kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs3 { }
else null;
aufs2_util = if kernel.features ? aufs2 then
callPackage ../os-specific/linux/aufs2-util { }
else null;
aufs2_1_util = if kernel.features ? aufs2_1 then
callPackage ../os-specific/linux/aufs2.1-util { }
else null;
aufs2_util = callPackage ../os-specific/linux/aufs2-util { };
aufs3_util = if kernel.features ? aufs3 then
callPackage ../os-specific/linux/aufs3-util { }
else null;
blcr = callPackage ../os-specific/linux/blcr {
#libtool = libtool_1_5; # libtool 2 causes a fork bomb
@ -6575,12 +6588,17 @@ let
firefox60Wrapper = wrapFirefox firefox60Pkgs.firefox "firefox" "";
firefox70b1Pkgs = callPackage ../applications/networking/browsers/firefox/7.0.nix {
firefox70Pkgs = callPackage ../applications/networking/browsers/firefox/7.0.nix {
inherit (gtkLibs) gtk pango;
inherit (gnome) libIDL;
};
firefox70b1Wrapper = lowPrio (wrapFirefox firefox70b1Pkgs.firefox "firefox" "");
firefox70Wrapper = lowPrio (wrapFirefox firefox70Pkgs.firefox "firefox" "");
firefox80bPkgs = callPackage ../applications/networking/browsers/firefox/8.0.nix {
inherit (gtkLibs) gtk pango;
inherit (gnome) libIDL;
};
flac = callPackage ../applications/audio/flac { };

View File

@ -614,11 +614,11 @@ let pythonPackages = python.modules // rec {
jinja2 = buildPythonPackage {
name = "jinja2-2.2.1";
name = "jinja2-2.6";
src = fetchurl {
url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.2.1.tar.gz";
md5 = "fea849d68891218eb0b21c170f1c32d5";
url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz";
md5 = "1c49a8825c993bfdcf55bb36897d28a2";
};
meta = {

View File

@ -387,6 +387,7 @@ with (import ./release-lib.nix);
firefox36Pkgs.firefox = linux;
firefox50Pkgs.firefox = linux;
firefox60Pkgs.firefox = linux;
firefox70Pkgs.firefox = linux;
gnome = {
gnome_panel = linux;