summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas B. Pierron <nicolas.b.pierron@gmail.com>2015-08-23 13:54:34 +0200
committerNicolas B. Pierron <nicolas.b.pierron@gmail.com>2015-08-23 13:54:34 +0200
commitf8caa49f003803856a0db4febd1bbb334ae2a26e (patch)
treee4414979cd86c10b2a0e77c52a0043d7a9b463f5
parentef721079ca6911ba5e2fdba83d346f24cb9969e9 (diff)
downloadnixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.tar
nixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.tar.gz
nixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.tar.bz2
nixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.tar.lz
nixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.tar.xz
nixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.tar.zst
nixpkgs-f8caa49f003803856a0db4febd1bbb334ae2a26e.zip
sane-config: Merge /etc/sane.d/dll.conf content.
-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 fc1cd81ebc6..26f1eddbed6 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" -not -type d -maxdepth 1 | 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" -not -type d -maxdepth 1 | 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" -not -type d -maxdepth 1 | while read conf; do
+          ln -s $conf $out/etc/sane.d/dll.d/$(basename $conf)
+        done
+      fi
     '';
 in
 stdenv.mkDerivation {