Merge x-updates into master

There's a major dbus bump (1.6 -> 1.8), and various minor fixes and updates.
This commit is contained in:
Vladimír Čunát
2014-02-22 11:27:10 +01:00
22 changed files with 162 additions and 399 deletions

View File

@@ -3,8 +3,8 @@
, libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }:
let
version = "1.6.16"; # 1.7.* isn't recommended, even for gnome 3.8
sha256 = "0wrmh5azszb54zpy7d0zjsy456khcv8yc19ivqrygkdg7a3l4gs6";
version = "1.8.0";
sha256 = "04qbsyw92279hfkwic5h6jc5999p87qsaqqgc6zcqddmh9r8r7vn";
inherit (stdenv) lib;

View File

@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
}
else null;
buildInputs = [ pkgconfig freetype expat ];
propagatedBuildInputs = [ freetype ];
buildInputs = [ pkgconfig expat ];
configureFlags = "--sysconfdir=/etc --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
@@ -38,10 +39,11 @@ stdenv.mkDerivation rec {
cd "$out/etc/fonts" && tar xvf ${infinality_patch}
'';
meta = {
meta = with stdenv.lib; {
description = "A library for font customization and configuration";
homepage = http://fontconfig.org/;
license = "bsd";
platforms = stdenv.lib.platforms.all;
license = licenses.bsd2; # custom but very bsd-like
platforms = platforms.all;
maintainers = [ maintainers.vcunat ];
};
}

View File

@@ -3,14 +3,14 @@
let
ver_maj = "2.30";
ver_min = "2";
ver_min = "4";
in
stdenv.mkDerivation rec {
name = "gdk-pixbuf-${ver_maj}.${ver_min}";
src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
sha256 = "1gzczsv41h28is4rrxjfyj1qx8ifp23fq2ckh0k099m9fnhbzfna";
sha256 = "0ldhpdalbyi6q5k1dz498i9hqcsd51yxq0f91ck9p0h4v38blfx1";
};
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
+ stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
;
doCheck = false; # broken animation tester
doCheck = true;
postInstall = "rm -rf $out/share/gtk-doc";

View File

@@ -1,5 +1,9 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, python, autoconf, automake, libtool
, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf, dbus }:
{ stdenv, fetchurl, pkgconfig, gettext, perl, python
, libiconvOrEmpty, libintlOrEmpty, zlib, libffi, pcre, libelf
# this is just for tests (not in closure of any regular package)
, libxml2, tzdata, desktop_file_utils, shared_mime_info, doCheck ? false
}:
# TODO:
# * Add gio-module-fam
@@ -17,7 +21,6 @@
https://wiki.gnome.org/GnomeGoals/InstalledTests
* Support org.freedesktop.Application, including D-Bus activation from desktop files
*/
let
# Some packages don't get "Cflags" from pkgconfig correctly
# and then fail to build when directly including like <glib/...>.
@@ -35,7 +38,7 @@ let
ver_maj = "2.38";
ver_min = "2";
in
with { inherit (stdenv.lib) optional optionalString; };
with { inherit (stdenv.lib) optional optionals optionalString; };
stdenv.mkDerivation rec {
name = "glib-${ver_maj}.${ver_min}";
@@ -45,28 +48,33 @@ stdenv.mkDerivation rec {
sha256 = "0d2px8m77603s5pm3md4bcm5d0ksbcsb6ik1w52hjslnq1a9hsh5";
};
# configure script looks for d-bus but it is (probably) only needed for tests
buildInputs = [ libelf ];
buildInputs = [ libelf ]
++ optionals doCheck [ tzdata libxml2 desktop_file_utils shared_mime_info ];
# I don't know why the autotools are needed now, even without modifying configure scripts
nativeBuildInputs = [ pkgconfig gettext perl python ] ++ [ autoconf automake libtool ];
nativeBuildInputs = [ pkgconfig gettext perl python ];
propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty ++ libintlOrEmpty;
preConfigure = "autoreconf -fi";
configureFlags =
optional stdenv.isDarwin "--disable-compile-warnings"
++ optional stdenv.isSunOS "--disable-modular-tests";
CPPFLAGS = optionalString stdenv.isSunOS "-DBSD_COMP";
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-lintl";
NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl"
+ optionalString stdenv.isSunOS " -DBSD_COMP";
enableParallelBuilding = true;
doCheck = false; # ToDo: fix the remaining problems, so we have checked glib by default
LD_LIBRARY_PATH = optionalString doCheck "${stdenv.gcc.gcc}/lib";
inherit doCheck;
preCheck = optionalString doCheck
# libgcc_s.so.1 must be installed for pthread_cancel to work
# also point to the glib/.libs path
'' export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so)):$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
export TZDIR="${tzdata}/share/zoneinfo"
export XDG_CACHE_HOME="$TMP"
export XDG_RUNTIME_HOME="$TMP"
export HOME="$TMP"
export XDG_DATA_DIRS="${desktop_file_utils}/share:${shared_mime_info}/share"
'';
postInstall = ''rm -rvf $out/share/gtk-doc'';

View File

@@ -10,14 +10,15 @@ assert cupsSupport -> cups != null;
let
ver_maj = "3.10";
ver_min = "6";
ver_min = "7";
version = "${ver_maj}.${ver_min}";
in
stdenv.mkDerivation rec {
name = "gtk+-${ver_maj}.${ver_min}";
name = "gtk+3-${version}";
src = fetchurl {
url = "mirror://gnome/sources/gtk+/${ver_maj}/${name}.tar.xz";
sha256 = "12i6n2vijglqgc7z5migllhpygg65fqzfgrsknimwynbqmzwa91w";
url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
sha256 = "09wlsim4immrws0fyvpk03sspsljcsgybrwp73scycah70axxsdp";
};
enableParallelBuilding = true;

View File

@@ -8,11 +8,11 @@
# (icu is a ~30 MB dependency, the rest is very small in comparison)
stdenv.mkDerivation rec {
name = "harfbuzz-0.9.25";
name = "harfbuzz-0.9.26";
src = fetchurl {
url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
sha256 = "1vkbdny880d60j3v6lvpc6p8fvj6cl7hma27h796qlk9lnbmjvnw";
sha256 = "0mz220qv3xn3lk1v94q1wgykayxnas94n8ks1liwkdazs71pvvax";
};
configureFlags = [

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }:
stdenv.mkDerivation rec {
name = "libdrm-2.4.50";
name = "libdrm-2.4.52";
src = fetchurl {
url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
sha256 = "0idh6cwqr2rilig7vygb3gxvivchp0q1iq4md79jq340v96d48rq";
sha256 = "1h8q0azb5bxqljpi1dlxmh5i30c4wdrncffcpppzrgk13wpkqsgs";
};
nativeBuildInputs = [ pkgconfig ];

View File

@@ -3,11 +3,11 @@
assert zlib != null;
let
version = "1.6.8";
sha256 = "109h2fcjspd792lvh5q4xnkpsv7rjczmrdl15i4ajx0xbs5kvxr4";
version = "1.6.9";
sha256 = "0ji7488fp08b3xa6605zzghzpxawkhhg6jbqzrdw2y38zrvadqzx";
patch_src = fetchurl {
url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz";
sha256 = "0wysnv0d8h7pyz7gfagnkwra2k7malqga1cn6wbk2l7a8k2r53qi";
sha256 = "0l61y6b03avyxrx8c72x8m73j3b8mj0wx80wdl6w82wgnr2fw4x1";
};
whenPatched = stdenv.lib.optionalString apngSupport;

View File

@@ -1,9 +1,8 @@
{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoconf, automake, libtool
{ stdenv, fetchurl, pkgconfig, intltool, flex, bison, autoreconfHook
, python, libxml2Python, file, expat, makedepend
, libdrm, xorg, wayland, udev, llvm, libffi
, libvdpau
, libvdpau, libelf
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
, enableR600LlvmCompiler ? true, libelf
, enableExtraFeatures ? false # not maintained
}:
@@ -13,19 +12,19 @@ else
/** Packaging design:
- The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now).
This or the mesa attribute (which also contains GLU) are small (~ 2.2 MB, mostly headers)
This or the mesa attribute (which also contains GLU) are small (~ 2 MB, mostly headers)
and are designed to be the buildInput of other packages.
- DRI and EGL drivers are compiled into $drivers output,
which is bigger (~13 MB) and depends on LLVM (~44 MB).
which is much bigger and depends on LLVM.
These should be searched at runtime in "/run/opengl-driver{,-32}/lib/*"
and so are kind-of impure (given by NixOS).
(I suppose on non-NixOS one would create the appropriate symlinks from there.)
- libOSMesa is in $osmesa (~4.2 MB)
- libOSMesa is in $osmesa (~4 MB)
*/
let
version = "9.2.5";
# this is the default search path for DRI drivers (note: X server introduces an overriding env var)
# this is the default search path for DRI drivers (note: X server no longer introduces an overriding env var)
driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
in
with { inherit (stdenv.lib) optional optionals optionalString; };
@@ -54,8 +53,6 @@ stdenv.mkDerivation {
outputs = ["out" "drivers" "osmesa"];
preConfigure = "./autogen.sh";
configureFlags = [
"--with-dri-driverdir=$(drivers)/lib/dri"
"--with-egl-driver-dir=$(drivers)/lib/egl"
@@ -72,11 +69,9 @@ stdenv.mkDerivation {
"--enable-osmesa" # used by wine
"--with-dri-drivers=i965,r200,radeon"
("--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast"
+ optionalString enableR600LlvmCompiler ",radeonsi")
"--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast,radeonsi"
"--with-egl-platforms=x11,wayland,drm" "--enable-gbm" "--enable-shared-glapi"
]
++ optional enableR600LlvmCompiler "--enable-r600-llvm-compiler"
++ optional enableTextureFloats "--enable-texture-float"
++ optionals enableExtraFeatures [
"--enable-openvg" "--enable-gallium-egl" # not needed for EGL in Gallium, but OpenVG might be useful
@@ -90,17 +85,16 @@ stdenv.mkDerivation {
++ optionals stdenv.isLinux [libdrm]
;
buildInputs = with xorg; [
autoconf automake libtool intltool expat libxml2Python llvm
autoreconfHook intltool expat libxml2Python llvm
libXfixes glproto dri2proto libX11 libXext libxcb libXt
libffi wayland libvdpau
libffi wayland libvdpau libelf
] ++ optionals enableExtraFeatures [ /*libXvMC*/ ]
++ optional stdenv.isLinux udev
++ optional enableR600LlvmCompiler libelf
;
enableParallelBuilding = true;
#doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672
# TODO: best fix this before merging >=9.2 to master
#doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672,
# also, 10.* links bad due to some RTTI problem
# move gallium-related stuff to $drivers, so $out doesn't depend on LLVM;
# also move libOSMesa to $osmesa, as it's relatively big

View File

@@ -2,7 +2,7 @@
, libintlOrEmpty, gobjectIntrospection }:
stdenv.mkDerivation rec {
name = "pango-1.32.5"; #.6 and higher need a not-yet-stable fontconfig (!)
name = "pango-1.32.5"; #.6 and higher need fontconfig-2.11.* which is troublesome
src = fetchurl {
url = "mirror://gnome/sources/pango/1.32/${name}.tar.xz";
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
doCheck = true;
postInstall = "rm -rf $out/share/gtk-doc";
meta = {

View File

@@ -1,41 +0,0 @@
{stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false}:
stdenv.mkDerivation rec {
name = "automake-1.10.3";
builder = ./builder.sh;
setupHook = ./setup-hook.sh;
src = fetchurl {
url = "mirror://gnu/automake/${name}.tar.bz2";
sha256 = "1p0sgv8zl6ah6vwpqf7jkrjr3cw8ydpmnbi0ljb1dhrrp0xv92p9";
};
buildInputs = [perl autoconf makeWrapper];
inherit doCheck;
# Disable indented log output from Make, otherwise "make.test" will
# fail.
preCheck = "unset NIX_INDENT_MAKE";
# Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
# "fixed" path in generated files!
dontPatchShebangs = true;
meta = {
homepage = http://www.gnu.org/software/automake/;
description = "GNU standard-compliant makefile generator";
longDescription = ''
GNU Automake is a tool for automatically generating
`Makefile.in' files compliant with the GNU Coding
Standards. Automake requires the use of Autoconf.
'';
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ];
};
}