void-packages/common/build-style/python-module.sh
Alessio Sergi 2014e03dac Revert "common/buildstyle/python*: build dir can be used as python identifier"
This reverts commit a02132b2ae.

Actually, the issue with packages using python-distutils-extra hasn't
been solved. On the contrary, python build style now generates malformed
packages, e.g., gufw:

+-- usr
    +-- lib
    |   +-- python3.5
    |       +-- site-packages
    |           +-- build3_5
    |           |   +-- lib
    |           |       +-- gufw
    |           |           +-- __init__.py
    |           |           +-- gufw
    |           |           +-- gufw.py
    |           +-- gufw
    |           |   +-- __init__.py
    |           |   +-- gufw
    |           |   +-- gufw.py
    |           +-- gufw-17.04.1-py3.5.egg-info

I don't have a clean solution handy right now, but that obviously isn't.
2017-01-12 12:27:12 +01:00

62 lines
2 KiB
Bash

#
# This helper is for templates installing python modules.
#
do_build() {
: ${python_versions:="2.7 $py3_ver"}
local pyver= pysufx=
for pyver in $python_versions; do
if [ -n "$CROSS_BUILD" ]; then
PYPREFIX="$XBPS_CROSS_BASE"
if [ "$pyver" != "2.7" ]; then
pysufx=m
fi
CFLAGS+=" -I${XBPS_CROSS_BASE}/include/python${pyver}${pysufx} -I${XBPS_CROSS_BASE}/usr/include"
LDFLAGS+=" -L${XBPS_CROSS_BASE}/lib/python${pyver} -L${XBPS_CROSS_BASE}/usr/lib"
CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
LDSHARED="${CC} -shared $LDFLAGS"
env CC="$CC" LDSHARED="$LDSHARED" \
PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" python${pyver} setup.py \
build --build-base=build-${pyver} ${make_build_args}
else
python${pyver} setup.py build --build-base=build-${pyver} ${make_build_args}
fi
done
}
do_install() {
: ${python_versions:="2.7 $py3_ver"}
local pyver= pysufx=
for pyver in $python_versions; do
if [ -n "$CROSS_BUILD" ]; then
PYPREFIX="$XBPS_CROSS_BASE"
if [ "$pyver" != "2.7" ]; then
pysufx=m
fi
CFLAGS+=" -I${XBPS_CROSS_BASE}/include/python${pyver}${pysufx} -I${XBPS_CROSS_BASE}/usr/include"
LDFLAGS+=" -L${XBPS_CROSS_BASE}/lib/python${pyver} -L${XBPS_CROSS_BASE}/usr/lib"
CC="${XBPS_CROSS_TRIPLET}-gcc -pthread $CFLAGS $LDFLAGS"
LDSHARED="${CC} -shared $LDFLAGS"
env CC="$CC" LDSHARED="$LDSHARED" \
PYPREFIX="$PYPREFIX" CFLAGS="$CFLAGS" \
LDFLAGS="$LDFLAGS" python${pyver} setup.py \
build --build-base=build-${pyver} \
install --prefix=/usr --root=${DESTDIR} ${make_install_args}
else
python${pyver} setup.py build --build-base=build-${pyver} \
install --prefix=/usr --root=${DESTDIR} ${make_install_args}
fi
# Rename unversioned scripts to avoid name conflicts.
if [ -d ${DESTDIR}/usr/bin ]; then
find ${DESTDIR}/usr/bin -type f ! -name "*[[:digit:]]" | while IFS= read -r f _; do
mv "${f}" "${f}${pyver%.*}"
echo "[python-module] Unversioned script renamed to '${f#$DESTDIR}${pyver%.*}'"
done
fi
done
}