Files
haikuports/dev-util/codeblocks/codeblocks-25.03.recipe
Schrijvers Luc 4ce2e97b9c codeblocks, bump to 25.03, leave disabled (#13088)
No crashes so far, plugins are loaded, but not release ready
2025-10-22 11:34:14 +02:00

181 lines
5.9 KiB
Bash

SUMMARY="A open source, cross platform, free C, C++ and Fortran IDE"
DESCRIPTION="Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding \
needs of its users. It is designed to be very extensible and fully configurable. \
Finally, an IDE with all the features you need, having a consistent look, feel \
and operation across platforms. \
Built around a plugin framework, Code::Blocks can be extended with plugins. \
Any kind of functionality can be added by installing/coding a plugin. \
For instance, compiling and debugging functionality is already provided by plugins!"
HOMEPAGE="https://codeblocks.org"
COPYRIGHT="2004-2025, The Code::Blocks Team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://sourceforge.net/projects/codeblocks/files/Sources/$portVersion/codeblocks_$portVersion.tar.xz"
CHECKSUM_SHA256="b0f6aa5908d336d7f41f9576b2418ac7d27efbc59282aa8c9171d88cea74049e"
SOURCE_DIR="codeblocks_$portVersion"
PATCHES="codeblocks-$portVersion.patchset"
ADDITIONAL_FILES="codeblocks.rdef.in"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
libVersion="0.0.1"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
codeblocks$secondaryArchSuffix = $portVersion
app:CodeBlocks = $portVersion
cmd:cb_console_runner$secondaryArchSuffix = $portVersion
cmd:cb_share_config$secondaryArchSuffix = $portVersion
lib:libcodeblocks$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libatk_1.0$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libgdk_3$secondaryArchSuffix
lib:libgdk_pixbuf_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libharfbuzz$secondaryArchSuffix
lib:libpango_1.0$secondaryArchSuffix
lib:libpangocairo_1.0$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libQt5Concurrent$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Designer$secondaryArchSuffix
lib:libQt5DesignerComponents$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Help$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5PrintSupport$secondaryArchSuffix
lib:libQt5Qml$secondaryArchSuffix
lib:libQt5Quick$secondaryArchSuffix
lib:libQt5QuickWidgets$secondaryArchSuffix
lib:libQt5Script$secondaryArchSuffix
lib:libQt5Sql$secondaryArchSuffix
lib:libQt5Svg$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libtinyxml$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libwx_baseu_3.2$secondaryArchSuffix
lib:libwx_baseu_net_3.2$secondaryArchSuffix
lib:libwx_baseu_xml_3.2$secondaryArchSuffix
lib:libwx_gtk3u_adv_3.2$secondaryArchSuffix
lib:libwx_gtk3u_aui_3.2$secondaryArchSuffix
lib:libwx_gtk3u_core_3.2$secondaryArchSuffix
lib:libwx_gtk3u_core_3.2$secondaryArchSuffix
lib:libwx_gtk3u_media_3.2$secondaryArchSuffix
lib:libwx_gtk3u_propgrid_3.2$secondaryArchSuffix
lib:libwx_gtk3u_qa_3.2$secondaryArchSuffix
lib:libwx_gtk3u_ribbon_3.2$secondaryArchSuffix
lib:libwx_gtk3u_richtext_3.2$secondaryArchSuffix
lib:libwx_gtk3u_stc_3.2$secondaryArchSuffix
lib:libwx_gtk3u_xrc_3.2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
codeblocks${secondaryArchSuffix}_devel = $portVersion
devel:libcodeblocks$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
codeblocks$secondaryArchSuffix == $portVersion base
devel:libcodeblocks$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
wxgtk${secondaryArchSuffix}_devel
devel:libcairo$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:libQt5Concurrent$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Designer$secondaryArchSuffix
devel:libQt5DesignerComponents$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Help$secondaryArchSuffix
devel:libQt5Network$secondaryArchSuffix
devel:libQt5PrintSupport$secondaryArchSuffix
devel:libQt5Qml$secondaryArchSuffix
devel:libQt5Quick$secondaryArchSuffix
devel:libQt5QuickWidgets$secondaryArchSuffix
devel:libQt5Script$secondaryArchSuffix
devel:libQt5Sql$secondaryArchSuffix
devel:libQt5Svg$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libQt5Xml$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libtinyxml$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoreconf
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
# cmd:m4
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:zip
"
BUILD()
{
export LDFLAGS="-lnetwork -lbsd"
autoreconf -vfi
runConfigure ./configure \
--enable-debugger=yes \
--enable-pch=no \
--with-gnu-ld=yes \
--with-contrib-plugins="-DoxyBlocks,-keybinder,-dragscroll,-FileManager,-NassiShneiderman,-spellchecker,-wxsmith,-wxsmithcontrib,-wxcontrib,-wxsmithaui"
make $jobArgs
}
INSTALL()
{
make install
mkdir -p $appsDir
mv $prefix/bin/codeblocks $appsDir/CodeBlocks
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local APP_NAME="CodeBlocks"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.codeblocks"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/codeblocks.rdef.in > codeblocks.rdef
addResourcesToBinaries codeblocks.rdef $appsDir/CodeBlocks
addAppDeskbarSymlink $appsDir/CodeBlocks "Code::Blocks"
rm -rf $libDir/*.la
rm -rf $libDir/codeblocks/plugins/*.la
prepareInstalledDevelLib libcodeblocks
fixPkgconfig
packageEntries devel \
$developDir
}