Hello community, here is the log from the commit of package libArcus for openSUSE:Factory checked in at 2020-11-11 20:47:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libArcus (Old) and /work/SRC/openSUSE:Factory/.libArcus.new.26437 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libArcus" Wed Nov 11 20:47:40 2020 rev:12 rq:847705 version:4.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libArcus/libArcus.changes 2020-09-17 14:48:54.219799495 +0200 +++ /work/SRC/openSUSE:Factory/.libArcus.new.26437/libArcus.changes 2020-11-11 20:47:54.723732626 +0100 @@ -1,0 +2,8 @@ +Tue Nov 10 18:06:37 UTC 2020 - Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de> + +- update to 4.8.0 + * no code changes, just some build system churn. +- Fix build error with Python 3.8, add + 0001-Fix-build-with-Python-3.8-and-no-undefined-linker-flags.patch + +------------------------------------------------------------------- Old: ---- libArcus-4.7.1.tar.gz New: ---- 0001-Fix-build-with-Python-3.8-and-no-undefined-linker-flags.patch libArcus-4.8.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libArcus.spec ++++++ --- /var/tmp/diff_new_pack.VxdrGJ/_old 2020-11-11 20:47:55.363733227 +0100 +++ /var/tmp/diff_new_pack.VxdrGJ/_new 2020-11-11 20:47:55.367733231 +0100 @@ -18,15 +18,18 @@ %define sover 3 Name: libArcus -Version: 4.7.1 +%define sversion 4.8 +Version: 4.8.0 Release: 0 Summary: 3D printer control software License: LGPL-3.0-only Group: Development/Libraries/C and C++ -URL: http://github.com/Ultimaker/%name -Source: https://github.com/Ultimaker/libArcus/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +URL: https://github.com/Ultimaker/%name +Source: https://github.com/Ultimaker/libArcus/archive/%{sversion}.tar.gz#/%{name}-%{version}.tar.gz # PATCH-FIX-OPENSUSE - use Qt5 sip import name, taken from Fedora Patch0: libArcus-3.5.1-PyQt5.sip.patch +# PATCH-FIX-UPSTREAM - https://github.com/Ultimaker/libArcus/pull/113 +Patch1: 0001-Fix-build-with-Python-3.8-and-no-undefined-linker-flags.patch BuildRequires: cmake >= 3.6 BuildRequires: gcc-c++ BuildRequires: protobuf-devel >= 3.0.0 @@ -54,8 +57,9 @@ tools necessary for compiling and linking programs which use %{name}. %prep -%setup +%setup -n %{name}-%{sversion} %patch0 -p1 +%patch1 -p1 %build %cmake ++++++ 0001-Fix-build-with-Python-3.8-and-no-undefined-linker-flags.patch ++++++ From 53959415a4748a3518a6586fab6b8f821bb121c3 Mon Sep 17 00:00:00 2001 From: StefanBruens <stefan.bru...@rwth-aachen.de> Date: Sun, 25 Oct 2020 06:23:16 +0100 Subject: [PATCH] Fix build with Python 3.8 and --no-undefined linker flags Currently the build uses the CMAKE_SHARED_LINKER_FLAGS for both the libArcus shared library as well as the Python module. Starting with Python 3.8 the Python module is no longer linked to libpython, and thus some symbols stay undefined. The correct build type for python modules is "MODULE", which uses the distinct CMAKE_MODULE_LINKER_FLAGS. This allows to keep the '-Wl,--no-undefined' linker flag for libArcus. https://github.com/Ultimaker/libArcus/pull/109 --- cmake/SIPMacros.cmake | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/cmake/SIPMacros.cmake b/cmake/SIPMacros.cmake index e80198f..50553e0 100644 --- a/cmake/SIPMacros.cmake +++ b/cmake/SIPMacros.cmake @@ -105,12 +105,7 @@ MACRO(ADD_SIP_PYTHON_MODULE MODULE_NAME MODULE_SIP) COMMAND ${SIP_EXECUTABLE} ${_sip_tags} ${_sip_x} ${SIP_EXTRA_OPTIONS} -j ${SIP_CONCAT_PARTS} -c ${CMAKE_CURRENT_BINARY_DIR}/${_module_path} ${_sip_includes} ${_abs_module_sip} DEPENDS ${_abs_module_sip} ${SIP_EXTRA_FILES_DEPEND} ) - # not sure if type MODULE could be uses anywhere, limit to cygwin for now - IF (CYGWIN OR APPLE) - ADD_LIBRARY(${_logical_name} MODULE ${_sip_output_files} ${SIP_EXTRA_SOURCE_FILES}) - ELSE (CYGWIN OR APPLE) - ADD_LIBRARY(${_logical_name} SHARED ${_sip_output_files} ${SIP_EXTRA_SOURCE_FILES}) - ENDIF (CYGWIN OR APPLE) + ADD_LIBRARY(${_logical_name} MODULE ${_sip_output_files} ${SIP_EXTRA_SOURCE_FILES}) IF (NOT APPLE) IF ("${Python3_VERSION_MINOR}" GREATER 7) MESSAGE(STATUS "Python > 3.7 - not linking to libpython") ++++++ libArcus-4.7.1.tar.gz -> libArcus-4.8.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libArcus-4.7.1/CMakeLists.txt new/libArcus-4.8/CMakeLists.txt --- old/libArcus-4.7.1/CMakeLists.txt 2020-08-06 13:55:39.000000000 +0200 +++ new/libArcus-4.8/CMakeLists.txt 2020-10-09 18:43:28.000000000 +0200 @@ -24,16 +24,10 @@ if(BUILD_PYTHON) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) - # FIXME: Remove the code for CMake <3.12 once we have switched over completely. - # FindPython3 is a new module since CMake 3.12. It deprecates FindPythonInterp and FindPythonLibs. - if(${CMAKE_VERSION} VERSION_LESS 3.12) - # Use FindPythonInterp and FindPythonLibs for CMake <3.12 - find_package(PythonInterp 3.4 REQUIRED) - find_package(PythonLibs 3.4 REQUIRED) - else() - # Use FindPython3 for CMake >=3.12 - find_package(Python3 3.4 REQUIRED COMPONENTS Interpreter Development) - endif() + # FIXME: Use FindPython3 to find Python, new in CMake 3.12. + # However currently on our CI server it finds the wrong Python version and then doesn't find the headers. + find_package(PythonInterp 3.4 REQUIRED) + find_package(PythonLibs 3.4 REQUIRED) find_package(SIP REQUIRED) if(NOT DEFINED LIB_SUFFIX) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libArcus-4.7.1/README.md new/libArcus-4.8/README.md --- old/libArcus-4.7.1/README.md 2020-08-06 13:55:39.000000000 +0200 +++ new/libArcus-4.8/README.md 2020-10-09 18:43:28.000000000 +0200 @@ -29,8 +29,7 @@ To disable building the Python bindings, set BUILD_PYTHON to OFF. They will be installed into ```$prefix/lib/python3/dist-packages``` on Debian-based systems -and into ```$prefix/lib/python3.4/site-packages``` on other computers. To -override this directory, set ```PYTHON_SITE_PACKAGES_DIR```. +and into ```$prefix/lib/python3.4/site-packages``` on other computers. Building the Python bindings on 64-bit Windows requires you to build with Microsoft Visual C++ since the module will fail to import if built with MinGW. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libArcus-4.7.1/cmake/FindSIP.cmake new/libArcus-4.8/cmake/FindSIP.cmake --- old/libArcus-4.7.1/cmake/FindSIP.cmake 2020-08-06 13:55:39.000000000 +0200 +++ new/libArcus-4.8/cmake/FindSIP.cmake 2020-10-09 18:43:28.000000000 +0200 @@ -24,46 +24,41 @@ set(CMAKE_FIND_FRAMEWORK LAST) endif() -# FIXME: Remove the code for CMake <3.12 once we have switched over completely. -# FindPython3 is a new module since CMake 3.12. It deprecates FindPythonInterp and FindPythonLibs. -if(${CMAKE_VERSION} VERSION_LESS 3.12) - # Use FindPythonInterp and FindPythonLibs for CMake <3.12 - find_package(PythonInterp 3.4 REQUIRED) - find_package(PythonLibs 3.4 REQUIRED) +# FIXME: Use FindPython3 to find Python, new in CMake 3.12. +# However currently on our CI server it finds the wrong Python version and then doesn't find the headers. +find_package(PythonInterp 3.5 REQUIRED) +find_package(PythonLibs 3.5 REQUIRED) - # Define variables that are available in FindPython3, so there's no need to branch off in the later part. - set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE}) - set(Python3_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) - set(Python3_LIBRARIES ${PYTHON_LIBRARIES}) +# Define variables that are available in FindPython3, so there's no need to branch off in the later part. +set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE}) +set(Python3_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}) +set(Python3_LIBRARIES ${PYTHON_LIBRARIES}) +set(Python3_VERSION_MINOR "${PYTHON_VERSION_MINOR}") - execute_process( - COMMAND ${Python3_EXECUTABLE} -c - "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False))" - RESULT_VARIABLE _process_status - OUTPUT_VARIABLE _process_output - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(${_process_status} EQUAL 0) - string(STRIP ${_process_output} Python3_SITELIB) - else() - message(FATAL_ERROR "Failed to get Python3_SITELIB. Error: ${_process_output}") - endif() +execute_process( + COMMAND ${Python3_EXECUTABLE} -c + "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(plat_specific=False,standard_lib=False))" + RESULT_VARIABLE _process_status + OUTPUT_VARIABLE _process_output + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(${_process_status} EQUAL 0) + string(STRIP ${_process_output} Python3_SITELIB) +else() + message(FATAL_ERROR "Failed to get Python3_SITELIB. Error: ${_process_output}") +endif() - execute_process( - COMMAND ${Python3_EXECUTABLE} -c - "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False))" - RESULT_VARIABLE _process_status - OUTPUT_VARIABLE _process_output - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(${_process_status} EQUAL 0) - string(STRIP ${_process_output} Python3_SITEARCH) - else() - message(FATAL_ERROR "Failed to get Python3_SITEARCH. Error: ${_process_output}") - endif() +execute_process( + COMMAND ${Python3_EXECUTABLE} -c + "import distutils.sysconfig; print(distutils.sysconfig.get_python_lib(plat_specific=True,standard_lib=False))" + RESULT_VARIABLE _process_status + OUTPUT_VARIABLE _process_output + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(${_process_status} EQUAL 0) + string(STRIP ${_process_output} Python3_SITEARCH) else() - # Use FindPython3 for CMake >=3.12 - find_package(Python3 3.4 REQUIRED COMPONENTS Interpreter Development) + message(FATAL_ERROR "Failed to get Python3_SITEARCH. Error: ${_process_output}") endif() get_filename_component(_python_binary_path ${Python3_EXECUTABLE} DIRECTORY) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libArcus-4.7.1/cmake/SIPMacros.cmake new/libArcus-4.8/cmake/SIPMacros.cmake --- old/libArcus-4.7.1/cmake/SIPMacros.cmake 2020-08-06 13:55:39.000000000 +0200 +++ new/libArcus-4.8/cmake/SIPMacros.cmake 2020-10-09 18:43:28.000000000 +0200 @@ -112,7 +112,11 @@ ADD_LIBRARY(${_logical_name} SHARED ${_sip_output_files} ${SIP_EXTRA_SOURCE_FILES}) ENDIF (CYGWIN OR APPLE) IF (NOT APPLE) - TARGET_LINK_LIBRARIES(${_logical_name} ${Python3_LIBRARIES}) + IF ("${Python3_VERSION_MINOR}" GREATER 7) + MESSAGE(STATUS "Python > 3.7 - not linking to libpython") + ELSE () + TARGET_LINK_LIBRARIES(${_logical_name} ${Python3_LIBRARIES}) + ENDIF () ENDIF (NOT APPLE) TARGET_LINK_LIBRARIES(${_logical_name} ${EXTRA_LINK_LIBRARIES}) IF (APPLE) _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org