Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#16730 closed submission (fixed)

graphics/gegl-0.0.18: new port

Reported by: dbevans (David B. Evans) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: gegl image processing Cc: myschizobuddy@…, simon@…
Port: gegl

Description

GEGL is a graph based image processing framework offering image processing and compositing on large images. GEGL is suitable for projects ranging from small one-off projects to interactive applications.

Attachments (1)

Portfile (1.5 KB) - added by dbevans (David B. Evans) 12 years ago.
Initial Portfile

Download all attachments as: .zip

Change History (22)

Changed 12 years ago by dbevans (David B. Evans)

Attachment: Portfile added

Initial Portfile

comment:1 Changed 12 years ago by dbevans (David B. Evans)

Note that gegl is dependent upon port babl submitted in #16729

comment:2 Changed 12 years ago by myschizobuddy@…

if ffmpeg dependency a must or optional? considering this port is required for gimp 2.6

comment:3 in reply to:  2 Changed 12 years ago by dbevans (David B. Evans)

Replying to myschizobuddy@…:

if ffmpeg dependency a must or optional? considering this port is required for gimp 2.6

gegl considers it to be optional -- it will build without it at reduced functionality. Specifically it is using avcodec and avformat. However there is no way to turn this functionality off if it is not wanted in this port without removing ffmpeg as a port. If it is available they use it. This is not an unusual developer philosophy (inkscape is another example), but it makes for a port that behaves unpredicably depending on what the user may or may not have installed and the variants capability in Macports is no help. Removing the dependency conditionally, based on a variant, for instance, says nothing about whether the port is installed or not.

So by making a dependency on ffmpeg at least there is consistency in how the port behaves and it seems to be in line with the developers' philosophy of if you have it, use it.

On the other hand both ffmpeg and gimp2 are pretty big builds.

comment:4 Changed 12 years ago by myschizobuddy@…

Shouldn't we have enable static for both gegl and babl, to get the respective static libraries

comment:5 in reply to:  4 Changed 12 years ago by dbevans (David B. Evans)

Replying to myschizobuddy@…:

Shouldn't we have enable static for both gegl and babl, to get the respective static libraries

I used the default settings for configure. Most programs link to dynamic libraries these days and if you use the static libraries then you will have to re-build your application whenever the library is updated to get the benefit.

comment:6 Changed 12 years ago by myschizobuddy@…

Cc: myschizobuddy@… added

Cc Me!

comment:7 Changed 12 years ago by myschizobuddy@…

Tested and verified on Mac OSX Leopard 10.5.5 intel this port installed around 70 ports to fulfill its dependencies.

gegl developers should provide switches to enable/disable the optional dependencies

comment:8 Changed 12 years ago by simon@…

Cc: simon@… added

I just tried building it on Mac OS X 10.4.11 Intel and got the following error. I have no idea why this is happening:

(cd .libs && rm -f subtract.la && ln -s ../subtract.la subtract.la)
/bin/sh ../../libtool --tag=CC --mode=compile /usr/bin/gcc-4.0 -DHAVE_CONFIG_H   -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES  -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c -o svg-multiply.la.lo svg-multiply.c
 /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c svg-multiply.c  -fno-common -DPIC -o .libs/svg-multiply.la.o
/bin/sh ../../libtool --tag=CC --mode=link /usr/bin/gcc-4.0 -avoid-version -export-dynamic -module  -L/opt/local/lib -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -L/opt/local/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv    -o svg-multiply.la -rpath /opt/local/lib/gegl-0.0 svg-multiply.la.lo
/usr/bin/gcc-4.0 ${wl}-undefined ${wl}dynamic_lookup -o .libs/svg-multiply.so -bundle  .libs/svg-multiply.la.o  -L/opt/local/lib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib  -mmmx -msse
dsymutil .libs/svg-multiply.so || :
ERROR: No debug map or DWARF data was found to link.creating svg-multiply.la
(cd .libs && rm -f svg-multiply.la && ln -s ../svg-multiply.la svg-multiply.la)
/bin/sh ../../libtool --tag=CC --mode=compile /usr/bin/gcc-4.0 -DHAVE_CONFIG_H   -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES  -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c -o xor.la.lo xor.c
 /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c xor.c  -fno-common -DPIC -o .libs/xor.la.o
/bin/sh ../../libtool --tag=CC --mode=link /usr/bin/gcc-4.0 -avoid-version -export-dynamic -module  -L/opt/local/lib -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -L/opt/local/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv    -o xor.la -rpath /opt/local/lib/gegl-0.0 xor.la.lo
/usr/bin/gcc-4.0 ${wl}-undefined ${wl}dynamic_lookup -o .libs/xor.so -bundle  .libs/xor.la.o  -L/opt/local/lib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib  -mmmx -msse
dsymutil .libs/xor.so || :
ERROR: No debug map or DWARF data was found to link.creating xor.la
(cd .libs && rm -f xor.la && ln -s ../xor.la xor.la)
make[3]: Nothing to be done for `all-am'.
Making all in bin
if /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I. -I.. -I..	-I../gegl -I../gegl/buffer -I../gegl/property-types -I../gegl/buffer -I../gegl/operation -I../gegl/module -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include   -DXTHREADS -I/opt/local/include/gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 -I/opt/local/include/cairo -I/opt/local/include/pango-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include/freetype2 -I/opt/local/include/libpng12 -I/usr/X11R6/include   -I/opt/local/include/babl-0.0   -I/opt/local/include/libpng12    -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES  -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -MT gegl.o -MD -MP -MF ".deps/gegl.Tpo" -c -o gegl.o gegl.c; \
then mv -f ".deps/gegl.Tpo" ".deps/gegl.Po"; else rm -f ".deps/gegl.Tpo"; exit 1; fi
In file included from /opt/local/include/gtk-2.0/gdk/gdkspawn.h:26,
                 from /opt/local/include/gtk-2.0/gdk/gdk.h:52,
                 from /opt/local/include/gtk-2.0/gtk/gtk.h:31,
                 from gegl.c:43:
/opt/local/include/glib-2.0/glib/gspawn.h:22:2: error: #error "Only <glib.h> can be included directly."
make[2]: *** [gegl.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Thanks,

Simon

comment:9 in reply to:  8 Changed 12 years ago by dbevans (David B. Evans)

Replying to simon@…:

I just tried building it on Mac OS X 10.4.11 Intel and got the following error. I have no idea why this is happening:

(cd .libs && rm -f subtract.la && ln -s ../subtract.la subtract.la)
/bin/sh ../../libtool --tag=CC --mode=compile /usr/bin/gcc-4.0 -DHAVE_CONFIG_H   -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES  -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c -o svg-multiply.la.lo svg-multiply.c
 /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c svg-multiply.c  -fno-common -DPIC -o .libs/svg-multiply.la.o
/bin/sh ../../libtool --tag=CC --mode=link /usr/bin/gcc-4.0 -avoid-version -export-dynamic -module  -L/opt/local/lib -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -L/opt/local/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv    -o svg-multiply.la -rpath /opt/local/lib/gegl-0.0 svg-multiply.la.lo
/usr/bin/gcc-4.0 ${wl}-undefined ${wl}dynamic_lookup -o .libs/svg-multiply.so -bundle  .libs/svg-multiply.la.o  -L/opt/local/lib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib  -mmmx -msse
dsymutil .libs/svg-multiply.so || :
ERROR: No debug map or DWARF data was found to link.creating svg-multiply.la
(cd .libs && rm -f svg-multiply.la && ln -s ../svg-multiply.la svg-multiply.la)
/bin/sh ../../libtool --tag=CC --mode=compile /usr/bin/gcc-4.0 -DHAVE_CONFIG_H   -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES  -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c -o xor.la.lo xor.c
 /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/babl-0.0 -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -I. -I../.. -I../.. -I../../gegl -I../../gegl/buffer -I../../gegl/operation -I../../gegl/property-types -I../../gegl/module -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -c xor.c  -fno-common -DPIC -o .libs/xor.la.o
/bin/sh ../../libtool --tag=CC --mode=link /usr/bin/gcc-4.0 -avoid-version -export-dynamic -module  -L/opt/local/lib -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -L/opt/local/lib -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl -liconv    -o xor.la -rpath /opt/local/lib/gegl-0.0 xor.la.lo
/usr/bin/gcc-4.0 ${wl}-undefined ${wl}dynamic_lookup -o .libs/xor.so -bundle  .libs/xor.la.o  -L/opt/local/lib /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgmodule-2.0.dylib /opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib  -mmmx -msse
dsymutil .libs/xor.so || :
ERROR: No debug map or DWARF data was found to link.creating xor.la
(cd .libs && rm -f xor.la && ln -s ../xor.la xor.la)
make[3]: Nothing to be done for `all-am'.
Making all in bin
if /usr/bin/gcc-4.0 -DHAVE_CONFIG_H -I. -I. -I.. -I..	-I../gegl -I../gegl/buffer -I../gegl/property-types -I../gegl/buffer -I../gegl/operation -I../gegl/module -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include   -DXTHREADS -I/opt/local/include/gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 -I/opt/local/include/cairo -I/opt/local/include/pango-1.0 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include/freetype2 -I/opt/local/include/libpng12 -I/usr/X11R6/include   -I/opt/local/include/babl-0.0   -I/opt/local/include/libpng12    -I/opt/local/include -DG_DISABLE_SINGLE_INCLUDES  -O2 -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -Wold-style-definition -mmmx -msse -MT gegl.o -MD -MP -MF ".deps/gegl.Tpo" -c -o gegl.o gegl.c; \
then mv -f ".deps/gegl.Tpo" ".deps/gegl.Po"; else rm -f ".deps/gegl.Tpo"; exit 1; fi
In file included from /opt/local/include/gtk-2.0/gdk/gdkspawn.h:26,
                 from /opt/local/include/gtk-2.0/gdk/gdk.h:52,
                 from /opt/local/include/gtk-2.0/gtk/gtk.h:31,
                 from gegl.c:43:
/opt/local/include/glib-2.0/glib/gspawn.h:22:2: error: #error "Only <glib.h> can be included directly."
make[2]: *** [gegl.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Thanks,

Simon

Simon,

Would you please verify that you have the latest version gtk2 and glib2 installed? In my version (gdk_spawn.h) no longer includes glib/gspawn.h. Looks like they have reorganized things to make sure that no single file under glib is included, only glib/glib.h and have turned on GLIB_DISABLE_SINGLE_INCLUDES to enforce it with this error. I can't reproduce this error on 10.4.11 ppc. (my versions are gtk2 @2.14.3_2+x11 and glib2 @2.18.1_0).

Here's where it was removed:

http://svn.gnome.org/viewvc/gtk%2B/trunk/gdk/gdkspawn.h?r1=9198&r2=19877

Dave

comment:10 Changed 12 years ago by simon@…

Resolution: fixed
Status: newclosed

Hi Dave,

you were right, this was the problem. I updated to the latest gtk2 and everything worked fine. Thanks for your help and for creating the port.

I committed the port in r40585.

Simon

comment:11 Changed 12 years ago by simon@…

PS: The livecheck doesn't work for this port. I couldn't open the gegl website at the moment so it's not working. If you want to I can fix it when the site is up again.

comment:12 in reply to:  10 Changed 12 years ago by dbevans (David B. Evans)

Replying to simon@…:

Hi Dave,

you were right, this was the problem. I updated to the latest gtk2 and everything worked fine. Thanks for your help and for creating the port.

I committed the port in r40585.

Simon

Thanks for the commit, Simon. So the question is, are you going to take a crack at gimp2 2.6? This is a coffee pot (as opposed to just a cup of coffee) build.

Dave

comment:13 in reply to:  11 Changed 12 years ago by dbevans (David B. Evans)

Replying to simon@…:

PS: The livecheck doesn't work for this port. I couldn't open the gegl website at the moment so it's not working. If you want to I can fix it when the site is up again.

Yes, please. Actually, I wasn't sure how to do this one, so I left it at the defaults. This is using data from freshmeat which is not up to date. And I see that the homepage address is not correct either -- its the one for babl. But the gegl.org site seems to down right now as you say.

comment:14 Changed 12 years ago by simon@…

Replying to db.evans@…:

Thanks for the commit, Simon. So the question is, are you going to take a crack at gimp2 2.6? This is a coffee pot (as opposed to just a cup of coffee) build.

Dave

I just committed gimp2, see #16735 for more information. Yes, it took quite a while to build ;-)

I fixed the livecheck in r40589, it looks like there is a new version of gegl out. Maybe you could update the Portfile.

Thanks,

Simon

comment:15 in reply to:  14 Changed 12 years ago by dbevans (David B. Evans)

Replying to simon@…:

Replying to db.evans@…:

Thanks for the commit, Simon. So the question is, are you going to take a crack at gimp2 2.6? This is a coffee pot (as opposed to just a cup of coffee) build.

Dave

I just committed gimp2, see #16735 for more information. Yes, it took quite a while to build ;-)

I fixed the livecheck in r40589, it looks like there is a new version of gegl out. Maybe you could update the Portfile.

Thanks,

Simon

Yes, I saw the new version as well. Hope to have a new update soon but it requires yet another new port (libopenraw) as a dependency and that one has a build problem right now. Thanks for all your help.

Dave

comment:16 Changed 12 years ago by myschizobuddy@…

the new version 0.0.20 also has ruby as a dependency "Checks for Ruby used to make API docs"

comment:17 Changed 12 years ago by myschizobuddy@…

you also need the gdk-pixbuf dependency

comment:18 in reply to:  16 Changed 12 years ago by dbevans (David B. Evans)

Replying to myschizobuddy@…:

the new version 0.0.20 also has ruby as a dependency "Checks for Ruby used to make API docs"

Mac OS X provides ruby as /usr/bin/ruby (1.8.2 on 10.4.11 ppc) which appears to be sufficient.

comment:19 in reply to:  17 Changed 12 years ago by dbevans (David B. Evans)

Replying to myschizobuddy@…:

you also need the gdk-pixbuf dependency

port gdk-pixbuf is an obsolete version built on glib1 and gtk1. Current versions of this functionality are provided as part of port gtk2.

comment:20 Changed 12 years ago by jmroot (Joshua Root)

Type: enhancementsubmission

comment:21 Changed 12 years ago by (none)

Milestone: Port Submissions

Milestone Port Submissions deleted

Note: See TracTickets for help on using tickets.