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()