diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix b/infra/libkookie/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix new file mode 100644 index 000000000000..014906594a7d --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/audio/radiotray-ng/default.nix @@ -0,0 +1,100 @@ +{ stdenv, fetchFromGitHub +, cmake, pkgconfig +# Transport +, curl +# Libraries +, boost +, jsoncpp +, libbsd +, pcre +# GUI/Desktop +, dbus +, glibmm +, gsettings-desktop-schemas +, hicolor-icon-theme +, libappindicator-gtk3 +, libnotify +, libxdg_basedir +, wxGTK +# GStreamer +, gst_all_1 +# User-agent info +, lsb-release +# rt2rtng +, python3 +# Testing +, gtest +# Fixup +, wrapGAppsHook +, makeWrapper +}: + +let + gstInputs = with gst_all_1; [ + gstreamer gst-plugins-base + gst-plugins-good gst-plugins-bad gst-plugins-ugly + gst-libav + ]; + # For the rt2rtng utility for converting bookmark file to -ng format + pythonInputs = with python3.pkgs; [ python lxml ]; +in +stdenv.mkDerivation rec { + pname = "radiotray-ng"; + version = "0.2.7"; + + src = fetchFromGitHub { + owner = "ebruck"; + repo = pname; + rev = "v${version}"; + sha256 = "1v2nsz7s0jj0wmqabzk6akcf1353rachm1lfq77hxbq9z5pw8pgb"; + }; + + nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ]; + + buildInputs = [ + curl + boost jsoncpp libbsd pcre + glibmm hicolor-icon-theme gsettings-desktop-schemas libappindicator-gtk3 libnotify + libxdg_basedir + lsb-release + wxGTK + ] ++ gstInputs + ++ pythonInputs; + + patches = [ ./no-dl-googletest.patch ]; + + postPatch = '' + for x in package/CMakeLists.txt include/radiotray-ng/common.hpp data/*.desktop; do + substituteInPlace $x --replace /usr $out + done + substituteInPlace package/CMakeLists.txt --replace /etc/xdg/autostart $out/etc/xdg/autostart + + # We don't find the radiotray-ng-notification icon otherwise + substituteInPlace data/radiotray-ng.desktop \ + --replace radiotray-ng-notification radiotray-ng-on + substituteInPlace data/rtng-bookmark-editor.desktop \ + --replace radiotray-ng-notification radiotray-ng-on + ''; + + cmakeFlags = [ + "-DBUILD_TESTS=${if doCheck then "ON" else "OFF"}" + ]; + + enableParallelBuilding = true; + + checkInputs = [ gtest ]; + doCheck = !stdenv.isAarch64; # single failure that I can't explain + + preFixup = '' + gappsWrapperArgs+=(--suffix PATH : ${stdenv.lib.makeBinPath [ dbus ]}) + wrapProgram $out/bin/rt2rtng --prefix PYTHONPATH : $PYTHONPATH + ''; + + meta = with stdenv.lib; { + description = "An internet radio player for linux"; + homepage = "https://github.com/ebruck/radiotray-ng"; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + platforms = platforms.all; + }; +} |