From c17ff82105648d5949d60cb5ecb6c4fad122dfc1 Mon Sep 17 00:00:00 2001 From: Guillaume Jacquemin Date: Tue, 30 Jun 2020 21:52:34 +0200 Subject: [PATCH] Update Corrade and Magnum to 2020.06. Amended to use zip files instead of cloning from GitHub. --- ...rade-2019.10-fix-corrademain-on-i686.patch | 15 ------- mingw-w64-corrade/PKGBUILD | 23 ++++------- mingw-w64-magnum-integration/PKGBUILD | 29 +++++++++---- mingw-w64-magnum-plugins/PKGBUILD | 41 +++++++++++++++---- mingw-w64-magnum/PKGBUILD | 23 +++++++---- 5 files changed, 78 insertions(+), 53 deletions(-) delete mode 100644 mingw-w64-corrade/001-corrade-2019.10-fix-corrademain-on-i686.patch diff --git a/mingw-w64-corrade/001-corrade-2019.10-fix-corrademain-on-i686.patch b/mingw-w64-corrade/001-corrade-2019.10-fix-corrademain-on-i686.patch deleted file mode 100644 index 448a76940e..0000000000 --- a/mingw-w64-corrade/001-corrade-2019.10-fix-corrademain-on-i686.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/Corrade/CorradeMain.cpp b/src/Corrade/CorradeMain.cpp -index cc47a607..e117a6e5 100644 ---- a/src/Corrade/CorradeMain.cpp -+++ b/src/Corrade/CorradeMain.cpp -@@ -28,6 +28,10 @@ - #ifdef CORRADE_TARGET_WINDOWS - #include - -+/* 32-bit MinGW doesn't have implicit __argc / __wargv for some reason: -+ https://github.com/mirror/mingw-w64/blob/f8e2c9ac594259fd2a46746943f84bd8766d7054/mingw-w64-headers/crt/stdlib.h#L178-L189 */ -+#include -+ - /* Use Array, but in a way that doesn't require the whole Utility library - to be linked */ - #define CORRADE_NO_DEBUG \ No newline at end of file diff --git a/mingw-w64-corrade/PKGBUILD b/mingw-w64-corrade/PKGBUILD index 2967e9b58c..c13eb75764 100644 --- a/mingw-w64-corrade/PKGBUILD +++ b/mingw-w64-corrade/PKGBUILD @@ -5,26 +5,21 @@ _realname=corrade pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2019.10 -pkgrel=2 +pkgver=2020.06 +pkgrel=1 pkgdesc='C++11/C++14 multiplatform utility library' arch=('any') url='https://magnum.graphics/corrade/' license=('MIT') -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'git') -# The .tar.gz / .zip download contains symlinks (.travis.yml), making tar and -# unzip on Windows grumpy because dangling symlinks are created. Could be fixed -# by manually extracting everything except symlinks, but that's hard to -# maintain. Downloading a Git tag works. -source=("${_realname}-${pkgver}"::"git+https://github.com/mosra/corrade.git#tag=v$pkgver" - "001-corrade-2019.10-fix-corrademain-on-i686.patch") -sha256sums=('SKIP' - '9b1434577f13c711e9bb703744e8042940725150481cce555bcf456ffb684675') +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'unzip') +source=("${_realname}-${pkgver}.zip::https://github.com/mosra/corrade/archive/v${pkgver}.zip") +noextract=("${_realname}-${pkgver}.zip") +sha256sums=('d89a06128c334920d91fecf23cc1df48fd6be26543dc0ed81b2f819a92d70e72') prepare() { - cd "${srcdir}"/${_realname}-${pkgver} - - patch -p1 -i "${srcdir}"/001-corrade-2019.10-fix-corrademain-on-i686.patch + cd ${srcdir} + rm -rf ${_realname}-${pkgver} + unzip ../${_realname}-${pkgver}.zip } build() { diff --git a/mingw-w64-magnum-integration/PKGBUILD b/mingw-w64-magnum-integration/PKGBUILD index 35cfb503a7..74882d29a8 100644 --- a/mingw-w64-magnum-integration/PKGBUILD +++ b/mingw-w64-magnum-integration/PKGBUILD @@ -5,7 +5,8 @@ _realname=magnum-integration pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2019.10 +pkgver=2020.06 +_imgui_pkgver=1.76 pkgrel=1 pkgdesc='Integration libraries for the Magnum C++11/C++14 graphics engine' arch=('any') @@ -13,18 +14,27 @@ url='https://magnum.graphics/' license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-magnum>=$pkgver" "${MINGW_PACKAGE_PREFIX}-bullet" + "${MINGW_PACKAGE_PREFIX}-eigen3" "${MINGW_PACKAGE_PREFIX}-glm") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'git') -# The .tar.gz / .zip download contains symlinks (.travis.yml), making tar and -# unzip on Windows grumpy because dangling symlinks are created. Could be fixed -# by manually extracting everything except symlinks, but that's hard to -# maintain. Downloading a Git tag works. -source=("${_realname}-${pkgver}"::"git+https://github.com/mosra/magnum-integration.git#tag=v$pkgver") -sha256sums=('SKIP') +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'unzip') +source=("${_realname}-${pkgver}.zip::https://github.com/mosra/magnum-integration/archive/v${pkgver}.zip" + "https://github.com/ocornut/imgui/archive/v${_imgui_pkgver}.tar.gz") +noextract=("${_realname}-${pkgver}.zip") +sha256sums=('8e5d7ffc9df300eb9fac9cff24e74d40f9a13f5e952bd3185fb002d4d6ac38ed' + 'e482dda81330d38c87bd81597cacaa89f05e20ed2c4c4a93a64322e97565f6dc') + +prepare() { + cd ${srcdir} + rm -rf ${_realname}-${pkgver} + unzip ../${_realname}-${pkgver}.zip +} build() { mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH} + # Bundle ImGui + ln -sf $srcdir/imgui-${_imgui_pkgver}/ "$srcdir/${_realname}-${pkgver}/src/MagnumExternal/ImGui" + declare -a extra_config if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") @@ -37,7 +47,10 @@ build() { -G'Ninja' \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DWITH_BULLET=ON \ + -DWITH_DART=OFF \ + -DWITH_EIGEN=ON \ -DWITH_GLM=ON \ + -DWITH_IMGUI=ON \ "${extra_config[@]}" \ ../${_realname}-${pkgver} ninja diff --git a/mingw-w64-magnum-plugins/PKGBUILD b/mingw-w64-magnum-plugins/PKGBUILD index 5b0f65055c..c6ede386c3 100644 --- a/mingw-w64-magnum-plugins/PKGBUILD +++ b/mingw-w64-magnum-plugins/PKGBUILD @@ -5,7 +5,9 @@ _realname=magnum-plugins pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2019.10 +pkgver=2020.06 +_basis_pkgver=2f43afcc97d0a5dafdb73b4e24e123cf9687a418 +_meshopt_pkgver=97c52415c6d29f297a76482ddde22f739292446d pkgrel=1 pkgdesc='Plugins for the Magnum C++11/C++14 graphics engine' arch=('any') @@ -14,21 +16,37 @@ license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-magnum>=$pkgver" "${MINGW_PACKAGE_PREFIX}-assimp" "${MINGW_PACKAGE_PREFIX}-devil" + "${MINGW_PACKAGE_PREFIX}-faad2" "${MINGW_PACKAGE_PREFIX}-freetype" "${MINGW_PACKAGE_PREFIX}-harfbuzz" "${MINGW_PACKAGE_PREFIX}-libjpeg-turbo" "${MINGW_PACKAGE_PREFIX}-libpng") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'git') -# The .tar.gz / .zip download contains symlinks (.travis.yml), making tar and -# unzip on Windows grumpy because dangling symlinks are created. Could be fixed -# by manually extracting everything except symlinks, but that's hard to -# maintain. Downloading a Git tag works. -source=("${_realname}-${pkgver}"::"git+https://github.com/mosra/magnum-plugins.git#tag=v$pkgver") -sha256sums=('SKIP') +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'unzip') +source=("${_realname}-${pkgver}.zip::https://github.com/mosra/magnum-plugins/archive/v${pkgver}.zip" + # A commit that's before the UASTC support (which is not implemented + # yet, because latest versions crash even on trivial tests) + "https://github.com/BinomialLLC/basis_universal/archive/2f43afcc97d0a5dafdb73b4e24e123cf9687a418.tar.gz" + "https://github.com/zeux/meshoptimizer/archive/97c52415c6d29f297a76482ddde22f739292446d.tar.gz") +noextract=("${_realname}-${pkgver}.zip") +sha256sums=('8e1e98674ef3f0276f68abbdfecef1d72ae95b5a812b78c1ff45dba10fc72e3f' + 'f983ab5bfc5c32474914a87d9ca572c7fb970bf96f7bc68385c08772f633639f' + '57bd3ff2ae1c20a2319979013e36a4472372af20580d323a1ce15f0385d5ed75') + +prepare() { + cd ${srcdir} + rm -rf ${_realname}-${pkgver} + unzip ../${_realname}-${pkgver}.zip +} build() { mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH} + # Bundle Basis Universal + ln -sf $srcdir/basis_universal-${_basis_pkgver}/ "$srcdir/${_realname}-${pkgver}/src/external/basis-universal" + + # Bundle meshoptimizer + ln -sf $srcdir/meshoptimizer-${_meshopt_pkgver}/ "$srcdir/${_realname}-${pkgver}/src/external/meshoptimizer" + declare -a extra_config if check_option "debug" "n"; then extra_config+=("-DCMAKE_BUILD_TYPE=Release") @@ -41,19 +59,26 @@ build() { -G'Ninja' \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DWITH_ASSIMPIMPORTER=ON \ + -DWITH_BASISIMPORTER=ON \ -DWITH_DDSIMPORTER=ON \ -DWITH_DEVILIMAGEIMPORTER=ON \ -DWITH_DRFLACAUDIOIMPORTER=ON \ + -DWITH_DRMP3AUDIOIMPORTER=ON \ -DWITH_DRWAVAUDIOIMPORTER=ON \ -DWITH_FREETYPEFONT=ON \ + -DWITH_FAAD2AUDIOIMPORTER=ON \ -DWITH_HARFBUZZFONT=ON \ + -DWITH_ICOIMPORTER=ON \ -DWITH_JPEGIMAGECONVERTER=ON \ -DWITH_JPEGIMPORTER=ON \ -DWITH_MINIEXRIMAGECONVERTER=ON \ + -DWITH_MESHOPTIMIZERSCENECONVERTER=ON \ -DWITH_PNGIMAGECONVERTER=ON \ -DWITH_PNGIMPORTER=ON \ -DWITH_OPENGEXIMPORTER=ON \ + -DWITH_PRIMITIVEIMPORTER=ON \ -DWITH_STANFORDIMPORTER=ON \ + -DWITH_STANFORDSCENECONVERTER=ON \ -DWITH_STBIMAGECONVERTER=ON \ -DWITH_STBIMAGEIMPORTER=ON \ -DWITH_STBTRUETYPEFONT=ON \ diff --git a/mingw-w64-magnum/PKGBUILD b/mingw-w64-magnum/PKGBUILD index 6dbd66cc3b..edd2b36978 100644 --- a/mingw-w64-magnum/PKGBUILD +++ b/mingw-w64-magnum/PKGBUILD @@ -5,7 +5,7 @@ _realname=magnum pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2019.10 +pkgver=2020.06 pkgrel=1 pkgdesc='C++11/C++14 graphics middleware for games and data visualization' arch=('any') @@ -19,13 +19,17 @@ depends=("${MINGW_PACKAGE_PREFIX}-corrade>=$pkgver" makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'git') optdepends=("${MINGW_PACKAGE_PREFIX}-magnum-plugins: import and export features" "${MINGW_PACKAGE_PREFIX}-magnum-integration: integrations with third-party math and physics libraries") -# The .tar.gz / .zip download contains symlinks (.travis.yml), making tar and -# unzip on Windows grumpy because dangling symlinks are created. Could be fixed -# by manually extracting everything except symlinks, but that's hard to -# maintain. Downloading a Git tag works. -source=("${_realname}-${pkgver}"::"git+https://github.com/mosra/magnum.git#tag=v$pkgver") -sha256sums=('SKIP') - +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" 'unzip') +source=("${_realname}-${pkgver}.zip::https://github.com/mosra/magnum/archive/v${pkgver}.zip") +noextract=("${_realname}-${pkgver}.zip") +sha256sums=('78c52bc403cec27b98d8d87186622ca57f8d70ffd64342fe4094c720b7d3b0e3') + +prepare() { + cd ${srcdir} + rm -rf ${_realname}-${pkgver} + unzip ../${_realname}-${pkgver}.zip +} + build() { mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH} @@ -45,6 +49,7 @@ build() { -DWITH_ANYIMAGECONVERTER=ON \ -DWITH_ANYIMAGEIMPORTER=ON \ -DWITH_ANYSCENEIMPORTER=ON \ + -DWITH_ANYSCENECONVERTER=ON \ -DWITH_AUDIO=ON \ -DWITH_DISTANCEFIELDCONVERTER=ON \ -DWITH_WGLCONTEXT=ON \ @@ -52,6 +57,7 @@ build() { -DWITH_MAGNUMFONT=ON \ -DWITH_MAGNUMFONTCONVERTER=ON \ -DWITH_OBJIMPORTER=ON \ + -DWITH_OPENGLTESTER=ON \ -DWITH_FONTCONVERTER=ON \ -DWITH_GL_INFO=ON \ -DWITH_GLFWAPPLICATION=ON \ @@ -61,6 +67,7 @@ build() { -DWITH_VK=ON \ -DWITH_WAVAUDIOIMPORTER=ON \ -DWITH_WINDOWLESSWGLAPPLICATION=ON \ + -DVulkan_LIBRARY=${MINGW_PREFIX}/lib/libvulkan.dll.a \ "${extra_config[@]}" \ ../${_realname}-${pkgver} ninja