guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 37ba8866362c3c1861aa8f70a86f81657d3e3902
Author: Nicolas Graves <[email protected]>
AuthorDate: Sat Sep 27 15:08:44 2025 +0200
gnu: gramps: Switch to pyproject.
* gnu/packages/genealogy.scm (gramps):
[build-system]: Switch to pyproject-build-system.
[arguments]: Relocate, improve style.
<#:phases>: Refresh phase 'wrap-with-GI_TYPELIB_PATH. Merge phases
'prepare-tests and 'set-home-for-tests.
[native-inputs]: Add python-setuptools.
Change-Id: I889bde2a6db4ed249c1e9137fc0274bb44e87f47
Signed-off-by: Sharlatan Hellseher <[email protected]>
---
gnu/packages/genealogy.scm | 85 ++++++++++++++++++++++++----------------------
1 file changed, 44 insertions(+), 41 deletions(-)
diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm
index 668505a71a..f244b5db6c 100644
--- a/gnu/packages/genealogy.scm
+++ b/gnu/packages/genealogy.scm
@@ -18,9 +18,10 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages genealogy)
- #:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -34,6 +35,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages version-control)
@@ -52,11 +54,48 @@
(file-name (git-file-name name version))
(sha256
(base32 "1gzhi5hxpgc6pxs40xsxf67hndjifnfhm89s3ly68c70x83qmwhd"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:imported-modules
+ `((guix build glib-or-gtk-build-system)
+ ,@%pyproject-build-system-modules)
+ #:modules
+ `((ice-9 match)
+ (srfi srfi-1)
+ (guix build pyproject-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'prepare-tests
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR"))
+ ;; Presence of .git directory is used to determine whether this
+ ;; is a final installation. Without it, tests fail to determine
+ ;; resource path.
+ (mkdir ".git")
+ ;; Test is failing
+ (delete-file "gramps/gen/utils/test/file_test.py")))
+ (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-program (string-append #$output "/bin/gramps")
+ `("GI_TYPELIB_PATH" ":" prefix
+ ,(filter-map
+ (match-lambda
+ ((output . directory)
+ (let ((girepodir (string-append
+ directory
+ "/lib/girepository-1.0")))
+ (and (file-exists? girepodir)
+ girepodir))))
+ inputs)))))
+ (add-after 'wrap 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("intltool" ,intltool)
- ("glibc-utf8-locales" ,glibc-utf8-locales))) ;; for one test
+ (list gettext-minimal intltool
+ glibc-utf8-locales ;for one test
+ python-setuptools))
(inputs
(list bash-minimal
cairo
@@ -81,42 +120,6 @@
rcs
sqlite
xdg-utils))
- (arguments
- `(#:imported-modules ((guix build glib-or-gtk-build-system)
- ,@%python-build-system-modules)
- #:modules ((ice-9 match)
- (guix build python-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
- (guix build utils))
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'set-home-for-tests
- (lambda _
- (setenv "HOME" (getenv "TMPDIR"))))
- (add-before 'check 'prepare-tests
- (lambda _
- ;; Presence of .git directory is used to determine whether this
- ;; is a final installation. Without it, tests fail to determine
- ;; resource path.
- (mkdir ".git")
- ;; Test is failing
- (delete-file "gramps/gen/utils/test/file_test.py")))
- (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (paths (map (match-lambda
- ((output . directory)
- (let ((girepodir (string-append
- directory
- "/lib/girepository-1.0")))
- (if (file-exists? girepodir)
- girepodir
- #f))))
- inputs)))
- (wrap-program (string-append out "/bin/gramps")
- `("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths))))))
- (add-after 'wrap 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://gramps-project.org")
(synopsis "Genealogical research software")
(description