Skip to content

Instantly share code, notes, and snippets.

@rpavlik
Created April 19, 2016 20:12
Show Gist options
  • Save rpavlik/351b49579e829d0916eb74e3313c3029 to your computer and use it in GitHub Desktop.
Save rpavlik/351b49579e829d0916eb74e3313c3029 to your computer and use it in GitHub Desktop.
PKGBUILD for libfunctionality on MSYS2 MinGW
# Maintainer: Ryan Pavlik <ryan@sensics.com>
_realname=libfunctionality
pkgbase="mingw-w64-${_realname}"
pkgname="${pkgbase}-git"
provides=("${pkgbase}")
pkgver=v0.1.r17.g315e786
pkgrel=1
pkgdesc="A minimal library for dynamically-loaded or statically-linked functionality modules. (git) (mingw-w64)"
arch=('any')
url="https://github.com/OSVR/libfunctionality"
#license=('custom:apache2')
makedepends=('git'
'sed'
'make'
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-gcc")
source=("${_realname}::git+https://github.com/OSVR/libfunctionality.git")
md5sums=(SKIP) #generate with 'makepkg -g'
options=('strip' 'staticlibs')
pkgver() {
cd "$srcdir/libfunctionality"
( set -o pipefail
git describe --long --tags 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
)
}
prepare() {
cd "$srcdir/libfunctionality"
}
build() {
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
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[@]}" \
../${_realname}
make
}
package() {
cd "${srcdir}"/build-${CARCH}
make DESTDIR=${pkgdir} install
sharedir=${pkgdir}${MINGW_PREFIX}/share/${_realname}
mkdir -p ${sharedir}
for f in CONTRIBUTING.md LICENSE NOTICE README.md; do
mv -f ${pkgdir}${MINGW_PREFIX}/${f} ${sharedir}
done
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment