[84366] trunk/dports/graphics/gimp2-devel
devans at macports.org
devans at macports.org
Fri Sep 23 15:38:05 PDT 2011
Revision: 84366
http://trac.macports.org/changeset/84366
Author: devans at macports.org
Date: 2011-09-23 15:38:05 -0700 (Fri, 23 Sep 2011)
Log Message:
-----------
gimp2-devel:
* update to version 2.7.3
* backport patch from post 2.7.3 upstream git master to allow building +quartz.
* +quartz variant builds 32 bit only, see #25962.
* variants simplified, no +no_x11 +x11 just +quartz, builds with X11 support by default.
* variants added for +python25 +python26 +python27.
* livecheck url updated.
Modified Paths:
--------------
trunk/dports/graphics/gimp2-devel/Portfile
trunk/dports/graphics/gimp2-devel/files/patch-etc-gimprc.diff
Added Paths:
-----------
trunk/dports/graphics/gimp2-devel/files/patch-app-gui-ige-mac-menu.c.diff
Modified: trunk/dports/graphics/gimp2-devel/Portfile
===================================================================
--- trunk/dports/graphics/gimp2-devel/Portfile 2011-09-23 22:37:14 UTC (rev 84365)
+++ trunk/dports/graphics/gimp2-devel/Portfile 2011-09-23 22:38:05 UTC (rev 84366)
@@ -5,14 +5,13 @@
name gimp2-devel
conflicts gimp2
-# please remember to update the gimp metapackage to match
-version 2.7.1
-revision 5
+version 2.7.3
categories graphics
maintainers devans
homepage http://www.gimp.org/
platforms darwin
+
description The GNU Image Manipulation Program
long_description \
The GNU Image Manipulation Program (GIMP) is a powerful \
@@ -20,21 +19,26 @@
The GIMP provides the user with a wide variety of image \
manipulation, painting, processing, and rendering tools.
+#
+# Native Mac OS X GUI (+quartz) uses 32 bit only Carbon API
+#
+
+if {[variant_isset quartz]} {
+ supported_archs i386 ppc
+}
+
universal_variant no
set branch [join [lrange [split ${version} .] 0 1] .]
master_sites gimp:gimp/v${branch}/
-checksums md5 4932a0a1645ecd5b23ea6155ddda013d \
- sha1 3dcfc08ddccbdf541449e4ea6be252b449f6d872 \
- rmd160 0d90735de80cc8aeeef43f6441ffcbdf6fee32c9
+checksums sha1 bea6edc3423774ace8dd86222314f4ef2278cdd8 \
+ rmd160 5740b1b62b0fca255d0ca046477c21ab9c57a5ca
distname gimp-${version}
+
use_bzip2 yes
-patchfiles patch-etc-gimprc.diff \
- patch-plug-ins-twain-tw_mac.c.diff
-
depends_build port:pkgconfig \
port:intltool
@@ -51,37 +55,69 @@
port:curl \
port:libwmf \
port:lcms \
- port:dbus-glib \
- port:py26-gtk
+ port:dbus-glib
-platform darwin 9 {
- post-patch {
- reinplace "s|-export-symbols-regex.*||g" ${worksrcpath}/plug-ins/pygimp/Makefile.am
- reinplace "s|-export-symbols-regex.*||g" ${worksrcpath}/plug-ins/pygimp/Makefile.in
+patchfiles patch-etc-gimprc.diff \
+ patch-plug-ins-twain-tw_mac.c.diff \
+ patch-app-gui-ige-mac-menu.c.diff
+
+pre-configure {
+ if {[file exists ${prefix}/lib/gtk-2.0/include/gdkconfig.h]} {
+ set gtk_not_quartz [catch {exec grep -q GDK_WINDOWING_QUARTZ ${prefix}/lib/gtk-2.0/include/gdkconfig.h}]
+ set gtk_not_x11 [catch {exec grep -q GDK_WINDOWING_X11 ${prefix}/lib/gtk-2.0/include/gdkconfig.h}]
+ if {[variant_isset quartz] && ${gtk_not_quartz}} {
+ error "+quartz variant selected, but gtk2+x11 is installed"
+ } elseif {[variant_isset x11] && ${gtk_not_x11}} {
+ error "+quartz variant is not selected, but gtk2+quartz is installed"
+ }
+ } else {
+ error "Cannot find gdkconfig.h"
}
}
-use_parallel_build yes
-configure.python ${prefix}/bin/python2.6
-set python_framework ${frameworks_dir}/Python.framework/Versions/2.6
-configure.pkg_config_path ${python_framework}/lib/pkgconfig:${prefix}/lib/pkgconfig:${prefix}/share/pkgconfig
-configure.env PATH=${python_framework}/bin:$env(PATH)
configure.args --build=${configure.build_arch}-apple-${os.platform}${os.version} \
--enable-mp \
--with-pdbgen \
--with-x \
- --without-hal \
--without-alsa \
+ --without-gudev \
--without-gvfs \
--without-webkit \
--enable-default-binary \
--enable-gimp-console
+variant python25 conflicts no_python python26 python27 description {Use python 2.5} {
+ configure.python ${prefix}/bin/python2.5
+ depends_lib-append port:py25-gtk
+ set python_framework ${frameworks_dir}/Python.framework/Versions/2.5
+ configure.pkg_config_path ${python_framework}/lib/pkgconfig
+ configure.env PATH=${python_framework}/bin:$env(PATH)
+}
+
+variant python26 conflicts no_python python25 python27 description {Use python 2.6} {
+ configure.python ${prefix}/bin/python2.6
+ depends_lib-append port:py26-gtk
+ set python_framework ${frameworks_dir}/Python.framework/Versions/2.6
+ configure.pkg_config_path ${python_framework}/lib/pkgconfig
+ configure.env PATH=${python_framework}/bin:$env(PATH)
+}
+
+variant python27 conflicts no_python python25 python26 description {Use python 2.7} {
+ configure.python ${prefix}/bin/python2.7
+ depends_lib-append port:py27-gtk
+ set python_framework ${frameworks_dir}/Python.framework/Versions/2.7
+ configure.pkg_config_path ${python_framework}/lib/pkgconfig
+ configure.env PATH=${python_framework}/bin:$env(PATH)
+}
+
variant no_python description {Disable Python scripts and filters} {
- depends_lib-delete port:py26-gtk
configure.args-append --disable-python
}
+if {![variant_isset no_python] && ![variant_isset python25] && ![variant_isset python26]} {
+ default_variants +python27
+}
+
variant gvfs description {Enable gvfs support} {
depends_lib-append port:gvfs
configure.args-delete --without-gvfs
@@ -100,46 +136,14 @@
configure.args-append --enable-debug
}
-if {[variant_isset no_x11]} {
- default_variants +quartz
-}
-
-if {![variant_isset quartz]} {
- default_variants +x11
-}
-
-pre-fetch {
- if {![variant_isset quartz] && ![variant_isset x11]} {
- error "Either +x11 or +quartz is required"
- }
-}
-
-pre-configure {
- if {[file exists ${prefix}/lib/gtk-2.0/include/gdkconfig.h]} {
- set gtk_not_quartz [catch {exec grep -q GDK_WINDOWING_QUARTZ ${prefix}/lib/gtk-2.0/include/gdkconfig.h}]
- set gtk_not_x11 [catch {exec grep -q GDK_WINDOWING_X11 ${prefix}/lib/gtk-2.0/include/gdkconfig.h}]
- if {[variant_isset quartz] && ${gtk_not_quartz}} {
- error "+quartz variant selected, but gtk2+x11 is installed"
- } elseif {[variant_isset x11] && ${gtk_not_x11}} {
- error "+x11 variant selected, but gtk2+quartz is installed"
- }
- } else {
- error "Cannot find gdkconfig.h"
- }
-}
-
-variant quartz requires no_x11 conflicts x11 {
+variant quartz {
+ configure.args-delete --with-x
+ configure.args-append --without-x
configure.ldflags-append -framework Carbon
}
-variant x11 conflicts quartz description {Enable rendering in X11} {
-}
+default_variants +debug
-variant no_x11 {
- configure.args-delete --with-x
- configure.args-append --without-x
-}
-
livecheck.type regex
-livecheck.url ftp://ftp.gtk.org/pub/gimp/v${branch}/
+livecheck.url ftp://ftp.gimp.org/pub/gimp/v${branch}/
livecheck.regex "gimp-(${branch}(?:\\.\\d+)*)${extract.suffix}"
Added: trunk/dports/graphics/gimp2-devel/files/patch-app-gui-ige-mac-menu.c.diff
===================================================================
--- trunk/dports/graphics/gimp2-devel/files/patch-app-gui-ige-mac-menu.c.diff (rev 0)
+++ trunk/dports/graphics/gimp2-devel/files/patch-app-gui-ige-mac-menu.c.diff 2011-09-23 22:38:05 UTC (rev 84366)
@@ -0,0 +1,169 @@
+--- app/gui/ige-mac-menu.c.orig
++++ app/gui/ige-mac-menu.c
+@@ -300,52 +300,60 @@ carbon_menu_item_update_accelerator (CarbonMenuItem *carbon_item,
+
+ get_menu_label_text (widget, &label);
+
+- if (GTK_IS_ACCEL_LABEL (label) &&
+- GTK_ACCEL_LABEL (label)->accel_closure)
++ if (GTK_IS_ACCEL_LABEL (label))
+ {
+- GtkAccelKey *key;
++ GClosure *closure;
+
+- key = gtk_accel_group_find (GTK_ACCEL_LABEL (label)->accel_group,
+- accel_find_func,
+- GTK_ACCEL_LABEL (label)->accel_closure);
++ g_object_get (label, "accel-closure", &closure, NULL);
+
+- if (key &&
+- key->accel_key &&
+- key->accel_flags & GTK_ACCEL_VISIBLE)
++ if (closure)
+ {
+- GdkDisplay *display = gtk_widget_get_display (widget);
+- GdkKeymap *keymap = gdk_keymap_get_for_display (display);
+- GdkKeymapKey *keys;
+- gint n_keys;
++ GtkAccelGroup *group;
++ GtkAccelKey *key;
+
+- if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key,
+- &keys, &n_keys))
+- {
+- UInt8 modifiers = 0;
++ group = gtk_accel_group_from_accel_closure (closure);
++ key = gtk_accel_group_find (group, accel_find_func, closure);
+
+- SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
+- true, keys[0].keycode);
++ g_closure_unref (closure);
+
+- g_free (keys);
++ if (key &&
++ key->accel_key &&
++ key->accel_flags & GTK_ACCEL_VISIBLE)
++ {
++ GdkDisplay *display = gtk_widget_get_display (widget);
++ GdkKeymap *keymap = gdk_keymap_get_for_display (display);
++ GdkKeymapKey *keys;
++ gint n_keys;
+
+- if (key->accel_mods)
++ if (gdk_keymap_get_entries_for_keyval (keymap, key->accel_key,
++ &keys, &n_keys))
+ {
+- if (key->accel_mods & GDK_SHIFT_MASK)
+- modifiers |= kMenuShiftModifier;
++ UInt8 modifiers = 0;
+
+- if (key->accel_mods & GDK_MOD1_MASK)
+- modifiers |= kMenuOptionModifier;
+- }
++ SetMenuItemCommandKey (carbon_item->menu, carbon_item->index,
++ true, keys[0].keycode);
+
+- if (!(key->accel_mods & GDK_CONTROL_MASK))
+- {
+- modifiers |= kMenuNoCommandModifier;
+- }
++ g_free (keys);
+
+- SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
+- modifiers);
++ if (key->accel_mods)
++ {
++ if (key->accel_mods & GDK_SHIFT_MASK)
++ modifiers |= kMenuShiftModifier;
+
+- return;
++ if (key->accel_mods & GDK_MOD1_MASK)
++ modifiers |= kMenuOptionModifier;
++ }
++
++ if (!(key->accel_mods & GDK_CONTROL_MASK))
++ {
++ modifiers |= kMenuNoCommandModifier;
++ }
++
++ SetMenuItemModifiers (carbon_item->menu, carbon_item->index,
++ modifiers);
++
++ return;
++ }
+ }
+ }
+ }
+@@ -371,9 +379,20 @@ carbon_menu_item_accel_changed (GtkAccelGroup *accel_group,
+
+ get_menu_label_text (widget, &label);
+
+- if (GTK_IS_ACCEL_LABEL (label) &&
+- GTK_ACCEL_LABEL (label)->accel_closure == accel_closure)
+- carbon_menu_item_update_accelerator (carbon_item, widget);
++ if (GTK_IS_ACCEL_LABEL (label))
++ {
++ GClosure *closure;
++
++ g_object_get (label, "accel-closure", &closure, NULL);
++
++ if (closure)
++ {
++ if (closure == accel_closure)
++ carbon_menu_item_update_accelerator (carbon_item, widget);
++
++ g_closure_unref (closure);
++ }
++ }
+ }
+
+ static void
+@@ -398,12 +417,10 @@ carbon_menu_item_update_accel_closure (CarbonMenuItem *carbon_item,
+ }
+
+ if (GTK_IS_ACCEL_LABEL (label))
+- carbon_item->accel_closure = GTK_ACCEL_LABEL (label)->accel_closure;
++ g_object_get (label, "accel-closure", &carbon_item->accel_closure, NULL);
+
+ if (carbon_item->accel_closure)
+ {
+- g_closure_ref (carbon_item->accel_closure);
+-
+ group = gtk_accel_group_from_accel_closure (carbon_item->accel_closure);
+
+ g_signal_connect_object (group, "accel-changed",
+@@ -674,10 +691,10 @@ sync_menu_shell (GtkMenuShell *menu_shell,
+ if (GTK_IS_SEPARATOR_MENU_ITEM (menu_item))
+ attributes |= kMenuItemAttrSeparator;
+
+- if (!GTK_WIDGET_IS_SENSITIVE (menu_item))
++ if (!gtk_widget_is_sensitive (menu_item))
+ attributes |= kMenuItemAttrDisabled;
+
+- if (!GTK_WIDGET_VISIBLE (menu_item))
++ if (!gtk_widget_get_visible (menu_item))
+ attributes |= kMenuItemAttrHidden;
+
+ InsertMenuItemTextWithCFString (carbon_menu, cfstr,
+@@ -730,10 +747,17 @@ parent_set_emission_hook (GSignalInvocationHint *ihint,
+ {
+ menu_shell = previous_parent;
+ }
+- else if (GTK_IS_MENU_SHELL (instance->parent))
+- {
+- menu_shell = instance->parent;
+- }
++ else
++ {
++ GtkWidget *parent;
++
++ parent = gtk_widget_get_parent (instance);
++
++ if (GTK_IS_MENU_SHELL (parent))
++ {
++ menu_shell = parent;
++ }
++ }
+
+ if (menu_shell)
+ {
Modified: trunk/dports/graphics/gimp2-devel/files/patch-etc-gimprc.diff
===================================================================
--- trunk/dports/graphics/gimp2-devel/files/patch-etc-gimprc.diff 2011-09-23 22:37:14 UTC (rev 84365)
+++ trunk/dports/graphics/gimp2-devel/files/patch-etc-gimprc.diff 2011-09-23 22:38:05 UTC (rev 84366)
@@ -1,6 +1,6 @@
---- etc/gimprc.orig 2010-06-21 23:11:43.000000000 -0700
-+++ etc/gimprc 2010-08-02 10:24:40.000000000 -0700
-@@ -691,12 +691,16 @@
+--- etc/gimprc.orig 2011-08-21 10:09:47.000000000 -0700
++++ etc/gimprc 2011-09-05 09:16:36.000000000 -0700
+@@ -675,12 +675,16 @@
#
# (help-browser gimp)
@@ -17,7 +17,7 @@
# The location of the online user manual. This is used if
# 'user-manual-online' is enabled. This is a string value.
#
-@@ -708,6 +712,8 @@
+@@ -692,6 +696,8 @@
#
# (dock-window-hint utility)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110923/64139a98/attachment-0001.html>
More information about the macports-changes
mailing list