Move cmake files to the backend-specific packages (FS#75754), use upstream patches to fix install issues

This commit is contained in:
Antonio Rojas 2022-09-03 12:22:45 +00:00
parent 436eeba0af
commit 495eb26c5e
2 changed files with 19 additions and 40 deletions

View File

@ -4,19 +4,25 @@
pkgbase=wxwidgets pkgbase=wxwidgets
pkgname=(wxwidgets-gtk3 wxwidgets-qt5 wxwidgets-common) pkgname=(wxwidgets-gtk3 wxwidgets-qt5 wxwidgets-common)
pkgver=3.2.0 pkgver=3.2.0
pkgrel=5 pkgrel=6
arch=(x86_64) arch=(x86_64)
url='https://wxwidgets.org' url='https://wxwidgets.org'
license=(custom:wxWindows) license=(custom:wxWindows)
makedepends=(cmake gst-plugins-base glu webkit2gtk libnotify qt5-base sdl2 libmspack) makedepends=(cmake gst-plugins-base glu webkit2gtk libnotify qt5-base sdl2 libmspack)
source=(https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-$pkgver.tar.bz2 source=(https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-$pkgver.tar.bz2
destdir.patch) https://github.com/wxWidgets/wxWidgets/commit/e4f230a3.patch
https://github.com/wxWidgets/wxWidgets/commit/d9a78be1.patch
https://github.com/wxWidgets/wxWidgets/commit/600bf54a.patch)
sha256sums=('356e9b55f1ae3d58ae1fed61478e9b754d46b820913e3bfbc971c50377c1903a' sha256sums=('356e9b55f1ae3d58ae1fed61478e9b754d46b820913e3bfbc971c50377c1903a'
'cb4a7ca0d40b090d5d40d77790828a26766c6b496b3a5f5351fa30b3a6b42bd9') '00f58f7248ce513e50acfdf6fca536a2e557d9d07891168ba9f9789322bbac03'
'efc502a5c72b257d38bf9957bd29eb684fd24b816d689a860bc1d511ff56458f'
'6c764e0907fe9e0f881f6bff924429bf42f33ce5865dc2f3fe918ba3c492c011')
options=(debug) options=(debug)
prepare() { prepare() {
patch -d wxWidgets-$pkgver -p1 < destdir.patch # Honor DESTDIR patch -d wxWidgets-$pkgver -p1 < d9a78be1.patch # Support GTKprint with cmake
patch -d wxWidgets-$pkgver -p1 < e4f230a3.patch # Pre next commit
patch -d wxWidgets-$pkgver -p1 < 600bf54a.patch # Honor DESTDIR
} }
build() { build() {
@ -34,7 +40,7 @@ build() {
-DwxUSE_LIBLZMA=sys \ -DwxUSE_LIBLZMA=sys \
-DwxUSE_LIBMSPACK=ON \ -DwxUSE_LIBMSPACK=ON \
-DwxUSE_PRIVATE_FONTS=ON \ -DwxUSE_PRIVATE_FONTS=ON \
-DwxUSE_GTKPRINT=ON -DCMAKE_CXX_FLAGS="$CXXFLAGS -I/usr/include/gtk-3.0/unix-print/" -DwxUSE_GTKPRINT=ON
cmake --build build-gtk3 cmake --build build-gtk3
cmake -B build-qt5 -S wxWidgets-$pkgver \ cmake -B build-qt5 -S wxWidgets-$pkgver \
@ -65,7 +71,7 @@ package_wxwidgets-common() {
replaces=(wxgtk-common) replaces=(wxgtk-common)
DESTDIR="$pkgdir" cmake --install build-gtk3 DESTDIR="$pkgdir" cmake --install build-gtk3
rm -r "$pkgdir"/usr/{bin/wx-config,lib/{wx,libwx_gtk*}} rm -r "$pkgdir"/usr/{bin/wx-config,lib/{cmake,wx,libwx_gtk*}}
install -Dm644 wxWidgets-$pkgver/wxwin.m4 -t "$pkgdir"/usr/share/aclocal install -Dm644 wxWidgets-$pkgver/wxwin.m4 -t "$pkgdir"/usr/share/aclocal
# Install translations # Install translations
make DESTDIR="$pkgdir" -C wxWidgets-$pkgver locale_install make DESTDIR="$pkgdir" -C wxWidgets-$pkgver locale_install
@ -82,7 +88,7 @@ package_wxwidgets-gtk3() {
replaces=(wxgtk3) replaces=(wxgtk3)
DESTDIR="$pkgdir" cmake --install build-gtk3 DESTDIR="$pkgdir" cmake --install build-gtk3
rm -r "$pkgdir"/usr/{include,lib/cmake,lib/libwx_base*,bin/wxrc*} rm -r "$pkgdir"/usr/{include,lib/libwx_base*,bin/wxrc*}
install -Dm644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE install -Dm644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
} }
@ -93,8 +99,13 @@ package_wxwidgets-qt5() {
provides=(wxwidgets) provides=(wxwidgets)
DESTDIR="$pkgdir" cmake --install build-qt5 DESTDIR="$pkgdir" cmake --install build-qt5
rm -r "$pkgdir"/usr/{include,lib/cmake,lib/libwx_base*,bin/wxrc*} rm -r "$pkgdir"/usr/{include,lib/libwx_base*,bin/wxrc*}
mv "$pkgdir"/usr/bin/wx-config{,-qt} # Conflicts with wx-gtk3 mv "$pkgdir"/usr/bin/wx-config{,-qt} # Conflicts with wx-gtk3
# Rename cmake files for coinstallability
mv "$pkgdir"/usr/lib/cmake/wxWidgets{,Qt}
for _f in "$pkgdir"/usr/lib/cmake/wxWidgetsQt/*; do
mv $_f $(dirname $_f)/$(basename $_f | sed -e 's/wxWidgets/wxWidgetsQt/')
done
install -Dm644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE install -Dm644 wxWidgets-$pkgver/docs/licence.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
} }

View File

@ -1,32 +0,0 @@
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()