From 916f15c469d75f9be730a8f427a2f4a6429846c6 Mon Sep 17 00:00:00 2001 From: nixdrin <146267602+nixdrin@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:15:28 +0200 Subject: [PATCH 1/3] gtimelog: convert to python application --- .../default.nix => by-name/gt/gtimelog/package.nix} | 10 ++++------ pkgs/top-level/all-packages.nix | 2 -- pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 -- 4 files changed, 5 insertions(+), 10 deletions(-) rename pkgs/{development/python-modules/gtimelog/default.nix => by-name/gt/gtimelog/package.nix} (88%) diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/by-name/gt/gtimelog/package.nix similarity index 88% rename from pkgs/development/python-modules/gtimelog/default.nix rename to pkgs/by-name/gt/gtimelog/package.nix index 6d6accc642a8..e15fcf2570ba 100644 --- a/pkgs/development/python-modules/gtimelog/default.nix +++ b/pkgs/by-name/gt/gtimelog/package.nix @@ -1,10 +1,8 @@ -{ lib, fetchFromGitHub, makeWrapper +{ lib, fetchFromGitHub, python3Packages, makeWrapper , glibcLocales, gobject-introspection, gtk3, libsoup, libsecret -, buildPythonPackage, python -, pygobject3, freezegun, mock }: -buildPythonPackage rec { +python3Packages.buildPythonApplication rec { pname = "gtimelog"; version = "unstable-2020-05-16"; format = "setuptools"; @@ -21,12 +19,12 @@ buildPythonPackage rec { glibcLocales gtk3 libsoup libsecret ]; - propagatedBuildInputs = [ + propagatedBuildInputs = with python3Packages; [ pygobject3 freezegun mock ]; checkPhase = '' - substituteInPlace runtests --replace "/usr/bin/env python3" "${python.interpreter}" + substituteInPlace runtests --replace "/usr/bin/env python3" "${python3Packages.python.interpreter}" ./runtests ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f80f742702fb..22b1e3f3daf6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31758,8 +31758,6 @@ with pkgs; gthumb = callPackage ../applications/graphics/gthumb { }; - gtimelog = with python3Packages; toPythonApplication gtimelog; - inherit (gnome) gucharmap; guitarix = callPackage ../applications/audio/guitarix { diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 9c167009a8dd..52556d097c94 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -192,6 +192,7 @@ mapAliases ({ grappelli_safe = grappelli-safe; # added 2023-10-08 groestlcoin_hash = groestlcoin-hash; # added 2024-01-06 grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21 + inherit (pkgs) gtimelog; guzzle_sphinx_theme = guzzle-sphinx-theme; # added 2023-10-16 ha-av = throw "ha-av was removed, because it is no longer maintained"; # added 2022-04-06 HAP-python = hap-python; # added 2021-06-01 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6375fac04d61..66a00b483562 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4982,8 +4982,6 @@ self: super: with self; { gtfs-realtime-bindings = callPackage ../development/python-modules/gtfs-realtime-bindings { }; - gtimelog = callPackage ../development/python-modules/gtimelog { }; - gto = callPackage ../development/python-modules/gto { }; gtts = callPackage ../development/python-modules/gtts { }; From d111dade74e3257aaeac0deefc8adcea22d2423f Mon Sep 17 00:00:00 2001 From: nixdrin <146267602+nixdrin@users.noreply.github.com> Date: Fri, 8 Dec 2023 15:20:45 +0100 Subject: [PATCH 2/3] gtimelog: unstable-2020-05-16 -> unstable-2023-10-05, cleanup - use wrapGAppsHook - use patchShebangs - move freezegun to checkInputs - libsoup_3 is needed now - gnome-keyring was replaced with libsecret --- pkgs/by-name/gt/gtimelog/package.nix | 38 +++++++++++++--------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/pkgs/by-name/gt/gtimelog/package.nix b/pkgs/by-name/gt/gtimelog/package.nix index e15fcf2570ba..ddcdff2e08a2 100644 --- a/pkgs/by-name/gt/gtimelog/package.nix +++ b/pkgs/by-name/gt/gtimelog/package.nix @@ -1,39 +1,40 @@ -{ lib, fetchFromGitHub, python3Packages, makeWrapper -, glibcLocales, gobject-introspection, gtk3, libsoup, libsecret +{ lib, fetchFromGitHub, python3Packages, wrapGAppsHook +, glibcLocales, gobject-introspection, gtk3, libsoup_3, libsecret }: python3Packages.buildPythonApplication rec { pname = "gtimelog"; - version = "unstable-2020-05-16"; + version = "unstable-2023-10-05"; format = "setuptools"; src = fetchFromGitHub { owner = pname; repo = pname; - rev = "80682ddbf9e0d68b8c67257289784f3b49b543d8"; - sha256 = "0qv2kv7vc3qqlzxsisgg31cmrkkqgnmxspbj10c5fhdmwzzwi0i9"; + rev = "ba606cbe8eef0e3dc098c6ab3bcbe381bf7ef410"; + hash = "sha256-+iBHfbUJtAtI/vcHj0Y8f9OxAp1SnhQyMqedVzSYPZQ="; }; - nativeBuildInputs = [ makeWrapper gobject-introspection ]; - buildInputs = [ - glibcLocales gtk3 libsoup libsecret - ]; - + nativeBuildInputs = [ wrapGAppsHook gobject-introspection ]; + buildInputs = [ glibcLocales gtk3 libsoup_3 libsecret ]; propagatedBuildInputs = with python3Packages; [ - pygobject3 freezegun mock + pygobject3 + ]; + checkInputs = with python3Packages; [ + freezegun ]; checkPhase = '' - substituteInPlace runtests --replace "/usr/bin/env python3" "${python3Packages.python.interpreter}" + patchShebangs ./runtests ./runtests ''; pythonImportsCheck = [ "gtimelog" ]; + dontWrapGApps = true; + + # Arguments to be passed to `makeWrapper`, only used by buildPython* preFixup = '' - wrapProgram $out/bin/gtimelog \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix LD_LIBRARY_PATH ":" "${gtk3.out}/lib" \ + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; meta = with lib; { @@ -42,14 +43,9 @@ python3Packages.buildPythonApplication rec { GTimeLog is a small time tracking application for GNOME. It's main goal is to be as unintrusive as possible. - To run gtimelog successfully on a system that does not have full GNOME 3 + To run gtimelog successfully on a system that does not have full GNOME installed, the following NixOS options should be set: - programs.dconf.enable = true; - - services.gnome.gnome-keyring.enable = true; - - In addition, the following packages should be added to the environment: - - gnome.adwaita-icon-theme - - gnome.dconf ''; homepage = "https://gtimelog.org/"; license = licenses.gpl2Plus; From 2157862aeab7d904d4f303669694a14857c1a510 Mon Sep 17 00:00:00 2001 From: nixdrin <146267602+nixdrin@users.noreply.github.com> Date: Fri, 6 Oct 2023 18:05:23 +0200 Subject: [PATCH 3/3] gtimelog: install desktop entry --- pkgs/by-name/gt/gtimelog/package.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/by-name/gt/gtimelog/package.nix b/pkgs/by-name/gt/gtimelog/package.nix index ddcdff2e08a2..05a0c7e3dd99 100644 --- a/pkgs/by-name/gt/gtimelog/package.nix +++ b/pkgs/by-name/gt/gtimelog/package.nix @@ -37,6 +37,12 @@ python3Packages.buildPythonApplication rec { makeWrapperArgs+=("''${gappsWrapperArgs[@]}") ''; + postInstall = '' + install -Dm644 gtimelog.desktop $out/share/applications/gtimelog.desktop + install -Dm644 src/gtimelog/gtimelog.png $out/share/icons/hicolor/48x48/apps/gtimelog.png + install -Dm644 src/gtimelog/gtimelog-large.png $out/share/icons/hicolor/256x256/apps/gtimelog.png + ''; + meta = with lib; { description = "A time tracking app"; longDescription = ''