Files
nixpkgs/pkgs/by-name/sd/sdrplay/darwin.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

57 lines
1023 B
Nix

{
pname,
version,
src,
meta,
lib,
stdenv,
xar,
cpio,
libusb1,
fixDarwinDylibNames,
}:
stdenv.mkDerivation {
inherit
pname
version
src
meta
;
nativeBuildInputs = [
xar
cpio
fixDarwinDylibNames
];
unpackPhase = ''
xar -xf $src
zcat SDRplayAPI.pkg/Payload | cpio -i
'';
dontBuild = true;
env = {
majorVersion = lib.versions.major version;
majorMinorVersion = lib.versions.majorMinor version;
};
installPhase = ''
root="$PWD/Library/SDRplayAPI/${version}"
mkdir -p $out/{bin,lib}
cp "$root/bin/sdrplay_apiService" "$out/bin"
cp -r "$root/include" "$out/include"
lib="$out/lib/libsdrplay_api.$majorMinorVersion.dylib"
cp "$root/lib/libsdrplay_api.so.$majorMinorVersion" "$lib"
ln -s "$lib" "$out/lib/libsdrplay_api.$majorVersion.dylib"
ln -s "$lib" "$out/lib/libsdrplay_api.dylib"
'';
postFixup = ''
install_name_tool -add_rpath "${lib.getLib libusb1}/lib" $out/bin/sdrplay_apiService
'';
}