diff --git a/pkgs/applications/audio/ymuse/default.nix b/pkgs/applications/audio/ymuse/default.nix new file mode 100644 index 000000000000..dc0fb16c452c --- /dev/null +++ b/pkgs/applications/audio/ymuse/default.nix @@ -0,0 +1,71 @@ +{ stdenv +, lib +, fetchFromGitHub +, buildGoModule +, wrapGAppsHook +, pkg-config +, glib +, gobject-introspection +, gtk3 +, gdk-pixbuf +, gettext +, librsvg +}: + +buildGoModule rec { + pname = "ymuse"; + version = "0.20"; + + src = fetchFromGitHub { + owner = "yktoo"; + repo = "ymuse"; + rev = "v${version}"; + sha256 = "sha256-wDQjNBxwxFVFdSswubp4AVD35aXKJ8i0ahk/tgRsDRc="; + }; + vendorSha256 = "sha256-Ap/nf0NT0VkP2k9U1HzEiptDfLjKkBopP5h0czP3vis="; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook + glib + gobject-introspection + gdk-pixbuf + gettext + ]; + + buildInputs = [ + gtk3 + librsvg + ]; + + postInstall = '' + install -Dm644 ./resources/ymuse.desktop -t $out/share/applications + cp -r ./resources/icons $out/share + + app_id="ymuse" + find ./resources/i18n -type f -name '*.po' | + while read file; do + # Language is the filename without the extension + lang="$(basename "$file")" + lang="''${lang%.*}" + + # Create the target dir if needed + target_dir="$out/share/locale/$lang/LC_MESSAGES" + mkdir -p "$target_dir" + + # Compile the .po into a .mo + echo "Compiling $file" into "$target_dir/$app_id.mo" + msgfmt "$file" -o "$target_dir/$app_id.mo" + done + ''; + + # IDK how to deal with tests that open up display. + doCheck = false; + + meta = with lib; { + homepage = "https://yktoo.com/en/software/ymuse/"; + description = "GTK client for Music Player Daemon (MPD)"; + license = licenses.asl20; + maintainers = with maintainers; [ foo-dogsquared ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 21979f95ba29..2f4564e75bdf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36296,6 +36296,8 @@ with pkgs; xmcp = callPackage ../tools/X11/xmcp { }; + ymuse = callPackage ../applications/audio/ymuse { }; + zk = callPackage ../applications/office/zk {}; zktree = callPackage ../applications/misc/zktree {};