simvoleon: New package

This commit is contained in:
Konstantin Podsvirov
2022-10-04 16:04:46 +03:00
committed by GitHub
parent 1c1ee11868
commit 513768cefd
2 changed files with 90 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8115507..d1f74ee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -99,6 +99,7 @@ option(OPTION_VERBOSE "Verbose build " OFF)
option(SIMVOLEON_BUILD_SHARED_LIBS "Build shared libraries" ON)
option(SIMVOLEON_BUILD_DOCUMENTATION "Build and install API documentation (requires Doxygen)." OFF)
option(SIMVOLEON_BUILD_TESTS "Build test code" OFF)
+option(SIMVOLEON_USE_CPACK "If enabled the cpack subrepo is mandatory" OFF)
cmake_dependent_option(SIMVOLEON_BUILD_INTERNAL_DOCUMENTATION "Document internal code not part of the API." OFF "SIMVOLEON_BUILD_DOCUMENTATION" OFF)
cmake_dependent_option(SIMVOLEON_BUILD_DOC_MAN "Build So${Gui} man pages." OFF "SIMVOLEON_BUILD_DOCUMENTATION" OFF)
cmake_dependent_option(SIMVOLEON_BUILD_DOC_QTHELP "Build QtHelp documentation." OFF "SIMVOLEON_BUILD_DOCUMENTATION" OFF)
@@ -228,4 +229,6 @@ endif()
############################################################################
# New CPACK section, please see the README file inside cpack.d directory.
-add_subdirectory(cpack.d)
+if(SIMVOLEON_USE_CPACK)
+ add_subdirectory(cpack.d)
+endif()

View File

@@ -0,0 +1,70 @@
# Maintainer: Konstantin Podsvirov <konstantin@podsvirov.pro>
_realname=simvoleon
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.1.0
pkgrel=1
pkgdesc="A volume rendering library for Coin (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://github.com/coin3d/simvoleon"
license=('custom:coin')
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-graphviz"
"${MINGW_PACKAGE_PREFIX}-doxygen")
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-coin")
options=('!strip' 'staticlibs' '!buildflags')
source=("${_realname}-${_realname}-${pkgver}.tar.gz::${url}/archive/${_realname}-${pkgver}.tar.gz"
"https://raw.githubusercontent.com/coin3d/coincodeshare/2504f60/gl/CoinGLPerformance."{h,cpp}
'0001-simvoleon-2.1.0-use-cpack-off.patch')
sha256sums=('ab3402cb1afe9842c43d26c33b08a25b4e114db243c27f63b2c87269555f81c5'
'e6bc455e3ac3f92ca07157ec3b67a33377480f9edf184fc40ab56fbef96b0760'
'377409159032c1c84c77ebdfdedca84fad8b0899f560669bb0a98a72352c4382'
'23bdbe0bd84ce7a65704e6471f453912aab8b7a531bbb20450318c408028d882')
prepare() {
cd "${srcdir}/${_realname}-${_realname}-${pkgver}"
mkdir -p "lib/VolumeViz/Coin/gl"
cp -t "lib/VolumeViz/Coin/gl" "${srcdir}/CoinGLPerformance."{h,cpp}
patch -p1 -i "${srcdir}/0001-simvoleon-2.1.0-use-cpack-off.patch"
}
build() {
[[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}"
mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"
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.exe \
-GNinja \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
"${extra_config[@]}" \
-DSIMVOLEON_BUILD_DOCUMENTATION=ON \
-DSIMVOLEON_BUILD_TESTS=OFF \
-DSIMVOLEON_EXTRA_LDFLAGS=-lSIMVoleon \
-DSIMVOLEON_EXTRA_CFLAGS=-DSIMVOLEON_DLL \
../${_realname}-${_realname}-${pkgver}
"${MINGW_PREFIX}"/bin/cmake.exe --build .
}
package() {
cd "${srcdir}/build-${MSYSTEM}"
DESTDIR=${pkgdir} "${MINGW_PREFIX}"/bin/cmake.exe --install .
install -Dm644 "${srcdir}/${_realname}-${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}
# vim:set ts=2 sw=2 et: