* [gentoo-commits] repo/gentoo:master commit in: dev-python/cysignals/, dev-python/cysignals/files/
@ 2024-07-06 11:19 Michał Górny
0 siblings, 0 replies; 2+ messages in thread
From: Michał Górny @ 2024-07-06 11:19 UTC (permalink / raw
To: gentoo-commits
commit: d9caa69388da384c8b699dad5d8d26f158f1c2f7
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 6 11:11:49 2024 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 6 11:19:17 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d9caa693
dev-python/cysignals: Fix finding cysignals-CSI-helper.py
Closes: https://bugs.gentoo.org/927767
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
...ls-1.11.4.ebuild => cysignals-1.11.4-r1.ebuild} | 6 +-
.../cysignals/files/cysignals-1.11.4-helper.patch | 85 ++++++++++++++++++++++
2 files changed, 90 insertions(+), 1 deletion(-)
diff --git a/dev-python/cysignals/cysignals-1.11.4.ebuild b/dev-python/cysignals/cysignals-1.11.4-r1.ebuild
similarity index 87%
rename from dev-python/cysignals/cysignals-1.11.4.ebuild
rename to dev-python/cysignals/cysignals-1.11.4-r1.ebuild
index 6e68c71bcc4b..2a6950c539cd 100644
--- a/dev-python/cysignals/cysignals-1.11.4.ebuild
+++ b/dev-python/cysignals/cysignals-1.11.4-r1.ebuild
@@ -19,7 +19,6 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="amd64"
-IUSE=""
DEPEND="
sci-mathematics/pari:=
@@ -31,6 +30,11 @@ BDEPEND="
>=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
"
+PATCHES=(
+ # https://github.com/sagemath/cysignals/pull/204
+ "${FILESDIR}/${P}-helper.patch"
+)
+
python_test(){
local -x PATH="${BUILD_DIR}/scripts:${PATH}"
"${EPYTHON}" -B rundoctests.py src/cysignals/*.pyx || die
diff --git a/dev-python/cysignals/files/cysignals-1.11.4-helper.patch b/dev-python/cysignals/files/cysignals-1.11.4-helper.patch
new file mode 100644
index 000000000000..0c09f236eccb
--- /dev/null
+++ b/dev-python/cysignals/files/cysignals-1.11.4-helper.patch
@@ -0,0 +1,85 @@
+From 2abd7ef94775b3320b6f1954b55168e06da0e6b3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 6 Jul 2024 13:06:49 +0200
+Subject: [PATCH] Install cysignals-CSI-helper as package data for better
+ portability
+
+Rather than installing `cysignals-CSI-helper.py` into a `share`
+directory and then trying to figure out the correct path to it, install
+it as Python package data and use the standard `importlib.resources`
+API to access it. For Python versions older than 3.9,
+the `importlib_resources` backport is used instead.
+
+Fixes #200
+---
+ setup.py | 4 +++-
+ .../cysignals-CSI-helper.py | 0
+ src/scripts/cysignals-CSI | 20 ++++++++++---------
+ 3 files changed, 14 insertions(+), 10 deletions(-)
+ rename src/{scripts => cysignals}/cysignals-CSI-helper.py (100%)
+
+diff --git a/setup.py b/setup.py
+index 7953170..7154a4a 100755
+--- a/setup.py
++++ b/setup.py
+@@ -215,7 +215,6 @@ setup(
+ packages=["cysignals"],
+ package_dir={"": "src"},
+ package_data={"cysignals": ["*.pxd", "*.h"]},
+- data_files=[(opj("share", "cysignals"), [opj("src", "scripts", "cysignals-CSI-helper.py")])],
+ scripts=glob(opj("src", "scripts", "cysignals-CSI")),
+ cmdclass=dict(
+ configure=configure,
+@@ -223,4 +222,7 @@ setup(
+ build_ext=build_ext,
+ bdist_egg=no_egg
+ ),
++ install_requires=[
++ "importlib_resources; python_version < '3.9'",
++ ],
+ )
+diff --git a/src/scripts/cysignals-CSI-helper.py b/src/cysignals/cysignals-CSI-helper.py
+similarity index 100%
+rename from src/scripts/cysignals-CSI-helper.py
+rename to src/cysignals/cysignals-CSI-helper.py
+diff --git a/src/scripts/cysignals-CSI b/src/scripts/cysignals-CSI
+index dd8b4e6..3896dca 100755
+--- a/src/scripts/cysignals-CSI
++++ b/src/scripts/cysignals-CSI
+@@ -41,6 +41,11 @@ from argparse import ArgumentParser
+ from datetime import datetime
+ from distutils.spawn import find_executable
+
++if sys.version_info >= (3, 9):
++ import importlib.resources as importlib_resources
++else:
++ import importlib_resources
++
+
+ def pid_exists(pid):
+ """
+@@ -65,15 +70,12 @@ def gdb_commands(pid, color):
+ cmds += b'import sys; sys.stdout.flush()\n'
+ cmds += b'end\n'
+ cmds += b'bt full\n'
+- cysignals_share = os.path.join(os.path.dirname(sys.argv[0]), '..',
+- 'share', 'cysignals')
+- script = os.path.join(cysignals_share, 'cysignals-CSI-helper.py')
+- with open(script, 'rb') as f:
+- cmds += b'python\n'
+- cmds += b'color = %r; ' % color
+- cmds += b'sys_path = %r; ' % sys.path
+- cmds += f.read()
+- cmds += b'end\n'
++ script = importlib_resources.files('cysignals') / 'cysignals-CSI-helper.py'
++ cmds += b'python\n'
++ cmds += b'color = %r; ' % color
++ cmds += b'sys_path = %r; ' % sys.path
++ cmds += script.read_bytes()
++ cmds += b'end\n'
+ cmds += b'detach inferior 1\n'
+ cmds += b'quit\n'
+ return cmds
+--
+2.45.2
+
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-python/cysignals/, dev-python/cysignals/files/
@ 2024-12-17 5:54 Michael Orlitzky
0 siblings, 0 replies; 2+ messages in thread
From: Michael Orlitzky @ 2024-12-17 5:54 UTC (permalink / raw
To: gentoo-commits
commit: afd6460346902ca9cb7a7339082df35612336bef
Author: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 17 05:27:21 2024 +0000
Commit: Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Tue Dec 17 05:27:21 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=afd64603
dev-python/cysignals: upstream patch to fix building against 1.12.0
Closes: https://bugs.gentoo.org/944404
Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>
...ls-1.12.0.ebuild => cysignals-1.12.0-r1.ebuild} | 2 +
.../cysignals-1.12.0-fix-building-against-me.patch | 74 ++++++++++++++++++++++
2 files changed, 76 insertions(+)
diff --git a/dev-python/cysignals/cysignals-1.12.0.ebuild b/dev-python/cysignals/cysignals-1.12.0-r1.ebuild
similarity index 90%
rename from dev-python/cysignals/cysignals-1.12.0.ebuild
rename to dev-python/cysignals/cysignals-1.12.0-r1.ebuild
index 85da267f5797..fe0f2f6b4ac6 100644
--- a/dev-python/cysignals/cysignals-1.12.0.ebuild
+++ b/dev-python/cysignals/cysignals-1.12.0-r1.ebuild
@@ -24,6 +24,8 @@ BDEPEND="
>=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
"
+PATCHES=( "${FILESDIR}/${P}-fix-building-against-me.patch" )
+
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/cysignals/files/cysignals-1.12.0-fix-building-against-me.patch b/dev-python/cysignals/files/cysignals-1.12.0-fix-building-against-me.patch
new file mode 100644
index 000000000000..a305936838d0
--- /dev/null
+++ b/dev-python/cysignals/files/cysignals-1.12.0-fix-building-against-me.patch
@@ -0,0 +1,74 @@
+From 7c05d63f87e6f7b9c3366939a6494aa3335381e8 Mon Sep 17 00:00:00 2001
+From: Ludo Pulles <ludo.pulles@gmail.com>
+Date: Fri, 6 Dec 2024 13:18:28 +0100
+Subject: [PATCH] Fix build issues
+
+---
+ example/meson.build | 7 -------
+ meson.build | 5 -----
+ src/cysignals/signals.pxd | 1 +
+ src/cysignals/signals.pyx | 1 +
+ src/cysignals/tests.pyx | 1 +
+ 5 files changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/example/meson.build b/example/meson.build
+index e40c614..ae3e120 100644
+--- a/example/meson.build
++++ b/example/meson.build
+@@ -15,13 +15,6 @@ print(cysignals.__file__.replace('__init__.py', ''))
+ ).stdout().strip()
+ cysignals = declare_dependency(include_directories: inc_cysignals)
+
+-# Make declarations in Cython code available to C include files
+-add_project_arguments(
+- '-X preliminary_late_includes_cy28=True',
+- language: 'cython',
+-)
+-
+-
+ py.extension_module('cysignals_example',
+ sources: ['cysignals_example.pyx'],
+ install: true,
+diff --git a/meson.build b/meson.build
+index d66145b..5209bf2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -22,11 +22,6 @@ add_project_arguments('-DCYTHON_CLINE_IN_TRACEBACK=0', language: 'c')
+ # Disable sanity checking in GNU libc
+ # This is required because of false positives in the longjmp() check
+ add_project_arguments('-U_FORTIFY_SOURCE', language: 'c')
+-# Make declarations in Cython code available to C include files
+-add_project_arguments(
+- '-X preliminary_late_includes_cy28=True',
+- language: 'cython',
+-)
+
+ # Platform-specific settings
+ if is_cygwin
+diff --git a/src/cysignals/signals.pxd b/src/cysignals/signals.pxd
+index 76320f7..531a9a8 100644
+--- a/src/cysignals/signals.pxd
++++ b/src/cysignals/signals.pxd
+@@ -1,3 +1,4 @@
++# cython: preliminary_late_includes_cy28=True
+ #*****************************************************************************
+ # cysignals is free software: you can redistribute it and/or modify it
+ # under the terms of the GNU Lesser General Public License as published
+diff --git a/src/cysignals/signals.pyx b/src/cysignals/signals.pyx
+index b988167..72f206e 100644
+--- a/src/cysignals/signals.pyx
++++ b/src/cysignals/signals.pyx
+@@ -1,3 +1,4 @@
++# cython: preliminary_late_includes_cy28=True
+ r"""
+ Interrupt and signal handling
+
+diff --git a/src/cysignals/tests.pyx b/src/cysignals/tests.pyx
+index 547095f..ffb04ca 100644
+--- a/src/cysignals/tests.pyx
++++ b/src/cysignals/tests.pyx
+@@ -1,3 +1,4 @@
++# cython: preliminary_late_includes_cy28=True
+ """
+ Test interrupt and signal handling
+
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-12-17 5:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-17 5:54 [gentoo-commits] repo/gentoo:master commit in: dev-python/cysignals/, dev-python/cysignals/files/ Michael Orlitzky
-- strict thread matches above, loose matches on Subject: below --
2024-07-06 11:19 Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox