From e16e67f0678b264a04e96954a4593ddac3a9a32d Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Thu, 4 Jan 2018 05:44:12 +0200 Subject: x11-libs/wxGTK: Apply patchset for lots of 3.0 branch fixes and webkit-gtk:4 port Includes 105 patches taken from WX_3_0_BRANCH, plus one from master only that we need to not litter DT_NEEDED with wxWebView library without --as-needed (it was part of squashed wxGTK-3.0.2.0-webview-fixes.patch before). Also includes my patch to install wx/evtloopsrc.h in core-only builds. Most notably the patchset adds support for webkit2gtk API (as provided by security safe net-libs/webkit-gtk:4), and lots of gtk3 port fixes, hopefully making 3.0-gtk3 SLOT good enough for mass transition without problematic runtime regressions. The patchset touches lines right above the first Makefile.in changes in the collision patch, so that patch needed to be adjusted to not fail on top of the patchset. Ideally the collision patch would be revised and moved to the same approach as 3.0-gtk3 has with seds - or vice-versa, but at least same approach.. Compiling amule[-X] and veracrypt[-X] against wxGTK[-X] is untested; please test and close the relevant bugs (617440 and 605018) if this is fixed now. Bug: https://bugs.gentoo.org/629122 Bug: https://bugs.gentoo.org/617440 Bug: https://bugs.gentoo.org/605018 Package-Manager: Portage-2.3.19, Repoman-2.3.6 --- x11-libs/wxGTK/Manifest | 1 + x11-libs/wxGTK/files/wxGTK-3.0.3-collision.patch | 75 ++++++++++++++++++++++++ x11-libs/wxGTK/wxGTK-3.0.3-r300.ebuild | 4 +- x11-libs/wxGTK/wxGTK-3.0.3.ebuild | 4 +- 4 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 x11-libs/wxGTK/files/wxGTK-3.0.3-collision.patch diff --git a/x11-libs/wxGTK/Manifest b/x11-libs/wxGTK/Manifest index 7606e383beeb..3a43537a17dc 100644 --- a/x11-libs/wxGTK/Manifest +++ b/x11-libs/wxGTK/Manifest @@ -1,3 +1,4 @@ +DIST wxGTK-3.0.3_p20180104.tar.xz 84260 BLAKE2B 3840a4a202778b3e7df0c3470945dd8f083b1b18aa69013ae59975b368cec4f5e9fea3bdd8a05a200fcd146c8616d2258f0b2ee389a6457a638201a8534f9a18 SHA512 840c8248d5a689a462d1dcb9d9962dd453473597d10289802728218a881808f594ff799d2002ceb319d2e79b1b7063d59b181d4a0efff7920a2dee9653b40a72 DIST wxPython-docs-3.0.2.0.tar.bz2 21455056 BLAKE2B 9b6bea6426663b3457764000c3c91a9bdfa85f7e95cae345eb0ba32c3edf59f010738459123423ad68487eadde221dbc3576903b669b9aa674e052b690079de7 SHA512 ce4407de4cdf9a3eaa5c64a8a959a0d7010d0d814a710de1ac0ed2a716ea2ee4f4ba34199e271a3e9b7790780294fcadfcd8bc65fead182d4ebe533c35c4d78e DIST wxPython-src-2.8.12.1.tar.bz2 31311482 BLAKE2B 33b3feb5f1182948badcd5695b35a68c673e36694a2db8c77b0b031b185c94c9f8bcf4753d9cbf8937e99a72f4c393d6f79850ed3d730af20a7263b97c620386 SHA512 4f826ccb57d5f4fc03fe7cae67499be70c727a99aebf9d153ea1060a21641642606d44d079ba897c38b176846336aeaebc21d30d5c7a0abec3934d65cf4529f3 DIST wxPython-src-3.0.2.0.tar.bz2 58304944 BLAKE2B 1144acf2cfa0a18aa2f90aabe81aaeca54d3fe6139818267dbc031accbae38035478a64ec084fe8bb8b89126fb70ff96e68981026df8ad3fc82e81c6d0e22d1a SHA512 a3798e89ff19344253aac7d771971e519f7fa9723e82bd97e98f16fd7f1572e513170b02295b872dae0b1ae3fa95efc4ef34d078045b839694b4fdad3a27c9e4 diff --git a/x11-libs/wxGTK/files/wxGTK-3.0.3-collision.patch b/x11-libs/wxGTK/files/wxGTK-3.0.3-collision.patch new file mode 100644 index 000000000000..3459e8dc75d8 --- /dev/null +++ b/x11-libs/wxGTK/files/wxGTK-3.0.3-collision.patch @@ -0,0 +1,75 @@ +Prevent file collisions between multiple installed SLOTs. + + - Don't install wxwin.m4. It is installed with app-eselect/eselect-wxwidgets. + - Version the bakefile preset filenames. Unversioned symlinks to these files + are handled by eselect. + - Version wx-config and wxrc. The unversioned forms are wrapper scripts + installed with eselect-wxwidgets. + - Version wxstd.mo and modify AddStdCatalog to use it. + +--- a/Makefile.in ++++ b/Makefile.in +@@ -15213,10 +15213,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) $(__cocoa_res___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 $(__cocoa_res_install___depname) +- $(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 \ +@@ -16101,7 +16101,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 +@@ -16109,7 +16109,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 + +--- a/build/bakefiles/wx.bkl ++++ b/build/bakefiles/wx.bkl +@@ -137,7 +137,7 @@ + + + $(SRCDIR)/locale +- wxstd ++ wxstd$(WX_RELEASE_NODOT) + + ca cs da de el es fi fr hu id it ja nl pl ru sl sv tr uk + zh zh_CN zh_TW +--- a/src/common/translation.cpp ++++ b/src/common/translation.cpp +@@ -1458,7 +1458,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 +--- a/utils/wxrc/Makefile.in ++++ b/utils/wxrc/Makefile.in +@@ -125,7 +125,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/wxGTK-3.0.3-r300.ebuild b/x11-libs/wxGTK/wxGTK-3.0.3-r300.ebuild index 0c69eb6d8c12..2a61e20e6702 100644 --- a/x11-libs/wxGTK/wxGTK-3.0.3-r300.ebuild +++ b/x11-libs/wxGTK/wxGTK-3.0.3-r300.ebuild @@ -8,6 +8,7 @@ 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 + https://dev.gentoo.org/~leio/distfiles/wxGTK-3.0.3_p20180104.tar.xz doc? ( https://github.com/wxWidgets/wxWidgets/releases/download/v${PV}/wxWidgets-${PV}-docs-html.tar.bz2 )" KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" @@ -41,7 +42,7 @@ RDEPEND=" libnotify? ( x11-libs/libnotify[${MULTILIB_USEDEP}] ) opengl? ( virtual/opengl[${MULTILIB_USEDEP}] ) tiff? ( media-libs/tiff:0[${MULTILIB_USEDEP}] ) - webkit? ( net-libs/webkit-gtk:3 ) + webkit? ( net-libs/webkit-gtk:4 ) ) aqua? ( x11-libs/gtk+:3[aqua=,${MULTILIB_USEDEP}] @@ -65,6 +66,7 @@ LICENSE="wxWinLL-3 GPL-2 doc? ( wxWinFDL-3 )" S="${WORKDIR}/wxWidgets-${PV}" PATCHES=( + "${WORKDIR}"/wxGTK-3.0.3_p20180104/ "${FILESDIR}"/wxGTK-${SLOT}-translation-domain.patch ) diff --git a/x11-libs/wxGTK/wxGTK-3.0.3.ebuild b/x11-libs/wxGTK/wxGTK-3.0.3.ebuild index 316720cf4958..e49514911b55 100644 --- a/x11-libs/wxGTK/wxGTK-3.0.3.ebuild +++ b/x11-libs/wxGTK/wxGTK-3.0.3.ebuild @@ -8,6 +8,7 @@ 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 + https://dev.gentoo.org/~leio/distfiles/wxGTK-3.0.3_p20180104.tar.xz 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 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" @@ -56,7 +57,8 @@ LICENSE="wxWinLL-3 GPL-2 doc? ( wxWinFDL-3 )" S="${WORKDIR}/wxWidgets-${PV}" PATCHES=( - "${FILESDIR}"/${PN}-3.0.0.0-collision.patch + "${WORKDIR}"/wxGTK-3.0.3_p20180104/ + "${FILESDIR}"/${PN}-3.0.3-collision.patch ) multilib_src_configure() { -- cgit v1.2.3