diff options
author | band-a-prend <torokhov-s-a@yandex.ru> | 2020-10-14 18:29:49 +0300 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-10-14 19:35:08 +0100 |
commit | 56d8bafba4d7c3431ebcbd05492f0b16b5ce8001 (patch) | |
tree | d6a4b576bdf0b14f3feb03b8d453ee3df479b0b2 /dev-util/codeblocks | |
parent | dev-libs/gumbo: ppc64 keyworded (bug #748558) (diff) | |
download | gentoo-56d8bafba4d7c3431ebcbd05492f0b16b5ce8001.tar.gz gentoo-56d8bafba4d7c3431ebcbd05492f0b16b5ce8001.tar.bz2 gentoo-56d8bafba4d7c3431ebcbd05492f0b16b5ce8001.zip |
dev-util/codeblocks: fix gcc-11 compatibility
The GCC 11 now enforces that comparison objects be invocable as const.
Current patch to fix gcc-11 compatibility is proposed by
Sergei Trofimovich <slyfox@gentoo.org>
and fix codeblocks "openfileslist" pligin compilation error.
Patch was sent to upstream :
https://sourceforge.net/p/codeblocks/tickets/1022/
so live-ebuild currently doesn't apply it.
Closes: https://bugs.gentoo.org/732818
Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
Closes: https://github.com/gentoo/gentoo/pull/17928
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-util/codeblocks')
3 files changed, 172 insertions, 0 deletions
diff --git a/dev-util/codeblocks/codeblocks-17.12-r304.ebuild b/dev-util/codeblocks/codeblocks-17.12-r304.ebuild new file mode 100644 index 000000000000..88841742c92f --- /dev/null +++ b/dev-util/codeblocks/codeblocks-17.12-r304.ebuild @@ -0,0 +1,83 @@ +# 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 + +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 +# https://cbfortran.sourceforge.io + +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 + "${FILESDIR}"/${PN}-20.03_gcc11_compatibility.patch + "${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_pkg_postinst +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/dev-util/codeblocks/codeblocks-20.03-r2.ebuild b/dev-util/codeblocks/codeblocks-20.03-r2.ebuild new file mode 100644 index 000000000000..16fbd94b7720 --- /dev/null +++ b/dev-util/codeblocks/codeblocks-20.03-r2.ebuild @@ -0,0 +1,77 @@ +# 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 + +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}-fortran-update-v1.7.tar.xz" + +# USE="fortran" enables FortranProject plugin (updated to v1.7 2020-06-07 [r298]) +# that is delivered with Code::Blocks 20.03 source code. +# https://sourceforge.net/projects/fortranproject +# https://cbfortran.sourceforge.io + +IUSE="contrib debug fortran pch" + +BDEPEND="virtual/pkgconfig" + +RDEPEND="app-arch/zip + >=dev-libs/tinyxml-2.6.2-r3 + >=dev-util/astyle-3.1-r2:0/3.1 + x11-libs/wxGTK:${WX_GTK_VER}[X] + contrib? ( + app-admin/gamin + app-text/hunspell + dev-libs/boost:= + )" + +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-env.patch + "${FILESDIR}"/${P}_gcc11_compatibility.patch + "${WORKDIR}"/patches/ + ) + +src_prepare() { + default + 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_pkg_postinst +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/dev-util/codeblocks/files/codeblocks-20.03_gcc11_compatibility.patch b/dev-util/codeblocks/files/codeblocks-20.03_gcc11_compatibility.patch new file mode 100644 index 000000000000..46c8643e9c94 --- /dev/null +++ b/dev-util/codeblocks/files/codeblocks-20.03_gcc11_compatibility.patch @@ -0,0 +1,12 @@ +diff -Naur a/src/plugins/openfileslist/openfileslistplugin.h b/src/plugins/openfileslist/openfileslistplugin.h +--- a/src/plugins/openfileslist/openfileslistplugin.h 2020-10-13 20:35:57.000000000 +0300 ++++ b/src/plugins/openfileslist/openfileslistplugin.h 2020-10-13 20:37:37.000000000 +0300 +@@ -23,7 +23,7 @@ + // Functor for the std::set predicate to sort the opened editor files according to their tab order + struct compareLess + { +- bool operator()(const ProjectFile* lhs, const ProjectFile* rhs) { return lhs->editorTabPos < rhs->editorTabPos; } ++ bool operator()(const ProjectFile* lhs, const ProjectFile* rhs) const { return lhs->editorTabPos < rhs->editorTabPos; } + }; + typedef std::set<ProjectFile*, compareLess> OpenFilesSet; + ProjectFile* activeFile; |