- Add patches gtkmm-02-demo, gtkmm-03-demo-installation to deliver gtkmm-demo
on /usr/demo/jds/bin and resource files on /usr/share/gtkmm-2.4/demo
- Add patch gtkmm-01-ignore-defs to remove the build of defs files since they
are delivered with tarball and libglibmm_generate_extra_defs.so is not
delivered. We have raise this issue to module owner, and will remove the
patch if the module owner agree to remove .def file from tarball
- Move gtkmm-demo to /usr/demo/jds/bin per requested by ARC
--- a/SUNWgtkmm.spec Fri Feb 15 05:40:15 2008 +0000
+++ b/SUNWgtkmm.spec Fri Feb 15 05:48:26 2008 +0000
@@ -56,8 +56,14 @@
%install
%gtkmm.install -d %name-%version
+# Move demo to demo directory
+#
+install -d $RPM_BUILD_ROOT%{_prefix}/demo/jds/bin
+mv $RPM_BUILD_ROOT%{_bindir}/gtkmm-demo $RPM_BUILD_ROOT%{_prefix}/demo/jds/bin
+rm -r $RPM_BUILD_ROOT%{_bindir}
+
%clean
-rm -rf $RPM_BUILD_ROOT
+#rm -rf $RPM_BUILD_ROOT
%files
%defattr (-, root, bin)
@@ -72,11 +78,20 @@
%{_libdir}/gtkmm*
%{_libdir}/gdkmm*
%dir %attr (0755, root, sys) %{_datadir}
+%{_datadir}/gtkmm-2.4/demo
%dir %attr (0755, root, other) %{_datadir}/doc
%{_datadir}/doc/*
+%{_datadir}/devhelp
%dir %attr (0755, root, bin) %{_includedir}
%{_includedir}/*
+%dir %attr (0755, root, bin) %{_prefix}/demo
+%dir %attr (0755, root, bin) %{_prefix}/demo/jds
+%dir %attr (0755, root, bin) %{_prefix}/demo/jds/bin
+%{_prefix}/demo/jds/bin/gtkmm-demo
+
%changelog
+* Thu Feb 14 2008 - [email protected]
+- Move gtkmm-demo to /usr/demo/jds/bin per requested by ARC
* Tue Jan 29 2008 - [email protected]
- create
--- a/base-specs/gtkmm.spec Fri Feb 15 05:40:15 2008 +0000
+++ b/base-specs/gtkmm.spec Fri Feb 15 05:48:26 2008 +0000
@@ -1,7 +1,7 @@
#
# spec file for package gtkmm
#
-# Copyright (c) 2008 Sun Microsystems, Inc.
+# Copyright 2008 Sun Microsystems, Inc.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -17,13 +17,21 @@
Vendor: Sun Microsystems, Inc.
Summary: gtkmm - C++ Interfaces for GTK+ and GNOME
Source: http://download.gnome.org/sources/gtkmm/2.12/gtkmm-%{version}.tar.bz2
-#Patch1: gtkmm-01-getc_unlocked.diff
+
+#date:2008-02-14 owner:bewitche type:feature
+Patch1: gtkmm-01-ignore-defs.diff
+# date:2008-02-14 owner:bewitche type:bug bugzilla:516600
+Patch2: gtkmm-02-demo.diff
+# date:2008-02-14 owner:bewitche type:bug bugzilla:516602
+Patch3: gtkmm-03-demo-installation.diff
URL: http://www.gtkmm.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%prep
%setup -q -n gtkmm-%version
-#%patch1 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
@@ -36,6 +44,11 @@
%endif
export CXXFLAGS="%cxx_optflags -D_XPG4_2 -D__EXTENSIONS__"
+# background.jpg is required by gtkmm-demo, but not in the right directory
+# we simply copy the file into the proper directory
+cp ./demos/background.jpg ./demos/gtk-demo
+
+automake --add-missing
autoconf
./configure --prefix=%{_prefix} --mandir=%{_mandir} \
--libdir=%{_libdir} \
@@ -45,74 +58,27 @@
%install
make install DESTDIR=$RPM_BUILD_ROOT
-cp examples/arrow/arrow $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/arrow/arrow
-cp examples/book/alignment/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/alignment/example
-cp examples/book/aspectframe/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/aspectframe/example
-cp examples/book/box/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/box/example
-cp examples/book/buttonbox/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/buttonbox/example
-cp examples/book/eventbox/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/eventbox/example
-cp examples/book/expander/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/expander/example
-cp examples/book/frame/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/frame/example
-cp examples/book/iconview/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/iconview/example
-cp examples/book/input/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/input/example
-cp examples/book/label/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/label/example
-cp examples/book/menus_and_toolbars/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/menus_and_toolbars/example
-cp examples/book/notebook/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/notebook/example
-cp examples/book/paned/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/paned/example
-cp examples/book/progressbar/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/progressbar/example
-cp examples/book/range_widgets/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/range_widgets/example
-cp examples/book/recent_files/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/recent_files/example
-cp examples/book/scrolledwindow/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/scrolledwindow/example
-cp examples/book/spinbutton/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/spinbutton/example
-cp examples/book/statusicon/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/statusicon/example
-cp examples/book/table/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/table/example
-cp examples/book/textview/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/textview/example
-cp examples/book/toolbar/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/toolbar/example
-cp examples/book/tooltips/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/tooltips/example
-cp examples/book/update_ui/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/book/update_ui/example
-cp examples/calendar/calendar $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/calendar/calendar
-cp examples/dnd/testdnd $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/dnd/testdnd
-cp examples/exception/exceptiontest $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/exception/exceptiontest
-cp examples/gdk/radar $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/gdk/radar
-cp examples/rulers/rulers $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/rulers/rulers
-cp examples/statusbar/statusbar $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/statusbar/statusbar
-cp examples/stock/stock $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/stock/stock
-cp examples/tictactoe/ttt_test $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/tictactoe/ttt_test
-cp examples/treemodelcustom/example $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/treemodelcustom/example
-cp examples/window/wheelbarrow $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/examples/window/wheelbarrow
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*a
-rm -rf $RPM_BUILD_ROOT%{_datadir}/devhelp
-rm -rf $RPM_BUILD_ROOT%{_bindir}
-rm -rf $RPM_BUILD_ROOT%{_prefix}/demo
-rm -rf $RPM_BUILD_ROOT/demo
-# gtkdemo
-#mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo/
-install -d $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo/
-cp demos/gtk-demo/demo $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo/gtkmm-demo
-cp demos/gtk-demo/*.cc $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo
-cp demos/gtk-demo/*.h $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo
-cp demos/gtk-demo/*.png $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo
-cp demos/gtk-demo/*.gif $RPM_BUILD_ROOT%{_datadir}/doc/gtkmm-2.4/demo
+mv $RPM_BUILD_ROOT%{_bindir}/demo $RPM_BUILD_ROOT%{_bindir}/gtkmm-demo
%clean
rm -rf $RPM_BUILD_ROOT
+%files
+%defattr (-, root, bin)
+%dir %attr (0755, root, bin) %{_libdir}
+%{_libdir}/lib*
+
%changelog
-* Tue Feb 12 2008 - [email protected]
-- Modifed to be used by SUNWgtkmm.spec. Removed %files.
- Added whole punch of examples.
-* Wed Sep 19 2007 - [email protected]
-- Add patch1, patch2, change CFLAGS
-* Fri Aug 17 2007 - [email protected]
-- Bump to 2.10.11
-* Tue Apr 17 2007 - [email protected]
-- bump to 2.10.9.
-* Fri Mar 16 2007 - [email protected]
-- bump to 2.10.8
-* Fri Jun 23 2006 - [email protected]
-- rename to SFEgtkmm
-- update permissions
-* Thu Nov 17 2005 - [email protected]
+* Thu Feb 14 2008 - [email protected]
+- Add patches gtkmm-02-demo, gtkmm-03-demo-installation to deliver gtkmm-demo
+ on /usr/demo/jds/bin and resource files on /usr/share/gtkmm-2.4/demo
+* Thu Feb 14 2008 - [email protected]
+- Add patch gtkmm-01-ignore-defs to remove the build of defs files since they
+ are delivered with tarball and libglibmm_generate_extra_defs.so is not
+ delivered. We have raise this issue to module owner, and will remove the
+ patch if the module owner agree to remove .def file from tarball
+* Tue Jan 29 2008 - [email protected]
- create
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gtkmm-01-ignore-defs.diff Fri Feb 15 05:48:26 2008 +0000
@@ -0,0 +1,23 @@
+--- gtkmm-2.12.4/tools/Makefile.am.orig 2008-02-13 14:16:20.355643000 +0800
++++ gtkmm-2.12.4/tools/Makefile.am 2008-02-13 14:16:37.105667000 +0800
+@@ -1,7 +1,7 @@
+
+ include $(top_srcdir)/tools/Makefile_list_of_sources.am_fragment
+
+-SUBDIRS = m4 extra_defs_gen
++SUBDIRS = m4
+
+ EXTRA_DIST = Makefile_list_of_sources.am_fragment README TODO
+
+--- gtkmm-2.12.4/configure.in.orig 2008-02-13 14:15:41.931217000 +0800
++++ gtkmm-2.12.4/configure.in 2008-02-13 14:16:00.032913000 +0800
+@@ -530,8 +530,7 @@
+ pango/pangomm/private/Makefile
+
+ tools/Makefile
+- tools/m4/Makefile
+- tools/extra_defs_gen/Makefile
++ tools/m4/Makefile
+ ])
+
+ AC_CONFIG_FILES([
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gtkmm-02-demo.diff Fri Feb 15 05:48:26 2008 +0000
@@ -0,0 +1,131 @@
+--- gtkmm-2.12.4/demos/gtk-demo/demowindow.cc.orig 2008-02-13 15:55:23.109710000 +0800
++++ gtkmm-2.12.4/demos/gtk-demo/demowindow.cc 2008-02-13 16:01:08.123892000 +0800
+@@ -31,6 +31,7 @@
+ #include <cctype>
+ #include <cerrno>
+ #include <stdio.h>
++#include <demo-common.h>
+
+ #ifdef NEED_FLOCKFILE_PROTO
+ extern "C" void flockfile (FILE *);
+@@ -276,7 +277,7 @@
+ FILE* file = fopen (filename.c_str(), "r");
+ if (!file)
+ {
+- std::string installed = /* DEMOCODEDIR + G_DIR_SEPARATOR_S + */ filename;
++ std::string installed = demo_find_file(filename);
+ file = fopen (installed.c_str(), "r");
+ }
+
+--- gtkmm-2.12.4/demos/gtk-demo/example_images.cc.orig 2008-02-13 16:04:38.385202000 +0800
++++ gtkmm-2.12.4/demos/gtk-demo/example_images.cc 2008-02-13 16:07:01.986048000 +0800
+@@ -13,6 +13,7 @@
+ */
+
+ #include <gtkmm.h>
++#include "demo-common.h"
+
+ class Example_Images : public Gtk::Window
+ {
+@@ -71,7 +72,7 @@
+ m_Alignment_Image.add(m_Frame_Image);
+ m_VBox.pack_start(m_Alignment_Image, Gtk::PACK_SHRINK);
+
+- Gtk::Image* pImage = Gtk::manage(new Gtk::Image("gtk-logo-rgb.gif"));
++ Gtk::Image* pImage = Gtk::manage(new Gtk::Image(demo_find_file("gtk-logo-rgb.gif")));
+ m_Frame_Image.add(*pImage);
+
+ /* Animation */
+@@ -87,7 +88,7 @@
+ m_Alignment_Animation.add(m_Frame_Animation);
+ m_VBox.pack_start(m_Alignment_Animation, Gtk::PACK_SHRINK);
+
+- pImage = Gtk::manage(new Gtk::Image("floppybuddy.gif"));
++ pImage = Gtk::manage(new Gtk::Image(demo_find_file("floppybuddy.gif")));
+ m_Frame_Animation.add(*pImage);
+
+ /* Progressive */
+@@ -254,13 +255,13 @@
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try
+ {
+- m_image_stream = Glib::IOChannel::create_from_file("alphatest.png", "r");
++ m_image_stream = Glib::IOChannel::create_from_file(demo_find_file("alphatest.png"), "r");
+ }
+ catch(const Glib::Error& error)
+ {
+ #else
+ std::auto_ptr<Glib::Error> error;
+- m_image_stream = Glib::IOChannel::create_from_file("alphatest.png", "r", error);
++ m_image_stream = Glib::IOChannel::create_from_file(demo_find_file("alphatest.png)", "r", error);
+ if(error.get())
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+--- gtkmm-2.12.4/demos/gtk-demo/example_pixbufs.cc.orig 2008-02-13 16:07:58.605417000 +0800
++++ gtkmm-2.12.4/demos/gtk-demo/example_pixbufs.cc 2008-02-13 16:10:11.517893000 +0800
+@@ -17,6 +17,7 @@
+ #include <gtkmm.h>
+ #include <stdlib.h>
+ #include <math.h>
++#include "demo-common.h"
+
+ #define FRAME_DELAY 50
+
+@@ -109,10 +110,10 @@
+ std::string filename_background = BACKGROUND_NAME;
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+- m_refPixbuf_Background = Gdk::Pixbuf::create_from_file(filename_background);
++ m_refPixbuf_Background = Gdk::Pixbuf::create_from_file(demo_find_file(filename_background));
+ #else
+ std::auto_ptr<Glib::Error> error;
+- m_refPixbuf_Background = Gdk::Pixbuf::create_from_file(filename_background, error);
++ m_refPixbuf_Background = Gdk::Pixbuf::create_from_file(demo_find_file(filename_background), error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ m_back_width = m_refPixbuf_Background->get_width();
+@@ -123,10 +124,10 @@
+ std::string filename = image_names[i];
+
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+- Glib::RefPtr<Gdk::Pixbuf> pixbuf = Gdk::Pixbuf::create_from_file(filename);
++ Glib::RefPtr<Gdk::Pixbuf> pixbuf = Gdk::Pixbuf::create_from_file(demo_find_file(filename));
+ #else
+ std::auto_ptr<Glib::Error> error;
+- Glib::RefPtr<Gdk::Pixbuf> pixbuf = Gdk::Pixbuf::create_from_file(filename, error);
++ Glib::RefPtr<Gdk::Pixbuf> pixbuf = Gdk::Pixbuf::create_from_file(demo_find_file(filename), error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ m_images[i] = pixbuf;
+--- gtkmm-2.12.4/demos/gtk-demo/example_textview.cc.orig 2008-02-13 16:13:08.027949000 +0800
++++ gtkmm-2.12.4/demos/gtk-demo/example_textview.cc 2008-02-13 16:14:55.252060000 +0800
+@@ -10,6 +10,7 @@
+ #include "gtkmm.h"
+ #include "gtk/gtkstock.h"
+ #include "gtk/gtk.h"
++#include "demo-common.h"
+
+ class Window_EasterEgg : public Gtk::Window
+ {
+@@ -237,10 +238,10 @@
+ void Example_TextView::insert_text(Glib::RefPtr<Gtk::TextBuffer>& refBuffer)
+ {
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+- Glib::RefPtr<Gdk::Pixbuf> refPixbuf = Gdk::Pixbuf::create_from_file("./gtk-logo-rgb.gif");
++ Glib::RefPtr<Gdk::Pixbuf> refPixbuf = Gdk::Pixbuf::create_from_file(demo_find_file("gtk-logo-rgb.gif"));
+ #else
+ std::auto_ptr<Glib::Error> error;
+- Glib::RefPtr<Gdk::Pixbuf> refPixbuf = Gdk::Pixbuf::create_from_file("./gtk-logo-rgb.gif", error);
++ Glib::RefPtr<Gdk::Pixbuf> refPixbuf = Gdk::Pixbuf::create_from_file(demo_find_file("gtk-logo-rgb.gif"), error);
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ if(!refPixbuf)
+@@ -474,7 +475,7 @@
+ }
+ else if (i == 3)
+ {
+- pWidget = Gtk::manage( new Gtk::Image("./floppybuddy.gif") );
++ pWidget = Gtk::manage( new Gtk::Image(demo_find_file("floppybuddy.gif")) );
+ }
+ else if (i == 4)
+ {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/gtkmm-03-demo-installation.diff Fri Feb 15 05:48:26 2008 +0000
@@ -0,0 +1,74 @@
+--- gtkmm-2.12.4/demos/gtk-demo/Makefile.am.old 2008-02-13 17:44:11.675947000 +0800
++++ gtkmm-2.12.4/demos/gtk-demo/Makefile.am 2008-02-13 17:43:06.423606000 +0800
+@@ -1,18 +1,39 @@
+
+-pixmap_files = \
+- alphatest.png \
+- apple-red.png \
+- gnome-applets.png \
+- gnome-calendar.png \
+- gnome-foot.png \
+- gnome-gimp.png \
+- gnome-gmush.png \
+- gnome-gsame.png \
+- gnu-keys.png \
+- floppybuddy.gif \
+- gtk-logo-rgb.gif \
+- gnome-fs-regular.png \
+- gnome-fs-directory.png
++demos = \
++ example_appwindow.cc \
++ example_buttonbox.cc \
++ example_change_display.cc \
++ example_colorsel.cc \
++ example_dialog.cc \
++ example_drawingarea.cc \
++ example_images.cc \
++ example_iconview.cc \
++ example_menus.cc \
++ example_panes.cc \
++ example_pixbufs.cc \
++ example_sizegroup.cc \
++ example_stockbrowser.cc \
++ example_uimanager.cc \
++ example_textview.cc \
++ example_treeview_editable_cells.cc \
++ example_treeview_liststore.cc \
++ example_treeview_treestore.cc
++
++pixmap_files = \
++ alphatest.png \
++ apple-red.png \
++ gnome-applets.png \
++ gnome-calendar.png \
++ gnome-foot.png \
++ gnome-gimp.png \
++ gnome-gmush.png \
++ gnome-gsame.png \
++ gnu-keys.png \
++ floppybuddy.gif \
++ gtk-logo-rgb.gif \
++ gnome-fs-regular.png \
++ gnome-fs-directory.png \
++ background.jpg
+
+
+ EXTRA_DIST = $(pixmap_files)
+@@ -46,11 +67,9 @@
+ $(GTKMM_LIBS)
+
+ #List of source files needed to build the executable:
+-demo_SOURCES = demowindow.h demowindow.cc main.cc demos.h textwidget.h textwidget.cc \
+- example_appwindow.cc example_buttonbox.cc example_change_display.cc example_colorsel.cc \
+- example_dialog.cc example_drawingarea.cc \
+- example_images.cc example_iconview.cc example_menus.cc example_panes.cc example_pixbufs.cc example_sizegroup.cc \
+- example_stockbrowser.cc example_uimanager.cc example_textview.cc \
+- example_treeview_editable_cells.cc example_treeview_liststore.cc example_treeview_treestore.cc \
+- demo-common.cc demo-common.h
+-
++demo_SOURCES = $(demos) demowindow.h demowindow.cc main.cc demos.h textwidget.h textwidget.cc demo-common.cc demo-common.h
++
++
++
++
++democode_DATA = $(pixmap_files) $(demos)