From: Sergey Torokhov Date: Sun, 15 Mar 2020 17:58:44 +0000 (+0300) Subject: dev-util/codeblocks-17.12-r303: fix crash on paste; fix appdata-deprecated X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=98cd643eb9453b7d80588428d97311d8caf2659a;p=gentoo.git dev-util/codeblocks-17.12-r303: fix crash on paste; fix appdata-deprecated - Fix crash on copy-paste from another applcation using upstream patch https://sourceforge.net/p/codeblocks/code/11320/ from ticket https://sourceforge.net/p/codeblocks/tickets/629/. - Fix HOMEPAGE: from http://www to https:// - Fix installation into /usr/share/appdata that is deprecated Signed-off-by: Sergey Torokhov Closes: https://github.com/gentoo/gentoo/pull/14969 Signed-off-by: Mart Raudsepp --- diff --git a/dev-util/codeblocks/codeblocks-17.12-r303.ebuild b/dev-util/codeblocks/codeblocks-17.12-r303.ebuild new file mode 100644 index 000000000000..3a4c47275908 --- /dev/null +++ b/dev-util/codeblocks/codeblocks-17.12-r303.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +WX_GTK_VER="3.0-gtk3" + +inherit autotools wxwidgets xdg-utils + +DESCRIPTION="The open source, cross platform, free C, C++ and Fortran IDE" +HOMEPAGE="https://codeblocks.org/" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +SRC_URI="mirror://sourceforge/${PN}/${P/-/_}.tar.xz +https://dev.gentoo.org/~leio/distfiles/${P}-fortran.tar.xz +https://dev.gentoo.org/~leio/distfiles/${P}_update_astyle_plugin_to_v3.1.patch.xz" + +# USE="fortran" enables FortranProject plugin (v1.5) +# that is delivered with Code::Blocks 17.12 source code. +# https://sourceforge.net/projects/fortranproject +# http://cbfortran.sourceforge.net + +IUSE="contrib debug fortran pch" + +BDEPEND="virtual/pkgconfig" + +RDEPEND="app-arch/zip + >=dev-libs/tinyxml-2.6.2-r3 + >=dev-util/astyle-3.0.1-r1:0= + x11-libs/wxGTK:${WX_GTK_VER}[X] + contrib? ( + app-admin/gamin + app-text/hunspell + dev-libs/boost:= + )" + +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-fix-crash-on-copypaste.patch + "${FILESDIR}"/${P}-nodebug.diff + "${WORKDIR}"/patches/ + ) + +src_prepare() { + default + if has_version ">=dev-util/astyle-3.1" ; then + eapply "${WORKDIR}"/codeblocks-17.12_update_astyle_plugin_to_v3.1.patch + fi + sed -i "s:appdatadir = \$(datarootdir)/appdata:appdatadir = \$(datarootdir)/metainfo:" Makefile.am || die # bug 709450 + sed -i "s:appdatadir = \$(datarootdir)/appdata:appdatadir = \$(datarootdir)/metainfo:" src/plugins/contrib/appdata/Makefile.am || die # bug 709450 + eautoreconf +} + +src_configure() { + setup-wxwidgets + + # USE="contrib -fortran" setup: + use fortran || CONF_WITH_LST=$(use_with contrib contrib-plugins all,-FortranProject) + # USE="contrib fortran" setup: + use fortran && CONF_WITH_LST=$(use_with contrib contrib-plugins all) + # USE="-contrib fortran" setup: + use contrib || CONF_WITH_LST=$(use_with fortran contrib-plugins FortranProject) + + econf \ + --disable-static \ + $(use_enable debug) \ + $(use_enable pch) \ + ${CONF_WITH_LST} +} + +pkg_postinst() { + elog "The Symbols Browser is disabled due to it causing crashes." + elog "For more information see https://sourceforge.net/p/codeblocks/tickets/225/" + + xdg_desktop_database_update + xdg_icon_cache_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update + xdg_mimeinfo_database_update +} diff --git a/dev-util/codeblocks/files/codeblocks-17.12-fix-crash-on-copypaste.patch b/dev-util/codeblocks/files/codeblocks-17.12-fix-crash-on-copypaste.patch new file mode 100644 index 000000000000..9918c58d8e88 --- /dev/null +++ b/dev-util/codeblocks/files/codeblocks-17.12-fix-crash-on-copypaste.patch @@ -0,0 +1,20 @@ +# Fix crashing on paste of copied text from other applications +# https://sourceforge.net/p/codeblocks/tickets/629/ +diff -Nuar a/main.cpp b/main.cpp +--- a/src/src/main.cpp 2017-11-01 02:32:38.000000000 +0300 ++++ b/src/src/main.cpp 2020-03-13 21:59:25.000000000 +0300 +@@ -4321,7 +4321,13 @@ + } + + if (Manager::Get()->GetEditorManager() && event.GetEditor() == Manager::Get()->GetEditorManager()->GetActiveEditor()) +- DoUpdateStatusBar(); ++ { ++ #if wxCHECK_VERSION(3, 0, 0) ++ CallAfter(&MainFrame::DoUpdateStatusBar); ++ #else ++ DoUpdateStatusBar(); ++ #endif // wxCHECK_VERSION(3, 0, 0) ++ } + + event.Skip(); + }