72 lines
1.6 KiB
Nix
72 lines
1.6 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, buildGoModule
|
|
, wrapGAppsHook
|
|
, pkg-config
|
|
, glib
|
|
, gobject-introspection
|
|
, gtk3
|
|
, gdk-pixbuf
|
|
, gettext
|
|
, librsvg
|
|
}:
|
|
|
|
buildGoModule rec {
|
|
pname = "ymuse";
|
|
version = "0.21";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "yktoo";
|
|
repo = "ymuse";
|
|
rev = "v${version}";
|
|
hash = "sha256-3QgBbK7AK9/uQ6Z7DNIJxa1oXrxvvHDQ/Z2QOf7yfS4=";
|
|
};
|
|
|
|
vendorHash = "sha256-7oYYZWpvWzeHlp6l9bLeHcLITLZPVY5eZdfHSE+ZHW8=";
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
wrapGAppsHook
|
|
glib
|
|
gobject-introspection
|
|
gdk-pixbuf
|
|
gettext
|
|
];
|
|
|
|
buildInputs = [
|
|
gtk3
|
|
librsvg
|
|
];
|
|
|
|
postInstall = ''
|
|
install -Dm644 ./resources/com.yktoo.ymuse.desktop -t $out/share/applications
|
|
install -Dm644 ./resources/metainfo/com.yktoo.ymuse.metainfo.xml -t $out/share/metainfo
|
|
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 ];
|
|
};
|
|
}
|