From 5d9692d6a67bb2c5a628899b3ed74b0388746908 Mon Sep 17 00:00:00 2001 From: Marcin Deranek Date: Tue, 23 May 2023 06:41:28 +0200 Subject: Initial ebuild for dev-python/reportlab --- ...1-correct-srclen-type-in-gstate__aapixbuf.patch | 37 ++++++++++++++++++++++ .../reportlab/files/reportlab-3.6.9-paths.patch | 21 ++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch create mode 100644 dev-python/reportlab/files/reportlab-3.6.9-paths.patch (limited to 'dev-python/reportlab/files') diff --git a/dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch b/dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch new file mode 100644 index 0000000..20a57ef --- /dev/null +++ b/dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch @@ -0,0 +1,37 @@ +Note: Upstream development is done in HG, not git; this patch was +generated using the git mirror at +https://github.com/MrBitBucket/reportlab-mirror. Attempted to submit to +reportlab-users mailing list but it rejected my mail server. + +From 9ba2380a68e891667a2659e16d0f04ebe0ecfd19 Mon Sep 17 00:00:00 2001 +From: matoro +Date: Mon, 4 Jul 2022 18:42:18 -0400 +Subject: [PATCH] correct srclen type in gstate__aapixbuf + +gstate__aapixbuf calls PyArg_ParseTuple with the format string +"ddddy#ii|i". Specifically the key "y#" will try to read a bytes-like +object and its size into two Python variables. The latter of these +should be of type Py_ssize_t as specified by the C API, but here it is +incorrectly declared as an int. This was pointed out to me by the +cpython developers when I mistakenly identified it as a cpython bug and +submitted a PR there: https://github.com/python/cpython/issues/94149 +--- + src/rl_addons/renderPM/_renderPM.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rl_addons/renderPM/_renderPM.c b/src/rl_addons/renderPM/_renderPM.c +index c8415595..bc77d766 100644 +--- a/src/rl_addons/renderPM/_renderPM.c ++++ b/src/rl_addons/renderPM/_renderPM.c +@@ -1319,7 +1319,7 @@ static void _reverse_rows_inplace( char *buf, int nrows, int stride) + + static PyObject* gstate__aapixbuf(gstateObject* self, PyObject* args) + { +- int srclen; ++ Py_ssize_t srclen; + double ctm[6], dstX, dstY, dstW, dstH; + ArtPixBuf src; + +-- +2.37.2 + diff --git a/dev-python/reportlab/files/reportlab-3.6.9-paths.patch b/dev-python/reportlab/files/reportlab-3.6.9-paths.patch new file mode 100644 index 0000000..e5ed7c4 --- /dev/null +++ b/dev-python/reportlab/files/reportlab-3.6.9-paths.patch @@ -0,0 +1,21 @@ +Disable broken logic for finding freetype2 that hits symlink loops. + +diff -dupr reportlab-3.6.9.orig/setup.py reportlab-3.6.9/setup.py +--- reportlab-3.6.9.orig/setup.py 2022-03-28 10:13:33.892516135 +0200 ++++ reportlab-3.6.9/setup.py 2022-03-28 10:49:11.048573739 +0200 +@@ -737,13 +737,10 @@ def main(): + else: + FT_LIB=FT_LIB_DIR=FT_INC_DIR=FT_MACROS=[] + else: +- ftv, I, L = inc_lib_dirs('freetype') + FT_LIB=['freetype'] +- FT_LIB_DIR=L +- FT_INC_DIR=I ++ FT_LIB_DIR=[] ++ FT_INC_DIR=['/usr/include/freetype2'] + FT_MACROS = [('RENDERPM_FT',None)] +- infoline('installing with freetype version %s' % ftv) +- infoline('FT_LIB_DIR=%r FT_INC_DIR=%r' % (FT_LIB_DIR,FT_INC_DIR)) + if not FT_LIB: + infoline('# installing without freetype no ttf, sorry!') + infoline('# You need to install a static library version of the freetype2 software') -- cgit v1.2.3