Files
pmenke 3e790fae76 sdrplay: fix missing udev rules
udev rules were moved from `66-mirics.rules` into `install_lib.sh` in source.

fixes #472729
2025-12-23 18:07:45 +01:00

56 lines
1.1 KiB
Nix

{
pname,
version,
src,
meta,
stdenv,
lib,
fetchurl,
autoPatchelfHook,
udev,
libusb1,
}:
let
arch = stdenv.hostPlatform.qemuArch;
in
stdenv.mkDerivation rec {
inherit
pname
version
src
meta
;
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
libusb1
udev
(lib.getLib stdenv.cc.cc)
];
unpackPhase = ''
sh "$src" --noexec --target source
'';
sourceRoot = "source";
dontBuild = true;
env = {
majorVersion = lib.versions.major version;
majorMinorVersion = lib.versions.majorMinor version;
};
installPhase = ''
mkdir -p $out/{bin,lib,include,lib/udev/rules.d}
libName="libsdrplay_api"
cp "${arch}/$libName.so.$majorMinorVersion" $out/lib/
ln -s "$out/lib/$libName.so.$majorMinorVersion" "$out/lib/$libName.so.$majorVersion"
ln -s "$out/lib/$libName.so.$majorVersion" "$out/lib/$libName.so"
cp "${arch}/sdrplay_apiService" $out/bin/
cp -r inc/* $out/include/
awk 'index($0, "cat > /etc/udev/rules.d/66-sdrplay.rules"){flag=1; next} /EOF/{flag=0} flag' install_lib.sh > $out/lib/udev/rules.d/66-sdrplay.rules
'';
}