blob: 015ac9095627915578a2bdb20bc4046da0211d46 [file] [log] [blame]
# Maintainer: Mario Emmenlauer <memmenlauer@biodataanalysis.de>
_realname=gdcm
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.0.8
pkgrel=3
pkgdesc="The Grassroots DICOM library (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
url="https://gdcm.sourceforge.io/wiki/index.php"
license=("BSD")
depends=("${MINGW_PACKAGE_PREFIX}-expat"
"${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-lcms2"
"${MINGW_PACKAGE_PREFIX}-libxml2"
"${MINGW_PACKAGE_PREFIX}-libxslt"
"${MINGW_PACKAGE_PREFIX}-json-c"
#"${MINGW_PACKAGE_PREFIX}-openjpeg2"
"${MINGW_PACKAGE_PREFIX}-openssl"
"${MINGW_PACKAGE_PREFIX}-poppler"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-docbook-xsl"
"${MINGW_PACKAGE_PREFIX}-ninja")
options=('staticlibs' 'strip')
source=(#"https://downloads.sourceforge.net/project/gdcm/gdcm%202.x/GDCM%20${pkgver}/gdcm-${pkgver}.tar.bz2"
gdcm-${pkgver}.tar.gz::https://github.com/malaterre/GDCM/archive/v${pkgver}.tar.gz
0002-cmake-config-destination.patch
0004-fix-find-openssl.patch
0005-fix-cross-initializing.patch
0006-openjpeg2-visibility.patch
0007-getopt-global-var.patch
0008-cmake-use-mingw-getopt.patch)
sha256sums=('47b96be345b1611784f9e65fc39367c7450c9a1ef81c21f8acddfb6207098315'
'94e68cbc4d7582e4cc90dccb6762a4c46c3c4b191ee54aa53a79449650e6ccd6'
'77645101ea8425c601fb0717630b334c8a4ced3ea7f3625c11d338c56529e5fb'
'018b083e74091776afaef9894fcb1c7554b36828f162bc4c9b2ea2a6b154b159'
'008635edc8c200b2adf8adf33c3439d39706e9b7ed0e644d7d0ebe18d9a020eb'
'ed9c4020bd39cadf4d78c72aa4be5afaf3d0a743406e8bee6c5936299e5d1d33'
'85fd9a6a52ec8d6f756022b94545707f1bda1661bf82e2a7d3132ccf85b1ea86')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"
patch -p1 -i ${srcdir}/0002-cmake-config-destination.patch
patch -p1 -i ${srcdir}/0004-fix-find-openssl.patch
patch -p1 -i ${srcdir}/0005-fix-cross-initializing.patch
patch -p1 -i ${srcdir}/0006-openjpeg2-visibility.patch
patch -p1 -i ${srcdir}/0007-getopt-global-var.patch
#https://github.com/malaterre/GDCM/pull/124
patch -p1 -i ${srcdir}/0008-cmake-use-mingw-getopt.patch
}
build() {
echo "==> Build static version"
[[ -d "${srcdir}/build-static-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-static-${MINGW_CHOST}"
mkdir -p "${srcdir}/build-static-${MINGW_CHOST}" && cd "${srcdir}/build-static-${MINGW_CHOST}"
CXXFLAGS+=" -Wno-ignored-attributes" \
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_PREFIX_PATH="${MINGW_PREFIX}" \
-DGDCM_BUILD_SHARED_LIBS=OFF \
-DGDCM_USE_SYSTEM_ZLIB=ON \
-DGDCM_USE_SYSTEM_OPENSSL=ON \
-DGDCM_USE_SYSTEM_UUID=OFF \
-DGDCM_USE_SYSTEM_EXPAT=ON \
-DGDCM_USE_SYSTEM_JSON=ON \
-DGDCM_USE_SYSTEM_PAPYRUS3=OFF \
-DGDCM_USE_SYSTEM_SOCKETXX=OFF \
-DGDCM_USE_SYSTEM_LJPEG=OFF \
-DGDCM_USE_SYSTEM_OPENJPEG=OFF \
-DGDCM_USE_SYSTEM_CHARLS=OFF \
-DGDCM_USE_SYSTEM_POPPLER=ON \
-DGDCM_USE_SYSTEM_LIBXML2=ON \
-DGDCM_BUILD_EXAMPLES=OFF \
-DGDCM_BUILD_TESTING=ON \
-DGDCM_WRAP_PYTHON=OFF \
-DGDCM_WRAP_PERL=OFF \
-DGDCM_WRAP_PHP=OFF \
-DGDCM_WRAP_JAVA=OFF \
-DGDCM_WRAP_CSHARP=OFF \
-DGDCM_USE_JPEGLS=ON \
-DGDCM_DOCUMENTATION=OFF \
-DGDCM_USE_VTK=OFF \
-DGDCM_USE_PARAVIEW=OFF \
-DGDCM_BUILD_APPLICATIONS=ON \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
echo "==> Build shared version"
[[ -d "${srcdir}/build-shared-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-shared-${MINGW_CHOST}"
mkdir -p "${srcdir}/build-shared-${MINGW_CHOST}" && cd "${srcdir}/build-shared-${MINGW_CHOST}"
CXXFLAGS+=" -Wno-ignored-attributes" \
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G"Ninja" \
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SYSTEM_PREFIX_PATH="${MINGW_PREFIX}" \
-DGDCM_BUILD_SHARED_LIBS=ON \
-DGDCM_USE_SYSTEM_ZLIB=ON \
-DGDCM_USE_SYSTEM_OPENSSL=ON \
-DGDCM_USE_SYSTEM_UUID=OFF \
-DGDCM_USE_SYSTEM_EXPAT=ON \
-DGDCM_USE_SYSTEM_JSON=ON \
-DGDCM_USE_SYSTEM_PAPYRUS3=OFF \
-DGDCM_USE_SYSTEM_SOCKETXX=OFF \
-DGDCM_USE_SYSTEM_LJPEG=OFF \
-DGDCM_USE_SYSTEM_OPENJPEG=ON \
-DGDCM_USE_SYSTEM_CHARLS=OFF \
-DGDCM_USE_SYSTEM_POPPLER=ON \
-DGDCM_USE_SYSTEM_LIBXML2=ON \
-DGDCM_BUILD_EXAMPLES=OFF \
-DGDCM_BUILD_TESTING=ON \
-DGDCM_WRAP_PYTHON=OFF \
-DGDCM_WRAP_PERL=OFF \
-DGDCM_WRAP_PHP=OFF \
-DGDCM_WRAP_JAVA=OFF \
-DGDCM_WRAP_CSHARP=OFF \
-DGDCM_USE_JPEGLS=ON \
-DGDCM_DOCUMENTATION=OFF \
-DGDCM_USE_VTK=OFF \
-DGDCM_USE_PARAVIEW=OFF \
-DGDCM_BUILD_APPLICATIONS=ON \
../${_realname}-${pkgver}
${MINGW_PREFIX}/bin/cmake.exe --build ./
}
package() {
cd "${srcdir}/build-static-${MINGW_CHOST}"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
cd "${srcdir}/build-shared-${MINGW_CHOST}"
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --build ./ --target install
}