From: Efraim Flashner <efraim@flashner.co.il>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH v6] Add hplip
Date: Wed, 23 Mar 2016 22:46:59 +0200 [thread overview]
Message-ID: <20160323204659.GB21191@debian-netbook> (raw)
In-Reply-To: <20160323123630.1b962166@scratchpost.org>
[-- Attachment #1: Type: text/plain, Size: 7619 bytes --]
On Wed, Mar 23, 2016 at 12:36:30PM +0100, Danny Milosavljevic wrote:
> Fiddle with some of the comments:
>
> diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
> index ff3d152..ce90a28 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,107 @@ 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
> + (add-after 'unpack 'fix-libusb
> + (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"
pull the other parts of substitute* back so that they're under the 'u'
in substitute
> + (("'/usr/share;[^']*'")
> + (string-append "'" cupsdir "/share'"))
> + (("'/etc/hp/hplip.conf'")
> + (string-append "'" out
> + "/etc/hp/hplip.conf" "'")))
> + (substitute* "Makefile.am"
> + (("[[: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"))
> + (("hplip_statedir[ ]*=[ ]*/var/lib/hp")
> + ;; This is only user in the installer.
> + (string-append "hplip_statedir = " out
> + "/var/lib/hp"))
> + (("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"))))))
> + (add-after 'fix-libusb 'autoreconf
> + (lambda _
> + (setenv "AUTOMAKE" "automake --foreign")
> + (zero? (system* "autoreconf" "-fi")))))))
> + ;; 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)
python-wrapper wraps python, so that python3 is presented to the system
as python and as python3. Does the package really need both?
> + ;; TODO: Make hp-setup find python-dbus.
> + ("python-dbus" ,python-dbus)))
> + (native-inputs `(("pkg-config" ,pkg-config)
> + ("automake" ,automake)
> + ("autoconf" ,autoconf)
> + ("libtool" ,libtool)))))
>
This was one of the packages that I was looking at packaging and it
looks a lot more complicated than I would've thought. Great work so far
on the package!
--
Efraim Flashner <efraim@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-03-23 20:47 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 [this message]
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=20160323204659.GB21191@debian-netbook \
--to=efraim@flashner.co.il \
--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.