blob: ed9ff6b95e02befcfdc7341107d71c06d460e9df [file] [log] [blame] [edit]
####
# Based partly on https://www.archlinux.org/packages/extra/x86_64/gnome-calculator/
####
# Past Maintainer: Andrea Zagli <andrea.zagli.free@gmail.com>
# Contributor: Tim Stahlhut <stahta01@gmail.com>
_realname=gnome-calculator
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.38.1
pkgrel=2
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
pkgdesc="GNOME desktop calculator (mingw-w64)"
options=(strip staticlibs)
depends=("${MINGW_PACKAGE_PREFIX}-glib2"
"${MINGW_PACKAGE_PREFIX}-gtk3"
"${MINGW_PACKAGE_PREFIX}-gtksourceview4"
"${MINGW_PACKAGE_PREFIX}-gsettings-desktop-schemas"
"${MINGW_PACKAGE_PREFIX}-libsoup"
"${MINGW_PACKAGE_PREFIX}-mpfr")
makedepends=("${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-vala"
"${MINGW_PACKAGE_PREFIX}-gobject-introspection"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-appstream-glib"
"${MINGW_PACKAGE_PREFIX}-libgee" # Not sure if it is only needed during make
"${MINGW_PACKAGE_PREFIX}-gmp"
"${MINGW_PACKAGE_PREFIX}-yelp-tools" # Used in package step
"${MINGW_PACKAGE_PREFIX}-meson"
"${MINGW_PACKAGE_PREFIX}-ninja")
license=("GPL 3")
url="https://wiki.gnome.org/Apps/Calculator"
install=${_realname}-${CARCH}.install
source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz
001-win.patch
)
sha256sums=('7cffffd07f7a463d65d30a3d67e1cf774a76cfe1f80194aae7168d21687b5249'
'72c5b1975665df6b16eceb319a24d253382fc41331a9939f06241656e26260e5')
# 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}"/${_realname}-${pkgver}
del_file_exists "${srcdir}/${_realname}-${pkgver}/lib/windows.c"
apply_patch_with_msg 001-win.patch
}
build() {
[[ -d build-${MINGW_CHOST} ]] && rm -rf build-${MINGW_CHOST}
mkdir -p build-${MINGW_CHOST}
cd build-${MINGW_CHOST}
MSYS2_ARG_CONV_EXCL="--prefix=" \
${MINGW_PREFIX}/bin/meson \
--prefix="${MINGW_PREFIX}" \
--buildtype plain \
../${_realname}-${pkgver}
# Both mpc and mpfr needs the gmp library or linker error happens.
sed -e 's|"-lmpc" "-lmpfr"|"-lmpc" "-lmpfr" "-lgmp"|g' -e 's|-lmpc -lmpfr|-lmpc -lmpfr -lgmp|g' -i build.ninja
ninja
}
check() {
cd "${srcdir}/build-${MINGW_CHOST}"
${MINGW_PREFIX}/bin/meson test
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
DESTDIR="${pkgdir}" ninja install
install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
}