summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorband-a-prend <torokhov-s-a@yandex.ru>2020-10-14 18:29:49 +0300
committerSergei Trofimovich <slyfox@gentoo.org>2020-10-14 19:35:08 +0100
commit56d8bafba4d7c3431ebcbd05492f0b16b5ce8001 (patch)
treed6a4b576bdf0b14f3feb03b8d453ee3df479b0b2
parentdev-libs/gumbo: ppc64 keyworded (bug #748558) (diff)
downloadgentoo-56d8bafb.tar.gz
gentoo-56d8bafb.tar.bz2
gentoo-56d8bafb.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>
-rw-r--r--dev-util/codeblocks/codeblocks-17.12-r304.ebuild83
-rw-r--r--dev-util/codeblocks/codeblocks-20.03-r2.ebuild77
-rw-r--r--dev-util/codeblocks/files/codeblocks-20.03_gcc11_compatibility.patch12
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;