Files
MINGW-packages/mingw-w64-codeblocks/PKGBUILD
2025-07-18 00:21:48 +02:00

107 lines
3.3 KiB
Bash

# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>
_wx_basever=3.2
_realname=codeblocks
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=25.03
pkgrel=6
pkgdesc="A free C, C++ and Fortran IDE (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://www.codeblocks.org/'
msys2_repository_url="https://sourceforge.net/p/codeblocks/code/HEAD/tree/trunk/"
msys2_references=(
'anitya: 313'
'archlinux: codeblocks'
'cpe: cpe:/a:codeblocks:code%3a%3ablocks'
)
license=('spdx:GPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs"
"${MINGW_PACKAGE_PREFIX}-drmingw"
"${MINGW_PACKAGE_PREFIX}-hunspell"
"${MINGW_PACKAGE_PREFIX}-tinyxml"
"${MINGW_PACKAGE_PREFIX}-wxwidgets${_wx_basever}-msw-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-autotools"
"${MINGW_PACKAGE_PREFIX}-wxwidgets${_wx_basever}-msw"
"${MINGW_PACKAGE_PREFIX}-wxwidgets${_wx_basever}-msw-cb_headers"
"${MINGW_PACKAGE_PREFIX}-boost"
"zip"
"subversion")
optdepends=("${MINGW_PACKAGE_PREFIX}-clang-tools-extra: needed by Clangd_Client plugin")
source=("https://downloads.sourceforge.net/project/codeblocks/Sources/${pkgver}/${_realname}_${pkgver}.tar.xz"
'001-build-codeblocks-as-gui-app.patch'
'201-Build-Fix-compilation-with-MSYS2-GCC-15.1.patch')
sha256sums=('b0f6aa5908d336d7f41f9576b2418ac7d27efbc59282aa8c9171d88cea74049e'
'a7a73736c3cbdd92a5a498993c55ebe44e482ac7625f723e95a5e322da54bb6e'
'def05b152e3a79db04135a9b23ddfd3373dcf813254eaeca7a21c0989dc7bf1a')
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying ${_patch}"
patch -Nbp1 -i "${srcdir}/${_patch}"
done
}
prepare() {
cd "${_realname}_${pkgver}"
apply_patch_with_msg \
001-build-codeblocks-as-gui-app.patch \
201-Build-Fix-compilation-with-MSYS2-GCC-15.1.patch
./bootstrap
}
build() {
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
export lt_cv_deplibs_check_method='pass_all'
CXXFLAGS+=" -Wno-ignored-attributes" \
../${_realname}_${pkgver}/configure \
--prefix="${MINGW_PREFIX}" \
--disable-pch \
--with-contrib-plugins=all,-Valgrind
make
cp -R ${srcdir}/${_realname}_${pkgver}/src/tools/cbp2make/ "${srcdir}"/build-${MSYSTEM}/
cd "${srcdir}"/build-${MSYSTEM}/cbp2make
if check_option "debug" "n"; then
make CC=${CC} CXX=${CXX} LD=${CXX} --jobs=1 -f cbp2make.cbp.mak.unix release
else
make CC=${CC} CXX=${CXX} LD=${CXX} --jobs=1 -f cbp2make.cbp.mak.unix debug
fi
}
check() {
cd "${srcdir}/build-${MSYSTEM}"
make check
}
package() {
cd "${srcdir}/build-${MSYSTEM}"
make install DESTDIR="${pkgdir}"
mv "${pkgdir}"${MINGW_PREFIX}/lib/codeblocks/bin/*.dll "${pkgdir}"${MINGW_PREFIX}/bin
# Remove unneeded import libraries
rm "${pkgdir}"${MINGW_PREFIX}/lib/codeblocks/plugins/*.dll.a
install -Dm644 "${srcdir}"/${_realname}_${pkgver}/COPYING \
"${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
cd "${srcdir}"/build-${MSYSTEM}/cbp2make
mkdir -p "${pkgdir}${MINGW_PREFIX}/bin/"
if check_option "debug" "n"; then
cp bin/Release/cbp2make.exe "${pkgdir}${MINGW_PREFIX}/bin/"
else
cp bin/Debug/cbp2make.exe "${pkgdir}${MINGW_PREFIX}/bin/"
fi
}