[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Add GCR, gnome-keyring, seahorse
From: |
Ricardo Wurmus |
Subject: |
[PATCH] Add GCR, gnome-keyring, seahorse |
Date: |
Sat, 23 May 2015 14:23:45 +0200 |
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?
>From 77144db6d9e095412807a9ac0d47bc4454a90d2c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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 <address@hidden>
;;; Copyright © 2015 Andy Wingo <address@hidden>
;;; Copyright © 2015 David Hashe <address@hidden>
+;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
;;;
;;; 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
>From 081f7dbcf46e246026eefd64a645f780c4cd1192 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
>From f6cf97c39b9d730ff70511d535b554994ba9d0dd Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
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
- [PATCH] Add GCR, gnome-keyring, seahorse,
Ricardo Wurmus <=