Merge pull request #258667 from returntoreality/indi-udev

indilib: fix udev rules

authored by Weijia Wang and committed by GitHub e0096b49 fd34a71c

+48 -4
+11
pkgs/development/libraries/science/astronomy/indilib/default.nix
··· 1 { stdenv 2 , lib 3 , fetchFromGitHub 4 , cmake 5 , cfitsio 6 , libusb1 7 , zlib 8 , boost 9 , libev ··· 57 58 # Socket address collisions between tests 59 enableParallelChecking = false; 60 61 meta = with lib; { 62 homepage = "https://www.indilib.org/";
··· 1 { stdenv 2 , lib 3 , fetchFromGitHub 4 + , bash 5 , cmake 6 , cfitsio 7 , libusb1 8 + , kmod 9 , zlib 10 , boost 11 , libev ··· 59 60 # Socket address collisions between tests 61 enableParallelChecking = false; 62 + 63 + postFixup = lib.optionalString stdenv.isLinux '' 64 + for f in $out/lib/udev/rules.d/*.rules 65 + do 66 + substituteInPlace $f --replace "/bin/sh" "${bash}/bin/sh" \ 67 + --replace "/sbin/modprobe" "${kmod}/sbin/modprobe" 68 + done 69 + ''; 70 + 71 72 meta = with lib; { 73 homepage = "https://www.indilib.org/";
+19
pkgs/development/libraries/science/astronomy/indilib/indi-3rdparty.nix
··· 1 { stdenv 2 , lib 3 , cmake 4 , cfitsio 5 , libusb1 6 , zlib ··· 23 , withFirmware ? false 24 , firmware ? null 25 }: 26 27 stdenv.mkDerivation rec { 28 pname = "indi-3rdparty"; ··· 67 "-DWITH_FISHCAMP=off" 68 "-DWITH_SBIG=off" 69 ]; 70 71 meta = with lib; { 72 homepage = "https://www.indilib.org/";
··· 1 { stdenv 2 , lib 3 + , bash 4 , cmake 5 + , coreutils 6 , cfitsio 7 , libusb1 8 , zlib ··· 25 , withFirmware ? false 26 , firmware ? null 27 }: 28 + 29 + let 30 + libusb-with-fxload = libusb1.override { withExamples = true;}; 31 + in 32 33 stdenv.mkDerivation rec { 34 pname = "indi-3rdparty"; ··· 73 "-DWITH_FISHCAMP=off" 74 "-DWITH_SBIG=off" 75 ]; 76 + 77 + postFixup = lib.optionalString stdenv.isLinux '' 78 + for f in $out/lib/udev/rules.d/*.rules 79 + do 80 + substituteInPlace $f --replace "/sbin/fxload" "${libusb-with-fxload}/sbin/fxload" \ 81 + --replace "/lib/firmware/" "$out/lib/firmware/" \ 82 + --replace "/bin/sleep" "${coreutils}/bin/sleep" \ 83 + --replace "/bin/cat" "${coreutils}/bin/cat" \ 84 + --replace "/bin/echo" "${coreutils}/bin/echo" \ 85 + --replace "/bin/sh" "${bash}/bin/sh" 86 + done 87 + ''; 88 + 89 90 meta = with lib; { 91 homepage = "https://www.indilib.org/";
+18 -4
pkgs/development/libraries/science/astronomy/indilib/indi-firmware.nix
··· 1 { stdenv 2 , lib 3 , cmake 4 , cfitsio 5 , libusb1 6 , zlib 7 , boost ··· 21 , src 22 , autoPatchelfHook 23 }: 24 - 25 stdenv.mkDerivation rec { 26 pname = "indi-firmware"; 27 ··· 39 "-DCMAKE_INSTALL_LIBDIR=lib" 40 "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d" 41 "-DRULES_INSTALL_DIR=lib/udev/rules.d" 42 - "-DFIRMWARE_INSTALL_DIR=\${CMAKE_INSTALL_PREFIX}/lib/firmware" 43 "-DCONF_DIR=etc" 44 "-DBUILD_LIBS=1" 45 "-DWITH_PENTAX=off" ··· 52 done 53 ''; 54 55 - postFixup = '' 56 - rm $out/lib/udev/rules.d/99-fli.rules 57 ''; 58 59 meta = with lib; {
··· 1 { stdenv 2 , lib 3 + , bash 4 , cmake 5 , cfitsio 6 + , coreutils 7 , libusb1 8 , zlib 9 , boost ··· 23 , src 24 , autoPatchelfHook 25 }: 26 + let 27 + libusb-with-fxload = libusb1.override { withExamples = true;}; 28 + in 29 stdenv.mkDerivation rec { 30 pname = "indi-firmware"; 31 ··· 43 "-DCMAKE_INSTALL_LIBDIR=lib" 44 "-DUDEVRULES_INSTALL_DIR=lib/udev/rules.d" 45 "-DRULES_INSTALL_DIR=lib/udev/rules.d" 46 + "-DFIRMWARE_INSTALL_DIR=lib/firmware" 47 + "-DQHY_FIRMWARE_INSTALL_DIR=\${CMAKE_INSTALL_PREFIX}/lib/firmware/qhy" 48 "-DCONF_DIR=etc" 49 "-DBUILD_LIBS=1" 50 "-DWITH_PENTAX=off" ··· 57 done 58 ''; 59 60 + postFixup = lib.optionalString stdenv.isLinux '' 61 + for f in $out/lib/udev/rules.d/*.rules 62 + do 63 + substituteInPlace "$f" --replace "/sbin/fxload" "${libusb-with-fxload}/sbin/fxload" \ 64 + --replace "/bin/sleep" "${coreutils}/bin/sleep" \ 65 + --replace "/bin/cat" "${coreutils}/bin/cat" \ 66 + --replace "/bin/echo" "${coreutils}/bin/echo" \ 67 + --replace "/bin/sh" "${bash}/bin/sh" \ 68 + --replace "/lib/firmware/" "$out/lib/firmware/" 69 + sed -e 's|-D $env{DEVNAME}|-p $env{BUSNUM},$env{DEVNUM}|' -i "$f" 70 + done 71 ''; 72 73 meta = with lib; {