# Contributor: Mehdi Chinoune _realname=dcmtk pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=3.7.0 pkgrel=2 pkgdesc="A collection of libraries and applications implementing large parts of the DICOM standard (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') url='http://dicom.offis.de/dcmtk' msys2_repository_url="https://git.dcmtk.org/?p=dcmtk.git" msys2_references=( "cpe: cpe:/a:offis:dcmtk" ) license=('spdx:BSD-3-Clause') depends=("${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-libsndfile" "${MINGW_PACKAGE_PREFIX}-libtiff" "${MINGW_PACKAGE_PREFIX}-libxml2" "${MINGW_PACKAGE_PREFIX}-openjpeg2" "${MINGW_PACKAGE_PREFIX}-openssl" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-icu" "${MINGW_PACKAGE_PREFIX}-libiconv") optdepends=("${MINGW_PACKAGE_PREFIX}-icu" "${MINGW_PACKAGE_PREFIX}-libiconv") source=("https://dicom.offis.de/download/dcmtk/dcmtk${pkgver//./}/${_realname}-${pkgver}.tar.gz" "001-fix-cmake-config-install-destination.patch" "002-properly-detect-canonical-host.patch" "003-fix-non-MINGW64.patch") sha256sums=('f103df876040a4f904f01d2464f7868b4feb659d8cd3f46a5f1f61aa440be415' 'ff124b6f26c5a5982268597c6285e2e320a248a090046b45618e79cb8a6fc099' 'b9cd641267f9aeb055608f045cc91ad5b99b071897aa849ed3282aa03b5ae925' '73099892c2d89cdf11b6496d20c7859c6f7cbe43beb8148ca3dab964a7e00c38') apply_patch_with_msg() { for _patch in "$@" do msg2 "Applying ${_patch}" patch -Nbp1 -i "${srcdir}/${_patch}" done } prepare() { cd "${srcdir}"/${_realname}-${pkgver} apply_patch_with_msg \ 001-fix-cmake-config-install-destination.patch \ 002-properly-detect-canonical-host.patch if [[ "${MSYSTEM}" != "MINGW64" ]] then msg2 "Reversing 003-fix-non-MINGW64.patch" patch -Nbp1 --reverse -i "${srcdir}/003-fix-non-MINGW64.patch" fi } build() { mkdir -p "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM} declare -a extra_config if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") else extra_config+=("-DCMAKE_BUILD_TYPE=Debug") fi MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ "${MINGW_PREFIX}"/bin/cmake.exe \ -GNinja \ -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=ON \ -DDCMTK_WITH_ICONV=ON \ -DDCMTK_WITH_ICU=ON \ -DDCMTK_WITH_LIBPNG=ON \ -DDCMTK_WITH_LIBXML=ON \ -DDCMTK_WITH_OPENJPEG=ON \ -DDCMTK_WITH_OPENSSL=ON \ -DDCMTK_WITH_SNDFILE=ON \ -DDCMTK_WITH_TIFF=ON \ -DDCMTK_WITH_ZLIB=ON \ ../${_realname}-${pkgver} "${MINGW_PREFIX}"/bin/cmake.exe --build . } check() { cd "${srcdir}/build-${MSYSTEM}" "${MINGW_PREFIX}"/bin/ctest.exe } package() { cd "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" "${MINGW_PREFIX}"/bin/cmake.exe --install . local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) # Fix pkgconfig file sed -e "s|${PREFIX_WIN}|\"\$\{prefix\}\"|g" -i "${pkgdir}"${MINGW_PREFIX}/lib/pkgconfig/dcmtk.pc # Fix cmake-config files find "${pkgdir}${MINGW_PREFIX}/lib/cmake" -type f -name '*.cmake' \ -exec sed -i -e "s|${PREFIX_WIN}|\$\{_IMPORT_PREFIX\}|g" {} \; install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYRIGHT" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" }