From 513768cefd5be75ec6ab2fd81ffaa0cc4be8b5d7 Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Tue, 4 Oct 2022 16:04:46 +0300 Subject: [PATCH] simvoleon: New package --- .../0001-simvoleon-2.1.0-use-cpack-off.patch | 20 ++++++ mingw-w64-simvoleon/PKGBUILD | 70 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 mingw-w64-simvoleon/0001-simvoleon-2.1.0-use-cpack-off.patch create mode 100644 mingw-w64-simvoleon/PKGBUILD diff --git a/mingw-w64-simvoleon/0001-simvoleon-2.1.0-use-cpack-off.patch b/mingw-w64-simvoleon/0001-simvoleon-2.1.0-use-cpack-off.patch new file mode 100644 index 0000000000..b6d3e2b476 --- /dev/null +++ b/mingw-w64-simvoleon/0001-simvoleon-2.1.0-use-cpack-off.patch @@ -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() diff --git a/mingw-w64-simvoleon/PKGBUILD b/mingw-w64-simvoleon/PKGBUILD new file mode 100644 index 0000000000..7c663e1a3a --- /dev/null +++ b/mingw-w64-simvoleon/PKGBUILD @@ -0,0 +1,70 @@ +# Maintainer: Konstantin Podsvirov + +_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: