Bug 138665

Summary: Build fails of x11-toolkits/py-gtk2, dependent on wrong version of cairo
Product: Ports & Packages Reporter: Randy Belk <randy.belk>
Component: Individual Port(s)Assignee: freebsd-gnome (Nobody) <gnome>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Randy Belk 2009-09-09 15:40:01 UTC
The build of py25-gtk-2.14.1_1 fails due to dependency on py25-cairo-1.8.8 which is not /usr/ports anymore, py26-cairo-1.8.8 is the current.

How-To-Repeat: cd /usr/ports/x11-toolkits/py-gtk2
make install
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2009-09-09 16:07:31 UTC
Responsible Changed
From-To: freebsd-amd64->gnome

Make this a ports PR and assign.
Comment 2 Scot Hetzel 2009-09-09 16:17:29 UTC
On Wed, Sep 9, 2009 at 9:30 AM, Randy Belk<randy.belk@onlybsd.com> wrote:
>>Description:
> The build of py25-gtk-2.14.1_1 fails due to dependency on py25-cairo-1.8.8 which is not /usr/ports anymore, py26-cairo-1.8.8 is the current.
>>How-To-Repeat:
> cd /usr/ports/x11-toolkits/py-gtk2
> make install
>>Fix:
>
See the ports/UPDATING entry dated 20090608:

http://www.freebsd.org/cgi/cvsweb.cgi/ports/UPDATING?rev=1.855;content-type=text%2Fplain

Specifically, you need to set PYTHON_DEFAULT_VERSION variable to
'python2.5' (without quotes) in  /etc/make.conf

Scot
Comment 3 Randy Belk 2009-09-09 16:47:45 UTC
I have "PYTHON_DEFAULT_VERSION=python2.5" already in /etc/make.conf.

-- 
- Amiga, The Computer for the creative Mind!
- UNIX is basically a simple operating system, but you have to be a
genius to understand the simplicity.
- People who hate Microsoft Windows use Linux but people who love UNIX use BSD.
Comment 4 Randy Belk 2009-09-09 20:42:23 UTC
This is the error I get when compiling. This is actually a
graphics/py-cairo issue not a x11-toolkits/py-gtk2 issue.
Graphics/py-cairo is dependent on Python 2.6 and can not run with 2.5!

===>  Extracting for py25-gtk-2.14.1_1
=> MD5 Checksum OK for gnome2/pygtk-2.14.1.tar.bz2.
=> SHA256 Checksum OK for gnome2/pygtk-2.14.1.tar.bz2.
===>  Patching for py25-gtk-2.14.1_1
===>  Applying FreeBSD patches for py25-gtk-2.14.1_1
===>   py25-gtk-2.14.1_1 depends on file:
/usr/local/lib/python2.5/site-packages/cairo/__init__.py - not found
===>    Verifying install for
/usr/local/lib/python2.5/site-packages/cairo/__init__.py in
/usr/ports/graphics/py-cairo
===>  py25-cairo-1.8.8 needs Python 2.6 at least. But you specified 2.5.
*** Error code 1

Stop in /usr/ports/graphics/py-cairo.
*** Error code 1

Stop in /usr/ports/x11-toolkits/py-gtk2.

===>>> make failed for x11-toolkits/py-gtk2
===>>> Aborting update



-- 
- Amiga, The Computer for the creative Mind!
- UNIX is basically a simple operating system, but you have to be a
genius to understand the simplicity.
- People who hate Microsoft Windows use Linux but people who love UNIX use BSD.
Comment 5 Scot Hetzel 2009-09-09 21:00:45 UTC
On Wed, Sep 9, 2009 at 2:42 PM, Randy Belk<randy.belk@onlybsd.com> wrote:
> This is the error I get when compiling. This is actually a
> graphics/py-cairo issue not a x11-toolkits/py-gtk2 issue.
> Graphics/py-cairo is dependent on Python 2.6 and can not run with 2.5!
>
> =3D=3D=3D> =A0Extracting for py25-gtk-2.14.1_1
> =3D> MD5 Checksum OK for gnome2/pygtk-2.14.1.tar.bz2.
> =3D> SHA256 Checksum OK for gnome2/pygtk-2.14.1.tar.bz2.
> =3D=3D=3D> =A0Patching for py25-gtk-2.14.1_1
> =3D=3D=3D> =A0Applying FreeBSD patches for py25-gtk-2.14.1_1
> =3D=3D=3D> =A0 py25-gtk-2.14.1_1 depends on file:
> /usr/local/lib/python2.5/site-packages/cairo/__init__.py - not found
> =3D=3D=3D> =A0 =A0Verifying install for
> /usr/local/lib/python2.5/site-packages/cairo/__init__.py in
> /usr/ports/graphics/py-cairo
> =3D=3D=3D> =A0py25-cairo-1.8.8 needs Python 2.6 at least. But you specifi=
ed 2.5.
> *** Error code 1
>
> Stop in /usr/ports/graphics/py-cairo.
> *** Error code 1
>
> Stop in /usr/ports/x11-toolkits/py-gtk2.
>
> =3D=3D=3D>>> make failed for x11-toolkits/py-gtk2
> =3D=3D=3D>>> Aborting update
>

One option to allow py-cairo to work with python < 2.6 would be to do
the following:

1. create a repo copy of py-cairo to py-cairo-old
2. down grade py-cairo-old to version 1.8.2
   - which was the last version we had working with python 2.5.
3. Set py-cairo-old to only build with python < 2.6

Finally, all ports that have a dependancy on graphics/py-cairo could
be changed as follows:

.if ${PYTHON_SUFFIX}  < 26
BUILD_DEPENDS=3D	${PYTHON_SITELIBDIR}/cairo/__init__.py:${PORTSDIR}/graphic=
s/py-cairo-old
RUN_DEPENDS=3D	${PYTHON_SITELIBDIR}/cairo/__init__.py:${PORTSDIR}/graphics/=
py-cairo-old
.else
BUILD_DEPENDS=3D	${PYTHON_SITELIBDIR}/cairo/__init__.py:${PORTSDIR}/graphic=
s/py-cairo
RUN_DEPENDS=3D	${PYTHON_SITELIBDIR}/cairo/__init__.py:${PORTSDIR}/graphics/=
py-cairo
.fi

Scot
Comment 6 Joe Marcus Clarke freebsd_committer freebsd_triage 2009-09-17 05:45:31 UTC
State Changed
From-To: open->closed

The current default version of Python is 2.6, and that is what GNOME supports. 
If you need to use a different version, then you will not be able to build 
the default GNOME Desktop.  It will be up to you to maintain an earlier 
version of py-cairo which supports Python 2.5.