commit:     f13089d0319cfdbeea87a3bad208a5b28180021b
Author:     Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
AuthorDate: Sun Nov 23 21:09:47 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec  4 11:58:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f13089d0

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 <AT> 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 <AT> gentoo.org>

 ...ocks-9999.ebuild => codeblocks-25.03-r2.ebuild} |  51 ++++--
 dev-util/codeblocks/codeblocks-9999.ebuild         |   2 +-
 .../files/codeblocks-25.03_fix_boost-1.89.0.patch  | 177 +++++++++++++++++++++
 3 files changed, 212 insertions(+), 18 deletions(-)

diff --git a/dev-util/codeblocks/codeblocks-9999.ebuild 
b/dev-util/codeblocks/codeblocks-25.03-r2.ebuild
similarity index 55%
copy from dev-util/codeblocks/codeblocks-9999.ebuild
copy to dev-util/codeblocks/codeblocks-25.03-r2.ebuild
index ecdb9d13bf3a..afeb39a2dbe5 100644
--- a/dev-util/codeblocks/codeblocks-9999.ebuild
+++ b/dev-util/codeblocks/codeblocks-25.03-r2.ebuild
@@ -5,21 +5,28 @@ EAPI=8
 
 WX_GTK_VER="3.2-gtk3"
 
-inherit autotools flag-o-matic multiprocessing subversion wxwidgets xdg
+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"
-ESVN_REPO_URI="svn://svn.code.sf.net/p/${PN}/code/trunk"
-ESVN_FETCH_CMD="svn checkout --ignore-externals"
-ESVN_UPDATE_CMD="svn update --ignore-externals"
+KEYWORDS="~amd64 ~ppc ~x86"
 
-IUSE="contrib debug"
+IUSE="fortran contrib debug"
 
 BDEPEND="virtual/pkgconfig"
 
-RDEPEND="app-arch/zip
+RDEPEND="
+       app-arch/zip
        dev-libs/glib:2
        >=dev-libs/tinyxml-2.6.2-r3
        >=dev-util/astyle-3.1-r2:0=
@@ -28,42 +35,52 @@ RDEPEND="app-arch/zip
        contrib? (
                app-arch/bzip2
                app-text/hunspell:=
-               dev-libs/boost:=
                media-libs/fontconfig
                virtual/zlib:=
-       )"
+       )
+"
 
 DEPEND="
        ${RDEPEND}
        x11-base/xorg-proto
+       contrib? ( dev-libs/boost:= )
 "
 
-PATCHES=( "${FILESDIR}/${P}-nodebug.diff" )
+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.
-       subversion_wc_info
-       CB_LCD=$(LC_ALL=C svn info "${ESVN_WC_PATH}" | grep "^Last Changed 
Date:" | cut -d" " -f4,5)
-       echo "m4_define([SVN_REV], ${ESVN_WC_REVISION})" > revision.m4
-       echo "m4_define([SVN_DATE], ${CB_LCD})" >> revision.m4
+       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
-       # Upstream issue: https://sourceforge.net/p/codeblocks/tickets/1512
-       append-cxxflags -std=c++17
 
        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_enable debug)
                $(use_with contrib boost-libdir "${ESYSROOT}/usr/$(get_libdir)")
-               $(use_with contrib contrib-plugins all)
+               $(use_enable debug)
+               ${CONF_WITH_LST}
        )
 
        econf "${myeconfargs[@]}"

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 <[email protected]>
+-#   Copyright (c) 2008 Michael Tindal
+-#   Copyright (c) 2008 Daniel Casimiro <[email protected]>
+-#
+-#   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 \

Reply via email to