about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2015-08-23 11:32:39 -0500
committerThomas Tuegel <ttuegel@gmail.com>2015-08-23 11:32:39 -0500
commit4962bc3e3d7d78a8e81e1427b2fdce35de9388cc (patch)
tree3082ea67b8d2f2c5aac2d6ef59e4e182cc7db977
parent06717667cc9e4c3c2025e101e6cf68cde0b25fcd (diff)
parentbb81ba7ef662da75566c5642d709c624b245f03c (diff)
downloadnixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.tar
nixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.tar.gz
nixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.tar.bz2
nixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.tar.lz
nixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.tar.xz
nixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.tar.zst
nixlib-4962bc3e3d7d78a8e81e1427b2fdce35de9388cc.zip
Merge pull request #9404 from nbp/sane-config
Sane config: Fix config generation to work with the hplip backend in NixOS.
-rw-r--r--pkgs/applications/graphics/sane/config.nix28
1 files changed, 19 insertions, 9 deletions
diff --git a/pkgs/applications/graphics/sane/config.nix b/pkgs/applications/graphics/sane/config.nix
index fc1cd81ebc6e..4b8c7a4fe921 100644
--- a/pkgs/applications/graphics/sane/config.nix
+++ b/pkgs/applications/graphics/sane/config.nix
@@ -4,17 +4,27 @@
 
 with stdenv.lib;
 let installSanePath = path: ''
-      find "${path}/lib/sane" -not -type d -maxdepth 1 | while read backend; do
-        ln -s $backend $out/lib/sane/$(basename $backend)
-      done
+      if test -e "${path}/lib/sane"; then
+        find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do
+          ln -s $backend $out/lib/sane/$(basename $backend)
+        done
+      fi
 
-      find "${path}/etc/sane.d" -not -type d -maxdepth 1 | while read conf; do
-        ln -s $conf $out/etc/sane.d/$(basename $conf)
-      done
+      if test -e "${path}/etc/sane.d"; then
+        find "${path}/etc/sane.d" -maxdepth 1 -not -type d | while read conf; do
+          if test $(basename $conf) = "dll.conf"; then
+            cat $conf >> $out/etc/sane.d/dll.conf
+          else
+            ln -s $conf $out/etc/sane.d/$(basename $conf)
+          fi
+        done
+      fi
 
-      find "${path}/etc/sane.d/dll.d" -not -type d -maxdepth 1 | while read conf; do
-        ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf)
-      done
+      if test -e "${path}/etc/sane.d/dll.d"; then
+        find "${path}/etc/sane.d/dll.d" -maxdepth 1 -not -type d | while read conf; do
+          ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf)
+        done
+      fi
     '';
 in
 stdenv.mkDerivation {