[arch-commits] Commit in cmake/trunk (PKGBUILD wxwidgets-3.2.patch)

Antonio Rojas arojas at gemini.archlinux.org
Thu Jul 7 16:31:38 UTC 2022


    Date: Thursday, July 7, 2022 @ 16:31:38
  Author: arojas
Revision: 450490

Support wxwidgets 3.2

Added:
  cmake/trunk/wxwidgets-3.2.patch
Modified:
  cmake/trunk/PKGBUILD

---------------------+
 PKGBUILD            |   12 +
 wxwidgets-3.2.patch |  303 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 312 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-07-07 16:10:42 UTC (rev 450489)
+++ PKGBUILD	2022-07-07 16:31:38 UTC (rev 450490)
@@ -4,7 +4,7 @@
 
 pkgname=cmake
 pkgver=3.23.2
-pkgrel=1
+pkgrel=2
 pkgdesc='A cross-platform open-source make system'
 arch=('x86_64')
 url="https://www.cmake.org/"
@@ -12,9 +12,15 @@
 depends=('curl' 'libarchive' 'hicolor-icon-theme' 'jsoncpp' 'libjsoncpp.so' 'libuv' 'rhash')
 makedepends=('qt6-base' 'python-sphinx' 'emacs')
 optdepends=('qt6-base: cmake-gui')
-source=("https://www.cmake.org/files/v${pkgver%.*}/${pkgname}-${pkgver}.tar.gz")
-sha512sums=('0925adf973d642fd76d4089b61b3882babb0a85050c4c57d5f5f3bd6b17564a9feb0beed236cd636e25f69072fa30b67ea3f80932380b6b6576f2dd78b8e6931')
+source=("https://www.cmake.org/files/v${pkgver%.*}/${pkgname}-${pkgver}.tar.gz"
+         wxwidgets-3.2.patch)
+sha512sums=('0925adf973d642fd76d4089b61b3882babb0a85050c4c57d5f5f3bd6b17564a9feb0beed236cd636e25f69072fa30b67ea3f80932380b6b6576f2dd78b8e6931'
+            '618a529fcd0a5029160fc6ef74439b7cb54ca74d13d52dd6cad005710bf1be263d0bf90bc4becc63a37929ac2f86c51278685e9da93fd82355ac646cb43b356f')
 
+prepare() {
+  patch -d $pkgname-$pkgver -p1 < wxwidgets-3.2.patch # Support wxWidgets 3.2
+}
+
 build() {
   cd ${pkgname}-${pkgver}
   ./bootstrap --prefix=/usr \

Added: wxwidgets-3.2.patch
===================================================================
--- wxwidgets-3.2.patch	                        (rev 0)
+++ wxwidgets-3.2.patch	2022-07-07 16:31:38 UTC (rev 450490)
@@ -0,0 +1,303 @@
+From ed51e0bb752ecaae29c4ac7a6a89ebfbe5fb4016 Mon Sep 17 00:00:00 2001
+From: Maarten Bent <MaartenBent at users.noreply.github.com>
+Date: Wed, 15 Jun 2022 18:23:41 +0200
+Subject: [PATCH 1/3] FindwxWidgets: Move extracting version number to a macro
+
+---
+ Modules/FindwxWidgets.cmake | 44 ++++++++++++++++++++-----------------
+ 1 file changed, 24 insertions(+), 20 deletions(-)
+
+diff --git a/Modules/FindwxWidgets.cmake b/Modules/FindwxWidgets.cmake
+index f7996bacb0..accae50e80 100644
+--- a/Modules/FindwxWidgets.cmake
++++ b/Modules/FindwxWidgets.cmake
+@@ -215,6 +215,29 @@ else()
+   set(wxWidgets_USE_FILE UsewxWidgets)
+ endif()
+ 
++macro(wx_extract_version)
++  unset(_wx_filename)
++  find_file(_wx_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
++  dbg_msg("_wx_filename:  ${_wx_filename}")
++
++  if(NOT _wx_filename)
++    message(FATAL_ERROR "wxWidgets wx/version.h file not found in ${wxWidgets_INCLUDE_DIRS}.")
++  endif()
++
++  file(READ "${_wx_filename}" _wx_version_h)
++  unset(_wx_filename CACHE)
++
++  string(REGEX REPLACE "^(.*\n)?#define +wxMAJOR_VERSION +([0-9]+).*"
++    "\\2" wxWidgets_VERSION_MAJOR "${_wx_version_h}" )
++  string(REGEX REPLACE "^(.*\n)?#define +wxMINOR_VERSION +([0-9]+).*"
++    "\\2" wxWidgets_VERSION_MINOR "${_wx_version_h}" )
++  string(REGEX REPLACE "^(.*\n)?#define +wxRELEASE_NUMBER +([0-9]+).*"
++    "\\2" wxWidgets_VERSION_PATCH "${_wx_version_h}" )
++  set(wxWidgets_VERSION_STRING
++    "${wxWidgets_VERSION_MAJOR}.${wxWidgets_VERSION_MINOR}.${wxWidgets_VERSION_PATCH}" )
++  dbg_msg("wxWidgets_VERSION_STRING:    ${wxWidgets_VERSION_STRING}")
++endmacro()
++
+ #=====================================================================
+ # Determine whether unix or win32 paths should be used
+ #=====================================================================
+@@ -981,26 +1004,7 @@ unset(_wx_lib_missing)
+ 
+ # Check if a specific version was requested by find_package().
+ if(wxWidgets_FOUND)
+-  unset(_wx_filename)
+-  find_file(_wx_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
+-  dbg_msg("_wx_filename:  ${_wx_filename}")
+-
+-  if(NOT _wx_filename)
+-    message(FATAL_ERROR "wxWidgets wx/version.h file not found in ${wxWidgets_INCLUDE_DIRS}.")
+-  endif()
+-
+-  file(READ "${_wx_filename}" _wx_version_h)
+-  unset(_wx_filename CACHE)
+-
+-  string(REGEX REPLACE "^(.*\n)?#define +wxMAJOR_VERSION +([0-9]+).*"
+-    "\\2" wxWidgets_VERSION_MAJOR "${_wx_version_h}" )
+-  string(REGEX REPLACE "^(.*\n)?#define +wxMINOR_VERSION +([0-9]+).*"
+-    "\\2" wxWidgets_VERSION_MINOR "${_wx_version_h}" )
+-  string(REGEX REPLACE "^(.*\n)?#define +wxRELEASE_NUMBER +([0-9]+).*"
+-    "\\2" wxWidgets_VERSION_PATCH "${_wx_version_h}" )
+-  set(wxWidgets_VERSION_STRING
+-    "${wxWidgets_VERSION_MAJOR}.${wxWidgets_VERSION_MINOR}.${wxWidgets_VERSION_PATCH}" )
+-  dbg_msg("wxWidgets_VERSION_STRING:    ${wxWidgets_VERSION_STRING}")
++  wx_extract_version()
+ endif()
+ 
+ # Debug output:
+-- 
+GitLab
+
+
+From 853449429dec94d64bd0c0cfd41d0104416210df Mon Sep 17 00:00:00 2001
+From: Maarten Bent <MaartenBent at users.noreply.github.com>
+Date: Wed, 15 Jun 2022 18:26:08 +0200
+Subject: [PATCH 2/3] FindwxWidgets: Use version number from header for library
+ names
+
+---
+ Modules/FindwxWidgets.cmake | 47 ++++++++++---------------------------
+ 1 file changed, 12 insertions(+), 35 deletions(-)
+
+diff --git a/Modules/FindwxWidgets.cmake b/Modules/FindwxWidgets.cmake
+index accae50e80..3567a62df0 100644
+--- a/Modules/FindwxWidgets.cmake
++++ b/Modules/FindwxWidgets.cmake
+@@ -292,10 +292,11 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+   #
+   # Find libraries associated to a configuration.
+   #
+-  macro(WX_FIND_LIBS _PF _UNV _UCD _DBG)
++  macro(WX_FIND_LIBS _PF _UNV _UCD _DBG _VER)
+     DBG_MSG_V("m_unv = ${_UNV}")
+     DBG_MSG_V("m_ucd = ${_UCD}")
+     DBG_MSG_V("m_dbg = ${_DBG}")
++    DBG_MSG_V("m_ver = ${_VER}")
+ 
+     # FIXME: What if both regex libs are available. regex should be
+     # found outside the loop and only wx${LIB}${_UCD}${_DBG}.
+@@ -313,28 +314,14 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+ 
+     # Find wxWidgets multilib base libraries.
+     find_library(WX_base${_DBG}
+-      NAMES
+-      wxbase31${_UCD}${_DBG}
+-      wxbase30${_UCD}${_DBG}
+-      wxbase29${_UCD}${_DBG}
+-      wxbase28${_UCD}${_DBG}
+-      wxbase27${_UCD}${_DBG}
+-      wxbase26${_UCD}${_DBG}
+-      wxbase25${_UCD}${_DBG}
++      NAMES wxbase${_VER}${_UCD}${_DBG}
+       PATHS ${WX_LIB_DIR}
+       NO_DEFAULT_PATH
+       )
+     mark_as_advanced(WX_base${_DBG})
+     foreach(LIB net odbc xml)
+       find_library(WX_${LIB}${_DBG}
+-        NAMES
+-        wxbase31${_UCD}${_DBG}_${LIB}
+-        wxbase30${_UCD}${_DBG}_${LIB}
+-        wxbase29${_UCD}${_DBG}_${LIB}
+-        wxbase28${_UCD}${_DBG}_${LIB}
+-        wxbase27${_UCD}${_DBG}_${LIB}
+-        wxbase26${_UCD}${_DBG}_${LIB}
+-        wxbase25${_UCD}${_DBG}_${LIB}
++        NAMES wxbase${_VER}${_UCD}${_DBG}_${LIB}
+         PATHS ${WX_LIB_DIR}
+         NO_DEFAULT_PATH
+         )
+@@ -343,14 +330,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+ 
+     # Find wxWidgets monolithic library.
+     find_library(WX_mono${_DBG}
+-      NAMES
+-      wx${_PF}${_UNV}31${_UCD}${_DBG}
+-      wx${_PF}${_UNV}30${_UCD}${_DBG}
+-      wx${_PF}${_UNV}29${_UCD}${_DBG}
+-      wx${_PF}${_UNV}28${_UCD}${_DBG}
+-      wx${_PF}${_UNV}27${_UCD}${_DBG}
+-      wx${_PF}${_UNV}26${_UCD}${_DBG}
+-      wx${_PF}${_UNV}25${_UCD}${_DBG}
++      NAMES wx${_PF}${_UNV}${_VER}${_UCD}${_DBG}
+       PATHS ${WX_LIB_DIR}
+       NO_DEFAULT_PATH
+       )
+@@ -360,14 +340,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+     foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
+                 stc ribbon propgrid webview)
+       find_library(WX_${LIB}${_DBG}
+-        NAMES
+-        wx${_PF}${_UNV}31${_UCD}${_DBG}_${LIB}
+-        wx${_PF}${_UNV}30${_UCD}${_DBG}_${LIB}
+-        wx${_PF}${_UNV}29${_UCD}${_DBG}_${LIB}
+-        wx${_PF}${_UNV}28${_UCD}${_DBG}_${LIB}
+-        wx${_PF}${_UNV}27${_UCD}${_DBG}_${LIB}
+-        wx${_PF}${_UNV}26${_UCD}${_DBG}_${LIB}
+-        wx${_PF}${_UNV}25${_UCD}${_DBG}_${LIB}
++        NAMES wx${_PF}${_UNV}${_VER}${_UCD}${_DBG}_${LIB}
+         PATHS ${WX_LIB_DIR}
+         NO_DEFAULT_PATH
+         )
+@@ -678,10 +651,14 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+           set(wxWidgets_FOUND FALSE)
+         endif()
+ 
++        # Get version number.
++        wx_extract_version()
++        set(VER "${wxWidgets_VERSION_MAJOR}${wxWidgets_VERSION_MINOR}")
++
+         # Find wxWidgets libraries.
+-        WX_FIND_LIBS("${PF}" "${UNV}" "${UCD}" "${DBG}")
++        WX_FIND_LIBS("${PF}" "${UNV}" "${UCD}" "${DBG}" "${VER}")
+         if(WX_USE_REL_AND_DBG)
+-          WX_FIND_LIBS("${PF}" "${UNV}" "${UCD}" "d")
++          WX_FIND_LIBS("${PF}" "${UNV}" "${UCD}" "d" "${VER}")
+         endif()
+ 
+         # Settings for requested libs (i.e., include dir, libraries, etc.).
+-- 
+GitLab
+
+
+From 2a19231d618482755e9aae981a65680bb1ec1050 Mon Sep 17 00:00:00 2001
+From: Maarten Bent <MaartenBent at users.noreply.github.com>
+Date: Wed, 15 Jun 2022 18:28:00 +0200
+Subject: [PATCH 3/3] FindwxWidgets: Support more wxWidgets versions, including
+ 3.2
+
+Update the example to use a more recent wxWidgets version.
+
+Use a list with known version numbers when searching for installation directories and wx-config names.
+---
+ Modules/FindwxWidgets.cmake | 58 ++++++++++++-------------------------
+ 1 file changed, 18 insertions(+), 40 deletions(-)
+
+diff --git a/Modules/FindwxWidgets.cmake b/Modules/FindwxWidgets.cmake
+index 3567a62df0..9e7937e2ea 100644
+--- a/Modules/FindwxWidgets.cmake
++++ b/Modules/FindwxWidgets.cmake
+@@ -29,9 +29,9 @@ select a configuration):
+ ::
+ 
+   wxWidgets_ROOT_DIR      - Base wxWidgets directory
+-                            (e.g., C:/wxWidgets-2.6.3).
++                            (e.g., C:/wxWidgets-3.2.0).
+   wxWidgets_LIB_DIR       - Path to wxWidgets libraries
+-                            (e.g., C:/wxWidgets-2.6.3/lib/vc_lib).
++                            (e.g., C:/wxWidgets-3.2.0/lib/vc_x64_lib).
+   wxWidgets_CONFIGURATION - Configuration to use
+                             (e.g., msw, mswd, mswu, mswunivud, etc.)
+   wxWidgets_EXCLUDE_COMMON_LIBRARIES
+@@ -215,6 +215,9 @@ else()
+   set(wxWidgets_USE_FILE UsewxWidgets)
+ endif()
+ 
++# Known wxWidgets versions.
++set(wx_versions 3.3 3.2 3.1 3.0 2.9 2.8 2.7 2.6 2.5)
++
+ macro(wx_extract_version)
+   unset(_wx_filename)
+   find_file(_wx_filename wx/version.h PATHS ${wxWidgets_INCLUDE_DIRS} NO_DEFAULT_PATH)
+@@ -443,6 +446,13 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+   # WIN32: Start actual work.
+   #-------------------------------------------------------------------
+ 
++  set(wx_paths "wxWidgets")
++  foreach(version ${wx_versions})
++    foreach(patch RANGE 15 0 -1)
++      list(APPEND wx_paths "wxWidgets-${version}.${patch}")
++    endforeach()
++  endforeach()
++
+   # Look for an installation tree.
+   find_path(wxWidgets_ROOT_DIR
+     NAMES include/wx/wx.h
+@@ -454,41 +464,7 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32")
+       D:/
+       ENV ProgramFiles
+     PATH_SUFFIXES
+-      wxWidgets-3.1.0
+-      wxWidgets-3.0.2
+-      wxWidgets-3.0.1
+-      wxWidgets-3.0.0
+-      wxWidgets-2.9.5
+-      wxWidgets-2.9.4
+-      wxWidgets-2.9.3
+-      wxWidgets-2.9.2
+-      wxWidgets-2.9.1
+-      wxWidgets-2.9.0
+-      wxWidgets-2.8.9
+-      wxWidgets-2.8.8
+-      wxWidgets-2.8.7
+-      wxWidgets-2.8.6
+-      wxWidgets-2.8.5
+-      wxWidgets-2.8.4
+-      wxWidgets-2.8.3
+-      wxWidgets-2.8.2
+-      wxWidgets-2.8.1
+-      wxWidgets-2.8.0
+-      wxWidgets-2.7.4
+-      wxWidgets-2.7.3
+-      wxWidgets-2.7.2
+-      wxWidgets-2.7.1
+-      wxWidgets-2.7.0
+-      wxWidgets-2.7.0-1
+-      wxWidgets-2.6.4
+-      wxWidgets-2.6.3
+-      wxWidgets-2.6.2
+-      wxWidgets-2.6.1
+-      wxWidgets-2.5.4
+-      wxWidgets-2.5.3
+-      wxWidgets-2.5.2
+-      wxWidgets-2.5.1
+-      wxWidgets
++      ${wx_paths}
+     DOC "wxWidgets base/installation directory"
+     )
+ 
+@@ -773,12 +749,14 @@ else()
+     # Look for wx-config -- this can be set in the environment,
+     # or try versioned and toolchain-versioned variants of the -config
+     # executable as well.
++    set(wx_config_names "wx-config")
++    foreach(version ${wx_versions})
++      list(APPEND wx_config_names "wx-config-${version}" "wxgtk3u-${version}-config" "wxgtk2u-${version}-config")
++    endforeach()
+     find_program(wxWidgets_CONFIG_EXECUTABLE
+       NAMES
+         $ENV{WX_CONFIG}
+-        wx-config
+-        wx-config-3.1 wx-config-3.0 wx-config-2.9 wx-config-2.8
+-        wxgtk3u-3.1-config wxgtk3u-3.0-config wxgtk2u-2.8-config
++        ${wx_config_names}
+       DOC "Location of wxWidgets library configuration provider binary (wx-config)."
+       ONLY_CMAKE_FIND_ROOT_PATH
+       )
+-- 
+GitLab
+



More information about the arch-commits mailing list