summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Waibel <waebbl-gentoo@posteo.net>2021-08-25 08:05:48 +0200
committerSam James <sam@gentoo.org>2021-10-24 04:06:06 +0000
commitc3f5d8e908b956a30e72a6b40f2c559d24a30b1e (patch)
treec5230e0237296c71f84679d6eb298b82465feaea
parentdev-util/bats: bump version to 1.5.0 (diff)
downloadgentoo-c3f5d8e908b956a30e72a6b40f2c559d24a30b1e.tar.gz
gentoo-c3f5d8e908b956a30e72a6b40f2c559d24a30b1e.tar.bz2
gentoo-c3f5d8e908b956a30e72a6b40f2c559d24a30b1e.zip
media-libs/lib3mf: bump to 2.2.0
Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net> Closes: https://github.com/gentoo/gentoo/pull/22640 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--media-libs/lib3mf/Manifest1
-rw-r--r--media-libs/lib3mf/files/lib3mf-2.2.0-0001-use-system-provided-act-binary.patch141
-rw-r--r--media-libs/lib3mf/files/lib3mf-2.2.0-0002-Gentoo-specific-remove-add_dependencies.patch29
-rw-r--r--media-libs/lib3mf/lib3mf-2.2.0.ebuild66
4 files changed, 237 insertions, 0 deletions
diff --git a/media-libs/lib3mf/Manifest b/media-libs/lib3mf/Manifest
index 957eb0a79702..42f1c787d50a 100644
--- a/media-libs/lib3mf/Manifest
+++ b/media-libs/lib3mf/Manifest
@@ -1 +1,2 @@
DIST lib3mf-2.1.1.tar.gz 15917671 BLAKE2B eacf066147d5c4e15f79d374a377b5ef3b4bc8b4db20ca29e95df5cded11420874ab2df8b5bc48d4a47bbbb6bcb28390e72dae422ad43d5df4d1fd0cd4ed4878 SHA512 43b1091721e994adfa8390ed6542dc207b62dee278d8747fcca044692a72123c3445d4e7795d5476d15bb535fd1a3ce1da2c2796ab8edb28eb66528778fec846
+DIST lib3mf-2.2.0.tar.gz 16439833 BLAKE2B c98f57ea99f90625f2bfbdbcde9df8dbd8aeccc655e1bd9be165c24b2d9fb74471e4b01c816d8f665e5793db77c7bcf52016f030ec1947f908d6647e9ad12745 SHA512 2a9ee92312396b8966967a7ed696c58c69a77438f94432ad071659adc8c9d12fba34a3cf3d8c8d3ad3b26c12c9a89f4d8645e6f396987dc05b04952b004a1f07
diff --git a/media-libs/lib3mf/files/lib3mf-2.2.0-0001-use-system-provided-act-binary.patch b/media-libs/lib3mf/files/lib3mf-2.2.0-0001-use-system-provided-act-binary.patch
new file mode 100644
index 000000000000..35beebf19306
--- /dev/null
+++ b/media-libs/lib3mf/files/lib3mf-2.2.0-0001-use-system-provided-act-binary.patch
@@ -0,0 +1,141 @@
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 25 Aug 2021 09:29:17 +0200
+Subject: [PATCH] use system provided act binary
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ CMakeLists.txt | 110 ++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 73 insertions(+), 37 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d70a030..9c91496 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -62,14 +62,19 @@ endif()
+
+
+ ### The API generation target
+-if(CMAKE_HOST_UNIX)
+- if(APPLE)
+- set(ACT_COMMANDENDING darwin)
+- else()
+- set(ACT_COMMANDENDING linux)
++option(USE_SYSTEM_ACT "Use system provided act binary" OFF)
++if(NOT USE_SYSTEM_ACT)
++ if(CMAKE_HOST_UNIX)
++ if(APPLE)
++ set(ACT_COMMANDENDING darwin)
++ else()
++ set(ACT_COMMANDENDING linux)
++ endif()
++ elseif(CMAKE_HOST_WIN32)
++ set(ACT_COMMANDENDING exe)
+ endif()
+-elseif(CMAKE_HOST_WIN32)
+- set(ACT_COMMANDENDING exe)
++else()
++ find_program(ACT act)
+ endif()
+
+ set(CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED ${CMAKE_CURRENT_SOURCE_DIR}/Autogenerated)
+@@ -80,36 +85,67 @@ set(ACT_GENERATED_SOURCE
+ ${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/lib3mf_interfacewrapper.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/lib3mf_interfacejournal.cpp
+ )
+-add_custom_command(
+- BYPRODUCTS
+- ${ACT_GENERATED_SOURCE}
+- OUTPUT
+- ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
+- WORKING_DIRECTORY
+- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
+- COMMAND
+- cmake -E make_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}"
+- COMMAND
+- cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
+- COMMAND
+- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/bin/act.${ACT_COMMANDENDING} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+- COMMAND
+- cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source"
+- COMMAND
+- cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings"
+- COMMAND
+- cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings
+- COMMAND
+- cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/"
+- COMMAND
+- cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
+- COMMENT
+- "Generating hourglass API bindings and implementation stub"
+- DEPENDS
+- ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
+- VERBATIM
+-)
+-
++if(NOT USE_SYSTEM_ACT)
++ add_custom_command(
++ BYPRODUCTS
++ ${ACT_GENERATED_SOURCE}
++ OUTPUT
++ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
++ WORKING_DIRECTORY
++ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
++ COMMAND
++ cmake -E make_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}"
++ COMMAND
++ cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
++ COMMAND
++ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/bin/act.${ACT_COMMANDENDING} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
++ COMMAND
++ cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source"
++ COMMAND
++ cmake -E remove_directory "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings"
++ COMMAND
++ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings
++ COMMAND
++ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Source/"
++ COMMAND
++ cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
++ COMMENT
++ "Generating hourglass API bindings and implementation stub"
++ DEPENDS
++ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
++ VERBATIM
++ )
++else()
++ add_custom_command(
++ BYPRODUCTS
++ ${ACT_GENERATED_SOURCE}
++ OUTPUT
++ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
++ WORKING_DIRECTORY
++ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit
++ COMMAND
++ cmake -E make_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}"
++ COMMAND
++ cmake -E touch "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP"
++ COMMAND
++ ${ACT} ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
++ COMMAND
++ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source"
++ COMMAND
++ cmake -E remove_directory "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings"
++ COMMAND
++ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Bindings" ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Bindings
++ COMMAND
++ cmake -E copy_directory "${CMAKE_TEMP_HEADER_FOLDER}/Implementations/Cpp/Interfaces" "${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/"
++ COMMAND
++ cmake -E remove_directory "${CMAKE_TEMP_HEADER_FOLDER}"
++ COMMENT
++ "Generating hourglass API bindings and implementation stub"
++ DEPENDS
++ ${CMAKE_CURRENT_SOURCE_DIR}/AutomaticComponentToolkit/lib3mf.xml
++ VERBATIM
++ )
++endif()
+ add_custom_target(lib3mfACT
+ DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/LIB3MFACTGENERATIONSTAMP
+--
+2.32.0
+
diff --git a/media-libs/lib3mf/files/lib3mf-2.2.0-0002-Gentoo-specific-remove-add_dependencies.patch b/media-libs/lib3mf/files/lib3mf-2.2.0-0002-Gentoo-specific-remove-add_dependencies.patch
new file mode 100644
index 000000000000..742c877e2b41
--- /dev/null
+++ b/media-libs/lib3mf/files/lib3mf-2.2.0-0002-Gentoo-specific-remove-add_dependencies.patch
@@ -0,0 +1,29 @@
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Wed, 25 Aug 2021 18:19:25 +0200
+Subject: [PATCH] [Gentoo specific] remove add_dependencies
+
+Remove the add_dependencies commands on ssl and crypto.
+We use global openssl support instead of package libressl.
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+---
+ Tests/CPP_Bindings/CMakeLists.txt | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/Tests/CPP_Bindings/CMakeLists.txt b/Tests/CPP_Bindings/CMakeLists.txt
+index 4a816a5..c26c498 100644
+--- a/Tests/CPP_Bindings/CMakeLists.txt
++++ b/Tests/CPP_Bindings/CMakeLists.txt
+@@ -47,9 +47,6 @@ if (WIN32)
+ target_compile_options(${TESTNAME} PUBLIC "$<$<CONFIG:RELEASE>:/O2;/sdl;/WX;/Oi;/Gy;/FC;/MD;/wd4996>")
+ endif()
+
+-add_dependencies(${TESTNAME} ssl)
+-add_dependencies(${TESTNAME} crypto)
+-
+ target_include_directories(${TESTNAME} PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/Include
+ ${gtest_SOURCE_DIR}/include
+--
+2.32.0
+
diff --git a/media-libs/lib3mf/lib3mf-2.2.0.ebuild b/media-libs/lib3mf/lib3mf-2.2.0.ebuild
new file mode 100644
index 000000000000..d37a2212018b
--- /dev/null
+++ b/media-libs/lib3mf/lib3mf-2.2.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Implementation of the 3D Manufacturing Format file standard"
+HOMEPAGE="https://3mf.io/ https://github.com/3MFConsortium/lib3mf"
+SRC_URI="https://github.com/3MFConsortium/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+system-act test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/libzip:=
+ sys-apps/util-linux
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ system-act? ( dev-go/act )
+ test? (
+ dev-cpp/gtest
+ dev-libs/openssl
+ dev-util/valgrind
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.0-0001-Gentoo-specific-avoid-pre-stripping-library.patch
+ "${FILESDIR}"/${P}-0001-use-system-provided-act-binary.patch
+ "${FILESDIR}"/${P}-0002-Gentoo-specific-remove-add_dependencies.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_INCLUDEDIR="include/${PN}"
+ -DLIB3MF_TESTS=$(usex test)
+ -DUSE_INCLUDED_LIBZIP=OFF
+ -DUSE_INCLUDED_ZLIB=OFF
+ -DUSE_SYSTEM_ACT=$(usex system-act)
+ )
+
+ if use test; then
+ mycmakeargs+=(
+ -DUSE_INCLUDED_GTEST=OFF
+ # code says it uses libressl, but works with openssl too
+ -DUSE_INCLUDED_SSL=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ for suf in abi types implicit; do
+ dosym -r /usr/include/${PN}/Bindings/Cpp/${PN}_${suf}.hpp /usr/include/${PN}/${PN}_${suf}.hpp
+ done
+}