aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2014-04-15 20:53:04 +0000
committerKoop Mast <kwm@FreeBSD.org>2014-04-15 20:53:04 +0000
commit2701760345f5957441aef9848a2a162fdf640b9f (patch)
treef0ebbac2a6bb4ccda53d1de44b47b1ff7e09d4ba
parent62d2daacbb4865c620dc8442805f5f2ebae78ce6 (diff)
downloadports-2701760345f5957441aef9848a2a162fdf640b9f.tar.gz
ports-2701760345f5957441aef9848a2a162fdf640b9f.zip
Rework python module compile so it doesn't code the stagedir in it [1]
While here switch to USES=tar:bzip2 Remove waf from SHEBANG_FILES. it contains binary so running sed on it not guaranteed to work as intended. [2] Prefix waf commands with PYTHON_CMD so it run with the correct python version. Use the waf --destdir command for destdir Remove configure_ENV because they are already set. Use post-patch to dynamicly fix the python version in test/examples_test.py instead of a patch. Reported by: swills@ [1], mva [2]
Notes
Notes: svn path=/head/; revision=351366
-rw-r--r--graphics/py-cairo/Makefile23
-rw-r--r--graphics/py3-cairo/Makefile31
-rw-r--r--graphics/py3-cairo/files/patch-test_examples-test.py11
-rw-r--r--graphics/py3-cairo/pkg-plist5
4 files changed, 38 insertions, 32 deletions
diff --git a/graphics/py-cairo/Makefile b/graphics/py-cairo/Makefile
index febf6d1e34d1..15e26439edb0 100644
--- a/graphics/py-cairo/Makefile
+++ b/graphics/py-cairo/Makefile
@@ -4,7 +4,7 @@
PORTNAME= cairo
PORTVERSION= 1.10.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= http://cairographics.org/releases/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -13,26 +13,33 @@ DISTNAME= py2${PORTNAME}-${PORTVERSION}
MAINTAINER= gnome@FreeBSD.org
COMMENT= Python 2 bindings for Cairo
-USE_BZIP2= yes
USE_PYTHON= 2
-USES= pkgconfig shebangfix
+USES= pkgconfig shebangfix tar:bzip2
USE_GNOME= cairo
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-CONFIGURE_ENV= PYTHON=${LOCALBASE}/bin/python2 \
+CONFIGURE_ENV= PYTHON=${LOCALBASE}/bin/${PYTHON_CMD} \
PREFIX=${PREFIX}
python_OLD_CMD?= /usr/bin/env python
python_CMD?= ${LOCALBASE}/bin/python2
-SHEBANG_FILES= examples/*.py examples/*/*.py waf test/*.py
+SHEBANG_FILES= examples/*.py examples/*/*.py test/*.py
do-configure:
- @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./waf configure
+ @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
+ ./waf configure
do-build:
- @cd ${WRKSRC} && ./waf
+ @cd ${WRKSRC} && ${PYTHON_CMD} ./waf
do-install:
- cd ${WRKSRC} && ${SETENV} DESTDIR=${STAGEDIR} ./waf install
+ cd ${WRKSRC} && ${PYTHON_CMD} ./waf install --destdir=${STAGEDIR}
+
+post-install:
+ @cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
+ -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
+ @cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
+ -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
+ @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/cairo/_cairo.so
.include <bsd.port.mk>
diff --git a/graphics/py3-cairo/Makefile b/graphics/py3-cairo/Makefile
index 685a1822f6c1..016b30e75261 100644
--- a/graphics/py3-cairo/Makefile
+++ b/graphics/py3-cairo/Makefile
@@ -4,7 +4,7 @@
PORTNAME= cairo
PORTVERSION= 1.10.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics python
MASTER_SITES= http://cairographics.org/releases/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -13,27 +13,36 @@ DISTNAME= py${PORTNAME}-${PORTVERSION}
MAINTAINER= gnome@FreeBSD.org
COMMENT= Python 3 bindings for Cairo
-USE_BZIP2= yes
USE_PYTHON= 3
-USES= pkgconfig shebangfix
+USES= pkgconfig shebangfix tar:bzip2
USE_GNOME= cairo
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
-CONFIGURE_ENV= PYTHON=${LOCALBASE}/bin/python3 \
- PREFIX=${PREFIX}
-NO_STAGE= yes
python_OLD_CMD?= /usr/bin/env python
-python_CMD?= ${LOCALBASE}/bin/python3
-SHEBANG_FILES= examples/*.py examples/*/*.py waf test/*.py
+python_CMD?= ${LOCALBASE}/bin/python${PYTHON_VER}
+SHEBANG_FILES= examples/*.py examples/*/*.py test/*.py
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|python %s|${PYTHON_CMD} %s|g' \
+ ${WRKSRC}/test/examples_test.py
do-configure:
- @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./waf configure
+ @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \
+ ./waf configure
do-build:
- @cd ${WRKSRC} && ./waf
+ @cd ${WRKSRC} && ${PYTHON_CMD} ./waf
do-install:
- @cd ${WRKSRC} && ./waf install
+ @cd ${WRKSRC} && ${PYTHON_CMD} ./waf install --destdir=${STAGEDIR}
+
+post-install:
+ @${RM} ${STAGEDIR}${PYTHON_SITELIBDIR}/cairo/__init__.py[co]
+ @cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
+ -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
+ @cd ${STAGEDIR}${PREFIX} && ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
+ -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
+ @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/cairo/_cairo.so
.include <bsd.port.mk>
diff --git a/graphics/py3-cairo/files/patch-test_examples-test.py b/graphics/py3-cairo/files/patch-test_examples-test.py
deleted file mode 100644
index fd665812a2a2..000000000000
--- a/graphics/py3-cairo/files/patch-test_examples-test.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- test/examples_test.py.orig 2013-09-30 22:50:22.000000000 +0200
-+++ test/examples_test.py 2013-09-30 22:50:39.000000000 +0200
-@@ -18,7 +18,7 @@
- examples/cairo_snippets/snippets/
- '''
- def doSnippets(name):
-- retcode = subprocess.call('python %s -s' % name, shell=True)
-+ retcode = subprocess.call('python2 %s -s' % name, shell=True)
- assert retcode == 0, 'Error: retcode == {0}'.format(retcode)
-
- os.chdir(os.path.join(os.path.dirname(__file__), '..', 'examples',
diff --git a/graphics/py3-cairo/pkg-plist b/graphics/py3-cairo/pkg-plist
index 40d9076f26ea..1f86765cfccd 100644
--- a/graphics/py3-cairo/pkg-plist
+++ b/graphics/py3-cairo/pkg-plist
@@ -1,8 +1,9 @@
include/pycairo/py3cairo.h
+%%PYTHON_SITELIBDIR%%/cairo/__pycache__/__init__.cpython-33.pyc
+%%PYTHON_SITELIBDIR%%/cairo/__pycache__/__init__.cpython-33.pyo
%%PYTHON_SITELIBDIR%%/cairo/__init__.py
-%%PYTHON_SITELIBDIR%%/cairo/__init__.pyc
-%%PYTHON_SITELIBDIR%%/cairo/__init__.pyo
%%PYTHON_SITELIBDIR%%/cairo/_cairo.so
libdata/pkgconfig/py3cairo.pc
+@dirrm %%PYTHON_SITELIBDIR%%/cairo/__pycache__
@dirrm %%PYTHON_SITELIBDIR%%/cairo
@dirrmtry include/pycairo