diff --git a/pkgs/by-name/fo/forge-sparks/package.nix b/pkgs/by-name/fo/forge-sparks/package.nix new file mode 100644 index 000000000000..5a1601004706 --- /dev/null +++ b/pkgs/by-name/fo/forge-sparks/package.nix @@ -0,0 +1,70 @@ +{ lib +, blueprint-compiler +, desktop-file-utils +, fetchFromGitHub +, gjs +, glib +, glib-networking +, gtk4 +, libadwaita +, libportal +, libsecret +, libsoup_3 +, meson +, ninja +, pkg-config +, stdenv +, wrapGAppsHook4 +}: + +stdenv.mkDerivation rec { + pname = "forge-sparks"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "rafaelmardojai"; + repo = pname; + rev = version; + hash = "sha256-kUvUAJLCqIQpjm8RzAZaHVkdDCD9uKSQz9cYN60xS+4="; + fetchSubmodules = true; + }; + + patches = [ + # XdpGtk4 is imported but not used so we remove it to avoid the dependence on libportal-gtk4 + ./remove-xdpgtk4-import.patch + ]; + + postPatch = '' + patchShebangs troll/gjspack/bin/gjspack + ''; + + nativeBuildInputs = [ + blueprint-compiler + desktop-file-utils + gjs + meson + ninja + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = [ + glib + glib-networking + gtk4 + libadwaita + libportal + libsecret + libsoup_3 + ]; + + meta = with lib; { + description = "Get Git forges notifications"; + homepage = "https://github.com/rafaelmardojai/forge-sparks"; + changelog = "https://github.com/rafaelmardojai/forge-sparks/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ michaelgrahamevans ]; + mainProgram = "forge-sparks"; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/fo/forge-sparks/remove-xdpgtk4-import.patch b/pkgs/by-name/fo/forge-sparks/remove-xdpgtk4-import.patch new file mode 100644 index 000000000000..402e4543bbd6 --- /dev/null +++ b/pkgs/by-name/fo/forge-sparks/remove-xdpgtk4-import.patch @@ -0,0 +1,12 @@ +diff --git a/src/util.js b/src/util.js +index d37e42f..9e57ad5 100644 +--- a/src/util.js ++++ b/src/util.js +@@ -4,7 +4,6 @@ import Gio from 'gi://Gio'; + import GLib from 'gi://GLib'; + import Soup from 'gi://Soup'; + import Xdp from 'gi://Xdp'; +-import XdpGtk4 from 'gi://XdpGtk4'; + import { gettext as _, ngettext } from 'gettext'; + + const Format = imports.format;