nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 pname,
3 version,
4 src,
5 meta,
6 stdenv,
7 lib,
8 fetchurl,
9 autoPatchelfHook,
10 udev,
11 libusb1,
12}:
13let
14 arch = stdenv.hostPlatform.qemuArch;
15in
16stdenv.mkDerivation rec {
17 inherit
18 pname
19 version
20 src
21 meta
22 ;
23
24 nativeBuildInputs = [ autoPatchelfHook ];
25
26 buildInputs = [
27 libusb1
28 udev
29 (lib.getLib stdenv.cc.cc)
30 ];
31
32 unpackPhase = ''
33 sh "$src" --noexec --target source
34 '';
35
36 sourceRoot = "source";
37
38 dontBuild = true;
39
40 env = {
41 majorVersion = lib.versions.major version;
42 majorMinorVersion = lib.versions.majorMinor version;
43 };
44
45 installPhase = ''
46 mkdir -p $out/{bin,lib,include,lib/udev/rules.d}
47 libName="libsdrplay_api"
48 cp "${arch}/$libName.so.$majorMinorVersion" $out/lib/
49 ln -s "$out/lib/$libName.so.$majorMinorVersion" "$out/lib/$libName.so.$majorVersion"
50 ln -s "$out/lib/$libName.so.$majorVersion" "$out/lib/$libName.so"
51 cp "${arch}/sdrplay_apiService" $out/bin/
52 cp -r inc/* $out/include/
53 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
54 '';
55}