Merge remote-tracking branch 'central/master'

This commit is contained in:
Lluís Batlle 2012-06-24 19:03:50 +02:00
commit 7ab7120964
17 changed files with 420 additions and 64 deletions

View File

@ -0,0 +1,14 @@
diff --git a/printing/printing.gyp b/printing/printing.gyp
index 19fa1b2..f11d76e 100644
--- a/printing/printing.gyp
+++ b/printing/printing.gyp
@@ -26,6 +26,9 @@
'include_dirs': [
'..',
],
+ 'cflags': [
+ '-Wno-deprecated-declarations',
+ ],
'sources': [
'backend/print_backend.cc',
'backend/print_backend.h',

View File

@ -1,62 +1,187 @@
{ GConf, alsaLib, bzip2, cairo, cups, dbus, dbus_glib, expat
, fetchurl, ffmpeg, fontconfig, freetype, libX11, libXfixes
, glib, gtk, gdk_pixbuf, pango
, libXScrnSaver, libXdamage, libXext, libXrender, libXt, libXtst, libXcomposite
, libgcrypt, libjpeg, libpng, makeWrapper, nspr, nss, patchelf
, stdenv, unzip, zlib, pam, pcre, udev }:
{ stdenv, getConfig, fetchurl, makeWrapper, which
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ;
# default dependencies
, bzip2, flac, speex
, libevent, expat, libjpeg
, libpng, libxml2, libxslt
, xdg_utils, yasm, zlib
stdenv.mkDerivation rec {
name = "chromium-19.0.1061.0-pre${version}";
, python, perl, pkgconfig
, nspr, udev, krb5
, utillinux, alsaLib
, gcc, bison, gperf
, glib, gtk, dbus_glib
, libXScrnSaver, libXcursor, mesa
# To determine the latest revision, get
# http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/LAST_CHANGE.
# For the version number, see about:version.
version = "124950";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux_x64/${version}/chrome-linux.zip";
sha256 = "4472bf584a96e477e2c17f96d4452dd41f4f34ac3d6a9bb4c845cf15d8db0c73";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "http://commondatastorage.googleapis.com/chromium-browser-continuous/Linux/${version}/chrome-linux.zip";
sha256 = "6e8a49d9917ee26b67d14cd10b85711c3b9382864197ba02b3cfe8e636d3d69c";
}
else throw "Chromium is not supported on this platform.";
# optional dependencies
, libgnome_keyring # config.gnomeKeyring
, gconf # config.gnome
, libgcrypt # config.gnome || config.cups
, nss, openssl # config.openssl
, pulseaudio # config.pulseaudio
, libselinux # config.selinux
}:
phases = "unpackPhase installPhase";
let
mkConfigurable = stdenv.lib.mapAttrs (flag: default: getConfig ["chromium" flag] default);
buildInputs = [ makeWrapper unzip ];
config = mkConfigurable {
selinux = false;
nacl = false;
openssl = true;
gnome = false;
gnomeKeyring = false;
proprietaryCodecs = true;
cups = false;
pulseaudio = getConfig ["pulseaudio"] true;
};
libPath =
stdenv.lib.makeLibraryPath
[ GConf alsaLib bzip2 cairo cups dbus dbus_glib expat
ffmpeg fontconfig freetype libX11 libXScrnSaver libXfixes libXcomposite
libXdamage libXext libXrender libXt libXtst libgcrypt libjpeg
libpng nspr stdenv.gcc.gcc zlib stdenv.gcc.libc
glib gtk gdk_pixbuf pango
pam udev
];
sourceInfo = import ./source.nix;
mkGypFlags = with stdenv.lib; let
sanitize = value:
if value == true then "1"
else if value == false then "0"
else "${value}";
toFlag = key: value: "-D${key}=${sanitize value}";
in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
gypFlagsUseSystemLibs = {
use_system_bzip2 = true;
use_system_flac = true;
use_system_libevent = true;
use_system_libexpat = true;
use_system_libjpeg = true;
use_system_libpng = true;
use_system_libxml = true;
use_system_speex = true;
use_system_ssl = true;
use_system_stlport = true;
use_system_xdg_utils = true;
use_system_yasm = true;
use_system_zlib = true;
use_system_harfbuzz = false;
use_system_icu = false;
use_system_libwebp = false; # See chromium issue #133161
use_system_skia = false;
use_system_sqlite = false; # See chromium issue #22208
use_system_v8 = false;
};
defaultDependencies = [
bzip2 flac speex
libevent expat libjpeg
libpng libxml2 libxslt
xdg_utils yasm zlib
];
in stdenv.mkDerivation rec {
name = "${packageName}-${version}";
packageName = "chromium";
version = sourceInfo.version;
src = fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.sha256;
};
buildInputs = defaultDependencies ++ [
which makeWrapper
python perl pkgconfig
nspr udev
(if config.openssl then openssl else nss)
utillinux alsaLib
gcc bison gperf
krb5
glib gtk dbus_glib
libXScrnSaver libXcursor mesa
] ++ stdenv.lib.optional config.gnomeKeyring libgnome_keyring
++ stdenv.lib.optionals config.gnome [ gconf libgcrypt ]
++ stdenv.lib.optional config.selinux libselinux
++ stdenv.lib.optional config.cups libgcrypt
++ stdenv.lib.optional config.pulseaudio pulseaudio;
opensslPatches = stdenv.lib.optional config.openssl openssl.patches;
prePatch = "patchShebangs .";
patches = stdenv.lib.optional (!config.selinux) ./enable_seccomp.patch
++ stdenv.lib.optional config.cups ./cups_allow_deprecated.patch
++ stdenv.lib.optional config.pulseaudio ./pulseaudio_array_bounds.patch;
postPatch = stdenv.lib.optionalString config.openssl ''
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
'';
gypFlags = mkGypFlags (gypFlagsUseSystemLibs // {
linux_use_gold_binary = false;
linux_use_gold_flags = false;
proprietary_codecs = false;
use_gnome_keyring = config.gnomeKeyring;
use_gconf = config.gnome;
use_gio = config.gnome;
use_pulseaudio = config.pulseaudio;
disable_nacl = !config.nacl;
use_openssl = config.openssl;
selinux = config.selinux;
use_cups = config.cups;
} // stdenv.lib.optionalAttrs config.proprietaryCodecs {
# enable support for the H.264 codec
proprietary_codecs = true;
ffmpeg_branding = "Chrome";
} // stdenv.lib.optionalAttrs (stdenv.system == "x86_64-linux") {
target_arch = "x64";
} // stdenv.lib.optionalAttrs (stdenv.system == "i686-linux") {
target_arch = "ia32";
});
buildType = "Release";
enableParallelBuilding = true;
configurePhase = ''
python build/gyp_chromium --depth "$(pwd)" ${gypFlags}
'';
makeFlags = let
CC = "${gcc}/bin/gcc";
CXX = "${gcc}/bin/g++";
in [
"CC=${CC}"
"CXX=${CXX}"
"CC.host=${CC}"
"CXX.host=${CXX}"
"LINK.host=${CXX}"
];
buildFlags = [
"BUILDTYPE=${buildType}"
"library=shared_library"
"chrome"
];
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/libexec/chrome
mkdir -vp "$out/libexec/${packageName}"
cp -v "out/${buildType}/"*.pak "$out/libexec/${packageName}/"
cp -vR "out/${buildType}/locales" "out/${buildType}/resources" "$out/libexec/${packageName}/"
cp -R * $out/libexec/chrome
cp -v "out/${buildType}/chrome" "$out/libexec/${packageName}/${packageName}"
strip $out/libexec/chrome/chrome
${patchelf}/bin/patchelf \
--interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath ${libPath}:$out/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib \
$out/libexec/chrome/chrome
mkdir -vp "$out/bin"
makeWrapper "$out/libexec/${packageName}/${packageName}" "$out/bin/${packageName}"
makeWrapper $out/libexec/chrome/chrome $out/bin/chrome \
--prefix LD_LIBRARY_PATH : "${pcre}/lib:${nss}/lib"
mkdir -vp "$out/share/man/man1"
cp -v "out/${buildType}/chrome.1" "$out/share/man/man1/${packageName}.1"
for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do
num_and_suffix="''${icon_file##*logo_}"
icon_size="''${num_and_suffix%.*}"
logo_output_path="$out/share/icons/hicolor/''${icon_size}x''${icon_size}/apps"
mkdir -vp "$logo_output_path"
cp -v "$icon_file" "$logo_output_path/${packageName}.png"
done
'';
meta = with stdenv.lib; {

View File

@ -0,0 +1,20 @@
diff --git a/content/common/seccomp_sandbox.h b/content/common/seccomp_sandbox.h
index a07d6f3..a622a35 100644
--- a/content/common/seccomp_sandbox.h
+++ b/content/common/seccomp_sandbox.h
@@ -29,15 +29,9 @@ static bool SeccompSandboxEnabled() {
// TODO(evan): turn on for release too once we've flushed out all the bugs,
// allowing us to delete this file entirely and just rely on the "disabled"
// switch.
-#ifdef NDEBUG
- // Off by default; allow turning on with a switch.
- return CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableSeccompSandbox);
-#else
// On by default; allow turning off with a switch.
return !CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableSeccompSandbox);
-#endif // NDEBUG
}
#endif // SECCOMP_SANDBOX

View File

@ -0,0 +1,12 @@
diff --git a/media/media.gyp b/media/media.gyp
index 2a8c6c6..66ca767 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -399,6 +399,7 @@
['use_pulseaudio == 1', {
'cflags': [
'<!@(pkg-config --cflags libpulse)',
+ '-Wno-array-bounds',
],
'link_settings': {
'libraries': [

View File

@ -0,0 +1,5 @@
{
version = "21.0.1179.1";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-21.0.1179.1.tar.bz2";
sha256 = "1ynm1dv8nwjg6a0absid1g3r62y0mpb74pmal8g9nmqb92rlkdnc";
}

View File

@ -0,0 +1,34 @@
#!/bin/sh
bucket_url="http://commondatastorage.googleapis.com/chromium-browser-official/";
get_newest_version()
{
curl -s "$bucket_url" | sed -ne ' H;/<[Kk][Ee][Yy]>chromium-[^<]*</h;${
g;s/^.*<Key>chromium-\([^<.]\+\(\.[^<.]\+\)\+\)\.tar\.bz2<.*$/\1/p
}';
}
cd "$(dirname "$0")";
version="$(get_newest_version)";
if [ -e source.nix ]; then
oldver="$(sed -n 's/^ *version *= *"\([^"]\+\)".*$/\1/p' source.nix)";
if [ "x$oldver" = "x$version" ]; then
echo "Already the newest version: $version" >&2;
exit 1;
fi;
fi;
url="${bucket_url%/}/chromium-$version.tar.bz2";
sha256="$(nix-prefetch-url "$url")";
cat > source.nix <<EOF
{
version = "$version";
url = "$url";
sha256 = "$sha256";
}
EOF

View File

@ -0,0 +1,18 @@
{stdenv, fetchurl, tkabber}:
stdenv.mkDerivation rec {
name = "tkabber-plugins-${version}";
version = "0.11.1";
src = fetchurl {
url = "http://files.jabber.ru/tkabber/tkabber-plugins-${version}.tar.gz";
sha256 = "0jxriqvsckbih5a4lpisxy6wjw022wsz5j5n171gz0q3xw19dbgz";
};
configurePhase = ''
mkdir -p $out/bin
sed -e "s@/usr/local@$out@" -i Makefile
'';
buildInputs = [tkabber];
}

View File

@ -0,0 +1,38 @@
{ stdenv, fetchurl, tcl, tk, tcllib, tcltls, bwidget, cacert, makeWrapper, x11 }:
stdenv.mkDerivation rec {
name = "tkabber-0.11.1";
src = fetchurl {
url = "http://files.jabber.ru/tkabber/tkabber-0.11.1.tar.gz";
sha256 = "19xv555cm7a2gczdalf9srxm39hmsh0fbidhwxa74a89nqkbf4lv";
};
defaultTheme = "ocean-deep";
patchPhase = ''
substituteInPlace login.tcl --replace \
"custom::defvar loginconf(sslcacertstore) \"\"" \
"custom::defvar loginconf(sslcacertstore) \"${cacert}/etc/ca-bundle.crt\""
sed -i '/^if.*load_default_xrdb/,/^}$/ {
s@option readfile \(\[fullpath [^]]*\]\)@option readfile "'"$out/share/doc/tkabber/examples/xrdb/${defaultTheme}.xrdb"'"@
}' tkabber.tcl
'';
configurePhase = ''
mkdir -p $out/bin
sed -e "s@/usr/local@$out@" -i Makefile
'';
postInstall = ''
wrapProgram $out/bin/tkabber --set TCLLIBPATH "${bwidget}/tcltk\ ${tcllib}/lib/tcllib${tcllib.version}\ ${tcltls}/lib/tls${tcltls.version}"
'';
buildInputs = [tcl tk tcllib tcltls bwidget x11 makeWrapper];
meta = {
homepage = "http://tkabber.jabber.ru/";
description = "A GUI client for the XMPP (Jabber) instant messaging protocol";
};
}

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, unzip }:
stdenv.mkDerivation rec {
name = "ubuntu-font-family-0.80";
buildInputs = [unzip];
src = fetchurl {
url = "http://font.ubuntu.com/download/${name}.zip";
sha256 = "0k4f548riq23gmw4zhn30qqkcpaj4g2ab5rbc3lflfxwkc4p0w8h";
};
installPhase =
''
mkdir -p $out/share/fonts/ubuntu
cp *.ttf $out/share/fonts/ubuntu
'';
meta = {
description = "Ubuntu Font Family";
longDescription = "The Ubuntu typeface has been specially
created to complement the Ubuntu tone of voice. It has a
contemporary style and contains characteristics unique to
the Ubuntu brand that convey a precise, reliable and free attitude.";
homepage = http://font.ubuntu.com/;
license = "free";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.antono ];
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, tcl }:
stdenv.mkDerivation rec {
name = "bwidget-${version}";
version = "1.9.5";
src = fetchurl {
url = "mirror://sourceforge/tcllib/bwidget-${version}.tar.gz";
sha256 = "1njssjjvfalsfh37prkxwqi4hf0zj1d54qzggvjwpzkm424jjcii";
};
dontBuild = true;
installPhase = ''
ensureDir "$out/tcltk"
cp -R *.tcl lang images "$out/tcltk/"
'';
buildInputs = [tcl];
}

View File

@ -0,0 +1,13 @@
{ stdenv, fetchurl, tcl }:
stdenv.mkDerivation rec {
name = "tcllib-${version}";
version = "1.14";
src = fetchurl {
url = "mirror://sourceforge/tcllib/tcllib-${version}.tar.gz";
sha256 = "11052fgfmv9vyswzjjgfvh3pi0k3fnfnl9ri6nl4vc6f6z5ry56x";
};
buildInputs = [tcl];
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, tcl, openssl }:
stdenv.mkDerivation rec {
name = "tcltls-${version}";
version = "1.6";
configureFlags = "--with-tcl=" + tcl + "/lib "
+ "--with-tclinclude=" + tcl + "/include "
+ "--with-ssl-dir=" + openssl;
preConfigure = ''
configureFlags="--exec_prefix=$prefix $configureFlags"
'';
src = fetchurl {
url = "mirror://sourceforge/tls/tls${version}-src.tar.gz";
sha256 = "adec50143a9ad634a671d24f7c7bbf2455487eb5f12d290f41797c32a98b93f3";
};
buildInputs = [tcl openssl];
}

View File

@ -3,8 +3,7 @@
stdenv.mkDerivation rec {
name = "guile-lint-14";
src = fetchurl {
url = "http://www.geocities.com/user42_kevin/guile-lint/"
+ name + ".tar.bz2.bin";
url = "http://download.tuxfamily.org/user42/" + name + ".tar.bz2";
sha256 = "5bfcf7a623338b2ef81ac097e3e136eaf32856dd0730b7eeaff3161067b5d0be";
};
@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Guile-Lint checks syntax and semantics in a Guile program or module";
homepage = http://www.geocities.com/user42_kevin/guile-lint/index.html;
homepage = http://user42.tuxfamily.org/guile-lint/index.html;
license = "GPL";
};
}

View File

@ -8,6 +8,7 @@
all = "Nix Committers <nix-commits@lists.science.uu.nl>";
amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
andres = "Andres Loeh <ksnixos@andres-loeh.de>";
antono = "Antono Vasiljev <self@antono.info>";
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
bjg = "Brian Gough <bjg@gnu.org>";
bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation {
name = "klibc-${version}${stdenv.lib.optionalString (kernel != null) "-${kernel.version}"}";
src = fetchurl {
url = "http://ftp.eu.openbsd.org/pub/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
sha256 = "18lm32dlj9k2ky9wwk274zmc3jndgrb41b6qm82g3lza6wlw3yki";
};

View File

@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "nix-1.0pre2668_46cdc6a";
name = "nix-1.1pre2714_2f3f413";
src = fetchurl {
url = "http://hydra.nixos.org/build/2492261/download/4/${name}.tar.bz2";
sha256 = "d9a1cfbee1670bc700593d81211c47eb8d7623aa9699d18a414ecaddccabfa1a";
url = "http://hydra.nixos.org/build/2724747/download/4/${name}.tar.bz2";
sha256 = "ec026709405dfcbff387418c007915711312ac574c046c38798990666bd339a6";
};
buildNativeInputs = [ perl pkgconfig ];

View File

@ -1555,6 +1555,10 @@ let
time = callPackage ../tools/misc/time { };
tkabber = callPackage ../applications/networking/instant-messengers/tkabber { };
tkabber_plugins = callPackage ../applications/networking/instant-messengers/tkabber-plugins { };
tm = callPackage ../tools/system/tm { };
trang = callPackage ../tools/text/xml/trang { };
@ -3220,6 +3224,8 @@ let
buddy = callPackage ../development/libraries/buddy { };
bwidget = callPackage ../development/libraries/bwidget { };
caelum = callPackage ../development/libraries/caelum { };
cairomm = callPackage ../development/libraries/cairomm { };
@ -4702,6 +4708,10 @@ let
tclap = callPackage ../development/libraries/tclap {};
tcllib = callPackage ../development/libraries/tcllib { };
tcltls = callPackage ../development/libraries/tcltls { };
tcp_wrappers = callPackage ../development/libraries/tcp-wrappers {};
tdb = callPackage ../development/libraries/tdb { };
@ -6197,6 +6207,8 @@ let
ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
ubuntu_font_family = callPackage ../data/fonts/ubuntu-font-family { };
ucsFonts = callPackage ../data/fonts/ucs-fonts { };
unifont = callPackage ../data/fonts/unifont { };
@ -6330,14 +6342,13 @@ let
xulrunner = firefox36Pkgs.xulrunner;
};
chrome = lowPrio (callPackage ../applications/networking/browsers/chromium {
inherit (gnome) GConf;
libpng = libpng12;
chromium = lowPrio (callPackage ../applications/networking/browsers/chromium {
gconf = gnome.GConf;
});
chromeWrapper = wrapFirefox
{ browser = chrome; browserName = "chrome"; desktopName = "Chrome";
icon = "${chrome}/libexec/chrome/product_logo_48.png";
{ browser = chromium; browserName = chromium.packageName; desktopName = "Chromium";
icon = "${chromium}/share/icons/hicolor/48x48/apps/${chromium.packageName}.png";
};
cinelerra = callPackage ../applications/video/cinelerra { };
@ -8420,14 +8431,10 @@ let
stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
};
/*
nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
storeDir = getConfig [ "nix" "storeDir" ] "/nix/store";
stateDir = getConfig [ "nix" "stateDir" ] "/nix/var";
};
*/
nixUnstable = nixStable;
nixCustomFun = src: preConfigure: enableScripts: configureFlags:
import ../tools/package-management/nix/custom.nix {