diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-10-31 15:11:58 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-10-31 15:11:58 +0100 |
commit | d9b9454c9865c148afc8498837e077581e43037d (patch) | |
tree | 528563f334c36e0c98981f5a41d23dbb948f6fff /gnu | |
parent | 375c610844c7776470edb88eafb18c48c6c90187 (diff) | |
parent | 3c3e69728c10bcdffa0c597b2b80a482361aea14 (diff) | |
download | guix-d9b9454c9865c148afc8498837e077581e43037d.tar.gz |
Merge branch 'dbus-update'
Diffstat (limited to 'gnu')
39 files changed, 1081 insertions, 446 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a35ef278ee..92ece7a47e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -152,13 +152,11 @@ streams from live audio.") libdir "/vamp" "\"]")))) #t)) -(define-public ardour-3 +(define-public ardour (package (name "ardour") - (version "3.5.403") + (version "4.2") (source (origin - ;; The project only provides tarballs upon individual request - ;; (or after payment) so we take the code from git. (method git-fetch) (uri (git-reference (url "git://git.ardour.org/ardour/ardour.git") @@ -171,14 +169,15 @@ streams from live audio.") "libs/ardour/revision.cc" (lambda (port) (format port "#include \"ardour/revision.h\" -namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) +namespace ARDOUR { const char* revision = \"4.2\" ; }")))) (sha256 (base32 - "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp")) + "1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments - `(#:phases + `(#:configure-flags '("--cxx11") ; required by gtkmm + #:phases (modify-phases %standard-phases (add-after 'unpack 'set-rpath-in-LDFLAGS @@ -230,35 +229,6 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio engineers, musicians, soundtrack editors and composers.") (license license:gpl2+))) -(define-public ardour - (package (inherit ardour-3) - (name "ardour") - (version "4.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://git.ardour.org/ardour/ardour.git") - (commit version))) - (snippet - ;; Ardour expects this file to exist at build time. It can be - ;; created from a git checkout with: - ;; ./waf create_stored_revision - '(call-with-output-file - "libs/ardour/revision.cc" - (lambda (port) - (format port "#include \"ardour/revision.h\" -namespace ARDOUR { const char* revision = \"4.2\" ; }")))) - (sha256 - (base32 - "1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00")) - (file-name (string-append name "-" version)))) - (arguments - (substitute-keyword-arguments (package-arguments ardour-3) - ((#:phases phases) - `(modify-phases ,phases - (replace 'set-rpath-in-LDFLAGS - ,(ardour-rpath-phase (version-prefix version 1))))))))) - (define-public azr3 (package (name "azr3") @@ -566,7 +536,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.") version ".tar.bz2")) (sha256 (base32 - "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx")))) + "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx")) + (patches (list (search-patch "guitarix-c++11.patch"))))) (build-system waf-build-system) (arguments `(#:tests? #f ; no "check" target @@ -574,7 +545,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.") #:configure-flags (list ;; Add the output lib directory to the RUNPATH. - (string-append "--ldflags=-Wl,-rpath=" %output "/lib")))) + (string-append "--ldflags=-Wl,-rpath=" %output "/lib") + "--cxxflags=-std=c++11"))) (inputs `(("libsndfile" ,libsndfile) ("boost" ,boost) @@ -745,7 +717,16 @@ synchronous execution of all clients, and low latency operation.") (base32 "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9")))) (build-system waf-build-system) - (arguments `(#:tests? #f)) ; no check target + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'set-flags + (lambda _ + ;; Compile with C++11, required by gtkmm. + (setenv "CXXFLAGS" "-std=c++11") + #t))))) (inputs `(("lv2" ,lv2) ("lilv" ,lilv) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 128f0370dd..9b8ebde761 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -36,7 +36,7 @@ (define-public cmake (package (name "cmake") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (string-append @@ -44,7 +44,7 @@ (version-major+minor version) "/cmake-" version ".tar.gz")) (sha256 - (base32 "1mp32dqywk4dfw7zmpgp31axszv7h74yk69g273z21q7d8n04rfd")) + (base32 "08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7")) (patches (list (search-patch "cmake-fix-tests.patch"))))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index f7c9f083b7..3e435f4b13 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> @@ -39,14 +39,14 @@ (define-public curl (package (name "curl") - (version "7.44.0") + (version "7.45.0") (source (origin (method url-fetch) (uri (string-append "http://curl.haxx.se/download/curl-" version ".tar.lzma")) (sha256 (base32 - "0gjnaav9vmwwwza451na1643br7i0kxgd4002pwqh3xk5ywvdap7")))) + "0bamqik0mi2rmai016iakwrwmsz0s5xad1ghkbwsd3zkv08rgkcn")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.2 MiB of man3 pages diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 3db8f9f11d..f31b905156 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -203,7 +203,7 @@ applications should be.") (define-public graphite2 (package (name "graphite2") - (version "1.3.1") + (version "1.3.3") (source (origin (method url-fetch) @@ -212,7 +212,7 @@ applications should be.") version ".tgz")) (sha256 (base32 - "0xvhmlyyxg2qmbwyl8k2f9w7mrbjyl59823pnjd8xmxpyl6976d5")))) + "1n22vvi4jl83m4sqhvd7v31bhyhyd8j6c3yjgh4zjfyrvid16jrg")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ; because of "import imap" in tests diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 0f836d3c01..ee94db440a 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -157,7 +157,10 @@ the freedesktop.org XDG Base Directory specification.") (assoc-ref %build-inputs "libcap")) (string-append "--with-udevrulesdir=" (assoc-ref %outputs "out") - "/lib/udev/rules.d")) + "/lib/udev/rules.d") + ;; XXX: fail with: + ;; src/shared/clean-ipc.c:315: undefined reference to `mq_unlink' + "LDFLAGS=-lrt") #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent"))) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index e8003f88a3..c7bece868d 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -26,6 +26,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages autotools) @@ -74,14 +75,15 @@ as ASCII text.") (define-public freeglut (package (name "freeglut") - (version "2.8.1") + (version "3.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/project/freeglut/freeglut/" version "/freeglut-" version ".tar.gz")) (sha256 - (base32 "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x")))) - (build-system gnu-build-system) + (base32 "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ; no test target (inputs `(("mesa" ,mesa) ("libx11" ,libx11) ("libxi" ,libxi) @@ -185,7 +187,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "10.5.4") + (version "11.0.3") (source (origin (method url-fetch) @@ -193,7 +195,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz")) (sha256 (base32 - "00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm")))) + "1mikw0biw0wxq0fn3cp18bm6kjrkd66fy84774yc5b91rvp94adb")))) (build-system gnu-build-system) (propagated-inputs `(("glproto" ,glproto) @@ -257,12 +259,10 @@ also known as DXTn or DXTC) for Mesa.") "src/mesa/main/texcompress_s3tc.c") (("\"libtxc_dxtn\\.so") (string-append "\"" s2tc "/lib/libtxc_dxtn.so"))) - (substitute* "src/gallium/targets/egl-static/egl_st.c" - (("\"libglapi\"") - (string-append "\"" out "/lib/libglapi\""))) (substitute* "src/loader/loader.c" - (("dlopen\\(\"libudev\\.so") - (string-append "dlopen(\"" udev "/lib/libudev.so"))) + (("udev_handle = dlopen\\(name") + (string-append "udev_handle = dlopen(\"" + udev "/lib/libudev.so\""))) (substitute* "src/glx/dri_common.c" (("dlopen\\(\"libGL\\.so") (string-append "dlopen(\"" out "/lib/libGL.so"))) @@ -327,7 +327,12 @@ emulation to complete hardware acceleration for modern GPUs.") (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:phases + '(;; XXX: fails to build against latest mesa: + ;; eglut.c: error: 'EGL_SCREEN_BIT_MESA' undeclared + ;; + ;; <https://bugs.freedesktop.org/show_bug.cgi?id=91643> + #:configure-flags '("--disable-egl") + #:phases (modify-phases %standard-phases (replace 'install diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 2e8797560b..f7e67ba9ec 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -57,36 +57,44 @@ (define dbus (package (name "dbus") - (version "1.8.16") + (version "1.10.0") (source (origin - (method url-fetch) - (uri - (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" - version ".tar.gz")) - (sha256 - (base32 - "01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz")) - (patches (list (search-patch "dbus-localstatedir.patch"))))) + ;; TODO: Apply patch from DBUS/ACTIVATION below. + (method url-fetch) + (uri (string-append + "http://dbus.freedesktop.org/releases/dbus/dbus-" + version ".tar.gz")) + (sha256 + (base32 + "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx")))) (build-system gnu-build-system) (arguments - '(#:configure-flags (list ;; Install the system bus socket under /var. - "--localstatedir=/var" - - ;; XXX: Fix the following to allow system-wide - ;; config. - ;; "--sysconfdir=/etc" - - "--with-session-socket-dir=/tmp") - #:phases (alist-cons-after - 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - ;; 'dbus-launch' bails out if the 'session.d' directory - ;; below is missing, so create it along with its companion. - (let ((out (assoc-ref outputs "out"))) - (mkdir (string-append out "/etc/dbus-1/session.d")) - (mkdir (string-append out "/etc/dbus-1/system.d")) - #t)) - %standard-phases))) + '(#:configure-flags + (list + ;; Install the system bus socket under /var. + "--localstatedir=/var" + + ;; Install the session bus socket under /tmp. + "--with-session-socket-dir=/tmp" + + ;; Use /etc/dbus-1 for system-wide config. + ;; Look for configuration file under + ;; /etc/dbus-1. This is notably required by + ;; 'dbus-daemon-launch-helper', which looks for + ;; the 'system.conf' file in that place, + ;; regardless of what '--config-file' was + ;; passed to 'dbus-daemon' on the command line; + ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>. + "--sysconfdir=/etc") + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda _ + ;; Don't try to create /var and /etc. + (system* "make" + "localstatedir=/tmp/dummy" + "sysconfdir=/tmp/dummy" + "install")))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -116,10 +124,21 @@ or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 +(define-public dbus/activation + ;; D-Bus with a patch to fix service activation. + ;; TODO: Merge with DBUS above. + (package + (inherit dbus) + (version (string-append (package-version dbus) ".a")) + (source (origin + (inherit (package-source dbus)) + (patches + (list (search-patch "dbus-helper-search-path.patch"))))))) + (define glib (package (name "glib") - (version "2.44.1") + (version "2.46.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -127,7 +146,7 @@ shared NFS home directories.") name "-" version ".tar.xz")) (sha256 (base32 - "01yabrfp64i11mrks3p1gcks99lw0zm7f5vhkc53sl4amyndw4c8")) + "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss")) (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") @@ -207,14 +226,18 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.44.0") + (version "1.46.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" "gobject-introspection/" (version-major+minor version) "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g")) + (base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36")) + (modules '((guix build utils))) + (snippet + '(substitute* "tools/g-ir-tool-template.in" + (("#!/usr/bin/env @PYTHON@") "#!@PYTHON@"))) (patches (list (search-patch "gobject-introspection-cc.patch") (search-patch @@ -258,7 +281,7 @@ bindings to call into the C library.") (define intltool (package (name "intltool") - (version "0.50.2") + (version "0.51.0") (source (origin (method url-fetch) (uri (string-append "https://launchpad.net/intltool/trunk/" @@ -266,7 +289,7 @@ bindings to call into the C library.") version ".tar.gz")) (sha256 (base32 - "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) + "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7")))) (build-system gnu-build-system) (inputs `(("file" ,file))) @@ -382,7 +405,7 @@ by GDBus included in Glib.") (define libsigc++ (package (name "libsigc++") - (version "2.4.1") + (version "2.6.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsigc++/" @@ -390,7 +413,7 @@ by GDBus included in Glib.") name "-" version ".tar.xz")) (sha256 (base32 - "1v0rvkzglzmf67y9nkcppwjwi68j1cy5yhldvcq7xrv8594l612l")))) + "06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("m4" ,m4))) @@ -409,7 +432,7 @@ has an ease of use unmatched by other C++ callback libraries.") (define glibmm (package (name "glibmm") - (version "2.44.0") + (version "2.46.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glibmm/" @@ -417,7 +440,7 @@ has an ease of use unmatched by other C++ callback libraries.") "/glibmm-" version ".tar.xz")) (sha256 (base32 - "1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv")))) + "1an4v1yk06svlmcyp1psk2a3bsn29s1a4gdx0ai2w788q6bfaiwn")))) (build-system gnu-build-system) (arguments `(#:phases (alist-cons-before @@ -491,7 +514,7 @@ useful for C++.") (define-public python-pygobject (package (name "python-pygobject") - (version "3.16.1") + (version "3.18.0") (source (origin (method url-fetch) @@ -500,7 +523,7 @@ useful for C++.") "/pygobject-" version ".tar.xz")) (sha256 (base32 - "1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx")))) + "1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw")))) (build-system gnu-build-system) (native-inputs `(("which" ,which) @@ -551,7 +574,18 @@ useful for C++.") "telepathy-glib-" version ".tar.gz")) (sha256 (base32 - "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")))) + "1symyzbjmxvksn2ifdkk50lafjm2llf2sbmky062gq2pz3cg23cy")) + (patches + (list + ;; Don't use the same test name for multiple tests. + ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92245> + (origin + (method url-fetch) + (uri "https://bugs.freedesktop.org/attachment.cgi?id=118608") + (file-name (string-append "telepathy-glib-duplicate-tests.patch")) + (sha256 + (base32 + "0z261fwrszxb28ccg3hsg9rizig4s84zvwmx6y31a4pyv7bvs5w3"))))))) (build-system gnu-build-system) (native-inputs `(("glib" ,glib "bin") ; uses glib-mkenums diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5440433402..488d46cc70 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -446,7 +446,7 @@ on the GNOME Desktop with a single simple application.") (define-public gsettings-desktop-schemas (package (name "gsettings-desktop-schemas") - (version "3.16.0") + (version "3.18.0") (source (origin (method url-fetch) @@ -455,7 +455,7 @@ on the GNOME Desktop with a single simple application.") name "-" version ".tar.xz")) (sha256 (base32 - "02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16")))) + "1szc857f46spdhrbnq9ci3kwfqg5vwpikbf0hprq6vd94rr369xs")))) (build-system gnu-build-system) (inputs `(("glib" ,glib))) @@ -821,7 +821,7 @@ dealing with different structured file formats.") (define-public librsvg (package (name "librsvg") - (version "2.40.10") + (version "2.40.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -829,7 +829,9 @@ dealing with different structured file formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0y9lvnb9ij9mjg8cyp7xysi0c5ms5v4q1zrhx42b546f71s80p4n")))) + "00ifd9wjjjsw0ybk5j6qs4yyh66jj34hjmggy6dhrgfy8ksw06k1")) + (patches + (list (search-patch "librsvg-tests.patch"))))) (build-system gnu-build-system) (arguments `(#:phases @@ -1204,6 +1206,8 @@ creating interactive structured graphics.") (base32 "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas))) (native-inputs `(("gtkmm-2" ,gtkmm-2) @@ -1625,7 +1629,7 @@ passwords in the GNOME keyring.") (define-public vala (package (name "vala") - (version "0.28.0") + (version "0.30.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1633,14 +1637,16 @@ passwords in the GNOME keyring.") name "-" version ".tar.xz")) (sha256 (base32 - "0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd")))) + "1pyyhfw3zzbhxfscbn8xz70dg6vx0kh8gshzikpxczhg01xk7w31")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'check 'set-cc + (add-before 'check 'pre-check (lambda _ (setenv "CC" "gcc") + ;; For missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") #t))))) (native-inputs `(("pkg-config" ,pkg-config) @@ -1771,7 +1777,7 @@ configuration storage systems.") (define-public json-glib (package (name "json-glib") - (version "1.0.2") + (version "1.0.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1779,7 +1785,14 @@ configuration storage systems.") name "-" version ".tar.xz")) (sha256 (base32 - "02k66lpc4cmgygj66n8zcy59bggy7yzm3v4hni9xqplgva9d2yw8")))) + "1k85vvb2prmk8aa8hmr2rp9rnbhffjgnmr18b13g24xxnqy5kww0")) + (modules '((guix build utils))) + (snippet + ;; Don't duplicate test names. + ;; <https://bugzilla.gnome.org/show_bug.cgi?id=755977>. + '(substitute* "json-glib/tests/builder.c" + (("\"/builder/complex\", test_builder_empty") + "\"/builder/empty\", test_builder_empty"))))) (build-system gnu-build-system) (native-inputs `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal @@ -1871,7 +1884,7 @@ library.") (define-public glib-networking (package (name "glib-networking") - (version "2.44.0") + (version "2.46.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -1879,7 +1892,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg")) + "1cchmi08jpjypgmm9i7xzh5qfg2q5k61kry9ns8mhw3z44a440ym")) (patches (list (search-patch "glib-networking-ssl-cert-file.patch"))))) (build-system gnu-build-system) @@ -1953,7 +1966,7 @@ libxml to ease remote use of the RESTful API.") (define-public libsoup (package (name "libsoup") - (version "2.50.0") + (version "2.52.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libsoup/" @@ -1961,18 +1974,14 @@ libxml to ease remote use of the RESTful API.") name "-" version ".tar.xz")) (sha256 (base32 - "0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y")))) + "0j6cnnpqqgnb9nj2r0j8j6898np4z503hrnpis7b4l5d8yhbq68f")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments `(#:configure-flags (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") - "/share/gtk-doc/html") - ;; To find GIO modules from glib-networking. - (string-append "GIO_EXTRA_MODULES=" - (assoc-ref %build-inputs "glib-networking") - "/lib/gio/modules")) + "/share/gtk-doc/html")) #:phases (modify-phases %standard-phases (add-before 'configure 'disable-unconnected-socket-test @@ -1990,13 +1999,22 @@ libxml to ease remote use of the RESTful API.") ;; The ca-certificates.crt is not available in the build ;; environment. (setenv "SSL_CERT_FILE" "/dev/null") - #t))))) + #t)) + (replace 'install + (lambda _ + (zero? + (system* "make" + ;; Install vala bindings into $out. + (string-append "vapidir=" %output + "/share/vala/vapi") + "install"))))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("python" ,python-wrapper) + ("vala" ,vala) ;; These are needed for the tests. ;; FIXME: Add PHP once available. ("curl" ,curl) @@ -2210,6 +2228,7 @@ keyboard shortcuts.") ("lcms" ,lcms))) (inputs `(("dbus-glib" ,dbus-glib) + ("libgudev" ,libgudev) ("libusb" ,libusb) ("sqlite" ,sqlite) ("polkit" ,polkit) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a01e6d0dd3..3ae2d70af9 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -60,7 +60,7 @@ (define-public atk (package (name "atk") - (version "2.16.0") + (version "2.18.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -68,7 +68,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9")))) + "0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -144,7 +144,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public harfbuzz (package (name "harfbuzz") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) (uri (string-append "http://www.freedesktop.org/software/" @@ -152,7 +152,7 @@ affine transformation (scale, rotation, shear, etc.).") version ".tar.bz2")) (sha256 (base32 - "1xrxlrvgyr6mm9qjxmkif2kvcah082y94gf1vqi0f0bdl1g8gp7b")))) + "0h2l362qzkck5dnnj7zlz593hf1ni3k25dfaii9mbjwflp3d56ad")))) (build-system gnu-build-system) (outputs '("out" "bin")) ; 160K, only hb-view depend on cairo @@ -182,7 +182,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public pango (package (name "pango") - (version "1.36.8") + (version "1.38.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -190,7 +190,7 @@ affine transformation (scale, rotation, shear, etc.).") name "-" version ".tar.xz")) (sha256 (base32 - "01rdzjh68w8l5zn0648yibyarj8p6g7yfn59nw5awaz1i8dvbnqq")))) + "1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k")))) (build-system gnu-build-system) (propagated-inputs `(("cairo" ,cairo) @@ -253,8 +253,10 @@ functions which were removed.") (build-system waf-build-system) (arguments `(#:phases (alist-cons-before - 'configure 'set-ldflags + 'configure 'set-flags (lambda* (#:key outputs #:allow-other-keys) + ;; Compile with C++11, required by gtkmm. + (setenv "CXXFLAGS" "-std=c++11") ;; Allow 'bin/ganv_bench' to find libganv-1.so. (setenv "LDFLAGS" (string-append "-Wl,-rpath=" @@ -381,7 +383,7 @@ in the GNOME project.") (define-public at-spi2-core (package (name "at-spi2-core") - (version "2.16.0") + (version "2.18.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -389,7 +391,7 @@ in the GNOME project.") name "-" version ".tar.xz")) (sha256 (base32 - "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw")))) + "1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -402,6 +404,8 @@ in the GNOME project.") (replace 'check ;; Run test-suite under a dbus session. (lambda _ + ;; Don't fail on missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") (zero? (system* "dbus-launch" "make" "check"))))))) (propagated-inputs ;; atspi-2.pc refers to all these. @@ -424,7 +428,7 @@ is part of the GNOME accessibility project.") (define-public at-spi2-atk (package (name "at-spi2-atk") - (version "2.16.0") + (version "2.18.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -432,7 +436,7 @@ is part of the GNOME accessibility project.") name "-" version ".tar.xz")) (sha256 (base32 - "1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq")))) + "0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4")))) (build-system gnu-build-system) (arguments '(#:phases @@ -440,6 +444,7 @@ is part of the GNOME accessibility project.") (replace 'check ;; Run test-suite under a dbus session. (lambda _ + (setenv "DBUS_FATAL_WARNINGS" "0") (zero? (system* "dbus-launch" "make" "check"))))))) (propagated-inputs `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc @@ -514,7 +519,7 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.16.6") + (version "3.18.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -522,12 +527,13 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1gpzlnfrifc17yfk0zki6b2vmsfpf5cmrbh232s6iaan11np44jd")))) + "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx")))) (propagated-inputs `(("at-spi2-atk" ,at-spi2-atk) ("atk" ,atk) ("gdk-pixbuf" ,gdk-pixbuf) ("libepoxy" ,libepoxy) + ("libxcursor" ,libxcursor) ("libxi" ,libxi) ("libxinerama" ,libxinerama) ("libxdamage" ,libxdamage) @@ -535,7 +541,13 @@ application suites.") (inputs `(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg ("libxml2" ,libxml2) - ("cups" ,cups))) ;for printing support + ;; XXX: colord depends on mozjs (through polkit), which fails on + ;; on non-intel systems now. + ;;("colord" ,colord) + ("cups" ,cups) ;for printing support + ;; XXX: rest depends on p11-kit, which fails on mips64el now. + ;;("rest" ,rest) + ("json-glib" ,json-glib))) (native-inputs `(("perl" ,perl) ("glib" ,glib "bin") @@ -731,14 +743,15 @@ documents.") (define-public cairomm (package (name "cairomm") - (version "1.11.2") + (version "1.12.0") (source (origin - (method url-fetch) - (uri (string-append "http://cairographics.org/releases/cairomm-" - version ".tar.gz")) - (sha256 - (base32 - "138052ybc58q5yl92m2p0br0k0a9g1pi9gfhmn4y220yih4pgxnc")))) + (method url-fetch) + (uri (string-append "mirror://gnome/sources/cairomm/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1rmgs6zjj2vaxh9hsa0944m23fdn1psycqh7bi984qd8jj1xljm5")))) (build-system gnu-build-system) (arguments ;; The examples lack -lcairo. @@ -759,7 +772,7 @@ library.") (define-public pangomm (package (name "pangomm") - (version "2.36.0") + (version "2.38.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -767,7 +780,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8")))) + "12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs @@ -785,7 +798,7 @@ library.") (define-public atkmm (package (name "atkmm") - (version "2.22.7") + (version "2.24.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -793,7 +806,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz")))) + "08zd6s5c1q90wm8310mdrb5f2lj8v63wxihrybwyw13xlf6ivi16")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs @@ -808,7 +821,7 @@ toolkit.") (define-public gtkmm (package (name "gtkmm") - (version "3.16.0") + (version "3.18.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -816,9 +829,10 @@ toolkit.") name "-" version ".tar.xz")) (sha256 (base32 - "036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv")))) + "0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2")))) (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin"))) ;for 'glib-compile-resources' (propagated-inputs `(("pangomm" ,pangomm) ("cairomm" ,cairomm) @@ -849,6 +863,9 @@ extensive documentation, including API reference and a tutorial.") (sha256 (base32 "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4")))) + (arguments + '(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++ + (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("pangomm" ,pangomm) ("cairomm" ,cairomm) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 58338af5c6..bde327cf91 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -184,14 +184,14 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.") (define-public leptonica (package (name "leptonica") - (version "1.71") + (version "1.72") (source (origin (method url-fetch) (uri (string-append "http://www.leptonica.com/source/leptonica-" version ".tar.gz")) (sha256 - (base32 "0j5qgrff6im5n9waflbi7w643q1p6mahyf2z35gb4vj9h5p76pfc")) + (base32 "0mhzvqs0im04y1cpcc1yma70hgdac1frf33h73m9z3356bfymmbr")) (modules '((guix build utils))) ;; zlib and openjpg should be under Libs, not Libs.private. See: ;; https://code.google.com/p/tesseract-ocr/issues/detail?id=1436 @@ -216,7 +216,8 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.") `(("openjpeg" ,openjpeg) ("zlib" ,zlib))) (arguments - '(#:phases + '(#:parallel-tests? #f ; XXX: cause fpix1_reg to fail + #:phases (modify-phases %standard-phases ;; Prevent make from trying to regenerate config.h.in. (add-after @@ -228,7 +229,15 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.") (lambda _ (substitute* "prog/reg_wrapper.sh" ((" /bin/sh ") - (string-append " " (which "sh") " ")))))))) + (string-append " " (which "sh") " ")) + (("which gnuplot") (which "gnuplot"))))) + (add-before + 'check 'disable-failing-tests + ;; XXX: 2 of 9 tests from webpio_reg fails. + (lambda _ + (substitute* "prog/webpio_reg.c" + ((".*DoWebpTest2.* 90.*") "") + ((".*DoWebpTest2.* 100.*") ""))))))) (home-page "http://www.leptonica.com/") (synopsis "Library and tools for image processing and analysis") (description @@ -337,14 +346,14 @@ error-resilience, a Java-viewer for j2k-images, ...") (define-public giflib (package (name "giflib") - (version "4.2.3") + (version "5.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/giflib/giflib-" (first (string-split version #\.)) ".x/giflib-" version ".tar.bz2")) (sha256 - (base32 "0rmp7ipzk42r841bggd7bfqk4p8qsssbp4wcck4qnz7p4rkxbj0a")))) + (base32 "1z1gzq16sdya8xnl5qjc07634kkwj5m0n3bvvj4v9j11xfn1841r")))) (build-system gnu-build-system) (outputs '("bin" ; utility programs "out")) ; library diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 76102fab05..b09e84ee08 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -74,7 +74,11 @@ ("perl" ,perl) ("pkg-config" ,pkg-config))) (arguments - `(#:phases (alist-cons-after + `(;; Add '-std=c++11', required by recent versions of GLibmm & co. + ;; Use '-g0' to reduce disk usage during the build. + #:configure-flags '("CXXFLAGS=-g0 -O2 -fopenmp -std=c++11") + + #:phases (alist-cons-after 'unpack 'fix-test-includes (lambda _ (substitute* "src/cxxtests.cpp" diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9b0af0d507..aa2fc0283b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1570,7 +1570,7 @@ from the module-init-tools project.") ;; The post-systemd fork, maintained by Gentoo. (package (name "eudev") - (version "2.1.1") + (version "3.1.5") (source (origin (method url-fetch) (uri (string-append @@ -1578,55 +1578,15 @@ from the module-init-tools project.") version ".tar.gz")) (sha256 (base32 - "0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva")) - (patches (list (search-patch "eudev-rules-directory.patch"))) - (modules '((guix build utils))) - (snippet - ;; 'configure' checks uses <linux/btrfs.h> as an indication of - ;; whether Linux headers are available, but it doesn't actually - ;; use it, and our 'linux-libre-headers' package doesn't - ;; provide it. So just remove that. - '(substitute* "configure" - (("linux/btrfs\\.h") - ""))))) + "0akg9gcc3c2p56xbhlvbybqavcprly5q0bvk655zwl6d62j8an7p")) + (patches (list (search-patch "eudev-rules-directory.patch"))))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("gperf" ,gperf) - ("glib" ,glib "bin") ; glib-genmarshal, etc. - ("perl" ,perl) ; for the tests - ("python" ,python-2))) ; ditto + ("perl" ,perl) + ("gperf" ,gperf))) (inputs - `(("kmod" ,kmod) - ("pciutils" ,pciutils) - ("usbutils" ,usbutils) - ("util-linux" ,util-linux) - ("glib" ,glib) - ("gobject-introspection" ,gobject-introspection))) - (arguments - `(#:configure-flags (list "--enable-libkmod" - - (string-append - "--with-pci-ids-path=" - (assoc-ref %build-inputs "pciutils") - "/share/pci.ids.gz") - - "--with-firmware-path=/no/firmware" - - ;; Work around undefined reference to - ;; 'mq_getattr' in sc-daemon.c. - "LDFLAGS=-lrt") - #:phases - (alist-cons-before - 'build 'pre-build - ;; The program 'g-ir-scanner' (part of the package - ;; 'gobject-introspection'), to generate .gir files, makes some - ;; library pre-processing. During that phase it looks for the C - ;; compiler as either 'cc' or as defined by the environment variable - ;; 'CC' (with code in 'giscanner/dumper.py'). - (lambda* _ - (setenv "CC" "gcc")) - %standard-phases))) + `(("kmod" ,kmod))) (home-page "http://www.gentoo.org/proj/en/eudev/") (synopsis "Userspace device management") (description "Udev is a daemon which dynamically creates and removes @@ -2365,7 +2325,9 @@ applications.") version ".tar.xz")) (sha256 (base32 - "1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs")))) + "1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs")) + (patches + (list (search-patch "bluez-tests.patch"))))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 699b8802b7..1a0a42d267 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -304,6 +304,15 @@ can read the same mailbox from multiple computers. It supports IMAP as REMOTE repository and Maildir/IMAP as LOCAL repository.") (license gpl2+))) +(define %mu-gtester-patch + ;; Ensure tests have unique names, to placate GLib 2.6's gtester. + (origin + (method url-fetch) + (uri "https://github.com/djcb/mu/commit/b44039ed.patch") + (sha256 + (base32 + "165hryqqhx3wah8a4f5jaq465azx1pm9r4jid7880pys9gd88qlv")))) + (define-public mu (package (name "mu") @@ -315,7 +324,8 @@ repository and Maildir/IMAP as LOCAL repository.") (file-name (string-append "mu-" version ".tar.gz")) (sha256 (base32 - "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51")))) + "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51")) + (patches (list %mu-gtester-patch)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c693f0faf0..5dcb5449a2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -346,6 +346,14 @@ Guile.") (%current-system)))) '("--disable-sse") '())) + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'set-flags + (lambda _ + ;; Compile with C++11, required by libsigc++. + (setenv "CXXFLAGS" "-std=c++11") + #t))) #:python ,python-2)) (inputs `(("jack" ,jack-1) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index fc45805958..ee4e7830b6 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -460,6 +460,11 @@ provers.") ("librsvg" ,librsvg))) (arguments `(#:tests? #f ; no check target + + ;; Occasionally we would get "Error: Unbound module GtkThread" when + ;; compiling 'gtkThInit.ml', with 'make -j'. So build sequentially. + #:parallel-build? #f + #:phases (modify-phases %standard-phases (replace 'install diff --git a/gnu/packages/patches/bluez-tests.patch b/gnu/packages/patches/bluez-tests.patch new file mode 100644 index 0000000000..608ded9be2 --- /dev/null +++ b/gnu/packages/patches/bluez-tests.patch @@ -0,0 +1,25 @@ +From 484ad8c9263bb524051a999ce19a994960e69572 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com> +Date: Fri, 23 Oct 2015 20:48:57 +0800 +Subject: [PATCH] unit/test-gobex-header: Fix duplicate test names + +--- + unit/test-gobex-header.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/unit/test-gobex-header.c b/unit/test-gobex-header.c +index 6f49312..8705892 100644 +--- a/unit/test-gobex-header.c ++++ b/unit/test-gobex-header.c +@@ -554,7 +554,7 @@ int main(int argc, char *argv[]) + test_header_encode_name_umlaut); + g_test_add_func("/gobex/test_header_encode_body", + test_header_encode_body); +- g_test_add_func("/gobex/test_header_encode_connid", ++ g_test_add_func("/gobex/test_header_encode_actionid", + test_header_encode_actionid); + g_test_add_func("/gobex/test_header_encode_apparam", + test_header_encode_apparam); +-- +2.5.0 + diff --git a/gnu/packages/patches/dbus-helper-search-path.patch b/gnu/packages/patches/dbus-helper-search-path.patch new file mode 100644 index 0000000000..30c142312b --- /dev/null +++ b/gnu/packages/patches/dbus-helper-search-path.patch @@ -0,0 +1,18 @@ +The setuid helper of D-Bus is responsible for "service activation". +It looks for '.service' files in fixed locations, but the default locations +make no sense (see below), so replace them with /etc/dbus-1/system-services. + +--- dbus-1.10.0/dbus/dbus-sysdeps-util-unix.c 2015-10-22 00:07:03.829251854 +0200 ++++ dbus-1.10.0/dbus/dbus-sysdeps-util-unix.c 2015-10-22 00:07:14.893445175 +0200 +@@ -1410,10 +1410,7 @@ _dbus_get_standard_system_servicedirs (D + * be available. + */ + static const char standard_search_path[] = +- "/usr/local/share:" +- "/usr/share:" +- DBUS_DATADIR ":" +- "/lib"; ++ "/etc"; + DBusString servicedir_path; + + _dbus_string_init_const (&servicedir_path, standard_search_path); diff --git a/gnu/packages/patches/dbus-localstatedir.patch b/gnu/packages/patches/dbus-localstatedir.patch deleted file mode 100644 index 61bed91b5c..0000000000 --- a/gnu/packages/patches/dbus-localstatedir.patch +++ /dev/null @@ -1,30 +0,0 @@ -Do not try to create $localstatedir and $sysconfdir since we cannot do this -when they are /var and /etc. - ---- dbus-1.6.4/bus/Makefile.in 2013-09-11 16:15:13.000000000 +0200 -+++ dbus-1.6.4/bus/Makefile.in 2013-09-11 16:15:15.000000000 +0200 -@@ -1510,9 +1510,6 @@ clean-local: - /bin/rm *.bb *.bbg *.da *.gcov || true - - install-data-hook: -- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus -- $(mkinstalldirs) $(DESTDIR)$(configdir)/system.d -- $(mkinstalldirs) $(DESTDIR)$(configdir)/session.d - $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services - $(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/system-services - # Install dbus.socket as default implementation of a D-Bus stack. - ---- dbus-1.6.4/tools/Makefile.in 2013-09-11 16:10:31.000000000 +0200 -+++ dbus-1.6.4/tools/Makefile.in 2013-09-11 16:10:32.000000000 +0200 -@@ -757,11 +757,6 @@ uninstall-am: uninstall-binPROGRAMS - - - # create the /var/lib/dbus directory for dbus-uuidgen --install-data-local: -- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus -- --installcheck-local: -- test -d $(DESTDIR)$(localstatedir)/lib/dbus - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch index 9173e22f76..54fc01c6d5 100644 --- a/gnu/packages/patches/eudev-rules-directory.patch +++ b/gnu/packages/patches/eudev-rules-directory.patch @@ -4,9 +4,9 @@ The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed the search path to be customized, but eudev no longer has this, hence this hack. ---- eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:21:59.615980259 +0200 -+++ eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:24:13.839976335 +0200 -@@ -46,15 +46,11 @@ +--- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800 ++++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800 +@@ -47,15 +47,11 @@ }; }; @@ -14,23 +14,23 @@ this hack. +static const char* rules_dirs[] = { UDEV_CONF_DIR "/rules.d", UDEV_RULES_DIR, -- "/run/udev/rules.d", +- UDEV_ROOT_RUN "/udev/rules.d", UDEV_LIBEXEC_DIR "/rules.d", -#ifdef HAVE_SPLIT_USR - "/lib/udev/rules.d", - "/usr/lib/udev/rules.d", -#endif -+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ ++ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ NULL}; struct udev_rules { -@@ -1637,6 +1633,9 @@ +@@ -1704,6 +1700,9 @@ udev_rules_check_timestamp(rules); -+ /* Allow the user to specify an additional rules directory. */ -+ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY"); ++ /* Allow the user to specify an additional rules directory. */ ++ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY"); + r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs); if (r < 0) { - log_error("failed to enumerate rules files: %s", strerror(-r)); + log_error_errno(r, "failed to enumerate rules files: %m"); diff --git a/gnu/packages/patches/glib-tests-desktop.patch b/gnu/packages/patches/glib-tests-desktop.patch index 61f48607f7..642234ebbc 100644 --- a/gnu/packages/patches/glib-tests-desktop.patch +++ b/gnu/packages/patches/glib-tests-desktop.patch @@ -56,11 +56,12 @@ database, the `update-desktop-database' program, which we don't provide. ----------------------------- The hunk below removes tests that depend on `gdbus-testserver.py', -because that script depends on python-gobject. +because that script depends on python-gobject. The second hunk +disables a test that expects /etc/machine-id in the build environment. ---- glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:16.000000000 +0100 -+++ glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:47.000000000 +0100 -@@ -171,20 +171,13 @@ check_PROGRAMS = $(am__EXEEXT_14) +--- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200 ++++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200 +@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16) @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth \ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \ @@ -79,7 +80,16 @@ because that script depends on python-gobject. @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old \ -@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \ + @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL) +@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $ + am__EXEEXT_1 = + @OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \ + @OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \ +-@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \ + @OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \ + @OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \ + @OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \ The test below depends on the availability /etc/passwd to dbus-daemon. diff --git a/gnu/packages/patches/guitarix-c++11.patch b/gnu/packages/patches/guitarix-c++11.patch new file mode 100644 index 0000000000..599855a223 --- /dev/null +++ b/gnu/packages/patches/guitarix-c++11.patch @@ -0,0 +1,297 @@ +Work around a C++11 incompatibility when compiling the gperf-generated +'jsonrpc_methods.cc' with -std=c++11: + + default/src/gx_head/engine/jsonrpc_methods.cc: In function ‘const CmdConnection::methodnames* in_word_set(const char*, unsigned int)’: + default/src/gx_head/engine/jsonrpc_methods.cc:211:26: error: reference to ‘hash’ is ambiguous + register int key = hash (str, len); + ^ +The solution is to run 'gperf -L C++' so that it generates code with +appropriate C++ name-spacing to avoid the ambiguity. + +--- guitarix-0.33.0/tools/make_jsonrpc_methods 2015-10-31 12:45:52.756587435 +0100 ++++ guitarix-0.33.0/tools/make_jsonrpc_methods 2015-10-31 12:47:02.801103366 +0100 +@@ -14,7 +14,7 @@ def add_enums(template_name, hashtable_n + hashtable = open(hashtable_name, "w") + hashtable.write(headline) + hashtable.flush() +- gperf = Popen(gperf_program, stdin=PIPE, stdout=hashtable) ++ gperf = Popen([gperf_program, "-L", "C++"], stdin=PIPE, stdout=hashtable) + enumlist = [] + section = 0 + in_comment = False + +--- guitarix-0.33.0/src/gx_head/engine/jsonrpc.cpp 2015-10-31 12:50:33.934647842 +0100 ++++ guitarix-0.33.0/src/gx_head/engine/jsonrpc.cpp 2015-10-31 12:50:51.238773730 +0100 +@@ -1171,7 +1171,7 @@ bool CmdConnection::request(gx_system::J + } + } + jp.next(gx_system::JsonParser::end_object); +- const methodnames *p = in_word_set(method.c_str(), method.size()); ++ const methodnames *p = Perfect_Hash::in_word_set(method.c_str(), method.size()); + if (!p) { + throw RpcError(-32601, Glib::ustring::compose("Method not found -- '%1'", method)); + } + + +The following part is adapted from an upstream patch for the new libsigc++. + +commit 001aa683814a7bf4537882c7c3acf1dafd851cd5 +Author: Hermann Meyer <brummer-@web.de> +Date: Sat Oct 31 09:33:16 2015 +0100 + + * fix libsigc++ removes sigc::group + +diff --git a/src/gx_head/gui/avahi_discover.cpp b/src/gx_head/gui/avahi_discover.cpp +index c49746e..88993c2 100644 +--- a/src/gx_head/gui/avahi_discover.cpp ++++ b/src/gx_head/gui/avahi_discover.cpp +@@ -193,7 +193,9 @@ SelectInstance::SelectInstance(gx_system::CmdlineOptions& options, Gtk::Window * + win->signal_response().connect(sigc::mem_fun(this, &SelectInstance::on_response)); + bld->get_widget("treeview", view); + view->signal_row_activated().connect( +- sigc::group(sigc::mem_fun(win, &Gtk::Dialog::response), 1)); ++ sigc::mem_fun(this,&SelectInstance::on_row)); ++ //view->signal_row_activated().connect( ++ //sigc::group(sigc::mem_fun(win, &Gtk::Dialog::response), 1)); + view->set_model(Gtk::ListStore::create(cols)); + view->get_selection()->set_mode(Gtk::SELECTION_BROWSE); + view->get_selection()->signal_changed().connect( +@@ -242,6 +244,10 @@ void SelectInstance::on_avahi_changed() { + } + } + ++void SelectInstance::on_row(const Gtk::TreePath& path, Gtk::TreeViewColumn* column) { ++ on_response(1); ++} ++ + void SelectInstance::on_response(int response_id) { + if (response_id == 1) { + Gtk::TreeIter i = view->get_selection()->get_selected(); +diff --git a/src/gx_head/gui/gx_main.cpp b/src/gx_head/gui/gx_main.cpp +index d1ad329..a207aa6 100644 +--- a/src/gx_head/gui/gx_main.cpp ++++ b/src/gx_head/gui/gx_main.cpp +@@ -281,8 +281,10 @@ void ErrorPopup::show_msg() { + align->set_padding(50,20,0,10); + Gtk::VBox *vbox = dynamic_cast<Gtk::VBox *>(dialog->get_child()); + vbox->set_redraw_on_allocate(true); +- vbox->signal_expose_event().connect( +- sigc::group(&gx_cairo::error_box_expose,GTK_WIDGET(vbox->gobj()),sigc::_1,(void*)0),false); ++ g_signal_connect(GTK_WIDGET(vbox->gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::error_box_expose), NULL); ++ // vbox->signal_expose_event().connect( ++ //sigc::group(&gx_cairo::error_box_expose,GTK_WIDGET(vbox->gobj()),sigc::_1,(void*)0),false); + dialog->set_title(_("GUITARIX ERROR")); + dialog->signal_response().connect( + sigc::mem_fun(*this, &ErrorPopup::on_response)); +@@ -306,9 +308,11 @@ GxSplashBox::GxSplashBox() + : Gtk::Window(Gtk::WINDOW_POPUP) { + set_redraw_on_allocate(true); + set_app_paintable(); +- signal_expose_event().connect( +- sigc::group(&gx_cairo::splash_expose, GTK_WIDGET(gobj()), +- sigc::_1, (void*)0), false); ++ g_signal_connect(GTK_WIDGET(gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::splash_expose), NULL); ++ //signal_expose_event().connect( ++ // sigc::group(&gx_cairo::splash_expose, GTK_WIDGET(gobj()), ++ // sigc::_1, (void*)0), false); + set_decorated(false); + set_type_hint(Gdk::WINDOW_TYPE_HINT_SPLASHSCREEN); + set_position(Gtk::WIN_POS_CENTER ); +diff --git a/src/gx_head/gui/gx_main_window.cpp b/src/gx_head/gui/gx_main_window.cpp +index 23c9ae6..eb0e201 100644 +--- a/src/gx_head/gui/gx_main_window.cpp ++++ b/src/gx_head/gui/gx_main_window.cpp +@@ -1303,6 +1303,23 @@ void MainWindow::on_log_activate() { + fLoggingWindow.hide(); + } + } ++// show loggingbox ++bool MainWindow::on_log_activated(GdkEventButton* ev) { ++ if (ev->type == GDK_BUTTON_PRESS && ev->button == 1) { ++ if (!actions.loggingbox->get_active()) { ++ actions.loggingbox->set_active(true); ++ gint rxorg, ryorg; ++ window->get_position(rxorg, ryorg); ++ fLoggingWindow.move(rxorg+5, ryorg+272); ++ fLoggingWindow.show_all(); ++ on_msg_level_changed(); ++ } else { ++ fLoggingWindow.hide(); ++ actions.loggingbox->set_active(false); ++ } ++ } ++ return true; ++} + + void MainWindow::on_engine_toggled() { + gx_engine::GxEngineState s; +@@ -2119,6 +2136,14 @@ bool MainWindow::on_toggle_mute(GdkEventButton* ev) { + return true; + } + ++bool MainWindow::on_jackserverconnection(GdkEventButton* ev) { ++ if (ev->type == GDK_BUTTON_PRESS && ev->button == 1) { ++ bool v = actions.jackserverconnection->get_active(); ++ actions.jackserverconnection->set_active(!v); ++ } ++ return true; ++} ++ + void MainWindow::on_msg_level_changed() { + switch (fLoggingWindow.get_unseen_msg_level()) { + case GxLogger::kWarning: logstate_image->set(pixbuf_log_yellow); break; +@@ -2683,12 +2708,14 @@ MainWindow::MainWindow(gx_engine::GxMachineBase& machine_, gx_system::CmdlineOpt + */ + if (jack) { + jackd_image->set(pixbuf_jack_disconnected); +- jackd_image->get_parent()->signal_button_press_event().connect( +- sigc::bind_return( +- sigc::group( +- sigc::ptr_fun(toggle_action), +- actions.jackserverconnection), +- true)); ++ jackd_image->get_parent()->signal_button_press_event().connect( ++ sigc::mem_fun(*this, &MainWindow::on_jackserverconnection)); ++ //jackd_image->get_parent()->signal_button_press_event().connect( ++ // sigc::bind_return( ++ // sigc::group( ++ // sigc::ptr_fun(toggle_action), ++ // actions.jackserverconnection), ++ // true)); + } else { + jackd_image->hide(); + } +@@ -2823,11 +2850,14 @@ MainWindow::MainWindow(gx_engine::GxMachineBase& machine_, gx_system::CmdlineOpt + false)); + on_msg_level_changed(); + logstate_image->get_parent()->signal_button_press_event().connect( +- sigc::bind_return( +- sigc::group( +- sigc::ptr_fun(toggle_action), +- actions.loggingbox), +- true)); ++ sigc::mem_fun(*this, &MainWindow::on_log_activated)); ++ ++ //logstate_image->get_parent()->signal_button_press_event().connect( ++ //sigc::bind_return( ++ // sigc::group( ++ // sigc::ptr_fun(toggle_action), ++ // actions.loggingbox), ++ // true)); + + /* + ** load plugin definitions into plugin_dict, add to effects_toolpalette +diff --git a/src/gx_head/gui/gx_portmap.cpp b/src/gx_head/gui/gx_portmap.cpp +index d8a6ae6..e711ee7 100644 +--- a/src/gx_head/gui/gx_portmap.cpp ++++ b/src/gx_head/gui/gx_portmap.cpp +@@ -578,12 +578,16 @@ PortMapWindow::PortMapWindow(Glib::RefPtr<gx_gui::GxBuilder> bld, gx_jack::GxJac + b->set_name("rack_button"); + Gtk::VBox *vbox1; + bld->find_widget("dialog-vbox1", vbox1); +- vbox1->signal_expose_event().connect( +- sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox1->gobj()),sigc::_1,(void*)0),false); ++ g_signal_connect(GTK_WIDGET(vbox1->gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::rectangle_skin_color_expose), NULL); ++ // vbox1->signal_expose_event().connect( ++ //sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox1->gobj()),sigc::_1,(void*)0),false); + Gtk::VBox *vbox2; + bld->find_widget("dialog-vbox2", vbox2); +- vbox2->signal_expose_event().connect( +- sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox2->gobj()),sigc::_1,(void*)0),false); ++ g_signal_connect(GTK_WIDGET(vbox2->gobj()), "expose-event", ++ G_CALLBACK(gx_cairo::rectangle_skin_color_expose), NULL); ++ // vbox2->signal_expose_event().connect( ++// sigc::group(&gx_cairo::rectangle_skin_color_expose,GTK_WIDGET(vbox2->gobj()),sigc::_1,(void*)0),false); + vbox1->set_redraw_on_allocate(true); + vbox2->set_redraw_on_allocate(true); + for (int i = 0; i < number_of_ports; ++i) { +diff --git a/src/headers/avahi_discover.h b/src/headers/avahi_discover.h +index 5af5949..b6f523a 100644 +--- a/src/headers/avahi_discover.h ++++ b/src/headers/avahi_discover.h +@@ -91,6 +91,7 @@ private: + } cols; + private: + void on_response(int response_id); ++ void on_row(const Gtk::TreePath& path, Gtk::TreeViewColumn* column); + void on_avahi_changed(); + void on_selection_changed(); + public: +diff --git a/src/headers/gx_main_window.h b/src/headers/gx_main_window.h +index 3b54285..e7c02ce 100644 +--- a/src/headers/gx_main_window.h ++++ b/src/headers/gx_main_window.h +@@ -720,6 +720,7 @@ private: + void on_load_ladspa(); + void delete_select_jack_control(); + void on_log_activate(); ++ bool on_log_activated(GdkEventButton* ev); + void do_program_change(int pgm); + void on_engine_toggled(); + void on_engine_state_change(gx_engine::GxEngineState state); +@@ -728,6 +729,7 @@ private: + void setup_tuner_temperament(Gxw::RackTuner& tuner); + void setup_tuner(Gxw::RackTuner& tuner); + bool on_toggle_mute(GdkEventButton* ev); ++ bool on_jackserverconnection(GdkEventButton* ev); + void on_msg_level_changed(); + void on_ampdetail_switch(bool compress, bool setparam); + void on_show_oscilloscope(bool v); + +The following is adapted from this upstream patch, which does a whole +bunch of unrelated things. + +commit 44ab541a5a846c0b3832f4225d1ae92183d55550 +Author: Hermann Meyer <brummer-@web.de> +Date: Fri Oct 30 08:47:42 2015 +0100 + + * add 53 tet tuner option + * add online preset download widget (requiers libwebkit-1.0 + * fix bug #27 + * fix build fail with c++11 system libs (make c++11 default) + +--- a/src/LV2/gx_amp.lv2/gxamp_gui.cpp ++++ b/src/LV2/gx_amp.lv2/gxamp_gui.cpp +@@ -124,7 +124,7 @@ void GXPluginGUI::set_skin() + gtk_rc_parse_string (toparse.c_str()); + } + +-inline std::string to_string(long long _Val) ++inline std::string t_string(long long _Val) + { // convert int to string + char _Buf[128]; + sprintf(_Buf, "%lld", _Val); +@@ -136,7 +136,7 @@ void GXPluginGUI::set_plug_name() + // Here the plugin should have different name for different amp..... + addKnob = ""; + plugskin = "amp21.png"; +- plug_name = "GUITARIXLV2" + to_string(reinterpret_cast<long long>(this)); ++ plug_name = "GUITARIXLV2" + t_string(reinterpret_cast<long long>(this)); + //fprintf(stderr,"%s",plug_name.c_str()); + } + +diff --git a/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp b/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp +index d5947ee..edc1caa 100644 +--- a/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp ++++ b/src/LV2/gx_amp_stereo.lv2/gxamp_stereo_gui.cpp +@@ -124,7 +124,7 @@ void GXPluginGUI::set_skin() + gtk_rc_parse_string (toparse.c_str()); + } + +-inline std::string to_string(long long _Val) ++inline std::string t_string(long long _Val) + { // convert int to string + char _Buf[128]; + sprintf(_Buf, "%lld", _Val); +@@ -135,7 +135,7 @@ void GXPluginGUI::set_plug_name() + { + addKnob = ""; + plugskin = "amp21.png"; +- plug_name = "GUITARIXLV2" + to_string(reinterpret_cast<long long>(this)); ++ plug_name = "GUITARIXLV2" + t_string(reinterpret_cast<long long>(this)); + } + + GtkWidget* GXPluginGUI::make_gui() diff --git a/gnu/packages/patches/libdrm-symbol-check.patch b/gnu/packages/patches/libdrm-symbol-check.patch new file mode 100644 index 0000000000..676024beb4 --- /dev/null +++ b/gnu/packages/patches/libdrm-symbol-check.patch @@ -0,0 +1,195 @@ +Augment the list of expected symbols to fix the symbol-check tests on +mips64el-linux and armhf-linux. + +--- libdrm-2.4.65/freedreno/freedreno-symbol-check.orig 2015-09-04 11:07:40.000000000 -0400 ++++ libdrm-2.4.65/freedreno/freedreno-symbol-check 2015-10-18 23:57:15.288416229 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | awk '{print $3}'| while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + fd_bo_cpu_fini + fd_bo_cpu_prep + fd_bo_del +--- libdrm-2.4.65/nouveau/nouveau-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 ++++ libdrm-2.4.65/nouveau/nouveau-symbol-check 2015-10-18 23:55:26.078327118 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.sources/LIBDRM_NOUVEAU_H_FILES + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk '{print $3}'| while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + nouveau_bo_map + nouveau_bo_name_get + nouveau_bo_name_ref +--- libdrm-2.4.65/libkms/kms-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 ++++ libdrm-2.4.65/libkms/kms-symbol-check 2015-10-18 23:46:10.683869471 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.sources/LIBKMS_H_FILES + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + kms_bo_create + kms_bo_destroy + kms_bo_get_prop +--- libdrm-2.4.65/intel/intel-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 ++++ libdrm-2.4.65/intel/intel-symbol-check 2015-10-18 23:55:53.309558508 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.sources/LIBDRM_INTEL_H_FILES + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk '{print $3}' | while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + drm_intel_bo_alloc + drm_intel_bo_alloc_for_render + drm_intel_bo_alloc_tiled +--- libdrm-2.4.65/amdgpu/amdgpu-symbol-check.orig 2015-08-17 10:08:11.000000000 -0400 ++++ libdrm-2.4.65/amdgpu/amdgpu-symbol-check 2015-10-18 23:56:10.606917723 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.am/libdrm_amdgpuinclude_HEADERS + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk '{print $3}' | while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + amdgpu_bo_alloc + amdgpu_bo_cpu_map + amdgpu_bo_cpu_unmap +--- libdrm-2.4.65/exynos/exynos-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 ++++ libdrm-2.4.65/exynos/exynos-symbol-check 2015-10-18 23:56:32.025486153 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.am/libdrm_exynos*_HEADERS + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | awk '{print $3}'| while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + exynos_bo_create + exynos_bo_destroy + exynos_bo_from_name +--- libdrm-2.4.65/omap/omap-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 ++++ libdrm-2.4.65/omap/omap-symbol-check 2015-10-18 23:56:44.834438626 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.am/libdrm_omap*HEADERS + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk '{print $3}'| while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + omap_bo_cpu_fini + omap_bo_cpu_prep + omap_bo_del +--- libdrm-2.4.65/tegra/tegra-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 ++++ libdrm-2.4.65/tegra/tegra-symbol-check 2015-10-18 23:57:00.756759698 -0400 +@@ -1,6 +1,6 @@ + #!/bin/bash + +-# The following symbols (past the first five) are taken from the public headers. ++# The following symbols (past the first 12) are taken from the public headers. + # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES + + FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do +@@ -10,6 +10,13 @@ + _end + _fini + _init ++_fbss ++_fdata ++_ftext ++__bss_start__ ++__bss_end__ ++_bss_end__ ++__end__ + drm_tegra_bo_get_flags + drm_tegra_bo_get_handle + drm_tegra_bo_get_tiling diff --git a/gnu/packages/patches/librsvg-tests.patch b/gnu/packages/patches/librsvg-tests.patch new file mode 100644 index 0000000000..dc5b94e185 --- /dev/null +++ b/gnu/packages/patches/librsvg-tests.patch @@ -0,0 +1,27 @@ +From e06fc71a57156123e4e50a39957100a651ab632b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com> +Date: Sat, 17 Oct 2015 10:20:33 +0800 +Subject: [PATCH] tests/styles: Don't duplicate test names. + +--- + tests/styles.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tests/styles.c b/tests/styles.c +index d09b1f2..a938835 100644 +--- a/tests/styles.c ++++ b/tests/styles.c +@@ -97,8 +97,8 @@ static const FixtureData fixtures[] = + {"/styles/selectors/2 or more selectors (stroke)", "592207", "styles/bug592207.svg", "#target", "stroke", .expected.color = 0xff0000ff}, + {"/styles/svg-element-style", "615701", "styles/svg-class.svg", "#svg", "fill", .expected.color = 0xff0000ff}, + {"/styles/presentation attribute in svg element", "620693", "styles/bug620693.svg", "#svg", "stroke", .expected.color = 0xffff0000}, +- {"/styles/!important", "379629", "styles/bug379629.svg", "#base_shadow", "stroke", .expected.color = 0xffffc0cb /* pink */}, +- {"/styles/!important", "379629", "styles/bug379629.svg", "#base_shadow", "stroke-width", .expected.length = {POINTS_LENGTH(5.), 'i'}}, ++ {"/styles/!important/1", "379629", "styles/bug379629.svg", "#base_shadow", "stroke", .expected.color = 0xffffc0cb /* pink */}, ++ {"/styles/!important/2", "379629", "styles/bug379629.svg", "#base_shadow", "stroke-width", .expected.length = {POINTS_LENGTH(5.), 'i'}}, + {"/styles/!important/class", "614606", "styles/bug614606.svg", "#path6306", "fill", .expected.color = 0xffff0000 /* red */ }, + {"/styles/!important/element", "614606", "styles/bug614606.svg", "#path6308", "fill", .expected.color = 0xff000000}, + {"/styles/!important/#id prior than class", NULL, "styles/important.svg", "#red", "fill", .expected.color = 0xffff0000 }, +-- +2.5.0 + diff --git a/gnu/packages/patches/unzip-CVE-2015-7696.patch b/gnu/packages/patches/unzip-CVE-2015-7696.patch new file mode 100644 index 0000000000..d6a4072673 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7696.patch @@ -0,0 +1,35 @@ +Copied from Debian. + +From: Petr Stodulka <pstodulk@redhat.com> +Date: Mon, 14 Sep 2015 18:23:17 +0200 +Subject: Upstream fix for heap overflow +Bug-Debian: https://bugs.debian.org/802162 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: https://bugzilla.redhat.com/attachment.cgi?id=1073002 +Forwarded: yes + +--- + crypt.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/crypt.c ++++ b/crypt.c +@@ -465,7 +465,17 @@ + GLOBAL(pInfo->encrypted) = FALSE; + defer_leftover_input(__G); + for (n = 0; n < RAND_HEAD_LEN; n++) { +- b = NEXTBYTE; ++ /* 2012-11-23 SMS. (OUSPG report.) ++ * Quit early if compressed size < HEAD_LEN. The resulting ++ * error message ("unable to get password") could be improved, ++ * but it's better than trying to read nonexistent data, and ++ * then continuing with a negative G.csize. (See ++ * fileio.c:readbyte()). ++ */ ++ if ((b = NEXTBYTE) == (ush)EOF) ++ { ++ return PK_ERR; ++ } + h[n] = (uch)b; + Trace((stdout, " (%02x)", h[n])); + } diff --git a/gnu/packages/patches/unzip-CVE-2015-7697.patch b/gnu/packages/patches/unzip-CVE-2015-7697.patch new file mode 100644 index 0000000000..d688b42495 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2015-7697.patch @@ -0,0 +1,28 @@ +Copied from Debian. + +From: Kamil Dudka <kdudka@redhat.com> +Date: Mon, 14 Sep 2015 18:24:56 +0200 +Subject: fix infinite loop when extracting empty bzip2 data +Bug-Debian: https://bugs.debian.org/802160 +Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1260944 +Origin: other, https://bugzilla.redhat.com/attachment.cgi?id=1073339 + +--- + extract.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/extract.c ++++ b/extract.c +@@ -2728,6 +2728,12 @@ + int repeated_buf_err; + bz_stream bstrm; + ++ if (G.incnt <= 0 && G.csize <= 0L) { ++ /* avoid an infinite loop */ ++ Trace((stderr, "UZbunzip2() got empty input\n")); ++ return 2; ++ } ++ + #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) + if (G.redirect_slide) + wsize = G.redirect_size, redirSlide = G.redirect_buffer; diff --git a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch b/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch deleted file mode 100644 index 33498db95e..0000000000 --- a/gnu/packages/patches/unzip-fix-overflows-and-infloop.patch +++ /dev/null @@ -1,108 +0,0 @@ -Copied from Fedora. - -http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e - -From bdd4a0cecd745cb4825e4508b5bdf2579731086a Mon Sep 17 00:00:00 2001 -From: Petr Stodulka <pstodulk@redhat.com> -Date: Mon, 14 Sep 2015 18:23:17 +0200 -Subject: [PATCH 1/3] upstream fix for heap overflow - -https://bugzilla.redhat.com/attachment.cgi?id=1073002 ---- - crypt.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/crypt.c b/crypt.c -index 784e411..a8975f2 100644 ---- a/crypt.c -+++ b/crypt.c -@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd) - GLOBAL(pInfo->encrypted) = FALSE; - defer_leftover_input(__G); - for (n = 0; n < RAND_HEAD_LEN; n++) { -- b = NEXTBYTE; -+ /* 2012-11-23 SMS. (OUSPG report.) -+ * Quit early if compressed size < HEAD_LEN. The resulting -+ * error message ("unable to get password") could be improved, -+ * but it's better than trying to read nonexistent data, and -+ * then continuing with a negative G.csize. (See -+ * fileio.c:readbyte()). -+ */ -+ if ((b = NEXTBYTE) == (ush)EOF) -+ { -+ return PK_ERR; -+ } - h[n] = (uch)b; - Trace((stdout, " (%02x)", h[n])); - } --- -2.4.6 - - -From 4b48844661ff9569f2ecf582a387d46a5775b5d8 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Mon, 14 Sep 2015 18:24:56 +0200 -Subject: [PATCH 2/3] fix infinite loop when extracting empty bzip2 data - -Bug: https://sourceforge.net/p/infozip/patches/23/ ---- - extract.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/extract.c b/extract.c -index 7134bfe..29db027 100644 ---- a/extract.c -+++ b/extract.c -@@ -2733,6 +2733,12 @@ __GDEF - int repeated_buf_err; - bz_stream bstrm; - -+ if (G.incnt <= 0 && G.csize <= 0L) { -+ /* avoid an infinite loop */ -+ Trace((stderr, "UZbunzip2() got empty input\n")); -+ return 2; -+ } -+ - #if (defined(DLL) && !defined(NO_SLIDE_REDIR)) - if (G.redirect_slide) - wsize = G.redirect_size, redirSlide = G.redirect_buffer; --- -2.4.6 - - -From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka <kdudka@redhat.com> -Date: Tue, 22 Sep 2015 18:52:23 +0200 -Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input - -Suggested-by: Stefan Cornelius ---- - extract.c | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/extract.c b/extract.c -index 29db027..b9ae667 100644 ---- a/extract.c -+++ b/extract.c -@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, - if (G.lrec.compression_method == STORED) { - zusz_t csiz_decrypted = G.lrec.csize; - -- if (G.pInfo->encrypted) -+ if (G.pInfo->encrypted) { -+ if (csiz_decrypted <= 12) { -+ /* handle the error now to prevent unsigned overflow */ -+ Info(slide, 0x401, ((char *)slide, -+ LoadFarStringSmall(ErrUnzipNoFile), -+ LoadFarString(InvalidComprData), -+ LoadFarStringSmall2(Inflate))); -+ return PK_ERR; -+ } - csiz_decrypted -= 12; -+ } - if (G.lrec.ucsize != csiz_decrypted) { - Info(slide, 0x401, ((char *)slide, - LoadFarStringSmall2(WrnStorUCSizCSizDiff), --- -2.5.2 - diff --git a/gnu/packages/patches/unzip-overflow-on-invalid-input.patch b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch new file mode 100644 index 0000000000..013002a88c --- /dev/null +++ b/gnu/packages/patches/unzip-overflow-on-invalid-input.patch @@ -0,0 +1,40 @@ +Extracted from a patch in Fedora. + +http://pkgs.fedoraproject.org/cgit/unzip.git/tree/unzip-6.0-heap-overflow-infloop.patch?id=d18f821e + +From bd150334fb4084f5555a6be26b015a0671cb5b74 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka <kdudka@redhat.com> +Date: Tue, 22 Sep 2015 18:52:23 +0200 +Subject: [PATCH 3/3] extract: prevent unsigned overflow on invalid input + +Suggested-by: Stefan Cornelius +--- + extract.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 29db027..b9ae667 100644 +--- a/extract.c ++++ b/extract.c +@@ -1257,8 +1257,17 @@ static int extract_or_test_entrylist(__G__ numchunk, + if (G.lrec.compression_method == STORED) { + zusz_t csiz_decrypted = G.lrec.csize; + +- if (G.pInfo->encrypted) ++ if (G.pInfo->encrypted) { ++ if (csiz_decrypted <= 12) { ++ /* handle the error now to prevent unsigned overflow */ ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarStringSmall(ErrUnzipNoFile), ++ LoadFarString(InvalidComprData), ++ LoadFarStringSmall2(Inflate))); ++ return PK_ERR; ++ } + csiz_decrypted -= 12; ++ } + if (G.lrec.ucsize != csiz_decrypted) { + Info(slide, 0x401, ((char *)slide, + LoadFarStringSmall2(WrnStorUCSizCSizDiff), +-- +2.5.2 + diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 03ed5113b1..4b30bf09d5 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -52,13 +52,13 @@ (define-public poppler (package (name "poppler") - (version "0.36.0") + (version "0.37.0") (source (origin (method url-fetch) (uri (string-append "http://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "13i440kv873wgmw50rs4d1v05cj0r7bqnghd70hp9vy44dxhdk4k")))) + "1vjvd0md8y37hlq3lsj0l01a3v3mzm572rzpn1311frvmrg9r7xq")))) (build-system gnu-build-system) ;; FIXME: more dependencies could be added ;; cairo output: no (requires cairo >= 1.10.0) @@ -68,7 +68,7 @@ ;; use libcurl: no (inputs `(("fontconfig" ,fontconfig) ("freetype" ,freetype) - ("libjpeg-8" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libtiff" ,libtiff) ("lcms" ,lcms) @@ -87,8 +87,7 @@ (arguments `(#:tests? #f ; no test data provided with the tarball #:configure-flags - '("--enable-libopenjpeg" - "--enable-xpdf-headers" ; to install header files + '("--enable-xpdf-headers" ; to install header files "--enable-zlib") #:phases (alist-cons-before diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 27b269afc2..fa656b3db6 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -199,6 +199,8 @@ sound server.") (base32 "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm (inputs `(("libcanberra" ,libcanberra) ("gtkmm" ,gtkmm) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 24a342b8d5..b37bb1360f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4248,6 +4248,17 @@ features useful for text console applications.") (sha256 (base32 "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71")))) (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before + 'check 'pre-check + (lambda _ + ;; XXX: For the missing '/etc/machine-id'. + (substitute* "test/run-test.sh" + (("DBUS_FATAL_WARNINGS=1") + "DBUS_FATAL_WARNINGS=0")) + #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index fc90346371..71600b2347 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -40,6 +40,28 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages perl)) +(define (qemu-patch commit file-name sha256) + "Return an origin for COMMIT." + (origin + (method url-fetch) + (uri (string-append + "http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h=" + commit)) + (sha256 sha256) + (file-name file-name))) + +(define %glib-memory-vtable-patch + (qemu-patch "deb847bf" + "qemu-glib-memory-vtable.patch" + (base32 + "0afb7rvxy14104jxmhr7m02w5baiz0c7vhq3h642h09jgxrcmzzi"))) + +(define %glib-duplicate-test-patch + (qemu-patch "98cf48f6" + "qemu-glib-duplicate-test.patch" + (base32 + "1aicbplzdj5s5y13jmqyvfajay05x9dnkzd197waz8v6kha7d9d5"))) + (define-public qemu-headless ;; This is QEMU without GUI support. (package @@ -52,7 +74,12 @@ (sha256 (base32 "1nqv5p94zpnhcaqkifnn83ap7dd0qrb0qiicswbyhhby0f48pzpc")) - (patches (map search-patch '("qemu-CVE-2015-6855.patch"))))) + (patches (list (search-patch "qemu-CVE-2015-6855.patch") + + ;; These two patches allow QEMU's tests to run + ;; correctly with 'gtester' from the latest GLib. + %glib-memory-vtable-patch + %glib-duplicate-test-patch)))) (build-system gnu-build-system) (arguments '(#:phases (alist-replace diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index ab390d37de..9813f5b0fd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -95,7 +95,7 @@ X11 (yet).") (define-public qt (package (name "qt") - (version "5.5.0") + (version "5.5.1") (source (origin (method url-fetch) (uri @@ -107,7 +107,7 @@ X11 (yet).") version ".tar.xz")) (sha256 (base32 - "1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) + "0615cn4n3n78v48lnmapqz2jizm2pzrjwvsjlnsf4awrsiiqw0kg")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index eb9a503ae6..f4b242df87 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -322,7 +322,7 @@ SMPTE 314M.") (define-public libva (package (name "libva") - (version "1.5.1") + (version "1.6.1") (source (origin (method url-fetch) @@ -330,7 +330,7 @@ SMPTE 314M.") "http://www.freedesktop.org/software/vaapi/releases/libva/libva-" version".tar.bz2")) (sha256 - (base32 "01d01mm9fgpwzqycmjjcj3in3vvzcibi3f64icsw2sksmmgb4495")))) + (base32 "0bjfb5s8dk3lql843l91ffxzlq47isqks5sj19cxh7j3nhzw58kz")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index f680d253c8..4b5308c665 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) ;for libgudev #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages linux) @@ -199,7 +200,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.58") + (version "2.4.65") (source (origin (method url-fetch) @@ -209,7 +210,8 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi")))) + "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki")) + (patches (list (search-patch "libdrm-symbol-check.patch"))))) (build-system gnu-build-system) (inputs `(("libpciaccess" ,libpciaccess) @@ -605,6 +607,7 @@ Escape key when Left Control is pressed and released on its own.") (inputs `(("glib" ,glib) ("gtk+" ,gtk+) + ("libgudev" ,libgudev) ("eudev" ,eudev) ("libxml2" ,libxml2))) (home-page "http://linuxwacom.sourceforge.net/") diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 914012625f..a4987c1b2e 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -111,6 +111,8 @@ Xfce Desktop Environment.") ;; Run test-suite under a dbus session. (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service (string-append %output "/share")) + ;; For the missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0"); (zero? (system* "dbus-launch" "make" "check"))) (alist-delete 'check %standard-phases)))) (native-inputs diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a891fcc06b..54c15dd8ff 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1129,7 +1129,7 @@ themselves.") (define-public libpciaccess (package (name "libpciaccess") - (version "0.13.2") + (version "0.13.4") (source (origin (method url-fetch) @@ -1139,7 +1139,7 @@ themselves.") ".tar.bz2")) (sha256 (base32 - "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb")))) + "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib))) diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm index 83c452778c..b7bed0e86d 100644 --- a/gnu/packages/zip.scm +++ b/gnu/packages/zip.scm @@ -85,11 +85,13 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-CVE-2014-8140.patch" "unzip-CVE-2014-8141.patch" "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" "unzip-allow-greater-hostver-values.patch" "unzip-initialize-symlink-flag.patch" "unzip-remove-build-date.patch" "unzip-attribs-overflow.patch" - "unzip-fix-overflows-and-infloop.patch" + "unzip-overflow-on-invalid-input.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch"))))) (build-system gnu-build-system) diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index e4ecd961c5..9b0d198683 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,7 +21,7 @@ #:use-module (gnu services) #:use-module (gnu services dmd) #:use-module (gnu system shadow) - #:use-module (gnu packages glib) + #:use-module ((gnu packages glib) #:select (dbus/activation)) #:use-module (gnu packages admin) #:use-module (guix gexp) #:use-module (guix records) @@ -37,13 +38,38 @@ dbus-configuration make-dbus-configuration dbus-configuration? (dbus dbus-configuration-dbus ;<package> - (default dbus)) + (default dbus/activation)) (services dbus-configuration-services ;list of <package> (default '()))) -(define (dbus-configuration-directory dbus services) - "Return a configuration directory for @var{dbus} that includes the -@code{etc/dbus-1/system.d} directories of each package listed in +(define (system-service-directory services) + "Return the system service directory, containing @code{.service} files for +all the services that may be activated by the daemon." + (computed-file "dbus-system-services" + #~(begin + (use-modules (guix build utils) + (srfi srfi-1)) + + (define files + (append-map (lambda (service) + (find-files (string-append + service + "/share/dbus-1/system-services") + "\\.service$")) + (list #$@services))) + + (mkdir #$output) + (for-each (lambda (file) + (symlink file + (string-append #$output "/" + (basename file)))) + files) + #t) + #:modules '((guix build utils)))) + +(define (dbus-configuration-directory services) + "Return a directory contains the @code{system-local.conf} file for DBUS that +includes the @code{etc/dbus-1/system.d} directories of each package listed in @var{services}." (define build #~(begin @@ -53,24 +79,27 @@ (define (services->sxml services) ;; Return the SXML 'includedir' clauses for DIRS. `(busconfig + (servicehelper "/run/setuid-programs/dbus-daemon-launch-helper") + + ;; First, the '.service' files of services subject to activation. + ;; We use a fixed location under /etc because the setuid helper + ;; looks for them in that location and nowhere else. See + ;; <https://bugs.freedesktop.org/show_bug.cgi?id=92458>. + (servicedir "/etc/dbus-1/system-services") + ,@(append-map (lambda (dir) `((includedir ,(string-append dir "/etc/dbus-1/system.d")) - (servicedir ;for '.service' files - ,(string-append dir "/share/dbus-1/services")) - (servicedir ;likewise, for auto-activation - ,(string-append - dir - "/share/dbus-1/system-services")))) + (servicedir ;for '.service' files + ,(string-append dir "/share/dbus-1/services")))) services))) (mkdir #$output) - (copy-file (string-append #$dbus "/etc/dbus-1/system.conf") - (string-append #$output "/system.conf")) - ;; The default 'system.conf' has an <includedir> clause for - ;; 'system.d', so create it. - (mkdir (string-append #$output "/system.d")) + ;; Provide /etc/dbus-1/system-services, which is where the setuid + ;; helper looks for system service files. + (symlink #$(system-service-directory services) + (string-append #$output "/system-services")) ;; 'system-local.conf' is automatically included by the default ;; 'system.conf', so this is where we stuff our own things. @@ -81,6 +110,12 @@ (computed-file "dbus-configuration" build)) +(define (dbus-etc-files config) + "Return a list of FILES for @var{etc-service-type} to build the +@code{/etc/dbus-1} directory." + (list `("dbus-1" ,(dbus-configuration-directory + (dbus-configuration-services config))))) + (define %dbus-accounts ;; Accounts used by the system bus. (list (user-group (name "messagebus") (system? #t)) @@ -92,6 +127,12 @@ (home-directory "/var/run/dbus") (shell #~(string-append #$shadow "/sbin/nologin"))))) +(define dbus-setuid-programs + ;; Return the file name of the setuid program that we need. + (match-lambda + (($ <dbus-configuration> dbus services) + (list #~(string-append #$dbus "/libexec/dbus-daemon-launch-helper"))))) + (define (dbus-activation config) "Return an activation gexp for D-Bus using @var{config}." #~(begin @@ -120,18 +161,15 @@ (define dbus-dmd-service (match-lambda - (($ <dbus-configuration> dbus services) - (let ((conf (dbus-configuration-directory dbus services))) - (list (dmd-service - (documentation "Run the D-Bus system daemon.") - (provision '(dbus-system)) - (requirement '(user-processes)) - (start #~(make-forkexec-constructor - (list (string-append #$dbus "/bin/dbus-daemon") - "--nofork" - (string-append "--config-file=" #$conf - "/system.conf")))) - (stop #~(make-kill-destructor)))))))) + (($ <dbus-configuration> dbus) + (list (dmd-service + (documentation "Run the D-Bus system daemon.") + (provision '(dbus-system)) + (requirement '(user-processes)) + (start #~(make-forkexec-constructor + (list (string-append #$dbus "/bin/dbus-daemon") + "--nofork" "--system"))) + (stop #~(make-kill-destructor))))))) (define dbus-root-service-type (service-type (name 'dbus) @@ -140,14 +178,15 @@ dbus-dmd-service) (service-extension activation-service-type dbus-activation) + (service-extension etc-service-type + dbus-etc-files) (service-extension account-service-type - (const %dbus-accounts)))) + (const %dbus-accounts)) + (service-extension setuid-program-service-type + dbus-setuid-programs))) ;; Extensions consist of lists of packages (representing D-Bus ;; services) that we just concatenate. - ;; - ;; FIXME: We need 'dbus-daemon-launch-helper' to be - ;; setuid-root for auto-activation to work. (compose concatenate) ;; The service's parameters field is extended by augmenting @@ -159,7 +198,7 @@ (append (dbus-configuration-services config) services))))))) -(define* (dbus-service #:key (dbus dbus) (services '())) +(define* (dbus-service #:key (dbus dbus/activation) (services '())) "Return a service that runs the \"system bus\", using @var{dbus}, with support for @var{services}. diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index f283008c4c..166895663f 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -247,17 +247,6 @@ levels, with the given configuration settings. It implements the (home-directory "/var/empty") (shell #~(string-append #$shadow "/sbin/nologin"))))) -(define (colord-dmd-service colord) - "Return a dmd service for COLORD." - ;; TODO: Remove when D-Bus activation works. - (list (dmd-service - (documentation "Run the colord color management service.") - (provision '(colord-daemon)) - (requirement '(dbus-system udev)) - (start #~(make-forkexec-constructor - (list (string-append #$colord "/libexec/colord")))) - (stop #~(make-kill-destructor))))) - (define colord-service-type (service-type (name 'colord) (extensions @@ -265,8 +254,6 @@ levels, with the given configuration settings. It implements the (const %colord-accounts)) (service-extension activation-service-type (const %colord-activation)) - (service-extension dmd-root-service-type - colord-dmd-service) ;; Colord is a D-Bus service that dbus-daemon can ;; activate. @@ -345,23 +332,6 @@ users are allowed." "GEOCLUE_CONFIG_FILE" (geoclue-configuration-file config)))) -(define (geoclue-dmd-service config) - "Return a GeoClue dmd service for CONFIG." - ;; TODO: Remove when D-Bus activation works. - (let ((geoclue (geoclue-configuration-geoclue config)) - (config (geoclue-configuration-file config))) - (list (dmd-service - (documentation "Run the GeoClue location service.") - (provision '(geoclue-daemon)) - (requirement '(dbus-system)) - - (start #~(make-forkexec-constructor - (list (string-append #$geoclue "/libexec/geoclue")) - #:user "geoclue" - #:environment-variables - (list (string-append "GEOCLUE_CONFIG_FILE=" #$config)))) - (stop #~(make-kill-destructor)))))) - (define %geoclue-accounts (list (user-group (name "geoclue") (system? #t)) (user-account @@ -377,8 +347,6 @@ users are allowed." (extensions (list (service-extension dbus-root-service-type geoclue-dbus-service) - (service-extension dmd-root-service-type - geoclue-dmd-service) (service-extension account-service-type (const %geoclue-accounts)))))) @@ -428,18 +396,6 @@ site} for more information." (define %polkit-pam-services (list (unix-pam-service "polkitd"))) -(define (polkit-dmd-service polkit) - "Return the <dmd-service> for POLKIT." - ;; TODO: Remove when D-Bus activation works. - (list (dmd-service - (documentation "Run the polkit privilege management service.") - (provision '(polkit-daemon)) - (requirement '(dbus-system)) - - (start #~(make-forkexec-constructor - (list (string-append #$polkit "/lib/polkit-1/polkitd")))) - (stop #~(make-kill-destructor))))) - (define polkit-service-type ;; TODO: Make it extensible so it can collect policy files from other ;; services. @@ -450,9 +406,7 @@ site} for more information." (service-extension pam-root-service-type (const %polkit-pam-services)) (service-extension dbus-root-service-type - list) - (service-extension dmd-root-service-type - polkit-dmd-service))))) + list))))) (define* (polkit-service #:key (polkit polkit)) "Return a service that runs the @command{polkit} privilege management @@ -603,6 +557,8 @@ the system if the user is logged in locally." (define (elogind-dmd-service config) "Return a dmd service for elogind, using @var{config}." + ;; TODO: We could probably rely on service activation but the '.service' + ;; file currently contains an erroneous 'Exec' line. (let ((config-file (elogind-configuration-file config)) (elogind (elogind-package config))) (list (dmd-service |