Files
haikuports/dev-python/importlib_metadata/importlib_metadata-6.8.0.recipe
OscarL 0be177f1c2 importlib_metadata: hopefully fix the build for good this time. (#9338)
The presence of HaikuPorter's work git repo interferes with the
operation of some python packages used at build time, causing
builds with "hp -G" to succeed, but fail without that flag, unless
these work-arounds are applied:

- exporting a `SETUPTOOLS_SCM_PRETEND_VERSION` variable
- `rm -rf dist`
2023-09-02 16:35:12 +00:00

76 lines
2.0 KiB
Bash

SUMMARY="A library to access the metadata for a Python package"
DESCRIPTION="This project primarily supports third-party packages installed \
by PyPA tools (or other conforming packages). It does not support:
- Packages in the stdlib.
- Packages installed without metadata."
HOMEPAGE="https://pypi.python.org/pypi/importlib-metadata"
COPYRIGHT="2017-2023 Jason R. Coombs, Barry Warsaw"
LICENSE="Apache v2"
REVISION="2"
SOURCE_URI="https://pypi.python.org/packages/source/i/$portName/$portName-$portVersion.tar.gz"
CHECKSUM_SHA256="dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"
ARCHITECTURES="any"
PROVIDES="
$portName = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
PYTHON_PACKAGES=(python39 python310)
PYTHON_VERSIONS=(3.9 3.10)
for i in "${!PYTHON_PACKAGES[@]}"; do
pythonPackage=${PYTHON_PACKAGES[i]}
pythonVersion=${PYTHON_VERSIONS[$i]}
eval "PROVIDES_${pythonPackage}=\"
${portName}_$pythonPackage = $portVersion
\""
eval "REQUIRES_$pythonPackage=\"
haiku
zipp_$pythonPackage
cmd:python$pythonVersion
\""
BUILD_REQUIRES+="
build_$pythonPackage
installer_$pythonPackage
setuptools_$pythonPackage
setuptools_scm_$pythonPackage
wheel_$pythonPackage
"
BUILD_PREREQUIRES+="
cmd:python$pythonVersion
"
done
INSTALL()
{
# Needed due to the presence of HaikuPorter's work .git dir:
# setuptools_scm assumes that .git is from the project, and fails to get the info it needs
# generating wrong default value in that case.
export SETUPTOOLS_SCM_PRETEND_VERSION=$portVersion
for i in "${!PYTHON_PACKAGES[@]}"; do
pythonPackage=${PYTHON_PACKAGES[i]}
python=python${PYTHON_VERSIONS[$i]}
# Needed to build without -G in the haikuporter build call.
# the presence of HaikuPorter's working .git dir seems to confuse
# some python's builds/packages.
rm -rf dist
$python -m build --wheel --skip-dependency-check --no-isolation
$python -m installer -p $prefix dist/*.whl
packageEntries $pythonPackage \
$prefix/lib/python*
done
}