From 4c263f564f1832631cba6647d638c4ee6651567c Mon Sep 17 00:00:00 2001 From: Antonio Rojas Date: Thu, 7 Jul 2022 16:10:23 +0000 Subject: [PATCH] Add wxwidgets 3.2 package, replacing wxgtk --- PKGBUILD | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++ destdir.patch | 32 ++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 PKGBUILD create mode 100644 destdir.patch diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..5a562f3 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Antonio Rojas +# Contributor: Eric BĂ©langer + +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 +} diff --git a/destdir.patch b/destdir.patch new file mode 100644 index 0000000..66423d2 --- /dev/null +++ b/destdir.patch @@ -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() +