From 9d9b5bcefaaf0a7858fc79f6ee7183d8b787700c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 6 Aug 2020 15:36:30 -0400 Subject: [PATCH 36/44] gnu: gnome-session: Update package definition. * gnu/packages/gnome.scm (gnome-session) [version]: Update to 3.36.0. [source][sha256]: Modify base32. [outputs]: New output "doc". [arguments]<#:configure-flags>[-Dsession_selector]: New flag. [-Dsystemd]: New flag. [-Dsystemd_session]: New flag. [-Ddocbook]: Remove flag. [-Dman]: Remove flag. <#:phases>['patch-docbook]: New phase. ['pre-configure]: Remove phase. ['move-doc]: New phase. ['wrap-gnome-session]: Modify phase. [inputs]: Add libepoxy, glib, libice and libx11. Remove elogind, gsettings-desktop-schemas, libxtst and upower. --- gnu/packages/gnome.scm | 104 ++++++++++++++++++++++------------------- 1 file changed, 57 insertions(+), 47 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 327afe2773..fa5229313c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8192,70 +8192,80 @@ the archive.") (define-public gnome-session (package (name "gnome-session") - (version "3.34.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1qgqp97f8k2zi2ydvhds14zsjzfj7cv521r6wx5sw0qacn0p7dwb")))) + (version "3.36.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "0ymvf1bap35348rpjqp63qwnwnnawdwi4snch95zc4n832w3hjym")))) + (build-system meson-build-system) + (outputs '("out" "doc")) (arguments - '(#:glib-or-gtk? #t + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Dsession_selector=true" + "-Dsystemd=false" + "-Dsystemd_session=disable" + "-Dsystemd_journal=false") #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda* (#:key outputs #:allow-other-keys) - ;; Use elogind instead of systemd. - (substitute* "meson.build" - (("libsystemd-login") "libelogind") - (("and libsystemd_daemon_dep.found.*") ",")) - (substitute* "gnome-session/gsm-systemd.c" - (("#include ") - "#include ")) - ;; Remove uses of the systemd daemon. - (substitute* "gnome-session/gsm-autostart-app.c" - (("#ifdef HAVE_SYSTEMD") "#if 0")) + (add-after 'unpack 'patch-docbook + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* '("dbus/gnome-session.xml.in" "man/meson.build") + (("http://docbook.sourceforge.net/release/xsl/current") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl))) + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) #t)) - (add-after 'install 'wrap-gnome-session + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t))) + (add-after 'move-doc 'wrap-gnome-session (lambda* (#:key inputs outputs #:allow-other-keys) ;; Make sure 'gnome-session' finds the 'gsettings' program. - (let ((glib (assoc-ref inputs "glib:bin")) - (out (assoc-ref outputs "out"))) + (let* ((glib (assoc-ref inputs "glib:bin")) + (out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/gnome-session") `("PATH" ":" prefix (,(string-append glib "/bin")))) - #t)))) - - #:configure-flags - '("-Ddocbook=false" ; FIXME: disabled because of docbook validation error - "-Dman=false" ; FIXME: disabled because of docbook validation error - "-Dsystemd_journal=false"))) - (build-system meson-build-system) + #t)))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. - ("pkg-config" ,pkg-config) - ("intltool" ,intltool) - ("xsltproc" ,libxslt) - ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES' + `(("docbook-xml" ,docbook-xml-4.1.2) ("docbook-xsl" ,docbook-xsl) - ("docbook-xml" ,docbook-xml) - ("xmlto" ,xmlto))) + ("glib:bin" ,glib "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2) + ("xmlto" ,xmlto) + ("xsltproc" ,libxslt))) (inputs - `(("elogind" ,elogind) + `(("epoxy" ,libepoxy) + ("glib" ,glib) ("gnome-desktop" ,gnome-desktop) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+) + ("ice" ,libice) ("json-glib" ,json-glib) - ("libsm" ,libsm) - ("libxcomposite" ,libxcomposite) - ("libxtst" ,libxtst) ("mesa" ,mesa) - ("upower" ,upower) + ("sm" ,libsm) + ("x11" ,libx11) + ("xcomposite" ,libxcomposite) ("xtrans" ,xtrans))) (synopsis "Session manager for GNOME") - (description - "This package contains the GNOME session manager, as well as a + (description "GNOME-Session contains the GNOME session manager, as well as a configuration program to choose applications starting on login.") (home-page "https://wiki.gnome.org/Projects/SessionManagement") (license license:gpl2+))) -- 2.28.0