[bug#34240,1/5] gnu: Add cups-pk-helper.

Message ID 20190129114242.32481-1-mail@cbaines.net
State Accepted
Headers show
Series Gnome printing improvements | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied

Commit Message

Christopher Baines Jan. 29, 2019, 11:42 a.m. UTC
* gnu/packages/cups.scm (cups-pk-helper): New variable.
---
 gnu/packages/cups.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

Comments

Ricardo Wurmus Jan. 29, 2019, 4:42 p.m. UTC | #1
Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/cups.scm (cups-pk-helper): New variable.
[…]
> +    (synopsis "PolicyKit helper to configure cups with fine-grained
> privileges")

Should be “CUPS” instead of “cups”.

> +    (description
> +     "This package provides the org.opensuse.CupsPkHelper.Mechanism DBus
> +system service which uses @file{cups-pk-helper-mechanism}.  This package
> +should only be used as part of the Guix cups-pk-helper service.")

I’d wrap the service names in @code{…}.

Why can it not be used without the cups-pk-helper service?  Is it not
enough to install the package in a location that gets searched by DBus?

--
Ricardo
Christopher Baines Jan. 29, 2019, 5:03 p.m. UTC | #2
Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/cups.scm (cups-pk-helper): New variable.
> […]
>> +    (synopsis "PolicyKit helper to configure cups with fine-grained
>> privileges")
>
> Should be “CUPS” instead of “cups”.

Sure, I'll update.

>> +    (description
>> +     "This package provides the org.opensuse.CupsPkHelper.Mechanism DBus
>> +system service which uses @file{cups-pk-helper-mechanism}.  This package
>> +should only be used as part of the Guix cups-pk-helper service.")
>
> I’d wrap the service names in @code{…}.
>
> Why can it not be used without the cups-pk-helper service?  Is it not
> enough to install the package in a location that gets searched by DBus?

I'm not sure if I'm correct here, but it looks like this might be the
case from looking at the DBus stuff in the package.

The DBus service contains "system-services" in the name, which is
different from some other packages DBus configuration.

/gnu/store/...-cups-pk-helper-0.2.6/share/dbus-1/system-services/org.opensuse.CupsPkHelper.Mechanism.service

Also, in that file, it says "User=root".

[D-BUS Service]
Name=org.opensuse.CupsPkHelper.Mechanism
Exec=/gnu/store/...-cups-pk-helper-0.2.6/libexec/cups-pk-helper-mechanism
User=root

Patch

diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 40ffc0df80..138a1fc3ed 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -38,6 +38,7 @@ 
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages polkit)
   #:use-module (gnu packages pretty-print)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
@@ -380,6 +381,32 @@  device-specific programs to convert and print many types of files.")
        ("cups-filters" ,cups-filters)
        ("zlib"  ,zlib)))))
 
+(define-public cups-pk-helper
+  (package
+    (name "cups-pk-helper")
+    (version "0.2.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://freedesktop.org/software/"
+                                  name "/releases/" name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0a52jw6rm7lr5nbyksiia0rn7sasyb5cjqcb95z1wxm2yprgi6lm"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("glib" ,glib)
+       ("polkit" ,polkit)
+       ("cups" ,cups)))
+    (home-page "https://www.freedesktop.org/wiki/Software/cups-pk-helper/")
+    (synopsis "PolicyKit helper to configure cups with fine-grained privileges")
+    (description
+     "This package provides the org.opensuse.CupsPkHelper.Mechanism DBus
+system service which uses @file{cups-pk-helper-mechanism}.  This package
+should only be used as part of the Guix cups-pk-helper service.")
+    (license license:gpl2+)))
+
 (define-public hplip
   (package
     (name "hplip")