mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 04:43:09 +03:00
Merge x-updates
This commit is contained in:
commit
b80d1c5923
@ -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;
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
45
pkgs/desktops/cinnamon/cinnamon-desktop.nix
Normal file
45
pkgs/desktops/cinnamon/cinnamon-desktop.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
48
pkgs/desktops/cinnamon/cinnamon-session.nix
Normal file
48
pkgs/desktops/cinnamon/cinnamon-session.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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 {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
40
pkgs/desktops/cinnamon/cjs.nix
Normal file
40
pkgs/desktops/cinnamon/cjs.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
19
pkgs/desktops/cinnamon/remove-sessionmigration.patch
Normal file
19
pkgs/desktops/cinnamon/remove-sessionmigration.patch
Normal file
@ -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);
|
||||
|
26
pkgs/desktops/cinnamon/timeout.patch
Normal file
26
pkgs/desktops/cinnamon/timeout.patch
Normal file
@ -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 <X11/Xatom.h>
|
||||
|
||||
/* 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
|
||||
|
@ -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 { };
|
||||
|
||||
|
@ -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;
|
||||
}
|
@ -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";
|
||||
})];
|
||||
}
|
||||
|
@ -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 ];
|
||||
}
|
@ -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
|
||||
|
@ -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";
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -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;
|
||||
}
|
@ -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";
|
||||
|
@ -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 {};
|
||||
|
||||
|
@ -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}";
|
||||
|
||||
|
@ -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 { };
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
sed -e 's@</fontconfig>@@' -i chroot-fontconfig/fonts.conf
|
||||
echo "<dir>${liberation_ttf}</dir>" >> chroot-fontconfig/fonts.conf
|
||||
echo "</fontconfig>" >> 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}" ;
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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";
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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 = {
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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 ]
|
||||
|
@ -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 ]
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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 = {
|
||||
|
@ -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 = ''
|
||||
|
@ -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 ];
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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++";
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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/;
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -10,4 +10,6 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ pkgconfig intltool ];
|
||||
propagatedBuildInputs = [ libX11 gtk3 ];
|
||||
|
||||
configureFlags = [ "--disable-introspection" ];
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -1,357 +0,0 @@
|
||||
From c25ae5d27b114e23d5734f846002df1a05759658 Mon Sep 17 00:00:00 2001
|
||||
From: Roland Scheidegger <sroland@vmware.com>
|
||||
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
|
@ -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 ];
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
|
54
pkgs/development/libraries/webkitgtk/default.nix
Normal file
54
pkgs/development/libraries/webkitgtk/default.nix
Normal file
@ -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
|
||||
}
|
@ -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)
|
@ -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 .";
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 ;};
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,75 +0,0 @@
|
||||
From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001
|
||||
From: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
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 <pedrib@gmail.com>
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
Reviewed-by: Julien Cristau <jcristau@debian.org>
|
||||
---
|
||||
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
|
@ -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) {
|
@ -1,34 +0,0 @@
|
||||
From 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f Mon Sep 17 00:00:00 2001
|
||||
From: Dave Airlie <airlied@gmail.com>
|
||||
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 <airlied@redhat.com>
|
||||
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
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
|
@ -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 ];
|
||||
|
@ -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`/../..
|
||||
|
@ -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 ];
|
||||
|
@ -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' \
|
||||
|
@ -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 = ''
|
||||
|
@ -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 ];
|
||||
|
@ -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/
|
||||
'';
|
||||
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user