From b7703655749df57dd5cbc84b89cc3be4bc7358bc Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Wed, 29 May 2013 23:24:20 +0200 Subject: ReRevert Merge x-updates into master This reverts commit ec3965d8d0b5594a9db11e6c9cd1c28d36e91cde. Conflicts (taken x-updates): pkgs/development/libraries/libgcrypt/default.nix pkgs/development/libraries/libgpg-error/default.nix pkgs/development/libraries/poppler/default.nix --- pkgs/development/compilers/vala/default.nix | 20 ++-- .../interpreters/python/2.7/default.nix | 4 +- .../interpreters/python/3.3/default.nix | 2 +- pkgs/development/libraries/GConf/3.x.nix | 23 ---- pkgs/development/libraries/SDL/default.nix | 13 ++- pkgs/development/libraries/atk/2.6.x.nix | 36 ------ pkgs/development/libraries/atk/default.nix | 36 ++++++ pkgs/development/libraries/cairo/default.nix | 29 +++-- .../libraries/dbus-cplusplus/default.nix | 4 +- pkgs/development/libraries/dbus-glib/default.nix | 8 +- pkgs/development/libraries/dbus/default.nix | 125 +++++++++++++-------- .../libraries/dbus/implement-getgrouplist.patch | 108 ++++++++++++++++++ .../libraries/dbus/no-create-dirs.patch | 26 +++++ pkgs/development/libraries/dbus/systemd.patch | 14 +++ .../libraries/dbus/ucred-dirty-hack.patch | 18 +++ pkgs/development/libraries/fontconfig/default.nix | 26 +++-- pkgs/development/libraries/freetype/default.nix | 47 ++++++-- .../libraries/freetype/enable-validation.patch | 22 ++++ pkgs/development/libraries/gdk-pixbuf/2.26.x.nix | 30 ----- pkgs/development/libraries/gdk-pixbuf/default.nix | 31 +++++ pkgs/development/libraries/glib/2.34.x.nix | 64 ----------- pkgs/development/libraries/glib/default.nix | 82 ++++++++++++++ pkgs/development/libraries/gmime/default.nix | 15 +-- .../libraries/gobject-introspection/default.nix | 8 +- pkgs/development/libraries/gtk+/2.24.x.nix | 54 --------- pkgs/development/libraries/gtk+/2.x.nix | 54 +++++++++ pkgs/development/libraries/gtk+/3-default.nix | 50 +++++++++ pkgs/development/libraries/gtk+/3.2.x.nix | 52 --------- pkgs/development/libraries/gtkmm/3.x.nix | 8 +- pkgs/development/libraries/harfbuzz/default.nix | 4 +- pkgs/development/libraries/libcanberra/default.nix | 16 +-- pkgs/development/libraries/libcroco/default.nix | 11 -- pkgs/development/libraries/libdrm/default.nix | 6 +- pkgs/development/libraries/libgcrypt/default.nix | 2 +- .../development/libraries/libgnome-keyring/3.x.nix | 18 --- .../development/libraries/libgpg-error/default.nix | 2 +- pkgs/development/libraries/libgsf/default.nix | 21 ++-- pkgs/development/libraries/libgweather/default.nix | 13 --- pkgs/development/libraries/libmtp/default.nix | 12 +- pkgs/development/libraries/libpaper/default.nix | 17 +++ pkgs/development/libraries/libpng/15.nix | 24 ++++ pkgs/development/libraries/libpng/default.nix | 6 +- pkgs/development/libraries/libpng/libpng-apng.nix | 18 ++- pkgs/development/libraries/librsvg/default.nix | 22 ++-- pkgs/development/libraries/libtiff/default.nix | 6 +- pkgs/development/libraries/libusb1/default.nix | 4 +- pkgs/development/libraries/libvdpau/default.nix | 12 +- .../development/libraries/libxkbcommon/default.nix | 21 ++++ pkgs/development/libraries/libxtc_dxtn/default.nix | 5 +- pkgs/development/libraries/mesa-glu/default.nix | 19 ++++ pkgs/development/libraries/mesa/default.nix | 37 +++--- pkgs/development/libraries/mesa/mips_wmb.patch | 16 --- pkgs/development/libraries/openjpeg/default.nix | 10 +- pkgs/development/libraries/pango/1.30.x.nix | 38 ------- pkgs/development/libraries/pango/default.nix | 38 +++++++ .../libraries/pangox-compat/default.nix | 19 ++++ pkgs/development/libraries/pixman/default.nix | 22 ++++ pkgs/development/libraries/poppler/0.18.nix | 53 +++++++++ pkgs/development/libraries/poppler/default.nix | 94 ++++++++++------ pkgs/development/libraries/qt-4.x/4.8/default.nix | 12 +- pkgs/development/libraries/wayland/default.nix | 14 +-- pkgs/development/libraries/wxGTK-2.8/default.nix | 16 +-- pkgs/development/tools/misc/intltool/default.nix | 9 +- .../tools/misc/intltool/default.upstream | 2 +- 64 files changed, 1047 insertions(+), 601 deletions(-) delete mode 100644 pkgs/development/libraries/GConf/3.x.nix delete mode 100644 pkgs/development/libraries/atk/2.6.x.nix create mode 100644 pkgs/development/libraries/atk/default.nix create mode 100644 pkgs/development/libraries/dbus/implement-getgrouplist.patch create mode 100644 pkgs/development/libraries/dbus/no-create-dirs.patch create mode 100644 pkgs/development/libraries/dbus/systemd.patch create mode 100644 pkgs/development/libraries/dbus/ucred-dirty-hack.patch create mode 100644 pkgs/development/libraries/freetype/enable-validation.patch delete mode 100644 pkgs/development/libraries/gdk-pixbuf/2.26.x.nix create mode 100644 pkgs/development/libraries/gdk-pixbuf/default.nix delete mode 100644 pkgs/development/libraries/glib/2.34.x.nix create mode 100644 pkgs/development/libraries/glib/default.nix delete mode 100644 pkgs/development/libraries/gtk+/2.24.x.nix create mode 100644 pkgs/development/libraries/gtk+/2.x.nix create mode 100644 pkgs/development/libraries/gtk+/3-default.nix delete mode 100644 pkgs/development/libraries/gtk+/3.2.x.nix delete mode 100644 pkgs/development/libraries/libcroco/default.nix delete mode 100644 pkgs/development/libraries/libgnome-keyring/3.x.nix delete mode 100644 pkgs/development/libraries/libgweather/default.nix create mode 100644 pkgs/development/libraries/libpaper/default.nix create mode 100644 pkgs/development/libraries/libpng/15.nix create mode 100644 pkgs/development/libraries/libxkbcommon/default.nix create mode 100644 pkgs/development/libraries/mesa-glu/default.nix delete mode 100644 pkgs/development/libraries/mesa/mips_wmb.patch delete mode 100644 pkgs/development/libraries/pango/1.30.x.nix create mode 100644 pkgs/development/libraries/pango/default.nix create mode 100644 pkgs/development/libraries/pangox-compat/default.nix create mode 100644 pkgs/development/libraries/pixman/default.nix create mode 100644 pkgs/development/libraries/poppler/0.18.nix (limited to 'pkgs/development') diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix index 13a0081a2574..c153abea247a 100644 --- a/pkgs/development/compilers/vala/default.nix +++ b/pkgs/development/compilers/vala/default.nix @@ -1,18 +1,24 @@ -{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, libintlOrEmpty }: +{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, dbus, dbus_tools, libiconvOrEmpty }: stdenv.mkDerivation rec { - - version = "0.17.2"; - name = "vala-${version}"; + p_name = "vala"; + ver_maj = "0.19"; + ver_min = "0"; src = fetchurl { - url = "mirror://gnome/sources/vala/0.17/${name}.tar.xz"; - sha256 = "09i2s0dwmrk147ind2dx7nq845g12fp6fsjqrphhrr0dbi0zzgh3"; + url = "mirror://gnome/sources/${p_name}/${ver_maj}/${name}.tar.xz"; + sha256 = "1vn524hcnaggz8zx49mvf7p4z1mscrlj2syg7jjhph8nak5wi0bp"; }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + postPatch = "patchShebangs ."; nativeBuildInputs = [ yacc flex pkgconfig ]; - buildInputs = [ glib ] ++ libintlOrEmpty; + buildInputs = [ glib ] ++ libiconvOrEmpty + ++ stdenv.lib.optional doCheck [ dbus dbus_tools ]; + + doCheck = false; # problems when launching dbus tests meta = { description = "Compiler for the GObject type system"; diff --git a/pkgs/development/interpreters/python/2.7/default.nix b/pkgs/development/interpreters/python/2.7/default.nix index 9fb2ab377dfc..7dc4708e3cf0 100644 --- a/pkgs/development/interpreters/python/2.7/default.nix +++ b/pkgs/development/interpreters/python/2.7/default.nix @@ -9,11 +9,11 @@ with stdenv.lib; let majorVersion = "2.7"; - version = "${majorVersion}.3"; + version = "${majorVersion}.4"; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2"; - sha256 = "0g3672il41rcfjk7sphfqdsa6qf53y8g3ai8yk1sslxi3khmfr3j"; + sha256 = "0nd3x4j2w8pi9ac3pawrzb5i3s88hw0aasr08dprdv7q81fp0pq3"; }; patches = diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix index 1471abe287a7..16973c6226ee 100644 --- a/pkgs/development/interpreters/python/3.3/default.nix +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -58,7 +58,7 @@ stdenv.mkDerivation { readlineSupport = readline != null; opensslSupport = openssl != null; tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); - libPrefix = "python${majorVersion}"; + libPrefix = "python${majorVersion}m"; }; enableParallelBuilding = true; diff --git a/pkgs/development/libraries/GConf/3.x.nix b/pkgs/development/libraries/GConf/3.x.nix deleted file mode 100644 index 82c0c1f2c435..000000000000 --- a/pkgs/development/libraries/GConf/3.x.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, fetchurl, glib, dbus_glib, pkgconfig, libxml2, gtk3, intltool, polkit }: - -stdenv.mkDerivation { - name = "GConf-3.2.3"; - - src = fetchurl { - url = mirror://gnome/sources/GConf/3.2/GConf-3.2.3.tar.xz; - sha256 = "0jd1z9gb1b7mv4g07qm554va6idasf3swgrfqflypdh9s38mvdcy"; - }; - - propagatedBuildInputs = [ glib dbus_glib ]; - buildInputs = [ polkit gtk3 libxml2 ]; - nativeBuildInputs = [ pkgconfig intltool ]; - - configureFlags = "--disable-orbit"; - - meta = { - homepage = http://projects.gnome.org/gconf/; - description = "A system for storing application preferences"; - maintainers = [ stdenv.lib.maintainers.urkud ]; - inherit (gtk3.meta) platforms; - }; -} diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix index 8ff643ce5b18..899c3bb5c8d8 100644 --- a/pkgs/development/libraries/SDL/default.nix +++ b/pkgs/development/libraries/SDL/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig +{ stdenv, fetchurl, pkgconfig, audiofile , openglSupport ? false, mesa ? null , alsaSupport ? true, alsaLib ? null , x11Support ? true, x11 ? null, libXrandr ? null @@ -16,25 +16,26 @@ assert pulseaudioSupport -> pulseaudio != null; let configureFlagsFun = attrs: '' - --disable-oss + --disable-oss --disable-video-x11-xme --disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared + --disable-osmesa-shared ${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""} ''; in stdenv.mkDerivation rec { - name = "SDL-1.2.14"; + name = "SDL-1.2.15"; src = fetchurl { url = "http://www.libsdl.org/release/${name}.tar.gz"; - sha256 = "1dnrxr18cyar0xd13dca7h8wp1fin4n3iyncxfq6pjrlf0l7x4jx"; + sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"; }; # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated. propagatedBuildInputs = stdenv.lib.optionals x11Support [ x11 libXrandr ] ++ stdenv.lib.optional pulseaudioSupport pulseaudio; - buildInputs = [ pkgconfig ] ++ - stdenv.lib.optional openglSupport mesa ++ + buildInputs = [ pkgconfig audiofile ] ++ + stdenv.lib.optional openglSupport [ mesa ] ++ stdenv.lib.optional alsaSupport alsaLib; # XXX: By default, SDL wants to dlopen() PulseAudio, in which case diff --git a/pkgs/development/libraries/atk/2.6.x.nix b/pkgs/development/libraries/atk/2.6.x.nix deleted file mode 100644 index 4dd0ae1eeafb..000000000000 --- a/pkgs/development/libraries/atk/2.6.x.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, perl, glib }: - -stdenv.mkDerivation rec { - name = "atk-2.6.0"; - - src = fetchurl { - url = "mirror://gnome/sources/atk/2.6/${name}.tar.xz"; - sha256 = "eff663f90847620bb68c9c2cbaaf7f45e2ff44163b9ab3f10d15be763680491f"; - }; - - nativeBuildInputs = [ pkgconfig perl ]; - - propagatedBuildInputs = [ glib ]; - - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { - description = "ATK, the accessibility toolkit"; - - longDescription = '' - ATK is the Accessibility Toolkit. It provides a set of generic - interfaces allowing accessibility technologies such as screen - readers to interact with a graphical user interface. Using the - ATK interfaces, accessibility tools have full access to view and - control running applications. - ''; - - homepage = http://library.gnome.org/devel/atk/; - - license = "LGPLv2+"; - - maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; - platforms = stdenv.lib.platforms.linux; - }; - -} diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix new file mode 100644 index 000000000000..d8e69fbf603e --- /dev/null +++ b/pkgs/development/libraries/atk/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, pkgconfig, perl, glib }: + +stdenv.mkDerivation rec { + name = "atk-2.8.0"; + + src = fetchurl { + url = "mirror://gnome/sources/atk/2.8/${name}.tar.xz"; + sha256 = "1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj"; + }; + + nativeBuildInputs = [ pkgconfig perl ]; + + propagatedBuildInputs = [ glib ]; + + postInstall = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "ATK, the accessibility toolkit"; + + longDescription = '' + ATK is the Accessibility Toolkit. It provides a set of generic + interfaces allowing accessibility technologies such as screen + readers to interact with a graphical user interface. Using the + ATK interfaces, accessibility tools have full access to view and + control running applications. + ''; + + homepage = http://library.gnome.org/devel/atk/; + + license = "LGPLv2+"; + + maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix index 8c9f55426d53..65f826c7ed43 100644 --- a/pkgs/development/libraries/cairo/default.nix +++ b/pkgs/development/libraries/cairo/default.nix @@ -1,29 +1,33 @@ { postscriptSupport ? true , pdfSupport ? true , pngSupport ? true -, xcbSupport ? false +, xcbSupport ? true # no longer experimental since 1.12 +, glSupport ? false , gobjectSupport ? true, glib , stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs -, zlib, libpng, pixman, libxcb ? null, xcbutil ? null +, expat +, zlib, libpng, pixman, libxcb ? null, xcbutil ? null, mesa ? null , libiconvOrEmpty, libintlOrEmpty }: assert postscriptSupport -> zlib != null; assert pngSupport -> libpng != null; assert xcbSupport -> libxcb != null && xcbutil != null; +assert glSupport -> mesa != null; stdenv.mkDerivation rec { - name = "cairo-1.12.4"; + name = "cairo-1.12.14"; src = fetchurl { url = "http://cairographics.org/releases/${name}.tar.xz"; - sha1 = "f4158981ed01e73c94fb8072074b17feee61a68b"; + sha256 = "04xcykglff58ygs0dkrmmnqljmpjwp2qgwcz8sijqkdpz7ix3l4n"; }; - buildInputs = - [ pkgconfig x11 fontconfig ] - ++ stdenv.lib.optional (!stdenv.isDarwin) xlibs.libXrender + buildInputs = with xlibs; + [ pkgconfig x11 fontconfig expat ] + ++ stdenv.lib.optional (!stdenv.isDarwin) libXrender ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ] + ++ stdenv.lib.optionals glSupport [ mesa ] ++ libintlOrEmpty ++ libiconvOrEmpty; @@ -36,17 +40,12 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-tee" ] ++ stdenv.lib.optional xcbSupport "--enable-xcb" + ++ stdenv.lib.optional glSupport "--enable-gl" ++ stdenv.lib.optional pdfSupport "--enable-pdf"; - preConfigure = '' - # Work around broken `Requires.private' that prevents Freetype - # `-I' flags to be propagated. - sed -i "src/cairo.pc.in" \ - -es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g' - '' - + preConfigure = # On FreeBSD, `-ldl' doesn't exist. - + (stdenv.lib.optionalString stdenv.isFreeBSD + (stdenv.lib.optionalString stdenv.isFreeBSD '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in do cat "$i" | sed -es/-ldl//g > t diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix index 2704b9586b1a..0a4b80d3f3ea 100644 --- a/pkgs/development/libraries/dbus-cplusplus/default.nix +++ b/pkgs/development/libraries/dbus-cplusplus/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, dbus, glib, gtkmm, pkgconfig }: +{ stdenv, fetchurl, dbus, glib, gtkmm, pkgconfig, expat }: stdenv.mkDerivation rec { name = "dbus-cplusplus-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw"; }; - buildInputs = [ dbus glib gtkmm pkgconfig ]; + buildInputs = [ dbus glib gtkmm pkgconfig expat ]; configureFlags = "--disable-ecore"; diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix index 47e83e7780cc..be6cf442a49f 100644 --- a/pkgs/development/libraries/dbus-glib/default.nix +++ b/pkgs/development/libraries/dbus-glib/default.nix @@ -1,18 +1,20 @@ { stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }: stdenv.mkDerivation rec { - name = "dbus-glib-0.98"; + name = "dbus-glib-0.100.2"; src = fetchurl { url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz"; - sha256 = "04fiwld5yaxyggxlvdmbaqkngh4fn8gfkkqckcp3274bpgb82z19"; + sha256 = "1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"; }; nativeBuildInputs = [ pkgconfig gettext ]; buildInputs = [ expat ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv; - propagatedBuildInputs = [ dbus glib ]; + propagatedBuildInputs = [ dbus.libs glib ]; + + doCheck = true; passthru = { inherit dbus glib; }; diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 5716ac6648a0..914ab96b5805 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -1,71 +1,104 @@ -{ stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true }: +{ stdenv, fetchurl, pkgconfig, autoconf, automake, libtool +, expat, systemd, glib, dbus_glib, python +, libX11, libICE, libSM, useX11 ? true }: let - version = "1.6.4"; + version = "1.6.10"; # 1.7.* isn't recommended, even for gnome 3.8 + sha256 = "11jyj6aw8yf75hqv7v0601n2xms08k0mys6dyql164m7ad56yg8z"; - src = fetchurl { - url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz"; - sha256 = "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz"; - }; - - patches = [ ./ignore-missing-includedirs.patch ]; + inherit (stdenv) lib; - configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-session-socket-dir=/tmp"; - -in rec { + buildInputsX = lib.optionals useX11 [ libX11 libICE libSM ]; - libs = stdenv.mkDerivation { - name = "dbus-library-" + version; + # also other parts than "libs" need this statically linked lib + makeInternalLib = "(cd dbus && make libdbus-internal.la)"; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ expat ]; + # A generic builder for individual parts (subdirs) of D-Bus + dbus_drv = name: subdirs: merge: stdenv.mkDerivation (lib.mergeAttrsByFuncDefaultsClean [{ - # FIXME: dbus has optional systemd integration when checking - # at_console policies. How to enable this without introducing a - # circular dependency between dbus and systemd? + name = "dbus-${name}-${version}"; - inherit src patches configureFlags; + src = fetchurl { + url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz"; + inherit sha256; + }; - preConfigure = - '' - sed -i '/mkinstalldirs.*localstatedir/d' bus/Makefile.in - sed -i '/SUBDIRS/s/ tools//' Makefile.in - ''; + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-session-socket-dir=/tmp" + "--with-systemdsystemunitdir=$(out)/lib/systemd" + ]; - # Enable X11 autolaunch support in libdbus. This doesn't actually - # depend on X11 (it just execs dbus-launch in dbus.tools), - # contrary to what the configure script demands. - NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1"; + preConfigure = '' + patchShebangs . + substituteInPlace tools/Makefile.am --replace 'install-localstatelibDATA:' 'disabled:' + autoreconf -fi + ''; installFlags = "sysconfdir=$(out)/etc"; - }; - - tools = stdenv.mkDerivation { - name = "dbus-tools-" + version; - inherit src patches; + doCheck = true; - configureFlags = "${configureFlags} --with-dbus-daemondir=${daemon}/bin"; + patches = [ + ./ignore-missing-includedirs.patch ./implement-getgrouplist.patch + ./ucred-dirty-hack.patch ./no-create-dirs.patch + ]; nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ expat ]; + buildInputs = [ autoconf automake libtool ]; # ToDo: optional selinux? + + # build only the specified subdirs + postPatch = "sed '/SUBDIRS/s/=.*/=" + subdirs + "/' -i Makefile.am\n" + # use already packaged libdbus instead of trying to build it again + + lib.optionalString (name != "libs") '' + for mfile in */Makefile.am; do + sed 's,\$(top_builddir)/dbus/\(libdbus-[0-9]\),${libs}/lib/\1,g' -i "$mfile" + done + ''; + + } merge ]); + + libs = dbus_drv "libs" "dbus" { + buildInputs = [ systemd.headers ]; + patches = [ ./systemd.patch ]; # bypass systemd detection + + # Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11 + # (it just execs dbus-launch in dbus.tools), contrary to what the configure script demands. + NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1"; + }; - buildInputs = [ expat libs ] - ++ stdenv.lib.optionals useX11 [ libX11 libICE libSM ]; +in rec { - NIX_LDFLAGS = "-ldbus-1"; + # This package has been split because most applications only need dbus.lib + # which serves as an interface to a *system-wide* daemon, + # see e.g. http://en.wikipedia.org/wiki/D-Bus#Architecture . + # Also some circular dependencies get split by this (like with systemd). - preConfigure = - '' - sed -i 's@$(top_builddir)/dbus/libdbus-1.la@@' tools/Makefile.in - substituteInPlace tools/Makefile.in --replace 'install-localstatelibDATA:' 'disabled:' - ''; + inherit libs; - postConfigure = "cd tools"; + tools = dbus_drv "tools" "tools" { + configureFlags = [ "--with-dbus-daemondir=${daemon}/bin" ]; + buildInputs = buildInputsX ++ [ libs daemon systemd dbus_glib ]; + NIX_CFLAGS_LINK = "-Wl,--as-needed -ldbus-1"; + }; - installFlags = "localstatedir=$TMPDIR/var"; + daemon = dbus_drv "daemon" "bus" { + preBuild = makeInternalLib; + buildInputs = [ systemd ]; }; - # I'm too lazy to separate daemon and libs now. - daemon = libs; + # Some of the tests don't work yet; in fact, @vcunat tried several packages + # containing dbus testing, and all of them have some test failure. + tests = dbus_drv "tests" "test" { + preBuild = makeInternalLib; + buildInputs = buildInputsX ++ [ systemd libs tools daemon dbus_glib python ]; + NIX_CFLAGS_LINK = "-Wl,--as-needed -ldbus-1"; + }; + + docs = dbus_drv "docs" "doc" { + postInstall = ''rm -r "$out/lib"''; + }; } diff --git a/pkgs/development/libraries/dbus/implement-getgrouplist.patch b/pkgs/development/libraries/dbus/implement-getgrouplist.patch new file mode 100644 index 000000000000..e3a4a25cb720 --- /dev/null +++ b/pkgs/development/libraries/dbus/implement-getgrouplist.patch @@ -0,0 +1,108 @@ +Compatibility patch for Illumos/Solaris and possibly other platforms. +Implements getgrouplist when not provided by OS. +Without it, only the user's primary group is used in authentication! +--- 1970-01-01 00:00:00.000000000 +0000 ++++ dbus-1.6.8/dbus/getgrouplist.c 2013-02-28 13:10:51.081792722 +0000 +@@ -0,0 +1,89 @@ ++/* $OpenBSD: getgrouplist.c,v 1.12 2005/08/08 08:05:34 espie Exp $ */ ++/* ++ * Copyright (c) 1991, 1993 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. Redistributions in binary form must reproduce the above copyright ++ * notice, this list of conditions and the following disclaimer in the ++ * documentation and/or other materials provided with the distribution. ++ * 3. Neither the name of the University nor the names of its contributors ++ * may be used to endorse or promote products derived from this software ++ * without specific prior written permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++ * SUCH DAMAGE. ++ */ ++ ++/* OPENBSD ORIGINAL: lib/libc/gen/getgrouplist.c */ ++ ++/* ++ * get credential ++ */ ++#include ++#include ++#include ++#include ++ ++int ++getgrouplist(const char *uname, gid_t agroup, gid_t *groups, int *grpcnt) ++{ ++ struct group *grp; ++ int i, ngroups; ++ int ret, maxgroups; ++ int bail; ++ ++ ret = 0; ++ ngroups = 0; ++ maxgroups = *grpcnt; ++ ++ /* ++ * install primary group ++ */ ++ if (ngroups >= maxgroups) { ++ *grpcnt = ngroups; ++ return (-1); ++ } ++ groups[ngroups++] = agroup; ++ ++ /* ++ * Scan the group file to find additional groups. ++ */ ++ setgrent(); ++ while ((grp = getgrent())) { ++ if (grp->gr_gid == agroup) ++ continue; ++ for (bail = 0, i = 0; bail == 0 && i < ngroups; i++) ++ if (groups[i] == grp->gr_gid) ++ bail = 1; ++ if (bail) ++ continue; ++ for (i = 0; grp->gr_mem[i]; i++) { ++ if (!strcmp(grp->gr_mem[i], uname)) { ++ if (ngroups >= maxgroups) { ++ ret = -1; ++ goto out; ++ } ++ groups[ngroups++] = grp->gr_gid; ++ break; ++ } ++ } ++ } ++out: ++ endgrent(); ++ *grpcnt = ngroups; ++ return (ret); ++} +--- dbus-1.6.8/dbus/dbus-sysdeps-unix.c.orig 2013-02-28 13:08:52.171215237 +0000 ++++ dbus-1.6.8/dbus/dbus-sysdeps-unix.c 2013-02-28 13:13:52.224615146 +0000 +@@ -21,6 +21,10 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ ++#ifndef HAVE_GETGROUPLIST ++#include "getgrouplist.c" ++#define HAVE_GETGROUPLIST ++#endif + + #include + diff --git a/pkgs/development/libraries/dbus/no-create-dirs.patch b/pkgs/development/libraries/dbus/no-create-dirs.patch new file mode 100644 index 000000000000..cf10d9775991 --- /dev/null +++ b/pkgs/development/libraries/dbus/no-create-dirs.patch @@ -0,0 +1,26 @@ +diff --git a/bus/Makefile.am b/bus/Makefile.am +index 6cbc09a..be60bb8 100644 +--- a/bus/Makefile.am ++++ b/bus/Makefile.am +@@ -212,7 +212,6 @@ clean-local: + /bin/rm *.bb *.bbg *.da *.gcov || true + + install-data-hook: +- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus + $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d + $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d + $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services +diff --git a/tools/Makefile.am b/tools/Makefile.am +index cfd54b8..b6e28f9 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -74,7 +74,7 @@ CLEANFILES = \ + + # create the /var/lib/dbus directory for dbus-uuidgen + install-data-local: +- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus ++ : + + installcheck-local: +- test -d $(DESTDIR)$(localstatedir)/lib/dbus ++ : diff --git a/pkgs/development/libraries/dbus/systemd.patch b/pkgs/development/libraries/dbus/systemd.patch new file mode 100644 index 000000000000..7e6cb1f87d07 --- /dev/null +++ b/pkgs/development/libraries/dbus/systemd.patch @@ -0,0 +1,14 @@ +diff --git a/configure.ac b/configure.ac +index 24fcc9e..98e0459 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1167,7 +1167,8 @@ else + PKG_CHECK_MODULES(SYSTEMD, + [libsystemd-login >= 32, libsystemd-daemon >= 32], + have_systemd=yes, +- have_systemd=no) ++ have_systemd=yes) ++ AC_MSG_NOTICE([NixOS: do not care whether we found systemd or not]) + fi + + if test x$have_systemd = xyes; then diff --git a/pkgs/development/libraries/dbus/ucred-dirty-hack.patch b/pkgs/development/libraries/dbus/ucred-dirty-hack.patch new file mode 100644 index 000000000000..a07abcc15fb0 --- /dev/null +++ b/pkgs/development/libraries/dbus/ucred-dirty-hack.patch @@ -0,0 +1,18 @@ +diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c +index b4ecc96..267984a 100644 +--- a/dbus/dbus-sysdeps-unix.c ++++ b/dbus/dbus-sysdeps-unix.c +@@ -1635,6 +1635,13 @@ write_credentials_byte (int server_fd, + } + } + ++struct ucred ++{ ++ pid_t pid; /* PID of sending process. */ ++ uid_t uid; /* UID of sending process. */ ++ gid_t gid; /* GID of sending process. */ ++}; ++ + /** + * Reads a single byte which must be nul (an error occurs otherwise), + * and reads unix credentials if available. Clears the credentials diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix index 116fe3c0c20f..2067f3457b63 100644 --- a/pkgs/development/libraries/fontconfig/default.nix +++ b/pkgs/development/libraries/fontconfig/default.nix @@ -1,18 +1,26 @@ { stdenv, fetchurl, pkgconfig, freetype, expat }: stdenv.mkDerivation rec { - name = "fontconfig-2.10.1"; + name = "fontconfig-2.10.2"; src = fetchurl { - url = "http://fontconfig.org/release/${name}.tar.gz"; - sha256 = "08h252crb3aqciwdk81jypmz2i7618dzqn3zlr87w1f017wjp4f3"; + url = "http://fontconfig.org/release/${name}.tar.bz2"; + sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f"; }; - buildInputs = [ pkgconfig freetype ]; + infinality_patch = with freetype.infinality; if useInfinality + then let subvers = "1"; + in fetchurl { + url = "${base_URL}/fontconfig-infinality-1-${vers}_${subvers}.tar.bz2"; + sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7"; + } + else null; - propagatedBuildInputs = [ expat ]; # !!! shouldn't be necessary, but otherwise pango breaks + buildInputs = [ pkgconfig freetype expat ]; - configureFlags = "--with-confdir=/etc/fonts --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts="; + #propagatedBuildInputs = [ expat ]; # !!! shouldn't be necessary, but otherwise pango breaks + + configureFlags = "--sysconfdir=/etc --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts="; # We should find a better way to access the arch reliably. crossArch = stdenv.cross.arch or null; @@ -26,7 +34,11 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; # Don't try to write to /etc/fonts or /var/cache/fontconfig at install time. - installFlags = "CONFDIR=$(out)/etc/fonts RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy"; + installFlags = "sysconfdir=$(out)/etc RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy"; + + postInstall = if !freetype.infinality.useInfinality then "" else '' + cd "$out/etc/fonts" && tar xvf ${infinality_patch} + ''; meta = { description = "A library for font customization and configuration"; diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix index b26789930a4b..cff22e9bc577 100644 --- a/pkgs/development/libraries/freetype/default.nix +++ b/pkgs/development/libraries/freetype/default.nix @@ -1,22 +1,50 @@ { stdenv, fetchurl, gnumake -, # FreeType supports sub-pixel rendering. This is patented by + # FreeType supports sub-pixel rendering. This is patented by # Microsoft, so it is disabled by default. This option allows it to # be enabled. See http://www.freetype.org/patents.html. - useEncumberedCode ? false +, useEncumberedCode ? false +, useInfinality ? true }: +assert !(useEncumberedCode && useInfinality); # probably wouldn't make sense + +let + + version = "2.4.11"; + + infinality = rec { + inherit useInfinality; + vers = "20130104"; + subvers = "04"; + sha256 = "0dqglig34lfcw0w6sm6vmich0pcvq303vyh8jzqapvxgvrpr2156"; + + base_URL = "http://www.infinality.net/fedora/linux/zips"; + url = "${base_URL}/freetype-infinality-${version}-${vers}_${subvers}-x86_64.tar.bz2"; + }; + +in + stdenv.mkDerivation rec { - name = "freetype-2.4.10"; + name = "freetype-${version}"; src = fetchurl { url = "mirror://sourceforge/freetype/${name}.tar.bz2"; - sha256 = "0bwrkqpygayfc1rf6rr1nb8l3svgn1fmjz8davg2hnf46cn293hc"; + sha256 = "0gxyzxqpyf8g85y6g1zc1wqrh71prbbk8xfw4m8rwzb4ck5hp7gg"; }; + infinality_patch = if useInfinality + then fetchurl { inherit (infinality) url sha256; } + else null; + configureFlags = "--disable-static"; - NIX_CFLAGS_COMPILE = stdenv.lib.optionalString useEncumberedCode - "-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1"; + NIX_CFLAGS_COMPILE = with stdenv.lib; + " -fno-strict-aliasing" # from Gentoo, see https://bugzilla.redhat.com/show_bug.cgi?id=506840 + + optionalString useEncumberedCode " -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1" + + optionalString useInfinality " -DTT_CONFIG_OPTION_SUBPIXEL_HINTING=1"; + + patches = [ ./enable-validation.patch ] # from Gentoo + ++ stdenv.lib.optional useInfinality [ infinality_patch ]; # The asm for armel is written with the 'asm' keyword. CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99"; @@ -26,6 +54,8 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + doCheck = true; + postInstall = '' ln -s freetype2/freetype $out/include/freetype @@ -38,9 +68,12 @@ stdenv.mkDerivation rec { configureFlags = "--disable-static CC_BUILD=gcc"; }; + passthru = { inherit infinality; }; # for fontconfig + meta = { description = "A font rendering engine"; homepage = http://www.freetype.org/; - license = "GPLv2+"; # or the FreeType License (BSD + advertising clause) + license = if useEncumberedCode then "unfree" + else "GPLv2+"; # or the FreeType License (BSD + advertising clause) }; } diff --git a/pkgs/development/libraries/freetype/enable-validation.patch b/pkgs/development/libraries/freetype/enable-validation.patch new file mode 100644 index 000000000000..44f3bf6e1c94 --- /dev/null +++ b/pkgs/development/libraries/freetype/enable-validation.patch @@ -0,0 +1,22 @@ +Enables gxvalid and otvalid modules for use with ftvalid. + +--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400 ++++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400 +@@ -110,7 +110,7 @@ + AUX_MODULES += cache + + # TrueType GX/AAT table validation. Needs ftgxval.c below. +-# AUX_MODULES += gxvalid ++AUX_MODULES += gxvalid + + # Support for streams compressed with gzip (files with suffix .gz). + # +@@ -124,7 +124,7 @@ + + # OpenType table validation. Needs ftotval.c below. + # +-# AUX_MODULES += otvalid ++AUX_MODULES += otvalid + + # Auxiliary PostScript driver component to share common code. + # diff --git a/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix b/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix deleted file mode 100644 index 2876c9b94341..000000000000 --- a/pkgs/development/libraries/gdk-pixbuf/2.26.x.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz, jasper }: - -stdenv.mkDerivation rec { - name = "gdk-pixbuf-2.26.1"; - - src = fetchurl { - url = "mirror://gnome/sources/gdk-pixbuf/2.26/${name}.tar.xz"; - sha256 = "a60af12b58d9cc15ba4c680c6730ce5d38e8d664af1d575a379385b94b4ec7ba"; - }; - - # !!! We might want to factor out the gdk-pixbuf-xlib subpackage. - buildInputs = [ libX11 ]; - - nativeBuildInputs = [ pkgconfig ]; - - propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ]; - - configureFlags = "--with-libjasper --with-x11"; - - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { - description = "A library for image loading and manipulation"; - - homepage = http://library.gnome.org/devel/gdk-pixbuf/; - - maintainers = [ stdenv.lib.maintainers.eelco ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix new file mode 100644 index 000000000000..c466905e4917 --- /dev/null +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz +, jasper }: + +stdenv.mkDerivation rec { + name = "gdk-pixbuf-2.28.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gdk-pixbuf/2.28/${name}.tar.xz"; + sha256 = "1fy2a05xhfg7gy4l4aajsbmgj62zxhikdxqh6bicihxmzm1vg85y"; + }; + + # !!! We might want to factor out the gdk-pixbuf-xlib subpackage. + buildInputs = [ libX11 ]; + + nativeBuildInputs = [ pkgconfig ]; + + propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ]; + + configureFlags = "--with-libjasper --with-x11"; + + postInstall = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "A library for image loading and manipulation"; + + homepage = http://library.gnome.org/devel/gdk-pixbuf/; + + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/glib/2.34.x.nix b/pkgs/development/libraries/glib/2.34.x.nix deleted file mode 100644 index 69ed44aeccaa..000000000000 --- a/pkgs/development/libraries/glib/2.34.x.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrNull, zlib, libffi -, python, pcre }: - -# TODO: -# * Add gio-module-fam -# Problem: cyclic dependency on gamin -# Possible solution: build as a standalone module, set env. vars -# * Make it build without python -# Problem: an example (test?) program needs it. -# Possible solution: disable compilation of this example somehow -# Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i -# $out/bin/gtester-report' to postInstall if this is solved - -stdenv.mkDerivation (rec { - name = "glib-2.34.0"; - - src = fetchurl { - url = "mirror://gnome/sources/glib/2.34/${name}.tar.xz"; - sha256 = "f69b112f8848be35139d9099b62bc81649241f78f6a775516f0d4c9b47f65144"; - }; - - # configure script looks for d-bus but it is only needed for tests - buildInputs = [ libiconvOrNull ]; - - nativeBuildInputs = [ perl pkgconfig gettext python ]; - - propagatedBuildInputs = [ pcre zlib libffi ]; - - configureFlags = "--with-pcre=system --disable-fam"; - - enableParallelBuilding = true; - - passthru.gioModuleDir = "lib/gio/modules"; - - postInstall = ''rm -rvf $out/share/gtk-doc''; - - meta = { - description = "GLib, a C library of programming buildings blocks"; - - longDescription = '' - GLib provides the core application building blocks for libraries - and applications written in C. It provides the core object - system used in GNOME, the main loop implementation, and a large - set of utility functions for strings and common data structures. - ''; - - homepage = http://www.gtk.org/; - - license = "LGPLv2+"; - - maintainers = with stdenv.lib.maintainers; [raskin urkud]; - platforms = stdenv.lib.platforms.linux; - }; -} - -// - -(stdenv.lib.optionalAttrs stdenv.isDarwin { - # XXX: Disable the NeXTstep back-end because stdenv.gcc doesn't support - # Objective-C. - postConfigure = - '' sed -i configure -e's/glib_have_cocoa=yes/glib_have_cocoa=no/g' - ''; -})) diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix new file mode 100644 index 000000000000..47d8d9433245 --- /dev/null +++ b/pkgs/development/libraries/glib/default.nix @@ -0,0 +1,82 @@ +{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrEmpty, zlib, libffi +, python, pcre, libelf }: + +# TODO: +# * Add gio-module-fam +# Problem: cyclic dependency on gamin +# Possible solution: build as a standalone module, set env. vars +# * Make it build without python +# Problem: an example (test?) program needs it. +# Possible solution: disable compilation of this example somehow +# Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i +# $out/bin/gtester-report' to postInstall if this is solved + +let + # some packages don't get "Cflags" from pkgconfig correctly + # and then fail to build when directly including like + flattenInclude = '' + for dir in $out/include/*; do + cp -r $dir/* "$out/include/" + rm -r "$dir" + ln -s . "$dir" + done + ln -sr -t "$out/include/" $out/lib/*/include/* 2>/dev/null || true + ''; +in + +stdenv.mkDerivation (rec { + name = "glib-2.36.1"; + + src = fetchurl { + url = "mirror://gnome/sources/glib/2.36/${name}.tar.xz"; + sha256 = "090bw5par3dfy5m6dhq393pmy92zpw3d7rgbzqjc14jfg637bqvx"; + }; + + # configure script looks for d-bus but it is only needed for tests + buildInputs = [ libelf ] ++ libiconvOrEmpty; + + nativeBuildInputs = [ perl pkgconfig gettext python ]; + + propagatedBuildInputs = [ pcre zlib libffi ]; + + configureFlags = "--with-pcre=system --disable-fam"; + + postConfigure = "sed '/SANE_MALLOC_PROTOS/s,^,//,' -i config.h"; # https://bugzilla.gnome.org/show_bug.cgi?id=698716 :-) + + enableParallelBuilding = true; + + postInstall = ''rm -rvf $out/share/gtk-doc''; + + passthru = { + gioModuleDir = "lib/gio/modules"; + inherit flattenInclude; + }; + + meta = { + description = "GLib, a C library of programming buildings blocks"; + + longDescription = '' + GLib provides the core application building blocks for libraries + and applications written in C. It provides the core object + system used in GNOME, the main loop implementation, and a large + set of utility functions for strings and common data structures. + ''; + + homepage = http://www.gtk.org/; + + license = "LGPLv2+"; + + maintainers = with stdenv.lib.maintainers; [raskin urkud]; + platforms = stdenv.lib.platforms.linux; + }; +} + +// + +(stdenv.lib.optionalAttrs stdenv.isDarwin { + # XXX: Disable the NeXTstep back-end because stdenv.gcc doesn't support + # Objective-C. + postConfigure = + '' sed -i configure -e's/glib_have_cocoa=yes/glib_have_cocoa=no/g' + ''; +})) diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix index 02145d08c289..99859b9f34ef 100644 --- a/pkgs/development/libraries/gmime/default.nix +++ b/pkgs/development/libraries/gmime/default.nix @@ -1,14 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, glib, zlib }: +{ stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror }: stdenv.mkDerivation rec { - name = "gmime-2.4.24"; - + name = "gmime-2.6.15"; + src = fetchurl { - url = "mirror://gnome/sources/gmime/2.4/${name}.tar.gz"; - sha256 = "2f538d68e215f075d16575a6da9acb87983db9e2df0d7d403858048881a0dd15"; + url = "mirror://gnome/sources/gmime/2.6/${name}.tar.xz"; + sha256 = "16n9gmlwn6rphi59hrwy6dpn785s3r13h2kmrn3k61l2kfws1hml"; }; - - buildInputs = [ pkgconfig glib zlib ]; + + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ glib zlib libgpgerror ]; meta = { homepage = http://spruce.sourceforge.net/gmime/; diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index fe1d519f5625..b96d5b25bb1c 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -1,9 +1,9 @@ -{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python }: +{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, gdk_pixbuf }: stdenv.mkDerivation rec { - name = "gobject-introspection-1.34.0"; + name = "gobject-introspection-1.34.2"; - buildInputs = [ flex bison glib pkgconfig python ]; + buildInputs = [ flex bison glib pkgconfig python gdk_pixbuf ]; propagatedBuildInputs = [ libffi ]; # Tests depend on cairo, which is undesirable (it pulls in lots of @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/gobject-introspection/1.34/${name}.tar.xz"; - sha256 = "80e211ea95404fc7c5fa3b04ba69ee0b29af70847af315155ab06b8cff832c85"; + sha256 = "0a9lq0y67sr3g37l1hy0biqn046jr9wnd05hvwi8j8g2bjilhydw"; }; postInstall = "rm -rf $out/share/gtk-doc"; diff --git a/pkgs/development/libraries/gtk+/2.24.x.nix b/pkgs/development/libraries/gtk+/2.24.x.nix deleted file mode 100644 index c259f7005730..000000000000 --- a/pkgs/development/libraries/gtk+/2.24.x.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, glib, atk, pango, cairo, perl, xlibs -, gdk_pixbuf, xz -, xineramaSupport ? true -, cupsSupport ? true, cups ? null -}: - -assert xineramaSupport -> xlibs.libXinerama != null; -assert cupsSupport -> cups != null; - -stdenv.mkDerivation rec { - name = "gtk+-2.24.14"; - - src = fetchurl { - url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz"; - sha256 = "8bd1b8b511a3004e8972badf467ce829e6855cdff15540b9344dc934c68008ac"; - }; - - enableParallelBuilding = true; - - nativeBuildInputs = [ perl pkgconfig ]; - - propagatedBuildInputs = - [ xlibs.xlibs glib atk pango gdk_pixbuf cairo - xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi - ] - ++ stdenv.lib.optional xineramaSupport xlibs.libXinerama - ++ stdenv.lib.optionals cupsSupport [ cups ]; - - configureFlags = "--with-xinput=yes"; - - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { - description = "A multi-platform toolkit for creating graphical user interfaces"; - - longDescription = '' - GTK+ is a highly usable, feature rich toolkit for creating - graphical user interfaces which boasts cross platform - compatibility and an easy to use API. GTK+ it is written in C, - but has bindings to many other popular programming languages - such as C++, Python and C# among others. GTK+ is licensed - under the GNU LGPL 2.1 allowing development of both free and - proprietary software with GTK+ without any license fees or - royalties. - ''; - - homepage = http://www.gtk.org/; - - license = "LGPLv2+"; - - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix new file mode 100644 index 000000000000..c8224fa18e6d --- /dev/null +++ b/pkgs/development/libraries/gtk+/2.x.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchurl, pkgconfig, glib, atk, pango, cairo, perl, xlibs +, gdk_pixbuf, xz +, xineramaSupport ? true +, cupsSupport ? true, cups ? null +}: + +assert xineramaSupport -> xlibs.libXinerama != null; +assert cupsSupport -> cups != null; + +stdenv.mkDerivation rec { + name = "gtk+-2.24.17"; + + src = fetchurl { + url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz"; + sha256 = "05gl82k82w3gjrzr4vmj3ski7mp1b0jbhc49wgl9hv8mc2sb4iz9"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ perl pkgconfig ]; + + propagatedBuildInputs = with xlibs; + [ glib cairo pango gdk_pixbuf atk + libXrandr libXrender libXcomposite libXi libXcursor + ] + ++ stdenv.lib.optional xineramaSupport libXinerama + ++ stdenv.lib.optionals cupsSupport [ cups ]; + + configureFlags = "--with-xinput=yes"; + + postInstall = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "A multi-platform toolkit for creating graphical user interfaces"; + + longDescription = '' + GTK+ is a highly usable, feature rich toolkit for creating + graphical user interfaces which boasts cross platform + compatibility and an easy to use API. GTK+ it is written in C, + but has bindings to many other popular programming languages + such as C++, Python and C# among others. GTK+ is licensed + under the GNU LGPL 2.1 allowing development of both free and + proprietary software with GTK+ without any license fees or + royalties. + ''; + + homepage = http://www.gtk.org/; + + license = "LGPLv2+"; + + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/gtk+/3-default.nix b/pkgs/development/libraries/gtk+/3-default.nix new file mode 100644 index 000000000000..1b296e2c3985 --- /dev/null +++ b/pkgs/development/libraries/gtk+/3-default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchurl, pkgconfig +, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, xlibs +, xineramaSupport ? true +, cupsSupport ? true, cups ? null +}: + +assert xineramaSupport -> xlibs.libXinerama != null; +assert cupsSupport -> cups != null; + +stdenv.mkDerivation rec { + name = "gtk+-3.8.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gtk+/3.8/${name}.tar.xz"; + sha256 = "0bi5dip7l6d08c6v9c9aipwsi8hq38xjljqv86nmnpvbkpc4a4yv"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ pkgconfig ]; + propagatedBuildInputs = with xlibs; [ + expat glib cairo pango gdk_pixbuf atk at_spi2_atk + libXrandr libXrender libXcomposite libXi libXcursor + ] ++ stdenv.lib.optional xineramaSupport libXinerama + ++ stdenv.lib.optionals cupsSupport [ cups ]; + + postInstall = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "A multi-platform toolkit for creating graphical user interfaces"; + + longDescription = '' + GTK+ is a highly usable, feature rich toolkit for creating + graphical user interfaces which boasts cross platform + compatibility and an easy to use API. GTK+ it is written in C, + but has bindings to many other popular programming languages + such as C++, Python and C# among others. GTK+ is licensed + under the GNU LGPL 2.1 allowing development of both free and + proprietary software with GTK+ without any license fees or + royalties. + ''; + + homepage = http://www.gtk.org/; + + license = "LGPLv2+"; + + maintainers = with stdenv.lib.maintainers; [urkud raskin]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/gtk+/3.2.x.nix b/pkgs/development/libraries/gtk+/3.2.x.nix deleted file mode 100644 index cace1b626f49..000000000000 --- a/pkgs/development/libraries/gtk+/3.2.x.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, glib, atk, pango, cairo, perl, xlibs -, gdk_pixbuf, xz -, xineramaSupport ? true -, cupsSupport ? true, cups ? null -}: - -assert xineramaSupport -> xlibs.libXinerama != null; -assert cupsSupport -> cups != null; - -stdenv.mkDerivation rec { - name = "gtk+-3.2.4"; - - src = fetchurl { - url = "mirror://gnome/sources/gtk+/3.2/${name}.tar.xz"; - sha256 = "f981bf514858c00d7084bd6f6c34b3c60b8aebdb959e7aca6faa59ed67c136bd"; - }; - - enableParallelBuilding = true; - - nativeBuildInputs = [ perl pkgconfig ]; - - propagatedBuildInputs = - [ xlibs.xlibs glib atk pango gdk_pixbuf cairo - xlibs.libXrandr xlibs.libXrender xlibs.libXcomposite xlibs.libXi - ] - ++ stdenv.lib.optional xineramaSupport xlibs.libXinerama - ++ stdenv.lib.optionals cupsSupport [ cups ]; - - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { - description = "A multi-platform toolkit for creating graphical user interfaces"; - - longDescription = '' - GTK+ is a highly usable, feature rich toolkit for creating - graphical user interfaces which boasts cross platform - compatibility and an easy to use API. GTK+ it is written in C, - but has bindings to many other popular programming languages - such as C++, Python and C# among others. GTK+ is licensed - under the GNU LGPL 2.1 allowing development of both free and - proprietary software with GTK+ without any license fees or - royalties. - ''; - - homepage = http://www.gtk.org/; - - license = "LGPLv2+"; - - maintainers = with stdenv.lib.maintainers; [urkud raskin]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index d3681b4b3867..5c4a13fe507c 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }: -stdenv.mkDerivation { - name = "gtkmm-3.2.0"; +stdenv.mkDerivation rec { + name = "gtkmm-3.7.12"; # gnome 3.8 release; stable 3.6 has problems with our new glibc src = fetchurl { - url = mirror://gnome/sources/gtkmm/3.2/gtkmm-3.2.0.tar.xz; - sha256 = "1wkljr2vjvjg5mggi4rvk9k4j2kzh8lc106k2yp8gqjlhk2xm5b1"; + url = "mirror://gnome/sources/gtkmm/3.7/${name}.tar.xz"; + sha256 = "05nrilm34gid7kqlq09hcdd7942prn2vbr1qgqvdhgy4x8pvz9p9"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 5755e747a6b5..8c848218d30f 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib, freetype }: stdenv.mkDerivation rec { - name = "harfbuzz-0.9.4"; + name = "harfbuzz-0.9.12"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "2572f9a810d17a735ef565115463827d075af2371ee5b68e6d77231381f4bddc"; + sha256 = "19cx5y2m20rp7z5j7mwqfb4ph2g8lrri69zim44x362y4w5gfly6"; }; buildInputs = [ pkgconfig glib freetype ]; diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix index 6d56cd446338..710f6bd87009 100644 --- a/pkgs/development/libraries/libcanberra/default.nix +++ b/pkgs/development/libraries/libcanberra/default.nix @@ -1,25 +1,25 @@ { stdenv, fetchurl, pkgconfig, libtool, gtk ? null -, alsaLib, pulseaudio, gstreamer ? null, libvorbis, libcap }: +, alsaLib, pulseaudio, gstreamer, gst_plugins_base, libvorbis }: stdenv.mkDerivation rec { - name = "libcanberra-0.28"; + name = "libcanberra-0.30"; src = fetchurl { - url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.gz"; - sha256 = "1346d2y24wiyanyr5bvdnjjgq7iysy8nlq2dwjv0fzxdmcn8n7zb"; + url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.xz"; + sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2"; }; - buildInputs = - [ pkgconfig libtool alsaLib pulseaudio gstreamer libvorbis libcap gtk ]; + buildInputs = # ToDo: gstreamer not found (why?), add (g)udev? + [ pkgconfig libtool alsaLib pulseaudio /*gstreamer gst_plugins_base*/ libvorbis gtk ]; - configureFlags = "--disable-oss --disable-schemas-install"; + configureFlags = "--disable-oss"; passthru = { gtkModule = "/lib/gtk-2.0/"; }; meta = { - description = "libcanberra, an implementation of the XDG Sound Theme and Name Specifications"; + description = "An implementation of the XDG Sound Theme and Name Specifications"; longDescription = '' libcanberra is an implementation of the XDG Sound Theme and Name diff --git a/pkgs/development/libraries/libcroco/default.nix b/pkgs/development/libraries/libcroco/default.nix deleted file mode 100644 index 99604475e625..000000000000 --- a/pkgs/development/libraries/libcroco/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{stdenv, fetchurl, pkgconfig, libxml2, glib}: - -stdenv.mkDerivation { - name = "libcroco-0.6.4"; - - src = fetchurl { - url = mirror://gnome/sources/libcroco/0.6/libcroco-0.6.4.tar.xz; - sha256 = "1sij88na1skd4d5dx75l803fww3v9872q8m2hj6sjlkc839vl5n8"; - }; - buildInputs = [ pkgconfig libxml2 glib ]; -} diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index a2546bf2d69a..4e0038d4c34c 100644 --- a/pkgs/development/libraries/libdrm/default.nix +++ b/pkgs/development/libraries/libdrm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev }: stdenv.mkDerivation rec { - name = "libdrm-2.4.33"; - + name = "libdrm-2.4.42"; + src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd"; + sha256 = "1qbnpi64hyqzd650hj6jki1d50pzypdhj3rw9m3whwbqly110rz0"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index 0438816b1b4f..c262535a1f7d 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha1 = "c9998383532ba3e8bcaf690f2f0d65e814b48d2f"; + sha256 = "0gwnzqd64cpwdmk93nll54nidsr74jpimxzj4p4z7502ylwl66p4"; }; propagatedBuildInputs = [ libgpgerror ]; diff --git a/pkgs/development/libraries/libgnome-keyring/3.x.nix b/pkgs/development/libraries/libgnome-keyring/3.x.nix deleted file mode 100644 index 54a023a16f8b..000000000000 --- a/pkgs/development/libraries/libgnome-keyring/3.x.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, -intltool }: - -stdenv.mkDerivation { - name = "libgnome-keyring-3.2.2"; - - src = fetchurl { - url = mirror://gnome/sources/libgnome-keyring/3.2/libgnome-keyring-3.2.2.tar.xz; - sha256 = "1cxd2vb1lzm8smq1q45dsn13s6kdqdb60lashdk7hwv035xy9jrb"; - }; - - propagatedBuildInputs = [ glib dbus_libs libgcrypt ]; - nativeBuildInputs = [ pkgconfig intltool ]; - - meta = { - inherit (glib.meta) platforms maintainers; - }; -} diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix index eafa857598cb..eb0de7aa2bed 100644 --- a/pkgs/development/libraries/libgpg-error/default.nix +++ b/pkgs/development/libraries/libgpg-error/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation (rec { src = fetchurl { url = "mirror://gnupg/libgpg-error/${name}.tar.bz2"; - sha1 = "be209b013652add5c7e2c473ea114f58203cc6cd"; + sha256 = "1h0ql8j65ns2rmhj9wnc9035026crzkg226xg8614fq71947ccxf"; }; doCheck = true; diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix index 56f6242c09e8..35576baeb328 100644 --- a/pkgs/development/libraries/libgsf/default.nix +++ b/pkgs/development/libraries/libgsf/default.nix @@ -1,26 +1,21 @@ -{ fetchurl, stdenv, perl, perlXMLParser, pkgconfig, libxml2 -, gettext, intltool, bzip2, glib, python -, gnomeSupport ? true, gdk_pixbuf ? null -, gnome_vfs ? null, libbonobo ? null }: +{ fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2 +, python, libiconvOrEmpty +}: -assert gnomeSupport -> gdk_pixbuf != null && gnome_vfs != null && libbonobo != null - && glib != null; +with { inherit (stdenv.lib) optionals; }; stdenv.mkDerivation rec { name = "libgsf-1.14.25"; src = fetchurl { url = "mirror://gnome/sources/libgsf/1.14/${name}.tar.xz"; - sha256 = "127548f07e07951984fb139c3f89d65b9e471aefe6555387de03e1113944d1a2"; + sha256 = "18ni8hwi3q83vs3m6mg6xwd4g7jvss4kz70kzf21k587gvq4hx8j"; }; - nativeBuildInputs = [ intltool pkgconfig ]; - buildInputs = - [ perl perlXMLParser gettext bzip2 python ] - ++ stdenv.lib.optionals gnomeSupport [ gnome_vfs gdk_pixbuf ]; + nativeBuildInputs = [ pkgconfig intltool ]; + buildInputs = [ gettext bzip2 zlib python ]; - propagatedBuildInputs = [ libxml2 glib ] - ++ stdenv.lib.optionals gnomeSupport [ libbonobo ]; + propagatedBuildInputs = [ libxml2 glib ] ++ libiconvOrEmpty; doCheck = true; diff --git a/pkgs/development/libraries/libgweather/default.nix b/pkgs/development/libraries/libgweather/default.nix deleted file mode 100644 index 5e7a4cff741f..000000000000 --- a/pkgs/development/libraries/libgweather/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, libxml2, gtk3, intltool, libsoup, GConf3 }: - -stdenv.mkDerivation { - name = "libgweather-3.4.1"; - - src = fetchurl { - url = mirror://gnome/sources/libgweather/3.4/libgweather-3.4.1.tar.xz; - sha256 = "0q0vkggrbvy2ihwcsfynlv5qk9l3wjinls8yvmkb1qisyc4lv77f"; - }; - configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else ""; - propagatedBuildInputs = [ libxml2 gtk3 libsoup GConf3 ]; - nativeBuildInputs = [ pkgconfig intltool ]; -} diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix index ced11c0ef4da..95d060df7f7d 100644 --- a/pkgs/development/libraries/libmtp/default.nix +++ b/pkgs/development/libraries/libmtp/default.nix @@ -1,13 +1,17 @@ -{ stdenv, fetchurl, libusb }: +{ stdenv, fetchurl, pkgconfig, libusb1 }: stdenv.mkDerivation rec { - name = "libmtp-1.0.1"; + name = "libmtp-1.1.5"; - propagatedBuildInputs = [ libusb ]; + propagatedBuildInputs = [ libusb1 ]; + buildInputs = [ pkgconfig ]; + + # tried to install files to /lib/udev, hopefully OK + configureFlags = [ "--with-udev=$$out/lib/udev" ]; src = fetchurl { url = "mirror://sourceforge/libmtp/${name}.tar.gz"; - sha256 = "19iha1yi07cdqzlba4ng1mn7h701binalwwkb71q0ld9b88mad6s"; + sha256 = "0fn6y7kirgln6sfizmwvjsy7qkdb0p3rccf0zkr3r2xg3cbpjxkq"; }; meta = { diff --git a/pkgs/development/libraries/libpaper/default.nix b/pkgs/development/libraries/libpaper/default.nix new file mode 100644 index 000000000000..9505a6cf052f --- /dev/null +++ b/pkgs/development/libraries/libpaper/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + version = "1.1.24"; + name = "libpaper-${version}"; + + src = fetchurl { + url = "mirror://debian/pool/main/libp/libpaper/libpaper_${version}.tar.gz"; + sha256 = "0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q"; + }; + + meta = { + description = "Library for handling paper characteristics"; + homepage = "http://packages.debian.org/unstable/source/libpaper"; + license = "GPLv2"; + }; +} diff --git a/pkgs/development/libraries/libpng/15.nix b/pkgs/development/libraries/libpng/15.nix new file mode 100644 index 000000000000..8f62ef1e8dc9 --- /dev/null +++ b/pkgs/development/libraries/libpng/15.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, zlib }: + +assert zlib != null; + +stdenv.mkDerivation rec { + name = "libpng-1.5.15"; + + src = fetchurl { + url = "mirror://sourceforge/libpng/${name}.tar.xz"; + sha256 = "1iaplghmv5qhd4dgwfymhp42sh27vz6s2107jk698xm57z2v9hwm"; + }; + + propagatedBuildInputs = [ zlib ]; + + doCheck = true; + + passthru = { inherit zlib; }; + + meta = { + description = "The official reference implementation for the PNG file format"; + homepage = http://www.libpng.org/pub/png/libpng.html; + license = "free-non-copyleft"; # http://www.libpng.org/pub/png/src/libpng-LICENSE.txt + }; +} diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index ce23cf48587a..72821ef7028f 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,15 +3,17 @@ assert zlib != null; stdenv.mkDerivation rec { - name = "libpng-1.5.13"; + name = "libpng-1.6.2"; src = fetchurl { url = "mirror://sourceforge/libpng/${name}.tar.xz"; - sha256 = "1vks4mqv4140b10kp53qrywsx9m4xan5ibwsrlmf42ni075zjhxq"; + sha256 = "1pljkqjqgyz8c32w8fipd9f0v2gcyhah2ypp0h7ya1r1q85sk5qw"; }; propagatedBuildInputs = [ zlib ]; + doCheck = true; + passthru = { inherit zlib; }; meta = { diff --git a/pkgs/development/libraries/libpng/libpng-apng.nix b/pkgs/development/libraries/libpng/libpng-apng.nix index 534b0ae5a45f..bc6a773dba3b 100644 --- a/pkgs/development/libraries/libpng/libpng-apng.nix +++ b/pkgs/development/libraries/libpng/libpng-apng.nix @@ -1,29 +1,27 @@ { stdenv, fetchurl, zlib }: -assert zlib != null; - stdenv.mkDerivation rec { - version = "1.4.4"; + version = "1.5.14"; name = "libpng-apng-${version}"; - + patch_src = fetchurl { - url = "mirror://sourceforge/project/libpng-apng/libpng-master/${version}/libpng-${version}-apng.patch.gz"; - sha256 = "d729a2feacfd80547e06c30343d598302f4417cf2e6f649e4ee617690987bd24"; + url = "mirror://sourceforge/libpng-apng/libpng15/${version}/libpng-${version}-apng.patch.gz"; + sha256 = "1vcqbkdssy4srm8jqyzaipdc70xzanilqssypmwqyngp8ph0m45p"; }; src = fetchurl { - url = "mirror://sourceforge/libpng/libpng-${version}.tar.gz"; - sha256 = "d07616ba1e9c161017384feb3b576d70c160b970abfd9549ad39a622284b574a"; + url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz"; + sha256 = "0m3vz3gig7s63zanq5b1dgb5ph12qm0cylw4g4fbxlsq3f74hn8l"; }; preConfigure = '' gunzip < ${patch_src} | patch -Np1 ''; - + propagatedBuildInputs = [ zlib ]; passthru = { inherit zlib; }; - + meta = { description = "The official reference implementation for the PNG file format with animation patch"; homepage = http://www.libpng.org/pub/png/libpng.html; diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 0da302038769..13385dfb65c0 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -1,16 +1,24 @@ -{stdenv, fetchurl, pkgconfig, libxml2, libgsf, bzip2, glib, gtk, libcroco}: +{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo +, libxml2, libgsf, bzip2, libcroco +, gtk2 ? null, gtk3 ? null +, gobjectIntrospection ? null, enableIntrospection ? false }: -stdenv.mkDerivation { - name = "librsvg-2.34.2"; +# no introspection by default, it's too big + +stdenv.mkDerivation rec { + name = "librsvg-2.36.4"; src = fetchurl { - url = mirror://gnome/sources/librsvg/2.34/librsvg-2.34.2.tar.xz; - sha256 = "0r24xr10chmz4l3ka2zy9c2245s7svzljbw9nrda3h44bcr03rsx"; + url = "mirror://gnome/sources/librsvg/2.36/${name}.tar.xz"; + sha256 = "1hp6325gdkzx8yqn2d2r915ak3k6hfshjjh0sc54z3vr0i99688h"; }; - buildInputs = [ libxml2 libgsf bzip2 libcroco ]; - propagatedBuildInputs = [ glib gtk ]; + buildInputs = [ libxml2 libgsf bzip2 libcroco pango cairo ] + ++ stdenv.lib.optional enableIntrospection [ gobjectIntrospection ]; + propagatedBuildInputs = [ glib gdk_pixbuf gtk2 gtk3 ]; nativeBuildInputs = [ pkgconfig ]; + configureFlags = ["--enable-introspection=auto"]; + # It wants to add loaders and update the loaders.cache in gdk-pixbuf # Patching the Makefiles to it creates rsvg specific loaders and the # relevant loader.cache here. diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index ba5966d13d4b..e073717de568 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, zlib, libjpeg }: -let version = "3.9.7"; in +let version = "4.0.3"; in stdenv.mkDerivation rec { name = "libtiff-${version}"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { [ "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${version}.tar.gz" "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz" ]; - sha256 = "0spg1hr5rsrmg88sfzb05qnf0haspq7r5hvdkxg5zib1rva4vmpm"; + sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa"; }; propagatedBuildInputs = [ zlib libjpeg ]; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { meta = { description = "Library and utilities for working with the TIFF image file format"; - homepage = http://www.libtiff.org/; + homepage = http://www.remotesensing.org/libtiff/; license = "bsd"; }; } diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index 8a1580d4fbe8..811909c659d2 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, pkgconfig }: stdenv.mkDerivation rec { name = "libusb-1.0.9"; @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "16sz34ix6hw2wwl3kqx6rf26fg210iryr68wc439dc065pffw879"; }; + buildInputs = [ pkgconfig ]; + meta = { homepage = http://www.libusb.org; description = "User-space USB library"; diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix index 92ab8d67c91e..158106247055 100644 --- a/pkgs/development/libraries/libvdpau/default.nix +++ b/pkgs/development/libraries/libvdpau/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, pkgconfig, libX11 }: +{ stdenv, fetchurl, pkgconfig, xlibs }: stdenv.mkDerivation rec { - name = "libvdpau-0.5"; - + name = "libvdpau-0.6"; + src = fetchurl { url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz"; - sha256 = "0k2ydz4yp7zynlkpd1llfwax30xndwbca36z83ah1i4ldjw2gfhx"; + sha256 = "0x9dwxzw0ilsy88kqlih3170z1zfrrsx1dr9jbwbn0cbkpnbwmcv"; }; - buildInputs = [ pkgconfig libX11 ]; + buildInputs = with xlibs; [ pkgconfig dri2proto libXext ]; - propagatedBuildInputs = [ libX11 ]; + propagatedBuildInputs = [ xlibs.libX11 ]; meta = { homepage = http://people.freedesktop.org/~aplattner/vdpau/; diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix new file mode 100644 index 000000000000..4a1327778d47 --- /dev/null +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, yacc, flex, xkeyboard_config }: + +stdenv.mkDerivation rec { + name = "libxkbcommon-0.2.0"; + + src = fetchurl { + url = "http://xkbcommon.org/download/${name}.tar.bz2"; + sha256 = "0hpvfa8p4bhvhc1gcb578m354p5idd192xb8zlaq16d33h90msvl"; + }; + + buildInputs = [ yacc flex xkeyboard_config ]; + + configureFlags = '' + --with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb + ''; + + meta = { + description = "A library to handle keyboard descriptions"; + homepage = http://xkbcommon.org; + }; +} diff --git a/pkgs/development/libraries/libxtc_dxtn/default.nix b/pkgs/development/libraries/libxtc_dxtn/default.nix index 0e7442633d77..a23d74a2be86 100644 --- a/pkgs/development/libraries/libxtc_dxtn/default.nix +++ b/pkgs/development/libraries/libxtc_dxtn/default.nix @@ -8,8 +8,5 @@ stdenv.mkDerivation rec { sha256 = "0q5fjaknl7s0z206dd8nzk9bdh8g4p23bz7784zrllnarl90saa5"; }; - postUnpack = '' - tar xf ${mesa.src} --wildcards '*/include/' - export NIX_CFLAGS_COMPILE="-I $NIX_BUILD_TOP/[mM]esa*/include" - ''; + NIX_CFLAGS_COMPILE = "-I ${mesa}/include"; } diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix new file mode 100644 index 000000000000..502329226ff3 --- /dev/null +++ b/pkgs/development/libraries/mesa-glu/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, mesa_noglu }: + +stdenv.mkDerivation rec { + name = "glu-9.0.0"; + + src = fetchurl { + url = "ftp://ftp.freedesktop.org/pub/mesa/glu/${name}.tar.bz2"; + sha256 = "04nzlil3a6fifcmb95iix3yl8mbxdl66b99s62yzq8m7g79x0yhz"; + }; + + buildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ mesa_noglu ]; + + meta = { + description = "OpenGL utility library"; + homepage = http://cgit.freedesktop.org/mesa/glu/; + license = "bsd"; # SGI-B-2.0, which seems BSD-like + }; +} diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index d3f7afbd3084..a07323b61b2e 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,41 +1,48 @@ -{ stdenv, fetchurl, flex, bison, pkgconfig, libdrm, file, expat, makedepend +{ stdenv, fetchurl, flex, bison, pkgconfig, intltool, libdrm, file, expat, makedepend , libXxf86vm, libXfixes, libXdamage, glproto, dri2proto, libX11, libxcb, libXext -, libXt, udev, enableTextureFloats ? false -, python, libxml2Python }: +, libXt, udev, enableTextureFloats ? false, enableR600LlvmCompiler ? false +, python, libxml2Python, autoconf, automake, libtool, llvm, writeText +, libffi, wayland }: if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then throw "unsupported platform for Mesa" else -let version = "8.0.4"; in - +let + version = "9.1.2"; +in stdenv.mkDerivation { - name = "mesa-${version}"; + name = "mesa-noglu-${version}"; src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - md5 = "d546f988adfdf986cff45b1efa2d8a46"; + sha256="1ns366armqmp2bxj1l7fff95v22b5z9mnkyykbdj81lhg9gi3586"; }; - patches = - stdenv.lib.optional (stdenv.system == "mips64el-linux") ./mips_wmb.patch; - prePatch = "patchShebangs ."; + preConfigure = "./autogen.sh"; + configureFlags = - " --enable-gles1 --enable-gles2 --enable-gallium-egl" - + " --with-gallium-drivers=i915,nouveau,r600,svga,swrast" + "" + + " --enable-gles1 --enable-gles2 --enable-gallium-egl" + + " --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" + + " --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi" + + stdenv.lib.optionalString enableR600LlvmCompiler " --enable-r600-llvm-compiler" # Texture floats are patented, see docs/patents.txt + stdenv.lib.optionalString enableTextureFloats " --enable-texture-float"; - buildInputs = [ expat libdrm libXxf86vm libXfixes libXdamage glproto dri2proto - libxml2Python libX11 libXext libxcb libXt udev ]; + buildInputs = [ + autoconf automake libtool intltool expat libxml2Python udev llvm + libdrm libXxf86vm libXfixes libXdamage glproto dri2proto libX11 libXext libxcb libXt + libffi wayland + ]; nativeBuildInputs = [ pkgconfig python makedepend file flex bison ]; enableParallelBuilding = true; - passthru = { inherit libdrm; }; + passthru = { inherit libdrm; inherit version; }; meta = { description = "An open source implementation of OpenGL"; diff --git a/pkgs/development/libraries/mesa/mips_wmb.patch b/pkgs/development/libraries/mesa/mips_wmb.patch deleted file mode 100644 index 1ffa1bdd8df4..000000000000 --- a/pkgs/development/libraries/mesa/mips_wmb.patch +++ /dev/null @@ -1,16 +0,0 @@ -rixed told me (viric) it's the patch to apply for mesa. -I adapted his patch for mesa 7.5 to this 7.10 - -diff --git a/src/mesa/drivers/dri/sis/sis_context.h b/src/mesa/drivers/dri/sis/sis_context.h -index a82a659..d8d8d9a 100644 ---- a/src/mesa/drivers/dri/sis/sis_context.h -+++ b/src/mesa/drivers/dri/sis/sis_context.h -@@ -404,6 +404,8 @@ struct sis_context - #define MMIO_WMB() __asm __volatile("" : : : "memory") - #elif defined(__ia64__) - #define MMIO_WMB() __asm __volatile("mf" : : : "memory") -+#elif defined(__mips__) -+#define MMIO_WMB() __asm __volatile("" : : : "memory") - #else - #error platform needs WMB - #endif diff --git a/pkgs/development/libraries/openjpeg/default.nix b/pkgs/development/libraries/openjpeg/default.nix index 6024456652c6..7fd18af450c3 100644 --- a/pkgs/development/libraries/openjpeg/default.nix +++ b/pkgs/development/libraries/openjpeg/default.nix @@ -1,13 +1,21 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, pkgconfig, libpng, libtiff, lcms2, glib/*passthru only*/ }: stdenv.mkDerivation rec { name = "openjpeg-1.5.1"; + passthru = { + incDir = "openjpeg-1.5"; + }; src = fetchurl { url = "http://openjpeg.googlecode.com/files/${name}.tar.gz"; sha256 = "13dbyf3jwr4h2dn1k11zph3jgx17z7d66xmi640mbsf8l6bk1yvc"; }; + nativebuildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ libpng libtiff lcms2 ]; # in closure anyway + + postInstall = glib.flattenInclude; + meta = { homepage = http://www.openjpeg.org/; description = "Open-source JPEG 2000 codec written in C language"; diff --git a/pkgs/development/libraries/pango/1.30.x.nix b/pkgs/development/libraries/pango/1.30.x.nix deleted file mode 100644 index c32891b95cfd..000000000000 --- a/pkgs/development/libraries/pango/1.30.x.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng, fontconfig }: - -stdenv.mkDerivation rec { - name = "pango-1.30.1"; - - src = fetchurl { - url = "mirror://gnome/sources/pango/1.30/${name}.tar.xz"; - sha256 = "3a8c061e143c272ddcd5467b3567e970cfbb64d1d1600a8f8e62435556220cbe"; - }; - - buildInputs = stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ]; - - nativeBuildInputs = [ pkgconfig ]; - - propagatedBuildInputs = [ x11 glib cairo libpng ]; - - enableParallelBuilding = true; - - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { - description = "A library for laying out and rendering of text, with an emphasis on internationalization"; - - longDescription = '' - Pango is a library for laying out and rendering of text, with an - emphasis on internationalization. Pango can be used anywhere - that text layout is needed, though most of the work on Pango so - far has been done in the context of the GTK+ widget toolkit. - Pango forms the core of text and font handling for GTK+-2.x. - ''; - - homepage = http://www.pango.org/; - license = "LGPLv2+"; - - maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; - platforms = stdenv.lib.platforms.linux; - }; -} diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix new file mode 100644 index 000000000000..418a2acb0b77 --- /dev/null +++ b/pkgs/development/libraries/pango/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, gettext, x11, glib, cairo, libpng, harfbuzz, fontconfig }: + +stdenv.mkDerivation rec { + name = "pango-1.32.5"; #.6 needs a not-yet-stable fontconfig + + src = fetchurl { + url = "mirror://gnome/sources/pango/1.32/${name}.tar.xz"; + sha256 = "08aqis6j8nd1lb4f2h4h9d9kjvp54iwf8zvqzss0qn4v7nfcjyvx"; + }; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ gettext fontconfig ]; + + nativeBuildInputs = [ pkgconfig ]; + + propagatedBuildInputs = [ x11 glib cairo libpng harfbuzz ]; + + enableParallelBuilding = true; + + postInstall = "rm -rf $out/share/gtk-doc"; + + meta = { + description = "A library for laying out and rendering of text, with an emphasis on internationalization"; + + longDescription = '' + Pango is a library for laying out and rendering of text, with an + emphasis on internationalization. Pango can be used anywhere + that text layout is needed, though most of the work on Pango so + far has been done in the context of the GTK+ widget toolkit. + Pango forms the core of text and font handling for GTK+-2.x. + ''; + + homepage = http://www.pango.org/; + license = "LGPLv2+"; + + maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/pangox-compat/default.nix b/pkgs/development/libraries/pangox-compat/default.nix new file mode 100644 index 000000000000..8518083b4d35 --- /dev/null +++ b/pkgs/development/libraries/pangox-compat/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, glib, pango, libX11 }: + +stdenv.mkDerivation rec { + name = "pangox-compat-0.0.2"; + + src = fetchurl { + url = "mirror://gnome/sources/pangox-compat/0.0/${name}.tar.xz"; + sha256 = "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m"; + }; + + buildInputs = [ pkgconfig glib pango libX11 ]; + + meta = { + description = "A compatibility library for pango>1.30.*"; + + homepage = http://www.pango.org/; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix new file mode 100644 index 000000000000..7fbcedda3956 --- /dev/null +++ b/pkgs/development/libraries/pixman/default.nix @@ -0,0 +1,22 @@ +{ fetchurl, stdenv, pkgconfig, perl, withPNG ? true, libpng, glib /*just passthru*/ }: + +stdenv.mkDerivation rec { + name = "pixman-0.28.2"; + + src = fetchurl { + url = "http://cairographics.org/releases/${name}.tar.gz"; + sha256 = "0mcvxd5gx3w1wzgph91l2vaiic91jmx7s01hi2igphyvd80ckyia"; + }; + + nativeBuildInputs = [ pkgconfig perl ]; + + buildInputs = stdenv.lib.optional withPNG [ libpng ]; # NOT in closure anyway + + postInstall = glib.flattenInclude; + + meta = { + homepage = http://pixman.org; + description = "A low-level library for pixel manipulation"; + license = "MIT"; + }; +} diff --git a/pkgs/development/libraries/poppler/0.18.nix b/pkgs/development/libraries/poppler/0.18.nix new file mode 100644 index 000000000000..3297b0a19e64 --- /dev/null +++ b/pkgs/development/libraries/poppler/0.18.nix @@ -0,0 +1,53 @@ +{ fetchurl, stdenv, cairo, freetype, fontconfig, zlib +, libjpeg, curl, libpthreadstubs, xorg, openjpeg +, libxml2, pkgconfig, cmake, lcms2 +, glibSupport ? false, glib, gtk3Support ? false, gtk3 # gtk2 no longer accepted +, qt4Support ? false, qt4 ? null +}: + +stdenv.mkDerivation rec { + name = "poppler-0.18.4"; + + src = fetchurl { + url = "${meta.homepage}${name}.tar.gz"; + sha256 = "0bnl05al7mjndp2h0355946j59nfw76f5v0x57d47q68rm412hik"; + }; + + propagatedBuildInputs = with xorg; + [ zlib cairo freetype fontconfig libjpeg lcms2 curl + libpthreadstubs libxml2 stdenv.gcc.libc + libXau libXdmcp libxcb libXrender libXext + openjpeg + ] + ++ stdenv.lib.optional glibSupport glib + ++ stdenv.lib.optional gtk3Support gtk3 + ++ stdenv.lib.optional qt4Support qt4; + + nativeBuildInputs = [ pkgconfig cmake ]; + + cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON"; + + patches = [ ./datadir_env.patch ]; + + # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files + # such as `../../../test/unittestcases/UseNone.pdf'. + #doCheck = !qt4Support; + checkTarget = "test"; + + enableParallelBuilding = true; + + meta = { + homepage = http://poppler.freedesktop.org/; + description = "Poppler, a PDF rendering library"; + + longDescription = '' + Poppler is a PDF rendering library based on the xpdf-3.0 code base. + ''; + + platforms = if qt4Support + then qt4.meta.platforms + else stdenv.lib.platforms.all; + + license = "GPLv2"; + }; +} diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index 1d796789210c..263162336485 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -1,50 +1,76 @@ -{ fetchurl, stdenv, cairo, freetype, fontconfig, zlib -, libjpeg, pixman, curl, libpthreadstubs, libXau, libXdmcp, openjpeg -, libxml2, pkgconfig, cmake, lcms -, gtkSupport ? false, glib ? null, gtk ? null +{ stdenv, fetchurl, fetchgit, cairo, freetype, fontconfig, zlib +, libjpeg, curl, libpthreadstubs, xorg, openjpeg +, libxml2, pkgconfig, cmake, lcms2 , qt4Support ? false, qt4 ? null }: -stdenv.mkDerivation rec { - name = "poppler-0.22.4"; +let + version = "0.22.3"; + sha256 = "0ca4jci8xmbdz4fhahdcck0cqms6ax55yggi2ih3clgrpqf96sli"; - src = fetchurl { - url = "${meta.homepage}${name}.tar.gz"; - sha256 = "0fz1vk0rbxvnv7ssj8l910k1rx0gjhzl5wr7hkdf4r9jwqs8yhsg"; - }; + qtcairo_patches = + let qtcairo = fetchgit { # the version for poppler-0.22 + url = "git://github.com/giddie/poppler-qt4-cairo-backend.git"; + rev = "7a12c58e5cefc2b7a5179c53b387fca8963195c0"; + sha256 = "1jg2d5y62d0bv206nijb63x426zfb2awy70505nx22d0fx1v1p9k"; + }; in + [ "${qtcairo}/0001-Cairo-backend-added-to-Qt4-wrapper.patch" + "${qtcairo}/0002-Setting-default-Qt4-backend-to-Cairo.patch" + "${qtcairo}/0003-Forcing-subpixel-rendering-in-Cairo-backend.patch" ]; + + poppler_drv = nameSuff: merge: stdenv.mkDerivation (stdenv.lib.mergeAttrsByFuncDefaultsClean [ + rec { + name = "poppler-${nameSuff}-${version}"; + + src = fetchurl { + url = "${meta.homepage}/poppler-${version}.tar.gz"; + inherit sha256; + }; + + propagatedBuildInputs = with xorg; + [ zlib cairo freetype fontconfig libjpeg lcms2 curl + libpthreadstubs libxml2 + libXau libXdmcp libxcb libXrender libXext + openjpeg + ]; + + nativeBuildInputs = [ pkgconfig cmake ]; - propagatedBuildInputs = - [ zlib cairo freetype fontconfig libjpeg lcms pixman curl - libpthreadstubs libXau libXdmcp openjpeg libxml2 stdenv.gcc.libc - ] - ++ stdenv.lib.optionals gtkSupport [ glib gtk ] - ++ stdenv.lib.optional qt4Support qt4; + cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON"; - nativeBuildInputs = [ pkgconfig cmake ]; + patches = [ ./datadir_env.patch ]; - cmakeFlags = "-DENABLE_XPDF_HEADERS=ON -DENABLE_LIBCURL=ON -DENABLE_ZLIB=ON"; + # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files + # such as `../../../test/unittestcases/UseNone.pdf'. + #doCheck = !qt4Support; + checkTarget = "test"; - patches = [ ./datadir_env.patch ]; + enableParallelBuilding = true; - # XXX: The Poppler/Qt4 test suite refers to non-existent PDF files - # such as `../../../test/unittestcases/UseNone.pdf'. - #doCheck = !qt4Support; - checkTarget = "test"; + meta = { + homepage = http://poppler.freedesktop.org/; + description = "A PDF rendering library"; - enableParallelBuilding = true; + longDescription = '' + Poppler is a PDF rendering library based on the xpdf-3.0 code base. + ''; - meta = { - homepage = http://poppler.freedesktop.org/; - description = "Poppler, a PDF rendering library"; + license = "GPLv2"; + }; + } merge ]); # poppler_drv - longDescription = '' - Poppler is a PDF rendering library based on the xpdf-3.0 code base. - ''; +in rec { + /* We always use cairo in poppler, so we always depend on glib, + so we always build the glib wrapper (~350kB). + We also always build the cpp wrapper (<100kB). + ToDo: around half the size could be saved by splitting out headers and tools (1.5 + 0.5 MB). + */ - platforms = if qt4Support - then qt4.meta.platforms - else stdenv.lib.platforms.all; + poppler_glib = poppler_drv "glib" { }; - license = "GPLv2"; + poppler_qt4 = poppler_drv "qt4" { + propagatedBuildInputs = [ qt4 poppler_glib ]; + patches = qtcairo_patches; + postConfigure = "cd qt4"; }; } diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix index 60d59030c1f3..5f66ad656940 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -20,7 +20,7 @@ let v = "4.8.4"; in # * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid # false build-time dependencies -stdenv.mkDerivation rec { +stdenv.mkDerivation ( rec { name = "qt-${v}"; src = fetchurl { @@ -147,3 +147,13 @@ stdenv.mkDerivation rec { platforms = platforms.linux; }; } + # ToDo: this attribute is optional *only* to prevent rebuild on hydra + // stdenv.lib.optionalAttrs developerBuild { + # fix underspecified dependency in a generated makefile + postConfigure = '' + substituteInPlace tools/designer/src/lib/Makefile --replace \ + "moc_qtgradientviewdialog.cpp:" "moc_qtgradientviewdialog.cpp: .uic/release-shared/ui_qtgradientview.h" + ''; + } +) + diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 9e00b0d8bcf5..8854a41210b6 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,23 +1,21 @@ { stdenv, fetchurl, libffi, expat, pkgconfig, libxslt, docbook_xsl, doxygen }: +let version = "1.0.5"; in + stdenv.mkDerivation rec { - name = "wayland-1.0.5"; + name = "wayland-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "130n7v5i7rfsrli2n8vdzfychlgd8v7by7sfgp8vfqdlss5km34w"; }; buildInputs = [ pkgconfig libffi expat libxslt docbook_xsl doxygen ]; meta = { - description = "The reference implementation of the Wayland protocol"; - - homepage = http://wayland.freedesktop.org; - - license = stdenv.lib.licenses.bsd3; - + description = "Reference implementation of the wayland protocol"; + homepage = http://wayland.freedesktop.org/; + license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix index 109077269544..e11de87415d0 100644 --- a/pkgs/development/libraries/wxGTK-2.8/default.nix +++ b/pkgs/development/libraries/wxGTK-2.8/default.nix @@ -7,12 +7,13 @@ assert withMesa -> mesa != null; with stdenv.lib; -stdenv.mkDerivation { - name = "wxGTK-2.8.12"; +stdenv.mkDerivation rec { + version = "2.8.12.1"; + name = "wxGTK-${version}"; src = fetchurl { - url = mirror://sourceforge/wxwindows/wxGTK-2.8.12.tar.gz; - sha256 = "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"; + url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2"; + sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz"; }; buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf ] @@ -29,11 +30,12 @@ stdenv.mkDerivation { "--enable-mediactrl" ] ++ optional withMesa "--with-opengl"; - # This variable is used by configure to find some dependencies. + # These variables are used by configure to find some dependencies. SEARCH_INCLUDE = "${libXinerama}/include ${libSM}/include ${libXxf86vm}/include"; - - SEARCH_LIB = optionalString withMesa "${mesa}/lib"; + SEARCH_LIB = + "${libXinerama}/lib ${libSM}/lib ${libXxf86vm}/lib " + + optionalString withMesa "${mesa}/lib "; # Work around a bug in configure. NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1"; diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix index 0ca8b6eb0714..b2a400a61891 100644 --- a/pkgs/development/tools/misc/intltool/default.nix +++ b/pkgs/development/tools/misc/intltool/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, perl, perlXMLParser}: +{ stdenv, fetchurl, perl, perlXMLParser, gettext }: let s = # Generated upstream information rec { @@ -12,12 +12,15 @@ let propagatedBuildInputs = [perl perlXMLParser]; buildInputs = []; in -stdenv.mkDerivation rec { +stdenv.mkDerivation { inherit (s) name version; src = fetchurl { inherit (s) url sha256; }; - inherit propagatedBuildInputs buildInputs; + inherit buildInputs; + + # not needed by intltool itself but (probably) needed for its usage + propagatedBuildInputs = propagatedBuildInputs ++ [ gettext ]; meta = { description = "Translation helper tool"; diff --git a/pkgs/development/tools/misc/intltool/default.upstream b/pkgs/development/tools/misc/intltool/default.upstream index 4a2965b036af..323bf21f45a1 100644 --- a/pkgs/development/tools/misc/intltool/default.upstream +++ b/pkgs/development/tools/misc/intltool/default.upstream @@ -1,2 +1,2 @@ -attribute_name intltool_standalone +attribute_name intltool url https://launchpad.net/intltool/+download -- cgit 1.4.1