summaryrefslogtreecommitdiff
path: root/x11-libs
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/wxGTK/Manifest6
-rw-r--r--x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch31
-rw-r--r--x11-libs/wxGTK/files/wxGTK-3.1.3-collision.patch74
-rw-r--r--x11-libs/wxGTK/metadata.xml25
-rw-r--r--x11-libs/wxGTK/wxGTK-3.1.3.ebuild180
5 files changed, 316 insertions, 0 deletions
diff --git a/x11-libs/wxGTK/Manifest b/x11-libs/wxGTK/Manifest
new file mode 100644
index 0000000..7d0484d
--- /dev/null
+++ b/x11-libs/wxGTK/Manifest
@@ -0,0 +1,6 @@
+AUX wxGTK-3.1.3-abi.patch 1335 BLAKE2B b9b9c8aa25769427e5e76612d861e7d87381e9e10347900852c6d407d420fab1d6f324d6c05f140cffb608b7cf278339c7ad22554fe873f771d78375bab02ba4 SHA512 d590bfc4d66c2ccc6504f984c49189e2b068839b88c657b7db06e1a8ad804e031270f5b74bc06c2d5237e988c3e0d72de7acf6a043e06a1a1f54229c2518e14f
+AUX wxGTK-3.1.3-collision.patch 6172 BLAKE2B cf7ba3fc7ed057f3435d9a1397af65bb2e86eb494d92f18ed165c8f8b9c73e18362edaa88af1435b381763b0875d5de94fd8d62a1a16d933e4863d1ca0c30303 SHA512 deda90d94009fc638bffcea1b3cb18c6a9bcbe30fa5911618312e14a3e92afb9f84ae61eea427fd295d032c631320e3cc4a8a324c381c3d941b2c6d29f33277a
+DIST wxWidgets-3.1.3-docs-html.tar.bz2 25068930 BLAKE2B f4b81ddbd682b8e4687f212f1a12593f184eabe5f370b8da99faf07fcf083855d68801eba35966c7103b0e6a454220dab291d9383ce6eeab8cb14899b8092496 SHA512 1f4fb4e665b72fc7947f0ddc88f7f9e164100a016aef509a57e252f4ec3d7a63518c28bed3e9d5e3d8421c7e12bc94a58983649180f629b06150fb8ee49de932
+DIST wxWidgets-3.1.3.tar.bz2 21345268 BLAKE2B 975fb013c5444d398411a9644c4f755f51e685095f47def3749e8bce1bc5eaf24d77275427e8ad0540658326f6b40cb80242aa6ff6c021d9e2bbe1212a664c94 SHA512 d19305c96f1a382ec74549f69d6a7c61ecd0abac383623c308c45f0168c670c15262efc4fb64c14fa9d1fdb3579f19abdb5c8247ead72dc926342e586d7b4532
+EBUILD wxGTK-3.1.3.ebuild 5101 BLAKE2B fe2c1503d8b444a5cfd84bf9d2f1ca76354d8a4cbbdb778d5b163557e45dab3917bc2bcb8e7f934a9a612a8637ac5b071376a4f66f45777c5ba4ea8750065e6e SHA512 5b0f6b0c7d184a68f4f8192370950173e0dc5f4374674b87db024f0521c7bf0d148a06d49aa35c267ff21062fd245a47d4909ff9bc32500236fa73f0b038760d
+MISC metadata.xml 759 BLAKE2B 4bafb6bd1d082eae5773d84fb116779f337e662090c4d01e22296f891114458de4a50f1f10775b61f06f22c6db7d4288c66c0c59836cc362298c23fecef499af SHA512 a7bf3b8cecf7ffba0dbfded9884fb7df3866c1a00c473f9ecb2d3fc1c84c5713dcde949f6acc35ee688741efb2da74fc189ed9c58b24bd2874c7e95908eb1f60
diff --git a/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch b/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch
new file mode 100644
index 0000000..f064da4
--- /dev/null
+++ b/x11-libs/wxGTK/files/wxGTK-3.1.3-abi.patch
@@ -0,0 +1,31 @@
+diff --git c/src/common/appbase.cpp w/src/common/appbase.cpp
+index 186d845..5b5727a 100644
+--- c/src/common/appbase.cpp
++++ w/src/common/appbase.cpp
+@@ -850,6 +850,26 @@ bool wxAppConsoleBase::CheckBuildOptions(const char *optionsSignature,
+ msg.Printf(wxT("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
+ lib.c_str(), progName.c_str(), prog.c_str());
+
++ int l_off = lib.Find("compiler with C++ ABI ");
++ int p_off = prog.Find("compiler with C++ ABI ");
++ if (l_off != wxNOT_FOUND && p_off != wxNOT_FOUND) {
++ int space;
++ space = lib.find(',', l_off + 22);
++ lib.erase(l_off, space - l_off);
++ space = prog.find(',', p_off + 22);
++ prog.erase(p_off, space - p_off);
++ if (lib == prog) {
++ // The only difference is the ABI version, which apparently only
++ // affect obscure cases. We used to warn here, so at least
++ // there was an indication of what's up if there is a problem
++ // due to ABI incompatibilities, but wxLogWarning() can result
++ // in a pop up dialog with some applications, which is just too
++ // intrusive, so just quietly ignore instead.
++ //wxLogWarning(msg.c_str());
++ return false;
++ }
++ }
++
+ wxLogFatalError(msg.c_str());
+
+ // normally wxLogFatalError doesn't return
diff --git a/x11-libs/wxGTK/files/wxGTK-3.1.3-collision.patch b/x11-libs/wxGTK/files/wxGTK-3.1.3-collision.patch
new file mode 100644
index 0000000..add7ff2
--- /dev/null
+++ b/x11-libs/wxGTK/files/wxGTK-3.1.3-collision.patch
@@ -0,0 +1,74 @@
+diff --git a/Makefile.in b/Makefile.in
+index dadc0cd..e128da6 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -13804,10 +13804,10 @@ COND_wxUSE_REGEX_builtin___LIB_REGEX_p = \
+ all: $(__wxregex___depname) $(__wxzlib___depname) $(__wxpng___depname) $(__wxjpeg___depname) $(__wxtiff___depname) $(__wxexpat___depname) $(__wxscintilla___depname) $(__monodll___depname) $(__monolib___depname) $(__basedll___depname) $(__baselib___depname) $(__netdll___depname) $(__netlib___depname) $(__coredll___depname) $(__corelib___depname) $(__advdll___depname) $(__advlib___depname) $(__mediadll___depname) $(__medialib___depname) $(__htmldll___depname) $(__htmllib___depname) $(__webviewdll___depname) $(__webviewlib___depname) $(__qadll___depname) $(__qalib___depname) $(__xmldll___depname) $(__xmllib___depname) $(__xrcdll___depname) $(__xrclib___depname) $(__auidll___depname) $(__auilib___depname) $(__ribbondll___depname) $(__ribbonlib___depname) $(__propgriddll___depname) $(__propgridlib___depname) $(__richtextdll___depname) $(__richtextlib___depname) $(__stcdll___depname) $(__stclib___depname) $(__gldll___depname) $(__gllib___depname) $(__sound_sdl___depname) $(__webkit2_ext___depname) $(__wxrc___depname)
+
+ install: $(__install_wxregex___depname) $(__install_wxzlib___depname) $(__install_wxpng___depname) $(__install_wxjpeg___depname) $(__install_wxtiff___depname) $(__install_wxexpat___depname) $(__install_wxscintilla___depname) $(__install_monodll___depname) $(__install_monolib___depname) $(__install_basedll___depname) $(__install_baselib___depname) $(__install_netdll___depname) $(__install_netlib___depname) $(__install_coredll___depname) $(__install_corelib___depname) $(__install_advdll___depname) $(__install_advlib___depname) $(__install_mediadll___depname) $(__install_medialib___depname) $(__install_htmldll___depname) $(__install_htmllib___depname) $(__install_webviewdll___depname) $(__install_webviewlib___depname) $(__install_qadll___depname) $(__install_qalib___depname) $(__install_xmldll___depname) $(__install_xmllib___depname) $(__install_xrcdll___depname) $(__install_xrclib___depname) $(__install_auidll___depname) $(__install_auilib___depname) $(__install_ribbondll___depname) $(__install_ribbonlib___depname) $(__install_propgriddll___depname) $(__install_propgridlib___depname) $(__install_richtextdll___depname) $(__install_richtextlib___depname) $(__install_stcdll___depname) $(__install_stclib___depname) $(__install_gldll___depname) $(__install_gllib___depname) $(__install_sound_sdl___depname) $(__install_webkit2_ext___depname) $(__install_wxrc___depname) install-wxconfig locale_install locale_msw_install
+- $(INSTALL_DIR) $(DESTDIR)$(datadir)/aclocal
+- (cd $(srcdir) ; $(INSTALL_DATA) wxwin.m4 $(DESTDIR)$(datadir)/aclocal)
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/bakefile/presets
+- (cd $(srcdir)/build/bakefiles/wxpresets/presets ; $(INSTALL_DATA) wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py $(DESTDIR)$(datadir)/bakefile/presets)
++ (cd $(srcdir)/build/bakefiles/wxpresets/presets ; \
++ for i in wx.bkl wx_unix.bkl wx_win32.bkl wx_xrc.bkl wx_presets.py ; do \
++ $(INSTALL_DATA) $$i $(DESTDIR)$(datadir)/bakefile/presets/wx$(WX_RELEASE_NODOT)$${i##wx} ; done)
+ $(DYLIB_RPATH_INSTALL)
+ $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/include/$(TOOLCHAIN_FULLNAME)/wx
+ for f in setup.h $(RCDEFS_H); do \
+@@ -14703,7 +14703,7 @@ install-wxconfig:
+ $(INSTALL_DIR) $(DESTDIR)$(bindir)
+ $(INSTALL_DIR) $(DESTDIR)$(libdir)/wx/config
+ $(INSTALL_PROGRAM) lib/wx/config/$(TOOLCHAIN_FULLNAME) $(DESTDIR)$(libdir)/wx/config
+- (cd $(DESTDIR)$(bindir) && rm -f wx-config && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config)
++ (cd $(DESTDIR)$(bindir) && rm -f wx-config-$(WX_RELEASE) && $(LN_S) $(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE) || cp -p $(DESTDIR)$(libdir)/wx/config/$(TOOLCHAIN_FULLNAME) wx-config-$(WX_RELEASE))
+
+ locale_install:
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale
+@@ -14711,7 +14711,7 @@ locale_install:
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l ; \
+ $(INSTALL_DIR) $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES ; \
+ if test -f $(srcdir)/locale/$$l.mo ; then \
+- $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd.mo ; \
++ $(INSTALL_DATA) $(srcdir)/locale/$$l.mo $(DESTDIR)$(datadir)/locale/$$l/LC_MESSAGES/wxstd$(WX_RELEASE_NODOT).mo ; \
+ fi ; \
+ done
+
+diff --git a/build/bakefiles/wx.bkl b/build/bakefiles/wx.bkl
+index 9c7b419..8e0b2e6 100644
+--- a/build/bakefiles/wx.bkl
++++ b/build/bakefiles/wx.bkl
+@@ -137,7 +137,7 @@
+ <using module="gettext"/>
+ <gettext-catalogs id="locale">
+ <srcdir>$(SRCDIR)/locale</srcdir>
+- <catalog-name>wxstd</catalog-name>
++ <catalog-name>wxstd$(WX_RELEASE_NODOT)</catalog-name>
+ <linguas>
+ ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk
+ zh zh_CN zh_TW
+diff --git a/src/common/translation.cpp b/src/common/translation.cpp
+index 9716294..20d1631 100644
+--- a/src/common/translation.cpp
++++ b/src/common/translation.cpp
+@@ -1521,7 +1521,7 @@ wxArrayString wxTranslations::GetAvailableTranslations(const wxString& domain) c
+
+ bool wxTranslations::AddStdCatalog()
+ {
+- if ( !AddCatalog(wxS("wxstd")) )
++ if ( !AddCatalog(wxS("wxstd" wxSTRINGIZE(wxMAJOR_VERSION) wxSTRINGIZE(wxMINOR_VERSION))) )
+ return false;
+
+ // there may be a catalog with toolkit specific overrides, it is not
+diff --git a/utils/wxrc/Makefile.in b/utils/wxrc/Makefile.in
+index aa56bf0..6eb05ba 100644
+--- a/utils/wxrc/Makefile.in
++++ b/utils/wxrc/Makefile.in
+@@ -119,7 +119,6 @@ distclean: clean
+ @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
+ @COND_USE_XRC_1@ $(INSTALL_PROGRAM) wxrc$(EXEEXT) $(DESTDIR)$(bindir)
+ @COND_USE_XRC_1@ mv -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT) $(DESTDIR)$(bindir)/wxrc-$(WX_RELEASE)
+-@COND_USE_XRC_1@ (cd $(DESTDIR)$(bindir) && $(LN_S) wxrc-$(WX_RELEASE) wxrc$(EXEEXT))
+
+ @COND_USE_XRC_1@uninstall_wxrc:
+ @COND_USE_XRC_1@ rm -f $(DESTDIR)$(bindir)/wxrc$(EXEEXT)
diff --git a/x11-libs/wxGTK/metadata.xml b/x11-libs/wxGTK/metadata.xml
new file mode 100644
index 0000000..aa10f7e
--- /dev/null
+++ b/x11-libs/wxGTK/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>wxwidgets@gentoo.org</email>
+ <description>All modifications to this package must be approved by the wxwidgets herd.</description>
+ </maintainer>
+ <use>
+ <flag name="gstreamer">
+ Enable the wxMediaCtrl class for playing audio and video through
+ gstreamer.
+ </flag>
+ <flag name="sdl">
+ Use Simple Directmedia Layer (<pkg>media-libs/libsdl</pkg>) for
+ audio.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">wxpython</remote-id>
+ </upstream>
+ <slots>
+ <slot name="*">Slots reflect MAJOR.MINOR versions which can
+ be installed in parallel.</slot>
+ </slots>
+</pkgmetadata>
diff --git a/x11-libs/wxGTK/wxGTK-3.1.3.ebuild b/x11-libs/wxGTK/wxGTK-3.1.3.ebuild
new file mode 100644
index 0000000..4d7fe42
--- /dev/null
+++ b/x11-libs/wxGTK/wxGTK-3.1.3.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib-minimal
+
+DESCRIPTION="GTK+ version of wxWidgets, a cross-platform C++ GUI toolkit"
+HOMEPAGE="https://wxwidgets.org/"
+SRC_URI="https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}.tar.bz2
+ doc? ( https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}-docs-html.tar.bz2 )"
+
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE="+X aqua doc debug gstreamer libnotify opengl sdl tiff"
+
+WXSUBVERSION=${PV}.0 # 3.1.3.0
+WXVERSION=${WXSUBVERSION%.*} # 3.1.3
+WXRELEASE=${WXVERSION%.*} # 3.1
+WXRELEASE_NODOT=${WXRELEASE//./} # 31
+
+SLOT="${WXRELEASE}"
+
+RDEPEND="
+ dev-libs/expat[${MULTILIB_USEDEP}]
+ sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
+ X? (
+ >=dev-libs/glib-2.22:2[${MULTILIB_USEDEP}]
+ media-libs/libpng:0=[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ virtual/jpeg:0=[${MULTILIB_USEDEP}]
+ >=x11-libs/gtk+-2.18:2[${MULTILIB_USEDEP}]
+ x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}]
+ x11-libs/libSM[${MULTILIB_USEDEP}]
+ x11-libs/libX11[${MULTILIB_USEDEP}]
+ x11-libs/libXxf86vm[${MULTILIB_USEDEP}]
+ x11-libs/pango[${MULTILIB_USEDEP}]
+ gstreamer? (
+ media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
+ media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] )
+ libnotify? ( x11-libs/libnotify[${MULTILIB_USEDEP}] )
+ opengl? ( virtual/opengl[${MULTILIB_USEDEP}] )
+ tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
+ )
+ aqua? (
+ x11-libs/gtk+:2[aqua=,${MULTILIB_USEDEP}]
+ virtual/jpeg:0=[${MULTILIB_USEDEP}]
+ tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] )
+ )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig[${MULTILIB_USEDEP}]
+ opengl? ( virtual/glu[${MULTILIB_USEDEP}] )
+ X? ( x11-base/xorg-proto )"
+
+PDEPEND=">=app-eselect/eselect-wxwidgets-20131230"
+
+LICENSE="wxWinLL-3 GPL-2 doc? ( wxWinFDL-3 )"
+
+S="${WORKDIR}/wxWidgets-${PV}"
+PATCHES=(
+ "${FILESDIR}"/wxGTK-3.1.3-collision.patch
+ "${FILESDIR}"/wxGTK-3.1.3-abi.patch
+)
+
+src_prepare() {
+ default
+
+ # Versionating
+ sed -i \
+ -e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
+ -e "s:\(WX_RELEASE_NODOT = \).*:\1${WXRELEASE_NODOT}:"\
+ -e "s:\(WX_VERSION = \).*:\1${WXVERSION}:"\
+ -e "s:aclocal):aclocal/wxwin${WXRELEASE_NODOT}.m4):" \
+ -e "s:wxstd.mo:wxstd${WXRELEASE_NODOT}.mo:" \
+ -e "s:wxmsw.mo:wxmsw${WXRELEASE_NODOT}.mo:" \
+ Makefile.in || die
+
+ sed -i \
+ -e "s:\(WX_RELEASE = \).*:\1${WXRELEASE}:"\
+ utils/wxrc/Makefile.in || die
+
+ sed -i \
+ -e "s:\(WX_VERSION=\).*:\1${WXVERSION}:" \
+ -e "s:\(WX_RELEASE=\).*:\1${WXRELEASE}:" \
+ -e "s:\(WX_SUBVERSION=\).*:\1${WXSUBVERSION}:" \
+ -e '/WX_VERSION_TAG=/ s:${WX_RELEASE}:3.1:' \
+ configure || die
+}
+
+multilib_src_configure() {
+ local myconf
+
+ # X independent options
+ myconf="
+ --with-zlib=sys
+ --with-expat=sys
+ --enable-compat28
+ $(use_with sdl)"
+
+ # debug in >=2.9
+ # there is no longer separate debug libraries (gtk2ud)
+ # wxDEBUG_LEVEL=1 is the default and we will leave it enabled
+ # wxDEBUG_LEVEL=2 enables assertions that have expensive runtime costs.
+ # apps can disable these features by building w/ -NDEBUG or wxDEBUG_LEVEL_0.
+ # http://docs.wxwidgets.org/3.0/overview_debugging.html
+ # https://groups.google.com/group/wx-dev/browse_thread/thread/c3c7e78d63d7777f/05dee25410052d9c
+ use debug \
+ && myconf="${myconf} --enable-debug=max"
+
+ # wxGTK options
+ # --enable-graphics_ctx - needed for webkit, editra
+ # --without-gnomevfs - bug #203389
+ use X && \
+ myconf="${myconf}
+ --enable-graphics_ctx
+ --with-gtkprint
+ --enable-gui
+ --with-libpng=sys
+ --with-libxpm=sys
+ --with-libjpeg=sys
+ --without-gnomevfs
+ --disable-webview
+ $(use_enable gstreamer mediactrl)
+ $(use_with libnotify)
+ $(use_with opengl)
+ $(use_with tiff libtiff sys)"
+
+ use aqua && \
+ myconf="${myconf}
+ --enable-graphics_ctx
+ --enable-gui
+ --with-libpng=sys
+ --with-libxpm=sys
+ --with-libjpeg=sys
+ --with-mac
+ --with-opengl"
+ # cocoa toolkit seems to be broken
+
+ # wxBase options
+ if use !X && use !aqua ; then
+ myconf="${myconf}
+ --disable-gui"
+ fi
+
+ ECONF_SOURCE="${S}" econf ${myconf}
+}
+
+multilib_src_install_all() {
+ cd "${S}"/docs || die
+ dodoc changes.txt readme.txt
+ newdoc base/readme.txt base_readme.txt
+ newdoc gtk/readme.txt gtk_readme.txt
+
+ use doc && HTML_DOCS="${WORKDIR}"/wxWidgets-${PV}-docs-html/.
+ einstalldocs
+
+ # Stray windows locale file, causes collisions
+ local wxmsw="${ED}usr/share/locale/it/LC_MESSAGES/wxmsw.mo"
+ [[ -e ${wxmsw} ]] && rm "${wxmsw}"
+
+ # Unversioned links
+ rm -f "${D}"/usr/bin/wx{-config,rc}
+
+ # version bakefile presets
+ pushd "${D}"usr/share/bakefile/presets/ > /dev/null
+ for f in wx*; do
+ mv "${f}" "${f/wx/wx31}"
+ done
+ popd > /dev/null
+}
+
+pkg_postinst() {
+ has_version app-eselect/eselect-wxwidgets \
+ && eselect wxwidgets update
+}
+
+pkg_postrm() {
+ has_version app-eselect/eselect-wxwidgets \
+ && eselect wxwidgets update
+}