[110903] trunk/dports/gnome/gnumeric
larryv at macports.org
larryv at macports.org
Mon Sep 9 12:23:43 PDT 2013
Revision: 110903
https://trac.macports.org/changeset/110903
Author: larryv at macports.org
Date: 2013-09-09 12:23:43 -0700 (Mon, 09 Sep 2013)
Log Message:
-----------
gnumeric: Add quartz variant and OS X menu bar integration (maintainer, #40419).
Modified Paths:
--------------
trunk/dports/gnome/gnumeric/Portfile
Added Paths:
-----------
trunk/dports/gnome/gnumeric/files/
trunk/dports/gnome/gnumeric/files/patch_quartz-src-GNOME_Gnumeric-gtk.xml.in.diff
trunk/dports/gnome/gnumeric/files/patch_quartz-src-wbc-gtk.c.diff
Modified: trunk/dports/gnome/gnumeric/Portfile
===================================================================
--- trunk/dports/gnome/gnumeric/Portfile 2013-09-09 19:23:37 UTC (rev 110902)
+++ trunk/dports/gnome/gnumeric/Portfile 2013-09-09 19:23:43 UTC (rev 110903)
@@ -2,6 +2,7 @@
# $Id$
PortSystem 1.0
+PortGroup active_variants 1.0
name gnumeric
version 1.12.7
@@ -63,10 +64,14 @@
default_variants +python27
}
-if {[variant_isset python25]} {
-# variant +python25 was declared obsolete on 7/28/2013
- ui_error "Gnumeric python needs python 2.6 or 2.7, please consider reinstalling."
- return -code error
+variant quartz description {build with gtk-osx-application support} {
+ require_active_variants gtk3 quartz
+ require_active_variants gtk-osx-application gtk3
+
+ depends_lib-append port:gtk-osx-application
+
+ patchfiles-append patch_quartz-src-wbc-gtk.c.diff \
+ patch_quartz-src-GNOME_Gnumeric-gtk.xml.in.diff
}
post-activate {
Added: trunk/dports/gnome/gnumeric/files/patch_quartz-src-GNOME_Gnumeric-gtk.xml.in.diff
===================================================================
--- trunk/dports/gnome/gnumeric/files/patch_quartz-src-GNOME_Gnumeric-gtk.xml.in.diff (rev 0)
+++ trunk/dports/gnome/gnumeric/files/patch_quartz-src-GNOME_Gnumeric-gtk.xml.in.diff 2013-09-09 19:23:43 UTC (rev 110903)
@@ -0,0 +1,25 @@
+--- src/GNOME_Gnumeric-gtk-orig.xml.in 2013-05-28 16:38:55.000000000 -0700
++++ src/GNOME_Gnumeric-gtk.xml.in 2013-09-08 23:35:27.000000000 -0700
+@@ -96,14 +96,11 @@
+ </menu>
+ <menuitem action="EditRecalc"/>
+ <placeholder name="ops"/>
+- <separator/>
+ <menuitem action="EditPreferences"/>
+ </menu>
+ <menu name="View" action="MenuView">
+ <menuitem action="ViewNew"/>
+ <menuitem action="ViewFreezeThawPanes"/>
+- <menu name="Windows" action="MenuViewWindows">
+- </menu>
+ <separator/>
+ <menu name="Toolbars" action="MenuViewToolbars">
+ </menu>
+@@ -326,7 +323,6 @@
+ <menuitem action="HelpWeb"/>
+ <menuitem action="HelpIRC"/>
+ <menuitem action="HelpBug"/>
+- <separator/>
+ <menuitem action="HelpAbout"/>
+ </menu>
+ </menubar>
Added: trunk/dports/gnome/gnumeric/files/patch_quartz-src-wbc-gtk.c.diff
===================================================================
--- trunk/dports/gnome/gnumeric/files/patch_quartz-src-wbc-gtk.c.diff (rev 0)
+++ trunk/dports/gnome/gnumeric/files/patch_quartz-src-wbc-gtk.c.diff 2013-09-09 19:23:43 UTC (rev 110903)
@@ -0,0 +1,48 @@
+--- src/wbc-gtk-orig.c 2013-08-22 14:25:13.000000000 -0700
++++ src/wbc-gtk.c 2013-09-08 23:39:38.000000000 -0700
+@@ -69,6 +69,7 @@
+ #include "gnm-i18n.h"
+ #include <errno.h>
+ #include <string.h>
++#include <gtkmacintegration/gtkosxapplication.h>
+
+ #define GET_GUI_ITEM(i_) (gpointer)(gtk_builder_get_object(wbcg->gui, (i_)))
+
+@@ -5738,6 +5739,37 @@
+ list_actions (wbcg->windows.actions);
+ list_actions (wbcg->templates.actions);
+ }
++
++ // GTK-OSX-APPLICATION
++ GtkosxApplication *theApp = g_object_new (GTKOSX_TYPE_APPLICATION, NULL);
++ GtkWidget *osx_menubar, *osx_help, *osx_about, *osx_preferences, *osx_quit;
++
++ // Define objects from gnumeric
++ osx_menubar = gtk_ui_manager_get_widget (wbcg->ui, "/ui/menubar");
++ osx_help = gtk_ui_manager_get_widget (wbcg->ui, "/menubar/Help/Help");
++ osx_about = gtk_ui_manager_get_widget (wbcg->ui, "/menubar/Help/HelpAbout");
++ osx_preferences = gtk_ui_manager_get_widget (wbcg->ui, "/menubar/Edit/EditPreferences");
++ osx_quit = gtk_ui_manager_get_widget (wbcg->ui, "/menubar/File/FileQuit");
++
++ // Make the OS X menu bar object
++ gtkosx_application_set_menu_bar (theApp, GTK_MENU_SHELL (osx_menubar));
++ gtkosx_application_set_help_menu (theApp, GTK_MENU_ITEM (osx_help));
++ gtkosx_application_set_window_menu (theApp, NULL);
++ gtkosx_application_set_use_quartz_accelerators (theApp, TRUE);
++
++ // Rearange certain menu items the way OS X users expect to see them
++ gtkosx_application_insert_app_menu_item (theApp, osx_about, 1);
++ gtkosx_application_insert_app_menu_item (theApp, gtk_separator_menu_item_new (), 2);
++ gtkosx_application_insert_app_menu_item (theApp, osx_preferences, 3);
++ gtkosx_application_insert_app_menu_item (theApp, gtk_separator_menu_item_new (), 4);
++
++ // Hide the original menu items, but Window menu doesn't work...
++ gtk_widget_hide (osx_menubar);
++ gtk_widget_hide (osx_quit);
++
++ // Tell OS X to show the menu bar
++ gtkosx_application_ready (theApp);
++ //END GTK-OSX-APPLICATION
+ }
+
+ GSF_CLASS_FULL (WBCGtk, wbc_gtk, NULL, NULL, wbc_gtk_class_init, NULL,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130909/f3c96ede/attachment.html>
More information about the macports-changes
mailing list