1
0
mirror of synced 2024-12-22 12:50:33 +01:00

Updated build from chewi's PR on gentoo main

https://github.com/gentoo/gentoo/pull/9822
This commit is contained in:
Horea Christian 2019-01-08 19:04:41 +01:00
parent fc0375d94f
commit 1ffe58f61d
7 changed files with 348 additions and 0 deletions

View File

@ -0,0 +1,3 @@
DIST Pillow-3.4.2.zip 11042238 BLAKE2B 334af6eeadb3203b51572eca6ad9c196f3eeac14da0f1aedc351db692b33d413fdf5bc5c8564d2f53c324d9485dbdbda664b75a570b779e24f238c21829b4a39 SHA512 5e05206db5bc1b4177384f7e91ee79015c6e1bbdc7c31c997da054391b9b5ec7c1ebdec258a33f598986533894f3324b03d0b4b385b94e72a0517a3437553b39
DIST Pillow-5.2.0.tar.gz 14499068 BLAKE2B 7111eb8e2911cc197b66bbc06a13459484e2c4a1f5037e4bcf702ea350763b2b758cbeef9749aeb29f1ab64d33081131f7e46a3fbb33fee48e70660f8f75eddb SHA512 2f19512d0573bd4696a5b4d54ff21473492f92705d33bd0994ccd085028d209bfb0031e2b95947c1e8fc9d0b0956cdf1f705c1fbaff39390791cac1708bff22c
DIST Pillow-5.3.0.tar.gz 15553718 BLAKE2B df93d136fb5a5ea3021a757edea5dfa7b3fc1f7a71b0f64f1d1d11b95a5dafffad98d3f7b28d5e7c07b1c93d154c9c73a688f37771587c91fb7bfb6956079375 SHA512 0596207069a87a645f7694b19ea5100d753dbb7553148fa5982b073e4e1163b5bd83ddf8b1c783a90a0b718576f08d3f15352f2742d46a425cf639de2409c4ab

View File

@ -0,0 +1,12 @@
diff --git a/setup.py b/setup.py
index 5257e748..410ce788 100644
--- a/setup.py
+++ b/setup.py
@@ -746,7 +746,6 @@ setup(name=NAME,
ext_modules=[Extension("PIL._imaging", ["_imaging.c"])],
include_package_data=True,
packages=find_packages(),
- scripts=glob.glob("Scripts/*.py"),
test_suite='nose.collector',
keywords=["Imaging", ],
license='Standard PIL License',

View File

@ -0,0 +1,16 @@
diff --git a/setup.py b/setup.py
index 761d552c..c4a55092 100755
--- a/setup.py
+++ b/setup.py
@@ -435,6 +435,11 @@ class pil_build_ext(build_ext):
_add_directory(include_dirs,
os.path.join(best_path, 'include'))
+ # The logic above fails in many cases (such as pypy builds) and we fix
+ # it here by making sure we look in standard places first.
+ library_dirs = ['/usr/lib64', '/usr/lib'] + library_dirs
+ include_dirs = ['/usr/include'] + include_dirs
+
#
# insert new dirs *before* default libs, to avoid conflicts
# between Python PYD stub libs and real libraries

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>vdupras@gentoo.org</email>
<name>Virgil Dupras</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<use>
<flag name="imagequant">Build with Image Quantization Library support</flag>
</use>
<upstream>
<remote-id type="pypi">Pillow</remote-id>
<remote-id type="github">pillow-dev/pillow</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,101 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 eutils virtualx
MY_PN=Pillow
MY_P=${MY_PN}-${PV}
DESCRIPTION="Python Imaging Library (fork)"
HOMEPAGE="https://github.com/python-imaging/Pillow https://pypi.org/project/Pillow/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.zip"
LICENSE="HPND"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
IUSE="doc examples jpeg jpeg2k lcms test tiff tk truetype webp zlib"
REQUIRED_USE="test? ( jpeg tiff )"
RDEPEND="
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( media-libs/openjpeg:2= )
lcms? ( media-libs/lcms:2= )
tiff? ( media-libs/tiff:0= )
truetype? ( media-libs/freetype:2= )
webp? ( media-libs/libwebp:0= )
zlib? ( sys-libs/zlib:0= )"
DEPEND="${RDEPEND}
app-arch/unzip
dev-python/setuptools[${PYTHON_USEDEP}]
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx-better-theme[${PYTHON_USEDEP}]
>=dev-python/sphinx_rtd_theme-0.1[${PYTHON_USEDEP}]
<dev-python/sphinx_rtd_theme-0.2[${PYTHON_USEDEP}]
)
test? ( dev-python/nose[${PYTHON_USEDEP}] )
"
S="${WORKDIR}/${MY_P}"
# See _render and _clean in Tests/test_imagefont.py
DISTUTILS_IN_SOURCE_BUILD=1
PATCHES=(
"${FILESDIR}/pillow-3.4.2-no-scripts.patch"
)
python_prepare_all() {
# Disable all the stuff we don't want.
local f
for f in jpeg lcms tiff tk webp zlib; do
if ! use ${f}; then
sed -i -e "s:feature.${f} =:& None #:" setup.py || die
fi
done
if ! use truetype; then
sed -i -e 's:feature.freetype =:& None #:' setup.py || die
fi
if ! use jpeg2k; then
sed -i -e 's:feature.jpeg2000 =:& None #:' setup.py || die
fi
sed \
-e "/required/s:=.*:= set():g" \
-e "/if f in/s:'jpeg', 'libz'::g" \
-i setup.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && emake -C docs html
}
python_test() {
"${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
virtx nosetests -vx Tests/test_*.py
}
python_install() {
python_doheader libImaging/{Imaging.h,ImPlatform.h}
distutils-r1_python_install
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
if use examples ; then
docinto examples
dodoc Scripts/*
docompress -x /usr/share/doc/${PF}/examples
fi
distutils-r1_python_install_all
}

View File

@ -0,0 +1,103 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 virtualx
MY_PN=Pillow
MY_P=${MY_PN}-${PV}
DESCRIPTION="Python Imaging Library (fork)"
HOMEPAGE="https://python-pillow.org/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="HPND"
SLOT="0"
KEYWORDS="amd64 arm ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="doc examples imagequant jpeg jpeg2k lcms test tiff tk truetype webp zlib"
REQUIRED_USE="test? ( jpeg tiff )"
RDEPEND="
dev-python/olefile[${PYTHON_USEDEP}]
imagequant? ( media-gfx/libimagequant:0 )
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( media-libs/openjpeg:2= )
lcms? ( media-libs/lcms:2= )
tiff? ( media-libs/tiff:0=[jpeg,zlib] )
truetype? ( media-libs/freetype:2= )
webp? ( media-libs/libwebp:0= )
zlib? ( sys-libs/zlib:0= )"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
test? (
dev-python/pytest[${PYTHON_USEDEP}]
media-gfx/imagemagick[png]
)
"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}-5.2.0-fix-lib-paths.patch"
)
python_configure_all() {
# It's important that these flags are also passed during the install phase
# as well. Make sure of that if you change the lines below. See bug 661308.
mydistutilsargs=(
build_ext
--disable-platform-guessing
$(use_enable truetype freetype)
$(use_enable jpeg)
$(use_enable jpeg2k jpeg2000)
$(use_enable lcms)
$(use_enable tiff)
$(use_enable imagequant)
$(use_enable webp)
$(use_enable webp webpmux)
$(use_enable zlib)
)
}
python_compile() {
# Pillow monkeypatches distutils to achieve parallel compilation. This
# conflicts with distutils' builtin parallel computation (since py35)
# and make builds hang. To avoid that, we set MAX_CONCURRENCY=1 to
# disable monkeypatching. Can be removed when/if
# https://github.com/python-pillow/Pillow/pull/3272 is merged.
MAX_CONCURRENCY=1 distutils-r1_python_compile
}
python_compile_all() {
use doc && emake -C docs html
}
python_test() {
"${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
# no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
virtx pytest -vx Tests/test_*.py -p no:relaxed
}
python_install() {
python_doheader src/libImaging/*.h
distutils-r1_python_install
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
if use examples ; then
docinto example
dodoc docs/example/*
docompress -x /usr/share/doc/${PF}/example
fi
distutils-r1_python_install_all
}

View File

@ -0,0 +1,94 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 virtualx
MY_PN=Pillow
MY_P=${MY_PN}-${PV}
DESCRIPTION="Python Imaging Library (fork)"
HOMEPAGE="https://python-pillow.org/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="HPND"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="doc examples imagequant jpeg jpeg2k lcms test tiff tk truetype webp zlib"
REQUIRED_USE="test? ( jpeg tiff )"
RDEPEND="
dev-python/olefile[${PYTHON_USEDEP}]
imagequant? ( media-gfx/libimagequant:0 )
jpeg? ( virtual/jpeg:0 )
jpeg2k? ( media-libs/openjpeg:2= )
lcms? ( media-libs/lcms:2= )
tiff? ( media-libs/tiff:0=[jpeg,zlib] )
truetype? ( media-libs/freetype:2= )
webp? ( media-libs/libwebp:0= )
zlib? ( sys-libs/zlib:0= )"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
test? (
dev-python/pytest[${PYTHON_USEDEP}]
media-gfx/imagemagick[png]
)
"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/${PN}-5.2.0-fix-lib-paths.patch"
)
python_configure_all() {
# It's important that these flags are also passed during the install phase
# as well. Make sure of that if you change the lines below. See bug 661308.
mydistutilsargs=(
build_ext
--disable-platform-guessing
$(use_enable truetype freetype)
$(use_enable jpeg)
$(use_enable jpeg2k jpeg2000)
$(use_enable lcms)
$(use_enable tiff)
$(use_enable imagequant)
$(use_enable webp)
$(use_enable webp webpmux)
$(use_enable zlib)
)
}
python_compile_all() {
use doc && emake -C docs html
}
python_test() {
"${PYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
# no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
virtx pytest -vx Tests/test_*.py -p no:relaxed
}
python_install() {
python_doheader src/libImaging/*.h
distutils-r1_python_install
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
if use examples ; then
docinto example
dodoc docs/example/*
docompress -x /usr/share/doc/${PF}/example
fi
distutils-r1_python_install_all
}