diff --git a/pkgs/applications/misc/gnome-solanum/default.nix b/pkgs/applications/misc/gnome-solanum/default.nix new file mode 100644 index 000000000000..8ad1267afa93 --- /dev/null +++ b/pkgs/applications/misc/gnome-solanum/default.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, fetchFromGitLab +, rustPlatform +, desktop-file-utils +, meson +, ninja +, pkg-config +, wrapGAppsHook +, python3 +, git +, glib +, gtk4 +, gst_all_1 +, libadwaita +}: + +stdenv.mkDerivation rec { + pname = "solanum"; + version = "3.0.1"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "Solanum"; + rev = "v${version}"; + sha256 = "0cga6cz6jfbipzp008rjznkz7844licdc34lk133fcyqil0cg0ap"; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + sha256 = "10kzv98b2fiql9f6n2fv6lrgq4fdzxq0h4nzcq9jrw3fsggzl0wb"; + }; + + postPatch = '' + patchShebangs build-aux + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + wrapGAppsHook + python3 + git + desktop-file-utils + ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); + + buildInputs = [ + glib + gtk4 + libadwaita + gst_all_1.gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad + ]; + + meta = with lib; { + homepage = "https://gitlab.gnome.org/World/Solanum"; + description = "A pomodoro timer for the GNOME desktop"; + maintainers = with maintainers; [ linsui ]; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b53cd082929..d5cd0daaa71e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6030,6 +6030,8 @@ with pkgs; gnome-secrets = callPackage ../applications/misc/gnome-secrets { }; + gnome-solanum = callPackage ../applications/misc/gnome-solanum { }; + gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { }; gnome-photos = callPackage ../applications/graphics/gnome-photos { };