Subject: [bug#59974] [PATCH v4] gnu: Add mygnuhealth.

From: [email-masked]
Date: Sun, 12 Feb 2023 20:08:49 -0500

From: Petr Hodina <[email-masked]>

* gnu/packages/medical.scm (mygnuhealth): New variable.
---

Hello!

I hope I'm not over reaching or stealing anyone's thunder but I completed the
patch with Maxim's suggestions.

Please double check that the author stays as "Petr Hodina" and not me.  I
barely did anything.

Thanks,

Morgan

 gnu/packages/medical.scm | 52 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/medical.scm b/gnu/packages/medical.scm
index 6c9cc757eb..20f7411938 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 <[email-masked]>
 ;;; Copyright © 2017 Quiliro <[email-masked]>
+;;; Copyright © 2022 Petr Hodina <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,13 +20,64 @@
 
 (define-module (gnu packages medical)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix download)
+  #:use-module (guix gexp)
   #:use-module (guix licenses)
   #:use-module (guix packages)
+  #:use-module (gnu packages bash) ; wrap-program
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages kde-frameworks) ; kirigami
+  #:use-module (gnu packages python)
+  #: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
+      #:imported-modules `(,@%python-build-system-modules
+                           ,@%qt-build-system-modules)
+      #:modules `(((guix build qt-build-system) #:prefix qt:)
+                  (guix build python-build-system)
+                  (guix build utils))
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'install 'qt-wrap
+                     (assoc-ref qt:%standard-phases 'qt-wrap))
+                   (add-before 'check 'env-setup
+                     (lambda _
+                       (mkdir-p "/tmp/mygh/")
+                       (setenv "HOME" "/tmp"))))))
+    (native-inputs (list python-pyside-2))
+    (inputs (list bash-minimal
+                  kirigami
+                  python
+                  qtbase-5
+                  qtdeclarative-5
+                  qtgraphicaleffects
+                  qtquickcontrols-5
+                  qtquickcontrols2-5))
+    (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.39.1