summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorMarcin Deranek <marcin.deranek@booking.com>2023-05-23 06:41:28 +0200
committerMarcin Deranek <marcin.deranek@booking.com>2023-05-23 06:41:28 +0200
commit5d9692d6a67bb2c5a628899b3ed74b0388746908 (patch)
tree6f49e0c017e124bf1d6a2ba86280fc7a480b1b26 /dev-python
parent4ce54254bceda2d01d28295057515f1fe7198a80 (diff)
downloadportage-5d9692d6a67bb2c5a628899b3ed74b0388746908.tar.gz
portage-5d9692d6a67bb2c5a628899b3ed74b0388746908.tar.bz2
portage-5d9692d6a67bb2c5a628899b3ed74b0388746908.zip
Initial ebuild for dev-python/reportlab
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/reportlab/Manifest6
-rw-r--r--dev-python/reportlab/files/reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch37
-rw-r--r--dev-python/reportlab/files/reportlab-3.6.9-paths.patch21
-rw-r--r--dev-python/reportlab/metadata.xml12
-rw-r--r--dev-python/reportlab/reportlab-3.6.12.ebuild63
5 files changed, 139 insertions, 0 deletions
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
new file mode 100644
index 0000000..9a8e3f9
--- /dev/null
+++ b/dev-python/reportlab/Manifest
@@ -0,0 +1,6 @@
+AUX reportlab-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch 1502 BLAKE2B 79fba12b6219d0a9e3d25140359bd9589af0f501345797d74ed07d6efd0fe239b4ef2a357bb65d16c0544224022323418a4d3f57358433d776a4f2d41b7bbbb1 SHA512 696454cd280fe603ae014b829577cc3fd1b968478cf327528229cdf66dc0069fa2748cbc7b8519b26b170e9f01784523da2862dcc8623d24a8b7695fa3f4d42a
+AUX reportlab-3.6.9-paths.patch 996 BLAKE2B a003ce69d7aff12e04fac914d44a0af58555da9858d96f23be26455836ee1105d76136cdfbe52b888f9779f1b8463fda9a04587b3ef045c8354d840f3f92caac SHA512 f71ebfdb07c87a7bd39a5578355a2a800654204e38f722106dcfbe848332eb1ef6ce8b6ffebe08fd0a07214c0fcfade69e0eee1f47b1055c877efc64e70e0bfc
+DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
+DIST reportlab-3.6.12.tar.gz 4519536 BLAKE2B 106e0ede2b3c039152ae5a39e0aa5b3bf0239789ba08630f751260b75305973bff13730e3f7419340514a4f0174223dddf522cd9408b8dd04fbe39b84979b152 SHA512 99e6ab1cf27cc9e661b3bfd8c71290d94189db6de5e71b2429cccd48bfee5659d5fb46dfc5709e6616877b48bc17241c74282e0d2ecddda2ead16df4c1b6818f
+EBUILD reportlab-3.6.12.ebuild 1294 BLAKE2B 6400ada3b9c7344574ad60d114510bd7a18b122f49e93c296d3f72682228ba8c62a2c29748da736a385dde891830d72e66ec73b9719e41c13ac1ecc9504fbd2e SHA512 f2ef62bdeedaede42266a6a51e48ecc8c9980255e34a8ad6b5b78ed495c75a59ae7446f77be92ada6d7c92c21e6940e6607c798e3d48b6a6683ffb2909fbf56a
+MISC metadata.xml 386 BLAKE2B c7373fc999a128d06dbba5f90ff4f0a53ce2ad6cfdeeef7cb7c218a373bd04440c1048e862a67b10e5d2454147f4d358ddb19848363eb26eb6c4ad45f2222137 SHA512 a1883373309f75154de77dc57052ddfde36f8b0ff54413c8ae7163951ba316ae9fa78a0c22b1bc3d0de8c72ec421ae1f6f89062c1641fa64c90e4d82c6a0c225
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 <matoro@users.noreply.github.com>
+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')
diff --git a/dev-python/reportlab/metadata.xml b/dev-python/reportlab/metadata.xml
new file mode 100644
index 0000000..9bdd7d5
--- /dev/null
+++ b/dev-python/reportlab/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>mailto:reportlab-users@reportlab.com</bugs-to>
+ <remote-id type="pypi">reportlab</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/reportlab/reportlab-3.6.12.ebuild b/dev-python/reportlab/reportlab-3.6.12.ebuild
new file mode 100644
index 0000000..4cfe0a1
--- /dev/null
+++ b/dev-python/reportlab/reportlab-3.6.12.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="
+ https://www.reportlab.com/
+ https://pypi.org/project/reportlab/
+"
+SRC_URI+="
+ https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ media-libs/freetype
+ media-libs/libart_lgpl
+ sys-libs/zlib:=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.6.9-paths.patch
+ "${FILESDIR}"/${PN}-3.6.11-correct-srclen-type-in-gstate__aapixbuf.patch
+)
+
+distutils_enable_sphinx docs/source
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+src_configure() {
+ cat > local-setup.cfg <<-EOF || die
+ [OPTIONS]
+ no-download-t1-files = 1
+ use-system-libart = 1
+ EOF
+}
+
+python_test() {
+ pushd tests >/dev/null || die
+ "${EPYTHON}" runAll.py -v || die "Testing failed with ${EPYTHON}"
+ popd >/dev/null || die
+}