Merge branch 'dbus-update'

This commit is contained in:
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-loongson-workaround.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/calibre-drop-unrar.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/clucene-contribs-lib.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/diffutils-gets-undeclared.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-relocatable.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/hop-bigloo-4.0b.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/libbonobo-activation-test-race.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/libmtp-devices.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-frame-length.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/librsvg-tests.patch \
gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtool-skip-tests2.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-8141.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-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-initialize-symlink-flag.patch \
gnu/packages/patches/unzip-overflow-long-fsize.patch \

View File

@ -152,13 +152,11 @@ streams from live audio.")
libdir "/vamp" "\"]"))))
#t))
(define-public ardour-3
(define-public ardour
(package
(name "ardour")
(version "3.5.403")
(version "4.2")
(source (origin
;; The project only provides tarballs upon individual request
;; (or after payment) so we take the code from git.
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
@ -171,14 +169,15 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }"))))
namespace ARDOUR { const char* revision = \"4.2\" ; }"))))
(sha256
(base32
"01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp"))
"1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
`(#:phases
`(#:configure-flags '("--cxx11") ; required by gtkmm
#:phases
(modify-phases %standard-phases
(add-after
'unpack 'set-rpath-in-LDFLAGS
@ -230,35 +229,6 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio
engineers, musicians, soundtrack editors and composers.")
(license license:gpl2+)))
(define-public ardour
(package (inherit ardour-3)
(name "ardour")
(version "4.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
;; Ardour expects this file to exist at build time. It can be
;; created from a git checkout with:
;; ./waf create_stored_revision
'(call-with-output-file
"libs/ardour/revision.cc"
(lambda (port)
(format port "#include \"ardour/revision.h\"
namespace ARDOUR { const char* revision = \"4.2\" ; }"))))
(sha256
(base32
"1j8zw0bvh16qwyy8qrqynpak9nghl9j3qhjjcdl7wh9raafjqc00"))
(file-name (string-append name "-" version))))
(arguments
(substitute-keyword-arguments (package-arguments ardour-3)
((#:phases phases)
`(modify-phases ,phases
(replace 'set-rpath-in-LDFLAGS
,(ardour-rpath-phase (version-prefix version 1)))))))))
(define-public azr3
(package
(name "azr3")
@ -566,7 +536,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.bz2"))
(sha256
(base32
"1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx"))))
"1w6dg2n0alfjsx1iy6s53783invygwxk11p1i65cc3nq3zlidcgx"))
(patches (list (search-patch "guitarix-c++11.patch")))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -574,7 +545,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
#:configure-flags
(list
;; Add the output lib directory to the RUNPATH.
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))))
(string-append "--ldflags=-Wl,-rpath=" %output "/lib")
"--cxxflags=-std=c++11")))
(inputs
`(("libsndfile" ,libsndfile)
("boost" ,boost)
@ -745,7 +717,16 @@ synchronous execution of all clients, and low latency operation.")
(base32
"1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-flags
(lambda _
;; Compile with C++11, required by gtkmm.
(setenv "CXXFLAGS" "-std=c++11")
#t)))))
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)

View File

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

View File

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

View File

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

View File

@ -157,7 +157,10 @@ the freedesktop.org XDG Base Directory specification.")
(assoc-ref %build-inputs "libcap"))
(string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d"))
"/lib/udev/rules.d")
;; XXX: fail with:
;; src/shared/clean-ipc.c:315: undefined reference to `mq_unlink'
"LDFLAGS=-lrt")
#:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")))
(native-inputs
`(("intltool" ,intltool)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -74,7 +74,11 @@
("perl" ,perl)
("pkg-config" ,pkg-config)))
(arguments
`(#:phases (alist-cons-after
`(;; Add '-std=c++11', required by recent versions of GLibmm & co.
;; Use '-g0' to reduce disk usage during the build.
#:configure-flags '("CXXFLAGS=-g0 -O2 -fopenmp -std=c++11")
#:phases (alist-cons-after
'unpack 'fix-test-includes
(lambda _
(substitute* "src/cxxtests.cpp"

View File

@ -1570,7 +1570,7 @@ from the module-init-tools project.")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
(version "2.1.1")
(version "3.1.5")
(source (origin
(method url-fetch)
(uri (string-append
@ -1578,55 +1578,15 @@ from the module-init-tools project.")
version ".tar.gz"))
(sha256
(base32
"0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva"))
(patches (list (search-patch "eudev-rules-directory.patch")))
(modules '((guix build utils)))
(snippet
;; 'configure' checks uses <linux/btrfs.h> as an indication of
;; whether Linux headers are available, but it doesn't actually
;; use it, and our 'linux-libre-headers' package doesn't
;; provide it. So just remove that.
'(substitute* "configure"
(("linux/btrfs\\.h")
"")))))
"0akg9gcc3c2p56xbhlvbybqavcprly5q0bvk655zwl6d62j8an7p"))
(patches (list (search-patch "eudev-rules-directory.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("gperf" ,gperf)
("glib" ,glib "bin") ; glib-genmarshal, etc.
("perl" ,perl) ; for the tests
("python" ,python-2))) ; ditto
("perl" ,perl)
("gperf" ,gperf)))
(inputs
`(("kmod" ,kmod)
("pciutils" ,pciutils)
("usbutils" ,usbutils)
("util-linux" ,util-linux)
("glib" ,glib)
("gobject-introspection" ,gobject-introspection)))
(arguments
`(#:configure-flags (list "--enable-libkmod"
(string-append
"--with-pci-ids-path="
(assoc-ref %build-inputs "pciutils")
"/share/pci.ids.gz")
"--with-firmware-path=/no/firmware"
;; Work around undefined reference to
;; 'mq_getattr' in sc-daemon.c.
"LDFLAGS=-lrt")
#:phases
(alist-cons-before
'build 'pre-build
;; The program 'g-ir-scanner' (part of the package
;; 'gobject-introspection'), to generate .gir files, makes some
;; library pre-processing. During that phase it looks for the C
;; compiler as either 'cc' or as defined by the environment variable
;; 'CC' (with code in 'giscanner/dumper.py').
(lambda* _
(setenv "CC" "gcc"))
%standard-phases)))
`(("kmod" ,kmod)))
(home-page "http://www.gentoo.org/proj/en/eudev/")
(synopsis "Userspace device management")
(description "Udev is a daemon which dynamically creates and removes
@ -2365,7 +2325,9 @@ applications.")
version ".tar.xz"))
(sha256
(base32
"1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs"))))
"1qphz25hganfnd5ipfscbj7s70anv5favmwqmi9ig2saciaf1zhs"))
(patches
(list (search-patch "bluez-tests.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags

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.")
(license gpl2+)))
(define %mu-gtester-patch
;; Ensure tests have unique names, to placate GLib 2.6's gtester.
(origin
(method url-fetch)
(uri "https://github.com/djcb/mu/commit/b44039ed.patch")
(sha256
(base32
"165hryqqhx3wah8a4f5jaq465azx1pm9r4jid7880pys9gd88qlv"))))
(define-public mu
(package
(name "mu")
@ -315,7 +324,8 @@ repository and Maildir/IMAP as LOCAL repository.")
(file-name (string-append "mu-" version ".tar.gz"))
(sha256
(base32
"0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))))
"0wj33pma8xgjvn2akk7khzbycwn4c9sshxvzdph9dnpy7gyqxj51"))
(patches (list %mu-gtester-patch))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -346,6 +346,14 @@ Guile.")
(%current-system))))
'("--disable-sse")
'()))
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-flags
(lambda _
;; Compile with C++11, required by libsigc++.
(setenv "CXXFLAGS" "-std=c++11")
#t)))
#:python ,python-2))
(inputs
`(("jack" ,jack-1)

View File

@ -460,6 +460,11 @@ provers.")
("librsvg" ,librsvg)))
(arguments
`(#:tests? #f ; no check target
;; Occasionally we would get "Error: Unbound module GtkThread" when
;; compiling 'gtkThInit.ml', with 'make -j'. So build sequentially.
#:parallel-build? #f
#:phases
(modify-phases %standard-phases
(replace 'install

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

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',
because that script depends on python-gobject.
because that script depends on python-gobject. The second hunk
disables a test that expects /etc/machine-id in the build environment.
--- glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:16.000000000 +0100
+++ glib-2.39.1/gio/tests/Makefile.in 2014-01-20 00:18:47.000000000 +0100
@@ -171,20 +171,13 @@ check_PROGRAMS = $(am__EXEEXT_14)
--- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200
+++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200
@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16)
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \
@ -79,7 +80,16 @@ because that script depends on python-gobject.
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old \
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL)
@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $
am__EXEEXT_1 =
@OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \
@OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \
-@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \
@OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \
@OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
@OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \
The test below depends on the availability /etc/passwd to dbus-daemon.

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

View File

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

View File

@ -4248,6 +4248,17 @@ features useful for text console applications.")
(sha256
(base32 "1py62qir966lvdkngg0v8k1khsqxwk5m4s8nflpk1agk5f5nqb71"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before
'check 'pre-check
(lambda _
;; XXX: For the missing '/etc/machine-id'.
(substitute* "test/run-test.sh"
(("DBUS_FATAL_WARNINGS=1")
"DBUS_FATAL_WARNINGS=0"))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs

View File

@ -40,6 +40,28 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages perl))
(define (qemu-patch commit file-name sha256)
"Return an origin for COMMIT."
(origin
(method url-fetch)
(uri (string-append
"http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h="
commit))
(sha256 sha256)
(file-name file-name)))
(define %glib-memory-vtable-patch
(qemu-patch "deb847bf"
"qemu-glib-memory-vtable.patch"
(base32
"0afb7rvxy14104jxmhr7m02w5baiz0c7vhq3h642h09jgxrcmzzi")))
(define %glib-duplicate-test-patch
(qemu-patch "98cf48f6"
"qemu-glib-duplicate-test.patch"
(base32
"1aicbplzdj5s5y13jmqyvfajay05x9dnkzd197waz8v6kha7d9d5")))
(define-public qemu-headless
;; This is QEMU without GUI support.
(package
@ -52,7 +74,12 @@
(sha256
(base32
"1nqv5p94zpnhcaqkifnn83ap7dd0qrb0qiicswbyhhby0f48pzpc"))
(patches (map search-patch '("qemu-CVE-2015-6855.patch")))))
(patches (list (search-patch "qemu-CVE-2015-6855.patch")
;; These two patches allow QEMU's tests to run
;; correctly with 'gtester' from the latest GLib.
%glib-memory-vtable-patch
%glib-duplicate-test-patch))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-replace

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

@ -247,17 +247,6 @@ levels, with the given configuration settings. It implements the
(home-directory "/var/empty")
(shell #~(string-append #$shadow "/sbin/nologin")))))
(define (colord-dmd-service colord)
"Return a dmd service for COLORD."
;; TODO: Remove when D-Bus activation works.
(list (dmd-service
(documentation "Run the colord color management service.")
(provision '(colord-daemon))
(requirement '(dbus-system udev))
(start #~(make-forkexec-constructor
(list (string-append #$colord "/libexec/colord"))))
(stop #~(make-kill-destructor)))))
(define colord-service-type
(service-type (name 'colord)
(extensions
@ -265,8 +254,6 @@ levels, with the given configuration settings. It implements the
(const %colord-accounts))
(service-extension activation-service-type
(const %colord-activation))
(service-extension dmd-root-service-type
colord-dmd-service)
;; Colord is a D-Bus service that dbus-daemon can
;; activate.
@ -345,23 +332,6 @@ users are allowed."
"GEOCLUE_CONFIG_FILE"
(geoclue-configuration-file config))))
(define (geoclue-dmd-service config)
"Return a GeoClue dmd service for CONFIG."
;; TODO: Remove when D-Bus activation works.
(let ((geoclue (geoclue-configuration-geoclue config))
(config (geoclue-configuration-file config)))
(list (dmd-service
(documentation "Run the GeoClue location service.")
(provision '(geoclue-daemon))
(requirement '(dbus-system))
(start #~(make-forkexec-constructor
(list (string-append #$geoclue "/libexec/geoclue"))
#:user "geoclue"
#:environment-variables
(list (string-append "GEOCLUE_CONFIG_FILE=" #$config))))
(stop #~(make-kill-destructor))))))
(define %geoclue-accounts
(list (user-group (name "geoclue") (system? #t))
(user-account
@ -377,8 +347,6 @@ users are allowed."
(extensions
(list (service-extension dbus-root-service-type
geoclue-dbus-service)
(service-extension dmd-root-service-type
geoclue-dmd-service)
(service-extension account-service-type
(const %geoclue-accounts))))))
@ -428,18 +396,6 @@ site} for more information."
(define %polkit-pam-services
(list (unix-pam-service "polkitd")))
(define (polkit-dmd-service polkit)
"Return the <dmd-service> for POLKIT."
;; TODO: Remove when D-Bus activation works.
(list (dmd-service
(documentation "Run the polkit privilege management service.")
(provision '(polkit-daemon))
(requirement '(dbus-system))
(start #~(make-forkexec-constructor
(list (string-append #$polkit "/lib/polkit-1/polkitd"))))
(stop #~(make-kill-destructor)))))
(define polkit-service-type
;; TODO: Make it extensible so it can collect policy files from other
;; services.
@ -450,9 +406,7 @@ site} for more information."
(service-extension pam-root-service-type
(const %polkit-pam-services))
(service-extension dbus-root-service-type
list)
(service-extension dmd-root-service-type
polkit-dmd-service)))))
list)))))
(define* (polkit-service #:key (polkit polkit))
"Return a service that runs the @command{polkit} privilege management
@ -603,6 +557,8 @@ the system if the user is logged in locally."
(define (elogind-dmd-service config)
"Return a dmd service for elogind, using @var{config}."
;; TODO: We could probably rely on service activation but the '.service'
;; file currently contains an erroneous 'Exec' line.
(let ((config-file (elogind-configuration-file config))
(elogind (elogind-package config)))
(list (dmd-service