summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Patterson <ajpatter@uwaterloo.ca>2016-12-14 00:03:25 -0500
committerLudovic Courtès <ludo@gnu.org>2016-12-17 23:13:05 +0100
commit4c9287432824f396d5c614c3b2287f553cd9fb90 (patch)
tree46330625cbe0eed4a7e17831abc9f2498102ddf8
parent32aa37a2e7a5653915a5c1b1fdef7f726ceaf5d2 (diff)
gnu: Add and use sane-backends.
* gnu/packages/scanner.scm (sane-backends): New variable. * gnu/packages/gnome.scm (colord, simple-scan): Use it instead of 'sane-backends-minimal'. * gnu/packages/libreoffice.scm (libreoffice): Likewise. * gnu/packages/wine.scm (wine): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/libreoffice.scm2
-rw-r--r--gnu/packages/scanner.scm40
-rw-r--r--gnu/packages/wine.scm2
4 files changed, 44 insertions, 4 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 74d04b24f0..0b7dab4672 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2433,7 +2433,7 @@ keyboard shortcuts.")
("libusb" ,libusb)
("sqlite" ,sqlite)
("polkit" ,polkit)
- ("sane-backends" ,sane-backends-minimal)))
+ ("sane-backends" ,sane-backends)))
(home-page "http://www.freedesktop.org/software/colord/")
(synopsis "Color management service")
(description "Colord is a system service that makes it easy to manage,
@@ -3570,7 +3570,7 @@ USB transfers with your high-level application or system daemon.")
("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("gusb" ,gusb)
- ("libsane" ,sane-backends-minimal)))
+ ("libsane" ,sane-backends)))
(native-inputs
`(("gettext" ,gettext-minimal)
("itstool" ,itstool)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 307a54496e..279e8e2d22 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -784,7 +784,7 @@ and to return information on pronunciations, meanings and synonyms.")
("postgresql" ,postgresql)
("python" ,python)
("redland" ,redland)
- ("sane-backends" ,sane-backends-minimal)
+ ("sane-backends" ,sane-backends)
("unixodbc" ,unixodbc)
("unzip" ,unzip)
("vigra" ,vigra)
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index e913858f51..fdad1c4459 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
+;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,6 +21,7 @@
(define-module (gnu packages scanner)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages libusb)
@@ -78,3 +80,41 @@ proving access to any raster image scanner hardware (flatbed scanner,
hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The
package contains the library, but no drivers.")
(license licence:gpl2+))) ; plus linking exception
+
+;; This variant links in the hpaio backend, provided by hplip, which adds
+;; support for HP scanners whose backends are not maintained by
+;; 'sane-backends'. It also builds all of those backends.
+(define-public sane-backends
+ (package
+ (inherit sane-backends-minimal)
+ (name "sane-backends")
+ (inputs
+ `(("hplip" ,(@ (gnu packages cups) hplip))
+ ,@(package-inputs sane-backends-minimal)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments sane-backends-minimal)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'disable-backends)
+ (add-after 'unpack 'add-backends
+ (lambda _
+ (substitute* "backend/dll.conf.in"
+ (("hp5590" all) (format #f "~a~%~a" all "hpaio")))
+ #t))
+ (add-after 'install 'install-hpaio
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (define hplip (string-append (assoc-ref inputs "hplip")
+ "/lib/sane"))
+ (define out (string-append (assoc-ref outputs "out")
+ "/lib/sane"))
+ (for-each
+ (lambda (file)
+ (symlink file (string-append out "/" (basename file))))
+ (find-files hplip))
+ #t))))))
+ (synopsis
+ "Raster image scanner library and drivers, with scanner support")
+ (description "SANE stands for \"Scanner Access Now Easy\" and is an API
+proving access to any raster image scanner hardware (flatbed scanner,
+hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The
+package contains the library and drivers.")))
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 83b6297f0c..367f27af5e 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -83,7 +83,7 @@
("libmpg123" ,mpg123)
("libldap" ,openldap)
("libnetapi" ,samba)
- ("libsane" ,sane-backends-minimal)
+ ("libsane" ,sane-backends)
("libpng" ,libpng)
("libjpeg" ,libjpeg)
("libtiff" ,libtiff)