# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 PYTHON_COMPAT=( python3_{7..9} ) PYTHON_REQ_USE="sqlite" DISTUTILS_SINGLE_IMPL=1 DISTUTILS_USE_SETUPTOOLS=no 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="berkdb exif geo postscript +rcs +reports spell test" RESTRICT="!test? ( 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}] berkdb? ( dev-python/bsddb3[${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 reports? ( media-gfx/graphviz[postscript?] ) geo? ( >=sci-geosciences/osm-gps-map-1.1.0 ) spell? ( app-text/gtkspell:3[introspection] ) rcs? ( dev-vcs/rcs ) " BDEPEND="test? ( ${RDEPEND} $(python_gen_cond_dep ' dev-python/jsonschema[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] ') )" PATCHES=( "${FILESDIR}"/${PN}-5.1.3-test_locale.patch ) 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. FIXME: test this when a new release comes out. rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \ die "Failed to symlink build directory to source directory" # Set a sane default locale for the tests which do not explicitly set one. local -x LC_ALL=C.UTF-8 # Note that as of 5.1.3, test failures do not actually propagate back # to this function. For now this is fortunate because the test suite # does not handle the absence of bsddb3 well, in the long run however # this should be fixed. esetup.py test || die } # Ugly hack to work around Bug #717922 python_install() { local mydistutilsargs=( --resourcepath=/usr/share --no-compress-manpages build ) distutils-r1_python_install echo -n "/usr/share" > "${D}$(python_get_sitedir)/gramps/gen/utils/resource-path" || die } pkg_postinst() { xdg_desktop_database_update xdg_mimeinfo_database_update if use berkdb; then ewarn "The BSDDB back-end in ${PN} has got known stability and data-corruption issues. It has been deprecated since version 5.1.0 and might be removed in 5.2.0." ewarn "If you have any family trees in this format you are highly advised to convert them to SQLite, as described here:" ewarn ewarn "https://gramps-project.org/wiki/index.php/Gramps_5.1_Wiki_Manual_-_Manage_Family_Trees#Converting_a_BSDDB_Family_Tree_to_SQLite" fi } pkg_postrm() { xdg_desktop_database_update xdg_mimeinfo_database_update }