From bd616775456496ab54eb48db2f503abd90c79e22da377293d0c2c1cef29a85ed Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Mon, 1 Feb 2016 22:17:36 +0000 Subject: [PATCH] Accepting request 357260 from GNOME:Next Push MM++ packages OBS-URL: https://build.opensuse.org/request/show/357260 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtkmm2?expand=0&rev=77 --- gtkmm2-new-glibmm-fixes.patch | 585 ++++++++++++++++++++++++++++++++++ gtkmm2.changes | 16 + gtkmm2.spec | 15 +- 3 files changed, 611 insertions(+), 5 deletions(-) create mode 100644 gtkmm2-new-glibmm-fixes.patch diff --git a/gtkmm2-new-glibmm-fixes.patch b/gtkmm2-new-glibmm-fixes.patch new file mode 100644 index 0000000..b3c1c80 --- /dev/null +++ b/gtkmm2-new-glibmm-fixes.patch @@ -0,0 +1,585 @@ +From 185abd365c2898ad77dbb33a099341fa28e5a496 Mon Sep 17 00:00:00 2001 +From: Kjell Ahlstedt +Date: Thu, 2 Jul 2015 19:53:16 +0200 +Subject: Add #includes needed with glibmm newer than 2.31.0. + + * gdk/src/color.hg: + * gdk/src/pixbufanimationiter.hg: + * gdk/src/pixbufformat.hg: + * gdk/src/rectangle.hg: + * gdk/src/rgbcmap.hg: + * gdk/src/types.hg: + * gtk/src/enums.hg: + * gtk/src/main.hg: + * gtk/src/papersize.hg: + * gtk/src/textattributes.hg: + * gtk/src/treemodel.hg: Add individual includes now that gmmproc does not + add #include at the top of every generated header. + * gtk/gtkmm/border.h: Add #include to make + glibmm/tools/test_scripts/testheaders.sh happy. + +diff --git a/gdk/src/color.hg b/gdk/src/color.hg +index ce22d4b..09c91fc 100644 +--- a/gdk/src/color.hg ++++ b/gdk/src/color.hg +@@ -21,6 +21,8 @@ + // the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated: + _CONFIGINCLUDE(gdkmmconfig.h) + ++#include ++ + _DEFS(gdkmm,gdk) + + namespace Gdk +diff --git a/gdk/src/pixbufanimationiter.hg b/gdk/src/pixbufanimationiter.hg +index 4e12f52..f89a037 100644 +--- a/gdk/src/pixbufanimationiter.hg ++++ b/gdk/src/pixbufanimationiter.hg +@@ -21,6 +21,7 @@ + + #include + #include ++#include + #include + + _DEFS(gdkmm,gdk) +diff --git a/gdk/src/pixbufformat.hg b/gdk/src/pixbufformat.hg +index c460056..6c7daab 100644 +--- a/gdk/src/pixbufformat.hg ++++ b/gdk/src/pixbufformat.hg +@@ -20,7 +20,7 @@ + _DEFS(gdkmm,gdk) + + #include +- ++#include + + #ifndef DOXYGEN_SHOULD_SKIP_THIS + extern "C" { typedef struct _GdkPixbufFormat GdkPixbufFormat; } +diff --git a/gdk/src/rectangle.hg b/gdk/src/rectangle.hg +index f48de5a..01d1959 100644 +--- a/gdk/src/rectangle.hg ++++ b/gdk/src/rectangle.hg +@@ -19,6 +19,7 @@ + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + ++#include + #include + + _DEFS(gdkmm,gdk) +diff --git a/gdk/src/rgbcmap.hg b/gdk/src/rgbcmap.hg +index bfdfdfe..817661f 100644 +--- a/gdk/src/rgbcmap.hg ++++ b/gdk/src/rgbcmap.hg +@@ -24,6 +24,7 @@ _DEFS(gdkmm,gdk) + #m4 _POP() + + #include ++#include + + #ifndef DOXYGEN_SHOULD_SKIP_THIS + extern "C" { typedef struct _GdkRgbCmap GdkRgbCmap; } +diff --git a/gdk/src/types.hg b/gdk/src/types.hg +index fd644b8..a05ba0c 100644 +--- a/gdk/src/types.hg ++++ b/gdk/src/types.hg +@@ -19,6 +19,8 @@ + + _DEFS(gdkmm,gdk) + ++#include ++#include + #include + #include + +diff --git a/gtk/gtkmm/border.h b/gtk/gtkmm/border.h +index a64c669..b48017e 100644 +--- a/gtk/gtkmm/border.h ++++ b/gtk/gtkmm/border.h +@@ -22,6 +22,7 @@ + */ + + #include ++#include /* For GtkBorder */ + + namespace Gtk + { +diff --git a/gtk/src/enums.hg b/gtk/src/enums.hg +index 66c3696..ad3d20c 100644 +--- a/gtk/src/enums.hg ++++ b/gtk/src/enums.hg +@@ -19,6 +19,7 @@ + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + ++#include + #include //For GTKMM_MAEMO_EXTENSIONS_ENABLED + + _DEFS(gtkmm,gtk) +diff --git a/gtk/src/main.hg b/gtk/src/main.hg +index c6c05ed..2665445 100644 +--- a/gtk/src/main.hg ++++ b/gtk/src/main.hg +@@ -22,6 +22,7 @@ + + #include + #include //For GdkEventKey ++#include + + _DEFS(gtkmm,gtk) + +diff --git a/gtk/src/papersize.hg b/gtk/src/papersize.hg +index 41fcb3c..3914cd1 100644 +--- a/gtk/src/papersize.hg ++++ b/gtk/src/papersize.hg +@@ -17,6 +17,9 @@ + + _DEFS(gtkmm,gtk) + ++#include ++#include ++ + namespace Gtk + { + +diff --git a/gtk/src/textattributes.hg b/gtk/src/textattributes.hg +index b043f98..3966529 100644 +--- a/gtk/src/textattributes.hg ++++ b/gtk/src/textattributes.hg +@@ -22,6 +22,8 @@ + + _DEFS(gtkmm,gtk) + ++#include ++ + namespace Gtk + { + +diff --git a/gtk/src/treemodel.hg b/gtk/src/treemodel.hg +index a04d924..360b4ed 100644 +--- a/gtk/src/treemodel.hg ++++ b/gtk/src/treemodel.hg +@@ -18,6 +18,7 @@ + */ + + #include ++#include + #include + + _DEFS(gtkmm,gtk) +-- +cgit v0.10.2 + +From 9d52f886ffe556f9615f98a280d3a036a9ecf28e Mon Sep 17 00:00:00 2001 +From: Kjell Ahlstedt +Date: Sun, 5 Jul 2015 15:41:11 +0200 +Subject: More fixes to suit newish glibmm. + + * gtk/src/entrycompletion.hg: Add a missing double quote in + _WRAP_PROPERTY("text_column, int), to avoid a warning from gmmproc 2.41.0 + or newer. + * gtk/src/printunixdialog.hg: get_selected_printer(): Ref-counting correction. + Fix a .->, typo to make the refreturn option actually be used. Necessary + with gmmproc 2.29.13 or newer. Discussed in bug #657751, comment 5. + +diff --git a/gtk/src/entrycompletion.hg b/gtk/src/entrycompletion.hg +index 3a32e4f..70c5cc7 100644 +--- a/gtk/src/entrycompletion.hg ++++ b/gtk/src/entrycompletion.hg +@@ -218,7 +218,7 @@ dnl + + _WRAP_PROPERTY("model", Glib::RefPtr) + _WRAP_PROPERTY("minimum_key_length", int) +- _WRAP_PROPERTY("text_column, int) ++ _WRAP_PROPERTY("text_column", int) + _WRAP_PROPERTY("inline_completion", bool) + _WRAP_PROPERTY("popup_completion", bool) + _WRAP_PROPERTY("popup_set_width", bool) +diff --git a/gtk/src/printunixdialog.hg b/gtk/src/printunixdialog.hg +index 87de89f..c05e5c3 100644 +--- a/gtk/src/printunixdialog.hg ++++ b/gtk/src/printunixdialog.hg +@@ -71,7 +71,7 @@ public: + #m4 _CONVERSION(`GtkPrinter*',`Glib::RefPtr',`Glib::wrap($3)') + + _WRAP_METHOD(Glib::RefPtr get_selected_printer(), gtk_print_unix_dialog_get_selected_printer, refreturn) +- _WRAP_METHOD(Glib::RefPtr get_selected_printer() const, gtk_print_unix_dialog_get_selected_printer, refreturn. constversion) ++ _WRAP_METHOD(Glib::RefPtr get_selected_printer() const, gtk_print_unix_dialog_get_selected_printer, refreturn, constversion) + + void add_custom_tab(const Widget& child, const Glib::ustring& tab_label); + _WRAP_METHOD(void add_custom_tab(const Widget& child, const Widget& tab_label), gtk_print_unix_dialog_add_custom_tab) +-- +cgit v0.10.2 + +diff --git a/gtk/src/papersize.hg b/gtk/src/papersize.hg +index 2e5700d..41fcb3c 100644 +--- a/gtk/src/papersize.hg ++++ b/gtk/src/papersize.hg +@@ -21,7 +21,7 @@ namespace Gtk + { + + #ifndef DOXYGEN_SHOULD_SKIP_THIS +-class PaperSizeTraits; ++struct PaperSizeTraits; + #endif + + /** Common paper names, from PWG 5101.1-2002 PWG: Standard for Media Standardized Names +-- +cgit v0.10.2 + +From c041c14cb425ad552c8a109f7ac94bc4c161bc18 Mon Sep 17 00:00:00 2001 +From: Murray Cumming +Date: Fri, 24 Jul 2015 07:41:01 +0200 +Subject: Add list.m4 here in gtkmm instead of in glibmm. + +It was removed from glibmm in this commit because nothing that's +still supported (really, I'm not supporting this branch that I +am committing in) still uses it: +https://git.gnome.org/browse/glibmm/commit/?id=b4198dd1945ef4a9787b76c1a68e61708a9b1fa9 + +diff --git a/tools/m4/list.m4 b/tools/m4/list.m4 +new file mode 100644 +index 0000000..954beb1 +--- /dev/null ++++ b/tools/m4/list.m4 +@@ -0,0 +1,232 @@ ++_PUSH() ++ ++dnl ++dnl These variables affect the generation of the list ++dnl ++define(GP_LIST_HELPER_NAMESPACE,`define(`__LIST_NAMESPACE__',$1)') ++define(GP_LIST_ELEM,`define(`__LISTELEM__',`$*')') ++define(GP_LIST_ITER,`define(`__LISTITER__',`$*')') ++define(GP_LIST_NOINSERT,`define(`__LISTEO__')') ++ ++dnl ++dnl GP_LIST(ListName, ParentCppType, ParentCType, ChildCppType, FieldNameC) ++dnl ++dnl In the .ccg file, you'll need to implement: ++dnl iterator insert(iterator position, element_type& e); ++dnl ++dnl Fieldname assumed to be children if not specified ++define(GP_LIST,` ++_PUSH() ++ ++define(`__LISTNAME__',$1) ++define(`__LISTPARENT__',$2) ++define(`__LISTPARENT_G__',$3) ++define(`__LISTTYPE__',$4) ++define(`__LISTELEM__',const Element) ++define(`__LISTITER__',Glib::List_Iterator< __LISTTYPE__ >) ++define(`__LIST_NAMESPACE__',$2_Helpers) ++#define(`__LISTFIELD__',ifelse($5,,children,$5)) ++define(`__LISTFIELD__',$5) ++ ++_SECTION(SECTION_USR) ++') ++ ++dnl ++dnl GP_LIST_END() ++dnl ++dnl Closes a list ++define(GP_LIST_END,`dnl ++_POP() ++ ++class __LISTNAME__ : public Glib::HelperList< __LISTTYPE__, __LISTELEM__, __LISTITER__ > ++{ ++public: ++ __LISTNAME__`'(); ++ explicit __LISTNAME__`'(__LISTPARENT_G__* gparent); ++ __LISTNAME__`'(const __LISTNAME__& src); ++ virtual ~__LISTNAME__`'() {} ++ ++ __LISTNAME__& operator=(const __LISTNAME__& src); ++ ++ typedef Glib::HelperList< __LISTTYPE__, __LISTELEM__, __LISTITER__ > type_base; ++ ++ __LISTPARENT_G__* gparent(); ++ const __LISTPARENT_G__* gparent() const; ++ ++ virtual GList*& glist() const; // front of list ++ ++ virtual void erase(iterator start, iterator stop); ++ virtual iterator erase(iterator); //Implented as custom or by LIST_CONTAINER_REMOVE ++ virtual void remove(const_reference); //Implented as custom or by LIST_CONTAINER_REMOVE ++ ++ /// This is order n. (use at own risk) ++ reference operator[](size_type l) const; ++ ++ifdef(`__LISTEO__',`dnl ++protected: ++ //Hide these because it's read-only: ++ iterator insert(iterator position, element_type& e); ++ ++ inline void pop_front(); ++ inline void pop_back(); ++,`dnl ++public: ++ iterator insert(iterator position, element_type& e); //custom-implemented. ++ ++ template ++ inline void insert(iterator position, InputIterator first, InputIterator last) ++ { ++ for(;first != last; ++first) ++ position = insert(position, *first); ++ } ++ ++ inline void push_front(element_type& e) ++ { insert(begin(), e); } ++ inline void push_back(element_type& e) ++ { insert(end(), e); } ++')dnl ++ ++_IMPORT(SECTION_USR) ++}; ++ ++_PUSH(SECTION_CC) ++ ++namespace __LIST_NAMESPACE__ ++{ ++ ++__LISTNAME__::__LISTNAME__`'() ++{} ++ ++__LISTNAME__::__LISTNAME__`'(__LISTPARENT_G__* gparent) ++: type_base((GObject*)gparent) ++{} ++ ++__LISTNAME__::__LISTNAME__`'(const __LISTNAME__& src) ++: ++ type_base(src) ++{} ++ ++__LISTNAME__& __LISTNAME__::operator=(const __LISTNAME__& src) ++{ ++ type_base::operator=(src); ++ return *this; ++} ++ ++ifelse(__LISTFIELD__,CUSTOM,`dnl ++',`dnl else ++GList*& __LISTNAME__::glist() const ++{ ++ return ((__LISTPARENT_G__*)gparent_)->__LISTFIELD__; ++} ++')dnl endif ++ ++void __LISTNAME__::erase(iterator start, iterator stop) ++{ ++ type_base::erase(start, stop); ++} ++ ++__LISTPARENT_G__* __LISTNAME__::gparent() ++{ ++ return (__LISTPARENT_G__*)type_base::gparent(); ++} ++ ++const __LISTPARENT_G__* __LISTNAME__::gparent() const ++{ ++ return (__LISTPARENT_G__*)type_base::gparent(); ++} ++ ++__LISTNAME__::reference __LISTNAME__::operator[](size_type l) const ++{ ++ return type_base::operator[](l); ++} ++ ++} /* namespace __LIST_NAMESPACE__ */ ++ ++undefine(`__LISTNAME__')dnl ++undefine(`__LISTTYPE__')dnl ++undefine(`__LISTPARENT__')dnl ++undefine(`__LISTELEM__')dnl ++undefine(`__LISTFIELD__')dnl ++_POP() ++') ++ ++dnl ++dnl GP_LIST_FIND(access_method) ++dnl ++dnl Defines find(containertype) and find(Widget&) ++dnl access_method is the name of method returning a Widget* ++define(GP_LIST_FIND,` ++ iterator find(const_reference c); ++ iterator find(Widget&); ++_PUSH(SECTION_CC) ++ ++namespace __LIST_NAMESPACE__ ++{ ++ ++__LISTNAME__::iterator __LISTNAME__::find(const_reference w) ++{ ++ iterator i = begin(); ++ while (i != end() && (i->ifelse($1,,,$1()->)gobj() != w.ifelse($1,,,$1()->)gobj())) ++ ++i; ++ return i; ++} ++ ++__LISTNAME__::iterator __LISTNAME__::find(Widget& w) ++{ ++ iterator i = begin(); ++ while (i != end() && ((GtkWidget*)i->ifelse($1,,,$1()->)gobj() != w.gobj())) ++ ++i; ++ return i; ++} ++ ++} /* namespace __LIST_NAMESPACE__ */ ++ ++_POP() ++') ++ ++dnl ++dnl GP_LIST_CONTAINER_REMOVE(access_method) ++dnl ++dnl Implements remove(const_reference), erase(iterator) ++dnl and defines remove(Widget&) ++dnl (assumes that the widget uses gtk+ container methods). ++dnl access_method is the name of the method returning a Widget* ++define(GP_LIST_CONTAINER_REMOVE,` ++virtual void remove(Widget& w); //Implented as custom or by LIST_CONTAINER_REMOVE ++_PUSH(SECTION_CC) ++ ++namespace __LIST_NAMESPACE__ ++{ ++ ++void __LISTNAME__::remove(const_reference child) ++{ ++ gtk_container_remove(GTK_CONTAINER(gparent_), ++ (GtkWidget*)(child.ifelse($1,,,$1()->)gobj())); ++} ++ ++void __LISTNAME__::remove(Widget& widget) ++{ ++ gtk_container_remove(GTK_CONTAINER(gparent_), (GtkWidget*)(widget.gobj())); ++} ++ ++__LISTNAME__::iterator __LISTNAME__::erase(iterator position) ++{ ++ //Check that it is a valid iterator, to a real item: ++ if ( !position.node_|| (position == end()) ) ++ return end(); ++ ++ //Get an iterator the the next item, to return: ++ iterator next = position; ++ next++; ++ ++ //Use GTK+ C function to remove it, by providing the GtkWidget*: ++ gtk_container_remove( GTK_CONTAINER(gparent_), (GtkWidget*)(position->ifelse($1,,,$1()->)gobj()) ); ++ return next; ++} ++ ++} /* namespace __LIST_NAMESPACE__ */ ++ ++_POP() ++') ++ ++_POP()dnl +-- +cgit v0.10.2 + +From 43ad482936a4afa9935dd85b38c395d3d91ec36a Mon Sep 17 00:00:00 2001 +From: Murray Cumming +Date: Fri, 24 Jul 2015 07:52:11 +0200 +Subject: Fix the previous commit + + +diff --git a/tools/m4/filelist.am b/tools/m4/filelist.am +index 38c37fb..0394790 100644 +--- a/tools/m4/filelist.am ++++ b/tools/m4/filelist.am +@@ -21,4 +21,5 @@ files_codegen_m4 = \ + convert.m4 \ + convert_gdk.m4 \ + convert_gtk.m4 \ +- convert_gtkmm.m4 ++ convert_gtkmm.m4 \ ++ list.m4 +-- +cgit v0.10.2 + +From 5b8f1294844e3639c6be802dda81fa853511bf30 Mon Sep 17 00:00:00 2001 +From: Murray Cumming +Date: Fri, 14 Aug 2015 13:50:40 +0200 +Subject: configure.ac: Use C++11 if the compiler supports it. + +For instance, use --std=c++11 when using g++. +This will let gtkmm-2.24 build against newer glibmm versions. +Applications will need to use --std=c++11 too if glibmm is a newer +version. +Of course, you should be using gtkmm 3 anyway. +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index eef1169..6a72d74 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -31,7 +31,7 @@ AM_MAINTAINER_MODE + AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I ]) + + +-MM_PREREQ([0.9.5]) ++MM_PREREQ([0.9.8]) + MM_INIT_MODULE([gdkmm-2.4]) + MM_INIT_MODULE([gtkmm-2.4]) + +@@ -44,6 +44,8 @@ MM_CONFIG_DOCTOOL_DIR([docs]) + AC_SUBST([LIBGTKMM_SO_VERSION], [2:0:1]) + + AC_PROG_CXX ++MM_AX_CXX_COMPILE_STDCXX_11([noext],[optional]) ++ + AC_DISABLE_STATIC + AC_LIBTOOL_WIN32_DLL + AC_PROG_LIBTOOL +-- +cgit v0.11.2 + + +From 33f4ecd007b2e4bd3511b36add8734b362c80d40 Mon Sep 17 00:00:00 2001 +From: Murray Cumming +Date: Fri, 14 Aug 2015 14:25:57 +0200 +Subject: Pixbuf: Avoid deprecations warnings that break + --enable-warnings=fatal. + +Such as during distcheck. +--- + gdk/src/pixbuf.ccg | 5 +++++ + gdk/src/pixbuf.hg | 3 +++ + 2 files changed, 8 insertions(+) + +diff --git a/gdk/src/pixbuf.ccg b/gdk/src/pixbuf.ccg +index 946d600..f1a19c4 100644 +--- a/gdk/src/pixbuf.ccg ++++ b/gdk/src/pixbuf.ccg +@@ -21,6 +21,11 @@ + #include + #include + ++//Turn off all deprecation warnings, to avoid the warning about ++//gdk_pixbuf_new_from_inline() in the generated code. ++//We don't bother using G_GNUC_END_IGNORE_DEPRECATIONS ++//because we are happy to keep it active for the whole file. ++G_GNUC_BEGIN_IGNORE_DEPRECATIONS + + namespace + { +diff --git a/gdk/src/pixbuf.hg b/gdk/src/pixbuf.hg +index 5f33591..994aa83 100644 +--- a/gdk/src/pixbuf.hg ++++ b/gdk/src/pixbuf.hg +@@ -17,6 +17,9 @@ + + #m4 _PUSH(SECTION_CC_PRE_INCLUDES) + #undef GDK_DISABLE_DEPRECATED ++#define GDK_DISABLE_DEPRECATION_WARNINGS 1 ++#undef GDK_PIXBUF_DISABLE_DEPRECATED ++#define GDK_PIXBUF_DISABLE_DEPRECATION_WARNINGS 1 + #m4 _POP() + // This is for including the config header before any code (such as + // the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated: +-- +cgit v0.11.2 diff --git a/gtkmm2.changes b/gtkmm2.changes index 2ecdb7e..b3c96e3 100644 --- a/gtkmm2.changes +++ b/gtkmm2.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Thu Aug 20 20:45:35 UTC 2015 - zaitor@opensuse.org + +- Export CFLAGS="%{optflags} -std=c++11" and CXXFLAGS="%{optflags} + -std=c++11". Fix build with updated MM stack. +- Replace atkmm-devel, cairomm-devel, glibmm2-devel, + libsigc++2-devel and pangomm-devel for pkgconfig(atkmm-1.6), + pkgconfig(cairomm-1.0), pkgconfig(giomm-2.4), + pkgconfig(pangomm-1.4) and pkgconfig(sigc++-2.0) BuildRequires. + +------------------------------------------------------------------- +Thu Jul 23 14:57:14 UTC 2015 - zaitor@opensuse.org + +- Add gtkmm2-new-glibmm-fixes.patch: Add commits from upstream to + support/fix build with new glibmm. + ------------------------------------------------------------------- Fri May 15 11:43:58 UTC 2015 - dimstar@opensuse.org diff --git a/gtkmm2.spec b/gtkmm2.spec index d437e4a..2fcc14d 100644 --- a/gtkmm2.spec +++ b/gtkmm2.spec @@ -26,14 +26,16 @@ Group: System/Libraries Url: http://www.gtkmm.org/ Source: http://download.gnome.org/sources/gtkmm/2.24/%{_name}-%{version}.tar.xz Source99: baselibs.conf -BuildRequires: atkmm-devel -BuildRequires: cairomm-devel +# PATCH-FIX-UPSTREAM gtkmm2-new-glibmm-fixes.patch zaitor@opensuse.org -- Add commits from upstream to support new glibmm. +Patch0: gtkmm2-new-glibmm-fixes.patch BuildRequires: fdupes BuildRequires: gcc-c++ -BuildRequires: glibmm2-devel >= 2.27.93 -BuildRequires: libsigc++2-devel -BuildRequires: pangomm-devel >= 2.27.1 +BuildRequires: pkgconfig(atkmm-1.6) >= 2.22.2 +BuildRequires: pkgconfig(cairomm-1.0) +BuildRequires: pkgconfig(giomm-2.4) >= 2.27.93 BuildRequires: pkgconfig(gtk+-2.0) >= 2.24.0 +BuildRequires: pkgconfig(pangomm-1.4) >= 2.27.1 +BuildRequires: pkgconfig(sigc++-2.0) BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -73,8 +75,11 @@ freely combined to quickly create complex user interfaces. %prep %setup -q -n %{_name}-%{version} +%patch0 -p1 %build +export CFLAGS="%{optflags} -std=c++11" +export CXXFLAGS="%{optflags} -std=c++11" %configure \ --disable-static make %{?_smp_mflags} gtkmm_docdir=%{_docdir}/%{name}/docs