1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-22 04:17:44 +00:00

Convert a LD_PRELOAD black magic to a white one utilizing python

shared library which is provided on modern python ports.  This also
unbreaks build on amd64 and ia64.

Requested by:	lioux
This commit is contained in:
Hye-Shik Chang 2005-05-18 04:11:39 +00:00
parent 86c9a613df
commit 4e6ef11a3c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=135532
3 changed files with 13 additions and 18 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= mod_python
PORTVERSION= 3.1.4
PORTREVISION= 1
CATEGORIES= www python
MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD}
MASTER_SITE_SUBDIR= modpython
@ -17,7 +18,7 @@ COMMENT= Apache module that embeds the Python interpreter within the server
WITH_APACHE2= yes
USE_APACHE= yes
USE_PYTHON= yes
USE_PYTHON= 2.3+
LATEST_LINK= mod_python3
GNU_CONFIGURE= yes
@ -27,26 +28,10 @@ MAKE_ENV= EXPR_COMPAT=yes
.include <bsd.port.pre.mk>
.if ${ARCH} == "ia64" || ${ARCH} == "amd64"
BROKEN= "Does not compile on amd64 or ia64"
.endif
.if ${PYTHON_REL} >= 230
post-patch:
${REINPLACE_CMD} -e 's,LONG_LONG,long long,g' ${WRKSRC}/src/requestobject.c
.endif
.if !exists(${PREFIX}/etc/apache2/envvars.d) && !defined(PACKAGE_BUILDING)
BROKEN= "Please upgrade your www/apache2 installation."
.endif
post-build:
THREAD_LIB=`ldd ${PYTHON_CMD} | ${EGREP} '(pthread|c_r)' | ${AWK} '{print $$3}'`; \
${ECHO_CMD} "LD_PRELOAD=$${THREAD_LIB}" > ${WRKDIR}/mod_python3.env
${ECHO_CMD} "export LD_PRELOAD" >> ${WRKDIR}/mod_python3.env
post-install:
${INSTALL_DATA} ${WRKDIR}/mod_python3.env ${PREFIX}/etc/apache2/envvars.d
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>

View File

@ -0,0 +1,11 @@
--- configure.orig Sun Jan 30 06:25:27 2005
+++ configure Wed May 18 12:06:06 2005
@@ -2643,7 +2643,7 @@
PyLIBP=${PyEXEC_INSTALLDIR}/lib/python${PyVERSION}
PyLIBPL=${PyLIBP}/config
PyPYTHONLIBS=${PyLIBPL}/libpython${PyVERSION}.a
-PyLIBS=`grep "^LIB[SMC]=" ${PyLIBPL}/Makefile | cut -f2 -d= | tr '\011\012\015' ' '`
+PyLIBS=`ldd $PYTHON_BIN | sed -n 's,^.* => [^ ]*/lib\(.*\)\.so[^ ]* \((.*)\),-l\1,p' | grep -v '^-lc$' | xargs echo`
PyMODLIBS=`grep "^LOCALMODLIBS=" ${PyLIBPL}/Makefile | cut -f2 -d= | tr '\011\012\015' ' '`
PyFRAMEWORK=`grep "^PYTHONFRAMEWORK=" ${PyLIBPL}/Makefile | cut -f2 -d= | tr '\011\012\015' ' '`
PyFRAMEWORKDIR=`grep "^PYTHONFRAMEWORKDIR=" ${PyLIBPL}/Makefile | cut -f2 -d= | tr '\011\012\015' ' ' | awk '{print $1}'`

View File

@ -1,4 +1,3 @@
etc/apache2/envvars.d/mod_python3.env
libexec/apache2/mod_python.so
@exec %D/sbin/apxs -e -a -n python %f
@unexec %D/sbin/apxs -e -A -n python %f