From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH] Add GCR, gnome-keyring, seahorse Date: Sat, 23 May 2015 14:23:45 +0200 Message-ID: <87k2vztrpr.fsf@elephly.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59447) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yw8TB-00079m-Nj for guix-devel@gnu.org; Sat, 23 May 2015 08:24:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yw8T7-00043e-Jg for guix-devel@gnu.org; Sat, 23 May 2015 08:24:01 -0400 Received: from sender1.zohomail.com ([74.201.84.157]:24153) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yw8T7-000421-A5 for guix-devel@gnu.org; Sat, 23 May 2015 08:23:57 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix-devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Attached are patches for GCR, gnome-keyring, and seahorse to manage the GNOME keyring. I haven't been able to get the tests to pass, because we don't have a running D-Bus at test time. I also haven't been able to actually use the gnome-keyring-daemon yet, because I don't know how to start the D-Bus service. The Guix manual says that SERVICES must be a list of packages that provide an ‘etc/dbus-1/system.d’ directory containing additional D-Bus configuration and policy files. For example, to allow avahi-daemon to use the system bus, SERVICES must be equal to ‘(list avahi)’. gnome-keyring does not come with an "etc/dbus-1/system.d" directory, but it has D-Bus service files in "share/dbus-1/services". Should it just work when added to the list of services or is more work needed here? --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-GCR.patch Content-Transfer-Encoding: 8bit >From 77144db6d9e095412807a9ac0d47bc4454a90d2c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 23 May 2015 14:06:17 +0200 Subject: [PATCH 1/3] gnu: Add GCR. * gnu/packages/gnome.scm (gcr): New variable. --- gnu/packages/gnome.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 8adcbdd..f1e8b4b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 David Hashe +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -181,6 +182,50 @@ Gnome project. It includes xml2po tool which makes it easier to translate and keep up to date translations of documentation.") (license license:gpl2+))) ; xslt under lgpl +(define-public gcr + (package + (name "gcr") + (version "3.16.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0xfhi0w358lvca1jjx24x2gm67mif33dsnmi9cv5i0f83ks8vzpc")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does + ;not exist + #:phases (modify-phases %standard-phases + (add-before + 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build/tap-driver" + (("/usr/bin/env python") (which "python")))))))) + (inputs + `(("dbus" ,dbus) + ("gnupg" ,gnupg) ;called as a child process during tests + ("libgcrypt" ,libgcrypt))) + (native-inputs + `(("python" ,python-2) ;for tests + ("pkg-config" ,pkg-config) + ("glib" ,glib "bin") + ("intltool" ,intltool))) + ;; mentioned in gck.pc, gcr.pc and gcr-ui.pc + (propagated-inputs + `(("p11-kit" ,p11-kit) + ("glib" ,glib) + ("gtk+" ,gtk+))) + (home-page "http://www.gnome.org") + (synopsis "Libraries for displaying certificates and accessing key stores") + (description + "The GCR package contains libraries used for displaying certificates and +accessing key stores. It also provides the viewer for crypto files on the +GNOME Desktop.") + (license license:lgpl2.1+))) + (define-public libgnome-keyring (package (name "libgnome-keyring") -- 2.2.1 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-Add-gnome-keyring.patch >From 081f7dbcf46e246026eefd64a645f780c4cd1192 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 23 May 2015 14:07:54 +0200 Subject: [PATCH 2/3] gnu: Add gnome-keyring. * gnu/packages/gnome.scm (gnome-keyring): New variable. --- gnu/packages/gnome.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f1e8b4b..2c53444 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -257,6 +257,73 @@ GNOME Desktop.") ;; Though a couple of files are LGPLv2.1+. (license license:lgpl2.0+))) +(define-public gnome-keyring + (package + (name "gnome-keyring") + (version "3.16.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1xg1xha3x3hzlmvdq2zm90hc61pj7pnf9yxxvgq4ynl5af6bp8qm")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does + ;not exist + #:configure-flags + (list + (string-append "--with-pkcs11-config=" + (assoc-ref %outputs "out") "/share/p11-kit/modules/") + (string-append "--with-pkcs11-modules=" + (assoc-ref %outputs "out") "/share/p11-kit/modules/")) + #:phases + (modify-phases %standard-phases + (add-before + 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "build/tap-driver" + (("/usr/bin/env python") (which "python"))))) + (add-before + 'configure 'fix-docbook + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "docs/Makefile.am" + (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") + (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl) + "/manpages/docbook.xsl"))) + (setenv "XML_CATALOG_FILES" + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml"))))))) + (inputs + `(("libgcrypt" ,libgcrypt) + ("dbus" ,dbus) + ("gcr" ,gcr))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin") + ("python" ,python-2) ;for tests + ("intltool" ,intltool) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libxslt" ,libxslt) ;for documentation + ("docbook-xml" ,docbook-xml-4.2) + ("docbook-xsl" ,docbook-xsl))) + (home-page "http://www.gnome.org") + (synopsis "Daemon to store passwords and encryption keys") + (description + "gnome-keyring is a program that keeps passwords and other secrets for +users. It is run as a daemon in the session, similar to ssh-agent, and other +applications locate it via an environment variable or D-Bus. + +The program can manage several keyrings, each with its own master password, +and there is also a session keyring which is never stored to disk, but +forgotten when the session ends.") + (license license:lgpl2.1+))) + (define-public evince (package (name "evince") -- 2.2.1 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0003-gnu-Add-seahorse.patch >From f6cf97c39b9d730ff70511d535b554994ba9d0dd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 23 May 2015 14:08:14 +0200 Subject: [PATCH 3/3] gnu: Add seahorse. * gnu/packages/gnome.scm (seahorse): New variable. --- gnu/packages/gnome.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 2c53444..fda7bee 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1514,6 +1514,38 @@ engineering.") "The default GNOME 3 themes (Adwaita and some accessibility themes).") (license license:lgpl2.1+))) +(define-public seahorse + (package + (name "seahorse") + (version "3.16.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" name "-" + version ".tar.xz")) + (sha256 + (base32 + "0cg1grgpwbfkiny5148n17rzpc8kswyr5yff0kpm8l3lp01my2kp")))) + (build-system glib-or-gtk-build-system) + (inputs + `(("gtk+" ,gtk+) + ("gcr" ,gcr) + ("gnupg" ,gnupg-1) + ("gpgme" ,gpgme) + ("libsecret" ,libsecret))) + (native-inputs + `(("intltool" ,intltool) + ("glib:bin" ,glib "bin") + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (home-page "https://launchpad.net/gnome-themes-standard") + (synopsis "Manage encryption keys and passwords in the GNOME keyring") + (description + "Seahorse is a GNOME application for managing encryption keys and +passwords in the GNOME keyring.") + (license license:gpl2+))) + (define-public vala (package (name "vala") -- 2.2.1 --=-=-=--