From: ludo@gnu.org (Ludovic Courtès)
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH v7] Add hplip
Date: Mon, 04 Apr 2016 23:45:07 +0200 [thread overview]
Message-ID: <8737r1aw0s.fsf@gnu.org> (raw)
In-Reply-To: <20160324005612.48be4e81@scratchpost.org> (Danny Milosavljevic's message of "Thu, 24 Mar 2016 00:56:12 +0100")
[-- Attachment #1: Type: text/plain, Size: 1284 bytes --]
Hi,
Here’s an improved version of the patch you posted, which removes the
dependency on Autoconf/Automake and keeps using /var as the
localstatedir.
However, programs now need help to find their Python modules:
--8<---------------cut here---------------start------------->8---
$ /gnu/store/4s58vq7zn5l10143736imvq4nzjzyc7m-hplip-3.16.2/bin/hp-scan --version
Traceback (most recent call last):
File "/gnu/store/4s58vq7zn5l10143736imvq4nzjzyc7m-hplip-3.16.2/bin/hp-scan", line 40, in <module>
import scanext
ImportError: No module named 'scanext'
$ /gnu/store/4s58vq7zn5l10143736imvq4nzjzyc7m-hplip-3.16.2/bin/hp-probe
Traceback (most recent call last):
File "/gnu/store/4s58vq7zn5l10143736imvq4nzjzyc7m-hplip-3.16.2/bin/hp-probe", line 38, in <module>
from base import device, utils, tui, module
File "/gnu/store/4s58vq7zn5l10143736imvq4nzjzyc7m-hplip-3.16.2/share/hplip/base/device.py", line 42, in <module>
from . import status
File "/gnu/store/4s58vq7zn5l10143736imvq4nzjzyc7m-hplip-3.16.2/share/hplip/base/status.py", line 33, in <module>
import cupsext
ImportError: No module named 'cupsext'
--8<---------------cut here---------------end--------------->8---
Could someone add a phase to do this?
TIA. :-)
Ludo’.
[-- Attachment #2: Type: text/x-patch, Size: 6602 bytes --]
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index ff3d152..82541ad 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -1,7 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,6 +27,10 @@
#:use-module (gnu packages)
#:use-module (gnu packages avahi)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages libusb)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages scanner)
#:use-module (gnu packages image)
#:use-module (gnu packages fonts) ;font-dejavu
#:use-module (gnu packages fontutils)
@@ -297,3 +302,105 @@ device-specific programs to convert and print many types of files.")
("gnutls" ,gnutls)
("cups-filters" ,cups-filters)
("zlib" ,zlib)))))
+
+(define-public hplip
+ (package
+ (name "hplip")
+ (version "3.16.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/hplip/"
+ "/hplip-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nflgrbyl0fz35djnkn7qsfr5g4sh8lixqna9jvs52wasjllbj7j"))))
+ (build-system gnu-build-system)
+ (home-page "http://hplipopensource.com/")
+ (synopsis "HP Printer Drivers")
+ (description "Hewlett-Packard Printer Drivers and PPDs.")
+ ;; Note: X11 license is only used in install-sh.
+ (license (list license:gpl2 license:bsd-3 license:expat license:x11))
+ ;; TODO install apparmor profile files eventually.
+ (arguments
+ `(#:configure-flags
+ `("--disable-network-build"
+ ,(string-append "--prefix=" (assoc-ref %outputs "out"))
+ ,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
+ ;; Disable until mime.types merging works (FIXME).
+ "--disable-fax-build"
+ "--enable-hpcups-install"
+ "--enable-new-hpcups"
+ "--enable-cups_ppd_install"
+ "--enable-cups_drv_install"
+ ;; TODO add foomatic drv install eventually.
+ ;; TODO --enable-policykit eventually.
+ ,(string-append "--with-cupsfilterdir="
+ (assoc-ref %outputs "out")
+ "/lib/cups/filter")
+ ,(string-append "--with-cupsbackenddir="
+ (assoc-ref %outputs "out")
+ "/lib/cups/backend")
+ ,(string-append "--with-icondir="
+ (assoc-ref %outputs "out")
+ "/share/applications")
+ ,(string-append "--with-systraydir="
+ (assoc-ref %outputs "out")
+ "/etc/xdg"))
+ #:phases (modify-phases %standard-phases
+ ;; FIXME: Add phase to wrap bin/* so that the Python libs
+ ;; are found.
+ (add-after 'unpack 'fix-hard-coded-file-names
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ ;; FIXME: use merged ppds (I think actually only
+ ;; drvs need to be merged).
+ (cupsdir (assoc-ref inputs "cups-minimal")))
+ (substitute* "base/g.py"
+ (("'/usr/share;[^']*'")
+ (string-append "'" cupsdir "/share'"))
+ (("'/etc/hp/hplip.conf'")
+ (string-append "'" out
+ "/etc/hp/hplip.conf" "'")))
+
+ (substitute* "Makefile.in"
+ (("[[:blank:]]check-plugin\\.py[[:blank:]]") " ")
+ ;; FIXME Use beginning-of-word in regexp.
+ (("[[:blank:]]plugin\\.py[[:blank:]]") " ")
+ (("/usr/include/libusb-1.0")
+ (string-append (assoc-ref inputs "libusb")
+ "/include/libusb-1.0"))
+ (("^\tinstall-dist_hplip_stateDATA")
+ ;; Remove dependencies on
+ ;; 'install-dist_hplip_stateDATA' so we don't bail
+ ;; out while trying to create /var/lib/hplip.
+ "\t")
+ (("hplip_confdir = /etc/hp")
+ ;; This is only used for installing the default config.
+ (string-append "hplip_confdir = " out
+ "/etc/hp"))
+ (("halpredir = /usr/share/hal/fdi/preprobe/10osvendor")
+ ;; Note: We don't use hal.
+ (string-append "halpredir = " out
+ "/share/hal/fdi/preprobe/10osvendor"))
+ (("rulesdir = /etc/udev/rules.d")
+ ;; udev rules will be merged by base service.
+ (string-append "rulesdir = " out
+ "/lib/udev/rules.d"))
+ (("rulessystemdir = /usr/lib/systemd/system")
+ ;; We don't use systemd.
+ (string-append "rulessystemdir = " out
+ "/lib/systemd/system"))
+ (("/etc/sane.d")
+ (string-append out
+ "/etc/sane.d")))))))))
+ ;; Python3 support is available starting from HPLIP-3.15.2 .
+ (inputs `(("libjpeg" ,libjpeg)
+ ("cups-minimal" ,cups-minimal)
+ ("libusb" ,libusb)
+ ("sane-backends" ,sane-backends)
+ ("dbus" ,dbus)
+ ("python-wrapper" ,python-wrapper)
+ ("python" ,python)
+ ;; TODO: Make hp-setup find python-dbus.
+ ("python-dbus" ,python-dbus)))
+ (native-inputs `(("pkg-config" ,pkg-config)))))
next prev parent reply other threads:[~2016-04-04 21:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-12 18:12 Using cups Danny Milosavljevic
2016-03-13 22:10 ` Ludovic Courtès
2016-03-15 20:05 ` Danny Milosavljevic
2016-03-15 21:19 ` hplip package (work in progress) Danny Milosavljevic
2016-03-16 8:19 ` Andy Wingo
2016-03-16 8:45 ` Andy Wingo
2016-03-20 0:19 ` Danny Milosavljevic
2016-03-21 22:07 ` [PATCH v2] Add hplip Danny Milosavljevic
2016-03-22 8:28 ` Andy Wingo
2016-03-22 10:30 ` [PATCH v3] " Danny Milosavljevic
2016-03-22 10:56 ` Andy Wingo
2016-03-22 19:12 ` [PATCH v4] " Danny Milosavljevic
2016-03-22 23:51 ` cups-service Danny Milosavljevic
2016-03-23 0:40 ` cups-service Danny Milosavljevic
2016-03-23 9:07 ` cups-service v2 Danny Milosavljevic
2016-04-29 15:09 ` Ludovic Courtès
2016-03-23 8:45 ` [PATCH v4] Add hplip Andy Wingo
2016-03-23 9:39 ` [PATCH v5] " Danny Milosavljevic
2016-03-23 11:36 ` [PATCH v6] " Danny Milosavljevic
2016-03-23 20:46 ` Efraim Flashner
2016-03-23 23:56 ` [PATCH v7] " Danny Milosavljevic
2016-04-04 21:45 ` Ludovic Courtès [this message]
2016-04-10 20:57 ` Danny Milosavljevic
2016-04-29 15:07 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8737r1aw0s.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=dannym@scratchpost.org \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.