On Thu, Jul 19, 2018 at 04:54:39PM +0200, Ludovic Courtès wrote:
> Hello,
> 
> Mark H Weaver <m...@netris.org> skribis:
> 
> > Efraim Flashner <efr...@flashner.co.il> writes:
> >> It sounds like adding Qt to hplip adds plenty of GUI goodies. Could we
> >> leave hplip as-is and have sane-backends depend on a Qt-less
> >> hplip-minimal or hplip-nogui, since it shouldn't need any GUI from hplip?
> >
> > I haven't looked closely, but that sounds like a good approach.
> 
> +1 for not having Qt in %desktop-services.
> 

I feel like I got volunteered to make the patch ;p.

I also changed the documentation to suggest using 'hplip-minimal' in the
cups service, since that's another place where it could be brought in
easily.

-- 
Efraim Flashner   <efr...@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
From b8c78ac0b6904c92cb4253c0eec72818469d90cf Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efr...@flashner.co.il>
Date: Thu, 19 Jul 2018 21:16:43 +0300
Subject: [PATCH] gnu: Add hplip-minimal.

* gnu/packages/cups.scm (hplip-minimal): New variable.
* gnu/packages/scanner.scm (sane-backends)[inputs]: Replace hplip with
hplip-minimal.
* doc/guix.texi (Printing Services): Change example code to use
hplip-minimal in place of hplip. Add note explaining when use hplip.
---
 doc/guix.texi            |  8 ++++++--
 gnu/packages/cups.scm    | 19 +++++++++++++++++--
 gnu/packages/scanner.scm |  3 ++-
 3 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 84347d156..541119d1e 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -12141,7 +12141,7 @@ secure connections to the print server.
 
 Suppose you want to enable the Web interface of CUPS and also add
 support for Epson printers @i{via} the @code{escpr} package and for HP
-printers @i{via} the @code{hplip} package.  You can do that directly,
+printers @i{via} the @code{hplip-minimal} package.  You can do that directly,
 like this (you need to use the @code{(gnu packages cups)} module):
 
 @example
@@ -12149,9 +12149,13 @@ like this (you need to use the @code{(gnu packages 
cups)} module):
          (cups-configuration
            (web-interface? #t)
            (extensions
-             (list cups-filters escpr hplip))))
+             (list cups-filters escpr hplip-minimal))))
 @end example
 
+Note: If you wish to use the Qt5 based GUI which comes with the hplip
+package then it is suggested that you install the @code{hplip} package,
+either in your OS configuration file or as your user.
+
 The available configuration parameters follow.  Each parameter
 definition is preceded by its type; for example, @samp{string-list foo}
 indicates that the @code{foo} parameter should be specified as a list of
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index bfc587a6f..04d4e3fad 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Ricardo Wurmus <rek...@elephly.net>
 ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <l...@gnu.org>
-;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efr...@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efr...@flashner.co.il>
 ;;; Copyright © 2016 Danny Milosavljevic <dan...@scratchpost.org>
 ;;; Copyright © 2017 Leo Famulari <l...@famulari.name>
 ;;; Copyright © 2017 Mark H Weaver <m...@netris.org>
@@ -46,7 +46,9 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module (srfi srfi-1))
 
 (define-public cups-filters
   (package
@@ -520,6 +522,19 @@ device-specific programs to convert and print many types 
of files.")
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)))))
 
+(define-public hplip-minimal
+  (package
+    (inherit hplip)
+    (name "hplip-minimal")
+    (arguments
+      (substitute-keyword-arguments (package-arguments hplip)
+        ((#:configure-flags cf)
+         ``(,@(delete "--enable-qt5" ,cf)))))
+    (inputs
+     `(,@(fold alist-delete (package-inputs hplip)
+               '("python-pygobject" "python-pyqt"))))
+    (synopsis "GUI-less version of hplip")))
+
 (define-public foomatic-filters
   (package
     (name "foomatic-filters")
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index 33a573d53..d030d8ade 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Andy Wingo <wi...@igalia.com>
 ;;; Copyright © 2016 Andy Patterson <ajpat...@uwaterloo.ca>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <m...@tobias.gr>
+;;; Copyright © 2018 Efraim Flashner <efr...@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -102,7 +103,7 @@ package contains the library, but no drivers.")
     (inherit sane-backends-minimal)
     (name "sane-backends")
     (inputs
-     `(("hplip" ,(@ (gnu packages cups) hplip))
+     `(("hplip" ,(@ (gnu packages cups) hplip-minimal))
        ,@(package-inputs sane-backends-minimal)))
     (arguments
      (substitute-keyword-arguments (package-arguments sane-backends-minimal)
-- 
2.18.0

Attachment: signature.asc
Description: PGP signature

Reply via email to