--- /dev/null
+diff --git a/CMakeModules/FindSCOTCH.cmake b/CMakeModules/FindSCOTCH.cmake
+index 9f22b8d..0755470 100644
+--- a/CMakeModules/FindSCOTCH.cmake
++++ b/CMakeModules/FindSCOTCH.cmake
+@@ -232,81 +232,83 @@ int main() {
+ ")
+
+ message(STATUS "Performing test SCOTCH_TEST_RUNS")
+- try_run(
+- SCOTCH_TEST_LIB_EXITCODE
+- SCOTCH_TEST_LIB_COMPILED
+- ${CMAKE_CURRENT_BINARY_DIR}
+- ${SCOTCH_TEST_LIB_CPP}
+- CMAKE_FLAGS
+- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+- COMPILE_OUTPUT_VARIABLE SCOTCH_TEST_LIB_COMPILE_OUTPUT
+- RUN_OUTPUT_VARIABLE SCOTCH_TEST_LIB_OUTPUT
+- )
+-
+- if (SCOTCH_TEST_LIB_COMPILED AND SCOTCH_TEST_LIB_EXITCODE EQUAL 0)
+- message(STATUS "Performing test SCOTCH_TEST_RUNS - Success")
+- set(SCOTCH_TEST_RUNS TRUE)
+- else()
+- message(STATUS "Performing test SCOTCH_TEST_RUNS - Failed")
+- if (SCOTCH_DEBUG)
+- # Output some variables
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_TEST_LIB_COMPILED = ${SCOTCH_TEST_LIB_COMPILED}")
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_TEST_LIB_COMPILE_OUTPUT = ${SCOTCH_TEST_LIB_COMPILE_OUTPUT}")
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_TEST_LIB_EXITCODE = ${SCOTCH_TEST_LIB_EXITCODE}")
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_TEST_LIB_OUTPUT = ${SCOTCH_TEST_LIB_OUTPUT}")
+- endif()
+- endif()
+-
+- # If program does not run, try adding zlib library and test again
+- if(NOT SCOTCH_TEST_RUNS)
+- if (NOT ZLIB_FOUND)
+- find_package(ZLIB)
+- endif()
+-
+- if (ZLIB_INCLUDE_DIRS AND ZLIB_LIBRARIES)
+- set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZLIB_INCLUDE_DIRS})
+- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZLIB_LIBRARIES})
+-
+- message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS")
+- try_run(
+- SCOTCH_ZLIB_TEST_LIB_EXITCODE
+- SCOTCH_ZLIB_TEST_LIB_COMPILED
+- ${CMAKE_CURRENT_BINARY_DIR}
+- ${SCOTCH_TEST_LIB_CPP}
+- CMAKE_FLAGS
+- "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
+- "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+- COMPILE_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT
+- RUN_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_OUTPUT
+- )
+-
+- # Add zlib flags if required and set test run to 'true'
+- if (SCOTCH_ZLIB_TEST_LIB_COMPILED AND SCOTCH_ZLIB_TEST_LIB_EXITCODE EQUAL 0)
+- message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Success")
+- set(SCOTCH_INCLUDE_DIRS ${SCOTCH_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS})
+- set(SCOTCH_LIBRARIES ${SCOTCH_LIBRARIES} ${ZLIB_LIBRARIES})
+- set(SCOTCH_TEST_RUNS TRUE)
+- else()
+- message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Failed")
+- if (SCOTCH_DEBUG)
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_ZLIB_TEST_LIB_COMPILED = ${SCOTCH_ZLIB_TEST_LIB_COMPILED}")
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT = ${SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT}")
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_TEST_LIB_EXITCODE = ${SCOTCH_TEST_LIB_EXITCODE}")
+- message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+- "SCOTCH_TEST_LIB_OUTPUT = ${SCOTCH_TEST_LIB_OUTPUT}")
+- endif()
+- endif()
+-
+- endif()
+- endif()
++ set(SCOTCH_TEST_RUNS FALSE)
++ message(STATUS "Performing test SCOTCH_TEST_RUNS - Failed")
++ # try_run(
++ # SCOTCH_TEST_LIB_EXITCODE
++ # SCOTCH_TEST_LIB_COMPILED
++ # ${CMAKE_CURRENT_BINARY_DIR}
++ # ${SCOTCH_TEST_LIB_CPP}
++ # CMAKE_FLAGS
++ # "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
++ # "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
++ # COMPILE_OUTPUT_VARIABLE SCOTCH_TEST_LIB_COMPILE_OUTPUT
++ # RUN_OUTPUT_VARIABLE SCOTCH_TEST_LIB_OUTPUT
++ # )
++
++ # if (SCOTCH_TEST_LIB_COMPILED AND SCOTCH_TEST_LIB_EXITCODE EQUAL 0)
++ # message(STATUS "Performing test SCOTCH_TEST_RUNS - Success")
++ # set(SCOTCH_TEST_RUNS TRUE)
++ # else()
++ # message(STATUS "Performing test SCOTCH_TEST_RUNS - Failed")
++ # if (SCOTCH_DEBUG)
++ # # Output some variables
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_TEST_LIB_COMPILED = ${SCOTCH_TEST_LIB_COMPILED}")
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_TEST_LIB_COMPILE_OUTPUT = ${SCOTCH_TEST_LIB_COMPILE_OUTPUT}")
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_TEST_LIB_EXITCODE = ${SCOTCH_TEST_LIB_EXITCODE}")
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_TEST_LIB_OUTPUT = ${SCOTCH_TEST_LIB_OUTPUT}")
++ # endif()
++ # endif()
++
++ # # If program does not run, try adding zlib library and test again
++ # if(NOT SCOTCH_TEST_RUNS)
++ # if (NOT ZLIB_FOUND)
++ # find_package(ZLIB)
++ # endif()
++
++ # if (ZLIB_INCLUDE_DIRS AND ZLIB_LIBRARIES)
++ # set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZLIB_INCLUDE_DIRS})
++ # set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZLIB_LIBRARIES})
++
++ # message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS")
++ # try_run(
++ # SCOTCH_ZLIB_TEST_LIB_EXITCODE
++ # SCOTCH_ZLIB_TEST_LIB_COMPILED
++ # ${CMAKE_CURRENT_BINARY_DIR}
++ # ${SCOTCH_TEST_LIB_CPP}
++ # CMAKE_FLAGS
++ # "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}"
++ # "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
++ # COMPILE_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT
++ # RUN_OUTPUT_VARIABLE SCOTCH_ZLIB_TEST_LIB_OUTPUT
++ # )
++
++ # # Add zlib flags if required and set test run to 'true'
++ # if (SCOTCH_ZLIB_TEST_LIB_COMPILED AND SCOTCH_ZLIB_TEST_LIB_EXITCODE EQUAL 0)
++ # message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Success")
++ # set(SCOTCH_INCLUDE_DIRS ${SCOTCH_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS})
++ # set(SCOTCH_LIBRARIES ${SCOTCH_LIBRARIES} ${ZLIB_LIBRARIES})
++ # set(SCOTCH_TEST_RUNS TRUE)
++ # else()
++ # message(STATUS "Performing test SCOTCH_ZLIB_TEST_RUNS - Failed")
++ # if (SCOTCH_DEBUG)
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_ZLIB_TEST_LIB_COMPILED = ${SCOTCH_ZLIB_TEST_LIB_COMPILED}")
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT = ${SCOTCH_ZLIB_TEST_LIB_COMPILE_OUTPUT}")
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_TEST_LIB_EXITCODE = ${SCOTCH_TEST_LIB_EXITCODE}")
++ # message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
++ # "SCOTCH_TEST_LIB_OUTPUT = ${SCOTCH_TEST_LIB_OUTPUT}")
++ # endif()
++ # endif()
++
++ # endif()
++ # endif()
+ endif()
+ endif()
+
--- /dev/null
+# Copyright 1999-2019 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils cuda
+
+DESCRIPTION="An auto-parallelizing library to speed up computer simulations"
+HOMEPAGE="http://www.libgeodecomp.org"
+SRC_URI="http://www.libgeodecomp.org/archive/${P}.tar.bz2"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc mpi cuda opencl opencv silo hpx visit"
+
+RDEPEND=">=dev-libs/boost-1.48"
+DEPEND="${RDEPEND}
+ doc? (
+ app-doc/doxygen
+ app-text/texlive
+ media-gfx/graphviz
+ )
+ mpi? ( virtual/mpi )
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ opencl? ( virtual/opencl )
+ opencv? ( media-libs/opencv )
+ silo? ( sci-libs/silo )
+ hpx? ( sys-cluster/hpx )
+ visit? ( sci-visualization/visit )"
+
+S="${WORKDIR}/${P}"
+PATCHES=( "${FILESDIR}/${P}-scotch.patch" "${FILESDIR}/${P}-libdir.patch" )
+
+src_prepare() {
+ cmake-utils_src_prepare
+ use cuda && cuda_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_MPI=$(usex mpi)
+ -DWITH_CUDA=$(usex cuda)
+ -DWITH_OPENCL=$(usex opencl)
+ -DWITH_OPENCV=$(usex opencv)
+ -DWITH_SILO=$(usex silo)
+ -DWITH_SCOTCH=false
+ -DWITH_HPX=$(usex hpx)
+ -DWITH_VISIT=$(usex visit)
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ use doc && cmake-utils_src_make doc
+}
+
+src_install() {
+ DOCS=( README )
+ use doc && HTML_DOCS=( doc/html/* )
+ cmake-utils_src_install
+}
+
+src_test() {
+ cmake-utils_src_make check
+}