Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 61835

Summary: Updated ebuild for diacanvas to 0.13.1
Product: Gentoo Linux Reporter: Chris Mayo <aklhfex>
Component: New packagesAssignee: GNOME Office (OBSOLETE) <gnome-office+disabled>
Status: RESOLVED FIXED    
Severity: enhancement CC: ed, ejona86, jean, khaelin, yselkowitz
Priority: High    
Version: 2004.2   
Hardware: x86   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 56641    
Attachments: diacanvas-0.13.1 ebuild
diacanvas-0.14.2
diacanvas-0.14.2-r1.ebuild
diacanvas-0.14.3.ebuild
diacanvas-0.14.4.ebuild
diacanvas-0.14.4-override.patch

Description Chris Mayo 2004-08-26 10:31:20 UTC
Attached is an updated ebuild for diacanvas2 to the current version

There are some changes made to the RDEPEND's which I believe are necessary:

1) depending on gtk+ (which itself depends on glib) instead of glib
2) for python, gnome-python is needed which itself depends on python and pygtk
Comment 1 Chris Mayo 2004-08-26 10:32:00 UTC
Created attachment 38249 [details]
diacanvas-0.13.1 ebuild
Comment 2 Priit Laes (IRC: plaes) 2004-10-13 12:32:44 UTC
current diavanvas fails with build error:

gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libart-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/freetype2/config -I/usr/include/libgnomeprint-2.2 -I/usr/include/libxml2 -I.. -DG_LOG_DOMAIN=\"DiaCanvas2\" -O2 -mtune=pentium3 -MT dia-shape.lo -MD -MP -MF .deps/dia-shape.Tpo -c dia-shape.c  -fPIC -DPIC -o dia-shape.lo
dia-shape.c:1178: error: conflicting types for 'dia_shape_text_set_wrap_mode'
dia-shape.h:387: error: previous declaration of 'dia_shape_text_set_wrap_mode' was here
dia-shape.c:1178: error: conflicting types for 'dia_shape_text_set_wrap_mode'
dia-shape.h:387: error: previous declaration of 'dia_shape_text_set_wrap_mode' was here
make[3]: *** [dia-shape.lo] Error 1
make[3]: Leaving directory `/home/root/tmp/portage/diacanvas-0.10.0/work/diacanvas2-0.10.0/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/root/tmp/portage/diacanvas-0.10.0/work/diacanvas2-0.10.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/root/tmp/portage/diacanvas-0.10.0/work/diacanvas2-0.10.0'
make: *** [all] Error 2

!!! ERROR: x11-libs/diacanvas-0.10.0 failed.
!!! Function gnome2_src_compile, Line 40, Exitcode 2
!!! compile failure
Comment 3 Yaron Tausky 2005-01-11 15:30:38 UTC
Created attachment 48251 [details]
diacanvas-0.14.2
Comment 4 Cliff Yapp 2005-01-22 17:40:14 UTC
Would like to see this one updated.  Have build 0.14.2 on my system using just a version bumped 0.10 ebuild, seemed to work fine.
Comment 5 Dario Ernst 2005-02-08 06:52:52 UTC
the attached diacanvas-0.14.2 ebuild got still problems with the python support. i assume its in the configure script line 10223 ... the 2 sys.exit()s should be switched. but i didnt test that. 

if you do the test (import pygtk, pytgtk.require('2.0') and import gnome.canvas) manually and if it succeeds you can just change line 10231 to "enable_python=yes" if you want python support.

theres a little trick to the whole thing: first emerge the broken package, and let emerge download the file. then copy /usr/portage/distfiles/diacanvas2-0.14.2.tar.gz to any location, unpack it, change the configure file, repack it (tar cvvfz), copy the new compressed file back to /usr/prtage/distfiles, do a "ebuild /usr/portage/x11-libs/diacanvas/diacanvas-0.14.2.ebuild digest", and emerge diacanvas again. that did the job for me
Comment 6 Fabian Sturm 2005-03-06 07:11:53 UTC
The 0.14.2 ebuild installs fine on my machine, I did not have to tweak the configure script (I have python-2.3.4-r1 installed).

Gaphor also compiled and runs fine as a test application for diacanvas.
Comment 7 Mystilleef 2005-04-28 05:08:32 UTC
Dario's hack worked for me. Thanks.
Comment 8 Martin Mokrejš 2005-09-08 17:33:02 UTC
I face the same build error with x11-libs/diacanvas-0.10.0 as in comment #2.
It's almost one year. Why don't you put the diacanvas-0.14.2 version into portage?
I have ~x86 and still have the old diacanvas-0.10.0 crap. Thanks. ;)
Comment 9 Chris Mayo 2005-09-27 10:25:49 UTC
Created attachment 69350 [details]
diacanvas-0.14.2-r1.ebuild

Emerging diacanvas-0.14.2 with Python 2.4 installed doesn't build the Python
modules.

Attached is an updated ebuild that forces configure to look at the default
Python interpreter (as indicated by distutils eclass).
Comment 10 Jesse Adelman 2005-10-19 17:46:59 UTC
Re #9: Works fine with gaphor here, thanks. Hope this makes it into Portage
without waiting another year...
Comment 11 Chris Mayo 2006-02-03 11:03:27 UTC
Created attachment 78821 [details]
diacanvas-0.14.3.ebuild
Comment 12 Eric Anderson 2006-02-18 10:29:57 UTC
Diacanvas is really diacanvas2. This should be corrected. diacanvas-0.14.3.ebuild works for amd64, so ~amd64 would be nice. In addition, diacanvas2-0.14.4 is out and works with the same ebuild just renamed.
Comment 13 Glauber 2006-03-14 13:42:12 UTC
Hi Guys.
Here the error below still occurs. Should I put ~x86 to the python packages related to this program? I'm trying to install gaphor.

Module 'xml.parsers.expat' found.
!!! Required module 'gtk' not found.
!!! Required module 'gnomecanvas' not found.
!!! Required module 'diacanvas' not found.

Config failed.
The following modules can not be found or are to old:
  'gtk', 'gnomecanvas', 'diacanvas'
Comment 14 Eric Anderson 2006-03-14 14:44:00 UTC
I would expect that you do not have the python modules installed. I would expect that they are installed in Python 2.3 and you have upgraded since then and are running Python 2.4 now. That would be why portage is not wanting you to update those packages. Try running python-updater or looking in /usr/lib/python2.3/site-pacakges/ (I think this is the correct directory, it may be slightly different (I am in a different distro at the moment)) and see if they are in there. Python-updater should do the trick if this is the cause of the problem.
Comment 15 Glauber 2006-03-14 15:16:52 UTC
Yes, I'm using python2.4 and there's nothing else from python2.3. python-update can't find an old version of python.
Do you know what should I re-emerge? or how to discover?
Thanks.
Comment 16 Eric Anderson 2006-03-14 20:56:23 UTC
Bring up python and try importing each:
$ python
Python 2.4.2 (...)
[GCC ...] ...
>>> import xml.parsers.expat
>>> import gtk
>>> import gnomecanvas
>>> import diacanvas

Python 2.4 should come up when you run the python command. The first import should work and the other three should fail. GTK is provided by pygtk, so see if  you have that if import gtk does not work. I do not know what provides the gnomecanvas python bindings. Diacanvas provides the diacanvas module, and you certainly have that. Is your use flag for python on? If not, then that would explain having problems.
Comment 17 Glauber 2006-03-15 07:14:25 UTC
Thanks for the suggesstion. I emerged pycairo, pygtk, and all the python libraries that I thought was related to gtk.
I works now. I guess pycairo did the trick, but I'm not sure.
Thanks =)
Comment 18 Ed Catmur 2006-04-24 21:33:18 UTC
Created attachment 85422 [details]
diacanvas-0.14.4.ebuild

Minor QA fixes.
Comment 19 khaelin 2006-11-01 02:28:28 UTC
Error compiling diacanvas-0.14.4:

 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I/usr/include/python2.4 -I/usr/include/pygtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libart-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libpng12 -march=athlon64 -O2 -pipe -msse3 -ftree-vectorize -MT _canvasmodule_la-pydiacanvasitem.lo -MD -MP -MF .deps/_canvasmodule_la-pydiacanvasitem.Tpo -c pydiacanvasitem.c  -fPIC -DPIC -o .libs/_canvasmodule_la-pydiacanvasitem.o
(cd . \
         && /usr/bin/pygtk-codegen-2.0 \
            --register /usr/share/pygtk/2.0/defs/pango-types.defs \
            --register ../diacanvas/dia-boxed.defs \
            --register diashape.defs \
            --override diacanvas.override \
            --prefix pydiacanvas diacanvas.defs) > gen-diacanvas.c \
         && cp gen-diacanvas.c diacanvas.c \
         && rm -f gen-diacanvas.c
Traceback (most recent call last):
  File "/usr/share/pygtk/2.0/codegen/codegen.py", line 1707, in ?
    sys.exit(main(sys.argv))
  File "/usr/share/pygtk/2.0/codegen/codegen.py", line 1659, in main
    o = override.Overrides(arg)
  File "/usr/share/pygtk/2.0/codegen/override.py", line 49, in __init__
    self.handle_file(filename)
  File "/usr/share/pygtk/2.0/codegen/override.py", line 81, in handle_file
    self.__parse_override(buf, startline, filename)
  File "/usr/share/pygtk/2.0/codegen/override.py", line 130, in __parse_override
    raise RuntimeError("Function %s is being overridden more than once" % (func,))
RuntimeError: Function dia_canvas_item_new is being overridden more than once
make[2]: *** [diacanvas.c] Error 1



------------------------------------------------
emerge --info

Portage 2.1.2_rc1-r1 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo x86_64)
=================================================================
System uname: 2.6.18-gentoo x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Gentoo Base System version 1.12.5
Last Sync: Tue, 31 Oct 2006 20:00:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.3-r1, 2.0.27-r1
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  0.4.2-r1
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -msse3 -ftree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe -msse3 -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles/ ftp://mirror.ovh.net/gentoo-distfiles/  http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LC_ALL="fr_FR.UTF-8"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X alsa berkdb bitmap-fonts cli cracklib crypt cups dlloader doc dri elibc_glibc examples fortran gdbm gpm iconv input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kernel_linux libg++ ncurses nptl nptlonly pcre perl png ppds pppd python readline reflection session smp spl sse3 ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_nv video_cards_nvidia video_cards_vesa video_cards_vga xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 20 Chris Mayo 2006-11-01 10:05:24 UTC
Created attachment 100977 [details, diff]
diacanvas-0.14.4-override.patch

I saw the same thing and came up with the attached patch (for 0.14.4) to remove what look like duplicates being mentioned, it does at least allow the compile to complete, but whether it really works I am not sure. Now applications using diacanvas (gaphor) throw errors like:

** (gaphor:12403): WARNING **: couldn't make the type `CanvasGroup' ready
TypeError: Cannot create a consistent method resolution
order (MRO) for bases GObject, CanvasGroupableIface, CanvasGroupable

Looking at diacanvas CVS on sf.net the project doesn't seem very alive and the gaphor project is developing a new version that doesn't use it.
Comment 21 Gilles Dartiguelongue (RETIRED) gentoo-dev 2007-11-01 21:55:02 UTC
it looks like diacanvas has no dependencies in tree anymore and that gaphor now has its own implementation in python according to the project homepage.

If you guys see any problem in lastriting this package, please speak.
Comment 22 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-11-24 13:26:19 UTC
0.15.4 in now in tree.