Files
haikuports/dev-python/python-poppler-qt5/python_poppler_qt5-21.3.0.recipe
2023-03-08 21:29:35 +01:00

122 lines
3.5 KiB
Bash

SUMMARY="A Python binding to Poppler-Qt5"
DESCRIPTION="A Python binding for libpoppler-qt5 that aims for completeness and for being \
actively maintained.
Using this module you can access the contents of PDF files inside PyQt5 applications."
HOMEPAGE="https://github.com/frescobaldi/python-poppler-qt5/"
COPYRIGHT="2009-2022 Wilbert Berendsen"
LICENSE="GNU LGPL v2.1"
REVISION="2"
SOURCE_URI="https://pypi.python.org/packages/source/p/python-poppler-qt5/python-poppler-qt5-$portVersion.tar.gz"
CHECKSUM_SHA256="b477e8841f0ea0e09fdab6f2f305cf38df977d9e142e5693a374605d75dd6fe0"
SOURCE_DIR="python-poppler-qt5-$portVersion"
PYTHON3_VERSION="3.9"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
python_poppler_qt5$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libpoppler_qt5$secondaryArchSuffix
"
PROVIDES_python39="
python_poppler_qt5${secondaryArchSuffix}_python39 = $portVersion
"
REQUIRES_python39="
haiku$secondaryArchSuffix
python_poppler_qt5$secondaryArchSuffix == $portVersion base
pyqt5_python39
pyqt5_sip_python39
cmd:python$PYTHON3_VERSION
$REQUIRES
"
if [ "$targetArchitecture" = "x86_gcc2" ]; then
PROVIDES_python39+="
python_poppler_qt5_python39 = $portVersion
"
fi
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
pyqt_builder_python39
pyqt5_python39
setuptools_python39
sip_python39 >= 6
devel:libpoppler_qt5$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:python$PYTHON3_VERSION
cmd:gcc${secondaryArchSuffix}
cmd:make
cmd:ld${secondaryArchSuffix}
cmd:pkg_config$secondaryArchSuffix
cmd:sed
cmd:sip >= 6
cmd:qmake${secondaryArchSuffix} >= 5
"
BUILD()
{
OLDPYTHONPATH=$PYTHONPATH
local packageLinksDir=$(dirname $portPackageLinksDir)
local python3PackageName="${portName}_python39-$portFullVersion"
# GENERIC: all python_setuptools-based installs need this
python=$packageLinksDir/$python3PackageName/cmd~python$PYTHON3_VERSION/bin/python$PYTHON3_VERSION
pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3)
installLocation=$prefix/lib/python$pythonVersion/vendor-packages/
export PYTHONPATH=$installLocation:$OLDPYTHONPATH
# this seems to be not needed
#BINDINGS_DIR=$portPackageLinksDir/pyqt5_python39/lib/python$pythonVersion/vendor-packages/PyQt5/bindings/
#sed -i -e "s|BINDINGS_DIR|$BINDINGS_DIR|g" pyproject.toml
sip-build \
--no-make \
--target-dir=$installLocation \
--api-dir=$dataDir/sip/PyQt5
cd build
## BUILD HACK ##
# what is this for? is this needed at all? ".5" is probably not correct in our case anyway ...
#sed -i "s|libpopplerqt5.so|libpopplerqt5.so.5|g" popplerqt5/Makefile
## BUILD HACK ##
make $jobArgs
}
INSTALL()
{
OLDPYTHONPATH=$PYTHONPATH
local packageLinksDir=$(dirname $portPackageLinksDir)
local python3PackageName="${portName}_python39-$portFullVersion"
# GENERIC: all python_setuptools-based installs need this
python=$packageLinksDir/$python3PackageName/cmd~python$PYTHON3_VERSION/bin/python$PYTHON3_VERSION
pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3)
installLocation=lib/python$pythonVersion/vendor-packages/
export PYTHONPATH=$installLocation:$OLDPYTHONPATH
mkdir -p $installLocation
cd build
make install INSTALL_ROOT=
$python -m compileall -d / $prefix/lib/python$pythonVersion
$python -O -m compileall -d / $prefix/lib/python$pythonVersion
packageEntries python39 \
$installLocation
rmdir $prefix/lib/python$pythonVersion
### PACKAGING HACK ###
rm -rf $prefix/packages
### PACKAGING HACK ###
}