[gentoo-commits] repo/gentoo:master commit in: app-misc/gramps/files/, app-misc/gramps/

2023-08-23 Thread Marek Szuba
commit: 48fad51b53b9aa4dacb87dabbd99c4772f680f0c
Author: Marek Szuba  gentoo  org>
AuthorDate: Wed Aug 23 21:48:51 2023 +
Commit: Marek Szuba  gentoo  org>
CommitDate: Wed Aug 23 22:17:11 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=48fad51b

app-misc/gramps: switch to PEP-517 build mode

Uses backported upstream refactoring of setup.py from distutils to
setuptools.

Bug: https://bugs.gentoo.org/909880
Signed-off-by: Marek Szuba  gentoo.org>

 .../gramps/files/gramps-5.1.6-pep517_setup.patch   | 163 +
 app-misc/gramps/gramps-5.1.6-r2.ebuild |  82 +++
 2 files changed, 245 insertions(+)

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 ..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/'

[gentoo-commits] repo/gentoo:master commit in: app-misc/gramps/files/, app-misc/gramps/

2021-05-15 Thread Marek Szuba
commit: a7ee4cda4858f179540c396ce79bc9b3dfc95f3d
Author: Marek Szuba  gentoo  org>
AuthorDate: Sat May 15 14:10:54 2021 +
Commit: Marek Szuba  gentoo  org>
CommitDate: Sat May 15 14:22:01 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7ee4cda

app-misc/gramps: tests: do not rely on presence of en_US.UTF-8 locale

Signed-off-by: Marek Szuba  gentoo.org>

 .../gramps/files/gramps-5.1.3-test_locale.patch| 30 ++
 app-misc/gramps/gramps-5.1.3.ebuild| 16 +---
 2 files changed, 42 insertions(+), 4 deletions(-)

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 000..40eba66dd21
--- /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 @@
+   
+ 
+ 
+-  Objects referenced by this note were missing in a file imported 
on 12/25/1999 12:00:00 AM.
++  Objects referenced by this note were missing in a file imported 
on 12/25/99 00:00:00.
+ 
+   
+ 
+--- 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/gramps-5.1.3.ebuild 
b/app-misc/gramps/gramps-5.1.3.ebuild
index 9908893b3c3..0c5ddbf8781 100644
--- a/app-misc/gramps/gramps-5.1.3.ebuild
+++ b/app-misc/gramps/gramps-5.1.3.ebuild
@@ -44,6 +44,10 @@ BDEPEND="test? ( ${RDEPEND}
')
 )"
 
+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,
@@ -67,10 +71,14 @@ python_test_all() {
rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \
die "Failed to symlink build directory to source directory"
 
-   # FIXME: some of the tests fail if the locale 'en_US.UTF-8' is absent,
-   # at least as of 5.1.2 this failure does not propagate back to this
-   # function but we should still handle this properly somehow.
-   esetup.py test
+   # 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



[gentoo-commits] repo/gentoo:master commit in: app-misc/gramps/files/, app-misc/gramps/

2019-10-08 Thread Marek Szuba
commit: c0490ad80300af7e667123061f7a35bc586245ae
Author: Marek Szuba  gentoo  org>
AuthorDate: Tue Oct  8 13:29:24 2019 +
Commit: Marek Szuba  gentoo  org>
CommitDate: Tue Oct  8 14:56:20 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c0490ad8

app-misc/gramps: remove old

Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Marek Szuba  gentoo.org>

 app-misc/gramps/Manifest   |  1 -
 .../files/gramps-4.2.8-uncompressed-docs.patch | 33 -
 app-misc/gramps/gramps-4.2.8.ebuild| 57 --
 3 files changed, 91 deletions(-)

diff --git a/app-misc/gramps/Manifest b/app-misc/gramps/Manifest
index 0a81bf89f40..6aa77900c42 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

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 8d43447027d..000
--- 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/gramps-4.2.8.ebuild 
b/app-misc/gramps/gramps-4.2.8.ebuild
deleted file mode 100644
index 55d28850eb5..000
--- 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