summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2022-01-09 23:43:40 +0100
committerTobias Geerinckx-Rice <me@tobias.gr>2022-01-10 00:32:36 +0100
commit37746bb2eec37cf66472d9ecfb42bd7f14e0a7cc (patch)
tree080c62d47ff1af923f8230f92615366c5d41b88a
parent895be05f74218b93a347f8e0d88aa169954dd4e0 (diff)
gnu: Add sane-airscan.
* gnu/packages/scanner.scm (sane-airscan): New public variable.
-rw-r--r--gnu/packages/scanner.scm58
1 files changed, 57 insertions, 1 deletions
diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index 02424f0da2..1f862d5a54 100644
--- a/gnu/packages/scanner.scm
+++ b/gnu/packages/scanner.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2019, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
@@ -23,6 +23,7 @@
(define-module (gnu packages scanner)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages avahi)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
@@ -35,15 +36,70 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages textutils)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages xml)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix gexp)
#:use-module ((guix licenses)
#:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
+(define-public sane-airscan
+ (package
+ (name "sane-airscan")
+ (version "0.99.27")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alexpevzner/sane-airscan")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1syxsih1kdnz9slsg5a92bqnllagm4cybqk4n2y6mbkqn6h0zlnv"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags
+ #~(list (string-append "prefix=" #$output)
+ (string-append "libdir=$(prefix)/lib"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure )))) ; no configure script
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list avahi
+ gnutls
+ libjpeg-turbo
+ libpng
+ libxml2
+ sane-backends))
+ (home-page "https://github.com/alexpevzner/sane-airscan")
+ (synopsis "SANE backend for eSCL (AirScan) and WSD document scanners")
+ (description ; no @acronym{eSCL} because the meaning isn't officially known
+ "This SANE backend lets you scan documents and images from scanners and
+multi-function printers that speak eSCL (marketed as ``AirScan'') or
+@acronym{WSD, Web Services for Devices} (or ``WS-Scan'').
+
+Both are vendor-neutral protocols that allow ``driverless'' scanning over IPv4
+and IPv6 networks without the vendor-specific drivers that make up most of the
+sane-backends collection. This is similar to how most contemporary printers
+speak the universal @acronym{IPP, Internet Printing Protocol}.
+
+Only scanners that support eSCL will also work over USB. This requires a
+suitable IPP-over-USB daemon like ipp-usb to be installed and configured.
+
+Any eSCL or WSD-capable scanner should just work. sane-airscan automatically
+discovers and configures devices, including which protocol to use. It was
+successfully tested with many devices from Brother, Canon, Dell, Kyocera,
+Lexmark, Epson, HP, OKI, Panasonic, Pantum, Ricoh, Samsung, and Xerox, with both
+WSD and eSCL.")
+ (license (list license:gpl2+ ; the combined work
+ license:expat)))) ; http_parser.[ch]
+
(define-public sane-backends-minimal
(package
(name "sane-backends-minimal")