diff options
author | Franz Geffke <franz@pantherx.org> | 2023-06-25 16:07:34 +0100 |
---|---|---|
committer | Franz Geffke <franz@pantherx.org> | 2023-06-25 16:07:34 +0100 |
commit | 54b4056ac571611892c743b65f4c47dc298c49da (patch) | |
tree | 36e4a84137d2b9bc9a241cf82563da6114bf6189 /px/packages/tmetric.scm |
initial commit
Diffstat (limited to 'px/packages/tmetric.scm')
-rw-r--r-- | px/packages/tmetric.scm | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/px/packages/tmetric.scm b/px/packages/tmetric.scm new file mode 100644 index 0000000..615bd9b --- /dev/null +++ b/px/packages/tmetric.scm @@ -0,0 +1,106 @@ +(define-module (px packages tmetric) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (guix build-system trivial) + #:use-module (gnu packages bash) + #:use-module (gnu packages bootstrap) + #:use-module (gnu packages commencement) + #:use-module (gnu packages compression) + #:use-module (gnu packages elf) + #:use-module (gnu packages base) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages xorg)) + + (define-public tmetric + (package + (name "tmetric") + (version "20.2.4") + (source (origin + (method url-fetch) + (uri (string-append "https://source.pantherx.org/" name "_" version ".tgz")) + (sha256 + (base32 + "0ssw356b6a4z14vw74pdcplz326x6qwxpx6gnwgfg2s004w6raj8")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils) + (srfi srfi-26)) + (let* ((source (assoc-ref %build-inputs "source")) + (atk (assoc-ref %build-inputs "atk")) + (bash (assoc-ref %build-inputs "bash")) + (cairo (assoc-ref %build-inputs "cairo")) + (coreutils (assoc-ref %build-inputs "coreutils")) + (gdk-pixbuf (assoc-ref %build-inputs "gdk-pixbuf")) + (glib (assoc-ref %build-inputs "glib")) + (gzip (assoc-ref %build-inputs "gzip")) + (gtk (assoc-ref %build-inputs "gtk+")) + (pango (assoc-ref %build-inputs "pango")) + (patchelf (assoc-ref %build-inputs "patchelf")) + (tar (assoc-ref %build-inputs "tar")) + (xz (assoc-ref %build-inputs "xz")) + (libx11 (assoc-ref %build-inputs "libx11")) + (libxss (assoc-ref %build-inputs "libxscrnsaver")) + (ld-so (string-append (assoc-ref %build-inputs "glibc") + ,(glibc-dynamic-linker))) + (bin-dir (string-append %output "/bin"))) + (mkdir-p bin-dir) + (setenv "PATH" (string-append + (string-append bash "/bin:") + (string-append coreutils "/bin:") + (string-append gzip "/bin:") + (string-append patchelf "/bin:") + (string-append tar "/bin:") + (string-append xz "/bin:"))) + (invoke "tar" "xvf" source) + (invoke "tar" "xvf" "tmetric/data.tar.xz") + (substitute* '("usr/share/applications/tmetricdesktop.desktop") + (("Exec=/usr/share/tmetricdesktop/TMetricDesktop") (string-append "Exec=" %output "/bin/tmetric"))) + (copy-recursively "usr" %output) + (invoke "patchelf" "--set-interpreter" ld-so (string-append %output "/share/tmetricdesktop/TMetricDesktop")) + (invoke "ln" "-s" (string-append %output "/share/tmetricdesktop/TMetricDesktop") + (string-append %output "/bin/tmetric")) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append gdk-pixbuf "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append pango "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append glib "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append cairo "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append libx11 "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append gtk "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append libxss "/lib")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("PATH" ":" prefix (,(string-append gtk "/bin")))) + (wrap-program (string-append %output "/share/tmetricdesktop/TMetricDesktop") + `("LD_LIBRARY_PATH" ":" prefix (,(string-append atk "/lib")))) + #t)))) + (native-inputs `(("coreutils" ,coreutils) + ("cairo" ,cairo) + ("gcc-toolchain" ,gcc-toolchain) + ("glib" ,glib) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk+" ,gtk+-2) + ("glibc" ,glibc) + ("libx11" ,libx11) + ("libxscrnsaver" ,libxscrnsaver) + ("gzip" ,gzip) + ("pango" ,pango) + ("patchelf" ,patchelf) + ("tar" ,tar) + ("xz" ,xz))) + (inputs `(("bash" ,bash) + ("zlib" ,zlib))) + (home-page "https://tmetric.com/") + (synopsis "Free Time Tracking Software & App") + (description "TMetric is a simple and accurate work time-tracker +that sets you free from tedious time reporting.") + (license license:expat))) |