From f8caa49f003803856a0db4febd1bbb334ae2a26e Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Sun, 23 Aug 2015 13:54:34 +0200 Subject: [PATCH] sane-config: Merge /etc/sane.d/dll.conf content. --- pkgs/applications/graphics/sane/config.nix | 28 +++++++++++++++------- 1 file 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 {