summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgusi <gusi@df743ca5-7f9a-e211-a948-0013205c9059>2014-03-27 06:35:18 +0800
committergusi <gusi@df743ca5-7f9a-e211-a948-0013205c9059>2014-03-27 06:35:18 +0800
commit38d18a23805b724ea1788b39c6478bcfd0226113 (patch)
tree1ab786a314584f4e80a0f6c4c46459a0c5e3897b
parentff97f9f2fc56434bf4a5502d34b1f85a3765d3cb (diff)
downloadmarcuscom-ports-experimental-38d18a23805b724ea1788b39c6478bcfd0226113.tar.gz
marcuscom-ports-experimental-38d18a23805b724ea1788b39c6478bcfd0226113.tar.zst
marcuscom-ports-experimental-38d18a23805b724ea1788b39c6478bcfd0226113.zip
Changes to try to allow py-gobject3 for Python2 and Python3 to coexist.
Create pygoject3-common which installs the header and the .pc file for py-gobject3 (Python2) and py3-gobject3 (Python3) Prevent devel/py[3]-gobject3 from installing the header and the .pc files. When installing devel/py[3]-gobject3, pull in py-gobject3-common. To track py[3]-gobject3 in bsd.gnome.mk without using %%PYTHON_SITELIB%% in bsd.gnome.mk we create fake files under share/py[3]-gobject3/ Discussed and reviewd by: kwm git-svn-id: svn://creme-brulee.marcuscom.com/ports-experimental/trunk@19379 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r--Mk/bsd.gnome.mk2
-rw-r--r--devel/py-gobject3/Makefile6
-rw-r--r--devel/py3-gobject3/Makefile10
-rw-r--r--devel/py3-gobject3/pkg-plist5
-rw-r--r--devel/pygobject3-common/Makefile49
-rw-r--r--devel/pygobject3-common/pkg-descr4
-rw-r--r--devel/pygobject3-common/pkg-plist3
7 files changed, 70 insertions, 9 deletions
diff --git a/Mk/bsd.gnome.mk b/Mk/bsd.gnome.mk
index 0ad424e..a3e1283 100644
--- a/Mk/bsd.gnome.mk
+++ b/Mk/bsd.gnome.mk
@@ -472,7 +472,7 @@ pygobject_BUILD_DEPENDS= pygobject-codegen-2.0:${PORTSDIR}/devel/py-gobject
pygobject_RUN_DEPENDS= pygobject-codegen-2.0:${PORTSDIR}/devel/py-gobject
pygobject_USE_GNOME_IMPL= glib20
-py3gobject3_DETECT= ${LOCALBASE}/libdata/pkgconfig/pygobject-3.0.pc
+py3gobject3_DETECT= ${LOCALBASE}/share/py3gobject3/.keep
py3gobject3_BUILD_DEPENDS= py3?-gobject3>=0:${PORTSDIR}/devel/py3-gobject3
py3gobject3_RUN_DEPENDS= py3?-gobject3>=0:${PORTSDIR}/devel/py3-gobject3
py3gobject3_USE_GNOME_IMPL= glib20
diff --git a/devel/py-gobject3/Makefile b/devel/py-gobject3/Makefile
index 605884f..54adf14 100644
--- a/devel/py-gobject3/Makefile
+++ b/devel/py-gobject3/Makefile
@@ -4,7 +4,7 @@
PORTNAME= gobject
PORTVERSION= 3.12.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel python
MASTER_SITES= GNOME
MASTER_SITE_SUBDIR= sources/pygobject/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
@@ -21,7 +21,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pycairo.pc:${PORTSDIR}/graphics/py-cairo
LIB_DEPENDS= libffi.so:${PORTSDIR}/devel/libffi
-RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pycairo.pc:${PORTSDIR}/graphics/py-cairo
+RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pycairo.pc:${PORTSDIR}/graphics/py-cairo \
+ pygobject3-common:${PORTSDIR}/devel/pygobject3-common
USES= gmake pathfix pkgconfig tar:xz
USE_GNOME= glib20 introspection
@@ -48,7 +49,6 @@ post-install:
@${RM} -f ${STAGEDIR}${PREFIX}/include/pygobject-3.0/pygobject.h \
${STAGEDIR}${PREFIX}/libdata/pkgconfig/pygobject-3.0.pc
@${RMDIR} ${STAGEDIR}${PREFIX}/include/pygobject-3.0
- # we need a file to use in bsd.gnome.mk _DETECT line.
@${MKDIR} ${STAGEDIR}${PREFIX}/share/pygobject3/
@${TOUCH} ${STAGEDIR}${PREFIX}/share/pygobject3/.keep
diff --git a/devel/py3-gobject3/Makefile b/devel/py3-gobject3/Makefile
index 23fc623..2784754 100644
--- a/devel/py3-gobject3/Makefile
+++ b/devel/py3-gobject3/Makefile
@@ -4,6 +4,7 @@
PORTNAME= gobject
PORTVERSION= 3.12.0
+PORTREVISION= 1
CATEGORIES= devel python
MASTER_SITES= GNOME
MASTER_SITE_SUBDIR= sources/pygobject/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
@@ -20,7 +21,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/py3cairo.pc:${PORTSDIR}/graphics/py3-cairo
LIB_DEPENDS= libffi.so:${PORTSDIR}/devel/libffi
-RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/py3cairo.pc:${PORTSDIR}/graphics/py3-cairo
+RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/py3cairo.pc:${PORTSDIR}/graphics/py3-cairo \
+ pygobject3-common>=0:${PORTSDIR}/devel/pygobject3-common
USES= gmake pathfix pkgconfig tar:xz
USE_GNOME= glib20 introspection
@@ -45,6 +47,10 @@ post-patch:
post-install:
@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/gi/*.so
-
+ @${RM} -f ${STAGEDIR}${PREFIX}/include/pygobject-3.0/pygobject.h \
+ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/pygobject-3.0.pc
+ @${RMDIR} ${STAGEDIR}${PREFIX}/include/pygobject-3.0
+ @${MKDIR} ${STAGEDIR}${PREFIX}/share/py3gobject3/
+ @${TOUCH} ${STAGEDIR}${PREFIX}/share/py3gobject3/.keep
.include <bsd.port.post.mk>
diff --git a/devel/py3-gobject3/pkg-plist b/devel/py3-gobject3/pkg-plist
index 4ba50c4..1c45d7b 100644
--- a/devel/py3-gobject3/pkg-plist
+++ b/devel/py3-gobject3/pkg-plist
@@ -1,4 +1,3 @@
-include/pygobject-3.0/pygobject.h
%%PYTHON_SITELIBDIR%%/gi/__init__.py
%%PYTHON_SITELIBDIR%%/gi/__pycache__/__init__.cpython-33.pyc
%%PYTHON_SITELIBDIR%%/gi/__pycache__/__init__.cpython-33.pyo
@@ -76,7 +75,8 @@ include/pygobject-3.0/pygobject.h
%%PYTHON_SITELIBDIR%%/pygtkcompat/__pycache__/pygtkcompat.cpython-33.pyo
%%PYTHON_SITELIBDIR%%/pygtkcompat/generictreemodel.py
%%PYTHON_SITELIBDIR%%/pygtkcompat/pygtkcompat.py
-libdata/pkgconfig/pygobject-3.0.pc
+share/py3gobject3/.keep
+@dirrm share/py3gobject3
@dirrm %%PYTHON_SITELIBDIR%%/pygtkcompat/__pycache__
@dirrm %%PYTHON_SITELIBDIR%%/pygtkcompat
@dirrm %%PYTHON_SITELIBDIR%%/gi/repository/__pycache__
@@ -87,4 +87,3 @@ libdata/pkgconfig/pygobject-3.0.pc
@dirrm %%PYTHON_SITELIBDIR%%/gi/_gobject
@dirrm %%PYTHON_SITELIBDIR%%/gi/__pycache__
@dirrm %%PYTHON_SITELIBDIR%%/gi
-@dirrmtry include/pygobject-3.0
diff --git a/devel/pygobject3-common/Makefile b/devel/pygobject3-common/Makefile
new file mode 100644
index 0000000..6e637f3
--- /dev/null
+++ b/devel/pygobject3-common/Makefile
@@ -0,0 +1,49 @@
+# Created by: Gustau Perez i Querol <gustau.perez@gmail.com>
+# $FreeBSD$
+# $MCom$
+
+PORTNAME= pygobject
+PORTVERSION= 3.12.0
+PORTREVISION= 2
+CATEGORIES= devel python
+MASTER_SITES= GNOME
+MASTER_SITE_SUBDIR= sources/pygobject/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
+PKGNAMESUFFIX= 3-common
+DISTNAME= pygobject-${PORTVERSION}
+DIST_SUBDIR= gnome3
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Common files for the Python bindings for GObject
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/pycairo.pc:${PORTSDIR}/graphics/py-cairo
+
+USES= gmake pathfix pkgconfig tar:xz
+USE_PYTHON_BUILD= 2
+USE_GNOME= glib20 introspection
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+
+# this port doesn't work with py-gobject < 2.28.6_2, clungle below
+CONFLICTS= py*-gtk-0* py*-gobject-2.*.[0-6] py*-gobject-2.*.[7-9] \
+ py*-gobject-2.*.6_1
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|SUBDIRS = examples gi tests|SUBDIRS = examples gi|g' \
+ ${WRKSRC}/Makefile.in
+
+do-build:
+ ${DO_NADA}
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/pygobject-3.0/
+ ${INSTALL_DATA} ${WRKSRC}/gi/pygobject.h \
+ ${STAGEDIR}${PREFIX}/include/pygobject-3.0/pygobject.h
+ ${INSTALL_DATA} ${WRKSRC}/pygobject-3.0.pc \
+ ${STAGEDIR}${PREFIX}/libdata/pkgconfig/pygobject-3.0.pc
+
+.include <bsd.port.post.mk>
diff --git a/devel/pygobject3-common/pkg-descr b/devel/pygobject3-common/pkg-descr
new file mode 100644
index 0000000..eded7fc
--- /dev/null
+++ b/devel/pygobject3-common/pkg-descr
@@ -0,0 +1,4 @@
+PyGObject provides a convenient wrapper for the GObject+ library for use
+in Python programs, and takes care of many of the boring details such as
+managing memory and type casting. When combined with PyGTK, PyORBit and
+gnome-python, it can be used to write full featured Gnome applications.
diff --git a/devel/pygobject3-common/pkg-plist b/devel/pygobject3-common/pkg-plist
new file mode 100644
index 0000000..39dca2f
--- /dev/null
+++ b/devel/pygobject3-common/pkg-plist
@@ -0,0 +1,3 @@
+include/pygobject-3.0/pygobject.h
+libdata/pkgconfig/pygobject-3.0.pc
+@dirrm include/pygobject-3.0