summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/gramps')
-rw-r--r--app-misc/gramps/Manifest5
-rw-r--r--app-misc/gramps/files/gramps-4.2.8-uncompressed-docs.patch33
-rw-r--r--app-misc/gramps/files/gramps-5.1.3-test_locale.patch30
-rw-r--r--app-misc/gramps/files/gramps-5.1.6-pep517_setup.patch163
-rw-r--r--app-misc/gramps/files/gramps-5.2.1-test_locale.patch30
-rw-r--r--app-misc/gramps/gramps-4.2.8.ebuild57
-rw-r--r--app-misc/gramps/gramps-5.0.1.ebuild71
-rw-r--r--app-misc/gramps/gramps-5.0.2.ebuild71
-rw-r--r--app-misc/gramps/gramps-5.1.6-r3.ebuild91
-rw-r--r--app-misc/gramps/gramps-5.2.2.ebuild85
-rw-r--r--app-misc/gramps/metadata.xml42
11 files changed, 422 insertions, 256 deletions
diff --git a/app-misc/gramps/Manifest b/app-misc/gramps/Manifest
index 0a81bf89f401..11642f054cd5 100644
--- a/app-misc/gramps/Manifest
+++ b/app-misc/gramps/Manifest
@@ -1,3 +1,2 @@
-DIST gramps-4.2.8.tar.gz 18704769 BLAKE2B 795febcc2c93a0c9b72aceeba1ac4c4f10953c2bf3b23dd8d38f662a231e21967e6f263e14d2344ef2f422e170617b7b80be4fafc2cb20c4a659366836b0e641 SHA512 c814914eb3a650dd5753d83e492d91d5db11b55321f63bd460e4eb8d80a36dd727a3792a203e3061dfaa89fd13549f51809bb83cc65b2a494c1fb8f42dcb4b8f
-DIST gramps-5.0.1.tar.gz 16718439 BLAKE2B 75b4a70275f7e6e181ba948df6fe44cbb9221436c2e860db8ef83bcc02b916aa3921ae09fa8ed18876f28551ed10b5047ae1aef0967b48532b54ad97c8af6d8a SHA512 68b905a8e59eedb620329b05bdd4cca842a79f885645140d31b637fc82ec7470892ebf0fd899aeb6a1205473f79e7f13d6c5e05b36da94b9049dcbb78e07aa76
-DIST gramps-5.0.2.tar.gz 16706686 BLAKE2B 006c8d10d574d7fe92b661400c257f6f1bc2b2e9e27d788ca761a5d51aa8593f9d26fdccdeeb0fb2860bfe1b08d937e938b3fb21094a42de0fb306d3c16dca49 SHA512 abbf885189bedcf9897bcb3216df86af41498c94b3b9c133350e84a8a61057ab4ed4823c3923823ec99fe0be92648e9259fdceaafd31f968c7d1560a0cd859da
+DIST gramps-5.1.6.tar.gz 17429153 BLAKE2B fe94d80ff209e1f27ec1cfa533e916514336c1d367435e0a9da4b8309efbc9c047302a67ec24e28237eaead67ff63e76bd1384ac1e3df10e08ae98aca126566b SHA512 419bbfa54ca3bf33e71fd579c84a56eebe4afc78ccd50c23b2d62869684709ccbf373e8da0e65835d9fc21a29d2d144597d6cf8c425e14c91574535d4b1ab64d
+DIST gramps-5.2.2.tar.gz 21070723 BLAKE2B 8edf794e766663a1536cc50599a418ccb6e06ea832be14227aaa29336a1165f54c00cfb5fa7ed6657256b6660d3217ac4f4e2e62d41097d66808f0f4f554238c SHA512 4e2480081c16a61e9b0d4b0bbecccf4e6af6a40498d6994d8103ac37a7f3ce7993359fc0a9ee72cb06173ab82e17029e1a731bcf4af360cfc73e3c44c9800ef5
diff --git a/app-misc/gramps/files/gramps-4.2.8-uncompressed-docs.patch b/app-misc/gramps/files/gramps-4.2.8-uncompressed-docs.patch
deleted file mode 100644
index 8d43447027dc..000000000000
--- a/app-misc/gramps/files/gramps-4.2.8-uncompressed-docs.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 0177ce7..7aaa681 100644
---- a/setup.py
-+++ b/setup.py
-@@ -160,27 +160,8 @@ def build_man(build_cmd):
- subst_vars = (('@VERSION@', VERSION), )
- substitute_variables(filename, newfile, subst_vars)
-
-- import gzip
-- man_file_gz = os.path.join(newdir, 'gramps.1.gz')
-- if os.path.exists(man_file_gz):
-- if newer(filename, man_file_gz):
-- os.remove(man_file_gz)
-- else:
-- filename = False
-- os.remove(newfile)
--
-- if filename:
-- #Binary io, so open is OK
-- with open(newfile, 'rb') as f_in,\
-- gzip.open(man_file_gz, 'wb') as f_out:
-- f_out.writelines(f_in)
-- log.info('Compiling %s >> %s', filename, man_file_gz)
--
-- os.remove(newfile)
-- filename = False
--
- lang = man_dir[8:]
-- src = build_cmd.build_base + '/data/man/' + lang + '/gramps.1.gz'
-+ src = build_cmd.build_base + '/data/man/' + lang + '/gramps.1'
- target = 'share/man/' + lang + '/man1'
- data_files.append((target, [src]))
-
diff --git a/app-misc/gramps/files/gramps-5.1.3-test_locale.patch b/app-misc/gramps/files/gramps-5.1.3-test_locale.patch
new file mode 100644
index 000000000000..40eba66dd216
--- /dev/null
+++ b/app-misc/gramps/files/gramps-5.1.3-test_locale.patch
@@ -0,0 +1,30 @@
+GEDCOM-import tests explicitly set the locale to en_US.UTF8 because they
+assume a US date and time format. That locale is not guaranteed to be
+present and checking that in ebuild is a hassle, therefore use C.UTF8
+instead - it's similar enough.
+
+--- a/data/tests/imp_sample.gramps
++++ b/data/tests/imp_sample.gramps
+@@ -1706,7 +1706,7 @@
+ </style>
+ </note>
+ <note handle="_000000f9000000f9" change="1591544255" id="N0036" type="General">
+- <text>Objects referenced by this note were missing in a file imported on 12/25/1999 12:00:00 AM.</text>
++ <text>Objects referenced by this note were missing in a file imported on 12/25/99 00:00:00.</text>
+ </note>
+ </notes>
+ </database>
+--- a/gramps/plugins/test/imports_test.py
++++ b/gramps/plugins/test/imports_test.py
+@@ -51,10 +51,7 @@
+ # ------------------------------------------------------------------
+
+ # These tests assume a US date and time format.
+-try:
+- locale.setlocale(locale.LC_ALL, 'en_US.utf8')
+-except locale.Error: # seems to fail on Windows system for some reason
+- locale.setlocale(locale.LC_ALL, 'English_United States')
++locale.setlocale(locale.LC_ALL, 'C.utf8')
+
+
+ def mock_time(*args):
diff --git a/app-misc/gramps/files/gramps-5.1.6-pep517_setup.patch b/app-misc/gramps/files/gramps-5.1.6-pep517_setup.patch
new file mode 100644
index 000000000000..7853b23ba1b8
--- /dev/null
+++ b/app-misc/gramps/files/gramps-5.1.6-pep517_setup.patch
@@ -0,0 +1,163 @@
+--- a/setup.py
++++ b/setup.py
+@@ -23,7 +23,7 @@
+ #
+
+ '''
+-Gramps distutils module.
++Gramps setuptools module.
+ '''
+
+ #check python version first
+@@ -32,11 +32,11 @@
+ if sys.version_info < (3, 2):
+ raise SystemExit("Gramps requires Python 3.2 or later.")
+
+-from distutils import log
+-from distutils.core import setup, Command
+-from distutils.util import convert_path, newer
+-from distutils.command.build import build as _build
+-from distutils.command.install import install as _install
++from setuptools import setup, Command
++try:
++ from setuptools.command.build import build as _build
++except ImportError:
++ from distutils.command.build import build as _build
+ import os
+ import glob
+ import codecs
+@@ -45,6 +45,9 @@
+ from gramps.version import VERSION
+ import unittest
+ import argparse
++import logging
++
++_LOG = logging.getLogger(".setup")
+
+ # this list MUST be a subset of _LOCALE_NAMES in gen/utils/grampslocale.py
+ # (that is, if you add a new language here, be sure it's in _LOCALE_NAMES too)
+@@ -75,6 +78,17 @@
+ packaging = True
+ sys.argv = [sys.argv[0]] + passthrough
+
++def newer(source, target):
++ '''
++ Determines if a target file needs to be rebuilt.
++
++ Returns True if the target file doesn't exist or if the source file is
++ newer than the target file.
++ '''
++ if not os.path.exists(target):
++ return True
++ return os.path.getmtime(source) > os.path.getmtime(target)
++
+ def intltool_version():
+ '''
+ Return the version of intltool as a tuple.
+@@ -140,7 +154,7 @@
+ reply = input(ask)
+ if reply in ['n', 'N']:
+ raise SystemExit(msg)
+- log.info('Compiling %s >> %s', po_file, mo_file)
++ _LOG.info('Compiling %s >> %s', po_file, mo_file)
+
+ #linux specific piece:
+ target = 'share/locale/' + lang + '/LC_MESSAGES'
+@@ -179,7 +193,7 @@
+ with open(newfile, 'rb') as f_in,\
+ gzip.open(man_file_gz, 'wb') as f_out:
+ f_out.writelines(f_in)
+- log.info('Compiling %s >> %s', filename, man_file_gz)
++ _LOG.info('Compiling %s >> %s', filename, man_file_gz)
+
+ os.remove(newfile)
+ filename = False
+@@ -193,30 +207,26 @@
+ '''
+ Merge translation files into desktop and mime files
+ '''
+- for filename in _FILES:
+- filename = convert_path(filename)
+- strip_files(filename + '.in', filename, ['_tip', '_name'])
+-
+ i_v = intltool_version()
+ if i_v is None or i_v < (0, 25, 0):
+- log.info('No intltool or version < 0.25.0, build_intl is aborting')
++ _LOG.info('No intltool or version < 0.25.0, build_intl is aborting')
+ return
+ data_files = build_cmd.distribution.data_files
+ base = build_cmd.build_base
+
+- merge_files = (('data/gramps.desktop', 'share/applications', '-d'),
+- ('data/gramps.keys', 'share/mime-info', '-k'),
+- ('data/gramps.xml', 'share/mime/packages', '-x'),
+- ('data/gramps.appdata.xml', 'share/metainfo', '-x'))
++ merge_files = (('gramps.desktop', 'share/applications', '-d'),
++ ('gramps.keys', 'share/mime-info', '-k'),
++ ('gramps.xml', 'share/mime/packages', '-x'),
++ ('gramps.appdata.xml', 'share/metainfo', '-x'))
+
+ for filename, target, option in merge_files:
+- filenamelocal = convert_path(filename)
++ filenamelocal = os.path.join('data', filename)
+ newfile = os.path.join(base, filenamelocal)
+ newdir = os.path.dirname(newfile)
+ if not(os.path.isdir(newdir) or os.path.islink(newdir)):
+ os.makedirs(newdir)
+ merge(filenamelocal + '.in', newfile, option)
+- data_files.append((target, [base + '/' + filename]))
++ data_files.append((target, [base + '/data/' + filename]))
+
+ def strip_files(in_file, out_file, mark):
+ '''
+@@ -232,7 +242,7 @@
+ line = line.replace(marker, marker[1:])
+ fb.write(line)
+ old.close()
+- log.info('Compiling %s >> %s', in_file, out_file)
++ _LOG.info('Compiling %s >> %s', in_file, out_file)
+
+ def merge(in_file, out_file, option, po_dir='po', cache=True):
+ '''
+@@ -262,7 +272,7 @@
+ msg = ('ERROR: %s was not merged into the translation files!\n' %
+ out_file)
+ raise SystemExit(msg)
+- log.info('Compiling %s >> %s', in_file, out_file)
++ _LOG.info('Compiling %s >> %s', in_file, out_file)
+
+ class build(_build):
+ """Custom build command."""
+@@ -273,22 +283,6 @@
+ build_intl(self)
+ _build.run(self)
+
+-class install(_install):
+- """Custom install command."""
+- def run(self):
+- resource_file = os.path.join(os.path.dirname(__file__), 'gramps', 'gen',
+- 'utils', 'resource-path')
+- with open(resource_file, 'w', encoding='utf-8', errors='strict') as fp:
+- if packaging:
+- path = resource_path
+- else:
+- path = os.path.abspath(os.path.join(self.install_data, 'share'))
+- fp.write(path)
+-
+- _install.run(self)
+-
+- os.remove(resource_file)
+-
+ class test(Command):
+ """Command to run Gramps unit tests"""
+ description = "run all unit tests"
+@@ -503,7 +497,7 @@
+ url = 'http://gramps-project.org',
+ license = 'GPL v2 or greater',
+ platforms = ['FreeBSD', 'Linux', 'MacOS', 'Windows'],
+- cmdclass = {'build': build, 'install': install, 'test': test},
++ cmdclass = {'build': build, 'test': test},
+ packages = packages,
+ package_data = {'gramps': package_data},
+ data_files = data_files,
+Binary files a/.setup.py.swp and b/.setup.py.swp differ
diff --git a/app-misc/gramps/files/gramps-5.2.1-test_locale.patch b/app-misc/gramps/files/gramps-5.2.1-test_locale.patch
new file mode 100644
index 000000000000..e1e0b7997075
--- /dev/null
+++ b/app-misc/gramps/files/gramps-5.2.1-test_locale.patch
@@ -0,0 +1,30 @@
+GEDCOM-import tests explicitly set the locale to en_US.UTF8 because they
+assume a US date and time format. That locale is not guaranteed to be
+present and checking that in ebuild is a hassle, therefore use C.UTF8
+instead - it's similar enough.
+
+--- a/data/tests/imp_sample.gramps
++++ b/data/tests/imp_sample.gramps
+@@ -1719,7 +1719,7 @@
+ </style>
+ </note>
+ <note handle="_000000fa000000fa" change="1695230065" id="N0037" type="General">
+- <text>Objects referenced by this note were missing in a file imported on 12/25/1999 12:00:00 AM.</text>
++ <text>Objects referenced by this note were missing in a file imported on 12/25/99 00:00:00.</text>
+ </note>
+ </notes>
+ </database>
+--- a/gramps/plugins/test/imports_test.py
++++ b/gramps/plugins/test/imports_test.py
+@@ -54,10 +54,7 @@
+ # ------------------------------------------------------------------
+
+ # These tests assume a US date and time format.
+-try:
+- locale.setlocale(locale.LC_ALL, "en_US.utf8")
+-except locale.Error: # seems to fail on Windows system for some reason
+- locale.setlocale(locale.LC_ALL, "English_United States")
++locale.setlocale(locale.LC_ALL, "C.utf8")
+
+
+ def mock_time(*args):
diff --git a/app-misc/gramps/gramps-4.2.8.ebuild b/app-misc/gramps/gramps-4.2.8.ebuild
deleted file mode 100644
index 55d28850eb5e..000000000000
--- a/app-misc/gramps/gramps-4.2.8.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python3_{5,6} )
-
-DISTUTILS_SINGLE_IMPL=1
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Genealogical Research and Analysis Management Programming System"
-HOMEPAGE="https://gramps-project.org/"
-SRC_URI="https://github.com/gramps-project/${PN}/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+rcs +reports exif geo postscript spell"
-
-RDEPEND="
- dev-python/bsddb3[${PYTHON_USEDEP}]
- dev-python/pycairo[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
- dev-python/pyicu[${PYTHON_USEDEP}]
- gnome-base/librsvg:2
- >x11-libs/gtk+-3.14.8:3[introspection]
- x11-libs/pango[introspection]
- x11-misc/xdg-utils
- reports? ( media-gfx/graphviz[postscript?] )
- exif? ( >=media-libs/gexiv2-0.5[${PYTHON_USEDEP},introspection] )
- geo? ( >=sci-geosciences/osm-gps-map-1.1.0 )
- spell? ( app-text/gtkspell:3[introspection] )
- rcs? ( dev-vcs/rcs )
-"
-
-python_prepare_all() {
- # Install documentation to the proper location. This can't be done
- # easily with a patch because we substitute in the $PF variable,
- # and that changes with every revision.
- sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
- eapply "${FILESDIR}/${P}-uncompressed-docs.patch"
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- mydistutilsargs=( --resourcepath=/usr/share )
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-misc/gramps/gramps-5.0.1.ebuild b/app-misc/gramps/gramps-5.0.1.ebuild
deleted file mode 100644
index 858b7da41f7e..000000000000
--- a/app-misc/gramps/gramps-5.0.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{5,6} )
-PYTHON_REQ_USE="sqlite"
-
-DISTUTILS_SINGLE_IMPL=1
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Genealogical Research and Analysis Management Programming System"
-HOMEPAGE="https://gramps-project.org/"
-SRC_URI="https://github.com/gramps-project/${PN}/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="+rcs +reports exif geo postscript spell"
-
-RDEPEND="
- dev-python/bsddb3[${PYTHON_USEDEP}]
- dev-python/pycairo[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
- dev-python/pyicu[${PYTHON_USEDEP}]
- gnome-base/librsvg:2
- >x11-libs/gtk+-3.14.8:3[introspection]
- x11-libs/pango[introspection]
- x11-misc/xdg-utils
- reports? ( media-gfx/graphviz[postscript?] )
- exif? ( >=media-libs/gexiv2-0.5[${PYTHON_USEDEP},introspection] )
- geo? ( >=sci-geosciences/osm-gps-map-1.1.0 )
- spell? ( app-text/gtkspell:3[introspection] )
- rcs? ( dev-vcs/rcs )
-"
-
-python_prepare_all() {
- # Install documentation to the proper location. This can't be done
- # easily with a patch because we substitute in the $PF variable,
- # and that changes with every revision.
- sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- mydistutilsargs=(
- --resourcepath=/usr/share
- --no-compress-manpages
- )
-}
-
-python_test_all() {
- # GRAMPS builds just fine out of tree but it confuses its test suite.
- # The following might be an ugly hack but at least it lets the tests
- # run properly until either I or upstream have come up with something
- # better.
- rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \
- die "Failed to symlink build directory to source directory"
-
- esetup.py test
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-misc/gramps/gramps-5.0.2.ebuild b/app-misc/gramps/gramps-5.0.2.ebuild
deleted file mode 100644
index 3ce0f03cb286..000000000000
--- a/app-misc/gramps/gramps-5.0.2.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{5,6} )
-PYTHON_REQ_USE="sqlite"
-
-DISTUTILS_SINGLE_IMPL=1
-inherit distutils-r1 xdg-utils
-
-DESCRIPTION="Genealogical Research and Analysis Management Programming System"
-HOMEPAGE="https://gramps-project.org/"
-SRC_URI="https://github.com/gramps-project/${PN}/archive/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="+rcs +reports exif geo postscript spell"
-
-RDEPEND="
- dev-python/bsddb3[${PYTHON_USEDEP}]
- dev-python/pycairo[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
- dev-python/pyicu[${PYTHON_USEDEP}]
- gnome-base/librsvg:2
- >x11-libs/gtk+-3.14.8:3[introspection]
- x11-libs/pango[introspection]
- x11-misc/xdg-utils
- reports? ( media-gfx/graphviz[postscript?] )
- exif? ( >=media-libs/gexiv2-0.5[${PYTHON_USEDEP},introspection] )
- geo? ( >=sci-geosciences/osm-gps-map-1.1.0 )
- spell? ( app-text/gtkspell:3[introspection] )
- rcs? ( dev-vcs/rcs )
-"
-
-python_prepare_all() {
- # Install documentation to the proper location. This can't be done
- # easily with a patch because we substitute in the $PF variable,
- # and that changes with every revision.
- sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- mydistutilsargs=(
- --resourcepath=/usr/share
- --no-compress-manpages
- )
-}
-
-python_test_all() {
- # GRAMPS builds just fine out of tree but it confuses its test suite.
- # The following might be an ugly hack but at least it lets the tests
- # run properly until either I or upstream have come up with something
- # better.
- rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \
- die "Failed to symlink build directory to source directory"
-
- esetup.py test
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/app-misc/gramps/gramps-5.1.6-r3.ebuild b/app-misc/gramps/gramps-5.1.6-r3.ebuild
new file mode 100644
index 000000000000..6b5daf8a89da
--- /dev/null
+++ b/app-misc/gramps/gramps-5.1.6-r3.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2001-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Community genealogy program aiming to be both intuitive and feature-complete"
+HOMEPAGE="https://gramps-project.org/"
+SRC_URI="https://github.com/gramps-project/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="exif geo postscript +rcs +reports spell test"
+
+# Many tests fail unless the deprecated BerkeleyDB back-end is enabled.
+RESTRICT="test"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
+ dev-python/pyicu[${PYTHON_USEDEP}]
+ exif? ( >=media-libs/gexiv2-0.5[${PYTHON_USEDEP},introspection] )
+ ')
+ gnome-base/librsvg:2
+ >x11-libs/gtk+-3.14.8:3[introspection]
+ x11-libs/pango[introspection]
+ x11-misc/xdg-utils
+ geo? ( >=sci-geosciences/osm-gps-map-1.1.0 )
+ spell? ( app-text/gtkspell:3[introspection] )
+ rcs? ( dev-vcs/rcs )
+ reports? ( media-gfx/graphviz[postscript?] )
+"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.1.3-test_locale.patch
+ "${FILESDIR}"/${PN}-5.1.6-pep517_setup.patch
+)
+
+DISTUTILS_ARGS=(
+ --no-compress-manpages
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # Install documentation to the proper location. This can't be done
+ # easily with a patch because we substitute in the ${PF} variable,
+ # and that changes with every revision.
+ sed -i -e "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
+
+ # The final part of PEP-517 support, handled with sed in order to avoid
+ # making the patch file too large
+ sed -e "s:_name:name:g" data/holidays.xml.in > data/holidays.xml || die
+ sed -e "s:_tip:tip:g" data/tips.xml.in > data/tips.xml || die
+
+ default
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # setup.py option --resourcepath appears to have problems at the moment
+ echo -n "/usr/share" > "${ED}"$(python_get_sitedir)/${PN}/gen/utils/resource-path || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
diff --git a/app-misc/gramps/gramps-5.2.2.ebuild b/app-misc/gramps/gramps-5.2.2.ebuild
new file mode 100644
index 000000000000..302a27877ada
--- /dev/null
+++ b/app-misc/gramps/gramps-5.2.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2001-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 xdg-utils
+
+DESCRIPTION="Community genealogy program aiming to be both intuitive and feature-complete"
+HOMEPAGE="https://gramps-project.org/"
+SRC_URI="https://github.com/gramps-project/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="exif geo postscript +rcs +reports spell test"
+
+# Many tests fail unless the deprecated BerkeleyDB back-end is enabled.
+RESTRICT="test"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}]
+ dev-python/pyicu[${PYTHON_USEDEP}]
+ exif? ( >=media-libs/gexiv2-0.5[${PYTHON_USEDEP},introspection] )
+ ')
+ gnome-base/librsvg:2
+ >x11-libs/gtk+-3.14.8:3[introspection]
+ x11-libs/pango[introspection]
+ x11-misc/xdg-utils
+ geo? ( >=sci-geosciences/osm-gps-map-1.1.0 )
+ spell? ( app-text/gtkspell:3[introspection] )
+ rcs? ( dev-vcs/rcs )
+ reports? ( media-gfx/graphviz[postscript?] )
+"
+BDEPEND="test? (
+ $(python_gen_cond_dep '
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.2.1-test_locale.patch
+)
+
+DISTUTILS_ARGS=(
+ --no-compress-manpages
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # Install documentation to the proper location. This can't be done
+ # easily with a patch because we substitute in the ${PF} variable,
+ # and that changes with every revision.
+ sed -i -e "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die
+
+ default
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # setup.py option --resourcepath appears to have problems at the moment
+ echo -n "/usr/share" > "${ED}"$(python_get_sitedir)/${PN}/gen/utils/resource-path || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+}
diff --git a/app-misc/gramps/metadata.xml b/app-misc/gramps/metadata.xml
index 4398f3959769..8e10fde3694a 100644
--- a/app-misc/gramps/metadata.xml
+++ b/app-misc/gramps/metadata.xml
@@ -1,74 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>marecki@gentoo.org</email>
<name>Marek Szuba</name>
</maintainer>
<longdescription lang="en">
- GRAMPS helps you track your family tree. It allows you to store, edit,
- and research genealogical data. GRAMPS attempts to provide all of the
+ Gramps helps you track your family tree. It allows you to store, edit,
+ and research genealogical data. Gramps attempts to provide all of the
common capabilities of other genealogical programs, but, more
importantly, to provide an additional capability of integration not
common to these programs. This is the ability to input any bits and
- pieces of information directly into GRAMPS and rearrange/manipulate
+ pieces of information directly into Gramps and rearrange/manipulate
any/all data events in the entire data base (in any order or sequence)
to assist the user in doing research, analysis and correlation with
the potential of filling relationship gaps.
</longdescription>
<longdescription lang="cs">
- GRAMPS Vám pomůže sledovat Váš rodokmen. Dovolí Vám využít počítač pro
+ Gramps Vám pomůže sledovat Váš rodokmen. Dovolí Vám využít počítač pro
ukládání, úpravy a zkoumání genealogických dat.
- GRAMPS se snaží nabídnout všechny vlastnosti obvyklé u jiných
+ Gramps se snaží nabídnout všechny vlastnosti obvyklé u jiných
dostupných genealogických programů. Oproti nim však poskytuje další
možnosti integrace, které u těchto programů nejsou běžné. Je to
- možnost vložit jakýkoli kus informace přímo do GRAMPS a
+ možnost vložit jakýkoli kus informace přímo do Gramps a
přeskupit/manipulovat jednotlivými/všemi událostmi v celé
databázi. Tím pomáhá badateli při výzkumu, analýze a korelacích s
potenciálem zaplnění mezer ve vztazích mezi subjekty.
</longdescription>
<longdescription lang="de">
- GRAMPS hilft dir, deinen Familienstammbaum zurückzuverfolgen. Es
+ Gramps hilft dir, deinen Familienstammbaum zurückzuverfolgen. Es
erlaubt dir das Speichern, Bearbeiten, und Erforschen genealogischer
- Daten mit deinem Computer. GRAMPS versucht alle möglichen Funktionen,
+ Daten mit deinem Computer. Gramps versucht alle möglichen Funktionen,
die andere genealogische Programme bieten einzubeziehen, aber noch
viel wichtiger, die Möglichkeit des einfachen Imports fremder Daten zu
bieten. Das ist die Fähigkeit jedes noch so kleine Detail direkt in
- GRAMPS einzugeben und alle damit verbundenen Daten und Events in der
+ Gramps einzugeben und alle damit verbundenen Daten und Events in der
gesamten Datenbank neu zu ordnen oder zu manipulieren um die Arbeit
für den Benutzer zu erleichtern. So können jederzeit potentielle
Lücken in jeglichen Beziehungen gefüllt werden.
</longdescription>
<longdescription lang="fr">
- GRAMPS vous aide à suivre votre lignée. Il vous permet de stocker,
+ Gramps vous aide à suivre votre lignée. Il vous permet de stocker,
éditer, ainsi que rechercher des données généalogiques avec votre
- ordinateur. GRAMPS tente de fournir toutes les capacités communes aux
+ ordinateur. Gramps tente de fournir toutes les capacités communes aux
autres programmes généalogiques, mais, plus important, fournir des
capacités supplémentaires non communes à ces programmes. C'est la
capacité d'entrer toutes parties d'informations directement dans
- GRAMPS et réarranger/manipuler quelques/toutes données événement dans
+ Gramps et réarranger/manipuler quelques/toutes données événement dans
la base de données (dans n'importe quel ordre ou séquence) pour
assiter l'utilisateur dans ses recherches, analyse et corrélation avec
les relations possibles.
</longdescription>
<longdescription lang="nl">
- GRAMPS laat je toe je familiestamboom op te stellen. Het programma
+ Gramps laat je toe je familiestamboom op te stellen. Het programma
laat je toe om je genealogische gegevens op te slaan, te wijzigen en
- genealogisch onderzoek te doen met je computer. GRAMPS probeert om
+ genealogisch onderzoek te doen met je computer. Gramps probeert om
bovenover de gebruikelijke mogelijkheden die andere genealogische
programma's bieden, een verdergaande integratiemogelijkheid te geven
die die andere programma's niet hebben. Je kan zo alle stukjes en
- gedeelten van informatie rechtstreeks in GRAMPS invoeren en achteraf
+ gedeelten van informatie rechtstreeks in Gramps invoeren en achteraf
kan je dan deze gegevens bewerken/manipuleren. Dit kan je doen met het
volledige gegevensbestand( in gelijkwelke volgorde). Zo wordt de
gebruiker ondersteund in zijn onderzoeken biedt dit een hulp bij
analyse en de correlatie om zo relatieleemten te kunnen opvullen.
</longdescription>
<longdescription lang="pl">
- GRAMPS pomaga Ci śledzić Twoje drzewo rodzinne. Pozwala Ci wprowadzać,
+ Gramps pomaga Ci śledzić Twoje drzewo rodzinne. Pozwala Ci wprowadzać,
edytować i analizować informacje genealogiczne za pomocą
- komputera. GRAMPS próbuje zapewnić wszystkie wspólne cechy innych
+ komputera. Gramps próbuje zapewnić wszystkie wspólne cechy innych
programów genealogicznych, ale, co ważniejsze, dostarczyć Ci
możliwości w nich nie dostępne. Ma możliwość wprowadzenia każdej
informacji i wiadomości bezpośrednio do programu i późniejszą analizę
@@ -77,12 +77,12 @@
potencjalnych luk w relacjach w rodzinie.
</longdescription>
<longdescription lang="sl">
- GRAMPS vam pomaga voditi svoj rodovnik. Z njim lahko shranjujete,
+ Gramps vam pomaga voditi svoj rodovnik. Z njim lahko shranjujete,
urejate in raziskujete rodoslovne podatke na svojem
- računalniku. Pogram GRAMPS vključuje večino skupnih elementov drugih
+ računalniku. Pogram Gramps vključuje večino skupnih elementov drugih
rodoslovnih programov, poleg tega pa omogoča še funkcije, ki jih ti
programi običajno nimajo. Med njimi sta npr. možnost vnosa
- kakršnegakoli podatka neposredno v GRAMPS ter preurejanje in
+ kakršnegakoli podatka neposredno v Gramps ter preurejanje in
spreminjanje vseh zapisov dogodkov v celotni bazi podatkov (ne glede
na vrstni red), kar vam bo v pomoč pri vaših raziskavah, analizah in
zapolnjevanju vrzeli v rodoslovnih podatkih.