Message ID | cDednQg1dqrDuSZJoFxAbQwMbnCjAjqI4aGh6EbP85U8_HYaniLHDOnT-u8LosMEPx9N96QsIiZOLQac7czQrtu4e3_KG6ru3oZ2MuuW63E=@protonmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#59974] My GNU Health package | expand |
Hi Petr, phodina <phodina@protonmail.com> writes: > Hi Maxim, > >> Would wrap-script instead of wrap-program work here (I think it does for >> Python and other interpreted languages)? This tends to produce cleaner >> --help message, when $0 (arg0) is used in these, and it looks better in >> 'top' since there's only one script and not a .mygnuhealth-real wrapped >> one. > > I've changed the `wrap-program` to `wrap-script` but it fails to run: > > $ $ /gnu/store/zxv1d25inf2iyc9bl5lf2wkrm951mvll-mygnuhealth-1.0.5/bin/mygnuhealth > /gnu/store/zxv1d25inf2iyc9bl5lf2wkrm951mvll-mygnuhealth-1.0.5/bin/mygnuhealth: > /gnu/store/zxv1d25inf2iyc9bl5lf2wkrm951mvll-mygnuhealth-1.0.5/bin/.mygnuhealth-real: > #f: bad interpreter: No such file or directory > /gnu/store/zxv1d25inf2iyc9bl5lf2wkrm951mvll-mygnuhealth-1.0.5/bin/mygnuhealth: > line 3: > /gnu/store/zxv1d25inf2iyc9bl5lf2wkrm951mvll-mygnuhealth-1.0.5/bin/.mygnuhealth-real: > Success > > $ head /gnu/store/zxv1d25inf2iyc9bl5lf2wkrm951mvll-mygnuhealth-1.0.5/bin/.mygnuhealth-real > #!#f --no-auto-compile > #!#; Guix wrapper > > Haven't used the `wrap-script` before but here it puts completely wrong shebang. > > Seems this behavior has been already reported but not resolved. [1] Too bad! I'll try to find the time to look at it soon.
Hello, phodina <phodina@protonmail.com> writes: [...] > Patch V3 changes: > > * added `bash-minimal` and `python` as dependencies. Thanks for V3! > ---- > Petr > > From a997a19afaacb9cff523bff39231b176c4553921 Mon Sep 17 00:00:00 2001 > From: Petr Hodina <phodina@protonmail.com> > Date: Sun, 11 Dec 2022 18:10:17 +0100 > Subject: [PATCH v3] gnu: Add mygnuhealth. > > * gnu/packages/medical.scm (mygnuhealth): New variable. > > diff --git a/gnu/packages/medical.scm b/gnu/packages/medical.scm > index 6c9cc757eb..c41d8c8b3d 100644 > --- a/gnu/packages/medical.scm > +++ b/gnu/packages/medical.scm > @@ -1,6 +1,7 @@ > ;;; GNU Guix --- Functional package management for GNU > ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> > ;;; Copyright © 2017 Quiliro <quiliro@fsfla.org> > +;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -20,12 +21,66 @@ > (define-module (gnu packages medical) > #:use-module (guix build-system python) > #:use-module (guix download) > + #:use-module (guix gexp) > #:use-module (guix licenses) > #:use-module (guix packages) > #:use-module (gnu packages databases) > + #:use-module (gnu packages kde-frameworks) ; kirigami > + #:use-module (gnu packages python-crypto) > + #:use-module (gnu packages python-web) > #:use-module (gnu packages python-xyz) > #:use-module (gnu packages qt)) > > +(define-public mygnuhealth > + (package > + (name "mygnuhealth") > + (version "1.0.5") > + (source (origin > + (method url-fetch) > + (uri (pypi-uri "MyGNUHealth" version)) > + (sha256 > + (base32 > + "1jcrriccqzb4jx7zayhiqmpvi3cvfy3bbf9zr3m83878f94yww8j")))) > + (build-system python-build-system) > + (arguments > + (list #:phases #~(modify-phases %standard-phases > + (add-after 'install 'wrap-executable > + (lambda* (#:key inputs #:allow-other-keys) > + (let ((out #$output) > + (qml "/lib/qt5/qml")) > + (wrap-program (string-append out > + "/bin/mygnuhealth") > + `("QML2_IMPORT_PATH" ":" prefix > + (,(string-append out qml) > + ,@(map (lambda (i) > + (string-append > + (assoc-ref inputs i) qml)) > + '("kirigami" > + "qtdeclarative" > + "qtgraphicaleffects" > + "qtquickcontrols" > + "qtquickcontrols2")))))))) Here it'd be nicer to use wrap-all-qt-programs from (guix build qt-utils), to avoid hard coding the qt version in the QML wrapped path. > + (add-before 'check 'env-setup > + (lambda _ > + (mkdir-p "/tmp/mygh/") > + (setenv "HOME" "/tmp")))))) > + (native-inputs (list python-pyside-2)) > + (inputs (list qtbase-5 > + qtdeclarative-5 > + qtgraphicaleffects > + qtquickcontrols-5 > + qtquickcontrols2-5 > + kirigami)) Sort k before q :-) > + (propagated-inputs (list python-bcrypt python-matplotlib python-requests > + python-tinydb)) > + (home-page "https://www.gnuhealth.org") > + (synopsis "The GNU Health Personal Health Record") > + (description > + "This package provides GNUHealth Personal Health Record > +application for desktop and mobile devices that integrates with the GNU > +Health Federation.") > + (license gpl3+))) The rest LGTM.
From a997a19afaacb9cff523bff39231b176c4553921 Mon Sep 17 00:00:00 2001 From: Petr Hodina <phodina@protonmail.com> Date: Sun, 11 Dec 2022 18:10:17 +0100 Subject: [PATCH v3] gnu: Add mygnuhealth. * gnu/packages/medical.scm (mygnuhealth): New variable. diff --git a/gnu/packages/medical.scm b/gnu/packages/medical.scm index 6c9cc757eb..c41d8c8b3d 100644 --- a/gnu/packages/medical.scm +++ b/gnu/packages/medical.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Quiliro <quiliro@fsfla.org> +;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,12 +21,66 @@ (define-module (gnu packages medical) #:use-module (guix build-system python) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (gnu packages databases) + #:use-module (gnu packages kde-frameworks) ; kirigami + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt)) +(define-public mygnuhealth + (package + (name "mygnuhealth") + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "MyGNUHealth" version)) + (sha256 + (base32 + "1jcrriccqzb4jx7zayhiqmpvi3cvfy3bbf9zr3m83878f94yww8j")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'install 'wrap-executable + (lambda* (#:key inputs #:allow-other-keys) + (let ((out #$output) + (qml "/lib/qt5/qml")) + (wrap-program (string-append out + "/bin/mygnuhealth") + `("QML2_IMPORT_PATH" ":" prefix + (,(string-append out qml) + ,@(map (lambda (i) + (string-append + (assoc-ref inputs i) qml)) + '("kirigami" + "qtdeclarative" + "qtgraphicaleffects" + "qtquickcontrols" + "qtquickcontrols2")))))))) + (add-before 'check 'env-setup + (lambda _ + (mkdir-p "/tmp/mygh/") + (setenv "HOME" "/tmp")))))) + (native-inputs (list python-pyside-2)) + (inputs (list qtbase-5 + qtdeclarative-5 + qtgraphicaleffects + qtquickcontrols-5 + qtquickcontrols2-5 + kirigami)) + (propagated-inputs (list python-bcrypt python-matplotlib python-requests + python-tinydb)) + (home-page "https://www.gnuhealth.org") + (synopsis "The GNU Health Personal Health Record") + (description + "This package provides GNUHealth Personal Health Record +application for desktop and mobile devices that integrates with the GNU +Health Federation.") + (license gpl3+))) + (define-public openmolar-1 (package (name "openmolar") -- 2.38.1