;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2017 Andy Wingo <wingo@pobox.com>
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
- #:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
- #:use-module (gnu packages polkit)
#:use-module (gnu packages pkg-config)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages perl-check)
+ #:use-module (gnu packages polkit)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
- #:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public libinput
(package
(name "libinput")
- (version "1.11.1")
+ (version "1.12.3")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/libinput/"
- name "-" version ".tar.xz"))
+ "libinput-" version ".tar.xz"))
(sha256
(base32
- "1z7i8vk0i61npkdqwsk85wp9v4yjlvylqnyydikjqnbsrjp9abk4"))))
+ "0mg2zqbjcgj0aq7d9nwawvyhx43vakilahrc83hrfyif3a3gyrpj"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=false")))
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autogen
+ (add-after 'unpack 'patch-autogen
(lambda _
;; Run 'configure' in its own phase, not now.
(substitute* "autogen.sh"
(("^.*\\./configure.*") ""))
- (zero? (system* "sh" "autogen.sh")))))))
+ #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(define-public elogind
(package
(name "elogind")
- (version "232.4")
+ (version "239.4")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/elogind/elogind/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elogind/elogind")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
- (patches (search-patches "elogind-glibc-2.27.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (use-modules (guix build utils))
- (substitute* "Makefile.am"
- ;; Avoid validation against DTD because the DTDs for
- ;; both doctype 4.2 and 4.5 are needed.
- (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
- #t))))
- (build-system gnu-build-system)
+ "106hld2fa89iz0d17gkmwvbkxc2yspn1klq73nvkj4878wx3vcr9"))))
+ (build-system meson-build-system)
(arguments
- `(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
- #:configure-flags
- (list (string-append "--with-udevrulesdir="
- (assoc-ref %outputs "out")
- "/lib/udev/rules.d")
-
- ;; Let elogind be its own cgroup controller, rather than relying
- ;; on systemd or OpenRC. By default, 'configure' makes an
- ;; incorrect guess.
- "--with-cgroup-controller=elogind"
-
- (string-append "--with-rootprefix="
- (assoc-ref %outputs "out"))
- (string-append "--with-rootlibexecdir="
- (assoc-ref %outputs "out")
- "/libexec/elogind")
- ;; These are needed to ensure that lto linking works.
- "RANLIB=gcc-ranlib"
- "AR=gcc-ar"
- "NM=gcc-nm")
- #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
+ `(#:configure-flags
+ (let* ((out (assoc-ref %outputs "out"))
+ (sysconf (string-append out "/etc"))
+ (libexec (string-append out "/libexec/elogind"))
+ (dbuspolicy (string-append out "/etc/dbus-1/system.d"))
+ (shepherd (assoc-ref %build-inputs "shepherd"))
+ (halt-path (string-append shepherd "/sbin/halt"))
+ (kexec-path "") ;not available in Guix yet
+ (poweroff-path (string-append shepherd "/sbin/shutdown"))
+ (reboot-path (string-append shepherd "/sbin/reboot")))
+ (list
+ (string-append "-Drootprefix=" out)
+ (string-append "-Dsysconfdir=" sysconf)
+ (string-append "-Drootlibexecdir=" libexec)
+ (string-append "-Ddbuspolicydir=" dbuspolicy)
+ (string-append "-Dc_link_args=-Wl,-rpath=" libexec)
+ (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
+ (string-append "-Dhalt-path=" halt-path)
+ (string-append "-Dkexec-path=" kexec-path)
+ (string-append "-Dpoweroff-path=" poweroff-path)
+ (string-append "-Dreboot-path=" reboot-path)
+ "-Dcgroup-controller=elogind"
+ ;; Disable some tests.
+ "-Dtests=false"
+ "-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-locale-header
+ (add-after 'unpack 'fix-pkttyagent-path
(lambda _
- ;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
- ;; This can be removed for elogind 234.
- (substitute* "src/basic/parse-util.c"
- (("xlocale\\.h") "locale.h"))
+ (substitute* "meson.build"
+ (("join_paths\\(bindir, 'pkttyagent'\\)")
+ "'\"/run/current-system/profile/bin/pkttyagent\"'"))
#t))
- (replace 'bootstrap
+ (add-after 'unpack 'change-pid-file-path
(lambda _
- (invoke "intltoolize" "--force" "--automake")
- (invoke "autoreconf" "-vif")))
- (add-before 'build 'fix-service-file
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Fix the file name of the 'elogind' binary in the D-Bus
- ;; '.service' file.
- (substitute* "src/login/org.freedesktop.login1.service"
- (("^Exec=.*")
- (string-append "Exec=" (assoc-ref %outputs "out")
- "/libexec/elogind/elogind\n")))
- #t))
- (add-after 'install 'add-libcap-to-search-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- ;; Add a missing '-L' for libcap in libelogind.la. See
- ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>.
- (let ((libcap (assoc-ref inputs "libcap"))
- (out (assoc-ref outputs "out")))
- (substitute* (string-append out "/lib/libelogind.la")
- (("-lcap")
- (string-append "-L" libcap "/lib -lcap")))
- #t)))
- (add-after 'unpack 'remove-uaccess-tag
- (lambda _
- ;; systemd supports a "uaccess" built-in tag, but eudev currently
- ;; doesn't. This leads to eudev warnings that we'd rather not
- ;; see, so remove the reference to "uaccess."
- (substitute* "src/login/73-seat-late.rules.in"
- (("^TAG==\"uaccess\".*" line)
- (string-append "# " line "\n")))
+ (substitute* "src/login/elogind.c"
+ (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))
#t)))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("intltool" ,intltool)
- ("gettext" ,gettext-minimal)
- ("python" ,python)
+ `(("docbook-xml" ,docbook-xml)
+ ("docbook-xml-4.2" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
- ("docbook-xml" ,docbook-xml)
- ("xsltproc" ,libxslt)
- ("m4" ,m4)
+ ("gettext" ,gettext-minimal)
+ ("gperf" ,gperf)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
+ ("m4" ,m4)
("pkg-config" ,pkg-config)
-
- ;; Use gperf 3.0 to work around
- ;; <https://github.com/wingo/elogind/issues/8>.
- ("gperf" ,gperf-3.0)))
+ ("python" ,python)
+ ("xsltproc" ,libxslt)))
(inputs
`(("linux-pam" ,linux-pam)
- ("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap)
("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
;when pressing the power button
(define-public packagekit
(package
(name "packagekit")
- (version "1.1.10")
+ (version "1.1.11")
(source (origin
(method url-fetch)
(uri (string-append
"PackageKit-" version ".tar.xz"))
(sha256
(base32
- "1msfmb22cm4s3l6vsbr86b8s0v897sy6gcga3qg87z7640a0di2b"))))
+ "0fi6wn54y03zh5sn92nmmxkh4cd8yn44cyk0l8phw60ivfwmkh1q"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/p/pyxdg/pyxdg-"
- version ".tar.gz"))
+ (uri (pypi-uri "pyxdg" version))
(sha256
(base32
"179767h8m634ydlm4v8lnz01ba42gckfp684id764zaip7h87s41"))))
(define-public wayland
(package
(name "wayland")
- (version "1.15.0")
+ (version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "https://wayland.freedesktop.org/releases/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1c5fnys8hi71cnzjv5k7j0r8gx80p0yyqlrpmn06mmarhnxvwgzb"))))
+ "1xajhxad43izq9f7sbww1hlg42nayijy8xnp21kgpk09c6sw4wjf"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f))
(define-public wayland-protocols
(package
(name "wayland-protocols")
- (version "1.14")
+ (version "1.17")
(source (origin
(method url-fetch)
(uri (string-append
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
- "1xknjcfhqvdi1s4iq4kk1q61fg2rar3g8q4vlqarpd324imqjj4n"))))
+ "0bw1sqixqk2a7mqw630cs4dlgcp5yib90vyikzm3lr05jz7ij4yz"))))
(build-system gnu-build-system)
(inputs
`(("wayland" ,wayland)))
(home-page "https://wayland.freedesktop.org")
(license license:expat)))
+(define-public waylandpp
+ (package
+ (name "waylandpp")
+ (version "0.2.5")
+ (home-page "https://github.com/NilsBrause/waylandpp")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (sha256
+ (base32
+ "16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ;no tests
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("mesa" ,mesa)
+ ("pugixml" ,pugixml)))
+ (propagated-inputs
+ `(;; In Requires of the .pc files.
+ ("wayland" ,wayland)))
+ (synopsis "Wayland C++ bindings")
+ (description
+ "This package provides C++ bindings for the Wayland display protocol.")
+ (license license:bsd-2)))
+
(define-public weston
(package
(name "weston")
- (version "4.0.0")
+ (version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"weston-" version ".tar.xz"))
(sha256
(base32
- "0n2big8xw6g6n46zm1jyf00dv9r4d84visdz5b8vxpw3xzkhmz50"))))
+ "1bsc9ry566mpk6fdwkqpvwq2j7m79d9cvh7d3lgf6igsphik98hm"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
(define-public exempi
(package
(name "exempi")
- (version "2.4.5")
+ (version "2.5.0")
(source (origin
(method url-fetch)
(uri (string-append
name "-" version ".tar.bz2"))
(sha256
(base32
- "07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0"))))
+ "06vi7dc2gappwqm3xpfyy5ihxq14bmvj3bd47yk482jlq0jgr0nw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--with-boost="
(define-public udisks
(package
(name "udisks")
- (version "2.1.8")
+ (version "2.7.7")
(source (origin
(method url-fetch)
- (uri (string-append "https://udisks.freedesktop.org/releases/"
- name "-" version ".tar.bz2"))
+ (uri (string-append
+ "https://github.com/storaged-project/udisks/releases/download/udisks-"
+ version "/udisks-" version ".tar.bz2"))
(sha256
(base32
- "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+ "1dnlxqgy9v0mjdknv3b1s64szdykyk3hk0rxj3chwhpd415lrwgs"))))
(build-system gnu-build-system)
(native-inputs
`(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("gnome-common" ,gnome-common) ; TODO: Why is this needed?
("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xsltproc" ,libxslt)))
`(("glib" ,glib))) ; required by udisks2.pc
(inputs
`(("acl" ,acl)
+ ("cryptsetup" ,cryptsetup)
("libatasmart" ,libatasmart)
+ ("libblockdev" ,libblockdev)
("libgudev" ,libgudev)
("polkit" ,polkit)
- ("util-linux" ,util-linux)
- ("cryptsetup" ,cryptsetup)
- ("parted" ,parted)))
+ ("util-linux" ,util-linux)))
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
(arguments
#:disallowed-references ("doc") ;enforce separation of "doc"
#:configure-flags
(list "--enable-man"
+ "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
+ "--enable-available-modules" ; Such as lvm2, btrfs, etc.
"--localstatedir=/var"
"--enable-fhs-media" ;mount devices in /media, not /run/media
(string-append "--with-html-dir="
;; cryptsetup is required for setting encrypted
;; partitions, e.g. in gnome-disks
,(string-append cryptsetup "/sbin")
- ;; parted is required for managing partitions, e.g. in
- ;; gnome-disks
- ,(string-append parted "/sbin")
"/run/current-system/profile/bin"
"/run/current-system/profile/sbin")))
#t))))))
(define-public accountsservice
(package
(name "accountsservice")
- (version "0.6.43")
+ (version "0.6.50")
(source (origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
- "1k6n9079001sgcwlkq0bz6mkn4m8y4dwf6hs1qm85swcld5ajfzd"))))
+ "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; XXX: tests require DocBook 4.1.2
#:configure-flags
- '("--localstatedir=/var")
+ '("--localstatedir=/var"
+ "--disable-systemd"
+ "--enable-elogind")
#:phases
(modify-phases %standard-phases
(add-before
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
- `(("shadow" ,shadow)
- ("polkit" ,polkit)))
+ `(("elogind" ,elogind)
+ ("polkit" ,polkit)
+ ("shadow" ,shadow)))
(home-page "https://www.freedesktop.org/wiki/Software/AccountsService/")
(synopsis "D-Bus interface for user account query and manipulation")
(description
(define-public libmbim
(package
(name "libmbim")
- (version "1.16.0")
+ (version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append
name "-" version ".tar.xz"))
(sha256
(base32
- "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8"))))
+ "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c"))))
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
(define-public libqmi
(package
(name "libqmi")
- (version "1.20.0")
+ (version "1.22.2")
(source (origin
(method url-fetch)
(uri (string-append
- "https://www.freedesktop.org/software/" name "/"
- name "-" version ".tar.xz"))
+ "https://www.freedesktop.org/software/libqmi/"
+ "libqmi-" version ".tar.xz"))
(sha256
(base32
- "1d3fca477sdwbv4bsq1cl98qc8sixrzp0gqjcmjj8mlwfk9qqhi1"))))
+ "09w20dsgr16bgbqw5ds7r6j2s6ihwyalh9zpbjhcn7cvm0afbwgi"))))
(build-system gnu-build-system)
(inputs
`(("libgudev" ,libgudev)))
("xdg-user-dirs" ,xdg-user-dirs)))
(propagated-inputs
`(("perl-ipc-system-simple" ,perl-ipc-system-simple)))
- (home-page "http://search.cpan.org/dist/File-BaseDir/")
+ (home-page "https://metacpan.org/release/File-BaseDir")
(synopsis "Use the Freedesktop.org base directory specification")
(description
"@code{File::Basedir} can be used to find directories and files as
(propagated-inputs
`(("perl-file-basedir" ,perl-file-basedir)
("perl-uri" ,perl-uri)))
- (home-page "http://search.cpan.org/~michielb/File-DesktopEntry/")
+ (home-page "https://metacpan.org/release/File-DesktopEntry")
(synopsis "Handle @file{.desktop} files")
(description
"@code{File::DesktopEntry} parses @file{.desktop} files defined by the
(define-public perl-file-mimeinfo
(package
(name "perl-file-mimeinfo")
- (version "0.28")
+ (version "0.29")
(source
(origin
(method url-fetch)
"File-MimeInfo-" version ".tar.gz"))
(sha256
(base32
- "1ipbh63bkh1r2gy5g7q4bzhki8j29mm1jkhbv60p9vwsdys5s91a"))))
+ "1sh8r6vczyz08zm8vfsjmkg6a165wch54akjdrd1vbifcmwjg5pi"))))
(build-system perl-build-system)
;; If the tests are fixed, add perl-test-pod, perl-test-pod-coverage, and
;; perl-test-tiny as native-inputs.
"/lib/perl5/site_perl")))))
'("mimeopen" "mimetype")))
#t)))))
- (home-page "http://search.cpan.org/dist/File-MimeInfo/")
+ (home-page "https://metacpan.org/release/File-MimeInfo")
(synopsis "Determine file type from the file name")
(description
"@code{File::Mimeinfo} can be used to determine the MIME type of a file.