# Maintainer: Václav Šmilauer _realname=aravis pkgbase=mingw-w64-${_realname} pkgname=( "${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-${_realname}-gst" ) pkgver=0.8.31 pkgrel=1 arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64') msys2_references=( 'aur: aravis' ) msys2_repository_url="https://github.com/AravisProject/aravis/" url="https://wiki.gnome.org/Projects/Aravis" makedepends=( "rsync" "${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-libnotify" "${MINGW_PACKAGE_PREFIX}-pkgconf" "${MINGW_PACKAGE_PREFIX}-libxml2" "${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-libusb" "${MINGW_PACKAGE_PREFIX}-gobject-introspection" "${MINGW_PACKAGE_PREFIX}-gtk3" "${MINGW_PACKAGE_PREFIX}-gstreamer" "${MINGW_PACKAGE_PREFIX}-gst-plugins-base" "${MINGW_PACKAGE_PREFIX}-cc" ) license=('spdx:LGPL-2.1-or-later') source=("https://github.com/AravisProject/aravis/releases/download/${pkgver}/${_realname}-${pkgver}.tar.xz") sha256sums=('9c4ebe6273ed3abe466cb6ed8fa5c132bdd7e9a9298ca43fa0212c4311a084da') prepare() { cd "${_realname}-${pkgver}" } build() { mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} MSYS2_ARG_CONV_EXCL="--prefix=" \ ${MINGW_PREFIX}/bin/meson setup \ --prefix=${MINGW_PREFIX} \ --buildtype=plain \ -Ddocumentation=disabled \ -Dgst-plugin=enabled \ -Dintrospection=enabled \ -Dusb=enabled \ -Dviewer=enabled \ "../${_realname}-${pkgver}" ${MINGW_PREFIX}/bin/meson compile } check() { cd "${srcdir}/build-${MSYSTEM}" # Add current build dirs to PATH to find DLLs PATH=$PWD/gst:$PWD/src:$PATH ${MINGW_PREFIX}/bin/meson test || warning "Tests failed" } _move_aravis-gst_to_dst(){ # move everything from $1 which is not the base lib to $2 rsync -armR -v \ --remove-source-files \ --include='bin/arv-viewer*' \ --exclude='bin/*' \ --exclude='include/' \ --exclude='pkgconfig/' \ --exclude='libaravis*' \ --exclude='licenses/' \ --exclude='gir-*/' \ --exclude='girepository*/' \ "${1}/./" "${2}" # delete empty directories in $1 find "${1}" -type d -empty -delete } package_aravis() { pkgdesc="A vision library for genicam based cameras (library, headers, tools) (mingw-w64)" depends=( "${MINGW_PACKAGE_PREFIX}-libnotify" "${MINGW_PACKAGE_PREFIX}-libxml2" "${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-libusb" "${MINGW_PACKAGE_PREFIX}-gobject-introspection-runtime" ) cd "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/meson install _TMP=`realpath _tmp` mkdir ${_TMP} _move_aravis-gst_to_dst "${pkgdir}${MINGW_PREFIX}" "${_TMP}" rm -rf ${_TMP} } package_aravis-gst() { pkgdesc="A vision library for genicam based cameras (Gtk3 viewer, GStreamer plugin) (mingw-w64)" depends=( "${MINGW_PACKAGE_PREFIX}-aravis" "${MINGW_PACKAGE_PREFIX}-gtk3" "${MINGW_PACKAGE_PREFIX}-gst-plugins-good" "${MINGW_PACKAGE_PREFIX}-gstreamer" ) # DESTDIR="$_TMP" ${MINGW_PREFIX}/bin/meson install cd "${srcdir}/build-${MSYSTEM}" _TMP=`realpath _tmp` DESTDIR="${_TMP}" ${MINGW_PREFIX}/bin/meson install _move_aravis-gst_to_dst "${_TMP}" "${pkgdir}" rm -rf ${_TMP} } # 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;