blob: b14cafc3248af1fabd31c290dc7ee6f9672ac52f [file] [log] [blame]
# Maintainer: J. Peter Mugaas <jpmugaas@suddenlink.net>
_realname=zopfli
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=1.0.3
pkgrel=2
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://github.com/google/zopfli"
license=('apache')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake")
source=("https://github.com/google/zopfli/archive/${_realname}-${pkgver}.tar.gz"
"7554e4d34e7000b0595aa606e7d72357cf46ba86.patch"
"win32-fixes.patch")
sha256sums=('e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd'
'3a3c002af41a8b066984362216099152ee127f2a31335bc6a3360f96d3a88366'
'3adb302978fb0c47adf0eeb641b6674add71fd6af9a22497fbeffb991e78dddd')
# Helper macros to help make tasks easier #
apply_patch_with_msg() {
for _patch in "$@"
do
msg2 "Applying $_patch"
patch -Nbp1 -i "${srcdir}/$_patch"
done
}
del_file_exists() {
for _fname in "$@"
do
if [ -f $_fname ]; then
rm -rf $_fname
fi
done
}
# =========================================== #
prepare() {
cd "${srcdir}/zopfli-zopfli-${pkgver}"
del_file_exists CMakeLists.txt
# sed -i -e "/^CFLAGS = / s/$/ $CFLAGS/" \
# -e "/^CXXFLAGS = / s/$/ $CXXFLAGS/" Makefile
apply_patch_with_msg 7554e4d34e7000b0595aa606e7d72357cf46ba86.patch \
win32-fixes.patch
}
build() {
[[ -d "${srcdir}"/build-${CARCH}-shared ]] && rm -rf "${srcdir}"/build-${CARCH}-shared
mkdir -p "${srcdir}"/build-${CARCH}-shared && cd "${srcdir}"/build-${CARCH}-shared
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 \
-G'MSYS Makefiles' \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=ON \
../zopfli-zopfli-${pkgver}
make
[[ -d "${srcdir}"/build-${CARCH}-static ]] && rm -rf "${srcdir}"/build-${CARCH}-static
mkdir -p "${srcdir}"/build-${CARCH}-static && cd "${srcdir}"/build-${CARCH}-static
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G'MSYS Makefiles' \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DBUILD_SHARED_LIBS=OFF \
../zopfli-zopfli-${pkgver}
make
}
package() {
#shared
cd "${srcdir}"/build-${CARCH}-shared
# -- zopfli
install -Dm755 "zopfli.exe" "${pkgdir}${MINGW_PREFIX}/bin/zopfli.exe"
install -Dm644 "../zopfli-zopfli-${pkgver}/src/zopfli/zopfli.h" "${pkgdir}${MINGW_PREFIX}/include/zopfli.h"
install -Dm755 "libzopfli.dll" "${pkgdir}${MINGW_PREFIX}/bin/libzopfli.dll"
install -Dm644 "libzopfli.dll.a" "${pkgdir}${MINGW_PREFIX}/lib/libzopfli.dll.a"
# -- zopfipng
install -Dm755 "zopflipng" "${pkgdir}${MINGW_PREFIX}/bin/zopflipng"
install -Dm644 "../zopfli-zopfli-${pkgver}/src/zopflipng/zopflipng_lib.h" "${pkgdir}${MINGW_PREFIX}/include/zopflipng_lib.h"
install -Dm755 "libzopflipng.dll" "${pkgdir}${MINGW_PREFIX}/bin/libzopflipng.dll"
install -Dm755 "libzopflipng.dll.a" "${pkgdir}${MINGW_PREFIX}/lib/libzopflipng.dll.a"
#static
cd "${srcdir}"/build-${CARCH}-static
# -- zopfli
install -Dm644 "libzopfli.a" "${pkgdir}${MINGW_PREFIX}/lib/libzopfli.a"
install -Dm644 "../zopfli-zopfli-${pkgver}/README" "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/README"
# -- zopfipng
install -Dm755 "libzopflipng.a" "${pkgdir}${MINGW_PREFIX}/lib/libzopflipng.a"
install -Dm644 "../zopfli-zopfli-${pkgver}/README.zopflipng" "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/README.zopflipng"
}