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 {