Compare commits
No commits in common. "rawhide" and "f29" have entirely different histories.
16 changed files with 116 additions and 929 deletions
15
.gitignore
vendored
15
.gitignore
vendored
|
|
@ -1,3 +1,12 @@
|
|||
/libarcus-*.tar.gz
|
||||
/pyArcus-5.2.2.tar.gz
|
||||
/pyArcus-5.3.0.tar.gz
|
||||
/libarcus-2.4.0.tar.gz
|
||||
/libarcus-2.5.0.tar.gz
|
||||
/libarcus-2.6.0.tar.gz
|
||||
/libarcus-2.6.1.tar.gz
|
||||
/libarcus-2.7.0.tar.gz
|
||||
/libarcus-3.0.3.tar.gz
|
||||
/libarcus-3.1.0.tar.gz
|
||||
/libarcus-3.2.1.tar.gz
|
||||
/libarcus-3.3.0.tar.gz
|
||||
/libarcus-3.4.1.tar.gz
|
||||
/libarcus-3.5.1.tar.gz
|
||||
/libarcus-3.6.0.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/Socket_p.h b/src/Socket_p.h
|
||||
index 9c3c084..9ccabda 100644
|
||||
--- a/src/Socket_p.h
|
||||
+++ b/src/Socket_p.h
|
||||
@@ -548,7 +548,7 @@ namespace Arcus
|
||||
|
||||
google::protobuf::io::ArrayInputStream array(wire_message->data, wire_message->size);
|
||||
google::protobuf::io::CodedInputStream stream(&array);
|
||||
- stream.SetTotalBytesLimit(message_size_maximum, message_size_warning);
|
||||
+ stream.SetTotalBytesLimit(message_size_maximum);
|
||||
if(!message->ParseFromCodedStream(&stream))
|
||||
{
|
||||
error(ErrorCode::ParseFailedError, "Failed to parse message:" + std::string(wire_message->data));
|
||||
114
160.patch
114
160.patch
|
|
@ -1,114 +0,0 @@
|
|||
From 4826f0d567a6dc373ee8d378f2e40977d94f586b Mon Sep 17 00:00:00 2001
|
||||
From: Gregor Riepl <onitake@gmail.com>
|
||||
Date: Thu, 20 Feb 2025 20:27:10 +0100
|
||||
Subject: [PATCH] Add cstdint includes where needed
|
||||
|
||||
---
|
||||
include/Arcus/MessageTypeStore.h | 1 +
|
||||
include/Arcus/Types.h | 1 +
|
||||
src/MessageTypeStore.cpp | 1 +
|
||||
src/PlatformSocket.cpp | 2 ++
|
||||
src/PlatformSocket_p.h | 1 +
|
||||
src/Socket_p.h | 1 +
|
||||
src/WireMessage_p.h | 2 ++
|
||||
test_package/src/test.cpp | 1 +
|
||||
8 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/include/Arcus/MessageTypeStore.h b/include/Arcus/MessageTypeStore.h
|
||||
index 6cc7b5ee..416c6686 100644
|
||||
--- a/include/Arcus/MessageTypeStore.h
|
||||
+++ b/include/Arcus/MessageTypeStore.h
|
||||
@@ -5,6 +5,7 @@
|
||||
#define ARCUS_MESSAGE_TYPE_STORE_H
|
||||
|
||||
#include <memory>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "Arcus/Types.h"
|
||||
|
||||
diff --git a/include/Arcus/Types.h b/include/Arcus/Types.h
|
||||
index 9fdcc60a..58103de6 100644
|
||||
--- a/include/Arcus/Types.h
|
||||
+++ b/include/Arcus/Types.h
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
+#include <cstdint>
|
||||
|
||||
namespace google
|
||||
{
|
||||
diff --git a/src/MessageTypeStore.cpp b/src/MessageTypeStore.cpp
|
||||
index 44c94ec7..5db03cdd 100644
|
||||
--- a/src/MessageTypeStore.cpp
|
||||
+++ b/src/MessageTypeStore.cpp
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <unordered_map>
|
||||
+#include <cstdint>
|
||||
|
||||
#include <google/protobuf/compiler/importer.h>
|
||||
#include <google/protobuf/dynamic_message.h>
|
||||
diff --git a/src/PlatformSocket.cpp b/src/PlatformSocket.cpp
|
||||
index ab113e32..90c590da 100644
|
||||
--- a/src/PlatformSocket.cpp
|
||||
+++ b/src/PlatformSocket.cpp
|
||||
@@ -1,6 +1,8 @@
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// libArcus is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "PlatformSocket_p.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
diff --git a/src/PlatformSocket_p.h b/src/PlatformSocket_p.h
|
||||
index b1e9aa59..3f7e4249 100644
|
||||
--- a/src/PlatformSocket_p.h
|
||||
+++ b/src/PlatformSocket_p.h
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
+#include <cstdint>
|
||||
|
||||
namespace Arcus
|
||||
{
|
||||
diff --git a/src/Socket_p.h b/src/Socket_p.h
|
||||
index 33f5873f..7711389c 100644
|
||||
--- a/src/Socket_p.h
|
||||
+++ b/src/Socket_p.h
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <unordered_map>
|
||||
+#include <cstdint>
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <winsock2.h>
|
||||
diff --git a/src/WireMessage_p.h b/src/WireMessage_p.h
|
||||
index 07f8dd13..757aa32e 100644
|
||||
--- a/src/WireMessage_p.h
|
||||
+++ b/src/WireMessage_p.h
|
||||
@@ -4,6 +4,8 @@
|
||||
#ifndef ARCUS_WIRE_MESSAGE_P_H
|
||||
#define ARCUS_WIRE_MESSAGE_P_H
|
||||
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "Arcus/Types.h"
|
||||
|
||||
namespace Arcus
|
||||
diff --git a/test_package/src/test.cpp b/test_package/src/test.cpp
|
||||
index 52ca8438..09f13a59 100644
|
||||
--- a/test_package/src/test.cpp
|
||||
+++ b/test_package/src/test.cpp
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "test.h"
|
||||
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
# We want to have access to protobuf_generate_cpp and other FindProtobuf features.
|
||||
# However, if ProtobufConfig is used instead, there is a CMake option that controls
|
||||
# this, which defaults to OFF. We need to force this option to ON instead.
|
||||
set(protobuf_MODULE_COMPATIBLE ON CACHE "" INTERNAL FORCE)
|
||||
find_package(Protobuf 3.0.0 REQUIRED)
|
||||
|
||||
get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
include(${SELF_DIR}/Arcus-targets.cmake)
|
||||
163
CMakeLists.txt
163
CMakeLists.txt
|
|
@ -1,163 +0,0 @@
|
|||
project(arcus)
|
||||
cmake_minimum_required(VERSION 3.8)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
include(GenerateExportHeader)
|
||||
|
||||
option(BUILD_PYTHON "Build " ON)
|
||||
option(BUILD_EXAMPLES "Build the example programs" ON)
|
||||
option(BUILD_STATIC "Build as a static library" OFF)
|
||||
|
||||
if(WIN32)
|
||||
option(MSVC_STATIC_RUNTIME "Link the MSVC runtime statically" OFF)
|
||||
endif()
|
||||
|
||||
# We want to have access to protobuf_generate_cpp and other FindProtobuf features.
|
||||
# However, if ProtobufConfig is used instead, there is a CMake option that controls
|
||||
# this, which defaults to OFF. We need to force this option to ON instead.
|
||||
set(protobuf_MODULE_COMPATIBLE ON CACHE INTERNAL "" FORCE)
|
||||
find_package(Protobuf 3.0.0 REQUIRED)
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON) #Required if a patch to libArcus needs to be made via templates.
|
||||
|
||||
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)
|
||||
# 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)
|
||||
|
||||
else()
|
||||
# Use FindPython3 for CMake >=3.12
|
||||
find_package(Python3 3.4 REQUIRED COMPONENTS Interpreter Development)
|
||||
endif()
|
||||
|
||||
find_package(SIP REQUIRED)
|
||||
if(NOT DEFINED LIB_SUFFIX)
|
||||
set(LIB_SUFFIX "")
|
||||
endif()
|
||||
|
||||
include_directories(python/ include/pyArcus/ src/ ${SIP_INCLUDE_DIRS} ${Python3_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
if(APPLE AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
||||
endif()
|
||||
|
||||
set(arcus_SRCS
|
||||
src/Socket.cpp
|
||||
src/SocketListener.cpp
|
||||
src/MessageTypeStore.cpp
|
||||
src/PlatformSocket.cpp
|
||||
src/Error.cpp
|
||||
)
|
||||
|
||||
set(arcus_HDRS
|
||||
include/Arcus/Socket.h
|
||||
include/Arcus/SocketListener.h
|
||||
include/Arcus/Types.h
|
||||
include/Arcus/MessageTypeStore.h
|
||||
include/Arcus/Error.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/src/ArcusExport.h
|
||||
)
|
||||
|
||||
set(ARCUS_VERSION 1.1.0)
|
||||
set(ARCUS_SOVERSION 3)
|
||||
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
|
||||
if(BUILD_STATIC)
|
||||
add_library(Arcus STATIC ${arcus_SRCS})
|
||||
if(NOT WIN32 OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
target_link_libraries(Arcus PRIVATE pthread)
|
||||
set_target_properties(Arcus PROPERTIES COMPILE_FLAGS -fPIC)
|
||||
endif()
|
||||
else()
|
||||
add_library(Arcus SHARED ${arcus_SRCS})
|
||||
endif()
|
||||
|
||||
if(MSVC_STATIC_RUNTIME)
|
||||
foreach(flag_var
|
||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||
if(${flag_var} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
||||
endif(${flag_var} MATCHES "/MD")
|
||||
endforeach(flag_var)
|
||||
endif()
|
||||
|
||||
if(BUILD_PYTHON)
|
||||
set(SIP_EXTRA_FILES_DEPEND python/SocketListener.sip python/Types.sip python/PythonMessage.sip python/Error.sip)
|
||||
set(SIP_EXTRA_SOURCE_FILES python/PythonMessage.cpp)
|
||||
set(SIP_EXTRA_OPTIONS -g -n PyQt5.sip) # -g means always release the GIL before calling C++ methods. -n PyQt5.sip is required to not get the PyCapsule error
|
||||
add_sip_python_module(pyArcus python/pyArcus.sip Arcus)
|
||||
endif()
|
||||
|
||||
target_include_directories(Arcus PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
${PROTOBUF_INCLUDE_DIR}
|
||||
)
|
||||
target_link_libraries(Arcus PUBLIC ${PROTOBUF_LIBRARIES})
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-D_WIN32_WINNT=0x0600) # Declare we require Vista or higher, this allows us to use IPv6 functions.
|
||||
target_link_libraries(Arcus PUBLIC Ws2_32)
|
||||
endif()
|
||||
|
||||
if(${CMAKE_BUILD_TYPE})
|
||||
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug" OR ${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebInfo")
|
||||
add_definitions(-DARCUS_DEBUG)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_target_properties(Arcus PROPERTIES
|
||||
FRAMEWORK FALSE
|
||||
VERSION ${ARCUS_VERSION}
|
||||
SOVERSION ${ARCUS_SOVERSION}
|
||||
PUBLIC_HEADER "${arcus_HDRS}"
|
||||
DEFINE_SYMBOL MAKE_ARCUS_LIB
|
||||
CXX_VISIBILITY_PRESET hidden
|
||||
VISIBILITY_INLINES_HIDDEN 1
|
||||
)
|
||||
|
||||
generate_export_header(Arcus
|
||||
EXPORT_FILE_NAME src/ArcusExport.h
|
||||
)
|
||||
# This is required when building out-of-tree.
|
||||
# The compiler won't find the generated header otherwise.
|
||||
include_directories(${CMAKE_BINARY_DIR}/src include/)
|
||||
|
||||
if(BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
install(TARGETS Arcus
|
||||
EXPORT Arcus-targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/Arcus
|
||||
)
|
||||
|
||||
install(EXPORT Arcus-targets
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Arcus
|
||||
)
|
||||
|
||||
configure_package_config_file(ArcusConfig.cmake.in ${CMAKE_BINARY_DIR}/ArcusConfig.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Arcus)
|
||||
write_basic_package_version_file(${CMAKE_BINARY_DIR}/ArcusConfigVersion.cmake VERSION ${ARCUS_VERSION} COMPATIBILITY SameMajorVersion)
|
||||
|
||||
install(FILES
|
||||
${CMAKE_BINARY_DIR}/ArcusConfig.cmake
|
||||
${CMAKE_BINARY_DIR}/ArcusConfigVersion.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Arcus
|
||||
)
|
||||
|
||||
include(CPackConfig.cmake)
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. The name of the author may not be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
set(CPACK_PACKAGE_VENDOR "Ultimaker")
|
||||
set(CPACK_PACKAGE_CONTACT "Ruben Dulek <r.dulek@ultimaker.com>")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "libArcus Communication library")
|
||||
if(NOT DEFINED CPACK_PACKAGE_VERSION)
|
||||
set(CPACK_PACKAGE_VERSION "15.05.91")
|
||||
endif()
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
if(NOT DEFINED CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
|
||||
execute_process(COMMAND dpkg --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif()
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
set(DEB_DEPENDS
|
||||
"python3 (>= 3.4.0)"
|
||||
"libgcc1 (>= 4.9.0)"
|
||||
"libstdc++6 (>= 4.9.0)"
|
||||
"libc6 (>= 2.19)"
|
||||
"zlib1g (>= 1.2.0)"
|
||||
"protobuf (>= 3.0.0)"
|
||||
)
|
||||
string(REPLACE ";" ", " DEB_DEPENDS "${DEB_DEPENDS}")
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS ${DEB_DEPENDS})
|
||||
|
||||
include(CPack)
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
# Find SIP
|
||||
# ~~~~~~~~
|
||||
#
|
||||
# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php
|
||||
#
|
||||
# Find the installed version of SIP. FindSIP should be called after Python
|
||||
# has been found.
|
||||
#
|
||||
# This file defines the following variables:
|
||||
#
|
||||
# SIP_VERSION - SIP version.
|
||||
#
|
||||
# SIP_EXECUTABLE - Path to the SIP executable.
|
||||
#
|
||||
# SIP_INCLUDE_DIRS - The SIP include directories.
|
||||
#
|
||||
|
||||
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
if(APPLE)
|
||||
# Workaround for broken FindPythonLibs. It will always find Python 2.7 libs on OSX
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
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.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})
|
||||
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=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()
|
||||
|
||||
get_filename_component(_python_binary_path ${Python3_EXECUTABLE} DIRECTORY)
|
||||
|
||||
find_program(SIP_EXECUTABLE sip
|
||||
HINTS ${CMAKE_PREFIX_PATH}/bin ${CMAKE_INSTALL_PATH}/bin ${_python_binary_path} ${Python3_SITELIB}/PyQt5
|
||||
)
|
||||
|
||||
find_path(SIP_INCLUDE_DIRS sip.h
|
||||
HINTS ${CMAKE_PREFIX_PATH}/include ${CMAKE_INSTALL_PATH}/include ${Python3_INCLUDE_DIRS} ${Python3_SITELIB}/PyQt5
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${Python3_EXECUTABLE} -c "import sip; print(sip.SIP_VERSION_STR)"
|
||||
RESULT_VARIABLE _process_status
|
||||
OUTPUT_VARIABLE _process_output
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
if(${_process_status} EQUAL 0)
|
||||
string(STRIP ${_process_output} SIP_VERSION)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(SIP REQUIRED_VARS SIP_EXECUTABLE SIP_INCLUDE_DIRS VERSION_VAR SIP_VERSION)
|
||||
|
||||
if(SIP_FOUND)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/SIPMacros.cmake)
|
||||
endif()
|
||||
|
||||
mark_as_advanced(SIP_EXECUTABLE SIP_INCLUDE_DIRS SIP_VERSION)
|
||||
128
SIPMacros.cmake
128
SIPMacros.cmake
|
|
@ -1,128 +0,0 @@
|
|||
# Macros for SIP
|
||||
# ~~~~~~~~~~~~~~
|
||||
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php
|
||||
#
|
||||
# This file defines the following macros:
|
||||
#
|
||||
# ADD_SIP_PYTHON_MODULE (MODULE_NAME MODULE_SIP [library1, libaray2, ...])
|
||||
# Specifies a SIP file to be built into a Python module and installed.
|
||||
# MODULE_NAME is the name of Python module including any path name. (e.g.
|
||||
# os.sys, Foo.bar etc). MODULE_SIP the path and filename of the .sip file
|
||||
# to process and compile. libraryN are libraries that the Python module,
|
||||
# which is typically a shared library, should be linked to. The built
|
||||
# module will also be install into Python's site-packages directory.
|
||||
#
|
||||
# The behaviour of the ADD_SIP_PYTHON_MODULE macro can be controlled by a
|
||||
# number of variables:
|
||||
#
|
||||
# SIP_INCLUDE_DIRS - List of directories which SIP will scan through when looking
|
||||
# for included .sip files. (Corresponds to the -I option for SIP.)
|
||||
#
|
||||
# SIP_TAGS - List of tags to define when running SIP. (Corresponds to the -t
|
||||
# option for SIP.)
|
||||
#
|
||||
# SIP_CONCAT_PARTS - An integer which defines the number of parts the C++ code
|
||||
# of each module should be split into. Defaults to 8. (Corresponds to the
|
||||
# -j option for SIP.)
|
||||
#
|
||||
# SIP_DISABLE_FEATURES - List of feature names which should be disabled
|
||||
# running SIP. (Corresponds to the -x option for SIP.)
|
||||
#
|
||||
# SIP_EXTRA_OPTIONS - Extra command line options which should be passed on to
|
||||
# SIP.
|
||||
|
||||
SET(SIP_INCLUDE_DIRS)
|
||||
SET(SIP_TAGS)
|
||||
SET(SIP_CONCAT_PARTS 8)
|
||||
SET(SIP_DISABLE_FEATURES)
|
||||
SET(SIP_EXTRA_OPTIONS)
|
||||
|
||||
MACRO(ADD_SIP_PYTHON_MODULE MODULE_NAME MODULE_SIP)
|
||||
|
||||
SET(EXTRA_LINK_LIBRARIES ${ARGN})
|
||||
|
||||
STRING(REPLACE "." "/" _x ${MODULE_NAME})
|
||||
GET_FILENAME_COMPONENT(_parent_module_path ${_x} PATH)
|
||||
GET_FILENAME_COMPONENT(_child_module_name ${_x} NAME)
|
||||
|
||||
GET_FILENAME_COMPONENT(_module_path ${MODULE_SIP} PATH)
|
||||
GET_FILENAME_COMPONENT(_abs_module_sip ${MODULE_SIP} ABSOLUTE)
|
||||
|
||||
# We give this target a long logical target name.
|
||||
# (This is to avoid having the library name clash with any already
|
||||
# install library names. If that happens then cmake dependency
|
||||
# tracking get confused.)
|
||||
STRING(REPLACE "." "_" _logical_name ${MODULE_NAME})
|
||||
SET(_logical_name "python_module_${_logical_name}")
|
||||
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_module_path}) # Output goes in this dir.
|
||||
|
||||
SET(_sip_includes)
|
||||
FOREACH (_inc ${SIP_INCLUDES})
|
||||
GET_FILENAME_COMPONENT(_abs_inc ${_inc} ABSOLUTE)
|
||||
LIST(APPEND _sip_includes -I ${_abs_inc})
|
||||
ENDFOREACH (_inc )
|
||||
|
||||
SET(_sip_tags)
|
||||
FOREACH (_tag ${SIP_TAGS})
|
||||
LIST(APPEND _sip_tags -t ${_tag})
|
||||
ENDFOREACH (_tag)
|
||||
|
||||
SET(_sip_x)
|
||||
FOREACH (_x ${SIP_DISABLE_FEATURES})
|
||||
LIST(APPEND _sip_x -x ${_x})
|
||||
ENDFOREACH (_x ${SIP_DISABLE_FEATURES})
|
||||
|
||||
SET(_message "-DMESSAGE=Generating CPP code for module ${MODULE_NAME}")
|
||||
SET(_sip_output_files)
|
||||
FOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} )
|
||||
IF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} )
|
||||
SET(_sip_output_files ${_sip_output_files} ${CMAKE_CURRENT_BINARY_DIR}/${_module_path}/sip${_child_module_name}part${CONCAT_NUM}.cpp )
|
||||
ENDIF( ${CONCAT_NUM} LESS ${SIP_CONCAT_PARTS} )
|
||||
ENDFOREACH(CONCAT_NUM RANGE 0 ${SIP_CONCAT_PARTS} )
|
||||
|
||||
# Suppress warnings
|
||||
IF(PEDANTIC)
|
||||
IF(MSVC)
|
||||
# 4996 deprecation warnings (bindings re-export deprecated methods)
|
||||
# 4701 potentially uninitialized variable used (sip generated code)
|
||||
# 4702 unreachable code (sip generated code)
|
||||
ADD_DEFINITIONS( /wd4996 /wd4701 /wd4702 )
|
||||
ELSE(MSVC)
|
||||
# disable all warnings
|
||||
ADD_DEFINITIONS( -w )
|
||||
ENDIF(MSVC)
|
||||
ENDIF(PEDANTIC)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_sip_output_files}
|
||||
COMMAND ${CMAKE_COMMAND} -E echo ${message}
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${_sip_output_files}
|
||||
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}
|
||||
)
|
||||
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")
|
||||
ELSE ()
|
||||
TARGET_LINK_LIBRARIES(${_logical_name} ${Python3_LIBRARIES})
|
||||
ENDIF ()
|
||||
ENDIF (NOT APPLE)
|
||||
TARGET_LINK_LIBRARIES(${_logical_name} ${EXTRA_LINK_LIBRARIES})
|
||||
IF (APPLE)
|
||||
SET_TARGET_PROPERTIES(${_logical_name} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
|
||||
ENDIF (APPLE)
|
||||
SET_TARGET_PROPERTIES(${_logical_name} PROPERTIES PREFIX "" OUTPUT_NAME ${_child_module_name})
|
||||
|
||||
IF (WIN32)
|
||||
SET_TARGET_PROPERTIES(${_logical_name} PROPERTIES SUFFIX ".pyd" IMPORT_PREFIX "_")
|
||||
ENDIF (WIN32)
|
||||
|
||||
INSTALL(TARGETS ${_logical_name} DESTINATION "${Python3_SITEARCH}/${_parent_module_path}")
|
||||
|
||||
ENDMACRO(ADD_SIP_PYTHON_MODULE)
|
||||
195
changelog
195
changelog
|
|
@ -1,195 +0,0 @@
|
|||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 5.2.2-2
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue Mar 7 2023 Tom Callaway <spot@fedoraproject.org> - 5.2.2-1
|
||||
- update to 5.2.2 with the help of forward ported CMake bits
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.13.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jun 17 2022 Python Maint <python-maint@redhat.com> - 4.13.1-3
|
||||
- Rebuilt for Python 3.11
|
||||
|
||||
* Mon Apr 11 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 4.13.1-2
|
||||
- Fix build failure with cmake 3.23+
|
||||
|
||||
* Tue Feb 01 2022 Gabriel Féron <feron.gabriel@gmail.com> - 4.13.1-1
|
||||
- Update to 4.13.1
|
||||
|
||||
* Thu Jan 20 2022 Gabriel Féron <feron.gabriel@gmail.com> - 4.13.0-1
|
||||
- Update to 4.13.0
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.12.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Dec 13 2021 Gabriel Féron <feron.gabriel@gmail.com> - 4.12.1-1
|
||||
- Update to 4.12.1
|
||||
|
||||
* Sat Nov 06 2021 Adrian Reber <adrian@lisas.de> - 4.11.0-3
|
||||
- Rebuilt for protobuf 3.19.0
|
||||
|
||||
* Mon Oct 25 2021 Adrian Reber <adrian@lisas.de> - 4.11.0-2
|
||||
- Rebuilt for protobuf 3.18.1
|
||||
|
||||
* Wed Sep 15 2021 Gabriel Féron <feron.gabriel@gmail.com> - 4.11.0-1
|
||||
- Update to 4.11.0
|
||||
|
||||
* Mon Aug 16 2021 Gabriel Féron <feron.gabriel@gmail.com> - 4.10.0-1
|
||||
- Update to 4.10.0
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Thu Jun 10 2021 Gabriel Féron <feron.gabriel@gmail.com> - 4.9.1-1
|
||||
- Update to 4.9.1
|
||||
|
||||
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 4.9.0-2
|
||||
- Rebuilt for Python 3.10
|
||||
|
||||
* Mon Apr 26 2021 Gabriel Féron <feron.gabriel@gmail.com> - 4.9.0-1
|
||||
- Update to 4.9.0
|
||||
|
||||
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 4.8.0-4
|
||||
- Rebuilt for removed libstdc++ symbol (#1937698)
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Jan 13 09:45:36 CET 2021 Adrian Reber <adrian@lisas.de> - 4.8.0-2
|
||||
- Rebuilt for protobuf 3.14
|
||||
|
||||
* Tue Dec 22 2020 Jan Pazdziora <jpazdziora@redhat.com> - 4.8.0-1
|
||||
- Update to 4.8.0
|
||||
|
||||
* Wed Sep 23 2020 Adrian Reber <adrian@lisas.de> - 4.7.1-2
|
||||
- Rebuilt for protobuf 3.13
|
||||
|
||||
* Thu Sep 03 2020 Miro Hrončok <mhroncok@redhat.com> - 4.7.1-1
|
||||
- Update to 4.7.1
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 4.6.1-3
|
||||
- Rebuilt for protobuf 3.12
|
||||
|
||||
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 4.6.1-2
|
||||
- Rebuilt for Python 3.9
|
||||
|
||||
* Tue May 5 2020 Gabriel Féron <feron.gabriel@gmail.com> - 4.6.0-1
|
||||
- Update to 4.6.1
|
||||
|
||||
* Tue Apr 21 2020 Gabriel Féron <feron.gabriel@gmail.com> - 4.6.0-1
|
||||
- Update to 4.6.0
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.4.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 4.4.0-2
|
||||
- Rebuild for protobuf 3.11
|
||||
|
||||
* Thu Nov 21 2019 Gabriel Féron <feron.gabriel@gmail.com> - 4.4.0-1
|
||||
- Update to 4.4.0
|
||||
|
||||
* Fri Nov 01 2019 Miro Hrončok <mhroncok@redhat.com> - 4.1.0-5
|
||||
- Make the dependency of python3-arcus on libarcus strict (#1767762)
|
||||
|
||||
* Mon Sep 16 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.1.0-4
|
||||
- use python3-pyqt5-sip (#1748527#c12)
|
||||
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 4.1.0-3
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Tue Jun 18 2019 Gabriel Féron <feron.gabriel@gmail.com> - 4.1.0-1
|
||||
- Update to 4.1.0
|
||||
|
||||
* Wed Apr 03 2019 Gabriel Féron <feron.gabriel@gmail.com> - 4.0.0-1
|
||||
- Update to 4.0.0
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jan 26 2019 Gabriel Féron <feron.gabriel@gmail.com> - 3.6.0-1
|
||||
- Update to 3.6.0
|
||||
|
||||
* Wed Nov 21 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.5.1-3
|
||||
- Rebuild for protobuf 3.6
|
||||
|
||||
* Mon Nov 12 2018 Miro Hrončok <mhroncok@redhat.com>
|
||||
- Use PyQt5.sip (#1601917)
|
||||
|
||||
* Mon Nov 12 2018 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-1
|
||||
- Update to 3.5.1 (#1644323)
|
||||
|
||||
* Tue Aug 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.4.1-2
|
||||
- use more robust upstreamable sip_flags.patch (#1601917)
|
||||
|
||||
* Tue Aug 28 2018 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-1
|
||||
- Update to 3.4.1 (#1599716)
|
||||
|
||||
* Thu Aug 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.3.0-4
|
||||
- Use PyQt5.sip (#1601917)
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.3.0-2
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed May 02 2018 Miro Hrončok <mhroncok@redhat.com> - 3.3.0-1
|
||||
- Update to 3.3.0 (#1571482)
|
||||
|
||||
* Mon Mar 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-1
|
||||
- Update to 3.2.1 (#1523891)
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Dec 09 2017 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-1
|
||||
- Update to 3.1.0 (#1523891)
|
||||
- Don't sed lib -> lib64 (not needed now)
|
||||
|
||||
* Wed Nov 29 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.0.3-3
|
||||
- Rebuild for protobuf 3.5
|
||||
|
||||
* Mon Nov 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.0.3-2
|
||||
- Rebuild for protobuf 3.4
|
||||
|
||||
* Fri Oct 20 2017 Charalampos Statakis <cstratak@redhat.com> - 3.0.3-1
|
||||
- Update to 3.0.3
|
||||
|
||||
* Wed Aug 30 2017 Miro Hrončok <mhroncok@redhat.com> - 2.7.0-1
|
||||
- Update to 2.7.0
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jun 28 2017 Miro Hrončok <mhroncok@redhat.com> - 2.6.1-1
|
||||
- Update to 2.6.1
|
||||
|
||||
* Tue Jun 27 2017 Miro Hrončok <mhroncok@redhat.com> - 2.6.0-1
|
||||
- Update to 2.6.0
|
||||
|
||||
* Tue Jun 13 2017 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-3
|
||||
- Rebuilt for new protobuf 3.3.1
|
||||
|
||||
* Wed May 03 2017 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-2
|
||||
- Clarify licensing information on cmake files
|
||||
|
||||
* Wed Apr 26 2017 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-1
|
||||
- Update to 2.5.0
|
||||
|
||||
* Sat Mar 25 2017 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-1
|
||||
- Initial package
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up libArcus-4.10.0/cmake/FindSIP.cmake.sip libArcus-4.10.0/cmake/FindSIP.cmake
|
||||
--- libArcus-4.10.0/cmake/FindSIP.cmake.sip
|
||||
+++ libArcus-4.10.0/cmake/FindSIP.cmake
|
||||
@@ -70,7 +70,7 @@ find_path(SIP_INCLUDE_DIRS sip.h
|
||||
)
|
||||
|
||||
execute_process(
|
||||
- COMMAND ${Python3_EXECUTABLE} -c "import sip; print(sip.SIP_VERSION_STR)"
|
||||
+ COMMAND ${Python3_EXECUTABLE} -c "import PyQt5.sip; print(PyQt5.sip.SIP_VERSION_STR)"
|
||||
RESULT_VARIABLE _process_status
|
||||
OUTPUT_VARIABLE _process_output
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up libArcus-4.10.0/cmake/FindSIP.cmake.sip libArcus-4.10.0/cmake/FindSIP.cmake
|
||||
--- libArcus-4.10.0/cmake/FindSIP.cmake.sip
|
||||
+++ libArcus-4.10.0/cmake/FindSIP.cmake
|
||||
@@ -70,7 +70,7 @@ find_path(SIP_INCLUDE_DIRS sip.h
|
||||
)
|
||||
|
||||
execute_process(
|
||||
- COMMAND ${Python3_EXECUTABLE} -c "import sip; print(sip.SIP_VERSION_STR)"
|
||||
+ COMMAND ${Python3_EXECUTABLE} -c "import PyQt6.sip; print(PyQt6.sip.SIP_VERSION_STR)"
|
||||
RESULT_VARIABLE _process_status
|
||||
OUTPUT_VARIABLE _process_output
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
12
libArcus-3.5.1-PyQt5.sip.patch
Normal file
12
libArcus-3.5.1-PyQt5.sip.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff -up libArcus-3.3.0/CMakeLists.txt.sip libArcus-3.3.0/CMakeLists.txt
|
||||
--- libArcus-3.3.0/CMakeLists.txt.sip 2017-10-28 17:28:39.000000000 -0500
|
||||
+++ libArcus-3.3.0/CMakeLists.txt 2018-08-23 09:19:22.608553543 -0500
|
||||
@@ -88,7 +88,7 @@ endif()
|
||||
if(BUILD_PYTHON)
|
||||
set(SIP_EXTRA_FILES_DEPEND python/SocketListener.sip python/Types.sip python/PythonMessage.sip python/Error.sip)
|
||||
set(SIP_EXTRA_SOURCE_FILES python/PythonMessage.cpp)
|
||||
- set(SIP_EXTRA_OPTIONS -g) # -g means always release the GIL before calling C++ methods.
|
||||
+ set(SIP_EXTRA_OPTIONS -g -n PyQt5.sip) # -g means always release the GIL before calling C++ methods.
|
||||
add_sip_python_module(Arcus python/Socket.sip Arcus)
|
||||
endif()
|
||||
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
diff -up libArcus-5.2.2/include/Arcus/Error.h.export libArcus-5.2.2/include/Arcus/Error.h
|
||||
--- libArcus-5.2.2/include/Arcus/Error.h.export 2022-11-30 09:32:40.000000000 -0500
|
||||
+++ libArcus-5.2.2/include/Arcus/Error.h 2023-03-08 12:26:40.095859666 -0500
|
||||
@@ -5,6 +5,7 @@
|
||||
#define ARCUS_ERROR_H
|
||||
|
||||
#include "Arcus/Types.h"
|
||||
+#include "ArcusExport.h"
|
||||
|
||||
namespace Arcus
|
||||
{
|
||||
@@ -32,7 +33,7 @@ enum class ErrorCode
|
||||
/**
|
||||
* A class representing an error with an error code and an error message.
|
||||
*/
|
||||
-class Error
|
||||
+class ARCUS_EXPORT Error
|
||||
{
|
||||
public:
|
||||
/**
|
||||
diff -up libArcus-5.2.2/include/Arcus/MessageTypeStore.h.export libArcus-5.2.2/include/Arcus/MessageTypeStore.h
|
||||
--- libArcus-5.2.2/include/Arcus/MessageTypeStore.h.export 2022-11-30 09:32:40.000000000 -0500
|
||||
+++ libArcus-5.2.2/include/Arcus/MessageTypeStore.h 2023-03-08 12:26:40.095859666 -0500
|
||||
@@ -8,12 +8,14 @@
|
||||
|
||||
#include "Arcus/Types.h"
|
||||
|
||||
+#include "ArcusExport.h"
|
||||
+
|
||||
namespace Arcus
|
||||
{
|
||||
/**
|
||||
* A class to manage the different types of messages that are available.
|
||||
*/
|
||||
-class MessageTypeStore
|
||||
+class ARCUS_EXPORT MessageTypeStore
|
||||
{
|
||||
public:
|
||||
MessageTypeStore();
|
||||
@@ -87,7 +89,7 @@ public:
|
||||
void dumpMessageTypes();
|
||||
|
||||
private:
|
||||
- class Private;
|
||||
+ class ARCUS_NO_EXPORT Private;
|
||||
const std::unique_ptr<Private> d;
|
||||
};
|
||||
} // namespace Arcus
|
||||
diff -up libArcus-5.2.2/include/Arcus/Socket.h.export libArcus-5.2.2/include/Arcus/Socket.h
|
||||
--- libArcus-5.2.2/include/Arcus/Socket.h.export 2022-11-30 09:32:40.000000000 -0500
|
||||
+++ libArcus-5.2.2/include/Arcus/Socket.h 2023-03-08 12:26:40.096859680 -0500
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "Arcus/Error.h"
|
||||
#include "Arcus/Types.h"
|
||||
|
||||
+#include "ArcusExport.h"
|
||||
+
|
||||
namespace Arcus
|
||||
{
|
||||
class SocketListener;
|
||||
@@ -21,7 +23,7 @@ class SocketListener;
|
||||
*
|
||||
* Please see the README in libArcus for more details.
|
||||
*/
|
||||
-class Socket
|
||||
+class ARCUS_EXPORT Socket
|
||||
{
|
||||
public:
|
||||
Socket();
|
||||
diff -up libArcus-5.2.2/include/Arcus/SocketListener.h.export libArcus-5.2.2/include/Arcus/SocketListener.h
|
||||
--- libArcus-5.2.2/include/Arcus/SocketListener.h.export 2023-03-08 12:27:19.364375316 -0500
|
||||
+++ libArcus-5.2.2/include/Arcus/SocketListener.h 2023-03-08 12:27:41.511666142 -0500
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
#include "Arcus/Types.h"
|
||||
|
||||
+#include "ArcusExport.h"
|
||||
+
|
||||
namespace Arcus
|
||||
{
|
||||
class Socket;
|
||||
@@ -24,7 +26,7 @@ class Error;
|
||||
* signal from a subclass of this class, to make sure the actual event
|
||||
* is handled on the main thread.
|
||||
*/
|
||||
-class SocketListener
|
||||
+class ARCUS_EXPORT SocketListener
|
||||
{
|
||||
public:
|
||||
SocketListener() : _socket(nullptr)
|
||||
140
libarcus.spec
140
libarcus.spec
|
|
@ -1,47 +1,23 @@
|
|||
Name: libarcus
|
||||
Version: 5.3.0
|
||||
Release: %autorelease
|
||||
Version: 3.6.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Communication library between internal components for Ultimaker software
|
||||
License: LGPL-3.0-or-later
|
||||
License: LGPLv3+
|
||||
URL: https://github.com/Ultimaker/libArcus
|
||||
Source0: %{url}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
# Python bits
|
||||
Source1: https://github.com/Ultimaker/pyArcus/archive/%{version}.tar.gz#/pyArcus-%{version}.tar.gz
|
||||
|
||||
# Cmake bits taken from 4.13.1, before upstream went nuts with conan
|
||||
Source2: FindSIP.cmake
|
||||
Source3: SIPMacros.cmake
|
||||
Source4: CMakeLists.txt
|
||||
Source5: CPackConfig.cmake
|
||||
Source6: ArcusConfig.cmake.in
|
||||
Source7: COPYING-CMAKE-SCRIPTS
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1601917
|
||||
Patch: libArcus-3.10.0-PyQt6.sip.patch
|
||||
|
||||
# Actually export symbols
|
||||
Patch: libArcus-5.2.2-actually-export-symbols.patch
|
||||
|
||||
# Add missing stdint includes
|
||||
Patch: https://github.com/Ultimaker/libArcus/pull/160.patch
|
||||
Patch1: libArcus-3.5.1-PyQt5.sip.patch
|
||||
|
||||
BuildRequires: protobuf-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-protobuf
|
||||
BuildRequires: python3-pyqt6-sip
|
||||
BuildRequires: python3-sip-devel
|
||||
BuildRequires: /usr/bin/sip
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: git-core
|
||||
|
||||
# we add a dependency on setuptools to provide the distutils module
|
||||
# upstream already removed the distutils usage in version 5+
|
||||
BuildRequires: (python3-setuptools if python3-devel >= 3.12)
|
||||
|
||||
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
%description
|
||||
Arcus library contains C++ code and Python 3 bindings for creating a socket in
|
||||
a thread and using this socket to send and receive messages based on the
|
||||
|
|
@ -51,7 +27,7 @@ between Cura and its backend and similar code.
|
|||
%package devel
|
||||
|
||||
# The cmake scripts are BSD
|
||||
License: LGPLv3+ and BSD
|
||||
License: AGPLv3+ and BSD
|
||||
|
||||
Summary: Development files for libarcus
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
|
@ -66,8 +42,8 @@ Development files.
|
|||
|
||||
%package -n python3-arcus
|
||||
Summary: Python 3 libArcus bindings
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%{?_sip_api:Requires: python3-pyqt5-sip-api(%{_sip_api_major}) >= %{_sip_api}}
|
||||
Requires: python3-sip
|
||||
%{?python_provide:%python_provide python3-arcus}
|
||||
|
||||
%description -n python3-arcus
|
||||
Arcus Python 3 bindings for creating a socket in a thread and using this
|
||||
|
|
@ -76,32 +52,23 @@ Protocol Buffers library. It is designed to facilitate the communication
|
|||
between Cura and its backend and similar code.
|
||||
|
||||
%prep
|
||||
%setup -q -n libArcus-%{version} -a 1
|
||||
|
||||
cp -a pyArcus-%{version}/python .
|
||||
cp -a pyArcus-%{version}/include/pyArcus include
|
||||
mkdir cmake
|
||||
cp -a %{SOURCE2} %{SOURCE3} %{SOURCE7} cmake/
|
||||
rm -rf CMakeLists.txt
|
||||
cp -a %{SOURCE4} %{SOURCE5} %{SOURCE6} .
|
||||
cp -a pyArcus-%{version}/src/PythonMessage.cpp python/
|
||||
|
||||
%autopatch -p1
|
||||
%autosetup -n libArcus-%{version} -p1 -S git
|
||||
|
||||
%build
|
||||
%cmake -DBUILD_EXAMPLES:BOOL=OFF -DCMAKE_SKIP_RPATH:BOOL=ON
|
||||
%cmake_build
|
||||
%{cmake} -DBUILD_EXAMPLES:BOOL=OFF -DCMAKE_SKIP_RPATH:BOOL=ON .
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
make install DESTDIR=%{buildroot}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%doc README.md TODO.md
|
||||
%{_libdir}/libArcus.so.*
|
||||
|
||||
%files devel
|
||||
%license LICENSE cmake/COPYING-CMAKE-SCRIPTS
|
||||
%doc examples/example.cpp examples/example.proto
|
||||
%{_libdir}/libArcus.so
|
||||
%{_includedir}/Arcus
|
||||
# Own the dir not to depend on cmake:
|
||||
|
|
@ -109,8 +76,83 @@ cp -a pyArcus-%{version}/src/PythonMessage.cpp python/
|
|||
|
||||
%files -n python3-arcus
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{python3_sitearch}/pyArcus.so
|
||||
%doc README.md TODO.md
|
||||
%doc examples/example.py
|
||||
%{python3_sitearch}/Arcus.so
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
* Sat Jan 26 2019 Gabriel Féron <feron.gabriel@gmail.com> - 3.6.0-1
|
||||
- Update to 3.6.0
|
||||
|
||||
* Wed Nov 21 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.5.1-3
|
||||
- Rebuild for protobuf 3.6
|
||||
|
||||
* Mon Nov 12 2018 Miro Hrončok <mhroncok@redhat.com>
|
||||
- Use PyQt5.sip (#1601917)
|
||||
|
||||
* Mon Nov 12 2018 Miro Hrončok <mhroncok@redhat.com> - 3.5.1-1
|
||||
- Update to 3.5.1 (#1644323)
|
||||
|
||||
* Tue Aug 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.4.1-2
|
||||
- use more robust upstreamable sip_flags.patch (#1601917)
|
||||
|
||||
* Tue Aug 28 2018 Miro Hrončok <mhroncok@redhat.com> - 3.4.1-1
|
||||
- Update to 3.4.1 (#1599716)
|
||||
|
||||
* Thu Aug 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.3.0-4
|
||||
- Use PyQt5.sip (#1601917)
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.3.0-2
|
||||
- Rebuilt for Python 3.7
|
||||
|
||||
* Wed May 02 2018 Miro Hrončok <mhroncok@redhat.com> - 3.3.0-1
|
||||
- Update to 3.3.0 (#1571482)
|
||||
|
||||
* Mon Mar 19 2018 Miro Hrončok <mhroncok@redhat.com> - 3.2.1-1
|
||||
- Update to 3.2.1 (#1523891)
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Dec 09 2017 Miro Hrončok <mhroncok@redhat.com> - 3.1.0-1
|
||||
- Update to 3.1.0 (#1523891)
|
||||
- Don't sed lib -> lib64 (not needed now)
|
||||
|
||||
* Wed Nov 29 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.0.3-3
|
||||
- Rebuild for protobuf 3.5
|
||||
|
||||
* Mon Nov 13 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.0.3-2
|
||||
- Rebuild for protobuf 3.4
|
||||
|
||||
* Fri Oct 20 2017 Charalampos Statakis <cstratak@redhat.com> - 3.0.3-1
|
||||
- Update to 3.0.3
|
||||
|
||||
* Wed Aug 30 2017 Miro Hrončok <mhroncok@redhat.com> - 2.7.0-1
|
||||
- Update to 2.7.0
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jun 28 2017 Miro Hrončok <mhroncok@redhat.com> - 2.6.1-1
|
||||
- Update to 2.6.1
|
||||
|
||||
* Tue Jun 27 2017 Miro Hrončok <mhroncok@redhat.com> - 2.6.0-1
|
||||
- Update to 2.6.0
|
||||
|
||||
* Tue Jun 13 2017 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-3
|
||||
- Rebuilt for new protobuf 3.3.1
|
||||
|
||||
* Wed May 03 2017 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-2
|
||||
- Clarify licensing information on cmake files
|
||||
|
||||
* Wed Apr 26 2017 Miro Hrončok <mhroncok@redhat.com> - 2.5.0-1
|
||||
- Update to 2.5.0
|
||||
|
||||
* Sat Mar 25 2017 Miro Hrončok <mhroncok@redhat.com> - 2.4.0-1
|
||||
- Initial package
|
||||
|
|
|
|||
3
sources
3
sources
|
|
@ -1,2 +1 @@
|
|||
SHA512 (libarcus-5.3.0.tar.gz) = 8106bbcd595921d56e39bf694fbee43c6146a9c661edf9fb1fe271bbcf199a202e399cfbda5b83711c9daad1c55d8242ba23ce4fb52c416ddd862fb6de2bcab3
|
||||
SHA512 (pyArcus-5.3.0.tar.gz) = d4a114994fa3e3156eae95dde58df13237b8bb0571a1219d6dee6b6338fd65f911f27887d6ab32b7a3cb32bc45ca6c25147e7c2d246cb0707326b88246abfbcd
|
||||
SHA512 (libarcus-3.6.0.tar.gz) = 1bc50a08cbec61edefd78f3c347cca08f6bc40a308472bf6788c2c8962b03ea81b32357be18a3c34847c121eb52ee6836da22cea65b1a8f64b7c924bda290430
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue