aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; 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 git-download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages fonts)
  #:use-module (gnu packages freedesktop)
  #:use-module (gnu packages geo)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages ghostscript)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages graphviz)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages sqlite)
  #:use-module (gnu packages version-control)
  #:use-module (gnu packages xml))

(define-public gramps
  (package
    (name "gramps")
    (version "5.2.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/gramps-project/gramps")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32 "1gzhi5hxpgc6pxs40xsxf67hndjifnfhm89s3ly68c70x83qmwhd"))))
    (build-system python-build-system)
    (native-inputs
     `(("gettext" ,gettext-minimal)
       ("intltool" ,intltool)
       ("glibc-utf8-locales" ,glibc-utf8-locales))) ;; for one test
    (inputs
     (list bash-minimal
           cairo
           font-gnu-freefont
           geocode-glib
           gexiv2
           ghostscript
           gobject-introspection
           gtk+
           gtkspell3
           graphviz
           (librsvg-for-system)
           osm-gps-map
           pango
           python-bsddb3
           python-jsonschema
           python-lxml
           python-pillow
           python-pycairo
           python-pygobject
           python-pyicu
           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
     "Gramps is a free software project and community striving to produce
a genealogy program that is both intuitive for hobbyists and feature-complete
for professional genealogists.")
    (license license:gpl2+)))
f='/guix/commit/gnu/packages/haskell-xyz.scm?id=0a982a19bf82aa9137e598df8292015de29429bb'>gnu: ghc-alex: Use G-expressions....* gnu/packages/containers.scm (ghc-alex)[arguments]: Use G-expressions. [arguments]: Remove trailing booleans. Signed-off-by: Christopher Baines <mail@cbaines.net> jgart 2022-09-10gnu: Add comments to the bottom of a few package modules....This will hopefully discourage patches which add new packages to the bottom of files, as this increases the likelihood of conflicts when applying patches. If there are more specific ways that packages should be arranged in specific modules, this message can be updated accordingly. * gnu/packages/bioconductor.scm: Add comment discouraging adding packages to the bottom of the file. * gnu/packages/bioinformatics.scm: ditto. * gnu/packages/cran.scm: ditto. * gnu/packages/crates-io.scm: ditto. * gnu/packages/emacs-xyz.scm: ditto. * gnu/packages/golang.scm: ditto. * gnu/packages/guile-xyz.scm: ditto. * gnu/packages/haskell-xyz.scm: ditto. * gnu/packages/java.scm: ditto. * gnu/packages/julia-xyz.scm: ditto. * gnu/packages/lisp-xyz.scm: ditto. * gnu/packages/ocaml.scm: ditto. * gnu/packages/perl.scm: ditto. * gnu/packages/python-science.scm: ditto. * gnu/packages/python-xyz.scm: ditto. * gnu/packages/ruby.scm: ditto. * gnu/packages/tex.scm: ditto. Christopher Baines 2022-08-31gnu: Add ghc-roman-numerals....* gnu/packages/haskell-xyz.scm (ghc-roman-numerals): New variable. Signed-off-by: David Thompson <davet@gnu.org> Alice BRENON 2022-08-30gnu: ghc-statistics: Properly enable tests....The comment states there are test failures and hence it is implied that the intent was to disable tests, not enable them, but tests pass and the code below enabled tests instead of disabling them. Remove #:tests? #true to satisfy the tests-true linter. * gnu/packages/haskell-xyz.scm (ghc-statistics)[arguments]{#:tests?}: Remove. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Maxime Devos 2022-03-18gnu: ghc-optparse-applicative@0.15.1.0: Avoid circular top-level references....* gnu/packages/purescript.scm (ghc-optparse-applicative-0.15.1.0): Move to... * gnu/packages/haskell-xyz.scm (ghc-optparse-applicative-0.15.1.0): ... here. Ludovic Courtès 2022-01-17gnu: Add ghc-semirings....* gnu/packages/haskell-xyz.scm (ghc-semirings): New variable. Signed-off-by: Lars-Dominik Braun <lars@6xq.net> John Kehayias via Guix-patches via 2022-01-17gnu: Add ghc-primitive-addr....* gnu/packages/haskell-xyz.scm (ghc-primitive-addr): New variable. Signed-off-by: Lars-Dominik Braun <lars@6xq.net> John Kehayias via Guix-patches via