Add wxwidgets 3.2 package, replacing wxgtk

This commit is contained in:
Antonio Rojas 2022-07-07 16:10:23 +00:00
commit 4c263f564f
2 changed files with 121 additions and 0 deletions

89
PKGBUILD Normal file
View File

@ -0,0 +1,89 @@
# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Contributor: Eric Bélanger <eric@archlinux.org>
pkgbase=wxwidgets
pkgname=(wxwidgets-gtk3 wxwidgets-qt5 wxwidgets-common)
pkgver=3.2.0
pkgrel=1
arch=(x86_64)
url='https://wxwidgets.org'
license=(custom:wxWindows)
makedepends=(cmake gst-plugins-base glu webkit2gtk libnotify qt5-base sdl2 libmspack)
options=(!emptydirs)
source=(https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-$pkgver.tar.bz2
destdir.patch)
sha256sums=('356e9b55f1ae3d58ae1fed61478e9b754d46b820913e3bfbc971c50377c1903a'
'cb4a7ca0d40b090d5d40d77790828a26766c6b496b3a5f5351fa30b3a6b42bd9')
prepare() {
patch -d wxWidgets-$pkgver -p1 < destdir.patch # Honor DESTDIR
}
build() {
cmake -B build-gtk3 -S wxWidgets-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None \
-DwxBUILD_TOOLKIT=gtk3 \
-DwxUSE_OPENGL=ON \
-DwxUSE_REGEX=sys\
-DwxUSE_ZLIB=sys \
-DwxUSE_EXPAT=sys \
-DwxUSE_LIBJPEG=sys \
-DwxUSE_LIBPNG=sys \
-DwxUSE_LIBTIFF=sys \
-DwxUSE_LIBLZMA=sys \
-DwxUSE_LIBMSPACK=ON
cmake --build build-gtk3
cmake -B build-qt5 -S wxWidgets-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None \
-DwxBUILD_TOOLKIT=qt \
-DwxUSE_OPENGL=ON \
-DwxUSE_REGEX=sys \
-DwxUSE_ZLIB=sys \
-DwxUSE_EXPAT=sys \
-DwxUSE_LIBJPEG=sys \
-DwxUSE_LIBPNG=sys \
-DwxUSE_LIBTIFF=sys \
-DwxUSE_LIBLZMA=sys \
-DwxUSE_LIBMSPACK=ON
cmake --build build-qt5
}
package_wxwidgets-common() {
pkgdesc='Common libraries and headers for wxwidgets'
depends=(expat pcre2 libsecret)
conflicts=(wxgtk-common)
replaces=(wxgtk-common)
DESTDIR="$pkgdir" cmake --install build-gtk3
rm -r "$pkgdir"/usr/{bin/wx-config,lib/{wx,libwx_gtk*}}
install -D -m644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_wxwidgets-gtk3() {
pkgdesc='GTK+3 implementation of wxWidgets API for GUI'
depends=(gtk3 gst-plugins-base-libs libsm wxwidgets-common libnotify libmspack sdl2)
optdepends=('webkit2gtk: for webview support')
provides=(wxgtk3 wxwidgets)
replaces=(wxgtk3)
DESTDIR="$pkgdir" cmake --install build-gtk3
rm -r "$pkgdir"/usr/{include,lib/cmake,lib/libwx_base*,bin/wxrc*}
install -D -m644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
package_wxwidgets-qt5() {
pkgdesc='Qt5 implementation of wxWidgets API for GUI'
depends=(qt5-base wxwidgets-common libmspack sdl2)
provides=(wxwidgets)
DESTDIR="$pkgdir" cmake --install build-qt5
rm -r "$pkgdir"/usr/{include,lib/cmake,lib/libwx_base*,bin/wxrc*}
mv "$pkgdir"/usr/bin/wx-config{,-qt} # Conflicts with wx-gtk3
install -D -m644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}

32
destdir.patch Normal file
View File

@ -0,0 +1,32 @@
diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake
index 9a2ce91d7f..858d6397cb 100644
--- a/build/cmake/install.cmake
+++ b/build/cmake/install.cmake
@@ -43,9 +43,10 @@ else()
install(CODE "execute_process( \
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID} \
- ${CMAKE_INSTALL_PREFIX}/bin/wx-config \
+ ${CMAKE_CURRENT_BINARY_DIR}/wx-config \
)"
)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wx-config DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif()
install(EXPORT wxWidgetsTargets NAMESPACE wx:: DESTINATION "lib/cmake/wxWidgets/${wxPLATFORM_LIB_DIR}")
diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt
index 47bca6f34a..e3e9399bca 100644
--- a/build/cmake/utils/CMakeLists.txt
+++ b/build/cmake/utils/CMakeLists.txt
@@ -40,9 +40,10 @@ if(wxUSE_XRC)
wx_install(CODE "execute_process( \
COMMAND ${CMAKE_COMMAND} -E create_symlink \
${CMAKE_INSTALL_PREFIX}/bin/${wxrc_output_name}${EXE_SUFFIX} \
- ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \
+ ${CMAKE_CURRENT_BINARY_DIR}/wxrc${EXE_SUFFIX} \
)"
)
+ wx_install(FILES ${CMAKE_CURRENT_BINARY_DIR}/wxrc${EXE_SUFFIX} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
endif()
endif()