summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/gtkmm')
-rw-r--r--dev-cpp/gtkmm/Manifest4
-rw-r--r--dev-cpp/gtkmm/files/gtkmm-2.24.4-missing-includes.patch200
-rw-r--r--dev-cpp/gtkmm/files/gtkmm-2.24.4-newer-glibmm.patch60
-rw-r--r--dev-cpp/gtkmm/files/gtkmm-2.24.4-papersize.patch45
-rw-r--r--dev-cpp/gtkmm/gtkmm-2.24.4-r1.ebuild69
-rw-r--r--dev-cpp/gtkmm/gtkmm-2.24.4-r2.ebuild74
-rw-r--r--dev-cpp/gtkmm/gtkmm-2.24.4.ebuild55
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.12.0.ebuild62
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.14.0-r1.ebuild75
-rw-r--r--dev-cpp/gtkmm/gtkmm-3.16.0.ebuild75
-rw-r--r--dev-cpp/gtkmm/metadata.xml5
11 files changed, 724 insertions, 0 deletions
diff --git a/dev-cpp/gtkmm/Manifest b/dev-cpp/gtkmm/Manifest
new file mode 100644
index 00000000000..f9b615812cd
--- /dev/null
+++ b/dev-cpp/gtkmm/Manifest
@@ -0,0 +1,4 @@
+DIST gtkmm-2.24.4.tar.xz 10262212 SHA256 443a2ff3fcb42a915609f1779000390c640a6d7fd19ad8816e6161053696f5ee SHA512 75d8c7a7c32adb33a9867b36877422bce52d8486d66be5aaa2afe1eee439efc2ba09aab7d06b9986d74879103415062c5386d5354aff6d44a63b2ba2d75f7c89 WHIRLPOOL 06074ec3f2f7adfe1f24b4d629ef73e852a9b21d719f2705f254389802813b53625be0be4aa30e191df134609b8349ea0725afcf858d26c0bf18282dd8358ab0
+DIST gtkmm-3.12.0.tar.xz 10113956 SHA256 86c526ceec15d889996822128d566748bb36f70cf5a2c270530dfc546a2574e1 SHA512 a412fca2adc0b35c6f282ce091587a66f255a27fe294b0f064083a4c2b621bf0b44999e4967dd3ed21bb07bd5dc27e312dafa1d6c20ed976a01e0a7a558b5fad WHIRLPOOL c59c2bc5e34463a599aa71462d8635c83ee763bc9cc3fd702d99f8341a2db3e86934d543f86c57fd967af6a964cf41b1c94562e4b556a97e0d80949b3857d432
+DIST gtkmm-3.14.0.tar.xz 11400284 SHA256 d9f528a62c6ec226fa08287c45c7465b2dce5aae5068e9ac48d30a64a378e48b SHA512 0525381c19fd0ac0c2f1895f8acd1401caa4b3486b4ca644fb032e1dc984a39deac6552f0bd59e6892705c77d050e0642618bd48ad28e353eaf331c790a684c2 WHIRLPOOL 877e6f7ce7d7ce97a4361829320215bb308f05cda27475bf8f925905ac86054bf03a3137336085ccf244bac87cdeb285b5229628ec09c484a6b12d51a8cb88cd
+DIST gtkmm-3.16.0.tar.xz 11468644 SHA256 9b8d4af5e1bb64e52b53bc8ef471ef43e1b9d11a829f16ef54c3a92985b0dd0c SHA512 282e53a0f3f3c4d1594057e4367bb4f4abe8fbf7f2bae2a819b35d4e4137a3e739aa83039114eb52eba16a9dd048abd78f011fb14635e53cf61019c6f4c06397 WHIRLPOOL 87c4dbccb79472c264621b3b96f5e06c73d03f4bbc0121f25e9c29f75e5c3e3e57aede9398b6c8b00e47d4eccd5eb6dfc6068c242af744f77f1d59af14bd2f25
diff --git a/dev-cpp/gtkmm/files/gtkmm-2.24.4-missing-includes.patch b/dev-cpp/gtkmm/files/gtkmm-2.24.4-missing-includes.patch
new file mode 100644
index 00000000000..640d48a3d12
--- /dev/null
+++ b/dev-cpp/gtkmm/files/gtkmm-2.24.4-missing-includes.patch
@@ -0,0 +1,200 @@
+From 185abd365c2898ad77dbb33a099341fa28e5a496 Mon Sep 17 00:00:00 2001
+From: Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+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 <glibmm.h> at the top of every generated header.
+ * gtk/gtkmm/border.h: Add #include <gtk/gtk.h> to make
+ glibmm/tools/test_scripts/testheaders.sh happy.
+
+diff --git a/ChangeLog b/ChangeLog
+index 73e1eac..1d6d4d0 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,22 @@
++2015-07-02 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
++
++ 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 <glibmm.h> at the top of every generated header.
++ * gtk/gtkmm/border.h: Add #include <gtk/gtk.h> to make
++ glibmm/tools/test_scripts/testheaders.sh happy.
++
+ 2012-03-14 Murray Cumming <murrayc@murrayc.com>
+
+ PaperSize: Correct the PaperSizeTraits pre-declaration.
+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 <glibmm/arrayhandle.h>
++
+ _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 <glibmm/object.h>
+ #include <gdkmm/pixbuf.h>
++#include <glibmm/timeval.h>
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+
+ _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 <gdkmmconfig.h>
+-
++#include <glibmm/arrayhandle.h>
+
+ #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 <glibmm/value.h>
+ #include <gdk/gdk.h>
+
+ _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 <gdkmmconfig.h>
++#include <glibmm/arrayhandle.h>
+
+ #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 <glibmm/arrayhandle.h>
++#include <glibmm/listhandle.h>
+ #include <gdk/gdk.h>
+ #include <gdkmmconfig.h>
+
+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 <glibmm/value.h>
++#include <gtk/gtk.h> /* 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 <glibmm/value.h>
+ #include <gtkmmconfig.h> //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 <sigc++/sigc++.h>
+ #include <gdkmm/types.h> //For GdkEventKey
++#include <glibmm/optioncontext.h>
+
+ _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 <glibmm/keyfile.h>
++#include <glibmm/listhandle.h>
++
+ 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 <glibmm/value.h>
++
+ 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 <glibmm/interface.h>
++#include <glibmm/arrayhandle.h>
+ #include <gtkmm/treeiter.h>
+
+ _DEFS(gtkmm,gtk)
+--
+cgit v0.10.2
+
diff --git a/dev-cpp/gtkmm/files/gtkmm-2.24.4-newer-glibmm.patch b/dev-cpp/gtkmm/files/gtkmm-2.24.4-newer-glibmm.patch
new file mode 100644
index 00000000000..54a1ee0b34f
--- /dev/null
+++ b/dev-cpp/gtkmm/files/gtkmm-2.24.4-newer-glibmm.patch
@@ -0,0 +1,60 @@
+From 9d52f886ffe556f9615f98a280d3a036a9ecf28e Mon Sep 17 00:00:00 2001
+From: Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+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/ChangeLog b/ChangeLog
+index 1d6d4d0..c61ffa3 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,14 @@
++2015-07-05 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
++
++ 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.
++
+ 2015-07-02 Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+
+ Add #includes needed with glibmm newer than 2.31.0.
+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<Gtk::TreeModel>)
+ _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<const Printer>',`Glib::wrap($3)')
+
+ _WRAP_METHOD(Glib::RefPtr<Printer> get_selected_printer(), gtk_print_unix_dialog_get_selected_printer, refreturn)
+- _WRAP_METHOD(Glib::RefPtr<const Printer> get_selected_printer() const, gtk_print_unix_dialog_get_selected_printer, refreturn. constversion)
++ _WRAP_METHOD(Glib::RefPtr<const Printer> 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/dev-cpp/gtkmm/files/gtkmm-2.24.4-papersize.patch b/dev-cpp/gtkmm/files/gtkmm-2.24.4-papersize.patch
new file mode 100644
index 00000000000..fb4d2b7dddd
--- /dev/null
+++ b/dev-cpp/gtkmm/files/gtkmm-2.24.4-papersize.patch
@@ -0,0 +1,45 @@
+From 4fb3efa910a46364fa8ec4d60fcce557200e4dcb Mon Sep 17 00:00:00 2001
+From: Murray Cumming <murrayc@murrayc.com>
+Date: Wed, 14 Mar 2012 11:41:46 +0100
+Subject: PaperSize: Correct the PaperSizeTraits pre-declaration.
+
+* gtk/src/papersize.hg: PaperSizeTraits is a struct, not a class.
+clang++ noticed this while building Glom, though I have not run it on all of
+gtkmm.
+
+diff --git a/ChangeLog b/ChangeLog
+index ec2ce5a..73e1eac 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,4 +1,15 @@
++2012-03-14 Murray Cumming <murrayc@murrayc.com>
++
++ PaperSize: Correct the PaperSizeTraits pre-declaration.
++
++ * gtk/src/papersize.hg: PaperSizeTraits is a struct, not a class.
++ clang++ noticed this while building Glom, though I have not run it on all of
++ gtkmm.
++
+ 2.24.4:
++
++(Just regenerated with the correct glibmm version.)
++
+ 2.24.3:
+
+ 2013-04-04 Hubert Figuière <hub@figuiere.net>
+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
+
diff --git a/dev-cpp/gtkmm/gtkmm-2.24.4-r1.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.4-r1.ebuild
new file mode 100644
index 00000000000..e499b37b5cb
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-2.24.4-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="http://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="2.4"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+COMMON_DEPEND="
+ >=dev-cpp/glibmm-2.34.1:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.24.15:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/atkmm-2.22.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.10.0-r1[${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.34.0:1.4[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtkmmlibs-20140508
+ !app-emulation/emul-linux-x86-gtkmmlibs[-abi_x86_32(-)] )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ --enable-api-atkmm \
+ $(multilib_native_use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ einstalldocs
+}
diff --git a/dev-cpp/gtkmm/gtkmm-2.24.4-r2.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.4-r2.ebuild
new file mode 100644
index 00000000000..63289ed85fc
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-2.24.4-r2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="http://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="2.4"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+COMMON_DEPEND="
+ >=dev-cpp/glibmm-2.34.1:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.24.15:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/atkmm-2.22.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.10.0-r1[${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.34.0:1.4[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtkmmlibs-20140508
+ !app-emulation/emul-linux-x86-gtkmmlibs[-abi_x86_32(-)] )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+
+src_prepare() {
+ # Apply fixes from 2.24 branch
+ epatch "${FILESDIR}"/${P}-papersize.patch
+ epatch "${FILESDIR}"/${P}-missing-includes.patch
+ epatch "${FILESDIR}"/${P}-newer-glibmm.patch
+
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ --enable-api-atkmm \
+ $(multilib_native_use_enable doc documentation)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ einstalldocs
+}
diff --git a/dev-cpp/gtkmm/gtkmm-2.24.4.ebuild b/dev-cpp/gtkmm/gtkmm-2.24.4.ebuild
new file mode 100644
index 00000000000..8c4c468bc21
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-2.24.4.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="http://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="2.4"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+IUSE="doc examples test"
+
+RDEPEND="
+ >=dev-cpp/glibmm-2.27.93:2
+ >=x11-libs/gtk+-2.24:2
+ >=dev-cpp/atkmm-2.22.2
+ >=dev-cpp/cairomm-1.2.2
+ >=dev-cpp/pangomm-2.27.1:1.4
+ dev-libs/libsigc++:2
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ gnome2_src_configure \
+ --enable-api-atkmm \
+ $(use_enable doc documentation)
+}
diff --git a/dev-cpp/gtkmm/gtkmm-3.12.0.ebuild b/dev-cpp/gtkmm/gtkmm-3.12.0.ebuild
new file mode 100644
index 00000000000..7b197b144c7
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.12.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="http://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="aqua doc examples test wayland +X"
+REQUIRED_USE="|| ( aqua wayland X )"
+
+RDEPEND="
+ >=dev-cpp/glibmm-2.38.0:2
+ >=x11-libs/gtk+-3.12:3[aqua?,wayland?,X?]
+ >=x11-libs/gdk-pixbuf-2.26:2
+ >=dev-cpp/atkmm-2.22.2
+ >=dev-cpp/cairomm-1.9.2.2
+ >=dev-cpp/pangomm-2.27.1:1.4
+ dev-libs/libsigc++:2
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+# dev-cpp/mm-common"
+# eautoreconf needs mm-common
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+src_configure() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ gnome2_src_configure \
+ --enable-api-atkmm \
+ $(use_enable doc documentation) \
+ $(use_enable aqua quartz-backend) \
+ $(use_enable wayland wayland-backend) \
+ $(use_enable X x11-backend)
+}
diff --git a/dev-cpp/gtkmm/gtkmm-3.14.0-r1.ebuild b/dev-cpp/gtkmm/gtkmm-3.14.0-r1.ebuild
new file mode 100644
index 00000000000..5e58e0792d8
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.14.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="http://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 ~sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="aqua doc examples test wayland +X"
+REQUIRED_USE="|| ( aqua wayland X )"
+
+COMMON_DEPEND="
+ >=dev-cpp/glibmm-2.41.2:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.14:3[aqua?,wayland?,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/atkmm-2.22.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.10.0-r1[${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.34.0:1.4[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtkmmlibs-20140508
+ !app-emulation/emul-linux-x86-gtkmmlibs[-abi_x86_32(-)] )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+# dev-cpp/mm-common"
+# eautoreconf needs mm-common
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ --enable-api-atkmm \
+ $(multilib_native_use_enable doc documentation) \
+ $(use_enable aqua quartz-backend) \
+ $(use_enable wayland wayland-backend) \
+ $(use_enable X x11-backend)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ einstalldocs
+}
diff --git a/dev-cpp/gtkmm/gtkmm-3.16.0.ebuild b/dev-cpp/gtkmm/gtkmm-3.16.0.ebuild
new file mode 100644
index 00000000000..37ab08ce2c7
--- /dev/null
+++ b/dev-cpp/gtkmm/gtkmm-3.16.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit gnome2 multilib-minimal
+
+DESCRIPTION="C++ interface for GTK+"
+HOMEPAGE="http://www.gtkmm.org"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
+IUSE="aqua doc examples test wayland +X"
+REQUIRED_USE="|| ( aqua wayland X )"
+
+COMMON_DEPEND="
+ >=dev-cpp/glibmm-2.44.0:2[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-3.16:3[aqua?,wayland?,X?,${MULTILIB_USEDEP}]
+ >=x11-libs/gdk-pixbuf-2.28:2[${MULTILIB_USEDEP}]
+ >=dev-cpp/atkmm-2.22.7[${MULTILIB_USEDEP}]
+ >=dev-cpp/cairomm-1.10.0-r1[${MULTILIB_USEDEP}]
+ >=dev-cpp/pangomm-2.34.0:1.4[${MULTILIB_USEDEP}]
+ >=dev-libs/libsigc++-2.3.2:2[${MULTILIB_USEDEP}]
+"
+RDEPEND="${COMMON_DEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtkmmlibs-20140508
+ !app-emulation/emul-linux-x86-gtkmmlibs[-abi_x86_32(-)] )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig
+ doc? (
+ media-gfx/graphviz
+ dev-libs/libxslt
+ app-doc/doxygen )
+"
+# dev-cpp/mm-common"
+# eautoreconf needs mm-common
+
+src_prepare() {
+ if ! use test; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)tests\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 1 failed"
+ fi
+
+ if ! use examples; then
+ # don't waste time building tests
+ sed 's/^\(SUBDIRS =.*\)demos\(.*\)$/\1\2/' -i Makefile.am Makefile.in \
+ || die "sed 2 failed"
+ fi
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" gnome2_src_configure \
+ --enable-api-atkmm \
+ $(multilib_native_use_enable doc documentation) \
+ $(use_enable aqua quartz-backend) \
+ $(use_enable wayland wayland-backend) \
+ $(use_enable X x11-backend)
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ DOCS="AUTHORS ChangeLog PORTING NEWS README"
+ einstalldocs
+}
diff --git a/dev-cpp/gtkmm/metadata.xml b/dev-cpp/gtkmm/metadata.xml
new file mode 100644
index 00000000000..57c9d9c1a1d
--- /dev/null
+++ b/dev-cpp/gtkmm/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome-mm</herd>
+</pkgmetadata>