diff options
author | Tungsten842 <886724vf@anonaddy.me> | 2024-04-14 17:48:34 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2024-04-16 20:55:35 +0200 |
commit | a1080ded576e7abdaa87a4a35fcd49566a2969f2 (patch) | |
tree | 6c406a44aed6a4278ff1b6a598c5f8ff53bc4c9d /pkgs/applications/radio | |
parent | be365f9dc9fcf15ba010eca6debaea73368693f1 (diff) |
rtl-sdr: refactor, add rtl-sdr-blog and set it as default
Diffstat (limited to 'pkgs/applications/radio')
-rw-r--r-- | pkgs/applications/radio/rtl-sdr/default.nix | 107 |
1 files changed, 79 insertions, 28 deletions
diff --git a/pkgs/applications/radio/rtl-sdr/default.nix b/pkgs/applications/radio/rtl-sdr/default.nix index 0d454e0be436a..1b08033f31bba 100644 --- a/pkgs/applications/radio/rtl-sdr/default.nix +++ b/pkgs/applications/radio/rtl-sdr/default.nix @@ -1,45 +1,96 @@ { lib , stdenv +, fetchFromGitea , fetchFromGitHub , cmake , pkg-config , libusb1 }: +let + generic = { version, pname, src, meta }: + stdenv.mkDerivation { + inherit version pname src; + nativeBuildInputs = [ pkg-config cmake ]; + propagatedBuildInputs = [ libusb1 ]; -stdenv.mkDerivation rec { - pname = "rtl-sdr"; - version = "0.9.0"; + cmakeFlags = lib.optionals stdenv.isLinux [ + "-DINSTALL_UDEV_RULES=ON" + "-DWITH_RPC=ON" + ]; - src = fetchFromGitHub { - owner = "librtlsdr"; - repo = "librtlsdr"; - rev = "v${version}"; - hash = "sha256-I1rbywQ0ZBw26wZdtMBkfpj7+kv09XKrrcoDuhIkRmw="; - }; + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace '/etc/udev/rules.d' "$out/etc/udev/rules.d" \ + --replace "VERSION_INFO_PATCH_VERSION git" "VERSION_INFO_PATCH_VERSION ${lib.versions.patch version}" - postPatch = '' - substituteInPlace CMakeLists.txt \ - --replace '/etc/udev/rules.d' "$out/etc/udev/rules.d" \ - --replace "VERSION_INFO_PATCH_VERSION git" "VERSION_INFO_PATCH_VERSION ${lib.versions.patch version}" + substituteInPlace rtl-sdr.rules \ + --replace 'MODE:="0666"' 'ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev"' + ''; - substituteInPlace rtl-sdr.rules \ - --replace 'MODE:="0666"' 'ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev"' - ''; + meta = with lib; { + inherit (meta) longDescription homepage; + description = "Software to turn the RTL2832U into a SDR receiver"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ bjornfor skovati ]; + platforms = platforms.unix; + mainProgram = "rtl_sdr"; + }; + }; +in +{ + rtl-sdr-osmocom = generic rec { + pname = "rtl-sdr-osmocom"; + version = "2.0.1"; - nativeBuildInputs = [ pkg-config cmake ]; + src = fetchFromGitea { + domain = "gitea.osmocom.org"; + owner = "sdr"; + repo = "rtl-sdr"; + rev = "v${version}"; + hash = "sha256-+RYSCn+wAkb9e7NRI5kLY8a6OXtJu7QcSUht1R6wDX0="; + }; + meta = { + longDescription = "Rtl-sdr library by the Osmocom project"; + homepage = "https://gitea.osmocom.org/sdr/rtl-sdr"; + }; + }; - propagatedBuildInputs = [ libusb1 ]; + rtl-sdr-librtlsdr = generic rec { + pname = "rtl-sdr-librtlsdr"; + version = "0.9.0"; - cmakeFlags = lib.optionals stdenv.isLinux [ - "-DINSTALL_UDEV_RULES=ON" - "-DWITH_RPC=ON" - ]; + src = fetchFromGitHub { + owner = "librtlsdr"; + repo = "librtlsdr"; + rev = "v${version}"; + hash = "sha256-I1rbywQ0ZBw26wZdtMBkfpj7+kv09XKrrcoDuhIkRmw="; + }; + meta = { + longDescription = '' + Fork of the rtl-sdr library by the Osmocom project. A list of differences + can be found here: https://github.com/librtlsdr/librtlsdr/blob/master/README_improvements.md + ''; + homepage = "https://github.com/librtlsdr/librtlsdr"; + }; + }; - meta = with lib; { - description = "Turns your Realtek RTL2832 based DVB dongle into a SDR receiver"; - homepage = "https://github.com/librtlsdr/librtlsdr"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ bjornfor ]; - platforms = platforms.linux ++ platforms.darwin; + rtl-sdr-blog = generic rec { + pname = "rtl-sdr-blog"; + version = "1.3.5"; + + src = fetchFromGitHub { + owner = "rtlsdrblog"; + repo = "rtl-sdr-blog"; + rev = version; + hash = "sha256-7FpT+BoQ2U8KiKwX4NfEwrO3lMBti7RX8uKtT5dFH8M="; + }; + meta = { + longDescription = '' + Fork of the rtl-sdr library by the Osmocom project. A list of differences + can be found here: https://github.com/rtlsdrblog/rtl-sdr-blog/blob/master/README + ''; + homepage = "https://github.com/rtlsdrblog/rtl-sdr-blog"; + }; }; + } |