diff --git a/pkgs/by-name/eu/euphonica/package.nix b/pkgs/by-name/eu/euphonica/package.nix new file mode 100644 index 000000000000..02a024b807a9 --- /dev/null +++ b/pkgs/by-name/eu/euphonica/package.nix @@ -0,0 +1,77 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cargo, + meson, + ninja, + pkg-config, + rustPlatform, + rustc, + wrapGAppsHook4, + cairo, + dbus, + gdk-pixbuf, + glib, + gtk4, + libadwaita, + openssl, + pango, + pipewire, + sqlite, + desktop-file-utils, + libxml2, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "euphonica"; + version = "0.94.1-alpha"; + + src = fetchFromGitHub { + owner = "htkhiem"; + repo = "euphonica"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1d2GZSTr0HnVC7D6T7LFeL8kXfwGBhjqZ3lC4ZjpOtM="; + fetchSubmodules = true; + }; + + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) pname version src; + hash = "sha256-vb9THfSTN27rOfIlpCPkAJm+eLnh+RptOYWLS8hGDpw="; + }; + + nativeBuildInputs = [ + cargo + meson + ninja + pkg-config + rustPlatform.bindgenHook + rustPlatform.cargoSetupHook + rustc + wrapGAppsHook4 + desktop-file-utils + ]; + + buildInputs = [ + cairo + dbus + gdk-pixbuf + glib + gtk4 + libadwaita + openssl + pango + pipewire + sqlite + libxml2 + ]; + + meta = { + description = "MPD client with delusions of grandeur, made with Rust, GTK and Libadwaita"; + homepage = "https://github.com/htkhiem/euphonica"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ paperdigits ]; + mainProgram = "euphonica"; + platforms = with lib.platforms; linux; + }; +})