diff options
author | Tomáš Mózes <hydrapolic@gmail.com> | 2024-03-08 13:05:33 +0000 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-03-26 20:31:36 +0100 |
commit | ae15b2335862ae9246529aac4480ec7a81fbe515 (patch) | |
tree | 78fa87c66c1785165e8c9c280d476a80026411fb /app-misc | |
parent | app-emulation/ruffle: crank up rust requirement (diff) | |
download | gentoo-ae15b2335862ae9246529aac4480ec7a81fbe515.tar.gz gentoo-ae15b2335862ae9246529aac4480ec7a81fbe515.tar.bz2 gentoo-ae15b2335862ae9246529aac4480ec7a81fbe515.zip |
app-misc/chkcrontab: migrate to PEP517 build
Closes: https://bugs.gentoo.org/909878
Signed-off-by: Tomáš Mózes <hydrapolic@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/35668
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'app-misc')
-rw-r--r-- | app-misc/chkcrontab/chkcrontab-1.7-r3.ebuild | 33 | ||||
-rw-r--r-- | app-misc/chkcrontab/files/chkcrontab-man.patch | 12 | ||||
-rw-r--r-- | app-misc/chkcrontab/files/chkcrontab-py312.patch | 23 |
3 files changed, 68 insertions, 0 deletions
diff --git a/app-misc/chkcrontab/chkcrontab-1.7-r3.ebuild b/app-misc/chkcrontab/chkcrontab-1.7-r3.ebuild new file mode 100644 index 000000000000..8c5c3735dc75 --- /dev/null +++ b/app-misc/chkcrontab/chkcrontab-1.7-r3.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) +inherit distutils-r1 + +DESCRIPTION="A tool to detect crontab errors" +HOMEPAGE="https://github.com/lyda/chkcrontab" +SRC_URI="https://github.com/lyda/chkcrontab/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}/${PN}-man.patch" + "${FILESDIR}/${PN}-py312.patch" +) + +python_prepare_all() { + distutils-r1_python_prepare_all + sed -i 's/assertEquals/assertEqual/g' tests/test_check.py || die +} + +python_install_all() { + doman doc/${PN}.1 + distutils-r1_python_install_all +} diff --git a/app-misc/chkcrontab/files/chkcrontab-man.patch b/app-misc/chkcrontab/files/chkcrontab-man.patch new file mode 100644 index 000000000000..83e4a41e1b48 --- /dev/null +++ b/app-misc/chkcrontab/files/chkcrontab-man.patch @@ -0,0 +1,12 @@ +diff --git a/setup.py b/setup.py +index df72a6a..b2082c6 100755 +--- a/setup.py ++++ b/setup.py +@@ -143,6 +143,7 @@ class InstallCmd(install): + + def run(self): + install.run(self) ++ return + manpages = ['doc/chkcrontab.1'] + if self.manprefix: + for manpage in manpages: diff --git a/app-misc/chkcrontab/files/chkcrontab-py312.patch b/app-misc/chkcrontab/files/chkcrontab-py312.patch new file mode 100644 index 000000000000..b384549b3489 --- /dev/null +++ b/app-misc/chkcrontab/files/chkcrontab-py312.patch @@ -0,0 +1,23 @@ +# https://github.com/gregorg/chkcrontab/pull/1 +diff --git a/chkcrontab_lib.py b/chkcrontab_lib.py +index 57a7c1f..6334a77 100755 +--- a/chkcrontab_lib.py ++++ b/chkcrontab_lib.py +@@ -822,12 +822,12 @@ def ParseLine(self, line, options ): + Returns: + A CronLine* class (must have a ValidateAndLog method). + """ +- chkcrontab_cmd = re.compile('##*\s*chkcrontab:\s*(.*)=(.*)') +- assignment_line_re = re.compile('[a-zA-Z_][a-zA-Z0-9_]*\s*=(.*)') +- at_line_re = re.compile('@(\S+)\s+(\S+)\s+(.*)') +- cron_time_field_re = '[\*0-9a-zA-Z,/-]+' ++ chkcrontab_cmd = re.compile(r'##*\s*chkcrontab:\s*(.*)=(.*)') ++ assignment_line_re = re.compile(r'[a-zA-Z_][a-zA-Z0-9_]*\s*=(.*)') ++ at_line_re = re.compile(r'@(\S+)\s+(\S+)\s+(.*)') ++ cron_time_field_re = r'[\*0-9a-zA-Z,/-]+' + time_field_job_line_re = re.compile( +- '^\s*(%s)\s+(%s)\s+(%s)\s+(%s)\s+(%s)\s+(\S+)\s+(.*)' % ++ r'^\s*(%s)\s+(%s)\s+(%s)\s+(%s)\s+(%s)\s+(\S+)\s+(.*)' % + (cron_time_field_re, cron_time_field_re, cron_time_field_re, + cron_time_field_re, cron_time_field_re)) + |