From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: [PATCH v3] Add hplip Date: Tue, 22 Mar 2016 11:30:01 +0100 Message-ID: <20160322113001.52af072b@scratchpost.org> References: <20160312191233.48a661ca@scratchpost.org> <8737ruuj0l.fsf@gnu.org> <20160315210512.23989245@scratchpost.org> <20160315221931.16abe3dc@scratchpost.org> <87vb4mygw4.fsf@igalia.com> <87mvpyyfon.fsf@igalia.com> <20160320011904.50131806@scratchpost.org> <20160321230700.452ca6c1@scratchpost.org> <87r3f2ud9x.fsf@igalia.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33968) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aiJZl-0006nq-7S for guix-devel@gnu.org; Tue, 22 Mar 2016 06:30:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aiJZh-0005ul-5b for guix-devel@gnu.org; Tue, 22 Mar 2016 06:30:13 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:39724) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aiJZg-0005u1-Sp for guix-devel@gnu.org; Tue, 22 Mar 2016 06:30:09 -0400 In-Reply-To: <87r3f2ud9x.fsf@igalia.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Andy Wingo Cc: guix-devel@gnu.org Fixed some whitespace and added line breaks to make guix lint happy. Also added python-wrapper as input so that hp-setup works. diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index ff3d152..266c741 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,96 @@ 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.") + (license (list license:gpl2 license:bsd-3)) ; FIXME and which MIT + ; FIXME remove proprietary plug-in installer, hp-plugin (plugin.py) + ; 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") + ; until mime.types merging works; FIXME re-enable + "--disable-fax-build" + ,(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 + #: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) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile.am" + (("/usr/include/libusb-1.0") + (string-append (assoc-ref inputs "libusb") + "/include/libusb-1.0")) + (("hplip_statedir[ ]*=[ ]*/var/lib/hp") + ; only for the installer. + (string-append "hplip_statedir = " out + "/var/lib/hp")) + (("hplip_confdir[ ]*=[ ]*/etc/hp") + ; only for installing the default config + (string-append "hplip_confdir = " out + "/etc/hp")) + (("halpredir[ ]*=[ ]*/usr/share/hal/fdi/preprobe/10osvendor") + ; I don't think we use hal + (string-append "halpredir = " out + "/share/hal/fdi/preprobe/10osvendor")) + (("rulesdir[ ]*=[ ]*/etc/udev/rules.d") + ; will be merged by base service + (string-append "rulesdir = " out + "/lib/udev/rules.d")) + (("rulessystemdir=/usr/lib/systemd/system") + ; dummy + (string-append "rulessystemdir = " out + "/lib/systemd/system")) + (("/etc/sane.d") + (string-append out + "/etc/sane.d"))))) + %standard-phases)))) + ; error: Unable to locate models.dat file + ; 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) + ; I don't think we need to propagate those. + ; wrapper: makes "python" available rather than "python3" + ("python-wrapper" ,python-wrapper) + ("python" ,python) ; patch-shebang still complains + ; TODO: make hp-setup find python-dbus + ("python-dbus" ,python-dbus))) + ;(propagated-inputs `(("python" ,python) + ; ("python-dbus" ,python-dbus))) + (native-inputs `(("pkg-config" ,pkg-config) + ("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool)))))