[MacPorts] #34889: py27-cairo 1.8.10 incompatible with cairo +quartz
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz ------------------------------------------------+--------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: python, cairo, build, installation | Port: py27-cairo @1.8.10 ------------------------------------------------+--------------------------- {{{port install py27-cairo}}} leads to a load of an installation package which is precompiled with x11 support not complaining if cairo itself is installed without x11 but with quartz. Trying to install with {{{port build py27-cairo}}} and {{{port destroot py27-cairo}}} does not install properly. -- Ticket URL: <https://trac.macports.org/ticket/34889> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz ------------------------------------+--------------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: py27-cairo ------------------------------------+--------------------------------------- Changes (by macsforever2000@…): * keywords: python, cairo, build, installation => * port: py27-cairo @1.8.10 => py27-cairo -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by elelay@…): example stacktrace: {{{ 1353435148.901207 [gpodder.log] ERROR: Uncaught exception: Traceback (most recent call last): File "/Applications/MacPorts/gPodder.app/Contents/MacOS/gpodder", line 175, in <module> main() File "/Applications/MacPorts/gPodder.app/Contents/MacOS/gpodder", line 168, in main from gpodder.gtkui import main File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/gpodder/gtkui/main.py", line 22, in <module> import gtk File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/gtk-2.0/gtk/__init__.py", line 40, in <module> from gtk import _gtk File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cairo/__init__.py", line 1, in <module> from _cairo import * ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cairo/_cairo.so, 2): Symbol not found: _cairo_xlib_surface_get_depth Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cairo/_cairo.so Expected in: /opt/local/lib/libcairo.2.dylib in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /site-packages/cairo/_cairo.so }}} A solution would be to add a quartz variant to py-cairo, like in [source:trunk/dports/python/py27-gtk/Portfile py27-gtk], and maybe a check for actual installation of quartz variant of gtk before proceeding with install, like in [source:trunk/dports/devel/gtk-osx- application/Portfile gtk-osx-application]. -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): Hello! I resolved the problem simply by updating to 1.10.0. Attaching the patch for you to take a look, and then I'll commit it. I'm not so sure about some things, like the exec_prefix. It would be great to unify this port with the python portgroup, too... -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:4 g5pw@…]:
Hello! I resolved the problem simply by updating to 1.10.0. Attaching the patch for you to take a look, and then I'll commit it. I'm not so sure about some things, like the exec_prefix. It would be great to unify this port with the python portgroup, too...
This has a duplicate, #34724
It's been a while since I looked at this port, but I was able to unify it with python group and avoid using the crazy ./waf script stuff. My portfile is located here: https://bitbucket.org/seanfarley/scienceports/src/b4bac6a7317a8f94c29ce39e81... /py-cairo/Portfile?at=default -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): What's wrong with the waf script stuff? It's the official way to install it, autoconf &make is unsupported, or so says the readme... -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:7 g5pw@…]:
What's wrong with the waf script stuff? It's the official way to install it, autoconf &make is unsupported, or so says the readme...
Good question. I wish I had saved my notes but I seem to remember ./waf not getting the correct python (even when run from the command line!). Ah, right, here is the error I got: {{{ $ python3.2 ./waf configure --prefix=$SANDBOX/local-cairo3 ./options() Setting top to : /Users/sean/sandbox/pycairo-1.10.0 Setting out to : /Users/sean/sandbox/pycairo-1.10.0/build_directory ./configure() Checking for 'gcc' (c compiler) : ok Checking for program python : /opt/local/bin/python python executable '/opt/local/bin/python' different from sys.executable '/opt/local/Library/Frameworks/Python.framework/Versions/3.2/Resources/Python.app/Contents/MacOS/Python' Checking for python version : (2, 7, 3, 'final', 0) The python version is too old, expecting (3, 1, 0) (complete log in /Users/sean/sandbox/pycairo-1.10.0/build_directory/config.log) }}} There are some comments here, http://stackoverflow.com/questions/6232529/how-to-install-pycairo-for- python-3-on-ubuntu-10-04 that also complain about ./waf not getting the correct version of python. I just checked and it's still not fixed in the git repos :-( -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:8> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): Hmm... ok, but we'd be forced to rewrite the setup.py every time something changes upstream... I compiled with waf, and it all went OK! -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:9> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:9 g5pw@…]:
Hmm... ok, but we'd be forced to rewrite the setup.py every time something changes upstream... I compiled with waf, and it all went OK!
Did you try changing the python version (e.g. python3.2)? I think it works by chance that the system python is the same as python27. Also, the files don't get installed into the right "python" directories. One thing we could try to use a newer waf script from: http://code.google.com/p/waf/ and then move the ${prefix}/lib and ${prefix}/include directories into the framework structure during the post-destroot stage. I might be able to write that patch this afternoon. -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:10> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:9 g5pw@…]:
Hmm... ok, but we'd be forced to rewrite the setup.py every time something changes upstream... I compiled with waf, and it all went OK!
Ah, also, the setup.py comes straight from the pycairo repo. It seems they are switching (slowly) to setup.py for python3. In my portfile, I just use their setup.py and patch it to work for python2.X. I'm trying to get waf to work with a new version but it is a major pain-in-the-ass. -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Here's one of the devs saying that they support setup.py for python3: https://bugs.freedesktop.org/show_bug.cgi?id=51458 Since I can't get waf to work out, I'm going to suggest using pycairo's setup.py and backporting it to python2 when needed. -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by elelay@…): Replying to [comment:4 g5pw@…]:
Hello! I resolved the problem simply by updating to 1.10.0.
Hi g5pw, You have not only updated: you have added the quartz variant, as suggested. I think also checking for the installed version of gtk is important for consistency. Cheers, Eric -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:13> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): Sean, I like your version then, I'll commit it if you want. Would you take maintainership, too? -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:14> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:14 g5pw@…]:
Sean, I like your version then, I'll commit it if you want. Would you take maintainership, too?
Oh man, I missed this comment (it seems that these don't forward to email?). Sure, I'd be happy to take ownership … but I have no committers rights :-/ I really would like to have a unified port for this since it's blocking the update for py3x-matplotlib (well, with the +cairo variant). -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:15> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): Sean, I can commit everything for you :) just send me the patches or new files! -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:16> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by macsforever2000@…): @sean.michael.farley: You missed the comment because you weren't Cc'ed on this ticket. Anyone can be maintainer for a port. You can attach patches to Tickets. Once you have a history of writing good patches, you can apply to be a committer. -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:17> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Changes (by macsforever2000@…): * cc: sean.michael.farley@… (added) -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:18> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:16 g5pw@…]:
Sean, I can commit everything for you :) just send me the patches or new files!
Oh, sweet! Since I made a lot of patches to fix this issue and update the port, I would say just include the version I have in my repo: https://bitbucket.org/seanfarley/scienceports/src/46319aea8af3889e68b80de28a... /py-cairo/Portfile?at=default If you really want the patches, then they can be downloaded from the bitbucket repo individually as well. Replying to [comment:17 macsforever2000@…]:
@sean.michael.farley: You missed the comment because you weren't Cc'ed on this ticket. Anyone can be maintainer for a port. You can attach patches to Tickets. Once you have a history of writing good patches, you can apply to be a committer.
Ah, I see now. I was wrongly under the impression that if I replied then I would be cc'ed. Thanks for including me now! -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:19> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): with your permission, I'd like to add openmaintainer, to speed up small fixes, and use the active_variants portgroup to check for the active cairo variant. Oh, and the modeline :) is it ok with you? -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:20> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:20 g5pw@…]:
with your permission, I'd like to add openmaintainer, to speed up small fixes, and use the active_variants portgroup to check for the active cairo variant. Oh, and the modeline :) is it ok with you?
Sure, sounds good :-) -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:21> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by g5pw@…): I'm attaching the portfile I'll commit, with your permission. Take a look! -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:22> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Comment (by sean.michael.farley@…): Replying to [comment:22 g5pw@…]:
I'm attaching the portfile I'll commit, with your permission. Take a look!
Looks good! :-) I like the use of the active_variants port group, very nice! -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:23> MacPorts <http://www.macports.org/> Ports system for Mac OS
#34889: py27-cairo 1.8.10 incompatible with cairo +quartz -------------------------------+-------------------------------- Reporter: luis.kornblueh@… | Owner: macports-tickets@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Resolution: fixed | Keywords: Port: py27-cairo | -------------------------------+-------------------------------- Changes (by g5pw@…): * status: new => closed * resolution: => fixed Comment: Commited everything in r100265. From now on, of you wanna make changes, drop an email to me with the diff or open a ticket ;) -- Ticket URL: <https://trac.macports.org/ticket/34889#comment:24> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts