diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index d20010c70a6..f06544fecc7 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -72,7 +72,8 @@ in pkgs.xfce.thunar_volman pkgs.xfce.gvfs pkgs.xfce.xfce4_appfinder - pkgs.xfce.tumbler + pkgs.xfce.tumbler # found via dbus + pkgs.xfce.xfce4notifyd # found via dbus ] ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager; diff --git a/pkgs/applications/audio/gmpc/default.nix b/pkgs/applications/audio/gmpc/default.nix index 10a2f0dcee9..728155c02bd 100644 --- a/pkgs/applications/audio/gmpc/default.nix +++ b/pkgs/applications/audio/gmpc/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, libtool, intltool, pkgconfig, glib -, gtk, curl, mpd_clientlib, libsoup, gob2, vala +, gtk, curl, mpd_clientlib, libsoup, gob2, vala, libunique }: stdenv.mkDerivation rec { @@ -15,22 +15,6 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig glib ]; }; - libunique = stdenv.mkDerivation { - name = "libunique-1.1.6"; - src = fetchurl { - url = http://ftp.gnome.org/pub/GNOME/sources/libunique/1.1/libunique-1.1.6.tar.gz; - sha256 = "2cb918dde3554228a211925ba6165a661fd782394bd74dfe15e3853dc9c573ea"; - }; - buildInputs = [ pkgconfig glib gtk ]; - - patches = [ - (fetchurl { - url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/remove_G_CONST_RETURN.patch?h=packages/libunique"; - sha256 = "0da2qi7cyyax4rr1p25drlhk360h8d3lapgypi5w95wj9k6bykhr"; - }) - ]; - }; - src = fetchurl { url = "http://download.sarine.nl/Programs/gmpc/11.8/gmpc-11.8.16.tar.gz"; sha256 = "0b3bnxf98i5lhjyljvgxgx9xmb6p46cn3a9cccrng14nagri9556"; diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix index 18e263dae67..c558b483e97 100644 --- a/pkgs/applications/editors/emacs-24/default.nix +++ b/pkgs/applications/editors/emacs-24/default.nix @@ -2,7 +2,7 @@ , pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif , libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls , alsaLib, cairo -, withX ? true +, withX ? !stdenv.isDarwin }: assert (libXft != null) -> libpng != null; # probably a bug diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index a3d6eca4fa6..66a7f334dbd 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -18,14 +18,14 @@ }: let - version = "6.8.7-5"; + version = "6.8.7-6"; in stdenv.mkDerivation rec { name = "ImageMagick-${version}"; src = fetchurl { url = "mirror://imagemagick/${name}.tar.xz"; - sha256 = "1cn1kg7scs6r7r00qlqirhnmqjnmyczbidab3vgqarw9qszh2ri6"; + sha256 = "0cbfhk184kxdxz5czyyqxac29mbfiahygjji6k97z6hp8ngnqlvh"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix index 7422654ec98..66bd28424c0 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/fribid/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk3, gettext, intltool }: +{ stdenv, fetchurl, pkgconfig, openssl, glib, libX11, gtk2, gettext, intltool }: let version = "1.0.2"; in stdenv.mkDerivation rec { @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { sha256 = "d7cd9adf04fedf50b266a5c14ddb427cbb263d3bc160ee0ade03aca9d5356e5c"; }; - buildInputs = [ pkgconfig openssl libX11 gtk3 glib gettext intltool ]; + buildInputs = [ pkgconfig openssl libX11 gtk2 glib gettext intltool ]; patches = [ ./translation-xgettext-to-intltool.patch ./plugin-linkfix.patch diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index 2c1044d6937..913235287ac 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -2,30 +2,31 @@ , cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev , libjpeg, pam, autoconf, automake, libtool }: -let version = "1.0.5"; in +let version = "1.3.1"; in stdenv.mkDerivation rec { name = "weston-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0"; + sha256 = "1isvh66irrz707r69495767n5yxp07dvy0xx6mj1mbj1n4s1657p"; }; - buildInputs = [ pkgconfig wayland mesa libxkbcommon - cairo libxcb libXcursor x11 udev libdrm mtdev - libjpeg pam autoconf automake libtool ]; + buildInputs = [ + pkgconfig wayland mesa libxkbcommon + cairo libxcb libXcursor x11 udev libdrm mtdev libjpeg pam + ]; - preConfigure = "autoreconf -vfi"; + NIX_CFLAGS_COMPILE = "-I${libdrm}/include/libdrm"; - # prevent install target to chown root weston-launch, which fails - configureFlags = '' - --disable-setuid-install - ''; + configureFlags = [ + "--disable-setuid-install" # prevent install target to chown root weston-launch, which fails + ]; meta = { description = "Reference implementation of a Wayland compositor"; homepage = http://wayland.freedesktop.org/; license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop.nix b/pkgs/desktops/cinnamon/cinnamon-desktop.nix new file mode 100644 index 00000000000..e158b489884 --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-desktop.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, pkgconfig, autoreconfHook, intltool +, glib, gobjectIntrospection, gdk_pixbuf, gtk3, gnome_common +, xorg, xkeyboard_config +}: + +let + version = "2.0.4"; +in +stdenv.mkDerivation { + name = "cinnamon-desktop-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cinnamon-desktop/archive/${version}.tar.gz"; + sha256 = "1cywin712558pv58c0cr73m25hfcv5x8pv5frvqjr9gwr2gpi6h3"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; + + buildInputs = with xorg; [ + pkgconfig autoreconfHook intltool + glib gobjectIntrospection gdk_pixbuf gtk3 gnome_common + xkeyboard_config libxkbfile libX11 libXrandr libXext + ]; + + postInstall = '' + ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ + ''; + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "Library and data for various Cinnamon modules"; + + longDescription = '' + The libcinnamon-desktop library provides API shared by several applications + on the desktop, but that cannot live in the platform for various + reasons. There is no API or ABI guarantee, although we are doing our + best to provide stability. Documentation for the API is available with + gtk-doc. + ''; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/cinnamon-session.nix b/pkgs/desktops/cinnamon/cinnamon-session.nix new file mode 100644 index 00000000000..850dd4e6c5a --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-session.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, pkgconfig, autoreconfHook, glib, gettext, gnome_common, gtk3, dbus_glib +, upower, json_glib,intltool, systemd, hicolor_icon_theme, xorg, makeWrapper, cinnamon-desktop }: + +let + version = "2.0.6"; +in +stdenv.mkDerivation { + name = "cinnamon-session-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cinnamon-session/archive/${version}.tar.gz"; + sha256 = "0rs5w7npj3wf3gkk3sfb83awks2h7vjd6cz8mvfgbh6m3grn66l3"; + }; + + + configureFlags = "--disable-schemas-compile --enable-systemd --disable-gconf" ; + + patches = [ ./remove-sessionmigration.patch ./timeout.patch]; + + buildInputs = [ + pkgconfig autoreconfHook + glib gettext gnome_common + gtk3 dbus_glib upower json_glib + intltool systemd xorg.xtrans + makeWrapper + ]; + + preBuild = "patchShebangs ./scripts"; + + + postInstall = '' + ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ + rm $out/share/icons/hicolor/icon-theme.cache + + for f in "$out"/bin/*; do + wrapProgram "$f" --prefix XDG_DATA_DIRS : "$out/share:${cinnamon-desktop}/share" + done + ''; + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "The cinnamon session files" ; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} + diff --git a/pkgs/desktops/cinnamon/cinnamon-translations.nix b/pkgs/desktops/cinnamon/cinnamon-translations.nix index 2d396947b89..a68a905f92e 100644 --- a/pkgs/desktops/cinnamon/cinnamon-translations.nix +++ b/pkgs/desktops/cinnamon/cinnamon-translations.nix @@ -1,19 +1,19 @@ -{ stdenv, fetchurl}: - -stdenv.mkDerivation rec { - name = "cinnamon-translations"; - version="2.0.3"; +{ stdenv, fetchurl }: +let + version = "2.0.3"; +in +stdenv.mkDerivation { + name = "cinnamon-translations-${version}"; src = fetchurl { url = "http://github.com/linuxmint/cinnamon-translations/archive/${version}.tar.gz"; sha256 = "07w3v118xrfp8r4dkbdiyd1vr9ah7f3bm2zw9wag9s8l8x0zfxgc"; }; - installPhase = '' - mkdir -pv $out/usr/share/cinnamon/locale - cp -av mo-export/* $out/usr/share/cinnamon/locale/ + mkdir -pv $out/share/cinnamon/locale + cp -av mo-export/* $out/share/cinnamon/locale/ ''; meta = { @@ -25,5 +25,3 @@ stdenv.mkDerivation rec { }; } - - diff --git a/pkgs/desktops/cinnamon/cjs.nix b/pkgs/desktops/cinnamon/cjs.nix new file mode 100644 index 00000000000..3747262cdf4 --- /dev/null +++ b/pkgs/desktops/cinnamon/cjs.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, autoreconfHook, python +, dbus_glib, cairo, spidermonkey_185, gobjectIntrospection +}: + +let + version="2.0.0"; +in +stdenv.mkDerivation rec { + name = "cjs-${version}"; + + src = fetchurl { + url = "http://github.com/linuxmint/cjs/archive/${version}.tar.gz"; + sha256 = "16iazd5h2z27v9jxs4a8imwls5c1c690wk7i05r5ds3c3r4nrsig"; + }; + + buildInputs = [ + pkgconfig autoreconfHook python + dbus_glib cairo spidermonkey_185 + gobjectIntrospection + ]; + + preBuild = "patchShebangs ./scripts"; + + meta = { + homepage = "http://cinnamon.linuxmint.com"; + description = "JavaScript bindings for Cinnamon" ; + + longDescription = '' + This module contains JavaScript bindings based on gobject-introspection. + + Because JavaScript is pretty free-form, consistent coding style and unit tests + are critical to give it some structure and keep it readable. + We propose that all GNOME usage of JavaScript conform to the style guide + in doc/Style_Guide.txt to help keep things sane. + ''; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.roelof ]; + }; +} diff --git a/pkgs/desktops/cinnamon/remove-sessionmigration.patch b/pkgs/desktops/cinnamon/remove-sessionmigration.patch new file mode 100644 index 00000000000..92e63549d96 --- /dev/null +++ b/pkgs/desktops/cinnamon/remove-sessionmigration.patch @@ -0,0 +1,19 @@ +--- a/cinnamon-session/csm-session-fill.c ++++ b/cinnamon-session/csm-session-fill.c +@@ -228,15 +228,6 @@ + load_standard_apps (CsmManager *manager, + GKeyFile *keyfile) + { +- GError *error; +- +- g_debug ("fill: *** Executing user migration"); +- error = NULL; +- if(!g_spawn_command_line_sync ("session-migration", NULL, NULL, NULL, &error)) { +- g_warning ("Error while executing session-migration: %s", error->message); +- g_error_free (error); +- } +- + g_debug ("fill: *** Adding required components"); + handle_required_components (keyfile, !csm_manager_get_failsafe (manager), + append_required_components_helper, manager); + diff --git a/pkgs/desktops/cinnamon/timeout.patch b/pkgs/desktops/cinnamon/timeout.patch new file mode 100644 index 00000000000..59d1f9ab5f3 --- /dev/null +++ b/pkgs/desktops/cinnamon/timeout.patch @@ -0,0 +1,26 @@ +diff -u -r cinnamon-session-3.4.2/cinnamon-session/csm-session-fill.c cinnamon-session-3.4.2-timeout/cinnamon-session/csm-session-fill.c +--- cinnamon-session-3.4.2/cinnamon-session/csm-session-fill.c 2012-02-02 15:33:01.000000000 +0100 ++++ cinnamon-session-3.4.2-timeout/cinnamon-session/csm-session-fill.c 2012-06-10 02:39:46.184348462 +0200 +@@ -36,7 +36,7 @@ + #define CSM_KEYFILE_DEFAULT_PROVIDER_PREFIX "DefaultProvider" + + /* See https://bugzilla.gnome.org/show_bug.cgi?id=641992 for discussion */ +-#define CSM_RUNNABLE_HELPER_TIMEOUT 3000 /* ms */ ++#define CSM_RUNNABLE_HELPER_TIMEOUT 10000 /* ms */ + + typedef void (*GsmFillHandleProvider) (const char *provides, + const char *default_provider, +diff -u -r cinnamon-session-3.4.2/tools/cinnamon-session-check-accelerated.c +cinnamon-session-3.4.2-timeout/tools/cinnamon-session-check-accelerated.c +--- cinnamon-session-3.4.2/tools/cinnamon-session-check-accelerated.c 2011-03-22 21:31:43.000000000 +0100 ++++ cinnamon-session-3.4.2-timeout/tools/cinnamon-session-check-accelerated.c 2012-06-10 02:42:08.013218006 +0200 +@@ -30,7 +30,7 @@ + #include + + /* Wait up to this long for a running check to finish */ +-#define PROPERTY_CHANGE_TIMEOUT 5000 ++#define PROPERTY_CHANGE_TIMEOUT 12000 + + /* Values used for the _GNOME_SESSION_ACCELERATED root window property */ + #define NO_ACCEL 0 + diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index 3d76ba72dae..cecd56ad4f2 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -1,4 +1,4 @@ -{ callPackage, self, stdenv, gettext, overrides ? {} }: +{ callPackage, self, stdenv, gettext, gvfs, libunique, overrides ? {} }: { __overrides = overrides; @@ -67,7 +67,7 @@ startup_notification = callPackage ./platform/startup-notification { }; # Required for nautilus - libunique = callPackage ./platform/libunique { }; + inherit (libunique); gtkglext = callPackage ./platform/gtkglext { }; @@ -79,7 +79,7 @@ libgweather = callPackage ./desktop/libgweather { }; - gvfs = callPackage ./desktop/gvfs { }; + gvfs = gvfs.override { gnome = self; }; libgnomekbd = callPackage ./desktop/libgnomekbd { }; diff --git a/pkgs/desktops/gnome-2/desktop/gvfs/default.nix b/pkgs/desktops/gnome-2/desktop/gvfs/default.nix deleted file mode 100644 index a2044d1b270..00000000000 --- a/pkgs/desktops/gnome-2/desktop/gvfs/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2 -, libcdio, libxml2, libtool, glib, intltool, GConf, libgnome_keyring, libsoup -, udev, avahi, libxslt, docbook_xsl }: - -stdenv.mkDerivation rec { - name = "gvfs-1.14.2"; - - src = fetchurl { - url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz"; - sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3"; - }; - - buildInputs = - [ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 GConf - libgnome_keyring libsoup avahi libtool libxslt docbook_xsl - ]; - - nativeBuildInputs = [ pkgconfig intltool ]; - - enableParallelBuilding = true; -} diff --git a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix index 548783abf79..929ed44b752 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl_gnome }: +{ stdenv, fetchurl, fetchurl_gnome, which }: stdenv.mkDerivation rec { name = src.pkgname; @@ -8,4 +8,11 @@ stdenv.mkDerivation rec { major = "2"; minor = "34"; patchlevel = "0"; sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s"; }; + + propagatedBuildInputs = [ which ]; # autogen.sh which is using gnome_common tends to require which + + patches = [(fetchurl { + url = "https://bug697543.bugzilla-attachments.gnome.org/attachment.cgi?id=240935"; + sha256 = "17abp7czfzirjm7qsn2czd03hdv9kbyhk3lkjxg2xsf5fky7z7jl"; + })]; } diff --git a/pkgs/desktops/gnome-2/platform/libunique/default.nix b/pkgs/desktops/gnome-2/platform/libunique/default.nix deleted file mode 100644 index 6b9cee80042..00000000000 --- a/pkgs/desktops/gnome-2/platform/libunique/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl_gnome, pkgconfig, gtk}: - -stdenv.mkDerivation rec { - name = src.pkgname; - - src = fetchurl_gnome { - project = "libunique"; - major = "1"; minor = "1"; patchlevel = "6"; - sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75"; - }; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ gtk ]; -} diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix index ab25845c413..aaea1b2e966 100644 --- a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix +++ b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix @@ -2,14 +2,14 @@ , intltool, dbus_glib, at_spi2_core, libSM }: stdenv.mkDerivation rec { - versionMajor = "2.8"; - versionMinor = "1"; + versionMajor = "2.10"; + versionMinor = "2"; moduleName = "at-spi2-atk"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "01pxfnksixrjj27ivllpla54r6nkwsjj34acb0phmp76zna9nrgb"; + sha256 = "1xfh89lydl8d18dhnzwvzcsyyybr5q3ik001qgq520l3qh8shj73"; }; buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix index 2d433486677..30b2367a5e9 100644 --- a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix +++ b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix @@ -1,16 +1,15 @@ { stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib , libX11, xextproto, libSM, libICE, libXtst, libXi }: -stdenv.mkDerivation rec { - - versionMajor = "2.8"; - versionMinor = "0"; +stdenv.mkDerivation (rec { + versionMajor = "2.10"; + versionMinor = "2"; moduleName = "at-spi2-core"; name = "${moduleName}-${versionMajor}.${versionMinor}"; src = fetchurl { url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; - sha256 = "0n64h6j10sn90ds9y70d9wlvvsbwnrym9fm0cyjxb0zmqw7s6q8q"; + sha256 = "1qfxlbmbaihgmqgkxnywnji9wkbvn8pvbv20x5glv3jc9zw5innk"; }; buildInputs = [ @@ -21,3 +20,8 @@ stdenv.mkDerivation rec { # ToDo: on non-NixOS we create a symlink from there? configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/"; } + // stdenv.lib.optionalAttrs stdenv.isDarwin { + NIX_LDFLAGS = "-lintl"; + } +) + diff --git a/pkgs/desktops/gnome-3/core/gvfs/default.nix b/pkgs/desktops/gnome-3/core/gvfs/default.nix deleted file mode 100644 index 1eea518c4b7..00000000000 --- a/pkgs/desktops/gnome-3/core/gvfs/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2 -, libcdio, libxml2, libtool, glib, intltool, gconf, libgnome_keyring, libsoup -, udev, avahi, libxslt, docbook_xsl }: - -stdenv.mkDerivation rec { - name = "gvfs-1.14.2"; - - src = fetchurl { - url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz"; - sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3"; - }; - - buildInputs = - [ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 gconf - libgnome_keyring libsoup avahi libtool libxslt docbook_xsl - ]; - - nativeBuildInputs = [ pkgconfig intltool ]; - - enableParallelBuilding = true; -} diff --git a/pkgs/desktops/gnome-3/core/libcroco/default.nix b/pkgs/desktops/gnome-3/core/libcroco/default.nix index 079a6f169b2..2cf785b8cca 100644 --- a/pkgs/desktops/gnome-3/core/libcroco/default.nix +++ b/pkgs/desktops/gnome-3/core/libcroco/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, libxml2, glib }: stdenv.mkDerivation rec { - name = "libcroco-0.6.6"; # 3.6.2 release + name = "libcroco-0.6.8"; src = fetchurl { url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz"; - sha256 = "1nbb12420v1zacn6jwa1x4ixikkcqw66sg4j5dgs45nhygiarv3j"; + sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa"; }; configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic"; diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 48f37f6ba9d..d3e575a7d27 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -33,7 +33,7 @@ rec { gsettings_desktop_schemas = lib.lowPrio (callPackage ./core/gsettings-desktop-schemas { }); - gvfs = callPackage ./core/gvfs { }; + gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; }; libcroco = callPackage ./core/libcroco {}; diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix index 5873ef9cd68..ace7aa7a2c7 100644 --- a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix +++ b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { p_name = "xfce4-notifyd"; ver_maj = "0.2"; - ver_min = "3"; + ver_min = "4"; src = fetchurl { url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "0fx6z89rxs6ypb8bb6l1pg8fdbxn995fgs413sbhnaxjkm6gch6x"; + sha256 = "1l6fpfk0fkizdx7vwbyjdyzzj5i2ng8pf7r8j49nv0cnjhpxczlc"; }; name = "${p_name}-${ver_maj}.${ver_min}"; diff --git a/pkgs/desktops/xfce/common.nix b/pkgs/desktops/xfce/common.nix deleted file mode 100644 index 9f048b18c06..00000000000 --- a/pkgs/desktops/xfce/common.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ pkgs, newScope, xfce_self }: rec { - - callPackage = newScope (deps // xfce_self); - - deps = rec { # xfce-global dependency overrides should be here - inherit (pkgs.gnome) libglade libwnck vte gtksourceview; - inherit (pkgs.perlPackages) URI; - - # The useful bits from ‘gnome-disk-utility’. - libgdu = callPackage ./support/libgdu.nix { }; - - # Gvfs is required by Thunar for the trash feature and for volume - # mounting. Should use the one from Gnome, but I don't want to mess - # with the Gnome packages (or pull in a zillion Gnome dependencies). - gvfs = callPackage ./support/gvfs.nix { }; - - # intelligent fetcher for Xfce - fetchXfce = rec { - generic = prepend : name : hash : - let lib = pkgs.lib; - p = builtins.parseDrvName name; - versions = lib.splitString "." p.version; - ver_maj = lib.concatStrings (lib.intersperse "." (lib.take 2 versions)); - name_low = lib.toLower p.name; - in pkgs.fetchurl { - url = "mirror://xfce/src/${prepend}/${name_low}/${ver_maj}/${name}.tar.bz2"; - sha256 = hash; - }; - core = generic "xfce"; - app = generic "apps"; - art = generic "art"; - }; - }; - - xfce_common = rec { - - inherit (deps) gvfs; # used by NixOS - - #### CORE - - garcon = callPackage ./core/garcon.nix { v= "0.2.0"; h= "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"; }; - - # not used anymore TODO: really? Update to 2.99.2? - gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { }; - - # ToDo: segfaults after some work - tumbler = callPackage ./core/tumbler.nix { v= "0.1.27"; h= "0s9qj99b81asmlqa823nzykq8g6p9azcp2niak67y9bp52wv6q2c"; }; - - xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { v= "1.0.10"; h= "1w120k1sl4s459ijaxkqkba6g1p2sqrf9paljv05wj0wz12bpr40"; }; - - - #### APPLICATIONS - #TODO: correct links; more stuff - - xfce4notifyd = callPackage ./applications/xfce4-notifyd.nix { v= "0.2.2"; h= "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn"; }; - gigolo = callPackage ./applications/gigolo.nix { v= "0.4.1"; h= "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; }; - xfce4taskmanager = callPackage ./applications/xfce4-taskmanager.nix { v= "1.0.0"; h= "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; }; - mousepad = callPackage ./applications/mousepad.nix { v= "0.3.0"; h= "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh"; }; - thunar_volman = callPackage ./core/thunar-volman.nix { }; - thunar_archive_plugin = callPackage ./core/thunar-archive-plugin.nix { }; - - - #### ART - - xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { v= "4.4.3"; h= "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l"; }; - - #### PANEL PLUGINS - - xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { }; - xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { }; - xfce4_xkb_plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { }; - xfce4_datetime_plugin = callPackage ./panel-plugins/xfce4-datetime-plugin.nix { }; - - }; -} - diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index abd3277d919..bed6bf1fc13 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -25,7 +25,8 @@ stdenv.mkDerivation rec { "-DCMAKE_BUILD_TYPE=Release" "-DLLVM_ENABLE_FFI=ON" "-DLLVM_BINUTILS_INCDIR=${binutils_gold}/include" - ] ++ lib.optional (!isDarwin) [ "-DBUILD_SHARED_LIBS=ON" ]; + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=R600" # for mesa + ] ++ lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix index f45c96d2805..586c0a0acb9 100644 --- a/pkgs/development/interpreters/racket/default.nix +++ b/pkgs/development/interpreters/racket/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { sed -e 's@@@' -i chroot-fontconfig/fonts.conf echo "${liberation_ttf}" >> chroot-fontconfig/fonts.conf echo "" >> chroot-fontconfig/fonts.conf - + export FONTCONFIG_FILE=$(pwd)/chroot-fontconfig/fonts.conf cd src @@ -37,6 +37,8 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-shared" "--enable-lt=${libtool}/bin/libtool" ]; + NIX_LDFLAGS = "-lgcc_s"; + postInstall = '' for p in $(ls $out/bin/) ; do wrapProgram $out/bin/$p --prefix LD_LIBRARY_PATH ":" "${ffiSharedLibs}" ; diff --git a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix index 1c0d77345b7..d4af39ea16b 100644 --- a/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix +++ b/pkgs/development/interpreters/spidermonkey/185-1.0.0.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, autoconf213, nspr, perl, python, readline, zip }: +{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }: stdenv.mkDerivation rec { version = "185-1.0.0"; @@ -11,21 +11,30 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ nspr ]; - buildInputs = [ pkgconfig autoconf213 perl python readline zip ]; + buildInputs = [ pkgconfig perl python zip ]; postUnpack = "sourceRoot=\${sourceRoot}/js/src"; preConfigure = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr" export LIBXUL_DIST=$out - autoconf ''; - meta = with stdenv.lib; { - description = "Mozilla's JavaScript engine written in C/C++"; - homepage = https://developer.mozilla.org/en/SpiderMonkey; - # TODO: MPL/GPL/LGPL tri-license. - maintainers = [ maintainers.goibhniu ]; - }; + configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ]; + # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393 + preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}"; + + enableParallelBuilding = true; + + doCheck = true; + preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522 + + meta = with stdenv.lib; { + description = "Mozilla's JavaScript engine written in C/C++"; + homepage = https://developer.mozilla.org/en/SpiderMonkey; + # TODO: MPL/GPL/LGPL tri-license. + maintainers = [ maintainers.goibhniu ]; + }; } + diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix index b1e8a008029..a93aaa5a43f 100644 --- a/pkgs/development/libraries/atk/default.nix +++ b/pkgs/development/libraries/atk/default.nix @@ -1,11 +1,15 @@ { stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty, gobjectIntrospection }: +let + ver_maj = "2.10"; + ver_min = "0"; +in stdenv.mkDerivation rec { - name = "atk-2.8.0"; + name = "atk-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/atk/2.8/${name}.tar.xz"; - sha256 = "1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj"; + url = "mirror://gnome/sources/atk/${ver_maj}/${name}.tar.xz"; + sha256 = "1c2hbg66wfvibsz2ia0ri48yr62751fn950i97c53j3b0fjifsb3"; }; buildInputs = libintlOrEmpty; @@ -14,6 +18,8 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ glib gobjectIntrospection /*ToDo: why propagate*/ ]; + #doCheck = true; # no checks in there (2.10.0) + postInstall = "rm -rf $out/share/gtk-doc"; meta = { diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix index b25432491fb..03f08efca98 100644 --- a/pkgs/development/libraries/atkmm/default.nix +++ b/pkgs/development/libraries/atkmm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, atk, glibmm, pkgconfig }: stdenv.mkDerivation rec { - name = "atkmm-2.22.6"; + name = "atkmm-2.22.7"; src = fetchurl { - url = mirror://gnome/sources/atkmm/2.22/atkmm-2.22.6.tar.xz; - sha256 = "1dmf72i7jv2a2gavjiah2722bf5qk3hb97hn5dasxqxr0r8jjx0a"; + url = "mirror://gnome/sources/atkmm/2.22/${name}.tar.xz"; + sha256 = "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz"; }; propagatedBuildInputs = [ atk glibmm ]; diff --git a/pkgs/development/libraries/cairo/1.12.2.nix b/pkgs/development/libraries/cairo/1.12.2.nix deleted file mode 100644 index e60af3a23a8..00000000000 --- a/pkgs/development/libraries/cairo/1.12.2.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ postscriptSupport ? true -, pdfSupport ? true -, pngSupport ? true -, xcbSupport ? false -, gobjectSupport ? true, glib -, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs -, zlib, libpng, pixman, libxcb ? null, xcbutil ? null -, libiconvOrEmpty, libintlOrEmpty -}: - -assert postscriptSupport -> zlib != null; -assert pngSupport -> libpng != null; -assert xcbSupport -> libxcb != null && xcbutil != null; - -stdenv.mkDerivation rec { - name = "cairo-1.12.2"; - - src = fetchurl { - url = "http://cairographics.org/releases/${name}.tar.xz"; - sha1 = "bc2ee50690575f16dab33af42a2e6cdc6451e3f9"; - }; - - buildInputs = - [ pkgconfig x11 fontconfig xlibs.libXrender ] - ++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ] - ++ libintlOrEmpty - ++ libiconvOrEmpty; - - propagatedBuildInputs = - [ freetype pixman ] ++ - stdenv.lib.optional gobjectSupport glib ++ - stdenv.lib.optional postscriptSupport zlib ++ - stdenv.lib.optional pngSupport libpng; - - NIX_CFLAGS_COMPILE = ( if stdenv.isDarwin - then "-I${pixman}/include/pixman-1" - else "" ); - - configureFlags = - [ "--enable-tee" ] - ++ stdenv.lib.optional xcbSupport "--enable-xcb" - ++ 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' - '' - - # On FreeBSD, `-ldl' doesn't exist. - + (stdenv.lib.optionalString stdenv.isFreeBSD - '' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in - do - cat "$i" | sed -es/-ldl//g > t - mv t "$i" - done - ''); - - enableParallelBuilding = true; - - # The default `--disable-gtk-doc' is ignored. - postInstall = "rm -rf $out/share/gtk-doc"; - - meta = { - description = "A 2D graphics library with support for multiple output devices"; - - longDescription = '' - Cairo is a 2D graphics library with support for multiple output - devices. Currently supported output targets include the X - Window System, Quartz, Win32, image buffers, PostScript, PDF, - and SVG file output. Experimental backends include OpenGL - (through glitz), XCB, BeOS, OS/2, and DirectFB. - - Cairo is designed to produce consistent output on all output - media while taking advantage of display hardware acceleration - when available (e.g., through the X Render Extension). - ''; - - homepage = http://cairographics.org/; - - licenses = [ "LGPLv2+" "MPLv1" ]; - - platforms = stdenv.lib.platforms.all; - }; -} diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix index df3ffc8f60f..808e67cd852 100644 --- a/pkgs/development/libraries/clutter/default.nix +++ b/pkgs/development/libraries/clutter/default.nix @@ -3,12 +3,16 @@ gobjectIntrospection }: -stdenv.mkDerivation { - name = "clutter-1.8.2"; +let + ver_maj = "1.16"; + ver_min = "2"; +in +stdenv.mkDerivation rec { + name = "clutter-${ver_maj}.${ver_min}"; src = fetchurl { - url = mirror://gnome/sources/clutter/1.8/clutter-1.8.2.tar.xz; - sha256 = "0bzsvnharawfg525lpavrp55mq4aih5nb01dwwqwnccg8hk9z2fw"; + url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz"; + sha256 = "0hnz6fnrkc7ixrm2x83sxyha32p9896d7ilzhvxwfgzlh26fidqc"; }; nativeBuildInputs = [ pkgconfig ]; @@ -19,6 +23,8 @@ stdenv.mkDerivation { configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK + #doCheck = true; # no tests possible without a display + meta = { description = "Clutter, a library for creating fast, dynamic graphical user interfaces"; diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix index b02319fd3e8..1fc1021156d 100644 --- a/pkgs/development/libraries/cogl/default.nix +++ b/pkgs/development/libraries/cogl/default.nix @@ -1,22 +1,33 @@ -{ stdenv, fetchurl, pkgconfig, mesa, glib, gdk_pixbuf, libXfixes, libXcomposite -, libXdamage, libintlOrEmpty -, pangoSupport ? true, pango, cairo, gobjectIntrospection }: +{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty +, pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland }: +let + ver_maj = "1.16"; + ver_min = "0"; +in stdenv.mkDerivation rec { - name = "cogl-1.8.2"; + name = "cogl-${ver_maj}.${ver_min}"; src = fetchurl { - url = mirror://gnome/sources/cogl/1.8/cogl-1.8.2.tar.xz; - sha256 = "1ix87hz3qxqysqwx58wbc46lzchlmfs08fjzbf3l6mmsqj8gs9pc"; + url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz"; + sha256 = "153014xygwyz9wmvgfwjxncqgc0qqvcy6b3jx1zdl3q5d9iw9hkm"; }; nativeBuildInputs = [ pkgconfig ]; - configureFlags = " --enable-introspection " ; + configureFlags = [ + "--enable-introspection" + "--enable-gles1" + "--enable-gles2" + "--enable-kms-egl-platform" + "--enable-wayland-egl-platform" + "--enable-wayland-egl-server" + ]; - propagatedBuildInputs = - [ mesa glib gdk_pixbuf libXfixes libXcomposite libXdamage -gobjectIntrospection ] + propagatedBuildInputs = with xorg; [ + glib gdk_pixbuf gobjectIntrospection + mesa_noglu libXrandr libXfixes libXcomposite libXdamage wayland + ] ++ libintlOrEmpty; buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ]; @@ -27,6 +38,8 @@ gobjectIntrospection ] NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; + #doCheck = true; # all tests fail (no idea why) + meta = with stdenv.lib; { description = "A small open source library for using 3D graphics hardware for rendering"; maintainers = with maintainers; [ lovek323 ]; diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix index 8ec47f86e34..794128d054a 100644 --- a/pkgs/development/libraries/dbus/default.nix +++ b/pkgs/development/libraries/dbus/default.nix @@ -3,8 +3,8 @@ , libX11, libICE, libSM, useX11 ? (stdenv.isLinux || stdenv.isDarwin) }: let - version = "1.6.14"; # 1.7.* isn't recommended, even for gnome 3.8 - sha256 = "0v7mcxwfmpjf7vndnvf2kf02al61clrxs36bqii20s0lawfh2xjn"; + version = "1.6.16"; # 1.7.* isn't recommended, even for gnome 3.8 + sha256 = "0wrmh5azszb54zpy7d0zjsy456khcv8yc19ivqrygkdg7a3l4gs6"; inherit (stdenv) lib; diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix index dde95364337..a641040187a 100644 --- a/pkgs/development/libraries/gdal/default.nix +++ b/pkgs/development/libraries/gdal/default.nix @@ -9,7 +9,7 @@ composableDerivation.composableDerivation {} (fixed: { md5 = "f5592cff69b239166c9b64ff81943b1a"; }; - buildInputs = [ unzip libjpeg ]; + buildInputs = [ unzip libjpeg libtiff ]; # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults preConfigure = "export CFLAGS=-O0; export CXXFLAGS=-O0"; diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix index 52d50369dc7..4b92c6470eb 100644 --- a/pkgs/development/libraries/gdk-pixbuf/default.nix +++ b/pkgs/development/libraries/gdk-pixbuf/default.nix @@ -1,12 +1,16 @@ -{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, xz +{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11 , jasper, libintlOrEmpty, gobjectIntrospection }: +let + ver_maj = "2.30"; + ver_min = "2"; +in stdenv.mkDerivation rec { - name = "gdk-pixbuf-2.28.2"; + name = "gdk-pixbuf-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/gdk-pixbuf/2.28/${name}.tar.xz"; - sha256 = "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q"; + url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz"; + sha256 = "1gzczsv41h28is4rrxjfyj1qx8ifp23fq2ckh0k099m9fnhbzfna"; }; # !!! We might want to factor out the gdk-pixbuf-xlib subpackage. @@ -20,6 +24,8 @@ stdenv.mkDerivation rec { + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes" ; + doCheck = false; # broken animation tester + postInstall = "rm -rf $out/share/gtk-doc"; meta = { diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index 119584deb1e..e7bae0100a4 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -10,6 +10,13 @@ # 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 +/* + * Use --enable-installed-tests for GNOME-related packages, + and use them as a separately installed tests runned by Hydra + (they should test an already installed package) + 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 @@ -24,15 +31,18 @@ let done ln -sr -t "$out/include/" "$out"/lib/*/include/* 2>/dev/null || true ''; + + ver_maj = "2.38"; + ver_min = "2"; in with { inherit (stdenv.lib) optionalString; }; stdenv.mkDerivation rec { - name = "glib-2.36.4"; + name = "glib-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/glib/2.36/${name}.tar.xz"; - sha256 = "0zmdbkg2yjyxdl72w34lxvrssbzqzdficskkfn22s0994dad4m7n"; + url = "mirror://gnome/sources/glib/${ver_maj}/${name}.tar.xz"; + sha256 = "0d2px8m77603s5pm3md4bcm5d0ksbcsb6ik1w52hjslnq1a9hsh5"; }; # configure script looks for d-bus but it is (probably) only needed for tests diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix index 962b14bc788..6801012e855 100644 --- a/pkgs/development/libraries/glibmm/default.nix +++ b/pkgs/development/libraries/glibmm/default.nix @@ -1,15 +1,21 @@ -{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, libsigcxx }: +{ stdenv, fetchurl, pkgconfig, glib, libsigcxx }: +let + ver_maj = "2.38"; + ver_min = "1"; +in stdenv.mkDerivation rec { - name = "glibmm-2.34.1"; + name = "glibmm-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/glibmm/2.34/${name}.tar.xz"; - sha256 = "1i4jsvahva2q0mig7kjnpsw0r3fnpybm8b6hzymfm2hpgqnaa9dl"; + url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz"; + sha256 = "18n4czi6lh4ncj54apxms18xn9k8pmrp2ba9sxn0sk9w3pp2bja9"; }; nativeBuildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ glib gdk_pixbuf libsigcxx ]; + propagatedBuildInputs = [ glib libsigcxx ]; + + #doCheck = true; # some tests need network meta = { description = "C++ interface to the GLib library"; diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix index 6a2caa28136..da746969ed7 100644 --- a/pkgs/development/libraries/gobject-introspection/default.nix +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -4,12 +4,16 @@ # it may be worth thinking about using multiple derivation outputs # In that case its about 6MB which could be separated +let + ver_maj = "1.38"; + ver_min = "0"; +in stdenv.mkDerivation rec { - name = "gobject-introspection-1.36.0"; + name = "gobject-introspection-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/gobject-introspection/1.36/${name}.tar.xz"; - sha256 = "10v3idh489vra7pjn1g8f844nnl6719zgkgq3dv38xcf8afnvrz3"; + url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz"; + sha256 = "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m"; }; buildInputs = [ flex bison glib pkgconfig python ] diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix index 76424d79d7a..e3237f83b74 100644 --- a/pkgs/development/libraries/gtk+/3.x.nix +++ b/pkgs/development/libraries/gtk+/3.x.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, gettext -, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, xlibs, x11, gobjectIntrospection +{ stdenv, fetchurl, pkgconfig, gettext, perl +, expat, glib, cairo, pango, gdk_pixbuf, atk, at_spi2_atk, gobjectIntrospection +, xlibs, x11, wayland, libxkbcommon , xineramaSupport ? stdenv.isLinux , cupsSupport ? stdenv.isLinux, cups ? null }: @@ -7,17 +8,23 @@ assert xineramaSupport -> xlibs.libXinerama != null; assert cupsSupport -> cups != null; +let + ver_maj = "3.10"; + ver_min = "5"; # .6 needs currently unreleased wayland for introspection (wl_proxy_marshal_constructor) +in stdenv.mkDerivation rec { - name = "gtk+-3.8.4"; + name = "gtk+-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/gtk+/3.8/${name}.tar.xz"; - sha256 = "1qlj0qdhkp8j5xiris4l4xnx47g4pbk4qnj3nf8rwa82fwb610xh"; + url = "mirror://gnome/sources/gtk+/${ver_maj}/${name}.tar.xz"; + sha256 = "1iyc566r61d3jfdiq5knwbssq5bsqsn8hqzdm30vmw6dx3cgd49i"; }; enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection ]; + nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ]; + + buildInputs = [ wayland libxkbcommon ]; propagatedBuildInputs = with xlibs; with stdenv.lib; [ expat glib cairo pango gdk_pixbuf atk at_spi2_atk ] ++ optionals stdenv.isLinux [ libXrandr libXrender libXcomposite libXi libXcursor ] diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix index ec7f01a8be5..c7ae2ee5312 100644 --- a/pkgs/development/libraries/gtkmm/2.x.nix +++ b/pkgs/development/libraries/gtkmm/2.x.nix @@ -5,14 +5,16 @@ stdenv.mkDerivation rec { src = fetchurl_gnome { project = "gtkmm"; - major = "2"; minor = "24"; patchlevel = "2"; extension = "xz"; - sha256 = "0gcm91sc1a05c56kzh74l370ggj0zz8nmmjvjaaxgmhdq8lpl369"; + major = "2"; minor = "24"; patchlevel = "4"; extension = "xz"; + sha256 = "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"; }; nativeBuildInputs = [pkgconfig]; propagatedBuildInputs = [ glibmm gtk atkmm cairomm pangomm ]; + doCheck = true; + meta = { description = "C++ interface to the GTK+ graphical user interface library"; @@ -30,7 +32,7 @@ stdenv.mkDerivation rec { license = "LGPLv2+"; - maintainers = [stdenv.lib.maintainers.raskin]; + maintainers = with stdenv.lib.maintainers; [ raskin vcunat ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix index 5c4a13fe507..8649abec637 100644 --- a/pkgs/development/libraries/gtkmm/3.x.nix +++ b/pkgs/development/libraries/gtkmm/3.x.nix @@ -1,17 +1,23 @@ { stdenv, fetchurl, pkgconfig, gtk3, glibmm, cairomm, pangomm, atkmm }: +let + ver_maj = "3.10"; + ver_min = "1"; +in stdenv.mkDerivation rec { - name = "gtkmm-3.7.12"; # gnome 3.8 release; stable 3.6 has problems with our new glibc + name = "gtkmm-${ver_maj}.${ver_min}"; src = fetchurl { - url = "mirror://gnome/sources/gtkmm/3.7/${name}.tar.xz"; - sha256 = "05nrilm34gid7kqlq09hcdd7942prn2vbr1qgqvdhgy4x8pvz9p9"; + url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz"; + sha256 = "0f1587pc6x8hn268vqj5zr4dvyisj5zd9zpsfxyfm1pkbjmcv9bg"; }; nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ glibmm gtk3 atkmm cairomm pangomm ]; + doCheck = true; + meta = { description = "C++ interface to the GTK+ graphical user interface library"; @@ -29,7 +35,7 @@ stdenv.mkDerivation rec { license = "LGPLv2+"; - maintainers = with stdenv.lib.maintainers; [ raskin urkud ]; + maintainers = with stdenv.lib.maintainers; [ raskin urkud vcunat ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index 067d3dc9383..083d0a10cdf 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -4,12 +4,16 @@ , libxml2, libxslt, docbook_xsl , lightWeight ? true, gnome, samba, makeWrapper }: +let + ver_maj = "1.18"; + version = "${ver_maj}.3"; +in stdenv.mkDerivation rec { - name = "gvfs-1.14.2"; + name = "gvfs-${version}"; src = fetchurl { - url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz"; - sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3"; + url = "mirror://gnome/sources/gvfs/${ver_maj}/${name}.tar.xz"; + sha256 = "0b27vidnrwh6yb2ga9a1k9qlrz6lrzsaz2hcxqbc1igivhb9g0hx"; }; nativeBuildInputs = [ pkgconfig intltool libtool ]; diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 78e016c1582..4cee49bea51 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,19 +1,30 @@ -{ stdenv, fetchurl, pkgconfig, glib, freetype, - icu ? null, graphite2 ? null, libintlOrEmpty }: +{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty +, icu, graphite2 +, withIcu ? false # recommended by upstream as default, but most don't needed and it's big +, withGraphite2 ? true # it is small and major distros do include it +}: + +# TODO: split non-icu and icu lib into different outputs? +# (icu is a ~30 MB dependency, the rest is very small in comparison) stdenv.mkDerivation rec { - name = "harfbuzz-0.9.12"; + name = "harfbuzz-0.9.24"; src = fetchurl { url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2"; - sha256 = "19cx5y2m20rp7z5j7mwqfb4ph2g8lrri69zim44x362y4w5gfly6"; + sha256 = "08i46xx92hvz2br2d9hdxjgi0g5jglwf5bdfsandxb0qlgc5vwpd"; }; - buildInputs = [ pkgconfig glib freetype ] + configureFlags = [ + ( "--with-graphite2=" + (if withGraphite2 then "yes" else "no") ) # not auto-detected by default + ( "--with-icu=" + (if withIcu then "yes" else "no") ) + ]; + + buildInputs = [ pkgconfig glib freetype cairo ] # recommended by upstream ++ libintlOrEmpty; propagatedBuildInputs = [] - ++ (stdenv.lib.optionals (icu != null) [icu]) - ++ (stdenv.lib.optionals (graphite2 != null) [graphite2]) + ++ stdenv.lib.optional withGraphite2 graphite2 + ++ stdenv.lib.optional withIcu icu ; meta = { diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix index 838d6f7b75f..4437fc4bad2 100644 --- a/pkgs/development/libraries/icu/default.nix +++ b/pkgs/development/libraries/icu/default.nix @@ -3,15 +3,17 @@ let pname = "icu4c"; - version = "51.1"; + ver_maj = "52"; + ver_min = "1"; + version = "${ver_maj}.${ver_min}"; in stdenv.mkDerivation { name = pname + "-" + version; src = fetchurl { - url = http://download.icu-project.org/files/icu4c/51.1/icu4c-51_1-src.tgz; - sha256 = "0sv6hgkm92pm27zgjxgk284lcxxbsl0syi40ckw2b7yj7d8sxrc7"; + url = "http://download.icu-project.org/files/icu4c/${version}/icu4c-${ver_maj}_${ver_min}-src.tgz"; + sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g"; }; postUnpack = '' diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix index cf3febfc455..5aa54582fdc 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.46"; + name = "libdrm-2.4.50"; src = fetchurl { url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2"; - sha256 = "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"; + sha256 = "0idh6cwqr2rilig7vygb3gxvivchp0q1iq4md79jq340v96d48rq"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix index a4aa1cf44b4..8976e743192 100644 --- a/pkgs/development/libraries/libjpeg-turbo/default.nix +++ b/pkgs/development/libraries/libjpeg-turbo/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0d0jwdmj3h89bxdxlwrys2mw18mqcj4rzgb5l2ndpah8zj600mr6"; }; + patches = [ ./libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch ]; + buildInputs = [ nasm ]; doCheck = true; diff --git a/pkgs/development/libraries/libjpeg-turbo/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch b/pkgs/development/libraries/libjpeg-turbo/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch new file mode 100644 index 00000000000..8c0f9c75054 --- /dev/null +++ b/pkgs/development/libraries/libjpeg-turbo/libjpeg-turbo-1.3.0-CVE-2013-6629-and-6630.patch @@ -0,0 +1,40 @@ +Thanks to the sources below; this patch discovered via Gentoo. + +http://bugzilla.redhat.com/show_bug.cgi?id=1031734 +http://bugzilla.redhat.com/show_bug.cgi?id=1031749 +http://sourceforge.net/p/libjpeg-turbo/code/1090/ + +--- libjpeg-turbo-1.3.0/jdmarker.c ++++ libjpeg-turbo-1.3.0/jdmarker.c +@@ -304,7 +304,7 @@ + /* Process a SOS marker */ + { + INT32 length; +- int i, ci, n, c, cc; ++ int i, ci, n, c, cc, pi; + jpeg_component_info * compptr; + INPUT_VARS(cinfo); + +@@ -348,6 +348,13 @@ + + TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc, + compptr->dc_tbl_no, compptr->ac_tbl_no); ++ ++ /* This CSi (cc) should differ from the previous CSi */ ++ for (pi = 0; pi < i; pi++) { ++ if (cinfo->cur_comp_info[pi] == compptr) { ++ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); ++ } ++ } + } + + /* Collect the additional scan parameters Ss, Se, Ah/Al. */ +@@ -465,6 +472,8 @@ + for (i = 0; i < count; i++) + INPUT_BYTE(cinfo, huffval[i], return FALSE); + ++ MEMZERO(&huffval[count], (256 - count) * SIZEOF(UINT8)); ++ + length -= count; + + if (index & 0x10) { /* AC table definition */ diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix index 81878917384..b58e2dd257d 100644 --- a/pkgs/development/libraries/libmng/default.nix +++ b/pkgs/development/libraries/libmng/default.nix @@ -1,18 +1,14 @@ -{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms, automake110x, autoconf, libtool }: +{ stdenv, fetchurl, zlib, libpng, libjpeg, lcms2 }: stdenv.mkDerivation rec { - name = "libmng-1.0.10"; + name = "libmng-2.0.2"; src = fetchurl { - url = "mirror://sourceforge/libmng/${name}.tar.bz2"; - sha256 = "06415s40gz833s1v1q7c04c0m49p4sc87ich0vpdid2ldj0pf53v"; + url = "mirror://sourceforge/libmng/${name}.tar.xz"; + sha256 = "0l5wa3b9rr4zl49zbbjpapqyccqjwzkzw1ph3p4pk9p5h73h9317"; }; - preConfigure = "unmaintained/autogen.sh"; - - nativeBuildInputs = [ automake110x autoconf libtool ]; - - propagatedBuildInputs = [ zlib libpng libjpeg lcms ]; + propagatedBuildInputs = [ zlib libpng libjpeg lcms2 ]; meta = { description = "Reference library for reading, displaying, writing and examining Multiple-Image Network Graphics"; diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix index ab8034c781e..00308bf9471 100644 --- a/pkgs/development/libraries/libnotify/default.nix +++ b/pkgs/development/libraries/libnotify/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { ver_maj = "0.7"; - ver_min = "5"; + ver_min = "6"; name = "libnotify-${ver_maj}.${ver_min}"; src = fetchurl { url = "mirror://gnome/sources/libnotify/${ver_maj}/${name}.tar.xz"; - sha256 = "0lmnzy16vdjs9vlgdm0b7wfyi1nh526hv2dpb7vxb92bhx3wny23"; + sha256 = "0dyq8zgjnnzcah31axnx6afb21kl7bks1gvrg4hjh3nk02j1rxhf"; }; src_m4 = fetchurl { url = "mirror://gentoo/distfiles/introspection-20110205.m4.tar.bz2"; diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix index 6702cdec9c1..f120bca50c6 100644 --- a/pkgs/development/libraries/libpng/default.nix +++ b/pkgs/development/libraries/libpng/default.nix @@ -3,11 +3,11 @@ assert zlib != null; let - version = "1.6.4"; - sha256 = "15pqany43q2hzaxqn84p9dba071xmvqi8h1bhnjxnxdf3g64zayg"; - patch_src = fetchurl { # not released yet, hopefully OK - url = "mirror://sourceforge/libpng-apng/libpng-1.6.3-apng.patch.gz"; - sha256 = "0fjnb6cgbj2c7ggl0qzcnliml2ylrjxzigp89vw0hxq221k5mlsx"; + version = "1.6.8"; + sha256 = "109h2fcjspd792lvh5q4xnkpsv7rjczmrdl15i4ajx0xbs5kvxr4"; + patch_src = fetchurl { + url = "mirror://sourceforge/libpng-apng/libpng-${version}-apng.patch.gz"; + sha256 = "0wysnv0d8h7pyz7gfagnkwra2k7malqga1cn6wbk2l7a8k2r53qi"; }; whenPatched = stdenv.lib.optionalString apngSupport; diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix index 15e07af9f1e..808407877e9 100644 --- a/pkgs/development/libraries/librsvg/default.nix +++ b/pkgs/development/libraries/librsvg/default.nix @@ -6,7 +6,7 @@ # no introspection by default, it's too big stdenv.mkDerivation rec { - name = "librsvg-2.36.4"; + name = "librsvg-2.36.4"; # 2.37 needs pango 1.32.6, 2.40 doesn't support gtk2 src = fetchurl { url = "mirror://gnome/sources/librsvg/2.36/${name}.tar.xz"; diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix index b1e4f31c567..a127e7322eb 100644 --- a/pkgs/development/libraries/libsigcxx/default.nix +++ b/pkgs/development/libraries/libsigcxx/default.nix @@ -1,15 +1,17 @@ { stdenv, fetchurl, pkgconfig, gnum4 }: stdenv.mkDerivation rec { - name = "libsigc++-2.2.10"; + name = "libsigc++-2.2.11"; src = fetchurl { url = "mirror://gnome/sources/libsigc++/2.2/${name}.tar.xz"; - sha256 = "8ceb6f2732f5399ef50d5b70f433d49945a12e0900b8f9f43c135866a2e5bf47"; + sha256 = "0ms93q7r8zznsqkfdj1ds9533f0aqfaw3kdkqv154rzmfigh8d4q"; }; buildInputs = [ pkgconfig gnum4 ]; + doCheck = true; + meta = { homepage = http://libsigc.sourceforge.net/; description = "A typesafe callback system for standard C++"; diff --git a/pkgs/development/libraries/libsoup/2.40.nix b/pkgs/development/libraries/libsoup/2.44.nix similarity index 70% rename from pkgs/development/libraries/libsoup/2.40.nix rename to pkgs/development/libraries/libsoup/2.44.nix index c82bb399e5e..4bef93ff8cd 100644 --- a/pkgs/development/libraries/libsoup/2.40.nix +++ b/pkgs/development/libraries/libsoup/2.44.nix @@ -1,32 +1,35 @@ -{ stdenv, fetchurl, pkgconfig, glib, libxml2, sqlite, intltool, python -, gnomeSupport ? true, libgnome_keyring, glib_networking +{ stdenv, fetchurl, pkgconfig, intltool, python, gobjectIntrospection +, glib, libxml2, sqlite, glib_networking +, gnomeSupport ? true, libgnome_keyring }: stdenv.mkDerivation { name = "libsoup-2.44.2"; + meta = { + description = "HTTP client/server library"; + license = stdenv.lib.licenses.lgpl2Plus; + }; + src = fetchurl { url = mirror://gnome/sources/libsoup/2.44/libsoup-2.44.2.tar.xz; sha256 = "1wwqsmi1jvidiqwbdnjl66nmk1yja8w9dxf9cz10zh56fjmvbr77"; }; - preConfigure = '' substituteInPlace libsoup/tld-parser.py \ --replace "!/usr/bin/env python" "!${python}/bin/${python.executable}" ''; - buildInputs = [ pkgconfig intltool python ]; - nativeBuildInputs = [ pkgconfig ]; + + nativeBuildInputs = [ pkgconfig intltool python gobjectIntrospection ]; + propagatedBuildInputs = [ glib libxml2 sqlite ] ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ]; + passthru.propagatedUserEnvPackages = [ glib_networking ]; # glib_networking is a runtime dependency, not a compile-time dependency configureFlags = "--disable-tls-check"; NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl"; - - meta = { -# inherit (glib.meta) maintainers platforms; - }; } diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix index c2b812744c9..0a06452d5d8 100644 --- a/pkgs/development/libraries/libssh/default.nix +++ b/pkgs/development/libraries/libssh/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, cmake, zlib, libgcrypt }: stdenv.mkDerivation rec { - name = "libssh-0.5.3"; + name = "libssh-0.5.5"; src = fetchurl { - url = "https://red.libssh.org/attachments/download/38/${name}.tar.gz"; - sha256 = "1w6s217vjq0w3v5i0c5ql6m0ki1yz05g9snah3azxfkl9k4schpd"; + url = "https://red.libssh.org/attachments/download/51/${name}.tar.gz"; + sha256 = "17cfdff4hc0ijzrr15biq29fiabafz0bw621zlkbwbc1zh2hzpy0"; }; buildInputs = [ zlib libgcrypt ]; diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix index e073717de56..2c99199664d 100644 --- a/pkgs/development/libraries/libtiff/default.nix +++ b/pkgs/development/libraries/libtiff/default.nix @@ -1,7 +1,13 @@ -{ stdenv, fetchurl, zlib, libjpeg }: - -let version = "4.0.3"; in +{ stdenv, fetchurl, fetchsvn, pkgconfig, zlib, libjpeg, xz }: +let + version = "4.0.3"; + patchDir = fetchsvn { + url = svn://svn.archlinux.org/packages/libtiff/trunk; + rev = "198247"; + sha256 = "0a47l0zkc1zz7wxg64cyjv9z1djdvfyxgmwd03znlsac4zijkcy4"; + }; +in stdenv.mkDerivation rec { name = "libtiff-${version}"; @@ -13,10 +19,27 @@ stdenv.mkDerivation rec { sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa"; }; - propagatedBuildInputs = [ zlib libjpeg ]; + patchPhase = '' + for p in ${patchDir}/*-{2013-4244,2012-4447,2012-4564,2013-1960,2013-1961,libjpeg-turbo}.patch; do + patch -p1 < "$p" + done + ( + cd tools + for p in ${patchDir}/*-CVE-{2013-4231,2013-4232}.patch; do + patch -p0 < "$p" + done + ) + patch -p0 < ${patchDir}/${if stdenv.isDarwin then "tiff-4.0.3" else "*"}-tiff2pdf-colors.patch + ''; # ^ sh on darwin seems not to expand globs in redirects, and I don't want to rebuild all again elsewhere + + nativeBuildInputs = [ pkgconfig ]; + + propagatedBuildInputs = [ zlib libjpeg xz ]; #TODO: opengl support (bogus configure detection) enableParallelBuilding = true; + doCheck = true; + meta = { description = "Library and utilities for working with the TIFF image file format"; homepage = http://www.remotesensing.org/libtiff/; diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix index 603759d47c0..125cb890008 100644 --- a/pkgs/development/libraries/libunique/default.nix +++ b/pkgs/development/libraries/libunique/default.nix @@ -18,7 +18,6 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig glib gtk dbus_glib ]; # don't make deprecated usages hard errors - preBuildPhases = "preBuild"; preBuild = ''substituteInPlace unique/dbus/Makefile --replace -Werror ""''; doCheck = true; diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix index f06eacb67a9..dfb8f1c54a1 100644 --- a/pkgs/development/libraries/libusb1/default.nix +++ b/pkgs/development/libraries/libusb1/default.nix @@ -1,10 +1,13 @@ { stdenv, fetchurl, pkgconfig, udev }: +let + version = "1.0.17"; +in stdenv.mkDerivation rec { - name = "libusb-1.0.17"; + name = "libusb-${version}"; src = fetchurl { - url = "mirror://sourceforge/libusbx/libusbx-1.0.17.tar.bz2"; + url = "mirror://sourceforge/libusbx/libusbx-${version}.tar.bz2"; sha256 = "1f25a773x9x5n48a0mcigyk77ay0hkiz6y6bi4588wzf7wn8svw7"; }; diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix index 835e2711a77..cc8b3f59529 100644 --- a/pkgs/development/libraries/libvdpau/default.nix +++ b/pkgs/development/libraries/libvdpau/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl, pkgconfig, xlibs }: stdenv.mkDerivation rec { - name = "libvdpau-0.6"; + name = "libvdpau-0.7"; src = fetchurl { url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz"; - sha256 = "0x9dwxzw0ilsy88kqlih3170z1zfrrsx1dr9jbwbn0cbkpnbwmcv"; + sha256 = "1q5wx6fmqg2iiw57wxwh5vv4yszqs4nlvlzhzdn9vig8gi30ip14"; }; buildInputs = with xlibs; [ pkgconfig dri2proto libXext ]; propagatedBuildInputs = [ xlibs.libX11 ]; - + configureFlags = stdenv.lib.optional stdenv.isDarwin [ "--build=x86_64" ]; meta = { diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix index 59355f3c37d..17393fab074 100644 --- a/pkgs/development/libraries/libwnck/3.x.nix +++ b/pkgs/development/libraries/libwnck/3.x.nix @@ -10,4 +10,6 @@ stdenv.mkDerivation { buildInputs = [ pkgconfig intltool ]; propagatedBuildInputs = [ libX11 gtk3 ]; + + configureFlags = [ "--disable-introspection" ]; } diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix index 4a1327778d4..e7923f3df5b 100644 --- a/pkgs/development/libraries/libxkbcommon/default.nix +++ b/pkgs/development/libraries/libxkbcommon/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, yacc, flex, xkeyboard_config }: +{ stdenv, fetchurl, pkgconfig, yacc, flex, xkeyboard_config }: stdenv.mkDerivation rec { - name = "libxkbcommon-0.2.0"; + name = "libxkbcommon-0.3.1"; src = fetchurl { - url = "http://xkbcommon.org/download/${name}.tar.bz2"; - sha256 = "0hpvfa8p4bhvhc1gcb578m354p5idd192xb8zlaq16d33h90msvl"; + url = "http://xkbcommon.org/download/${name}.tar.xz"; + sha256 = "13mk335r4dhi9qglzbp46ina1wz4qgcp8r7s06iq7j50pf0kb5ww"; }; - buildInputs = [ yacc flex xkeyboard_config ]; + buildInputs = [ pkgconfig yacc flex xkeyboard_config ]; configureFlags = '' --with-xkb-config-root=${xkeyboard_config}/etc/X11/xkb diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix index e2568af6c9b..d8794142b7d 100644 --- a/pkgs/development/libraries/libxslt/default.nix +++ b/pkgs/development/libraries/libxslt/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, libxml2 }: stdenv.mkDerivation (rec { - name = "libxslt-1.1.27"; + name = "libxslt-1.1.28"; src = fetchurl { url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz"; - sha256 = "09ky3vhlaahvsb0q9gp6h3as53pfj70gincirachjqzj46jdka5n"; + sha256 = "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz"; }; buildInputs = [ libxml2 ]; diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index b613f4c8964..f7ff87b34cc 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -3,8 +3,8 @@ , libdrm, xorg, wayland, udev, llvm, libffi , libvdpau , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt -, enableR600LlvmCompiler ? false # current llvm-3.3 + mesa-9.1.6 don't configure -, enableExtraFeatures ? false # add ~15 MB to mesa_drivers +, enableR600LlvmCompiler ? true, libelf +, enableExtraFeatures ? false # not maintained }: if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then @@ -16,23 +16,26 @@ else This or the mesa attribute (which also contains GLU) are small (~ 2.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 (~40 MB). - These should be searched at runtime in /run/current-system/sw/lib/* + which is bigger (~13 MB) and depends on LLVM (~44 MB). + 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) */ let - version = "9.1.7"; + version = "9.2.5"; # this is the default search path for DRI drivers (note: X server introduces an overriding env var) driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32"; in +with { inherit (stdenv.lib) optional optionals optionalString; }; + stdenv.mkDerivation { name = "mesa-noglu-${version}"; - src = fetchurl { + src = fetchurl { url = "ftp://ftp.freedesktop.org/pub/mesa/${version}/MesaLib-${version}.tar.bz2"; - sha256 = "1824p185ys7z9bah46xasp7khv44n9wv2c4p38i1dispniwbirih"; + sha256 = "1w3bxclgwl2hwyxk3za7dbdakb8jsya7afck35cz0v8pxppvjsml"; }; prePatch = "patchShebangs ."; @@ -40,7 +43,6 @@ stdenv.mkDerivation { patches = [ ./static-gallium.patch ./dricore-gallium.patch - ./fix-rounding.patch ./werror-wundef.patch ]; @@ -50,11 +52,11 @@ stdenv.mkDerivation { -i src/egl/main/Makefile.am ''; - outputs = ["out" "drivers"]; + outputs = ["out" "drivers" "osmesa"]; preConfigure = "./autogen.sh"; - configureFlags = with stdenv.lib; [ + configureFlags = [ "--with-dri-driverdir=$(drivers)/lib/dri" "--with-egl-driver-dir=$(drivers)/lib/egl" "--with-dri-searchpath=${driverLink}/lib/dri" @@ -65,70 +67,84 @@ stdenv.mkDerivation { "--enable-driglx-direct" # seems enabled anyway "--enable-gallium-llvm" "--with-llvm-shared-libs" "--enable-xa" # used in vmware driver + "--enable-gles1" "--enable-gles2" + "--enable-vdpau" + "--enable-osmesa" # used by wine "--with-dri-drivers=i965,r200,radeon" - "--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" # radeonsi complains about R600 missing in LLVM + ("--with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast" + + optionalString enableR600LlvmCompiler ",radeonsi") "--with-egl-platforms=x11,wayland,drm" "--enable-gbm" "--enable-shared-glapi" ] - ++ optional enableR600LlvmCompiler "--enable-r600-llvm-compiler" # complains about R600 missing in LLVM + ++ optional enableR600LlvmCompiler "--enable-r600-llvm-compiler" ++ optional enableTextureFloats "--enable-texture-float" ++ optionals enableExtraFeatures [ - "--enable-gles1" "--enable-gles2" - "--enable-osmesa" "--enable-openvg" "--enable-gallium-egl" # not needed for EGL in Gallium, but OpenVG might be useful #"--enable-xvmc" # tests segfault with 9.1.{1,2,3} - "--enable-vdpau" #"--enable-opencl" # ToDo: opencl seems to need libclc for clover ]; nativeBuildInputs = [ pkgconfig python makedepend file flex bison ]; propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ] - ++ - stdenv.lib.optionals stdenv.isLinux [libdrm] - ; + ++ optionals stdenv.isLinux [libdrm] + ; buildInputs = with xorg; [ autoconf automake libtool intltool expat libxml2Python llvm libXfixes glproto dri2proto libX11 libXext libxcb libXt - libffi wayland - ] ++ stdenv.lib.optionals enableExtraFeatures [ /*libXvMC*/ libvdpau ] - ++ stdenv.lib.optional stdenv.isLinux [udev] - ; + libffi wayland libvdpau + ] ++ optionals enableExtraFeatures [ /*libXvMC*/ ] + ++ optional stdenv.isLinux udev + ++ optional enableR600LlvmCompiler libelf + ; enableParallelBuilding = true; - doCheck = true; + #doCheck = true; # https://bugs.freedesktop.org/show_bug.cgi?id=67672 + # TODO: best fix this before merging >=9.2 to master - # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM + # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM; + # also move libOSMesa to $osmesa, as it's relatively big # ToDo: probably not all .la files are completely fixed, but it shouldn't matter postInstall = with stdenv.lib; '' mv -t "$drivers/lib/" \ '' + optionalString enableExtraFeatures '' `#$out/lib/libXvMC*` \ - $out/lib/vdpau \ - $out/lib/libOSMesa* \ $out/lib/gbm $out/lib/libgbm* \ $out/lib/gallium-pipe \ '' + '' $out/lib/libdricore* \ $out/lib/libgallium* \ + $out/lib/vdpau \ $out/lib/libxatracker* + mkdir -p {$osmesa,$drivers}/lib/pkgconfig + mv -t $osmesa/lib/ \ + $out/lib/libOSMesa* + + mv -t $drivers/lib/pkgconfig/ \ + $out/lib/pkgconfig/xatracker.pc + + mv -t $osmesa/lib/pkgconfig/ \ + $out/lib/pkgconfig/osmesa.pc + '' + /* now fix references in .la files */ '' sed "/^libdir=/s,$out,$drivers," -i \ '' + optionalString enableExtraFeatures '' `#$drivers/lib/libXvMC*.la` \ - $drivers/lib/vdpau/*.la \ - $drivers/lib/libOSMesa*.la \ $drivers/lib/gallium-pipe/*.la \ '' + '' $drivers/lib/libgallium.la \ + $drivers/lib/vdpau/*.la \ $drivers/lib/libdricore*.la sed "s,$out\(/lib/\(libdricore[0-9\.]*\|libgallium\).la\),$drivers\1,g" \ -i $drivers/lib/*.la $drivers/lib/*/*.la + sed "/^libdir=/s,$out,$osmesa," -i \ + $osmesa/lib/libOSMesa*.la + '' + /* work around bug #529, but maybe $drivers should also be patchelf-ed */ '' - find $drivers/ -type f -executable -print0 | xargs -0 strip -S || true + find $drivers/ $osmesa/ -type f -executable -print0 | xargs -0 strip -S || true '' + /* add RPATH so the drivers can find the moved libgallium and libdricore9 */ '' for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do @@ -138,6 +154,8 @@ stdenv.mkDerivation { done '' + /* set the default search path for DRI drivers; used e.g. by X server */ '' substituteInPlace "$out/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}" + '' + /* move vdpau drivers to $drivers/lib, so they are found */ '' + mv "$drivers"/lib/vdpau/* "$drivers"/lib/ && rmdir "$drivers"/lib/vdpau ''; #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM @@ -148,6 +166,6 @@ stdenv.mkDerivation { homepage = http://www.mesa3d.org/; license = "bsd"; platforms = stdenv.lib.platforms.mesaPlatforms; - maintainers = [ stdenv.lib.maintainers.simons ]; + maintainers = with stdenv.lib.maintainers; [ simons vcunat ]; }; } diff --git a/pkgs/development/libraries/mesa/fix-rounding.patch b/pkgs/development/libraries/mesa/fix-rounding.patch deleted file mode 100644 index f81760a6708..00000000000 --- a/pkgs/development/libraries/mesa/fix-rounding.patch +++ /dev/null @@ -1,357 +0,0 @@ -From c25ae5d27b114e23d5734f846002df1a05759658 Mon Sep 17 00:00:00 2001 -From: Roland Scheidegger -Date: Thu, 31 Jan 2013 19:27:49 +0000 -Subject: gallivm: fix issues with trunc/round/floor/ceil with no arch rounding - -The emulation of these if there's no rounding instruction available -is a bit more complicated than what the code did. -In particular, doing fp-to-int/int-to-fp will not work if the exponent -is large enough (and with NaNs, Infs). Hence such values need to be filtered -out and the original value returned in this case (which fortunately should -always be exact). This comes at the expense of performance (if your cpu -doesn't support rounding instructions). -Furthermore, floor/ifloor/ceil/iceil were affected by precision issues for -values near negative (for floor) or positive (for ceil) zero, fix that as well -(fixing this issue might not actually be slower except for ceil/iceil if the -type is not signed which is probably rare - note iceil has no callers left -in any case). - -Also add some new rounding test values in lp_test_arit to actually test -for that stuff (which previously would have failed without sse41). - -This fixes https://bugs.freedesktop.org/show_bug.cgi?id=59701. ---- -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c -index b4e9f23..ec05026 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c -@@ -1590,12 +1590,37 @@ lp_build_trunc(struct lp_build_context *bld, - return lp_build_round_arch(bld, a, LP_BUILD_ROUND_TRUNCATE); - } - else { -- LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type); -- LLVMTypeRef int_vec_type = lp_build_int_vec_type(bld->gallivm, type); -- LLVMValueRef res; -- res = LLVMBuildFPToSI(builder, a, int_vec_type, ""); -- res = LLVMBuildSIToFP(builder, res, vec_type, ""); -- return res; -+ const struct lp_type type = bld->type; -+ struct lp_type inttype; -+ struct lp_build_context intbld; -+ LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24); -+ LLVMValueRef trunc, res, anosign, mask; -+ LLVMTypeRef int_vec_type = bld->int_vec_type; -+ LLVMTypeRef vec_type = bld->vec_type; -+ -+ assert(type.width == 32); /* might want to handle doubles at some point */ -+ -+ inttype = type; -+ inttype.floating = 0; -+ lp_build_context_init(&intbld, bld->gallivm, inttype); -+ -+ /* round by truncation */ -+ trunc = LLVMBuildFPToSI(builder, a, int_vec_type, ""); -+ res = LLVMBuildSIToFP(builder, trunc, vec_type, "floor.trunc"); -+ -+ /* mask out sign bit */ -+ anosign = lp_build_abs(bld, a); -+ /* -+ * mask out all values if anosign > 2^24 -+ * This should work both for large ints (all rounding is no-op for them -+ * because such floats are always exact) as well as special cases like -+ * NaNs, Infs (taking advantage of the fact they use max exponent). -+ * (2^24 is arbitrary anything between 2^24 and 2^31 should work.) -+ */ -+ anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, ""); -+ cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, ""); -+ mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval); -+ return lp_build_select(bld, mask, a, res); - } - } - -@@ -1620,11 +1645,36 @@ lp_build_round(struct lp_build_context *bld, - return lp_build_round_arch(bld, a, LP_BUILD_ROUND_NEAREST); - } - else { -- LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type); -- LLVMValueRef res; -+ const struct lp_type type = bld->type; -+ struct lp_type inttype; -+ struct lp_build_context intbld; -+ LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24); -+ LLVMValueRef res, anosign, mask; -+ LLVMTypeRef int_vec_type = bld->int_vec_type; -+ LLVMTypeRef vec_type = bld->vec_type; -+ -+ assert(type.width == 32); /* might want to handle doubles at some point */ -+ -+ inttype = type; -+ inttype.floating = 0; -+ lp_build_context_init(&intbld, bld->gallivm, inttype); -+ - res = lp_build_iround(bld, a); - res = LLVMBuildSIToFP(builder, res, vec_type, ""); -- return res; -+ -+ /* mask out sign bit */ -+ anosign = lp_build_abs(bld, a); -+ /* -+ * mask out all values if anosign > 2^24 -+ * This should work both for large ints (all rounding is no-op for them -+ * because such floats are always exact) as well as special cases like -+ * NaNs, Infs (taking advantage of the fact they use max exponent). -+ * (2^24 is arbitrary anything between 2^24 and 2^31 should work.) -+ */ -+ anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, ""); -+ cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, ""); -+ mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval); -+ return lp_build_select(bld, mask, a, res); - } - } - -@@ -1648,11 +1698,52 @@ lp_build_floor(struct lp_build_context *bld, - return lp_build_round_arch(bld, a, LP_BUILD_ROUND_FLOOR); - } - else { -- LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type); -- LLVMValueRef res; -- res = lp_build_ifloor(bld, a); -- res = LLVMBuildSIToFP(builder, res, vec_type, ""); -- return res; -+ const struct lp_type type = bld->type; -+ struct lp_type inttype; -+ struct lp_build_context intbld; -+ LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24); -+ LLVMValueRef trunc, res, anosign, mask; -+ LLVMTypeRef int_vec_type = bld->int_vec_type; -+ LLVMTypeRef vec_type = bld->vec_type; -+ -+ assert(type.width == 32); /* might want to handle doubles at some point */ -+ -+ inttype = type; -+ inttype.floating = 0; -+ lp_build_context_init(&intbld, bld->gallivm, inttype); -+ -+ /* round by truncation */ -+ trunc = LLVMBuildFPToSI(builder, a, int_vec_type, ""); -+ res = LLVMBuildSIToFP(builder, trunc, vec_type, "floor.trunc"); -+ -+ if (type.sign) { -+ LLVMValueRef tmp; -+ -+ /* -+ * fix values if rounding is wrong (for non-special cases) -+ * - this is the case if trunc > a -+ */ -+ mask = lp_build_cmp(bld, PIPE_FUNC_GREATER, res, a); -+ /* tmp = trunc > a ? 1.0 : 0.0 */ -+ tmp = LLVMBuildBitCast(builder, bld->one, int_vec_type, ""); -+ tmp = lp_build_and(&intbld, mask, tmp); -+ tmp = LLVMBuildBitCast(builder, tmp, vec_type, ""); -+ res = lp_build_sub(bld, res, tmp); -+ } -+ -+ /* mask out sign bit */ -+ anosign = lp_build_abs(bld, a); -+ /* -+ * mask out all values if anosign > 2^24 -+ * This should work both for large ints (all rounding is no-op for them -+ * because such floats are always exact) as well as special cases like -+ * NaNs, Infs (taking advantage of the fact they use max exponent). -+ * (2^24 is arbitrary anything between 2^24 and 2^31 should work.) -+ */ -+ anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, ""); -+ cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, ""); -+ mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval); -+ return lp_build_select(bld, mask, a, res); - } - } - -@@ -1676,11 +1767,48 @@ lp_build_ceil(struct lp_build_context *bld, - return lp_build_round_arch(bld, a, LP_BUILD_ROUND_CEIL); - } - else { -- LLVMTypeRef vec_type = lp_build_vec_type(bld->gallivm, type); -- LLVMValueRef res; -- res = lp_build_iceil(bld, a); -- res = LLVMBuildSIToFP(builder, res, vec_type, ""); -- return res; -+ const struct lp_type type = bld->type; -+ struct lp_type inttype; -+ struct lp_build_context intbld; -+ LLVMValueRef cmpval = lp_build_const_vec(bld->gallivm, type, 2^24); -+ LLVMValueRef trunc, res, anosign, mask, tmp; -+ LLVMTypeRef int_vec_type = bld->int_vec_type; -+ LLVMTypeRef vec_type = bld->vec_type; -+ -+ assert(type.width == 32); /* might want to handle doubles at some point */ -+ -+ inttype = type; -+ inttype.floating = 0; -+ lp_build_context_init(&intbld, bld->gallivm, inttype); -+ -+ /* round by truncation */ -+ trunc = LLVMBuildFPToSI(builder, a, int_vec_type, ""); -+ trunc = LLVMBuildSIToFP(builder, trunc, vec_type, "ceil.trunc"); -+ -+ /* -+ * fix values if rounding is wrong (for non-special cases) -+ * - this is the case if trunc < a -+ */ -+ mask = lp_build_cmp(bld, PIPE_FUNC_LESS, trunc, a); -+ /* tmp = trunc < a ? 1.0 : 0.0 */ -+ tmp = LLVMBuildBitCast(builder, bld->one, int_vec_type, ""); -+ tmp = lp_build_and(&intbld, mask, tmp); -+ tmp = LLVMBuildBitCast(builder, tmp, vec_type, ""); -+ res = lp_build_add(bld, trunc, tmp); -+ -+ /* mask out sign bit */ -+ anosign = lp_build_abs(bld, a); -+ /* -+ * mask out all values if anosign > 2^24 -+ * This should work both for large ints (all rounding is no-op for them -+ * because such floats are always exact) as well as special cases like -+ * NaNs, Infs (taking advantage of the fact they use max exponent). -+ * (2^24 is arbitrary anything between 2^24 and 2^31 should work.) -+ */ -+ anosign = LLVMBuildBitCast(builder, anosign, int_vec_type, ""); -+ cmpval = LLVMBuildBitCast(builder, cmpval, int_vec_type, ""); -+ mask = lp_build_cmp(&intbld, PIPE_FUNC_GREATER, anosign, cmpval); -+ return lp_build_select(bld, mask, a, res); - } - } - -@@ -1826,32 +1954,30 @@ lp_build_ifloor(struct lp_build_context *bld, - res = lp_build_round_arch(bld, a, LP_BUILD_ROUND_FLOOR); - } - else { -- /* Take the sign bit and add it to 1 constant */ -- LLVMTypeRef vec_type = bld->vec_type; -- unsigned mantissa = lp_mantissa(type); -- LLVMValueRef mask = lp_build_const_int_vec(bld->gallivm, type, -- (unsigned long long)1 << (type.width - 1)); -- LLVMValueRef sign; -- LLVMValueRef offset; -+ struct lp_type inttype; -+ struct lp_build_context intbld; -+ LLVMValueRef trunc, itrunc, mask; - -- /* sign = a < 0 ? ~0 : 0 */ -- sign = LLVMBuildBitCast(builder, a, int_vec_type, ""); -- sign = LLVMBuildAnd(builder, sign, mask, ""); -- sign = LLVMBuildAShr(builder, sign, -- lp_build_const_int_vec(bld->gallivm, type, -- type.width - 1), -- "ifloor.sign"); -+ assert(type.floating); -+ assert(lp_check_value(type, a)); - -- /* offset = -0.99999(9)f */ -- offset = lp_build_const_vec(bld->gallivm, type, -- -(double)(((unsigned long long)1 << mantissa) - 10)/((unsigned long long)1 << mantissa)); -- offset = LLVMConstBitCast(offset, int_vec_type); -+ inttype = type; -+ inttype.floating = 0; -+ lp_build_context_init(&intbld, bld->gallivm, inttype); - -- /* offset = a < 0 ? offset : 0.0f */ -- offset = LLVMBuildAnd(builder, offset, sign, ""); -- offset = LLVMBuildBitCast(builder, offset, vec_type, "ifloor.offset"); -+ /* round by truncation */ -+ itrunc = LLVMBuildFPToSI(builder, a, int_vec_type, ""); -+ trunc = LLVMBuildSIToFP(builder, itrunc, bld->vec_type, "ifloor.trunc"); - -- res = LLVMBuildFAdd(builder, res, offset, "ifloor.res"); -+ /* -+ * fix values if rounding is wrong (for non-special cases) -+ * - this is the case if trunc > a -+ * The results of doing this with NaNs, very large values etc. -+ * are undefined but this seems to be the case anyway. -+ */ -+ mask = lp_build_cmp(bld, PIPE_FUNC_GREATER, trunc, a); -+ /* cheapie minus one with mask since the mask is minus one / zero */ -+ return lp_build_add(&intbld, itrunc, mask); - } - } - -@@ -1883,35 +2009,30 @@ lp_build_iceil(struct lp_build_context *bld, - res = lp_build_round_arch(bld, a, LP_BUILD_ROUND_CEIL); - } - else { -- LLVMTypeRef vec_type = bld->vec_type; -- unsigned mantissa = lp_mantissa(type); -- LLVMValueRef offset; -+ struct lp_type inttype; -+ struct lp_build_context intbld; -+ LLVMValueRef trunc, itrunc, mask; - -- /* offset = 0.99999(9)f */ -- offset = lp_build_const_vec(bld->gallivm, type, -- (double)(((unsigned long long)1 << mantissa) - 10)/((unsigned long long)1 << mantissa)); -+ assert(type.floating); -+ assert(lp_check_value(type, a)); - -- if (type.sign) { -- LLVMValueRef mask = lp_build_const_int_vec(bld->gallivm, type, -- (unsigned long long)1 << (type.width - 1)); -- LLVMValueRef sign; -+ inttype = type; -+ inttype.floating = 0; -+ lp_build_context_init(&intbld, bld->gallivm, inttype); - -- /* sign = a < 0 ? 0 : ~0 */ -- sign = LLVMBuildBitCast(builder, a, int_vec_type, ""); -- sign = LLVMBuildAnd(builder, sign, mask, ""); -- sign = LLVMBuildAShr(builder, sign, -- lp_build_const_int_vec(bld->gallivm, type, -- type.width - 1), -- "iceil.sign"); -- sign = LLVMBuildNot(builder, sign, "iceil.not"); -- -- /* offset = a < 0 ? 0.0 : offset */ -- offset = LLVMConstBitCast(offset, int_vec_type); -- offset = LLVMBuildAnd(builder, offset, sign, ""); -- offset = LLVMBuildBitCast(builder, offset, vec_type, "iceil.offset"); -- } -+ /* round by truncation */ -+ itrunc = LLVMBuildFPToSI(builder, a, int_vec_type, ""); -+ trunc = LLVMBuildSIToFP(builder, itrunc, bld->vec_type, "iceil.trunc"); - -- res = LLVMBuildFAdd(builder, a, offset, "iceil.res"); -+ /* -+ * fix values if rounding is wrong (for non-special cases) -+ * - this is the case if trunc < a -+ * The results of doing this with NaNs, very large values etc. -+ * are undefined but this seems to be the case anyway. -+ */ -+ mask = lp_build_cmp(bld, PIPE_FUNC_LESS, trunc, a); -+ /* cheapie plus one with mask since the mask is minus one / zero */ -+ return lp_build_sub(&intbld, itrunc, mask); - } - - /* round to nearest (toward zero) */ -diff --git a/src/gallium/drivers/llvmpipe/lp_test_arit.c b/src/gallium/drivers/llvmpipe/lp_test_arit.c -index 99928b8..f14e4b3 100644 ---- a/src/gallium/drivers/llvmpipe/lp_test_arit.c -+++ b/src/gallium/drivers/llvmpipe/lp_test_arit.c -@@ -207,6 +207,18 @@ const float round_values[] = { - -10.0, -1, 0.0, 12.0, - -1.49, -0.25, 1.25, 2.51, - -0.99, -0.01, 0.01, 0.99, -+ 1.401298464324817e-45f, // smallest denormal -+ -1.401298464324817e-45f, -+ 1.62981451e-08f, -+ -1.62981451e-08f, -+ 1.62981451e15f, // large number not representable as 32bit int -+ -1.62981451e15f, -+ FLT_EPSILON, -+ -FLT_EPSILON, -+ 1.0f - 0.5f*FLT_EPSILON, -+ -1.0f + FLT_EPSILON, -+ FLT_MAX, -+ -FLT_MAX - }; - - static float fractf(float x) --- -cgit v0.9.0.2-2-gbebe diff --git a/pkgs/development/libraries/pangomm/2.28.x.nix b/pkgs/development/libraries/pangomm/default.nix similarity index 79% rename from pkgs/development/libraries/pangomm/2.28.x.nix rename to pkgs/development/libraries/pangomm/default.nix index 6843ff7a307..f71c52e670b 100644 --- a/pkgs/development/libraries/pangomm/2.28.x.nix +++ b/pkgs/development/libraries/pangomm/default.nix @@ -1,11 +1,15 @@ { stdenv, fetchurl, pkgconfig, pango, glibmm, cairomm, libpng, cairo }: +let + ver_maj = "2.34"; + ver_min = "0"; +in stdenv.mkDerivation rec { - name = "pangomm-2.28.4"; + name = "pangomm-${ver_maj}.${ver_min}"; src = fetchurl { - url = mirror://gnome/sources/pangomm/2.28/pangomm-2.28.4.tar.xz; - sha256 = "10kcdpg080m393f1vz0km41kd3483fkyabprm59gvjwklxkcp3bp"; + url = "mirror://gnome/sources/pangomm/${ver_maj}/${name}.tar.xz"; + sha256 = "0hcyvv7c5zmivprdam6cp111i6hn2y5jsxzk00m6j9pncbzvp0hf"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix index 23bfbeeb808..cb76a1b615f 100644 --- a/pkgs/development/libraries/pixman/default.nix +++ b/pkgs/development/libraries/pixman/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, pkgconfig, perl, withPNG ? true, libpng, glib /*just passthru*/ }: stdenv.mkDerivation rec { - name = "pixman-0.30.2"; + name = "pixman-0.32.4"; src = fetchurl { url = "http://cairographics.org/releases/${name}.tar.gz"; - sha256 = "1sgnpx34pj3245a9v8056jddc4cg4xxkqdjvvw6k2hnprhh8k65x"; + sha256 = "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"; }; nativeBuildInputs = [ pkgconfig perl ]; diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix index c438849e0cd..0db3722e6aa 100644 --- a/pkgs/development/libraries/poppler/default.nix +++ b/pkgs/development/libraries/poppler/default.nix @@ -4,8 +4,8 @@ }: let - version = "0.24.3"; # even major numbers are stable - sha256 = "0kip6mxp4lscr3wvgfashqk7ymhx2w1hgdilfpgig0a5kr805kfj"; + version = "0.24.4"; # even major numbers are stable + sha256 = "1qh1gk6hq5cfpkqyxxgkpyl78na8dckmh6zbgsqbpw762yd518y8"; qtcairo_patches = let qtcairo = fetchgit { # the version for poppler-0.22 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 79209017188..16bd1ee65d2 100644 --- a/pkgs/development/libraries/qt-4.x/4.8/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix @@ -49,6 +49,16 @@ stdenv.mkDerivation rec { patches = [ ./glib-2.32.patch + (fetchurl { + name = "CVE-2013-4549.patch"; + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/CVE-2013-4549.patch?h=packages/qt4"; + sha256 = "0xz60fmspzvsyhd0f013pvh2bbm87976128fphbckfcwiqr1hanw"; + }) + (fetchurl { + name = "libmng2.patch"; + url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/libmng2.patch?h=packages/qt4"; + sha256 = "1sgnrl3qzr370ad5bqc66f7sp0gk046jnsy1811x24f16cs04xzh"; + }) (substituteAll { src = ./dlopen-absolute-paths.diff; inherit cups icu libXfixes; diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix index 1ceb7a05000..3212d13ce35 100644 --- a/pkgs/development/libraries/silgraphite/graphite2.nix +++ b/pkgs/development/libraries/silgraphite/graphite2.nix @@ -1,17 +1,15 @@ -{ stdenv, fetchurl, pkgconfig, freetype, libXft, pango, fontconfig, cmake }: +{ stdenv, fetchurl, pkgconfig, freetype, cmake }: stdenv.mkDerivation rec { version = "1.2.4"; name = "graphite2-${version}"; - + src = fetchurl { url = "mirror://sourceforge/silgraphite/graphite2/${name}.tgz"; sha256 = "00xhv1mp640fr3wmdzwn4yz0g56jd4r9fb7b02mc1g19h0bdbhsb"; }; - buildInputs = [pkgconfig freetype libXft pango fontconfig cmake]; - - NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; + buildInputs = [ pkgconfig freetype cmake ]; meta = { description = "An advanced font engine"; diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix index 8854a41210b..e9ad56bdbf1 100644 --- a/pkgs/development/libraries/wayland/default.nix +++ b/pkgs/development/libraries/wayland/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, libffi, expat, pkgconfig, libxslt, docbook_xsl, doxygen }: -let version = "1.0.5"; in +let version = "1.3.0"; in stdenv.mkDerivation rec { name = "wayland-${version}"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "130n7v5i7rfsrli2n8vdzfychlgd8v7by7sfgp8vfqdlss5km34w"; + sha256 = "0vhd8z74r4zmm7hrbb8l450sb6slqkdrvmk4k78sq9lays2pd09f"; }; buildInputs = [ pkgconfig libffi expat libxslt docbook_xsl doxygen ]; diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix new file mode 100644 index 00000000000..766bb715474 --- /dev/null +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -0,0 +1,54 @@ +{ stdenv, fetchurl, perl, python, ruby, bison, gperf, flex +, pkgconfig, which, gettext, gobjectIntrospection +, gtk2, gtk3, wayland, libwebp, enchant +, libxml2, libsoup, libsecret, libxslt, harfbuzz +}: + +stdenv.mkDerivation rec { + name = "webkitgtk-2.2.3"; + + meta = { + description = "Web content rendering engine, GTK+ port"; + homepage = "http://webkitgtk.org/"; + license = stdenv.lib.licenses.bsd2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ iyzsong ]; + }; + + src = fetchurl { + url = "http://webkitgtk.org/releases/${name}.tar.xz"; + sha256 = "01a69v0aw3bv2zkx6jzk71r3pjlf2xfhxavjnma89kmd78qb7g4l"; + }; + + patches = [ ./webcore-svg-libxml-cflags.patch ]; + + prePatch = '' + patchShebangs Tools/gtk + + for i in $(find . -name '*.p[l|m]'); do + sed -e 's@/usr/bin/gcc@gcc@' -i $i + done + ''; + + configureFlags = [ + "--disable-geolocation" + "--disable-video" # TODO: gsteramer-1.0 + "--enable-introspection" + ]; + + dontAddDisableDepTrack = true; + + nativeBuildInputs = [ + perl python ruby bison gperf flex + pkgconfig which gettext gobjectIntrospection + ]; + + buildInputs = [ + gtk2 wayland libwebp enchant + libxml2 libsecret libxslt harfbuzz + ]; + + propagatedBuildInputs = [ gtk3 libsoup ]; + + #enableParallelBuilding = true; # build problems on Hydra +} diff --git a/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch b/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch new file mode 100644 index 00000000000..03fc3f3f97d --- /dev/null +++ b/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch @@ -0,0 +1,8 @@ +--- webkitgtk-2.2.3-orig/GNUmakefile.in 2013-12-04 17:56:28.000000000 +0800 ++++ webkitgtk-2.2.3/GNUmakefile.in 2013-12-05 17:32:37.976689248 +0800 +@@ -21911,6 +21911,7 @@ + @ENABLE_SVG_TRUE@ $(CAIRO_CFLAGS) \ + @ENABLE_SVG_TRUE@ $(FREETYPE_CFLAGS) \ + @ENABLE_SVG_TRUE@ $(LIBSOUP_CFLAGS) \ ++@ENABLE_SVG_TRUE@ $(LIBXML_CFLAGS) \ + @ENABLE_SVG_TRUE@ $(UNICODE_CFLAGS) diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix index bfce358a2aa..32ef97bf29c 100644 --- a/pkgs/development/python-modules/dbus/default.nix +++ b/pkgs/development/python-modules/dbus/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools }: stdenv.mkDerivation rec { - name = "dbus-python-1.1.1"; + name = "dbus-python-1.2.0"; src = fetchurl { url = "http://dbus.freedesktop.org/releases/dbus-python/${name}.tar.gz"; - sha256 = "122yj5y0mndk9axh735qvwwckck6s6x0q84dw6p97mplp17wl5w9"; + sha256 = "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71"; }; postPatch = "patchShebangs ."; diff --git a/pkgs/misc/emulators/wine/stable.nix b/pkgs/misc/emulators/wine/stable.nix index a9e0aacba26..5bec6a310d1 100644 --- a/pkgs/misc/emulators/wine/stable.nix +++ b/pkgs/misc/emulators/wine/stable.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib +{ stdenv, fetchurl, pkgconfig, xlibs, flex, bison, mesa, mesa_noglu, alsaLib , ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge , libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper }: @@ -34,7 +34,8 @@ in stdenv.mkDerivation rec { inherit version name src; buildInputs = [ - xlibs.xlibs flex bison xlibs.libXi mesa + pkgconfig + xlibs.xlibs flex bison xlibs.libXi mesa mesa_noglu.osmesa xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite alsaLib ncurses libpng libjpeg lcms fontforge @@ -45,7 +46,7 @@ in stdenv.mkDerivation rec { # them to the RPATH so that the user doesn't have to set them in # LD_LIBRARY_PATH. NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [ - freetype fontconfig stdenv.gcc.gcc mesa libdrm + freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm xlibs.libXinerama xlibs.libXrender xlibs.libXrandr xlibs.libXcursor xlibs.libXcomposite libpng libjpeg openssl gnutls cups diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix index 47f5b1ccc04..0cb81a8185a 100644 --- a/pkgs/misc/emulators/wine/unstable.nix +++ b/pkgs/misc/emulators/wine/unstable.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, xlibs, flex, bison, mesa, alsaLib +{ stdenv, fetchurl, pkgconfig, xlibs, flex, bison, mesa, mesa_noglu, alsaLib , ncurses, libpng, libjpeg, lcms, freetype, fontconfig, fontforge , libxml2, libxslt, openssl, gnutls, cups, libdrm, makeWrapper }: @@ -34,7 +34,8 @@ in stdenv.mkDerivation rec { inherit version name src; buildInputs = [ - xlibs.xlibs flex bison xlibs.libXi mesa + pkgconfig + xlibs.xlibs flex bison xlibs.libXi mesa mesa_noglu.osmesa xlibs.libXcursor xlibs.libXinerama xlibs.libXrandr xlibs.libXrender xlibs.libXxf86vm xlibs.libXcomposite alsaLib ncurses libpng libjpeg lcms fontforge @@ -45,7 +46,7 @@ in stdenv.mkDerivation rec { # them to the RPATH so that the user doesn't have to set them in # LD_LIBRARY_PATH. NIX_LDFLAGS = map (path: "-rpath ${path}/lib ") [ - freetype fontconfig stdenv.gcc.gcc mesa libdrm + freetype fontconfig stdenv.gcc.gcc mesa mesa_noglu.osmesa libdrm xlibs.libXinerama xlibs.libXrender xlibs.libXrandr xlibs.libXcursor xlibs.libXcomposite libpng libjpeg openssl gnutls cups diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 852d7ab9841..1be17e623f7 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -790,11 +790,11 @@ let })) // {inherit libICE kbproto libSM libX11 xproto ;}; libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) { - name = "libXtst-1.2.1"; + name = "libXtst-1.2.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2; - sha256 = "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky"; + url = mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2; + sha256 = "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg"; }; buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ]; })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; @@ -1370,11 +1370,11 @@ let })) // {inherit inputproto xorgserver xproto ;}; xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) { - name = "xf86-input-synaptics-1.6.2"; + name = "xf86-input-synaptics-1.7.1"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2; - sha256 = "082rlbyw63sashjbwd7dd0a0smp5n8yv9bihy19c706lhnhddxy3"; + url = mirror://xorg/individual/driver/xf86-input-synaptics-1.7.1.tar.bz2; + sha256 = "13mmpcwp1d69w6c458a4fdqgwl24bpvrnq3zd6833chz1rk2an6v"; }; buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ]; })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; @@ -1420,11 +1420,11 @@ let })) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;}; xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) { - name = "xf86-video-ast-0.97.0"; + name = "xf86-video-ast-0.98.0"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-ast-0.97.0.tar.bz2; - sha256 = "0xlfk64pa0vbg74m261fw8cn4vw6jw3nxm6wys9m4j3n2rwd9z18"; + url = mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2; + sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; @@ -1440,31 +1440,31 @@ let })) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) { - name = "xf86-video-cirrus-1.5.1"; + name = "xf86-video-cirrus-1.5.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2; - sha256 = "0my54x52fsa82bsh196hz79750xjlv8ddbvin7230ck7pnf44md9"; + url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2; + sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) { - name = "xf86-video-dummy-0.3.6"; + name = "xf86-video-dummy-0.3.7"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.6.tar.bz2; - sha256 = "16773lxa74d9v2x758bx0byrmxssplqygnjn09q3klr605j5ncs4"; + url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2; + sha256 = "1046p64xap69vlsmsz5rjv0djc970yhvq44fmllmas0mqp5lzy2n"; }; buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ]; })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) { - name = "xf86-video-fbdev-0.4.3"; + name = "xf86-video-fbdev-0.4.4"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2; - sha256 = "0ca8khgy3wv0fys7s4087apvnp8j86blxj5m5m70l10hs5x06yzz"; + url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2; + sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; @@ -1540,14 +1540,14 @@ let })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) { - name = "xf86-video-neomagic-1.2.7"; + name = "xf86-video-neomagic-1.2.8"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.7.tar.bz2; - sha256 = "0xnbk2y5pzs1g3w2rmjc4k3nyq6kazf67bv4q3dnbywalsgfh1lz"; + url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2; + sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash"; }; - buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; + buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ]; + })) // {inherit fontsproto libpciaccess xorgserver xproto ;}; xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) { name = "xf86-video-newport-0.2.4"; @@ -1680,11 +1680,11 @@ let })) // {inherit randrproto videoproto xorgserver xproto ;}; xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) { - name = "xf86-video-vesa-2.3.2"; + name = "xf86-video-vesa-2.3.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2; - sha256 = "1qqf97baii1dcsm3y8gqw674j4r8llhkbqsavhyn11iwmvzifjhl"; + url = mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2; + sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf"; }; buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ]; })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; @@ -1900,11 +1900,11 @@ let })) // {inherit ;}; xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) { - name = "xorg-server-1.13.4"; + name = "xorg-server-1.14.5"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xserver/xorg-server-1.13.4.tar.bz2; - sha256 = "1kwq5hqgl3qmm4nxh5iwpa0wwwzsj67fxqiiglzhyyrwgy46kjd2"; + url = mirror://xorg/individual/xserver/xorg-server-1.14.5.tar.bz2; + sha256 = "1lb1fkscy7nwnabfj0d2shvxga16i047g11if18plj0n2jzhc3wd"; }; buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index fb8b5856ecb..08dc5a92b7d 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -159,6 +159,13 @@ in ]; }; + xf86videonv = attrs: attrs // { + patches = [( args.fetchurl { + url = http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/patch/?id=fc78fe98222b0204b8a2872a529763d6fe5048da; + sha256 = "0ikbnz6048ygs1qahb6ylnxkyjhfjcqr2gm9bk95ca90v57j7i0f"; + })]; + }; + xf86videovmware = attrs: attrs // { buildInputs = attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker }; @@ -185,11 +192,7 @@ in "--with-default-font-path= " # there were only paths containing "${prefix}", # and there are no fonts in this package anyway ]; - patches = - [ ./xorgserver-dri-path.patch - ./xorgserver-xkbcomp-path.patch - ./xorgserver-cve-2013-4396.patch - ]; + patches = [ ./xorgserver-xkbcomp-path.patch ]; buildInputs = attrs.buildInputs ++ [ xtrans ]; propagatedBuildInputs = [ args.zlib args.udev args.mesa args.dbus.libs diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index 4464aeea9b8..4cf9c0362e0 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -77,7 +77,7 @@ mirror://xorg/individual/lib/libXrender-0.9.8.tar.bz2 mirror://xorg/individual/lib/libXres-1.0.7.tar.bz2 mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2 mirror://xorg/individual/lib/libXt-1.1.4.tar.bz2 -mirror://xorg/X11R7.7/src/everything/libXtst-1.2.1.tar.bz2 +mirror://xorg/individual/lib/libXtst-1.2.2.tar.bz2 mirror://xorg/individual/lib/libXv-1.0.8.tar.bz2 mirror://xorg/individual/lib/libXvMC-1.0.8.tar.bz2 mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2 @@ -116,15 +116,15 @@ mirror://xorg/individual/driver/xf86-input-evdev-2.7.3.tar.bz2 mirror://xorg/individual/driver/xf86-input-joystick-1.6.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-1.6.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-1.7.2.tar.bz2 -mirror://xorg/individual/driver/xf86-input-synaptics-1.6.2.tar.bz2 +mirror://xorg/individual/driver/xf86-input-synaptics-1.7.1.tar.bz2 mirror://xorg/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2 mirror://xorg/individual/driver/xf86-input-void-1.4.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2 -mirror://xorg/individual/driver/xf86-video-ast-0.97.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-ast-0.98.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-ati-7.1.0.tar.bz2 -mirror://xorg/individual/driver/xf86-video-cirrus-1.5.1.tar.bz2 -mirror://xorg/individual/driver/xf86-video-dummy-0.3.6.tar.bz2 -mirror://xorg/individual/driver/xf86-video-fbdev-0.4.3.tar.bz2 +mirror://xorg/individual/driver/xf86-video-cirrus-1.5.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-dummy-0.3.7.tar.bz2 +mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-geode-2.11.14.tar.bz2 mirror://xorg/individual/driver/xf86-video-glide-1.2.1.tar.bz2 mirror://xorg/individual/driver/xf86-video-glint-1.2.8.tar.bz2 @@ -132,7 +132,7 @@ mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2 mirror://xorg/individual/driver/xf86-video-intel-2.21.9.tar.bz2 mirror://xorg/individual/driver/xf86-video-mach64-6.9.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-mga-1.6.2.tar.bz2 -mirror://xorg/individual/driver/xf86-video-neomagic-1.2.7.tar.bz2 +mirror://xorg/individual/driver/xf86-video-neomagic-1.2.8.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2 mirror://xorg/individual/driver/xf86-video-nv-2.1.20.tar.bz2 mirror://xorg/individual/driver/xf86-video-openchrome-0.3.3.tar.bz2 @@ -146,7 +146,7 @@ mirror://xorg/individual/driver/xf86-video-tdfx-1.4.5.tar.bz2 mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2 mirror://xorg/individual/driver/xf86-video-trident-1.3.6.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2 -mirror://xorg/individual/driver/xf86-video-vesa-2.3.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vesa-2.3.3.tar.bz2 mirror://xorg/individual/driver/xf86-video-vmware-13.0.1.tar.bz2 mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2 @@ -164,7 +164,7 @@ mirror://xorg/X11R7.7/src/everything/xlsatoms-1.1.1.tar.bz2 mirror://xorg/X11R7.7/src/everything/xlsclients-1.1.2.tar.bz2 mirror://xorg/X11R7.7/src/everything/xmodmap-1.0.7.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-docs-1.7.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.13.4.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.14.5.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2 mirror://xorg/X11R7.7/src/everything/xprop-1.2.1.tar.bz2 diff --git a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch b/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch deleted file mode 100644 index 4b6727e61c0..00000000000 --- a/pkgs/servers/x11/xorg/xorgserver-cve-2013-4396.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith -Date: Mon, 16 Sep 2013 21:47:16 -0700 -Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText() - [CVE-2013-4396] - -Save a pointer to the passed in closure structure before copying it -and overwriting the *c pointer to point to our copy instead of the -original. If we hit an error, once we free(c), reset c to point to -the original structure before jumping to the cleanup code that -references *c. - -Since one of the errors being checked for is whether the server was -able to malloc(c->nChars * itemSize), the client can potentially pass -a number of characters chosen to cause the malloc to fail and the -error path to be taken, resulting in the read from freed memory. - -Since the memory is accessed almost immediately afterwards, and the -X server is mostly single threaded, the odds of the free memory having -invalid contents are low with most malloc implementations when not using -memory debugging features, but some allocators will definitely overwrite -the memory there, leading to a likely crash. - -Reported-by: Pedro Ribeiro -Signed-off-by: Alan Coopersmith -Reviewed-by: Julien Cristau ---- - dix/dixfonts.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/dix/dixfonts.c b/dix/dixfonts.c -index feb765d..2e34d37 100644 ---- a/dix/dixfonts.c -+++ b/dix/dixfonts.c -@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c) - GC *pGC; - unsigned char *data; - ITclosurePtr new_closure; -+ ITclosurePtr old_closure; - - /* We're putting the client to sleep. We need to - save some state. Similar problem to that handled -@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c) - err = BadAlloc; - goto bail; - } -+ old_closure = c; - *new_closure = *c; - c = new_closure; - - data = malloc(c->nChars * itemSize); - if (!data) { - free(c); -+ c = old_closure; - err = BadAlloc; - goto bail; - } -@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c) - if (!pGC) { - free(c->data); - free(c); -+ c = old_closure; - err = BadAlloc; - goto bail; - } -@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c) - FreeScratchGC(pGC); - free(c->data); - free(c); -+ c = old_closure; - err = BadAlloc; - goto bail; - } --- -1.7.9.2 diff --git a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch b/pkgs/servers/x11/xorg/xorgserver-dri-path.patch deleted file mode 100644 index 3a5f061eb9a..00000000000 --- a/pkgs/servers/x11/xorg/xorgserver-dri-path.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -Naur xorg-server-1.12.2-orig/glx/glxdricommon.c xorg-server-1.12.2/glx/glxdricommon.c ---- xorg-server-1.12.2-orig/glx/glxdricommon.c 2012-05-17 13:09:02.000000000 -0400 -+++ xorg-server-1.12.2/glx/glxdricommon.c 2012-07-14 14:57:37.972791909 -0400 -@@ -219,10 +219,14 @@ - int i; - void *driver; - char filename[PATH_MAX]; -+ char *real_dri_driver_path; - const __DRIextension **extensions; - -+ real_dri_driver_path = getenv("XORG_DRI_DRIVER_PATH"); -+ if (!real_dri_driver_path) real_dri_driver_path = dri_driver_path; -+ - snprintf(filename, sizeof filename, "%s/%s_dri.so", -- dri_driver_path, driverName); -+ real_dri_driver_path, driverName); - - driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL); - if (driver == NULL) { diff --git a/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch b/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch deleted file mode 100644 index d85494f9029..00000000000 --- a/pkgs/servers/x11/xorg/xorgserver12-CVE-1940.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f Mon Sep 17 00:00:00 2001 -From: Dave Airlie -Date: Wed, 10 Apr 2013 06:09:01 +0000 -Subject: xf86: fix flush input to work with Linux evdev devices. - -So when we VT switch back and attempt to flush the input devices, -we don't succeed because evdev won't return part of an event, -since we were only asking for 4 bytes, we'd only get -EINVAL back. - -This could later cause events to be flushed that we shouldn't have -gotten. - -This is a fix for CVE-2013-1940. - -Signed-off-by: Dave Airlie -Reviewed-by: Peter Hutterer -Signed-off-by: Peter Hutterer ---- -diff --git a/hw/xfree86/os-support/shared/posix_tty.c b/hw/xfree86/os-support/shared/posix_tty.c -index ab3757a..4d08c1e 100644 ---- a/hw/xfree86/os-support/shared/posix_tty.c -+++ b/hw/xfree86/os-support/shared/posix_tty.c -@@ -421,7 +421,8 @@ xf86FlushInput(int fd) - { - fd_set fds; - struct timeval timeout; -- char c[4]; -+ /* this needs to be big enough to flush an evdev event. */ -+ char c[256]; - - DebugF("FlushingSerial\n"); - if (tcflush(fd, TCIFLUSH) == 0) --- -cgit v0.9.0.2-2-gbebe diff --git a/pkgs/tools/X11/vdpauinfo/default.nix b/pkgs/tools/X11/vdpauinfo/default.nix index 23233861a06..0b1d889d700 100644 --- a/pkgs/tools/X11/vdpauinfo/default.nix +++ b/pkgs/tools/X11/vdpauinfo/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, xlibs, libvdpau }: stdenv.mkDerivation rec { - name = "vdpauinfo-0.0.6"; - + name = "vdpauinfo-0.1"; + src = fetchurl { url = "http://people.freedesktop.org/~aplattner/vdpau/${name}.tar.gz"; - sha256 = "0m2llqjnwh3x6y56hik3znym2mfk1haq81a15p54m60ngf0mvfsj"; + sha256 = "17q1spsrd5i4jzhpacbs0bb4blf74j8s45rpg0znyc1yjfk5dj5h"; }; buildInputs = [ pkgconfig xlibs.libX11 libvdpau ]; diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix index be42fb4d2a5..596c950b1f3 100644 --- a/pkgs/tools/admin/tigervnc/default.nix +++ b/pkgs/tools/admin/tigervnc/default.nix @@ -56,7 +56,6 @@ stdenv.mkDerivation rec { do patch -p1 < $a done - patch -p1 < ../xserver113.patch autoreconf -vfi ./configure $configureFlags --disable-xinerama --disable-xvfb --disable-xnest --disable-xorg --disable-dmx --disable-dri --disable-dri2 --disable-glx --prefix="$out" make TIGERVNC_SRCDIR=`pwd`/../.. diff --git a/pkgs/tools/audio/pa-applet/default.nix b/pkgs/tools/audio/pa-applet/default.nix index c5b45743c34..6d5dd6ffca0 100644 --- a/pkgs/tools/audio/pa-applet/default.nix +++ b/pkgs/tools/audio/pa-applet/default.nix @@ -17,11 +17,13 @@ stdenv.mkDerivation rec { ./autogen.sh ''; + # work around a problem related to gtk3 updates + NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; + postInstall = '' ''; meta = with stdenv.lib; { - homepage = http://projects.gnome.org/NetworkManager/; description = ""; license = licenses.gpl2; maintainers = with maintainers; [ iElectric ]; diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index c41bf032a60..e0f9ce2a2bf 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -6,6 +6,7 @@ , libXt ? null , libXpm ? null , libXaw ? null +, aquaterm ? false , wxGTK ? null , pango ? null , cairo ? null @@ -15,7 +16,9 @@ , coreutils ? null }: assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null); - +let + withX = libX11 != null && !aquaterm; +in stdenv.mkDerivation rec { name = "gnuplot-4.6.3"; @@ -25,14 +28,18 @@ stdenv.mkDerivation rec { }; buildInputs = - [ zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw + [ zlib gd texinfo readline emacs lua texLive pango cairo pkgconfig makeWrapper ] + ++ stdenv.lib.optionals withX [ libX11 libXpm libXt libXaw ] # compiling with wxGTK causes a malloc (double free) error on darwin ++ stdenv.lib.optional (!stdenv.isDarwin) wxGTK; - configureFlags = if libX11 != null then ["--with-x"] else ["--without-x"]; + configureFlags = + (if withX then ["--with-x"] else ["--without-x"]) + ++ (if aquaterm then ["--with-aquaterm"] else ["--without-aquaterm"]) + ; - postInstall = stdenv.lib.optionalString (libX11 != null) '' + postInstall = stdenv.lib.optionalString withX '' wrapProgram $out/bin/gnuplot \ --prefix PATH : '${gnused}/bin' \ --prefix PATH : '${coreutils}/bin' \ diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix index 39e134ad906..2e3274ca0ff 100644 --- a/pkgs/tools/graphics/netpbm/default.nix +++ b/pkgs/tools/graphics/netpbm/default.nix @@ -10,6 +10,11 @@ stdenv.mkDerivation { sha256 = "0csx6g0ci66nx1a6z0a9dkpfp66mdvcpp5r7g6zrx4jp18r9hzb2"; }; + postPatch = /* CVE-2005-2471, from Arch */ '' + substituteInPlace converter/other/pstopnm.c \ + --replace '"-DSAFER"' '"-DPARANOIDSAFER"' + ''; + NIX_CFLAGS_COMPILE = "-fPIC"; # Gentoo adds this on every platform buildInputs = [ pkgconfig flex zlib perl libpng libjpeg libxml2 makeWrapper libX11 libtiff ]; @@ -18,9 +23,7 @@ stdenv.mkDerivation { cp config.mk.in config.mk substituteInPlace "config.mk" \ --replace "TIFFLIB = NONE" "TIFFLIB = ${libtiff}/lib/libtiff.so" \ - --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include" \ - --replace "TIFFLIB_NEEDS_JPEG = Y" "TIFFLIB_NEEDS_JPEG = N" \ - --replace "TIFFLIB_NEEDS_Z = Y" "TIFFLIB_NEEDS_Z = N" + --replace "TIFFHDR_DIR =" "TIFFHDR_DIR = ${libtiff}/include" ''; preBuild = '' diff --git a/pkgs/tools/misc/desktop-file-utils/default.nix b/pkgs/tools/misc/desktop-file-utils/default.nix index 285160e50d6..7c84d913157 100644 --- a/pkgs/tools/misc/desktop-file-utils/default.nix +++ b/pkgs/tools/misc/desktop-file-utils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, pkgconfig, glib }: stdenv.mkDerivation rec { - name = "desktop-file-utils-0.16"; + name = "desktop-file-utils-0.22"; src = fetchurl { - url = "http://www.freedesktop.org/software/desktop-file-utils/releases/${name}.tar.bz2"; - sha256 = "18y9am8n43rrnnldd1cy09ls39xz1gx3qczax2c4cjxayx5vwq3r"; + url = "http://www.freedesktop.org/software/desktop-file-utils/releases/${name}.tar.xz"; + sha256 = "1ianvr2a69yjv4rpyv30w7yjsmnsb23crrka5ndqxycj4rkk4dc4"; }; buildInputs = [ pkgconfig glib ]; diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix index e42dfee7cae..f959ad1d573 100644 --- a/pkgs/tools/networking/mu/default.nix +++ b/pkgs/tools/networking/mu/default.nix @@ -1,5 +1,5 @@ { fetchurl, stdenv, sqlite, pkgconfig, xapian, glib, gmime, texinfo, emacs, guile -, gtk3, webkit, libsoup, icu }: +, gtk3, webkit, libsoup, icu, withMug ? false /* doesn't build with current gtk3 */ }: stdenv.mkDerivation rec { version = "0.9.9.5"; @@ -10,8 +10,9 @@ stdenv.mkDerivation rec { sha256 = "1hwkliyb8fjrz5sw9fcisssig0jkdxzhccw0ld0l9a10q1l9mqhp"; }; - buildInputs = [ sqlite pkgconfig xapian glib gmime texinfo emacs guile - gtk3 webkit libsoup icu ]; + buildInputs = + [ sqlite pkgconfig xapian glib gmime texinfo emacs guile libsoup icu ] + ++ stdenv.lib.optional withMug [ gtk3 webkit ]; preBuild = '' # Fix mu4e-builddir (set it to $out) @@ -24,7 +25,7 @@ stdenv.mkDerivation rec { ''; # Install mug and msg2pdf - postInstall = '' + postInstall = stdenv.lib.optionalString withMug '' cp -v toys/msg2pdf/msg2pdf $out/bin/ cp -v toys/mug/mug $out/bin/ ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 91f842a9aac..cc34533b279 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1018,6 +1018,9 @@ let else stdenv; }; + # must have AquaTerm installed separately + gnuplot_aquaterm = gnuplot.override { aquaterm = true; }; + gnused = callPackage ../tools/text/gnused { }; gnutar = callPackage ../tools/archivers/gnutar { }; @@ -4236,7 +4239,7 @@ let geoclue = callPackage ../development/libraries/geoclue {}; geoclue2 = callPackage ../development/libraries/geoclue/2.0.nix { - libsoup = libsoup_2_40; + libsoup = libsoup_2_44; }; geoip = builderDefsPackage ../development/libraries/geoip { @@ -4504,13 +4507,10 @@ let glSupport = config.cairo.gl or (stdenv.isLinux && !stdenv.isArm && !stdenv.isMips); }; - cairo_1_12_2 = callPackage ../development/libraries/cairo/1.12.2.nix { }; cairomm = callPackage ../development/libraries/cairomm { }; pango = callPackage ../development/libraries/pango { }; - pangomm = callPackage ../development/libraries/pangomm/2.28.x.nix { - cairo = cairo_1_12_2; - }; + pangomm = callPackage ../development/libraries/pangomm { }; pangox_compat = callPackage ../development/libraries/pangox-compat { }; @@ -4563,10 +4563,7 @@ let heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; - harfbuzz = callPackage ../development/libraries/harfbuzz { - icu = null; - graphite2 = null; - }; + harfbuzz = callPackage ../development/libraries/harfbuzz { }; hawknl = callPackage ../development/libraries/hawknl { }; @@ -4991,7 +4988,7 @@ let libmowgli = callPackage ../development/libraries/libmowgli { }; - libmng = callPackage ../development/libraries/libmng { lcms = lcms2; }; + libmng = callPackage ../development/libraries/libmng { }; libmnl = callPackage ../development/libraries/libmnl { }; @@ -5092,7 +5089,7 @@ let libsodium = callPackage ../development/libraries/libsodium { }; libsoup = callPackage ../development/libraries/libsoup { }; - libsoup_2_40 = callPackage ../development/libraries/libsoup/2.40.nix { }; + libsoup_2_44 = callPackage ../development/libraries/libsoup/2.44.nix { }; libssh = callPackage ../development/libraries/libssh { }; @@ -5186,7 +5183,8 @@ let libwmf = callPackage ../development/libraries/libwmf { }; - libwnck = callPackage ../development/libraries/libwnck { }; + libwnck = libwnck2; + libwnck2 = callPackage ../development/libraries/libwnck { }; libwnck3 = callPackage ../development/libraries/libwnck/3.x.nix { }; libwpd = callPackage ../development/libraries/libwpd { }; @@ -5890,6 +5888,14 @@ let bison = bison2; }; + webkitgtk = callPackage ../development/libraries/webkitgtk { + stdenv = overrideGCC stdenv gcc47; + libsoup = libsoup_2_44; + harfbuzz = harfbuzz.override { + withIcu = true; + }; + }; + wildmidi = callPackage ../development/libraries/wildmidi { }; wvstreams = callPackage ../development/libraries/wvstreams { }; @@ -9135,11 +9141,7 @@ let gnutls = gnutls32; }; - weston = callPackage ../applications/window-managers/weston { - cairo = cairo.override { - glSupport = true; - }; - }; + weston = callPackage ../applications/window-managers/weston { }; windowmaker = callPackage ../applications/window-managers/windowmaker { }; @@ -9658,9 +9660,18 @@ let ### DESKTOP ENVIRONMENTS - cinnamon = recurseIntoAttrs { - cinnamon-translations = callPackage ../desktops/cinnamon/cinnamon-translations.nix { }; - }; + cinnamon = recurseIntoAttrs rec { + callPackage = newScope pkgs.cinnamon; + inherit (gnome3) gnome_common; + + cinnamon-session = callPackage ../desktops/cinnamon/cinnamon-session.nix{ } ; + + cinnamon-desktop = callPackage ../desktops/cinnamon/cinnamon-desktop.nix { }; + + cinnamon-translations = callPackage ../desktops/cinnamon/cinnamon-translations.nix { }; + + cjs = callPackage ../desktops/cinnamon/cjs.nix { }; + }; enlightenment = callPackage ../desktops/enlightenment { }; @@ -10334,7 +10345,7 @@ let libXmu libXext xextproto libSM libICE; ghostscript = ghostscriptX; harfbuzz = harfbuzz.override { - inherit icu graphite2; + withIcu = true; withGraphite2 = true; }; };