# Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com>

_wx_basever=3.2

_realname=codeblocks
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
_basever=20.03
_revision=13584
pkgver=${_basever}.r${_revision}
pkgrel=1
pkgdesc="Cross-platform C/C++ 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=(
  'archlinux: codeblocks'
)
license=('spdx:GPL-3.0-or-later')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-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=("$_realname::svn+https://svn.code.sf.net/p/codeblocks/code/trunk#revision=$_revision")
sha256sums=('SKIP')

apply_patch_with_msg() {
  for _patch in "$@"
  do
    msg2 "Applying ${_patch}"
    patch -Nbp1 -i "${srcdir}/${_patch}"
  done
}

prepare() {
  cd "${_realname}"

  ./bootstrap
}

build() {
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

  export lt_cv_deplibs_check_method='pass_all'

  CXXFLAGS+=" -Wno-ignored-attributes" \
  ../${_realname}/configure \
    --prefix="${MINGW_PREFIX}" \
    --disable-pch \
    --with-contrib-plugins=all,-Valgrind

  make
}

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}/COPYING \
    "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}
