From: Danny Milosavljevic <dannym@scratchpost.org>
To: guix-devel@gnu.org
Subject: [PATCH v2] Add hplip
Date: Mon, 21 Mar 2016 23:07:00 +0100 [thread overview]
Message-ID: <20160321230700.452ca6c1@scratchpost.org> (raw)
In-Reply-To: <20160320011904.50131806@scratchpost.org>
This is a patch that adds hplip. Note that hplip builds and installs but we don't do any of the merging of different packages' ppds etc yet [the majority of the merging will be in "services" and not in "packages", though].
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index ff3d152..ca637c1 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -26,6 +26,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 +301,59 @@ 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 "HP Printer Drivers and PPDs. You can use the PPDs with CUPS as well.")
+ (license (list license:gpl2 license:bsd-3)) ; FIXME and which MIT
+ ; FIXME remove Binary plugin-ins, hp-plugin
+ ; FIXME PPDs use "hpcups" in cupsFilter. In which directory?
+ ; TODO install apparmor profile files
+ (arguments `(#:configure-flags `("--disable-network-build"
+ ,(string-append "--prefix=" (assoc-ref %outputs "out"))
+ ,(string-append "--sysconfdir=" (assoc-ref %outputs "out") "/etc")
+ "--disable-fax-build" ; until mime.types merging works; FIXME re-enable
+ ,(string-append "--with-cupsfilterdir=" (assoc-ref %outputs "out") "/lib/cups/filter") ; TODO merge
+ ,(string-append "--with-cupsbackenddir=" (assoc-ref %outputs "out") "/lib/cups/backend") ; TODO merge
+ ,(string-append "--with-icondir=" (assoc-ref %outputs "out") "/share/applications") ; TODO merge
+ ,(string-append "--with-systraydir=" (assoc-ref %outputs "out") "/etc/xdg")) ; TODO merge
+ ; #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
+ #:phases (alist-cons-after
+ 'fix-libusb 'autoreconf
+ (lambda _
+ (setenv "AUTOMAKE" "automake --foreign")
+ (zero? (system* "autoreconf" "-fi")))
+ (alist-cons-after 'unpack 'fix-libusb
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Makefile.am" (("/usr/include/libusb-1.0") (string-append (assoc-ref inputs "libusb") "/include/libusb-1.0"))
+ (("hplip_statedir[ ]*=[ ]*/var/lib/hp") (string-append "hplip_statedir = " (assoc-ref outputs "out") "/var/lib/hp")) ; only for the installer.
+ (("hplip_confdir[ ]*=[ ]*/etc/hp") (string-append "hplip_confdir = " (assoc-ref outputs "out") "/etc/hp")) ; only for installing the default config
+ (("halpredir[ ]*=[ ]*/usr/share/hal/fdi/preprobe/10osvendor") (string-append "halpredir = " (assoc-ref outputs "out") "/share/hal/fdi/preprobe/10osvendor")) ; I don't think we use hal, so who cares?
+ (("rulesdir[ ]*=[ ]*/etc/udev/rules.d") (string-append "rulesdir = " (assoc-ref outputs "out") "/lib/udev/rules.d")) ; will be merged by base service
+ (("rulessystemdir=/usr/lib/systemd/system") (string-append "rulessystemdir = " (assoc-ref outputs "out") "/lib/systemd/system")) ; dummy
+ (("/etc/sane.d") (string-append (assoc-ref outputs "out") "/etc/sane.d"))))
+ %standard-phases))))
+ (inputs `(("libjpeg" ,libjpeg)
+ ("cups-minimal" ,cups-minimal)
+ ("libusb" ,libusb)
+ ("python" ,python) ; FIXME propagated-inputs ??
+ ("sane-backends" ,sane-backends)
+ ("dbus" ,dbus)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("libtool" ,libtool)
+ ("python" ,python) ; patch-shebang warning
+))))
next prev parent reply other threads:[~2016-03-21 22:07 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 ` Danny Milosavljevic [this message]
2016-03-22 8:28 ` [PATCH v2] Add hplip 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
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=20160321230700.452ca6c1@scratchpost.org \
--to=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.