me
/
guix
Archived
1
0
Fork 0

Merge branch 'dbus-update'

master
Ludovic Courtès 2015-10-31 15:11:58 +01:00
commit d9b9454c98
40 changed files with 1087 additions and 446 deletions

View File

@ -410,6 +410,7 @@ dist_patch_DATA = \
gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \ gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/bitlbee-configure-doc-fix.patch \ gnu/packages/patches/bitlbee-configure-doc-fix.patch \
gnu/packages/patches/bluez-tests.patch \
gnu/packages/patches/boost-mips-avoid-m32.patch \ gnu/packages/patches/boost-mips-avoid-m32.patch \
gnu/packages/patches/calibre-drop-unrar.patch \ gnu/packages/patches/calibre-drop-unrar.patch \
gnu/packages/patches/calibre-no-updates-dialog.patch \ gnu/packages/patches/calibre-no-updates-dialog.patch \
@ -426,7 +427,7 @@ dist_patch_DATA = \
gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/clucene-contribs-lib.patch \ gnu/packages/patches/clucene-contribs-lib.patch \
gnu/packages/patches/cursynth-wave-rand.patch \ gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \ gnu/packages/patches/dbus-helper-search-path.patch \
gnu/packages/patches/dealii-p4est-interface.patch \ gnu/packages/patches/dealii-p4est-interface.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/dfu-programmer-fix-libusb.patch \ gnu/packages/patches/dfu-programmer-fix-libusb.patch \
@ -494,6 +495,7 @@ dist_patch_DATA = \
gnu/packages/patches/guile-present-coding.patch \ gnu/packages/patches/guile-present-coding.patch \
gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/guile-rsvg-pkgconfig.patch \ gnu/packages/patches/guile-rsvg-pkgconfig.patch \
gnu/packages/patches/guitarix-c++11.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/hop-linker-flags.patch \ gnu/packages/patches/hop-linker-flags.patch \
@ -520,6 +522,7 @@ dist_patch_DATA = \
gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \ gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \
gnu/packages/patches/libbonobo-activation-test-race.patch \ gnu/packages/patches/libbonobo-activation-test-race.patch \
gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch \ gnu/packages/patches/libcanberra-sound-theme-freedesktop.patch \
gnu/packages/patches/libdrm-symbol-check.patch \
gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libmtp-devices.patch \ gnu/packages/patches/libmtp-devices.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \ gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
@ -528,6 +531,7 @@ dist_patch_DATA = \
gnu/packages/patches/libmad-armv7-thumb-pt2.patch \ gnu/packages/patches/libmad-armv7-thumb-pt2.patch \
gnu/packages/patches/libmad-frame-length.patch \ gnu/packages/patches/libmad-frame-length.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \ gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/librsvg-tests.patch \
gnu/packages/patches/libtheora-config-guess.patch \ gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtool-skip-tests2.patch \ gnu/packages/patches/libtool-skip-tests2.patch \
gnu/packages/patches/libssh-CVE-2014-0017.patch \ gnu/packages/patches/libssh-CVE-2014-0017.patch \
@ -647,9 +651,11 @@ dist_patch_DATA = \
gnu/packages/patches/unzip-CVE-2014-8140.patch \ gnu/packages/patches/unzip-CVE-2014-8140.patch \
gnu/packages/patches/unzip-CVE-2014-8141.patch \ gnu/packages/patches/unzip-CVE-2014-8141.patch \
gnu/packages/patches/unzip-CVE-2014-9636.patch \ gnu/packages/patches/unzip-CVE-2014-9636.patch \
gnu/packages/patches/unzip-CVE-2015-7696.patch \
gnu/packages/patches/unzip-CVE-2015-7697.patch \
gnu/packages/patches/unzip-allow-greater-hostver-values.patch \ gnu/packages/patches/unzip-allow-greater-hostver-values.patch \
gnu/packages/patches/unzip-attribs-overflow.patch \ gnu/packages/patches/unzip-attribs-overflow.patch \
gnu/packages/patches/unzip-fix-overflows-and-infloop.patch \ gnu/packages/patches/unzip-overflow-on-invalid-input.patch \
gnu/packages/patches/unzip-format-secure.patch \ gnu/packages/patches/unzip-format-secure.patch \
gnu/packages/patches/unzip-initialize-symlink-flag.patch \ gnu/packages/patches/unzip-initialize-symlink-flag.patch \
gnu/packages/patches/unzip-overflow-long-fsize.patch \ gnu/packages/patches/unzip-overflow-long-fsize.patch \

View File

@ -152,13 +152,11 @@ streams from live audio.")
libdir "/vamp" "\"]")))) libdir "/vamp" "\"]"))))
#t)) #t))
(define-public ardour-3 (define-public ardour
(package (package
(name "ardour") (name "ardour")
(version "3.5.403") (version "4.2")
(source (origin (source (origin
;; The project only provides tarballs upon individual request
;; (or after payment) so we take the code from git.
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git") (url "git://git.ardour.org/ardour/ardour.git")
@ -171,14 +169,15 @@ streams from live audio.")
"libs/ardour/revision.cc" "libs/ardour/revision.cc"
(lambda (port) (lambda (port)
(format port "#include \"ardour/revision.h\" (format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) namespace ARDOUR { const char* revision = \"4.2\" ; }"))))
(sha256 (sha256
(base32 (base32
"01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp")) "1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00"))
(file-name (string-append name "-" version)))) (file-name (string-append name "-" version))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:phases `(#:configure-flags '("--cxx11") ; required by gtkmm
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after (add-after
'unpack 'set-rpath-in-LDFLAGS '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.") engineers, musicians, soundtrack editors and composers.")
(license license:gpl2+))) (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 (define-public azr3
(package (package
(name "azr3") (name "azr3")
@ -566,7 +536,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx")))) "1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx"))
(patches (list (search-patch "guitarix-c++11.patch")))))
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:tests? #f ; no "check" target `(#:tests? #f ; no "check" target
@ -574,7 +545,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
#:configure-flags #:configure-flags
(list (list
;; Add the output lib directory to the RUNPATH. ;; 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 (inputs
`(("libsndfile" ,libsndfile) `(("libsndfile" ,libsndfile)
("boost" ,boost) ("boost" ,boost)
@ -745,7 +717,16 @@ synchronous execution of all clients, and low latency operation.")
(base32 (base32
"1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9")))) "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
(build-system waf-build-system) (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 (inputs
`(("lv2" ,lv2) `(("lv2" ,lv2)
("lilv" ,lilv) ("lilv" ,lilv)

View File

@ -36,7 +36,7 @@
(define-public cmake (define-public cmake
(package (package
(name "cmake") (name "cmake")
(version "3.3.1") (version "3.3.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -44,7 +44,7 @@
(version-major+minor version) (version-major+minor version)
"/cmake-" version ".tar.gz")) "/cmake-" version ".tar.gz"))
(sha256 (sha256
(base32 "1mp32dqywk4dfw7zmpgp31axszv7h74yk69g273z21q7d8n04rfd")) (base32 "08pwy9ip9cgwgynhn5vrjw8drw29gijy1rmziq22n65zds6ifnp7"))
(patches (list (search-patch "cmake-fix-tests.patch"))))) (patches (list (search-patch "cmake-fix-tests.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; 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 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
@ -39,14 +39,14 @@
(define-public curl (define-public curl
(package (package
(name "curl") (name "curl")
(version "7.44.0") (version "7.45.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-" (uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma")) version ".tar.lzma"))
(sha256 (sha256
(base32 (base32
"0gjnaav9vmwwwza451na1643br7i0kxgd4002pwqh3xk5ywvdap7")))) "0bamqik0mi2rmai016iakwrwmsz0s5xad1ghkbwsd3zkv08rgkcn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ;1.2 MiB of man3 pages "doc")) ;1.2 MiB of man3 pages

View File

@ -203,7 +203,7 @@ applications should be.")
(define-public graphite2 (define-public graphite2
(package (package
(name "graphite2") (name "graphite2")
(version "1.3.1") (version "1.3.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -212,7 +212,7 @@ applications should be.")
version ".tgz")) version ".tgz"))
(sha256 (sha256
(base32 (base32
"0xvhmlyyxg2qmbwyl8k2f9w7mrbjyl59823pnjd8xmxpyl6976d5")))) "1n22vvi4jl83m4sqhvd7v31bhyhyd8j6c3yjgh4zjfyrvid16jrg"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("python" ,python-2) ; because of "import imap" in tests `(("python" ,python-2) ; because of "import imap" in tests

View File

@ -157,7 +157,10 @@ the freedesktop.org XDG Base Directory specification.")
(assoc-ref %build-inputs "libcap")) (assoc-ref %build-inputs "libcap"))
(string-append "--with-udevrulesdir=" (string-append "--with-udevrulesdir="
(assoc-ref %outputs "out") (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"))) #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")))
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)

View File

@ -26,6 +26,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
@ -74,14 +75,15 @@ as ASCII text.")
(define-public freeglut (define-public freeglut
(package (package
(name "freeglut") (name "freeglut")
(version "2.8.1") (version "3.0.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/project/freeglut/freeglut/" (uri (string-append "mirror://sourceforge/project/freeglut/freeglut/"
version "/freeglut-" version ".tar.gz")) version "/freeglut-" version ".tar.gz"))
(sha256 (sha256
(base32 "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x")))) (base32 "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test target
(inputs `(("mesa" ,mesa) (inputs `(("mesa" ,mesa)
("libx11" ,libx11) ("libx11" ,libx11)
("libxi" ,libxi) ("libxi" ,libxi)
@ -185,7 +187,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
(version "10.5.4") (version "11.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -193,7 +195,7 @@ also known as DXTn or DXTC) for Mesa.")
version "/mesa-" version ".tar.xz")) version "/mesa-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"00v89jna7m6r2w1yrnx09isc97r2bd1hkn4jib445n1078zp47mm")))) "1mikw0biw0wxq0fn3cp18bm6kjrkd66fy84774yc5b91rvp94adb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("glproto" ,glproto) `(("glproto" ,glproto)
@ -257,12 +259,10 @@ also known as DXTn or DXTC) for Mesa.")
"src/mesa/main/texcompress_s3tc.c") "src/mesa/main/texcompress_s3tc.c")
(("\"libtxc_dxtn\\.so") (("\"libtxc_dxtn\\.so")
(string-append "\"" s2tc "/lib/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" (substitute* "src/loader/loader.c"
(("dlopen\\(\"libudev\\.so") (("udev_handle = dlopen\\(name")
(string-append "dlopen(\"" udev "/lib/libudev.so"))) (string-append "udev_handle = dlopen(\""
udev "/lib/libudev.so\"")))
(substitute* "src/glx/dri_common.c" (substitute* "src/glx/dri_common.c"
(("dlopen\\(\"libGL\\.so") (("dlopen\\(\"libGL\\.so")
(string-append "dlopen(\"" out "/lib/libGL.so"))) (string-append "dlopen(\"" out "/lib/libGL.so")))
@ -327,7 +327,12 @@ emulation to complete hardware acceleration for modern GPUs.")
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(arguments (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 (modify-phases %standard-phases
(replace (replace
'install 'install

View File

@ -57,36 +57,44 @@
(define dbus (define dbus
(package (package
(name "dbus") (name "dbus")
(version "1.8.16") (version "1.10.0")
(source (origin (source (origin
(method url-fetch) ;; TODO: Apply patch from DBUS/ACTIVATION below.
(uri (method url-fetch)
(string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" (uri (string-append
version ".tar.gz")) "http://dbus.freedesktop.org/releases/dbus/dbus-"
(sha256 version ".tar.gz"))
(base32 (sha256
"01rba8mp8kqvmy6ibdmi806kjr3m14swnskqk02gyhykxxl54ybz")) (base32
(patches (list (search-patch "dbus-localstatedir.patch"))))) "0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags (list ;; Install the system bus socket under /var. '(#:configure-flags
"--localstatedir=/var" (list
;; Install the system bus socket under /var.
"--localstatedir=/var"
;; XXX: Fix the following to allow system-wide ;; Install the session bus socket under /tmp.
;; config. "--with-session-socket-dir=/tmp"
;; "--sysconfdir=/etc"
"--with-session-socket-dir=/tmp") ;; Use /etc/dbus-1 for system-wide config.
#:phases (alist-cons-after ;; Look for configuration file under
'install 'post-install ;; /etc/dbus-1. This is notably required by
(lambda* (#:key outputs #:allow-other-keys) ;; 'dbus-daemon-launch-helper', which looks for
;; 'dbus-launch' bails out if the 'session.d' directory ;; the 'system.conf' file in that place,
;; below is missing, so create it along with its companion. ;; regardless of what '--config-file' was
(let ((out (assoc-ref outputs "out"))) ;; passed to 'dbus-daemon' on the command line;
(mkdir (string-append out "/etc/dbus-1/session.d")) ;; see <https://bugs.freedesktop.org/show_bug.cgi?id=92458>.
(mkdir (string-append out "/etc/dbus-1/system.d")) "--sysconfdir=/etc")
#t)) #:phases
%standard-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 (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs
@ -116,10 +124,21 @@ or through unencrypted TCP/IP suitable for use behind a firewall with
shared NFS home directories.") shared NFS home directories.")
(license license:gpl2+))) ; or Academic Free License 2.1 (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 (define glib
(package (package
(name "glib") (name "glib")
(version "2.44.1") (version "2.46.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" (uri (string-append "mirror://gnome/sources/"
@ -127,7 +146,7 @@ shared NFS home directories.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"01yabrfp64i11mrks3p1gcks99lw0zm7f5vhkc53sl4amyndw4c8")) "1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
(patches (list (search-patch "glib-tests-homedir.patch") (patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-desktop.patch")
(search-patch "glib-tests-prlimit.patch") (search-patch "glib-tests-prlimit.patch")
@ -207,14 +226,18 @@ dynamic loading, and an object system.")
(define gobject-introspection (define gobject-introspection
(package (package
(name "gobject-introspection") (name "gobject-introspection")
(version "1.44.0") (version "1.46.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" (uri (string-append "mirror://gnome/sources/"
"gobject-introspection/" (version-major+minor version) "gobject-introspection/" (version-major+minor version)
"/gobject-introspection-" version ".tar.xz")) "/gobject-introspection-" version ".tar.xz"))
(sha256 (sha256
(base32 "1b972qg2yb51sdavfvb6kc19akwc15c1bwnbg81vadxamql2q33g")) (base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36"))
(modules '((guix build utils)))
(snippet
'(substitute* "tools/g-ir-tool-template.in"
(("#!/usr/bin/env @PYTHON@") "#!@PYTHON@")))
(patches (list (patches (list
(search-patch "gobject-introspection-cc.patch") (search-patch "gobject-introspection-cc.patch")
(search-patch (search-patch
@ -258,7 +281,7 @@ bindings to call into the C library.")
(define intltool (define intltool
(package (package
(name "intltool") (name "intltool")
(version "0.50.2") (version "0.51.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://launchpad.net/intltool/trunk/" (uri (string-append "https://launchpad.net/intltool/trunk/"
@ -266,7 +289,7 @@ bindings to call into the C library.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) "1karx4sb7bnm2j67q0q74hspkfn6lqprpy5r99vkn5bb36a4viv7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("file" ,file))) `(("file" ,file)))
@ -382,7 +405,7 @@ by GDBus included in Glib.")
(define libsigc++ (define libsigc++
(package (package
(name "libsigc++") (name "libsigc++")
(version "2.4.1") (version "2.6.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libsigc++/" (uri (string-append "mirror://gnome/sources/libsigc++/"
@ -390,7 +413,7 @@ by GDBus included in Glib.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1v0rvkzglzmf67y9nkcppwjwi68j1cy5yhldvcq7xrv8594l612l")))) "06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("m4" ,m4))) ("m4" ,m4)))
@ -409,7 +432,7 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm (define glibmm
(package (package
(name "glibmm") (name "glibmm")
(version "2.44.0") (version "2.46.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/" (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")) "/glibmm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1a1fczy7hcpn24fglyn4i79f4yjc8s50is70q03mb294bm1c02hv")))) "1an4v1yk06svlmcyp1psk2a3bsn29s1a4gdx0ai2w788q6bfaiwn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (alist-cons-before `(#:phases (alist-cons-before
@ -491,7 +514,7 @@ useful for C++.")
(define-public python-pygobject (define-public python-pygobject
(package (package
(name "python-pygobject") (name "python-pygobject")
(version "3.16.1") (version "3.18.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -500,7 +523,7 @@ useful for C++.")
"/pygobject-" version ".tar.xz")) "/pygobject-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1hqyma73w0lnjcgx68kawhnq84aq92xlkdqphrlc2ppia38dm5kx")))) "1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("which" ,which) `(("which" ,which)
@ -551,7 +574,18 @@ useful for C++.")
"telepathy-glib-" version ".tar.gz")) "telepathy-glib-" version ".tar.gz"))
(sha256 (sha256
(base32 (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) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("glib" ,glib "bin") ; uses glib-mkenums `(("glib" ,glib "bin") ; uses glib-mkenums

View File

@ -446,7 +446,7 @@ on the GNOME Desktop with a single simple application.")
(define-public gsettings-desktop-schemas (define-public gsettings-desktop-schemas
(package (package
(name "gsettings-desktop-schemas") (name "gsettings-desktop-schemas")
(version "3.16.0") (version "3.18.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -455,7 +455,7 @@ on the GNOME Desktop with a single simple application.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"02dp1hl38k16m9abydfca1n236mdazqdz0p3n92s7haf9mdqsf16")))) "1szc857f46spdhrbnq9ci3kwfqg5vwpikbf0hprq6vd94rr369xs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("glib" ,glib))) `(("glib" ,glib)))
@ -821,7 +821,7 @@ dealing with different structured file formats.")
(define-public librsvg (define-public librsvg
(package (package
(name "librsvg") (name "librsvg")
(version "2.40.10") (version "2.40.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -829,7 +829,9 @@ dealing with different structured file formats.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0y9lvnb9ij9mjg8cyp7xysi0c5ms5v4q1zrhx42b546f71s80p4n")))) "00ifd9wjjjsw0ybk5j6qs4yyh66jj34hjmggy6dhrgfy8ksw06k1"))
(patches
(list (search-patch "librsvg-tests.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -1204,6 +1206,8 @@ creating interactive structured graphics.")
(base32 (base32
"0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr")))) "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
'(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
(propagated-inputs `(("libgnomecanvas" ,libgnomecanvas))) (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas)))
(native-inputs (native-inputs
`(("gtkmm-2" ,gtkmm-2) `(("gtkmm-2" ,gtkmm-2)
@ -1625,7 +1629,7 @@ passwords in the GNOME keyring.")
(define-public vala (define-public vala
(package (package
(name "vala") (name "vala")
(version "0.28.0") (version "0.30.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -1633,14 +1637,16 @@ passwords in the GNOME keyring.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0zwpzhkhfk3piya14m7p2hl2vaabahprphppfm46ci91z39kp7hd")))) "1pyyhfw3zzbhxfscbn8xz70dg6vx0kh8gshzikpxczhg01xk7w31"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'set-cc (add-before 'check 'pre-check
(lambda _ (lambda _
(setenv "CC" "gcc") (setenv "CC" "gcc")
;; For missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
#t))))) #t)))))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -1771,7 +1777,7 @@ configuration storage systems.")
(define-public json-glib (define-public json-glib
(package (package
(name "json-glib") (name "json-glib")
(version "1.0.2") (version "1.0.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -1779,7 +1785,14 @@ configuration storage systems.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (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) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal `(("glib" ,glib "bin") ;for glib-mkenums and glib-genmarshal
@ -1871,7 +1884,7 @@ library.")
(define-public glib-networking (define-public glib-networking
(package (package
(name "glib-networking") (name "glib-networking")
(version "2.44.0") (version "2.46.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/glib-networking/" (uri (string-append "mirror://gnome/sources/glib-networking/"
@ -1879,7 +1892,7 @@ library.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ij33bhvn7y5gagx4sbrw906dsjjjs9dllxn73pzv6x97c6k92lg")) "1cchmi08jpjypgmm9i7xzh5qfg2q5k61kry9ns8mhw3z44a440ym"))
(patches (patches
(list (search-patch "glib-networking-ssl-cert-file.patch"))))) (list (search-patch "glib-networking-ssl-cert-file.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
@ -1953,7 +1966,7 @@ libxml to ease remote use of the RESTful API.")
(define-public libsoup (define-public libsoup
(package (package
(name "libsoup") (name "libsoup")
(version "2.50.0") (version "2.52.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/libsoup/" (uri (string-append "mirror://gnome/sources/libsoup/"
@ -1961,18 +1974,14 @@ libxml to ease remote use of the RESTful API.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0yv61y5vfar1rfksa6f53zhfw9wcb39zjix8gqc1ff5gqid3c08y")))) "0j6cnnpqqgnb9nj2r0j8j6898np4z503hrnpis7b4l5d8yhbq68f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--with-html-dir=" (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc") (assoc-ref %outputs "doc")
"/share/gtk-doc/html") "/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"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'disable-unconnected-socket-test (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 ;; The ca-certificates.crt is not available in the build
;; environment. ;; environment.
(setenv "SSL_CERT_FILE" "/dev/null") (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 (native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums `(("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection) ("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool) ("intltool" ,intltool)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-wrapper) ("python" ,python-wrapper)
("vala" ,vala)
;; These are needed for the tests. ;; These are needed for the tests.
;; FIXME: Add PHP once available. ;; FIXME: Add PHP once available.
("curl" ,curl) ("curl" ,curl)
@ -2210,6 +2228,7 @@ keyboard shortcuts.")
("lcms" ,lcms))) ("lcms" ,lcms)))
(inputs (inputs
`(("dbus-glib" ,dbus-glib) `(("dbus-glib" ,dbus-glib)
("libgudev" ,libgudev)
("libusb" ,libusb) ("libusb" ,libusb)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("polkit" ,polkit) ("polkit" ,polkit)

View File

@ -60,7 +60,7 @@
(define-public atk (define-public atk
(package (package
(name "atk") (name "atk")
(version "2.16.0") (version "2.18.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -68,7 +68,7 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0qp5i91kfk6rhrlam3s8ha0cz88lkyp89vsyn4pb5856c1h9hpq9")))) "0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -144,7 +144,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public harfbuzz (define-public harfbuzz
(package (package
(name "harfbuzz") (name "harfbuzz")
(version "1.0.3") (version "1.0.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.freedesktop.org/software/" (uri (string-append "http://www.freedesktop.org/software/"
@ -152,7 +152,7 @@ affine transformation (scale, rotation, shear, etc.).")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1xrxlrvgyr6mm9qjxmkif2kvcah082y94gf1vqi0f0bdl1g8gp7b")))) "0h2l362qzkck5dnnj7zlz593hf1ni3k25dfaii9mbjwflp3d56ad"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"bin")) ; 160K, only hb-view depend on cairo "bin")) ; 160K, only hb-view depend on cairo
@ -182,7 +182,7 @@ affine transformation (scale, rotation, shear, etc.).")
(define-public pango (define-public pango
(package (package
(name "pango") (name "pango")
(version "1.36.8") (version "1.38.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/" (uri (string-append "mirror://gnome/sources/pango/"
@ -190,7 +190,7 @@ affine transformation (scale, rotation, shear, etc.).")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"01rdzjh68w8l5zn0648yibyarj8p6g7yfn59nw5awaz1i8dvbnqq")))) "1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("cairo" ,cairo) `(("cairo" ,cairo)
@ -253,8 +253,10 @@ functions which were removed.")
(build-system waf-build-system) (build-system waf-build-system)
(arguments (arguments
`(#:phases (alist-cons-before `(#:phases (alist-cons-before
'configure 'set-ldflags 'configure 'set-flags
(lambda* (#:key outputs #:allow-other-keys) (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. ;; Allow 'bin/ganv_bench' to find libganv-1.so.
(setenv "LDFLAGS" (setenv "LDFLAGS"
(string-append "-Wl,-rpath=" (string-append "-Wl,-rpath="
@ -381,7 +383,7 @@ in the GNOME project.")
(define-public at-spi2-core (define-public at-spi2-core
(package (package
(name "at-spi2-core") (name "at-spi2-core")
(version "2.16.0") (version "2.18.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -389,7 +391,7 @@ in the GNOME project.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw")))) "1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
@ -402,6 +404,8 @@ in the GNOME project.")
(replace 'check (replace 'check
;; Run test-suite under a dbus session. ;; Run test-suite under a dbus session.
(lambda _ (lambda _
;; Don't fail on missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "make" "check"))))))) (zero? (system* "dbus-launch" "make" "check")))))))
(propagated-inputs (propagated-inputs
;; atspi-2.pc refers to all these. ;; atspi-2.pc refers to all these.
@ -424,7 +428,7 @@ is part of the GNOME accessibility project.")
(define-public at-spi2-atk (define-public at-spi2-atk
(package (package
(name "at-spi2-atk") (name "at-spi2-atk")
(version "2.16.0") (version "2.18.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -432,7 +436,7 @@ is part of the GNOME accessibility project.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1y9gfz1iz3wpja7s000f0bmyyvc6im5fcdl6bxwbz0v3qdgc9vvq")))) "0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -440,6 +444,7 @@ is part of the GNOME accessibility project.")
(replace 'check (replace 'check
;; Run test-suite under a dbus session. ;; Run test-suite under a dbus session.
(lambda _ (lambda _
(setenv "DBUS_FATAL_WARNINGS" "0")
(zero? (system* "dbus-launch" "make" "check"))))))) (zero? (system* "dbus-launch" "make" "check")))))))
(propagated-inputs (propagated-inputs
`(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc
@ -514,7 +519,7 @@ application suites.")
(define-public gtk+ (define-public gtk+
(package (inherit gtk+-2) (package (inherit gtk+-2)
(name "gtk+") (name "gtk+")
(version "3.16.6") (version "3.18.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -522,12 +527,13 @@ application suites.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1gpzlnfrifc17yfk0zki6b2vmsfpf5cmrbh232s6iaan11np44jd")))) "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))))
(propagated-inputs (propagated-inputs
`(("at-spi2-atk" ,at-spi2-atk) `(("at-spi2-atk" ,at-spi2-atk)
("atk" ,atk) ("atk" ,atk)
("gdk-pixbuf" ,gdk-pixbuf) ("gdk-pixbuf" ,gdk-pixbuf)
("libepoxy" ,libepoxy) ("libepoxy" ,libepoxy)
("libxcursor" ,libxcursor)
("libxi" ,libxi) ("libxi" ,libxi)
("libxinerama" ,libxinerama) ("libxinerama" ,libxinerama)
("libxdamage" ,libxdamage) ("libxdamage" ,libxdamage)
@ -535,7 +541,13 @@ application suites.")
(inputs (inputs
`(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg `(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
("libxml2" ,libxml2) ("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 (native-inputs
`(("perl" ,perl) `(("perl" ,perl)
("glib" ,glib "bin") ("glib" ,glib "bin")
@ -731,14 +743,15 @@ documents.")
(define-public cairomm (define-public cairomm
(package (package
(name "cairomm") (name "cairomm")
(version "1.11.2") (version "1.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairomm-" (uri (string-append "mirror://gnome/sources/cairomm/"
version ".tar.gz")) (version-major+minor version) "/"
(sha256 name "-" version ".tar.xz"))
(base32 (sha256
"138052ybc58q5yl92m2p0br0k0a9g1pi9gfhmn4y220yih4pgxnc")))) (base32
"1rmgs6zjj2vaxh9hsa0944m23fdn1psycqh7bi984qd8jj1xljm5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; The examples lack -lcairo. ;; The examples lack -lcairo.
@ -759,7 +772,7 @@ library.")
(define-public pangomm (define-public pangomm
(package (package
(name "pangomm") (name "pangomm")
(version "2.36.0") (version "2.38.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -767,7 +780,7 @@ library.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1w11d05nkxglzg67rfa81vqghm75xhy6j396xmmp5mq8qx96knd8")))) "12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs (propagated-inputs
@ -785,7 +798,7 @@ library.")
(define-public atkmm (define-public atkmm
(package (package
(name "atkmm") (name "atkmm")
(version "2.22.7") (version "2.24.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -793,7 +806,7 @@ library.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"06zrf2ymml2dzp53sss0d4ch4dk9v09jm8rglnrmwk4v81mq9gxz")))) "08zd6s5c1q90wm8310mdrb5f2lj8v63wxihrybwyw13xlf6ivi16"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs (propagated-inputs
@ -808,7 +821,7 @@ toolkit.")
(define-public gtkmm (define-public gtkmm
(package (package
(name "gtkmm") (name "gtkmm")
(version "3.16.0") (version "3.18.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -816,9 +829,10 @@ toolkit.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"036xn22jkaf3akpid7w23b8vkqa3xxqz93mwacmyar5vw7slm3cv")))) "0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2"))))
(build-system gnu-build-system) (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 (propagated-inputs
`(("pangomm" ,pangomm) `(("pangomm" ,pangomm)
("cairomm" ,cairomm) ("cairomm" ,cairomm)
@ -849,6 +863,9 @@ extensive documentation, including API reference and a tutorial.")
(sha256 (sha256
(base32 (base32
"1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4")))) "1vpmjqv0aqb1ds0xi6nigxnhlr0c74090xzi15b92amlzkrjyfj4"))))
(arguments
'(#:configure-flags '("CPPFLAGS=-std=c++11"))) ; required by libsigc++
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs (propagated-inputs
`(("pangomm" ,pangomm) `(("pangomm" ,pangomm)
("cairomm" ,cairomm) ("cairomm" ,cairomm)

View File

@ -184,14 +184,14 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
(define-public leptonica (define-public leptonica
(package (package
(name "leptonica") (name "leptonica")
(version "1.71") (version "1.72")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.leptonica.com/source/leptonica-" (uri (string-append "http://www.leptonica.com/source/leptonica-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0j5qgrff6im5n9waflbi7w643q1p6mahyf2z35gb4vj9h5p76pfc")) (base32 "0mhzvqs0im04y1cpcc1yma70hgdac1frf33h73m9z3356bfymmbr"))
(modules '((guix build utils))) (modules '((guix build utils)))
;; zlib and openjpg should be under Libs, not Libs.private. See: ;; zlib and openjpg should be under Libs, not Libs.private. See:
;; https://code.google.com/p/tesseract-ocr/issues/detail?id=1436 ;; 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) `(("openjpeg" ,openjpeg)
("zlib" ,zlib))) ("zlib" ,zlib)))
(arguments (arguments
'(#:phases '(#:parallel-tests? #f ; XXX: cause fpix1_reg to fail
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Prevent make from trying to regenerate config.h.in. ;; Prevent make from trying to regenerate config.h.in.
(add-after (add-after
@ -228,7 +229,15 @@ the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
(lambda _ (lambda _
(substitute* "prog/reg_wrapper.sh" (substitute* "prog/reg_wrapper.sh"
((" /bin/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/") (home-page "http://www.leptonica.com/")
(synopsis "Library and tools for image processing and analysis") (synopsis "Library and tools for image processing and analysis")
(description (description
@ -337,14 +346,14 @@ error-resilience, a Java-viewer for j2k-images, ...")
(define-public giflib (define-public giflib
(package (package
(name "giflib") (name "giflib")
(version "4.2.3") (version "5.1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/giflib/giflib-" (uri (string-append "mirror://sourceforge/giflib/giflib-"
(first (string-split version #\.)) (first (string-split version #\.))
".x/giflib-" version ".tar.bz2")) ".x/giflib-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0rmp7ipzk42r841bggd7bfqk4p8qsssbp4wcck4qnz7p4rkxbj0a")))) (base32 "1z1gzq16sdya8xnl5qjc07634kkwj5m0n3bvvj4v9j11xfn1841r"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("bin" ; utility programs (outputs '("bin" ; utility programs
"out")) ; library "out")) ; library

View File

@ -74,7 +74,11 @@
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(arguments (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 'unpack 'fix-test-includes
(lambda _ (lambda _
(substitute* "src/cxxtests.cpp" (substitute* "src/cxxtests.cpp"

View File

@ -1570,7 +1570,7 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo. ;; The post-systemd fork, maintained by Gentoo.
(package (package
(name "eudev") (name "eudev")
(version "2.1.1") (version "3.1.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1578,55 +1578,15 @@ from the module-init-tools project.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva")) "0akg9gcc3c2p56xbhlvbybqavcprly5q0bvk655zwl6d62j8an7p"))
(patches (list (search-patch "eudev-rules-directory.patch"))) (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")
"")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("gperf" ,gperf) ("perl" ,perl)
("glib" ,glib "bin") ; glib-genmarshal, etc. ("gperf" ,gperf)))
("perl" ,perl) ; for the tests
("python" ,python-2))) ; ditto
(inputs (inputs
`(("kmod" ,kmod) `(("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)))
(home-page "http://www.gentoo.org/proj/en/eudev/") (home-page "http://www.gentoo.org/proj/en/eudev/")
(synopsis "Userspace device management") (synopsis "Userspace device management")
(description "Udev is a daemon which dynamically creates and removes (description "Udev is a daemon which dynamically creates and removes
@ -2365,7 +2325,9 @@ applications.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs")))) "1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs"))
(patches
(list (search-patch "bluez-tests.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags

View File

@ -304,6 +304,15 @@ can read the same mailbox from multiple computers. It supports IMAP as REMOTE
repository and Maildir/IMAP as LOCAL repository.") repository and Maildir/IMAP as LOCAL repository.")
(license gpl2+))) (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 (define-public mu
(package (package
(name "mu") (name "mu")
@ -315,7 +324,8 @@ repository and Maildir/IMAP as LOCAL repository.")
(file-name (string-append "mu-" version ".tar.gz")) (file-name (string-append "mu-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51")))) "0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))
(patches (list %mu-gtester-patch))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)

View File

@ -346,6 +346,14 @@ Guile.")
(%current-system)))) (%current-system))))
'("--disable-sse") '("--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)) #:python ,python-2))
(inputs (inputs
`(("jack" ,jack-1) `(("jack" ,jack-1)

View File

@ -460,6 +460,11 @@ provers.")
("librsvg" ,librsvg))) ("librsvg" ,librsvg)))
(arguments (arguments
`(#:tests? #f ; no check target `(#: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 #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'install (replace 'install

View File

@ -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

View File

@ -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);

View File

@ -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.

View File

@ -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 the search path to be customized, but eudev no longer has this, hence
this hack. this hack.
--- eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:21:59.615980259 +0200 --- eudev-3.1.5/src/udev/udev-rules.c 2015-10-13 06:22:14.000000000 +0800
+++ eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:24:13.839976335 +0200 +++ eudev-3.1.5/src/udev/udev-rules.c 2015-10-16 20:45:38.491934336 +0800
@@ -46,15 +46,11 @@ @@ -47,15 +47,11 @@
}; };
}; };
@ -14,23 +14,23 @@ this hack.
+static const char* rules_dirs[] = { +static const char* rules_dirs[] = {
UDEV_CONF_DIR "/rules.d", UDEV_CONF_DIR "/rules.d",
UDEV_RULES_DIR, UDEV_RULES_DIR,
- "/run/udev/rules.d", - UDEV_ROOT_RUN "/udev/rules.d",
UDEV_LIBEXEC_DIR "/rules.d", UDEV_LIBEXEC_DIR "/rules.d",
-#ifdef HAVE_SPLIT_USR -#ifdef HAVE_SPLIT_USR
- "/lib/udev/rules.d", - "/lib/udev/rules.d",
- "/usr/lib/udev/rules.d", - "/usr/lib/udev/rules.d",
-#endif -#endif
+ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ + NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */
NULL}; NULL};
struct udev_rules { struct udev_rules {
@@ -1637,6 +1633,9 @@ @@ -1704,6 +1700,9 @@
udev_rules_check_timestamp(rules); udev_rules_check_timestamp(rules);
+ /* Allow the user to specify an additional rules directory. */ + /* Allow the user to specify an additional rules directory. */
+ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY"); + rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY");
+ +
r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs); r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs);
if (r < 0) { if (r < 0) {
log_error("failed to enumerate rules files: %s", strerror(-r)); log_error_errno(r, "failed to enumerate rules files: %m");

View File

@ -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', 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.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200
+++ glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:47.000000000 +0100 +++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200
@@ -171,20 +171,13 @@ check_PROGRAMS = $(am__EXEEXT_14) @@ -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-auth \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \ @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-test-codegen-old \
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \ -@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \ @HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL) @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. The test below depends on the availability /etc/passwd to dbus-daemon.

View File

@ -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()

View File

@ -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

View File

@ -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

View File

@ -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]));
}

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -52,13 +52,13 @@
(define-public poppler (define-public poppler
(package (package
(name "poppler") (name "poppler")
(version "0.36.0") (version "0.37.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://poppler.freedesktop.org/poppler-" (uri (string-append "http://poppler.freedesktop.org/poppler-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"13i440kv873wgmw50rs4d1v05cj0r7bqnghd70hp9vy44dxhdk4k")))) "1vjvd0md8y37hlq3lsj0l01a3v3mzm572rzpn1311frvmrg9r7xq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; FIXME: more dependencies could be added ;; FIXME: more dependencies could be added
;; cairo output: no (requires cairo >= 1.10.0) ;; cairo output: no (requires cairo >= 1.10.0)
@ -68,7 +68,7 @@
;; use libcurl: no ;; use libcurl: no
(inputs `(("fontconfig" ,fontconfig) (inputs `(("fontconfig" ,fontconfig)
("freetype" ,freetype) ("freetype" ,freetype)
("libjpeg-8" ,libjpeg-8) ("libjpeg" ,libjpeg)
("libpng" ,libpng) ("libpng" ,libpng)
("libtiff" ,libtiff) ("libtiff" ,libtiff)
("lcms" ,lcms) ("lcms" ,lcms)
@ -87,8 +87,7 @@
(arguments (arguments
`(#:tests? #f ; no test data provided with the tarball `(#:tests? #f ; no test data provided with the tarball
#:configure-flags #:configure-flags
'("--enable-libopenjpeg" '("--enable-xpdf-headers" ; to install header files
"--enable-xpdf-headers" ; to install header files
"--enable-zlib") "--enable-zlib")
#:phases #:phases
(alist-cons-before (alist-cons-before

View File

@ -199,6 +199,8 @@ sound server.")
(base32 (base32
"14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk")))) "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
'(#:configure-flags '("CXXFLAGS=-std=c++11"))) ; required by gtkmm
(inputs (inputs
`(("libcanberra" ,libcanberra) `(("libcanberra" ,libcanberra)
("gtkmm" ,gtkmm) ("gtkmm" ,gtkmm)

View File

@ -4248,6 +4248,17 @@ features useful for text console applications.")
(sha256 (sha256
(base32 "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71")))) (base32 "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71"))))
(build-system gnu-build-system) (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 (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
(inputs (inputs

View File

@ -40,6 +40,28 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages perl)) #: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 (define-public qemu-headless
;; This is QEMU without GUI support. ;; This is QEMU without GUI support.
(package (package
@ -52,7 +74,12 @@
(sha256 (sha256
(base32 (base32
"1nqv5p94zpnhcaqkifnn83ap7dd0qrb0qiicswbyhhby0f48pzpc")) "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) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-replace '(#:phases (alist-replace

View File

@ -95,7 +95,7 @@ X11 (yet).")
(define-public qt (define-public qt
(package (package
(name "qt") (name "qt")
(version "5.5.0") (version "5.5.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -107,7 +107,7 @@ X11 (yet).")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1by2l8wxbqwvs7anb5ggmqhn2cfmhyw3a23bp1yyd240rdpa38ky")) "0615cn4n3n78v48lnmapqz2jizm2pzrjwvsjlnsf4awrsiiqw0kg"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View File

@ -322,7 +322,7 @@ SMPTE 314M.")
(define-public libva (define-public libva
(package (package
(name "libva") (name "libva")
(version "1.5.1") (version "1.6.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -330,7 +330,7 @@ SMPTE 314M.")
"http://www.freedesktop.org/software/vaapi/releases/libva/libva-" "http://www.freedesktop.org/software/vaapi/releases/libva/libva-"
version".tar.bz2")) version".tar.bz2"))
(sha256 (sha256
(base32 "01d01mm9fgpwzqycmjjcj3in3vvzcibi3f64icsw2sksmmgb4495")))) (base32 "0bjfb5s8dk3lql843l91ffxzlq47isqks5sj19cxh7j3nhzw58kz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))

View File

@ -39,6 +39,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) ;for libgudev
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
@ -199,7 +200,7 @@ rasterisation.")
(define-public libdrm (define-public libdrm
(package (package
(name "libdrm") (name "libdrm")
(version "2.4.58") (version "2.4.65")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -209,7 +210,8 @@ rasterisation.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi")))) "1i4n7mz49l0j4kr0dg9n1j3hlc786ncqgj0v5fci1mz7pp40m5ki"))
(patches (list (search-patch "libdrm-symbol-check.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libpciaccess" ,libpciaccess) `(("libpciaccess" ,libpciaccess)
@ -605,6 +607,7 @@ Escape key when Left Control is pressed and released on its own.")
(inputs (inputs
`(("glib" ,glib) `(("glib" ,glib)
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("libgudev" ,libgudev)
("eudev" ,eudev) ("eudev" ,eudev)
("libxml2" ,libxml2))) ("libxml2" ,libxml2)))
(home-page "http://linuxwacom.sourceforge.net/") (home-page "http://linuxwacom.sourceforge.net/")

View File

@ -111,6 +111,8 @@ Xfce Desktop Environment.")
;; Run test-suite under a dbus session. ;; Run test-suite under a dbus session.
(setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service (setenv "XDG_DATA_DIRS" ; for finding org.xfce.Xfconf.service
(string-append %output "/share")) (string-append %output "/share"))
;; For the missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0");
(zero? (system* "dbus-launch" "make" "check"))) (zero? (system* "dbus-launch" "make" "check")))
(alist-delete 'check %standard-phases)))) (alist-delete 'check %standard-phases))))
(native-inputs (native-inputs

View File

@ -1129,7 +1129,7 @@ themselves.")
(define-public libpciaccess (define-public libpciaccess
(package (package
(name "libpciaccess") (name "libpciaccess")
(version "0.13.2") (version "0.13.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1139,7 +1139,7 @@ themselves.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb")))) "1krgryi9ngjr66242v0v5mczihgv0y7rrvx0563arr318mjn9y07"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("zlib" ,zlib))) `(("zlib" ,zlib)))

View File

@ -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-8140.patch"
"unzip-CVE-2014-8141.patch" "unzip-CVE-2014-8141.patch"
"unzip-CVE-2014-9636.patch" "unzip-CVE-2014-9636.patch"
"unzip-CVE-2015-7696.patch"
"unzip-CVE-2015-7697.patch"
"unzip-allow-greater-hostver-values.patch" "unzip-allow-greater-hostver-values.patch"
"unzip-initialize-symlink-flag.patch" "unzip-initialize-symlink-flag.patch"
"unzip-remove-build-date.patch" "unzip-remove-build-date.patch"
"unzip-attribs-overflow.patch" "unzip-attribs-overflow.patch"
"unzip-fix-overflows-and-infloop.patch" "unzip-overflow-on-invalid-input.patch"
"unzip-format-secure.patch" "unzip-format-secure.patch"
"unzip-overflow-long-fsize.patch"))))) "unzip-overflow-long-fsize.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -20,7 +21,7 @@
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services dmd) #:use-module (gnu services dmd)
#:use-module (gnu system shadow) #: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 (gnu packages admin)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
@ -37,13 +38,38 @@
dbus-configuration make-dbus-configuration dbus-configuration make-dbus-configuration
dbus-configuration? dbus-configuration?
(dbus dbus-configuration-dbus ;<package> (dbus dbus-configuration-dbus ;<package>
(default dbus)) (default dbus/activation))
(services dbus-configuration-services ;list of <package> (services dbus-configuration-services ;list of <package>
(default '()))) (default '())))
(define (dbus-configuration-directory dbus services) (define (system-service-directory services)
"Return a configuration directory for @var{dbus} that includes the "Return the system service directory, containing @code{.service} files for
@code{etc/dbus-1/system.d} directories of each package listed in 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}." @var{services}."
(define build (define build
#~(begin #~(begin
@ -53,24 +79,27 @@
(define (services->sxml services) (define (services->sxml services)
;; Return the SXML 'includedir' clauses for DIRS. ;; Return the SXML 'includedir' clauses for DIRS.
`(busconfig `(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) ,@(append-map (lambda (dir)
`((includedir `((includedir
,(string-append dir "/etc/dbus-1/system.d")) ,(string-append dir "/etc/dbus-1/system.d"))
(servicedir ;for '.service' files (servicedir ;for '.service' files
,(string-append dir "/share/dbus-1/services")) ,(string-append dir "/share/dbus-1/services"))))
(servicedir ;likewise, for auto-activation
,(string-append
dir
"/share/dbus-1/system-services"))))
services))) services)))
(mkdir #$output) (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 ;; Provide /etc/dbus-1/system-services, which is where the setuid
;; 'system.d', so create it. ;; helper looks for system service files.
(mkdir (string-append #$output "/system.d")) (symlink #$(system-service-directory services)
(string-append #$output "/system-services"))
;; 'system-local.conf' is automatically included by the default ;; 'system-local.conf' is automatically included by the default
;; 'system.conf', so this is where we stuff our own things. ;; 'system.conf', so this is where we stuff our own things.
@ -81,6 +110,12 @@
(computed-file "dbus-configuration" build)) (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 (define %dbus-accounts
;; Accounts used by the system bus. ;; Accounts used by the system bus.
(list (user-group (name "messagebus") (system? #t)) (list (user-group (name "messagebus") (system? #t))
@ -92,6 +127,12 @@
(home-directory "/var/run/dbus") (home-directory "/var/run/dbus")
(shell #~(string-append #$shadow "/sbin/nologin"))))) (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) (define (dbus-activation config)
"Return an activation gexp for D-Bus using @var{config}." "Return an activation gexp for D-Bus using @var{config}."
#~(begin #~(begin
@ -120,18 +161,15 @@
(define dbus-dmd-service (define dbus-dmd-service
(match-lambda (match-lambda
(($ <dbus-configuration> dbus services) (($ <dbus-configuration> dbus)
(let ((conf (dbus-configuration-directory dbus services))) (list (dmd-service
(list (dmd-service (documentation "Run the D-Bus system daemon.")
(documentation "Run the D-Bus system daemon.") (provision '(dbus-system))
(provision '(dbus-system)) (requirement '(user-processes))
(requirement '(user-processes)) (start #~(make-forkexec-constructor
(start #~(make-forkexec-constructor (list (string-append #$dbus "/bin/dbus-daemon")
(list (string-append #$dbus "/bin/dbus-daemon") "--nofork" "--system")))
"--nofork" (stop #~(make-kill-destructor)))))))
(string-append "--config-file=" #$conf
"/system.conf"))))
(stop #~(make-kill-destructor))))))))
(define dbus-root-service-type (define dbus-root-service-type
(service-type (name 'dbus) (service-type (name 'dbus)
@ -140,14 +178,15 @@
dbus-dmd-service) dbus-dmd-service)
(service-extension activation-service-type (service-extension activation-service-type
dbus-activation) dbus-activation)
(service-extension etc-service-type
dbus-etc-files)
(service-extension account-service-type (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 ;; Extensions consist of lists of packages (representing D-Bus
;; services) that we just concatenate. ;; services) that we just concatenate.
;;
;; FIXME: We need 'dbus-daemon-launch-helper' to be
;; setuid-root for auto-activation to work.
(compose concatenate) (compose concatenate)
;; The service's parameters field is extended by augmenting ;; The service's parameters field is extended by augmenting
@ -159,7 +198,7 @@
(append (dbus-configuration-services config) (append (dbus-configuration-services config)
services))))))) 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 "Return a service that runs the \"system bus\", using @var{dbus}, with
support for @var{services}. support for @var{services}.

View File

@ -247,17 +247,6 @@ levels, with the given configuration settings. It implements the
(home-directory "/var/empty") (home-directory "/var/empty")
(shell #~(string-append #$shadow "/sbin/nologin"))))) (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 (define colord-service-type
(service-type (name 'colord) (service-type (name 'colord)
(extensions (extensions
@ -265,8 +254,6 @@ levels, with the given configuration settings. It implements the
(const %colord-accounts)) (const %colord-accounts))
(service-extension activation-service-type (service-extension activation-service-type
(const %colord-activation)) (const %colord-activation))
(service-extension dmd-root-service-type
colord-dmd-service)
;; Colord is a D-Bus service that dbus-daemon can ;; Colord is a D-Bus service that dbus-daemon can
;; activate. ;; activate.
@ -345,23 +332,6 @@ users are allowed."
"GEOCLUE_CONFIG_FILE" "GEOCLUE_CONFIG_FILE"
(geoclue-configuration-file config)))) (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 (define %geoclue-accounts
(list (user-group (name "geoclue") (system? #t)) (list (user-group (name "geoclue") (system? #t))
(user-account (user-account
@ -377,8 +347,6 @@ users are allowed."
(extensions (extensions
(list (service-extension dbus-root-service-type (list (service-extension dbus-root-service-type
geoclue-dbus-service) geoclue-dbus-service)
(service-extension dmd-root-service-type
geoclue-dmd-service)
(service-extension account-service-type (service-extension account-service-type
(const %geoclue-accounts)))))) (const %geoclue-accounts))))))
@ -428,18 +396,6 @@ site} for more information."
(define %polkit-pam-services (define %polkit-pam-services
(list (unix-pam-service "polkitd"))) (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 (define polkit-service-type
;; TODO: Make it extensible so it can collect policy files from other ;; TODO: Make it extensible so it can collect policy files from other
;; services. ;; services.
@ -450,9 +406,7 @@ site} for more information."
(service-extension pam-root-service-type (service-extension pam-root-service-type
(const %polkit-pam-services)) (const %polkit-pam-services))
(service-extension dbus-root-service-type (service-extension dbus-root-service-type
list) list)))))
(service-extension dmd-root-service-type
polkit-dmd-service)))))
(define* (polkit-service #:key (polkit polkit)) (define* (polkit-service #:key (polkit polkit))
"Return a service that runs the @command{polkit} privilege management "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) (define (elogind-dmd-service config)
"Return a dmd service for elogind, using @var{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)) (let ((config-file (elogind-configuration-file config))
(elogind (elogind-package config))) (elogind (elogind-package config)))
(list (dmd-service (list (dmd-service