From 5e31d32c12061158bea2bf2a083cb920c83b84e1 Mon Sep 17 00:00:00 2001 From: aleksana Date: Tue, 24 Sep 2024 00:00:31 +0800 Subject: [PATCH] dosage-tracker: init at 1.6.6 --- pkgs/by-name/do/dosage-tracker/package.nix | 54 +++++++++++++++++++ .../do/dosage-tracker/set_resource_path.patch | 30 +++++++++++ 2 files changed, 84 insertions(+) create mode 100644 pkgs/by-name/do/dosage-tracker/package.nix create mode 100644 pkgs/by-name/do/dosage-tracker/set_resource_path.patch diff --git a/pkgs/by-name/do/dosage-tracker/package.nix b/pkgs/by-name/do/dosage-tracker/package.nix new file mode 100644 index 000000000000000..cdabecef3d9e87a --- /dev/null +++ b/pkgs/by-name/do/dosage-tracker/package.nix @@ -0,0 +1,54 @@ +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + gobject-introspection, + blueprint-compiler, + wrapGAppsHook4, + desktop-file-utils, + libadwaita, + gjs, + libportal-gtk4, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "dosage-tracker"; + version = "1.6.6"; + + src = fetchFromGitHub { + owner = "diegopvlk"; + repo = "Dosage"; + rev = "refs/tags/v${finalAttrs.version}"; + hash = "sha256-c6abXGmf3TDtqP7+SI1PHpqEqbPBkQyl/xNrMjHqUS4="; + }; + + patches = [ ./set_resource_path.patch ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gobject-introspection + blueprint-compiler + wrapGAppsHook4 + desktop-file-utils + ]; + + buildInputs = [ + libadwaita + gjs + libportal-gtk4 + ]; + + meta = { + description = "Keep track of your treatments"; + homepage = "https://github.com/diegopvlk/Dosage"; + license = lib.licenses.gpl3Only; + mainProgram = "io.github.diegopvlk.Dosage"; + maintainers = with lib.maintainers; [ aleksana ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/do/dosage-tracker/set_resource_path.patch b/pkgs/by-name/do/dosage-tracker/set_resource_path.patch new file mode 100644 index 000000000000000..e39921d7b9824f8 --- /dev/null +++ b/pkgs/by-name/do/dosage-tracker/set_resource_path.patch @@ -0,0 +1,30 @@ +diff --git a/src/io.github.diegopvlk.Dosage.in b/src/io.github.diegopvlk.Dosage.in +index 5c71c3c..d1b16d9 100755 +--- a/src/io.github.diegopvlk.Dosage.in ++++ b/src/io.github.diegopvlk.Dosage.in +@@ -1,6 +1,7 @@ + #!@GJS@ -m + + import { exit, programArgs, programInvocationName } from "system"; ++import Gio from "gi://Gio"; + + imports.package.init({ + name: "@PACKAGE_NAME@", +@@ -10,6 +11,17 @@ imports.package.init({ + datadir: "@datadir@", + }); + ++const resource_src = Gio.resource_load( ++ "@datadir@/@PACKAGE_NAME@/io.github.diegopvlk.Dosage.src.gresource", ++); ++ ++const resource_data = Gio.resource_load( ++ "@datadir@/@PACKAGE_NAME@/io.github.diegopvlk.Dosage.data.gresource", ++); ++ ++Gio.resources_register(resource_src); ++Gio.resources_register(resource_data); ++ + const { main } = await import("resource://@resource_path@/js/main.js"); + const exit_code = await main([programInvocationName, ...programArgs]); + exit(exit_code);