nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

default.nix (1902B)


      1 { lib, stdenv, fetchFromGitHub, fetchpatch, fftwFloat, libsamplerate, libsndfile, libusb1
      2 , portaudio, rtl-sdr, qmake, qwt, wrapQtAppsHook
      3 }:
      4 
      5 stdenv.mkDerivation rec {
      6   pname = "fmreceiver";
      7   version = "2.1";
      8 
      9   src = fetchFromGitHub {
     10     owner = "JvanKatwijk";
     11     repo = "sdr-j-fm";
     12     rev = version;
     13     hash = "sha256-U0m9PIB+X+TBoz5FfXMvR/tZjkNIy7B613I7eLT5UIs=";
     14   };
     15 
     16   patches = [
     17     # support qwt-6.2.0
     18     (fetchpatch {
     19       url = "https://github.com/JvanKatwijk/sdr-j-fm/commit/4ca2f3a28e3e3460dc95be851fcd923e91488573.patch";
     20       hash = "sha256-tjNsg9Rc8kBn+6UzPsf1WLt+ZRYv8neG/CSyZKjObh0=";
     21     })
     22   ];
     23 
     24   postPatch = ''
     25     substituteInPlace fmreceiver.pro \
     26       --replace "-lqwt-qt5" "-lqwt" \
     27       --replace "CONFIG" "#CONFIG"
     28   '' + lib.optionalString stdenv.isDarwin ''
     29     substituteInPlace fmreceiver.pro --replace "-lrt " ""
     30     substituteInPlace includes/fm-constants.h --replace "<malloc.h>" "<stdlib.h>"
     31     substituteInPlace devices/rtlsdr-handler/rtlsdr-handler.cpp --replace ".so" ".dylib"
     32   '';
     33 
     34   nativeBuildInputs = [ qmake wrapQtAppsHook ];
     35 
     36   buildInputs = [ fftwFloat libsamplerate libsndfile libusb1 portaudio qwt ];
     37 
     38   qmakeFlags = [ "CONFIG+=dabstick" ];
     39 
     40   qtWrapperArgs = [
     41     "--prefix ${lib.optionalString stdenv.isDarwin "DY"}LD_LIBRARY_PATH : ${lib.makeLibraryPath [ rtl-sdr ]}"
     42   ];
     43 
     44   installPhase = if stdenv.isDarwin then ''
     45     mkdir -p $out/Applications
     46     mv linux-bin/fmreceiver-2.0.app $out/Applications/fmreceiver.app
     47     install_name_tool -change {,${qwt}/lib/}libqwt.6.dylib "$out/Applications/fmreceiver.app/Contents/MacOS/fmreceiver-2.0"
     48   '' else ''
     49     install -Dm755 linux-bin/fmreceiver-2.0 $out/bin/fmreceiver
     50   '';
     51 
     52   meta = with lib; {
     53     description = "A simple FM receiver";
     54     inherit (src.meta) homepage;
     55     license = licenses.gpl2Plus;
     56     maintainers = [ maintainers.sikmir ];
     57     platforms = platforms.unix;
     58   };
     59 }