Loading pkgs/by-name/sd/sdrplay/darwin.nix 0 → 100644 +56 −0 Original line number Diff line number Diff line { 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 ''; } pkgs/by-name/sd/sdrplay/linux.nix 0 → 100644 +54 −0 Original line number Diff line number Diff line { 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} 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/ ''; } pkgs/by-name/sd/sdrplay/package.nix +33 −53 Original line number Diff line number Diff line { callPackage, fetchurl, stdenv, lib, fetchurl, autoPatchelfHook, udev, libusb1, }: let arch = if stdenv.hostPlatform.isx86_64 then "x86_64" else if stdenv.hostPlatform.isi686 then "i686" else if stdenv.hostPlatform.isAarch64 then "aarch64" else throw "unsupported architecture"; version = "3.07.1"; srcs = rec { aarch64 = { url = "https://www.sdrplay.com/software/SDRplay_RSP_API-ARM64-${version}.run"; hash = "sha256-GJPFW6W8Ke4mnczcSLFYfioOMGCfFn2/EIA07VnmVGY="; }; let version = "3.15.1"; x86_64 = { sources = rec { x86_64-linux = { url = "https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-${version}.run"; sha256 = "1a25c7rsdkcjxr7ffvx2lwj7fxdbslg9qhr8ghaq1r53rcrqgzmf"; hash = "sha256-CTcyv10Xz9G2LqHh4qOW9tKBEcB+rztE2R7xJIU4QBQ="; }; i686 = x86_64; x86_64-darwin = { url = "https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.1.pkg"; hash = "sha256-XRSM7aH653XS0t9bP89G3uJ7YiLiU1xMBjwvLqL3rMM="; }; in stdenv.mkDerivation rec { pname = "sdrplay"; inherit version; src = fetchurl srcs."${arch}"; aarch64-linux = x86_64-linux; aarch64-darwin = x86_64-darwin; }; nativeBuildInputs = [ autoPatchelfHook ]; platforms = lib.attrNames sources; buildInputs = [ libusb1 udev (lib.getLib stdenv.cc.cc) ]; package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix; unpackPhase = '' sh "$src" --noexec --target source ''; in sourceRoot = "source"; callPackage package { pname = "sdrplay"; inherit version; dontBuild = true; src = let inherit (stdenv.hostPlatform) system; source = if lib.hasAttr system sources then sources."${system}" else throw "SDRplay is not supported on ${system}"; installPhase = '' mkdir -p $out/{bin,lib,include,lib/udev/rules.d} majorVersion="${lib.concatStringsSep "." (lib.take 1 (builtins.splitVersion version))}" majorMinorVersion="${lib.concatStringsSep "." (lib.take 2 (builtins.splitVersion version))}" 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/ cp 66-mirics.rules $out/lib/udev/rules.d/ ''; in fetchurl source; meta = with lib; { inherit platforms; description = "SDRplay API"; longDescription = '' Proprietary library and api service for working with SDRplay devices. For documentation and licensing details see https://www.sdrplay.com/docs/SDRplay_API_Specification_v${lib.concatStringsSep "." (lib.take 2 (builtins.splitVersion version))}.pdf ''; homepage = "https://www.sdrplay.com/downloads/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; Loading @@ -81,7 +61,7 @@ stdenv.mkDerivation rec { pmenke zaninime ]; platforms = platforms.linux; mainProgram = "sdrplay_apiService"; }; } Loading
pkgs/by-name/sd/sdrplay/darwin.nix 0 → 100644 +56 −0 Original line number Diff line number Diff line { 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 ''; }
pkgs/by-name/sd/sdrplay/linux.nix 0 → 100644 +54 −0 Original line number Diff line number Diff line { 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} 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/ ''; }
pkgs/by-name/sd/sdrplay/package.nix +33 −53 Original line number Diff line number Diff line { callPackage, fetchurl, stdenv, lib, fetchurl, autoPatchelfHook, udev, libusb1, }: let arch = if stdenv.hostPlatform.isx86_64 then "x86_64" else if stdenv.hostPlatform.isi686 then "i686" else if stdenv.hostPlatform.isAarch64 then "aarch64" else throw "unsupported architecture"; version = "3.07.1"; srcs = rec { aarch64 = { url = "https://www.sdrplay.com/software/SDRplay_RSP_API-ARM64-${version}.run"; hash = "sha256-GJPFW6W8Ke4mnczcSLFYfioOMGCfFn2/EIA07VnmVGY="; }; let version = "3.15.1"; x86_64 = { sources = rec { x86_64-linux = { url = "https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-${version}.run"; sha256 = "1a25c7rsdkcjxr7ffvx2lwj7fxdbslg9qhr8ghaq1r53rcrqgzmf"; hash = "sha256-CTcyv10Xz9G2LqHh4qOW9tKBEcB+rztE2R7xJIU4QBQ="; }; i686 = x86_64; x86_64-darwin = { url = "https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.1.pkg"; hash = "sha256-XRSM7aH653XS0t9bP89G3uJ7YiLiU1xMBjwvLqL3rMM="; }; in stdenv.mkDerivation rec { pname = "sdrplay"; inherit version; src = fetchurl srcs."${arch}"; aarch64-linux = x86_64-linux; aarch64-darwin = x86_64-darwin; }; nativeBuildInputs = [ autoPatchelfHook ]; platforms = lib.attrNames sources; buildInputs = [ libusb1 udev (lib.getLib stdenv.cc.cc) ]; package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix; unpackPhase = '' sh "$src" --noexec --target source ''; in sourceRoot = "source"; callPackage package { pname = "sdrplay"; inherit version; dontBuild = true; src = let inherit (stdenv.hostPlatform) system; source = if lib.hasAttr system sources then sources."${system}" else throw "SDRplay is not supported on ${system}"; installPhase = '' mkdir -p $out/{bin,lib,include,lib/udev/rules.d} majorVersion="${lib.concatStringsSep "." (lib.take 1 (builtins.splitVersion version))}" majorMinorVersion="${lib.concatStringsSep "." (lib.take 2 (builtins.splitVersion version))}" 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/ cp 66-mirics.rules $out/lib/udev/rules.d/ ''; in fetchurl source; meta = with lib; { inherit platforms; description = "SDRplay API"; longDescription = '' Proprietary library and api service for working with SDRplay devices. For documentation and licensing details see https://www.sdrplay.com/docs/SDRplay_API_Specification_v${lib.concatStringsSep "." (lib.take 2 (builtins.splitVersion version))}.pdf ''; homepage = "https://www.sdrplay.com/downloads/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; Loading @@ -81,7 +61,7 @@ stdenv.mkDerivation rec { pmenke zaninime ]; platforms = platforms.linux; mainProgram = "sdrplay_apiService"; }; }