commit:     be8b6a8f9aa5c220c163e99b37aa1183daf1c5e1
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 30 21:03:30 2020 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Thu Apr 30 22:06:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be8b6a8f

sci-libs/ginkgo: improve ebuild

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 .../ginkgo/files/ginkgo-1.1.1-set_soname.patch     | 14 +++++++++
 ...{ginkgo-1.1.1.ebuild => ginkgo-1.1.1-r1.ebuild} | 32 +++++++++++++++-----
 sci-libs/ginkgo/ginkgo-9999.ebuild                 | 34 +++++++++++++++-------
 sci-libs/ginkgo/metadata.xml                       |  1 +
 4 files changed, 63 insertions(+), 18 deletions(-)

diff --git a/sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch 
b/sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch
new file mode 100644
index 00000000000..9feceee00f7
--- /dev/null
+++ b/sci-libs/ginkgo/files/ginkgo-1.1.1-set_soname.patch
@@ -0,0 +1,14 @@
+diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake
+index 8a8ad04..03c6db6 100644
+--- a/cmake/build_helpers.cmake
++++ b/cmake/build_helpers.cmake
+@@ -17,6 +17,9 @@ function(ginkgo_compile_features name)
+     if(GINKGO_WITH_IWYU AND GINKGO_IWYU_PATH)
+         set_property(TARGET "${name}" PROPERTY CXX_INCLUDE_WHAT_YOU_USE 
${GINKGO_IWYU_PATH})
+     endif()
++    # Set an appropriate SONAME
++    set_property(TARGET "${name}" PROPERTY
++        SOVERSION "${Ginkgo_VERSION}")
+     if(GINKGO_CHANGED_SHARED_LIBRARY)
+         # Put all shared libraries and corresponding imported libraries into 
the specified path
+         set_property(TARGET "${name}" PROPERTY

diff --git a/sci-libs/ginkgo/ginkgo-1.1.1.ebuild 
b/sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild
similarity index 51%
rename from sci-libs/ginkgo/ginkgo-1.1.1.ebuild
rename to sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild
index a3c8615833d..5348b9a51be 100644
--- a/sci-libs/ginkgo/ginkgo-1.1.1.ebuild
+++ b/sci-libs/ginkgo/ginkgo-1.1.1-r1.ebuild
@@ -8,19 +8,34 @@ inherit cmake-utils
 DESCRIPTION="Numerical linear algebra software package"
 HOMEPAGE="https://ginkgo-project.github.io/";
 
-SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
+if [[ ${PV} = *9999* ]]; then
+       EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo";
+       SRC_URI=""
+       KEYWORDS=""
+       inherit git-r3
+else
+       SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz 
-> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
 
 LICENSE="BSD-with-attribution"
 SLOT="0"
-IUSE=""
+IUSE="+openmp cuda"
 
-# TODO: add slepc use flag once slepc is packaged for gentoo-science
-REQUIRED_USE=""
+RDEPEND="
+       cuda? ( dev-util/nvidia-cuda-sdk )"
+DEPEND="${RDEPEND}"
 
-RDEPEND=""
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.1.1-set_soname.patch
+)
 
-DEPEND=""
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] && \
+               use openmp && ! tc-has-openmp ; then
+                       die "Need an OpenMP capable compiler"
+       fi
+}
 
 src_prepare() {
        sed -i \
@@ -38,7 +53,8 @@ src_configure() {
                -DGINKGO_BUILD_TESTS=OFF
                -DGINKGO_BUILD_BENCHMARKS=OFF
                -DGINKGO_BUILD_REFERENCE=ON
-               -DGINKGO_BUILD_OMP=ON
+               -DGINKGO_BUILD_OMP="$(usex openmp)"
+               -DGINKGO_BUILD_CUDA="$(usex cuda)"
        )
        cmake-utils_src_configure
 }

diff --git a/sci-libs/ginkgo/ginkgo-9999.ebuild 
b/sci-libs/ginkgo/ginkgo-9999.ebuild
index 3b9102d2165..5348b9a51be 100644
--- a/sci-libs/ginkgo/ginkgo-9999.ebuild
+++ b/sci-libs/ginkgo/ginkgo-9999.ebuild
@@ -8,21 +8,34 @@ inherit cmake-utils
 DESCRIPTION="Numerical linear algebra software package"
 HOMEPAGE="https://ginkgo-project.github.io/";
 
-inherit git-r3
-EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo";
-SRC_URI=""
-KEYWORDS=""
+if [[ ${PV} = *9999* ]]; then
+       EGIT_REPO_URI="https://github.com/ginkgo-project/ginkgo";
+       SRC_URI=""
+       KEYWORDS=""
+       inherit git-r3
+else
+       SRC_URI="https://github.com/${PN}-project/${PN}/archive/v${PV}.tar.gz 
-> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
 
 LICENSE="BSD-with-attribution"
 SLOT="0"
-IUSE=""
+IUSE="+openmp cuda"
 
-# TODO: add slepc use flag once slepc is packaged for gentoo-science
-REQUIRED_USE=""
+RDEPEND="
+       cuda? ( dev-util/nvidia-cuda-sdk )"
+DEPEND="${RDEPEND}"
 
-RDEPEND=""
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.1.1-set_soname.patch
+)
 
-DEPEND=""
+pkg_setup() {
+       if [[ ${MERGE_TYPE} != binary ]] && \
+               use openmp && ! tc-has-openmp ; then
+                       die "Need an OpenMP capable compiler"
+       fi
+}
 
 src_prepare() {
        sed -i \
@@ -40,7 +53,8 @@ src_configure() {
                -DGINKGO_BUILD_TESTS=OFF
                -DGINKGO_BUILD_BENCHMARKS=OFF
                -DGINKGO_BUILD_REFERENCE=ON
-               -DGINKGO_BUILD_OMP=ON
+               -DGINKGO_BUILD_OMP="$(usex openmp)"
+               -DGINKGO_BUILD_CUDA="$(usex cuda)"
        )
        cmake-utils_src_configure
 }

diff --git a/sci-libs/ginkgo/metadata.xml b/sci-libs/ginkgo/metadata.xml
index e67b3457031..2b6a2c10b33 100644
--- a/sci-libs/ginkgo/metadata.xml
+++ b/sci-libs/ginkgo/metadata.xml
@@ -15,6 +15,7 @@
                implemented using modern C++, with GPU kernels implemented in 
CUDA.
        </longdescription>
        <use>
+               <flag name="cuda">Add support for cuda assimp 
(<pkg>dev-util/nvidia-cuda-sdk</pkg>)</flag>
        </use>
        <upstream>
                <remote-id type="github">ginkgo-project/ginkgo</remote-id>

Reply via email to