Gentoo Archives: gentoo-commits

From: Michele Santullo <m.santullo@××××××.net>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: dev-cpp/cpp-taskflow/, dev-cpp/cpp-taskflow/files/
Date: Sat, 23 May 2020 21:44:43
Message-Id: 1590270225.a71e8a1c65d7ea3335127fd3ab50a6cf1322269c.santullo@gentoo
commit:     a71e8a1c65d7ea3335127fd3ab50a6cf1322269c
Author:     Michele Santullo <m.santullo <AT> posteo <DOT> net>
AuthorDate: Sat May 23 21:43:45 2020 +0000
Commit:     Michele Santullo <m.santullo <AT> posteo <DOT> net>
CommitDate: Sat May 23 21:43:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a71e8a1c

dev-cpp/cpp-taskflow: adding package

Package-Manager: Portage-2.3.99, Repoman-2.3.22
RepoMan-Options: --force
Signed-off-by: Michele Santullo <m.santullo <AT> posteo.net>

 dev-cpp/cpp-taskflow/Manifest                      |  2 +
 dev-cpp/cpp-taskflow/cpp-taskflow-2.3.1.ebuild     | 39 +++++++++++++++++
 dev-cpp/cpp-taskflow/cpp-taskflow-2.4.0.ebuild     | 39 +++++++++++++++++
 dev-cpp/cpp-taskflow/cpp-taskflow-9999.ebuild      | 38 +++++++++++++++++
 .../files/cpp-taskflow-2.3.1-fix-lib-path.patch    | 49 ++++++++++++++++++++++
 ...pp-taskflow-2.3.1-optional-tests-examples.patch | 49 ++++++++++++++++++++++
 .../files/cpp-taskflow-2.4.0-fix-lib-path.patch    | 49 ++++++++++++++++++++++
 .../cpp-taskflow-2.4.0-fix-version-number.patch    | 13 ++++++
 ...pp-taskflow-2.4.0-optional-tests-examples.patch | 42 +++++++++++++++++++
 .../files/cpp-taskflow-9999-fix-lib-path.patch     | 49 ++++++++++++++++++++++
 ...cpp-taskflow-9999-optional-tests-examples.patch | 42 +++++++++++++++++++
 dev-cpp/cpp-taskflow/metadata.xml                  | 15 +++++++
 12 files changed, 426 insertions(+)

diff --git a/dev-cpp/cpp-taskflow/Manifest b/dev-cpp/cpp-taskflow/Manifest
new file mode 100644
index 0000000..408dc82
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/Manifest
@@ -0,0 +1,2 @@
+DIST cpp-taskflow-2.3.1.tar.gz 98888910 BLAKE2B 3ecbc3eaf8db68ded66222c512ff7e22633fc0276eaff8ca9fd43bad13bb810ef064d0c8e762a960cdfff9197e4a810b75005a0063042c724b42599a2716e609 SHA512 94d5784198571886520d9f5d69dbce659c3cd214d986e9ac001816033d7719ae21d22ed2f5879549df15b23035d06200938a07928dd773f507317ede8a121899
+DIST cpp-taskflow-2.4.0.tar.gz 76993334 BLAKE2B 8f257165ab72dbe6c1cf6a86886669008e9f16f1dfd4871defc452bdb9dfa3e45ab9bfbbdc874b4ba566a2a7d8984a666ce2933b2c6d2215467f7fbfa03ac520 SHA512 dd6c7500e39d7058871280d12e120bd28d9609e5289f1d7851b3b59e2c1bfe74d3040d902bd5b26895e558b563c8abad878e7bc343e199e7356940c02a64217f

diff --git a/dev-cpp/cpp-taskflow/cpp-taskflow-2.3.1.ebuild b/dev-cpp/cpp-taskflow/cpp-taskflow-2.3.1.ebuild
new file mode 100644
index 0000000..97255ac
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/cpp-taskflow-2.3.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Modern C++ Parallel Task Programming"
+HOMEPAGE="https://cpp-taskflow.github.io"
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/cpp-taskflow/${PN}.git"
+	inherit git-r3
+	KEYWORDS=""
+else
+	SRC_URI="https://github.com/cpp-taskflow/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-optional-tests-examples.patch
+	"${FILESDIR}"/${P}-fix-lib-path.patch
+)
+
+
+src_configure() {
+	local mycmakeargs=(
+		-DTF_BUILD_TESTS=$(usex test ON OFF)
+	)
+	cmake_src_configure
+}

diff --git a/dev-cpp/cpp-taskflow/cpp-taskflow-2.4.0.ebuild b/dev-cpp/cpp-taskflow/cpp-taskflow-2.4.0.ebuild
new file mode 100644
index 0000000..8edadb7
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/cpp-taskflow-2.4.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Modern C++ Parallel Task Programming"
+HOMEPAGE="https://cpp-taskflow.github.io"
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/cpp-taskflow/${PN}.git"
+	inherit git-r3
+	KEYWORDS=""
+else
+	SRC_URI="https://github.com/cpp-taskflow/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-optional-tests-examples.patch
+	"${FILESDIR}"/${P}-fix-lib-path.patch
+	"${FILESDIR}"/${P}-fix-version-number.patch
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DTF_BUILD_TESTS=$(usex test ON OFF)
+	)
+	cmake_src_configure
+}

diff --git a/dev-cpp/cpp-taskflow/cpp-taskflow-9999.ebuild b/dev-cpp/cpp-taskflow/cpp-taskflow-9999.ebuild
new file mode 100644
index 0000000..ced7f05
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/cpp-taskflow-9999.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Modern C++ Parallel Task Programming"
+HOMEPAGE="https://cpp-taskflow.github.io"
+if [[ ${PV} == 9999 ]]; then
+	EGIT_REPO_URI="https://github.com/cpp-taskflow/${PN}.git"
+	inherit git-r3
+	KEYWORDS=""
+else
+	SRC_URI="https://github.com/cpp-taskflow/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="test"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+	"${FILESDIR}"/${P}-optional-tests-examples.patch
+	"${FILESDIR}"/${P}-fix-lib-path.patch
+)
+
+src_configure() {
+	local mycmakeargs=(
+		-DTF_BUILD_TESTS=$(usex test ON OFF)
+	)
+	cmake_src_configure
+}

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.3.1-fix-lib-path.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.3.1-fix-lib-path.patch
new file mode 100644
index 0000000..2b89307
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.3.1-fix-lib-path.patch
@@ -0,0 +1,49 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c267f84..3f357aa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,6 +16,7 @@ option(TF_BUILD_BENCHMARKS "Enables build of benchmarks" OFF)
+ 
+ # Include additional language check
+ include(CheckLanguage)
++include(GNUInstallDirs)
+ 
+ # Compiler vendors
+ ## g++
+@@ -157,8 +158,8 @@ target_link_libraries(
+ #set(CMAKE_CXX_EXTENSIONS OFF)
+ 
+ # installation path
+-set(TF_INC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
+-set(TF_LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
++set(TF_INC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
++set(TF_LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ set(TF_UTEST_DIR ${PROJECT_SOURCE_DIR}/unittests)
+ set(TF_EXAMPLE_DIR ${PROJECT_SOURCE_DIR}/examples)
+ set(TF_BENCHMARK_DIR ${PROJECT_SOURCE_DIR}/benchmarks)
+@@ -782,7 +783,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets)
+ install(
+   EXPORT ${PROJECT_NAME}Targets 
+   NAMESPACE ${PROJECT_NAME}:: 
+-  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake
++  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+ )
+ 
+ # set up config
+@@ -791,7 +792,7 @@ include(CMakePackageConfigHelpers)
+ configure_package_config_file(
+   ${PROJECT_NAME}Config.cmake.in
+   ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+-  INSTALL_DESTINATION ${TF_LIB_INSTALL_DIR}/cmake
++  INSTALL_DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+   PATH_VARS TF_INC_INSTALL_DIR
+ )
+ 
+@@ -803,6 +804,6 @@ write_basic_package_version_file(
+ install(
+   FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+         ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+-  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake 
++  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+ )
+ 

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.3.1-optional-tests-examples.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.3.1-optional-tests-examples.patch
new file mode 100644
index 0000000..279277e
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.3.1-optional-tests-examples.patch
@@ -0,0 +1,49 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3fccfd2..c267f84 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -9,8 +9,8 @@ set(CMAKE_VERBOSE_MAKEFILE ON)
+ project(Cpp-Taskflow VERSION 2.3.1 LANGUAGES CXX)
+ 
+ # build options
+-option(TF_BUILD_EXAMPLES "Enables build of examples" ON)
+-option(TF_BUILD_TESTS "Enables build of tests" ON)
++option(TF_BUILD_EXAMPLES "Enables build of examples" OFF)
++option(TF_BUILD_TESTS "Enables build of tests" OFF)
+ option(TF_ENABLE_CUDA "Enables build of cuda code" OFF)
+ option(TF_BUILD_BENCHMARKS "Enables build of benchmarks" OFF)
+ 
+@@ -222,7 +222,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE
+ # Example program 
+ # -----------------------------------------------------------------------------
+ 
+-if(${TF_BUILD_EXAMPLES})
++if(TF_BUILD_EXAMPLES)
+ 
+ message(STATUS "Building examples ...")
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_EXAMPLE_DIR})
+@@ -282,13 +282,13 @@ target_link_libraries(
+ )
+ endif(${TF_ENABLE_CUDA})
+ 
+-endif(${TF_BUILD_EXAMPLES})  # ---- if TF_BUILD_EXAMPLES
++endif(TF_BUILD_EXAMPLES)  # ---- if TF_BUILD_EXAMPLES
+ 
+ # -----------------------------------------------------------------------------
+ # Unittest
+ # -----------------------------------------------------------------------------
+ 
+-if(${TF_BUILD_TESTS})
++if(TF_BUILD_TESTS)
+  
+ enable_testing()
+ message(STATUS "Building unit tests ...")
+@@ -504,7 +504,7 @@ add_test(cuda_matrix.product ${TF_UTEST_DIR}/cuda/cuda_matrix -tc=product)
+ 
+ endif(${TF_ENABLE_CUDA})
+ 
+-endif(${TF_BUILD_TESTS})
++endif(TF_BUILD_TESTS)
+ 
+ # -----------------------------------------------------------------------------
+ # Benchmarking (enabled by TF_BUILD_BENCHMARKS)

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-fix-lib-path.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-fix-lib-path.patch
new file mode 100644
index 0000000..6a99a0b
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-fix-lib-path.patch
@@ -0,0 +1,49 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4b9c134..f49c398 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,6 +16,7 @@ option(TF_BUILD_TESTS "Enable build of tests" OFF)
+ 
+ # Include additional language check
+ include(CheckLanguage)
++include(GNUInstallDirs)
+ 
+ # Compiler vendors
+ ## g++
+@@ -166,8 +167,8 @@ target_link_libraries(
+ #set(CMAKE_CXX_EXTENSIONS OFF)
+ 
+ # installation path
+-set(TF_INC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
+-set(TF_LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
++set(TF_INC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
++set(TF_LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ set(TF_UTEST_DIR ${PROJECT_SOURCE_DIR}/unittests)
+ set(TF_EXAMPLE_DIR ${PROJECT_SOURCE_DIR}/examples)
+ set(TF_BENCHMARK_DIR ${PROJECT_SOURCE_DIR}/benchmarks)
+@@ -799,7 +800,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets)
+ install(
+   EXPORT ${PROJECT_NAME}Targets 
+   NAMESPACE ${PROJECT_NAME}:: 
+-  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake
++  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+ )
+ 
+ # set up config
+@@ -808,7 +809,7 @@ include(CMakePackageConfigHelpers)
+ configure_package_config_file(
+   ${PROJECT_NAME}Config.cmake.in
+   ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+-  INSTALL_DESTINATION ${TF_LIB_INSTALL_DIR}/cmake
++  INSTALL_DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+   PATH_VARS TF_INC_INSTALL_DIR
+ )
+ 
+@@ -820,6 +821,6 @@ write_basic_package_version_file(
+ install(
+   FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+         ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+-  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake 
++  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+ )
+ 

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-fix-version-number.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-fix-version-number.patch
new file mode 100644
index 0000000..5b53c31
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-fix-version-number.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f49c398..834b32e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,7 +6,7 @@ MESSAGE(STATUS "CMAKE_ROOT: " ${CMAKE_ROOT})
+ set(CMAKE_VERBOSE_MAKEFILE ON)
+ 
+ # Project name
+-project(Cpp-Taskflow VERSION 2.3.1 LANGUAGES CXX)
++project(Cpp-Taskflow VERSION 2.4.0 LANGUAGES CXX)
+ 
+ # build options
+ option(TF_ENABLE_CUDA "Enables build of cuda code" OFF)

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-optional-tests-examples.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-optional-tests-examples.patch
new file mode 100644
index 0000000..c1d8933
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-2.4.0-optional-tests-examples.patch
@@ -0,0 +1,42 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8debfa4..4b9c134 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,8 @@ project(Cpp-Taskflow VERSION 2.3.1 LANGUAGES CXX)
+ # build options
+ option(TF_ENABLE_CUDA "Enables build of cuda code" OFF)
+ option(TF_BUILD_BENCHMARKS "Enables build of benchmarks" OFF)
++option(TF_BUILD_EXAMPLES "Enable build of examples" OFF)
++option(TF_BUILD_TESTS "Enable build of tests" OFF)
+ 
+ # Include additional language check
+ include(CheckLanguage)
+@@ -227,6 +229,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE
+ # Example program 
+ # -----------------------------------------------------------------------------
+ 
++if (TF_BUILD_EXAMPLES)
+ message(STATUS "Building examples ...")
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_EXAMPLE_DIR})
+ 
+@@ -289,10 +292,12 @@ target_link_libraries(
+   device_property ${PROJECT_NAME} Threads::Threads tf::default_settings
+ )
+ endif(${TF_ENABLE_CUDA})
++endif(TF_BUILD_EXAMPLES)
+ 
+ # -----------------------------------------------------------------------------
+ # Unittest
+ # -----------------------------------------------------------------------------
++if (TF_BUILD_TESTS)
+ enable_testing()
+ message(STATUS "Building unit tests ...")
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_UTEST_DIR})
+@@ -516,6 +521,7 @@ add_test(cuda_matrix.transpose ${TF_UTEST_DIR}/cuda/cuda_matrix -tc=transpose)
+ add_test(cuda_matrix.product ${TF_UTEST_DIR}/cuda/cuda_matrix -tc=product)
+ 
+ endif(${TF_ENABLE_CUDA})
++endif(TF_BUILD_TESTS)
+ 
+ # -----------------------------------------------------------------------------
+ # Benchmarking (enabled by TF_BUILD_BENCHMARKS)

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-9999-fix-lib-path.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-9999-fix-lib-path.patch
new file mode 100644
index 0000000..4969deb
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-9999-fix-lib-path.patch
@@ -0,0 +1,49 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0b483a5..83d9430 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,6 +15,7 @@ option(TF_BUILD_TESTS "Enable build of tests" OFF)
+ 
+ # Include additional language check
+ include(CheckLanguage)
++include(GNUInstallDirs)
+ 
+ # Compiler vendors
+ ## g++
+@@ -159,8 +160,8 @@ target_link_libraries(
+ #set(CMAKE_CXX_EXTENSIONS OFF)
+ 
+ # installation path
+-set(TF_INC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
+-set(TF_LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
++set(TF_INC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}")
++set(TF_LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+ set(TF_UTEST_DIR ${PROJECT_SOURCE_DIR}/unittests)
+ set(TF_EXAMPLE_DIR ${PROJECT_SOURCE_DIR}/examples)
+ set(TF_BENCHMARK_DIR ${PROJECT_SOURCE_DIR}/benchmarks)
+@@ -835,7 +836,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets)
+ install(
+   EXPORT ${PROJECT_NAME}Targets 
+   NAMESPACE ${PROJECT_NAME}:: 
+-  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake
++  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+ )
+ 
+ # set up config
+@@ -844,7 +845,7 @@ include(CMakePackageConfigHelpers)
+ configure_package_config_file(
+   ${PROJECT_NAME}Config.cmake.in
+   ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+-  INSTALL_DESTINATION ${TF_LIB_INSTALL_DIR}/cmake
++  INSTALL_DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+   PATH_VARS TF_INC_INSTALL_DIR
+ )
+ 
+@@ -856,6 +857,6 @@ write_basic_package_version_file(
+ install(
+   FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
+         ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
+-  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake 
++  DESTINATION ${TF_LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}
+ )
+ 

diff --git a/dev-cpp/cpp-taskflow/files/cpp-taskflow-9999-optional-tests-examples.patch b/dev-cpp/cpp-taskflow/files/cpp-taskflow-9999-optional-tests-examples.patch
new file mode 100644
index 0000000..94b1dbc
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/files/cpp-taskflow-9999-optional-tests-examples.patch
@@ -0,0 +1,42 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 281f47f..0b483a5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,6 +10,8 @@ project(Cpp-Taskflow VERSION 2.4.0 LANGUAGES CXX)
+ 
+ # build options
+ option(TF_BUILD_BENCHMARKS "Enables build of benchmarks" OFF)
++option(TF_BUILD_EXAMPLES "Enable build of examples" OFF)
++option(TF_BUILD_TESTS "Enable build of tests" OFF)
+ 
+ # Include additional language check
+ include(CheckLanguage)
+@@ -219,6 +221,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE
+ # Example program 
+ # -----------------------------------------------------------------------------
+ 
++if (TF_BUILD_EXAMPLES)
+ message(STATUS "Building examples ...")
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_EXAMPLE_DIR})
+ 
+@@ -291,10 +294,12 @@ target_link_libraries(
+   kmeans ${PROJECT_NAME} Threads::Threads tf::default_settings
+ )
+ endif(CMAKE_CUDA_COMPILER)
++endif(TF_BUILD_EXAMPLES)
+ 
+ # -----------------------------------------------------------------------------
+ # Unittest
+ # -----------------------------------------------------------------------------
++if (TF_BUILD_TESTS)
+ enable_testing()
+ message(STATUS "Building unit tests ...")
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TF_UTEST_DIR})
+@@ -616,6 +621,7 @@ add_test(cuda_kmeans.1000.8C8G ${TF_UTEST_CUDA_KMEANS} -tc=kmeans.1000.8C8G)
+ add_test(cuda_kmeans.1000.16C16G ${TF_UTEST_CUDA_KMEANS} -tc=kmeans.1000.16C16G)
+ 
+ endif(CMAKE_CUDA_COMPILER)
++endif(TF_BUILD_TESTS)
+ 
+ # -----------------------------------------------------------------------------
+ # Benchmarking (enabled by TF_BUILD_BENCHMARKS)

diff --git a/dev-cpp/cpp-taskflow/metadata.xml b/dev-cpp/cpp-taskflow/metadata.xml
new file mode 100644
index 0000000..23d1a01
--- /dev/null
+++ b/dev-cpp/cpp-taskflow/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<longdescription lang="en">
+		Cpp-Taskflow helps you quickly write parallel programs with high performance scalability and simultaneous high productivity.
+	</longdescription>
+	<maintainer type="person">
+		<email>m.santullo@××××××.net</email>
+		<name>Michele Santullo</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">cpp-taskflow/cpp-taskflow</remote-id>
+		<bugs-to>https://github.com/cpp-taskflow/cpp-taskflow/issues</bugs-to>
+	</upstream>
+</pkgmetadata>