[bug#78732] gnu: simple-scan: enable scanning over network for eSCL/WSD scanners

Message ID a0abad8fb1486a80eb87aaf4e95c8ecd34105ebe.1749475043.git.Rostislav.Svoboda@gmail.com
State New
Headers
Series [bug#78732] gnu: simple-scan: enable scanning over network for eSCL/WSD scanners |

Commit Message

Rostislav Svoboda June 9, 2025, 1:21 p.m. UTC
  * gnu/packages/gnome.scm (simple-scan)[inputs]: Add sane-airscan.
<#:phases>: Wrap simple-scan to set
  - LD_LIBRARY_PATH to sane-airscan's lib/sane
  - SANE_CONFIG_DIR to sane-airscan's etc/sane.d

This change allows simple-scan to automatically detect and use eSCL or WSD
(AirScan) backends over the network.

Change-Id: Id1d95c77c3fc549b7baf91d31049541a687bce2d
---
 gnu/packages/gnome.scm | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)


base-commit: 03ce76718c41b32d174713c945d269d6fcdd8bf1
  

Comments

Liliana Marie Prikler June 9, 2025, 6:34 p.m. UTC | #1
Am Montag, dem 09.06.2025 um 15:21 +0200 schrieb Rostislav Svoboda:
> * gnu/packages/gnome.scm (simple-scan)[inputs]: Add sane-airscan.
> <#:phases>: Wrap simple-scan to set
>   - LD_LIBRARY_PATH to sane-airscan's lib/sane
>   - SANE_CONFIG_DIR to sane-airscan's etc/sane.d
> 
> This change allows simple-scan to automatically detect and use eSCL
> or WSD (AirScan) backends over the network.
> 
> Change-Id: Id1d95c77c3fc549b7baf91d31049541a687bce2d
The LD_LIBRARY_PATH looks suspicious.  Is there any way around it using
other SANE tooling?

Cheers
  

Patch

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 56236013a7..3bc26192ff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7330,7 +7330,19 @@  (define-public simple-scan
         (base32 "1aghnkvjdyj73kv55nd9gl5b1xjkpcxjn4j3a6z67r9g2j86avn1"))))
     (build-system meson-build-system)
     (arguments
-     '(#:glib-or-gtk? #t))
+     (list
+      #:glib-or-gtk? #t
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'wrap-flatpak
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let ((simple-scan (string-append #$output "/bin/simple-scan"))
+                    (sane-airscan-inputs (assoc-ref inputs "sane-airscan")))
+                (wrap-program simple-scan
+                  `("LD_LIBRARY_PATH" =
+                    (,(string-append sane-airscan-inputs "/lib/sane")))
+                  `("SANE_CONFIG_DIR" prefix
+                    (,(string-append sane-airscan-inputs "/etc/sane.d"))))))))))
     (native-inputs
      (list gettext-minimal
            itstool
@@ -7347,6 +7359,7 @@  (define-public simple-scan
            gdk-pixbuf
            gusb
            libadwaita
+           sane-airscan
            sane-backends))
     (home-page "https://gitlab.gnome.org/GNOME/simple-scan")
     (synopsis "Document and image scanner")