sci-physics/vgm: Add patch for vgm-4.4, correct dependency.
authorOliver Freyermuth <o.freyermuth@googlemail.com>
Mon, 15 Jul 2019 17:49:20 +0000 (19:49 +0200)
committerMichał Górny <mgorny@gentoo.org>
Thu, 18 Jul 2019 18:00:20 +0000 (20:00 +0200)
Patch needed to correctly find CLHEP on 17.1 profile,
upstreamed. sci-physics/root now has c++11 to depend on.
Revbump for EAPI bump.

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Oliver Freyermuth <o.freyermuth@googlemail.com>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
sci-physics/vgm/files/vgm-fix-FindCLHEP.patch [new file with mode: 0644]
sci-physics/vgm/vgm-4.4-r1.ebuild [new file with mode: 0644]
sci-physics/vgm/vgm-9999.ebuild

diff --git a/sci-physics/vgm/files/vgm-fix-FindCLHEP.patch b/sci-physics/vgm/files/vgm-fix-FindCLHEP.patch
new file mode 100644 (file)
index 0000000..d3bf3d0
--- /dev/null
@@ -0,0 +1,64 @@
+diff -Naur vgm/cmake/FindCLHEP.cmake vgm.patched/cmake/FindCLHEP.cmake
+--- vgm/cmake/FindCLHEP.cmake  2019-01-25 18:46:25.000000000 +0100
++++ vgm.patched/cmake/FindCLHEP.cmake  2019-06-29 19:50:18.092076913 +0200
+@@ -4,13 +4,13 @@
+ # The configuration file for CMake build for Virtual Geometry Model
+ # Copyright (C) 2012, Ivana Hrivnacova
+ # All rights reserved.
+-# 
++#
+ # For the licensing terms see vgm/LICENSE.
+ # Contact: ivana@ipno.in2p3.fr
+ # ------------------------------------------------------------------------------
+-# The CMake build for Virtual Geometry Model is a result of a merge 
+-# of the CMake configuration files kindly provided 
++# The CMake build for Virtual Geometry Model is a result of a merge
++# of the CMake configuration files kindly provided
+ # by Florian Uhlig, GSI and Pere Mato, CERN.
+ # - Try to find CLHEP
+@@ -36,28 +36,29 @@
+   $ENV{CLHEP_BASE_DIR}/include
+ )
+-# CLHEP library external to Geant4 
+-find_path(EXTERNAL_CLHEP_LIBRARY_DIR NAMES libCLHEP.so libCLHEP.dylib PATHS
++# CLHEP library external to Geant4
++find_library(EXTERNAL_CLHEP_LIBRARY NAMES libCLHEP.so libCLHEP.dylib PATHS
+   ${CLHEP_LIB_DIR}
+   ${CLHEP_DIR}/lib
+   $ENV{CLHEP_BASE_DIR}/lib
+ )
+-if (EXTERNAL_CLHEP_LIBRARY_DIR)
+-  set(CLHEP_LIBRARY_DIR ${EXTERNAL_CLHEP_LIBRARY_DIR})
+-  set(CLHEP_LIBRARY_NAME CLHEP)  
+-endif()    
+-
+-# CLHEP library within Geant4 
+-if (NOT EXTERNAL_CLHEP_LIBRARY_DIR)
+-  find_path(CLHEP_LIBRARY_DIR NAMES libG4clhep.so libG4clhep.dylib PATHS
++if (EXTERNAL_CLHEP_LIBRARY)
++  get_filename_component(CLHEP_LIBRARY_DIR "${EXTERNAL_CLHEP_LIBRARY}" DIRECTORY)
++  set(CLHEP_LIBRARY_NAME CLHEP)
++endif()
++
++# CLHEP library within Geant4
++if (NOT EXTERNAL_CLHEP_LIBRARY)
++  find_library(CLHEP_LIBRARY NAMES libG4clhep.so libG4clhep.dylib PATHS
+     ${Geant4_DIR}/..
+     ${GEANT4_LIBRARY_DIR}
+   )
+-  if (CLHEP_LIBRARY_DIR)
++  if (CLHEP_LIBRARY)
++    get_filename_component(CLHEP_LIBRARY_DIR "${CLHEP_LIBRARY}" DIRECTORY)
+     set(CLHEP_LIBRARY_NAME G4clhep)
+-  endif(CLHEP_LIBRARY_DIR)
+-endif()    
+-   
++  endif(CLHEP_LIBRARY)
++endif()
++
+ if (CLHEP_INCLUDE_DIRS AND CLHEP_LIBRARY_DIR)
+   set(CLHEP_FOUND TRUE)
+ endif (CLHEP_INCLUDE_DIRS AND CLHEP_LIBRARY_DIR)
diff --git a/sci-physics/vgm/vgm-4.4-r1.ebuild b/sci-physics/vgm/vgm-4.4-r1.ebuild
new file mode 100644 (file)
index 0000000..89f9a9e
--- /dev/null
@@ -0,0 +1,82 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake-utils
+
+if [[ ${PV} == *9999* ]]; then
+       inherit git-r3
+       EGIT_REPO_URI="https://github.com/vmc-project/${PN}.git"
+else
+       SRC_URI="http://ivana.home.cern.ch/ivana/${PN}.${PV}.tar.gz"
+       KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+       S="${WORKDIR}/${PN}.${PV}"
+fi
+
+DESCRIPTION="Virtual Geometry Model for High Energy Physics Experiments"
+HOMEPAGE="http://ivana.home.cern.ch/ivana/VGM.html"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="doc examples +geant4 +root test"
+
+# sci-physics/root[c++11] required to match sci-physics/geant
+RDEPEND="
+       sci-physics/clhep:=
+       root? ( sci-physics/root:=[c++11] )
+       geant4? ( >=sci-physics/geant-4.10.03 )"
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen[dot] )
+       test? ( sci-physics/geant-vmc[g4root] )"
+RESTRICT="
+       !geant4? ( test )
+       !root? ( test )
+       !test? ( test )"
+
+DOCS=(
+       doc/README
+       doc/todo.txt
+       doc/VGMhistory.txt
+       doc/VGM.html
+       doc/VGMversions.html
+)
+PATCHES=(
+       "${FILESDIR}"/"${PN}-fix-FindCLHEP.patch"
+)
+
+src_configure() {
+       local mycmakeargs=(
+               -DCLHEP_DIR="${EROOT}usr"
+               -DWITH_EXAMPLES="$(usex examples)"
+               -DINSTALL_EXAMPLES="$(usex examples)"
+               -DWITH_GEANT4="$(usex geant4)"
+               -DWITH_ROOT="$(usex root)"
+               -DWITH_TEST="$(usex test)"
+       )
+       if use test && use root && use geant4; then
+               mycmakeargs+=( -DWITH_G4ROOT=yes )
+       else
+               mycmakeargs+=( -DWITH_G4ROOT=no )
+       fi
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+       if use doc; then
+               cd packages
+               doxygen || die
+       fi
+}
+
+src_test() {
+       cd "${BUILD_DIR}"/test || die
+       ./test_suite.sh || die
+}
+
+src_install() {
+       cmake-utils_src_install
+       use doc && local HTML_DOCS=( doc/html/. )
+       einstalldocs
+}
index b303e23a06c697403f2f6113e9072873d0e953ee..00846ae113bd68e84795c2d9b483987b36299b79 100644 (file)
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 inherit cmake-utils
 
@@ -21,9 +21,10 @@ LICENSE="GPL-2"
 SLOT="0"
 IUSE="doc examples +geant4 +root test"
 
+# sci-physics/root[c++11] required to match sci-physics/geant
 RDEPEND="
        sci-physics/clhep:=
-       root? ( sci-physics/root:= )
+       root? ( sci-physics/root:=[c++11] )
        geant4? ( >=sci-physics/geant-4.10.03 )"
 DEPEND="${RDEPEND}
        doc? ( app-doc/doxygen[dot] )