guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add GCR, gnome-keyring, seahorse


From: 宋文武
Subject: Re: [PATCH] Add GCR, gnome-keyring, seahorse
Date: Sat, 23 May 2015 22:45:57 +0800
User-agent: Notmuch/0.18.1 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-unknown-linux-gnu)

Ricardo Wurmus <address@hidden> writes:

> 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)’.
This is for the system dbus daemon, run under the user 'messagebus'.
>
> 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?
The user dbus services should just work when the package are
installed into profile.  The user (session) dbus-daemon aware services
from XDG_DATA_DIRS, which are set by /etc/profile on GuixSD currently.
When use Xfce, it will spawn a 'dbus-daemon --session' with xfce4-session.
>
> 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
Look good to me.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]