diff --git a/media-libs/lib3mf/Manifest b/media-libs/lib3mf/Manifest new file mode 100644 index 0000000..65dfcde --- /dev/null +++ b/media-libs/lib3mf/Manifest @@ -0,0 +1,6 @@ +AUX lib3mf-2.1.0-0001-Gentoo-specific-avoid-pre-stripping-library.patch 1067 BLAKE2B 1c56383b9a791ea5bcc8762a23c92426d308d6f55e5b51ec9268a779bb202144958f9cfa02686d72bf260d2beeb08b3ddf0c58441bf1a899032c408fd137df93 SHA512 af9930e67b6a0a3db26a97326e68a8e8a2d3ac57c378cf8f79397f514ec18ab600efb84b941d0449ffc8d620564082f8942a428c1fefa3cf199d972a7a4f9622 +AUX lib3mf-2.1.1-0001-patch-to-use-system-provided-act-binary.patch 5462 BLAKE2B 73ebe5037f11673232363ee4ec99aea828b37ea24469ddced15593310e8f7f7806c08bddde40583640471d2566985d5002970dcc6f8f3d64ff369cfe3a3567e7 SHA512 1f5fb5c3b0dd115da478bdcf9c47e9c269c13613604905df8b0a80fccf5b039ee2c1ce0f433c68f783b11e5faf1756fb66772f0e313bdb0ae6af3c2a5cf35ab3 +AUX lib3mf-2.2.0-0001-use-system-provided-act-binary.patch 5370 BLAKE2B c5d3cfe734311995f9fb98a4c7083267af04740e9cc94f6251ec01a837cce8e52587bae4f587a246317976eb60be931c44d1b6bb5f0d72599d07845cadd1a8c4 SHA512 4832d2661dab796e78a737f7aca2f7516e4f4b8c29d0897779ad82be91ec523941f51d39564ad61b01a158a5f313c365a26d5499ce2ccc85793fca8f81b75aee +AUX lib3mf-2.2.0-0002-Gentoo-specific-remove-add_dependencies.patch 936 BLAKE2B ac89b89c223eaa81334da6ae84d1c785beccea2687b883954a93ede0d7fa49d11afc91ff5a6d41e195d7feb959d4317986cc97ac58047328ce372e40e787cefa SHA512 42c9ede93e79c7548b5ed9bed2f5ec0e275441ab5daa5cf9eb72f31610da512b7a3f118a075a8cfc21d1244c96ba42efadaee8c26c1b1837295e8a2ce4a93255 +EBUILD lib3mf-9999.ebuild 1633 BLAKE2B 03f9d4223703e7468ba353131f2f55bd799ac3d9e018854340d1b41927131de048bec7c126e140668773abe3808d2f103e70cf88e582603693af1b9574aff66a SHA512 d47573698550eea3e62446e9ff8e501cbb142422c1650483b2c3fdab0f215ef50953199b25b5aec4f3582febe41c0e2e530ed2620e59313df07b2908789e40d2 +MISC metadata.xml 936 BLAKE2B 55b169d62c7b8e9ef8ab789c16a286ee545f6c5519833e9c27e23765fe279b059050f526b5ceb2c59eb63d8568348c403326ec5b5d2d9925728298f3875673e8 SHA512 dee8668538fab0a6ea13cce39c0b817d59ee4dca58fa3f15e1c7b995dbfbb2abe63e1ec27b5b47c7d40521daeffc1db4a357c3c9d07e39f60c9b8851066ad9fe diff --git a/media-libs/lib3mf/files/lib3mf-2.1.0-0001-Gentoo-specific-avoid-pre-stripping-library.patch b/media-libs/lib3mf/files/lib3mf-2.1.0-0001-Gentoo-specific-avoid-pre-stripping-library.patch new file mode 100644 index 0000000..7c5cdd0 --- /dev/null +++ b/media-libs/lib3mf/files/lib3mf-2.1.0-0001-Gentoo-specific-avoid-pre-stripping-library.patch @@ -0,0 +1,27 @@ +From 13f974157b178efe4c6d617f23246dde2b100f0d Mon Sep 17 00:00:00 2001 +From: Bernd Waibel +Date: Wed, 10 Feb 2021 18:49:14 +0100 +Subject: [PATCH] [Gentoo-specific] avoid pre-stripping library + +Signed-off-by: Bernd Waibel +--- + CMakeLists.txt | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9c8b4ba..05d493f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -182,9 +182,6 @@ if (UNIX OR MINGW) + # Uncomment the following to put the version info into the .so-file. + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION "${LIB3MF_VERSION_MAJOR}.${LIB3MF_VERSION_MINOR}.${LIB3MF_VERSION_MICRO}.${BUILD_NUMBER}") + set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION "${LIB3MF_VERSION_MAJOR}") +- if (NOT APPLE) +- set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS -s) +- endif() + else() + # wd4996 masks the deprecated-warning + target_compile_options(${PROJECT_NAME} PUBLIC "$<$:/Od;/Ob0;/sdl;/W3;/WX;/FC;/wd4996>") +-- +2.30.1 + diff --git a/media-libs/lib3mf/files/lib3mf-2.1.1-0001-patch-to-use-system-provided-act-binary.patch b/media-libs/lib3mf/files/lib3mf-2.1.1-0001-patch-to-use-system-provided-act-binary.patch new file mode 100644 index 0000000..00089c5 --- /dev/null +++ b/media-libs/lib3mf/files/lib3mf-2.1.1-0001-patch-to-use-system-provided-act-binary.patch @@ -0,0 +1,141 @@ +From c4e004aa8580f799dbbb7ec6951e0826dc387811 Mon Sep 17 00:00:00 2001 +From: Bernd Waibel +Date: Tue, 6 Apr 2021 08:45:45 +0200 +Subject: [PATCH] patch to use system-provided act binary + +Signed-off-by: Bernd Waibel +--- + CMakeLists.txt | 109 +++++++++++++++++++++++++++++++++---------------- + 1 file changed, 73 insertions(+), 36 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64a11d9..55abdde 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,14 +54,19 @@ if (${MSVC}) + 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_BINARY_DIR_AUTOGENERATED ${CMAKE_CURRENT_BINARY_DIR}/Autogenerated) +@@ -71,35 +76,67 @@ set(ACT_GENERATED_SOURCE + ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation/lib3mf_interfacewrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR_AUTOGENERATED}/Source/Implementation/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_BINARY_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_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/Implementation" +- 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_BINARY_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_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/Implementation" ++ 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/Implementation" ++ 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 +-- +2.31.1 + 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 0000000..35beebf --- /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 +Date: Wed, 25 Aug 2021 09:29:17 +0200 +Subject: [PATCH] use system provided act binary + +Signed-off-by: Bernd Waibel +--- + 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 0000000..742c877 --- /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 +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 +--- + 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 "$<$:/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-9999.ebuild b/media-libs/lib3mf/lib3mf-9999.ebuild new file mode 100644 index 0000000..c24407b --- /dev/null +++ b/media-libs/lib3mf/lib3mf-9999.ebuild @@ -0,0 +1,74 @@ +# 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" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + SRC_URI="" + KEYWORDS="" + EGIT_REPO_URI="https://github.com/3MFConsortium/lib3mf.git" +else + SRC_URI="https://github.com/3MFConsortium/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm64 x86" +fi + +LICENSE="BSD" +SLOT="0/9999" +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}"/${PN}-2.2.0-0001-use-system-provided-act-binary.patch + "${FILESDIR}"/${PN}-2.2.0-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 +} diff --git a/media-libs/lib3mf/metadata.xml b/media-libs/lib3mf/metadata.xml new file mode 100644 index 0000000..9dbd22a --- /dev/null +++ b/media-libs/lib3mf/metadata.xml @@ -0,0 +1,28 @@ + + + + + waebbl-gentoo@posteo.net + Bernd Waibel + + + proxy-maint@gentoo.org + Proxy Maintainers + + + Implementation of the 3MF manufacturing file standard from the 3MF + consortium. + It provides reading and writing capabilities for 3MF files, as well + as conversion and validation tools for input and output data. + + + + Use system-provided dev-go/act as code generator + instead of package provided binaries. This flag will be removed + after some time used for testing! + + + + 3MFConsortium/lib3mf + +