137 lines
4.4 KiB
Bash
137 lines
4.4 KiB
Bash
# Maintainer: Rémi BERTHO <remi.bertho@dalan.fr>
|
|
|
|
_realname=podofo
|
|
pkgbase=mingw-w64-${_realname}
|
|
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}"
|
|
$([[ $MINGW_PACKAGE_PREFIX == *-clang-* ]] && echo "${MINGW_PACKAGE_PREFIX}-${_realname}-tools"))
|
|
pkgver=0.10.4
|
|
pkgrel=4
|
|
pkgdesc="A C++ library to work with the PDF file format (mingw-w64)"
|
|
arch=('any')
|
|
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
|
|
url="https://podofo.sourceforge.io/"
|
|
msys2_repository_url="https://github.com/podofo/podofo"
|
|
msys2_references=(
|
|
"cpe: cpe:/a:podofo_project:podofo"
|
|
)
|
|
license=('spdx:LGPL-2.0-or-later AND GPL-2.0-or-later')
|
|
depends=("${MINGW_PACKAGE_PREFIX}-fontconfig"
|
|
"${MINGW_PACKAGE_PREFIX}-freetype"
|
|
"${MINGW_PACKAGE_PREFIX}-libtiff"
|
|
"${MINGW_PACKAGE_PREFIX}-libidn"
|
|
"${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
|
|
"${MINGW_PACKAGE_PREFIX}-libunistring"
|
|
"${MINGW_PACKAGE_PREFIX}-openssl"
|
|
"${MINGW_PACKAGE_PREFIX}-zlib"
|
|
"${MINGW_PACKAGE_PREFIX}-libxml2")
|
|
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
|
|
"${MINGW_PACKAGE_PREFIX}-cmake"
|
|
"${MINGW_PACKAGE_PREFIX}-ninja"
|
|
"${MINGW_PACKAGE_PREFIX}-pkgconf")
|
|
source=("https://github.com/podofo/podofo/archive/${pkgver}/${_realname}-${pkgver}.tar.gz"
|
|
"001-mingw-build-tools.patch::https://github.com/podofo/podofo/pull/155.patch"
|
|
"002-fix-redefinitions.patch"
|
|
"003-aarch64.patch"
|
|
"004-std-from-chars.patch")
|
|
sha256sums=('6b1b13cdfb2ba5e8bbc549df507023dd4873bc946211bc6942183b8496986904'
|
|
'dd85ee9e8b89fabfdad745d67e97bab4bed4734e3535ad1753361a35c32681ab'
|
|
'98a936f042c1a5ba9a3c8c89c4384444fc6bf47a7c5ce59de551cce225eac719'
|
|
'aa1d6d3084eaf3a6496762708523edd775a92b2ac413f16626d882b1d20ec04b'
|
|
'd7f72157000be6c122d29803778aba65eb783e1fd562b04d5a5e0f7bcd50ed0f')
|
|
|
|
apply_patch_with_msg() {
|
|
for _patch in "$@"
|
|
do
|
|
msg2 "Applying $_patch"
|
|
patch -Nbp1 -i "${srcdir}/$_patch"
|
|
done
|
|
}
|
|
|
|
prepare() {
|
|
cd "${_realname}-${pkgver}"
|
|
|
|
# https://github.com/podofo/podofo/issues/152
|
|
apply_patch_with_msg \
|
|
001-mingw-build-tools.patch
|
|
|
|
# https://github.com/podofo/podofo/pull/155
|
|
apply_patch_with_msg \
|
|
002-fix-redefinitions.patch
|
|
|
|
apply_patch_with_msg \
|
|
003-aarch64.patch \
|
|
004-std-from-chars.patch
|
|
}
|
|
|
|
build() {
|
|
declare -a _cmake_opts=(
|
|
-GNinja
|
|
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}"
|
|
-DPODOFO_HAVE_JPEG_LIB=ON
|
|
-DPODOFO_HAVE_PNG_LIB=ON
|
|
-DPODOFO_HAVE_TIFF_LIB=ON
|
|
-DPODOFO_HAVE_FONTCONFIG=ON
|
|
-DPODOFO_BUILD_EXAMPLES=OFF
|
|
-DPODOFO_BUILD_TEST=OFF
|
|
)
|
|
if [[ $MINGW_PACKAGE_PREFIX == *-clang-* ]]; then
|
|
_cmake_opts+=("-DPODOFO_BUILD_TOOLS=ON")
|
|
fi
|
|
|
|
if check_option "debug" "n"; then
|
|
_cmake_opts+=("-DCMAKE_BUILD_TYPE=Release")
|
|
else
|
|
_cmake_opts+=("-DCMAKE_BUILD_TYPE=Debug")
|
|
fi
|
|
|
|
export CFLAGS+=" -Wno-deprecated-declarations -Wno-deprecated-literal-operator -Wno-switch"
|
|
export CXXFLAGS+=" -Wno-deprecated-declarations -Wno-deprecated-literal-operator -Wno-switch"
|
|
|
|
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
|
${MINGW_PREFIX}/bin/cmake.exe \
|
|
"${_cmake_opts[@]}" \
|
|
-DPODOFO_BUILD_STATIC=ON \
|
|
-S ${_realname}-${pkgver} \
|
|
-B "build-${MSYSTEM}-static"
|
|
|
|
${MINGW_PREFIX}/bin/cmake --build "build-${MSYSTEM}-static"
|
|
|
|
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
|
|
${MINGW_PREFIX}/bin/cmake.exe \
|
|
"${_cmake_opts[@]}" \
|
|
-DPODOFO_BUILD_STATIC=OFF \
|
|
-S ${_realname}-${pkgver} \
|
|
-B "build-${MSYSTEM}-shared"
|
|
|
|
${MINGW_PREFIX}/bin/cmake --build "build-${MSYSTEM}-shared"
|
|
}
|
|
|
|
package_podofo() {
|
|
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install "build-${MSYSTEM}-static"
|
|
DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install "build-${MSYSTEM}-shared"
|
|
|
|
if [[ $MINGW_PACKAGE_PREFIX == *-clang-* ]]; then
|
|
mkdir -p "dest${MINGW_PREFIX}/bin"
|
|
mv "${pkgdir}${MINGW_PREFIX}"/bin/*.exe "dest${MINGW_PREFIX}/bin"
|
|
fi
|
|
}
|
|
|
|
package_podofo-tools() {
|
|
pkgdesc+=" (Tools)"
|
|
depends=("${MINGW_PACKAGE_PREFIX}-podofo=${pkgver}-${pkgrel}")
|
|
|
|
mv dest/* "${pkgdir}"
|
|
install -Dm644 -t "${pkgdir}${MINGW_PREFIX}/share/man/man1/" "${_realname}-${pkgver}"/man/*.1
|
|
}
|
|
|
|
# template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
|
|
# vim: set ft=bash :
|
|
|
|
# generate wrappers
|
|
for _name in "${pkgname[@]}"; do
|
|
_short="package_${_name#${MINGW_PACKAGE_PREFIX}-}"
|
|
_func="$(declare -f "${_short}")"
|
|
eval "${_func/#${_short}/package_${_name}}"
|
|
done
|
|
# template end;
|