diff options
Diffstat (limited to 'pkgs/applications/audio/tauon/default.nix')
-rw-r--r-- | pkgs/applications/audio/tauon/default.nix | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix new file mode 100644 index 000000000000..530c41ab9220 --- /dev/null +++ b/pkgs/applications/audio/tauon/default.nix @@ -0,0 +1,109 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, python3Packages +, ffmpeg +, flac +, gobject-introspection +, gtk3 +, libnotify +, libsamplerate +, libvorbis +, mpg123 +, libopenmpt +, opusfile +, pango +, pulseaudio +}: + +stdenv.mkDerivation rec { + pname = "tauon"; + version = "6.7.1"; + + src = fetchFromGitHub { + owner = "Taiko2k"; + repo = "TauonMusicBox"; + rev = "v${version}"; + sha256 = "1hm82yfq7q2akrrvff3vmwrd3bz34d2dk8jzhnizhnhar6xc6fzp"; + }; + + postPatch = '' + substituteInPlace tauon.py \ + --replace 'install_mode = False' 'install_mode = True' \ + --replace 'install_directory = os.path.dirname(__file__)' 'install_directory = "${placeholder "out"}/share/tauon"' + + substituteInPlace t_modules/t_main.py \ + --replace 'install_mode = False' 'install_mode = True' \ + --replace 'install_directory = sys.path[0]' 'install_directory = "${placeholder "out"}/share/tauon"' \ + --replace 'libopenmpt.so' '${lib.getLib libopenmpt}/lib/libopenmpt.so' \ + --replace 'lib/libphazor.so' '../../lib/libphazor.so' + + substituteInPlace t_modules/t_phazor.py \ + --replace 'lib/libphazor.so' '../../lib/libphazor.so' + + patchShebangs compile-phazor.sh + ''; + + postBuild = '' + ./compile-phazor.sh + ''; + + nativeBuildInputs = [ + pkg-config + python3Packages.wrapPython + ]; + + buildInputs = [ + flac + gobject-introspection + gtk3 + libnotify + libopenmpt + libsamplerate + libvorbis + mpg123 + opusfile + pango + pulseaudio + ]; + + pythonPath = with python3Packages; [ + dbus-python + isounidecode + musicbrainzngs + mutagen + pillow + pulsectl + pycairo + pylast + pygobject3 + pylyrics + pysdl2 + requests + send2trash + ]; + + makeWrapperArgs = [ + "--prefix PATH : ${lib.makeBinPath [ffmpeg]}" + "--prefix PYTHONPATH : $out/share/tauon" + "--set GI_TYPELIB_PATH $GI_TYPELIB_PATH" + ]; + + installPhase = '' + install -Dm755 tauon.py $out/bin/tauon + mkdir -p $out/share/tauon + cp -r lib $out + cp -r assets input.txt t_modules theme $out/share/tauon + + wrapPythonPrograms + ''; + + meta = with lib; { + description = "The Linux desktop music player from the future"; + homepage = "https://tauonmusicbox.rocks/"; + license = licenses.gpl3; + maintainers = with maintainers; [ SuperSandro2000 ]; + platforms = platforms.linux; + }; +} |