File libkolab-3.0.2-PHP7+8.patch of Package libkolab

diff -Ppru libkolab-3.0.2.orig/cmake/modules/SWIGUtils.cmake libkolab-3.0.2/cmake/modules/SWIGUtils.cmake
--- libkolab-3.0.2.orig/cmake/modules/SWIGUtils.cmake	2022-08-12 14:05:47.000000000 +0200
+++ libkolab-3.0.2/cmake/modules/SWIGUtils.cmake	2023-01-30 19:38:34.050760740 +0100
@@ -2,10 +2,15 @@
 
 macro (generatePHPBindings MODULE_NAME INTERFACE_FILE)
 
+    set(SWIG_PHP_MAJOR 7)
+    if (PHP_MAJOR EQUAL 5)
+        set(SWIG_PHP_MAJOR 5)
+    endif()
+
     set(KOLAB_SWIG_PHP_SOURCE_FILE php_${MODULE_NAME}_wrapper.cpp)
     add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}.php
-        COMMAND ${SWIG} -v -c++ -php -I${Libkolabxml_INCLUDES} -module ${MODULE_NAME} -o ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE} ${INTERFACE_FILE}
-        COMMENT "Generating php bindings"
+        COMMAND ${SWIG} -v -c++ -php${SWIG_PHP_MAJOR} -I${Libkolabxml_INCLUDES} -module ${MODULE_NAME} -o ${CMAKE_CURRENT_BINARY_DIR}/${KOLAB_SWIG_PHP_SOURCE_FILE} ${INTERFACE_FILE}
+        COMMENT "Generating php${PHP_MAJOR} bindings"
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
         DEPENDS ${INTERFACE_FILE} kolab
         VERBATIM
@@ -25,8 +30,8 @@ macro (generatePHPBindings MODULE_NAME I
     endif()
     set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-field-initializers -Wno-undef" )
 
-    # Try to find PHP5
-    find_path(PHP_INCLUDE_DIR NAMES main/php.h PATH_SUFFIXES php php5)
+    # Try to find PHP
+    find_path(PHP_INCLUDE_DIR NAMES main/php.h PATH_SUFFIXES php php${PHP_MAJOR})
     find_program(PHP_EXECUTABLE NAMES php)
 
     # Libkolab needs PHP >= 5.3
@@ -67,10 +72,12 @@ macro (generatePHPBindings MODULE_NAME I
         #     configure_file(test.php ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
 
         install(TARGETS ${MODULE_NAME}_phpbindings LIBRARY DESTINATION ${PHP_INSTALL_DIR})
-        install(FILES
-            ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}.php
-            DESTINATION ${PHP_INSTALL_DIR}
-            )
+        if (SWIG_VERSION VERSION_LESS 4.1.0)
+            install(FILES
+                ${CMAKE_CURRENT_BINARY_DIR}/${MODULE_NAME}.php
+                DESTINATION ${PHP_INSTALL_DIR}
+                )
+        endif()
 
     else()
         message(WARNING "not building php bindings because php was not found")
diff -Ppru libkolab-3.0.2.orig/CMakeLists.txt libkolab-3.0.2/CMakeLists.txt
--- libkolab-3.0.2.orig/CMakeLists.txt	2022-08-12 14:05:47.000000000 +0200
+++ libkolab-3.0.2/CMakeLists.txt	2023-01-30 19:40:05.790761420 +0100
@@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 2.8.9)
 option(BUILD_TESTS "Build the tests" TRUE)
 option(PYTHON_BINDINGS "Build bindings for python" FALSE)
 option(PHP_BINDINGS "Build bindings for php" FALSE)
+option(PHP_MAJOR "PHP major version to build with" 7)
 
 set(Libkolab_MODULE_DIR ${Libkolab_SOURCE_DIR}/cmake/modules)
 set(CMAKE_MODULE_PATH ${Libkolab_MODULE_DIR})
@@ -72,7 +73,11 @@ include(FindPackageHandleStandardArgs)
 find_package(KF5CalendarCore "5.12.1" CONFIG REQUIRED)
 find_package(KF5Mime "4.84.0" CONFIG REQUIRED)
 
-find_package(SWIG)
+find_package(SWIG 2.0)
+if(SWIG_FOUND)
+    set(SWIG swig)
+    message("SWIG found")
+endif()
 
 #Show summary of found libraries
 macro_display_feature_log()
openSUSE Build Service is sponsored by