devel/py3-gobject3 fails to build

blubee blubeeme gurenchan at gmail.com
Mon Nov 6 19:41:15 UTC 2017


I am porting an ibus library that needs
Python >= 3.2
the Python 3 GObject bindings
IBus >= 1.4.1 (note that its GObject-Introspection bindings must be enabled)

I've done this to my makefile:
PORTNAME=               ibus-cangjie
PORTVERSION=            2.4
DISTVERSIONPREFIX=      v
CATEGORIES=             chinese

MAINTAINER=     hello at blubee.me
COMMENT=        Sophisticated software synthesizer

LICENSE=        GPLv2+
LICENSE_FILE=   ${WRKSRC}/COPYING

RUN_DEPENDS=
${PREFIX}/lib/python3.6/site-packages/cangjie/_core.so:chinese/pycangjie
       \
                py3?-gobject3>=0:devel/py3-gobject3

LIB_DEPENDS=    libibus-1.0.so:textproc/ibus

USES=           autoreconf gmake        \
                libtool pkgconfig       \
                python:2.7,build

# USE_GNOME=    glib20 gtk30 pygobject3 introspection:run  #====#this fails
because cairo requires <= py2.7
USE_GNOME=      introspection

GNU_CONFIGURE=          yes
USE_LDCONFIG=           yes

USE_GITHUB=             yes
GH_ACCOUNT=             Cangjians
GH_PROJECT=             ibus-cangjie

.include <bsd.port.pre.mk>
pre-configure:
        @(cd ${WRKSRC} && ./autogen.sh)
.include <bsd.port.post.mk>


This project doesn't build with python > 2.7 because ibus will fail, so I
added the run dependency but I don't know what to add to get the
introspection, if I add USE_GNOME that pulls in cairo, which then fails
because cairo needs python 2.7 or below.

pycangjie makefile looks like this:
BUILD_DEPENDS=  cython3>0:lang/cython3
LIB_DEPENDS=    libcangjie.so:chinese/libcangjie

USES=           autoreconf gmake        \
                libtool pkgconfig       \
                localbase python:3.6    \
                sqlite

BINARY_ALIAS=   cython=cython-3.6
GNU_CONFIGURE=          yes
USE_LDCONFIG=           yes

USE_GITHUB=             yes
GH_ACCOUNT=             Cangjians
GH_PROJECT=             pycangjie

.include <bsd.port.pre.mk>
pre-configure:
        @(cd ${WRKSRC} && ./autogen.sh)
# post-build:
post-install:
        (cd ${STAGEDIR}${PREFIX} \
        && ${PYTHON_CMD} ${PYTHON_LIBDIR}/*.py \
        -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})
        @(${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${
PYTHON_VERSION}/site-packages/cangjie/*.so)

.include <bsd.port.post.mk>

I get this compilation error below

checking for python3 platform... freebsd12
checking for python3 script directory... ${prefix}/lib/python3.6/site-
packages
checking for python3 extension module directory...
${exec_prefix}/lib/python3.6/site-packages
checking the cangjie Python module... yes
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for IBus... yes
checking for IBus component dir... /usr/local/share/ibus/component
checking the IBus introspection-based bindings... no
configure: error: Please install the IBus introspection-based bindings
*** Error code 1

I've been trying to get this to work from ports for the past two days and
nothing that i've tried seems to work, especially since building and
running requires 2 versions of python.

how can I setup the introspection-based bindings?

On Tue, Nov 7, 2017 at 3:30 AM, Mathieu Arnold <mat at freebsd.org> wrote:

> Le 06/11/2017 à 19:53, blubee blubeeme a écrit :
> > When trying to build a port and including py3-gobject3 either through:
> > USE_GNOME= py3gobject3
> > or
> > RUN_DEPENDS= py3-gobject3:devel/py3-gobject3
> >
> > the build will fail because py3-gobject3 needs cairo but cairo cannot
> build
> > with python > 2.7
> >
> > Is this a bug in the port or am I doing something wrong?
>
> As it all works fine for everybody else, I'm sure you must be doing
> something wrong. graphics/cairo does not need python, py3-gobject3
> depends on py3-cairo which builds fine with Python 3.
>
> Please, provide logs of what you are doing, and where it fails,
> otherwise, nobody can try to figure out what you are doing wrong.
>
> --
> Mathieu Arnold
>
>
>


More information about the freebsd-ports mailing list