summaryrefslogtreecommitdiff
path: root/dev-util/codeblocks
diff options
context:
space:
mode:
authorSergey Torokhov <torokhov-s-a@yandex.ru>2025-11-24 00:09:47 +0300
committerSam James <sam@gentoo.org>2025-12-04 11:58:53 +0000
commitf13089d0319cfdbeea87a3bad208a5b28180021b (patch)
treec14b9239556a02d1acacf194f9c7ed44e3792346 /dev-util/codeblocks
parent454cf6efc25f46a5fe14aeada501437420bb188f (diff)
downloadgentoo-f13089d0319cfdbeea87a3bad208a5b28180021b.tar.gz
gentoo-f13089d0319cfdbeea87a3bad208a5b28180021b.tar.bz2
gentoo-f13089d0319cfdbeea87a3bad208a5b28180021b.zip
dev-util/codeblocks: 25.03-r2, fix boost-1.89.0 build
Closes: https://bugs.gentoo.org/964320 Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru> Part-of: https://github.com/gentoo/gentoo/pull/44749 Closes: https://github.com/gentoo/gentoo/pull/44749 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-util/codeblocks')
-rw-r--r--dev-util/codeblocks/codeblocks-25.03-r2.ebuild112
-rw-r--r--dev-util/codeblocks/codeblocks-9999.ebuild2
-rw-r--r--dev-util/codeblocks/files/codeblocks-25.03_fix_boost-1.89.0.patch177
3 files changed, 290 insertions, 1 deletions
diff --git a/dev-util/codeblocks/codeblocks-25.03-r2.ebuild b/dev-util/codeblocks/codeblocks-25.03-r2.ebuild
new file mode 100644
index 000000000000..afeb39a2dbe5
--- /dev/null
+++ b/dev-util/codeblocks/codeblocks-25.03-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+
+inherit autotools flag-o-matic multiprocessing wxwidgets xdg
+
+REV=13518
+REV_DATE="2024-05-05 20:30:28"
+FP_NAME=fortranproject
+FP_REV=378
+
+DESCRIPTION="The open source, cross platform, free C, C++ and Fortran IDE"
+HOMEPAGE="https://www.codeblocks.org/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P/-/_}.tar.xz -> ${P}.tar.xz"
+S="${WORKDIR}/${P/-/_}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE="fortran contrib debug"
+
+BDEPEND="virtual/pkgconfig"
+
+RDEPEND="
+ app-arch/zip
+ dev-libs/glib:2
+ >=dev-libs/tinyxml-2.6.2-r3
+ >=dev-util/astyle-3.1-r2:0=
+ x11-libs/gtk+:3
+ x11-libs/wxGTK:${WX_GTK_VER}=[X]
+ contrib? (
+ app-arch/bzip2
+ app-text/hunspell:=
+ media-libs/fontconfig
+ virtual/zlib:=
+ )
+"
+
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+ contrib? ( dev-libs/boost:= )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}_env.patch"
+ "${FILESDIR}/${PN}-20.03_p13518_FortranProject-r378-autotools-build.patch"
+ "${FILESDIR}/${P}_fix_boost-1.89.0.patch"
+)
+
+src_prepare() {
+ default
+
+ # Let's make the autorevision work.
+ echo "m4_define([SVN_REV], ${REV})" > revision.m4
+ echo "m4_define([SVN_DATE], ${REV_DATE})" >> revision.m4
+
+ eautoreconf
+}
+
+src_configure() {
+ # Bug 858338
+ append-flags -fno-strict-aliasing
+
+ 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)
+
+ local myeconfargs=(
+ --disable-pch
+ --disable-static
+ $(use_with contrib boost-libdir "${ESYSROOT}/usr/$(get_libdir)")
+ $(use_enable debug)
+ ${CONF_WITH_LST}
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ if use contrib; then
+ if (( $(get_makeopts_jobs) > 8 )); then
+ emake -j8 # Bug 930819
+ else
+ emake
+ fi
+ else
+ emake
+ fi
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/dev-util/codeblocks/codeblocks-9999.ebuild b/dev-util/codeblocks/codeblocks-9999.ebuild
index ecdb9d13bf3a..a18c4f458d49 100644
--- a/dev-util/codeblocks/codeblocks-9999.ebuild
+++ b/dev-util/codeblocks/codeblocks-9999.ebuild
@@ -28,7 +28,6 @@ RDEPEND="app-arch/zip
contrib? (
app-arch/bzip2
app-text/hunspell:=
- dev-libs/boost:=
media-libs/fontconfig
virtual/zlib:=
)"
@@ -36,6 +35,7 @@ RDEPEND="app-arch/zip
DEPEND="
${RDEPEND}
x11-base/xorg-proto
+ contrib? ( dev-libs/boost:= )
"
PATCHES=( "${FILESDIR}/${P}-nodebug.diff" )
diff --git a/dev-util/codeblocks/files/codeblocks-25.03_fix_boost-1.89.0.patch b/dev-util/codeblocks/files/codeblocks-25.03_fix_boost-1.89.0.patch
new file mode 100644
index 000000000000..4c07fdc7c3f9
--- /dev/null
+++ b/dev-util/codeblocks/files/codeblocks-25.03_fix_boost-1.89.0.patch
@@ -0,0 +1,177 @@
+The patch fixes build of NassiShneiderman plugin with boost-1.89.0
+and is based on upstream patches:
+https://sourceforge.net/p/codeblocks/code/13752/
+https://sourceforge.net/p/codeblocks/code/13760/
+
+Gentoo issue: https://bugs.gentoo.org/964320
+Upstream issue: https://sourceforge.net/p/codeblocks/tickets/1563/
+
+Index: configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,7 +15,6 @@
+ m4_include([m4/acinclude.m4])
+ m4_include([m4/ax_cxx_compile_stdcxx.m4])
+ m4_include([m4/ax_boost_base.m4])
+-m4_include([m4/ax_boost_system.m4])
+
+ CODEBLOCKS_CHECK_DEBUG
+
+@@ -235,7 +234,6 @@
+ if test "x$BUILD_NASSISHNEIDERMAN_TRUE" = "x" ; then
+ dnl Check whether boost is installed
+ AX_BOOST_BASE
+- AX_BOOST_SYSTEM
+ fi
+
+ CB_GLIB2_CFLAGS="$GLIB2_CFLAGS"
+Index: m4/ax_boost_system.m4
+===================================================================
+--- a/m4/ax_boost_system.m4
++++ b/m4/ax_boost_system.m4
+@@ -1,121 +0,0 @@
+-# ===========================================================================
+-# https://www.gnu.org/software/autoconf-archive/ax_boost_system.html
+-# ===========================================================================
+-#
+-# SYNOPSIS
+-#
+-# AX_BOOST_SYSTEM
+-#
+-# DESCRIPTION
+-#
+-# Test for System library from the Boost C++ libraries. The macro requires
+-# a preceding call to AX_BOOST_BASE. Further documentation is available at
+-# <http://randspringer.de/boost/index.html>.
+-#
+-# This macro calls:
+-#
+-# AC_SUBST(BOOST_SYSTEM_LIB)
+-#
+-# And sets:
+-#
+-# HAVE_BOOST_SYSTEM
+-#
+-# LICENSE
+-#
+-# Copyright (c) 2008 Thomas Porschberg <thomas@randspringer.de>
+-# Copyright (c) 2008 Michael Tindal
+-# Copyright (c) 2008 Daniel Casimiro <dan.casimiro@gmail.com>
+-#
+-# Copying and distribution of this file, with or without modification, are
+-# permitted in any medium without royalty provided the copyright notice
+-# and this notice are preserved. This file is offered as-is, without any
+-# warranty.
+-
+-#serial 19
+-
+-AC_DEFUN([AX_BOOST_SYSTEM],
+-[
+- AC_ARG_WITH([boost-system],
+- AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@],
+- [use the System library from boost - it is possible to specify a certain library for the linker
+- e.g. --with-boost-system=boost_system-gcc-mt ]),
+- [
+- if test "$withval" = "no"; then
+- want_boost="no"
+- elif test "$withval" = "yes"; then
+- want_boost="yes"
+- ax_boost_user_system_lib=""
+- else
+- want_boost="yes"
+- ax_boost_user_system_lib="$withval"
+- fi
+- ],
+- [want_boost="yes"]
+- )
+-
+- if test "x$want_boost" = "xyes"; then
+- AC_REQUIRE([AC_PROG_CC])
+- AC_REQUIRE([AC_CANONICAL_BUILD])
+- CPPFLAGS_SAVED="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+- export CPPFLAGS
+-
+- LDFLAGS_SAVED="$LDFLAGS"
+- LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
+- export LDFLAGS
+-
+- AC_CACHE_CHECK(whether the Boost::System library is available,
+- ax_cv_boost_system,
+- [AC_LANG_PUSH([C++])
+- CXXFLAGS_SAVE=$CXXFLAGS
+- CXXFLAGS=
+-
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/system/error_code.hpp>]],
+- [[boost::system::error_category *a = 0;]])],
+- ax_cv_boost_system=yes, ax_cv_boost_system=no)
+- CXXFLAGS=$CXXFLAGS_SAVE
+- AC_LANG_POP([C++])
+- ])
+- if test "x$ax_cv_boost_system" = "xyes"; then
+- AC_SUBST(BOOST_CPPFLAGS)
+-
+- AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available])
+- BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'`
+-
+- LDFLAGS_SAVE=$LDFLAGS
+- if test "x$ax_boost_user_system_lib" = "x"; then
+- for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do
+- ax_lib=${libextension}
+- AC_CHECK_LIB($ax_lib, exit,
+- [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+- [link_system="no"])
+- done
+- if test "x$link_system" != "xyes"; then
+- for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do
+- ax_lib=${libextension}
+- AC_CHECK_LIB($ax_lib, exit,
+- [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+- [link_system="no"])
+- done
+- fi
+-
+- else
+- for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do
+- AC_CHECK_LIB($ax_lib, exit,
+- [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break],
+- [link_system="no"])
+- done
+-
+- fi
+- if test "x$ax_lib" = "x"; then
+- AC_MSG_ERROR(Could not find a version of the library!)
+- fi
+- if test "x$link_system" = "xno"; then
+- AC_MSG_ERROR(Could not link against $ax_lib !)
+- fi
+- fi
+-
+- CPPFLAGS="$CPPFLAGS_SAVED"
+- LDFLAGS="$LDFLAGS_SAVED"
+- fi
+-])
+Index: src/plugins/contrib/NassiShneiderman/Makefile.am
+===================================================================
+--- a/src/plugins/contrib/NassiShneiderman/Makefile.am
++++ b/src/plugins/contrib/NassiShneiderman/Makefile.am
+@@ -1,8 +1,7 @@
+ AM_CPPFLAGS = $(WX_CXXFLAGS) \
+ -I$(top_srcdir)/src/include \
+ -I$(top_srcdir)/src/sdk/wxscintilla/include \
+- $(BOOST_CPPFLAGS) \
+- -DBOOST_SYSTEM_NO_DEPRECATED
++ $(BOOST_CPPFLAGS)
+
+ pluginlibdir = $(pkglibdir)/plugins
+
+@@ -10,7 +9,7 @@
+
+ libNassiShneiderman_la_LDFLAGS = @MODULE_SHARED_LDFLAGS@ -version-info 0:1:0 -no-undefined -avoid-version
+
+-libNassiShneiderman_la_LIBADD = ../../../sdk/libcodeblocks.la $(WX_LIBS) $(BOOST_LDFLAGS) $(BOOST_SYSTEM_LIB)
++libNassiShneiderman_la_LIBADD = ../../../sdk/libcodeblocks.la $(WX_LIBS)
+
+ libNassiShneiderman_la_SOURCES = bricks.cpp \
+ cbEditorPanel.cpp \