unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#34644] [PATCH] gnu: Add xsane.
@ 2019-02-25  1:25 Tobias Geerinckx-Rice
  2019-02-25 21:05 ` Diego Nicola Barbato
  2019-02-26 14:20 ` Danny Milosavljevic
  0 siblings, 2 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-02-25  1:25 UTC (permalink / raw)
  To: 34644

* gnu/packages/scanner.scm (xsane): New public variable.
---
 gnu/packages/scanner.scm | 70 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 69 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm
index 920f2ede80..70106a7796 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 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -21,10 +21,14 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages scanner)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pkg-config)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses)
                 #:prefix licence:)
   #:use-module (guix packages)
@@ -132,3 +136,67 @@ package contains the library, but no drivers.")
 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.")))
+
+(define-public xsane
+  (package
+    (name "xsane")
+    (version "0.999")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://gitlab.com/sane-project/frontend/xsane.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "08zvxj7i1s88ckrsqldmsrikc3g62a6p3s3i5b5x4krcfpi3vs50"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "xsanedocdir=" (assoc-ref %outputs "out")
+                            "/share/doc/" ,name "-" ,version))
+       #:tests? #f                      ; no test suite
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-invalid-dereference
+           ;; Fix the following compilation error with libpng:
+           ;;   xsane-save.c: In function ‘xsane_save_png’:
+           ;;   xsane-save.c:4913:21: error: dereferencing pointer to
+           ;;   incomplete type ‘png_struct {aka struct png_struct_def}’
+           ;;       if (setjmp(png_ptr->jmpbuf))
+           ;;                         ^
+           (lambda _
+             (substitute* "src/xsane-save.c"
+               (("png_ptr->jmpbuf") "png_jmpbuf(png_ptr)"))
+             #t))
+         (add-after 'unpack 'use-sane-help-browser
+           (lambda _
+             (substitute* "src/xsane.h"
+               (("netscape") "xdg-open"))
+             #t))
+         (add-after 'install 'delete-empty-/sbin
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (rmdir (string-append out "/sbin"))
+               #t))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gtk+" ,gtk+-2)
+       ("lcms" ,lcms)
+       ("libjpeg" ,libjpeg)
+       ("libtiff" ,libtiff)
+       ("sane-backends" ,sane-backends)))
+    (home-page "https://gitlab.com/sane-project/frontend/xsane")
+    (synopsis "Featureful graphical interface for document and image scanners")
+    (description
+     "XSane is a graphical interface for controlling a scanner and acquiring
+images from it.  You can photocopy multi-page documents and save, fax, print,
+or e-mail your scanned images.  It is highly configurable and exposes all
+device settings, letting you fine-tune the final result.  It can also be used
+as a GIMP plugin to aquire images directly from a scanner.
+
+XSane is a front-end for SANE, which means that almost any existing scanner is
+supported: flatbed and hand-held scanners, video and still cameras, and frame
+grabbers.")
+    (license licence:gpl2+))) ; lib/snprintf.c is under the ‘Artistic’ licence
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#34644] [PATCH] gnu: Add xsane.
  2019-02-25  1:25 [bug#34644] [PATCH] gnu: Add xsane Tobias Geerinckx-Rice
@ 2019-02-25 21:05 ` Diego Nicola Barbato
  2019-02-25 22:57   ` Tobias Geerinckx-Rice
  2019-02-26 14:20 ` Danny Milosavljevic
  1 sibling, 1 reply; 6+ messages in thread
From: Diego Nicola Barbato @ 2019-02-25 21:05 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 34644

Hello Tobias,

Tobias Geerinckx-Rice <me@tobias.gr> writes:


[...]


> +    (license licence:gpl2+))) ; lib/snprintf.c is under the ‘Artistic’ licence
The FSF lists the ‘Artistic’ license as a nonfree software license [0].
I am no expert, but this might be a problem.

Sorry for the noise,

Diego

[0]: https://www.gnu.org/licenses/license-list.html#ArtisticLicense

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#34644] [PATCH] gnu: Add xsane.
  2019-02-25 21:05 ` Diego Nicola Barbato
@ 2019-02-25 22:57   ` Tobias Geerinckx-Rice
  2019-02-26 14:32     ` Danny Milosavljevic
  0 siblings, 1 reply; 6+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-02-25 22:57 UTC (permalink / raw)
  To: Diego Nicola Barbato; +Cc: 34644

Diego (Nicola?),

Diego Nicola Barbato wrote:
>> +    (license licence:gpl2+))) ; lib/snprintf.c is under the 
>> ‘Artistic’ licence
> The FSF lists the ‘Artistic’ license as a nonfree software 
> license [0].
> I am no expert, but this might be a problem.

Nor I.  It's an interesting situation: snprintf.c seems to have 
been re-(dual-)licenced under both Artistic and GPL2+OpenSSL 
exception.

However, the version shipped with xsane is older (perhaps xsane 
itself is, even).

I guess we can just do what Trisquel does and replace it with a 
newer version.  There's also some talk of a ’system snprintf’ that 
may or may not do the job without having to provide our own 
replacement.

Something to investigate.

> [0]: 
> https://www.gnu.org/licenses/license-list.html#ArtisticLicense

Thanks,

T G-R

[1]: 
https://devel.trisquel.info/trisquel/package-helpers/merge_requests/12

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#34644] [PATCH] gnu: Add xsane.
  2019-02-25  1:25 [bug#34644] [PATCH] gnu: Add xsane Tobias Geerinckx-Rice
  2019-02-25 21:05 ` Diego Nicola Barbato
@ 2019-02-26 14:20 ` Danny Milosavljevic
  2019-11-22 21:20   ` bug#34644: " Tobias Geerinckx-Rice via Guix-patches via
  1 sibling, 1 reply; 6+ messages in thread
From: Danny Milosavljevic @ 2019-02-26 14:20 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 34644

[-- Attachment #1: Type: text/plain, Size: 7 bytes --]

LGTM!

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#34644] [PATCH] gnu: Add xsane.
  2019-02-25 22:57   ` Tobias Geerinckx-Rice
@ 2019-02-26 14:32     ` Danny Milosavljevic
  0 siblings, 0 replies; 6+ messages in thread
From: Danny Milosavljevic @ 2019-02-26 14:32 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 34644, Diego Nicola Barbato

[-- Attachment #1: Type: text/plain, Size: 762 bytes --]

Hi,

On Mon, 25 Feb 2019 23:57:12 +0100
Tobias Geerinckx-Rice <somebody@not-sent-or-endorsed-by.tobias.gr> wrote:

> Nor I.  It's an interesting situation: snprintf.c seems to have 
> been re-(dual-)licenced under both Artistic and GPL2+OpenSSL 
> exception.
> 
> However, the version shipped with xsane is older (perhaps xsane 
> itself is, even).
> 
> I guess we can just do what Trisquel does and replace it with a 
> newer version.

Sure.

> There's also some talk of a ’system snprintf’ that 
> may or may not do the job without having to provide our own 
> replacement.

If we did that we should mention it upstream--maybe their implementation
has special features that they require that a system implementation
would not have.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#34644: [PATCH] gnu: Add xsane.
  2019-02-26 14:20 ` Danny Milosavljevic
@ 2019-11-22 21:20   ` Tobias Geerinckx-Rice via Guix-patches via
  0 siblings, 0 replies; 6+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2019-11-22 21:20 UTC (permalink / raw)
  To: 34644-close

[-- Attachment #1: Type: text/plain, Size: 82 bytes --]

Finally pushed as a608666d74f156819cecfabaf72290726d7964e6.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-11-22 21:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-25  1:25 [bug#34644] [PATCH] gnu: Add xsane Tobias Geerinckx-Rice
2019-02-25 21:05 ` Diego Nicola Barbato
2019-02-25 22:57   ` Tobias Geerinckx-Rice
2019-02-26 14:32     ` Danny Milosavljevic
2019-02-26 14:20 ` Danny Milosavljevic
2019-11-22 21:20   ` bug#34644: " Tobias Geerinckx-Rice via Guix-patches via

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).