;;; 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.12.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
- "14l6bvgq76ls63qc9c448r435q9xiig0rv8ilx6rnjvlgg64h32p"))))
+ "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 wayland-protocols
(package
(name "wayland-protocols")
- (version "1.15")
+ (version "1.17")
(source (origin
(method url-fetch)
(uri (string-append
"wayland-protocols-" version ".tar.xz"))
(sha256
(base32
- "1qlyf9cllr2p339xxplznh023qcwj5iisp02ikx7ps349dx75fys"))))
+ "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")
(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 libmbim
(package
(name "libmbim")
- (version "1.16.2")
+ (version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append
name "-" version ".tar.xz"))
(sha256
(base32
- "0qmjvjbgs9m8qsaiq5arikzglgaas9hh1968bi7sy3905kp4yjgb"))))
+ "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)))