Update to latest stable releases.

Signed-off-by: andreili <andreil499@gmail.com>
This commit is contained in:
andreili 2023-10-24 00:40:04 +02:00
parent c5c6b1afdc
commit 8d2964fdf4
26 changed files with 833 additions and 111 deletions

View File

@ -0,0 +1,3 @@
AUX abseil-cpp-20230802.0.patch 1478 BLAKE2B 89cde5e46f8b26a798c13f03cb48cd5d13821144835e4eb6196443f464175bc494e6f6fba1f0e53543a05fbf5ea4abafb658e60a406374f12a932821145e1457 SHA512 4eafc3a137fb9fc71a8f15bed308f6a3544e367e44168a34a80148b1f17dda16f9c9b573dcf8bb6d801ee97c5c3dcb017379a4a671a54fb4c05b6cac26a4a4fb
DIST abseil-cpp-20230802.0.tar.gz 2156669 BLAKE2B 34de2f949db3e7578cae39bdd851785fd5327a80662436e7d77f18e196cc28eb1b463e9f49c8fc66060073c6c88222015af8b41044d56af6811c8914e84fbea3 SHA512 320295fa687ded05b774741eb4c5285291d44cc14402ec5d997057cb4f53fb3ba54cd162c7a7b1003312b677603a1c25e14bfdbd1fc22ccf4b4443e8a6e3ec02
EBUILD abseil-cpp-20230802.0.ebuild 2110 BLAKE2B df05b048a65b50edfa12c22cf9f76b37bb60333d6f56846f79212ca1752e293228852cdcb089d0e3f48fba390fe628f37fb6373e1d2525e2e677d7b81600eda0 SHA512 4d33f250672bcd16ce168412ed3a7dcb85e2ee948dd01dc2b06c065e0fc2aa95ec4c66cd9cba67c0c3572f146bf5fbeaeba79b2cf47c8f97fd77e310245dff1b

View File

@ -0,0 +1,74 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit cmake-multilib python-any-r1
DESCRIPTION="Abseil Common Libraries (C++), LTS Branch"
HOMEPAGE="https://abseil.io/"
SRC_URI="https://github.com/abseil/abseil-cpp/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0/${PV%%.*}"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
IUSE="test"
DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND="
${PYTHON_DEPS}
test? (
>=dev-cpp/gtest-1.13.0
sys-libs/timezone-data
)
"
PATCHES=(
${FILESDIR}/abseil-cpp-20230802.0.patch
)
RESTRICT="!test? ( test )"
src_prepare() {
cmake_src_prepare
# un-hardcode abseil compiler flags
sed -i \
-e '/"-maes",/d' \
-e '/"-msse4.1",/d' \
-e '/"-mfpu=neon"/d' \
-e '/"-march=armv8-a+crypto"/d' \
absl/copts/copts.py || die
# Starting with abseil-2023xxyy abseil will start to delegate various absl:: types
# to their std:: equivalents by default when built with >=std=c++17.
# This older release still defaults to creating an absl/base/options.h file where this
# delegation is configured to happen at build time, creating ABI problems for consumers.
# In order to be consistent with future releases we therefore enforce the delegation to
# std::* implementations in this release as well.
sed -i -r -e 's/ABSL_OPTION_USE_STD_(.*) 2/ABSL_OPTION_USE_STD_\1 1/g' \
absl/base/options.h || die
# now generate cmake files
python_fix_shebang absl/copts/generate_copts.py
absl/copts/generate_copts.py || die
}
multilib_src_configure() {
local mycmakeargs=(
# We use -std=c++14 here so that abseil-cpp's string_view is used
# See the discussion in https://github.com/gentoo/gentoo/pull/32281.
-DCMAKE_CXX_STANDARD=17
-DABSL_ENABLE_INSTALL=TRUE
-DABSL_USE_EXTERNAL_GOOGLETEST=ON
-DABSL_PROPAGATE_CXX_STD=TRUE
-DABSL_BUILD_TEST_HELPERS=$(usex test ON OFF)
-DABSL_BUILD_TESTING=$(usex test ON OFF)
$(usex test -DBUILD_TESTING=ON '') # intentional usex, it used both variables for tests.
)
cmake_src_configure
}

View File

@ -0,0 +1,49 @@
diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake
index f0d984ae..9134696d 100644
--- a/CMake/AbseilDll.cmake
+++ b/CMake/AbseilDll.cmake
@@ -624,23 +624,33 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS
include(CheckCXXSourceCompiles)
-check_cxx_source_compiles(
- [==[
-#ifdef _MSC_VER
-# if _MSVC_LANG < 201700L
-# error "The compiler defaults or is configured for C++ < 17"
-# endif
-#elif __cplusplus < 201700L
-# error "The compiler defaults or is configured for C++ < 17"
-#endif
-int main() { return 0; }
-]==]
+message(WARNING "ABSL_CXX_STANDARD: ${ABSL_CXX_STANDARD}")
+message(WARNING "CMAKE_CXX_STANDARD: ${CMAKE_CXX_STANDARD}")
+message(WARNING "CMAKE_CXX_STANDARD_REQUIRED: ${CMAKE_CXX_STANDARD_REQUIRED}")
+message(WARNING "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
+
+if(CMAKE_CXX_STANDARD GREATER_EQUAL 17)
+ set(ABSL_INTERNAL_AT_LEAST_CXX17 TRUE)
+else()
+ check_cxx_source_compiles(
+ [==[
+ #ifdef _MSC_VER
+ # if _MSVC_LANG < 201700L
+ # error "The compiler defaults or is configured for C++ < 17"
+ # endif
+ #elif __cplusplus < 201700L
+ # error "The compiler defaults or is configured for C++ < 17"
+ #endif
+ int main() { return 0; }
+ ]==]
ABSL_INTERNAL_AT_LEAST_CXX17)
+endif()
if(ABSL_INTERNAL_AT_LEAST_CXX17)
set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_17)
else()
set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_14)
+ message(FATAL_ERROR "Should not pass here !!!")
endif()
function(absl_internal_dll_contains)

View File

@ -1 +0,0 @@
EBUILD or-tools-9999.ebuild 652 BLAKE2B 40b9a246d71cd9d708d99d1a0a3afb9006260005577b68abd6afb4e5442306825d428f3cc2c365b8f099990873b4d732d4607b16bdcd7a32fd3fc052afb22dc1 SHA512 b2654321531a0c50a68522ca61bdba7132f33b92b52b4c2954e71f2c66d7003050df719572ce0cb0e2dd2ccba556836d7d8937515e309acd58bf5f4b8a4750c3

View File

@ -1,36 +0,0 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit cmake python-any-r1 git-r3
DESCRIPTION="Google Optimization Tools"
#SRC_URI="https://github.com/The-OpenROAD-Project/OpenROAD/archive/refs/tags/v${PV}.tar.gz"
#S="${WORKDIR}/OpenROAD-${PV}"
EGIT_REPO_URI="https://github.com/google/or-tools.git"
EGIT_SUBMODULES=( '*' )
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
SLOT="0"
IUSE=""
DEPEND="
dev-libs/protobuf
dev-cpp/abseil-cpp
dev-libs/re2
sci-libs/coinor-cbc
"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-util/cmake
"
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/"
-DUSE_SCIP=OFF
)
cmake_src_configure
}

View File

@ -0,0 +1,3 @@
AUX protobuf-v24.4.patch 2796 BLAKE2B f545535a428fbd81f606effb633bb7c70cdf1332324532e9c721174aec34c87cd780276e2efa11645395562c179292681d461eb21bdc7508bf1b217fb39ae8f8 SHA512 608fe40a35628ce93f4cfc204837a89668c582ac2ad43b3839c9e63c94daaa6aaac0c8bbbb4d64ac56848f1ea177e0d6d55921f999d87f4ddc483fa86d15337a
DIST protobuf-24.4.tar.gz 5180235 BLAKE2B 1c7e9035d9f3810886baaea7d679414c882463c79828c99dd8895a9549638c1ca17f9ab3b38d461019f3e1412d9cb9584b995b1da99866eb6fdbb8bdeb063e6f SHA512 52b6ab5587d03cbd1f35cf3cdc388e1710fa50f3031559ac53cf754965407ded7602cdead56080444ab695588112cc3391a1d7fdd5e565d90d0af7ad08706315
EBUILD protobuf-24.4.ebuild 2443 BLAKE2B 9f4ad69a94546d9cde18ad6f1448e005e8789d6ace13777f91b1326184bcdd0edb33684d3fe72bb04133014f2a747233f4652ef51a14395429f6b89e480021ac SHA512 78ab823376a2c9e341eb63e770ac43956f931f645bfae79c61fe77d5fa3a421020abb2107745aa695370d8e6ea952cf0840ed03b9c7fe1f17719c25ba042a851

View File

@ -0,0 +1,71 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac0d03c3a..ac8aee8a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,7 +41,7 @@ else (BUILD_SHARED_LIBS)
endif (BUILD_SHARED_LIBS)
option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHARED_LIBS_DEFAULT})
include(CMakeDependentOption)
-cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON
+cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" OFF
"NOT protobuf_BUILD_SHARED_LIBS" OFF)
set(protobuf_WITH_ZLIB_DEFAULT ON)
option(protobuf_WITH_ZLIB "Build with zlib support" ${protobuf_WITH_ZLIB_DEFAULT})
@@ -158,24 +158,16 @@ endif()
set(_protobuf_FIND_ZLIB)
if (protobuf_WITH_ZLIB)
- find_package(ZLIB)
- if (ZLIB_FOUND)
- set(HAVE_ZLIB 1)
- # FindZLIB module define ZLIB_INCLUDE_DIRS variable
- # Set ZLIB_INCLUDE_DIRECTORIES for compatible
- set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS})
- # Using imported target if exists
- if (TARGET ZLIB::ZLIB)
- set(ZLIB_LIBRARIES ZLIB::ZLIB)
- set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND)\n find_package(ZLIB)\nendif()")
- endif (TARGET ZLIB::ZLIB)
- else (ZLIB_FOUND)
- set(HAVE_ZLIB 0)
- # Explicitly set these to empty (override NOT_FOUND) so cmake doesn't
- # complain when we use them later.
- set(ZLIB_INCLUDE_DIRECTORIES)
- set(ZLIB_LIBRARIES)
- endif (ZLIB_FOUND)
+ if (NOT TARGET ZLIB::ZLIB)
+ find_package(ZLIB REQUIRED)
+ endif()
+ set(HAVE_ZLIB 1)
+ # FindZLIB module define ZLIB_INCLUDE_DIRS variable
+ # Set ZLIB_INCLUDE_DIRECTORIES for compatible
+ set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS})
+ # Using imported target if exists
+ set(ZLIB_LIBRARIES ZLIB::ZLIB)
+ set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND AND NOT TARGET ZLIB::ZLIB)\n find_package(ZLIB REQUIRED)\nendif()")
endif (protobuf_WITH_ZLIB)
# We need to link with libatomic on systems that do not have builtin atomics, or
@@ -277,7 +269,6 @@ else (MSVC)
endif (MSVC)
include_directories(
- ${ZLIB_INCLUDE_DIRECTORIES}
${protobuf_BINARY_DIR}
${protobuf_SOURCE_DIR}/src)
diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake
index 422754a1a..ea91898d5 100644
--- a/cmake/libprotobuf.cmake
+++ b/cmake/libprotobuf.cmake
@@ -26,7 +26,9 @@ endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
target_link_libraries(libprotobuf PRIVATE log)
endif()
-target_include_directories(libprotobuf PUBLIC ${protobuf_SOURCE_DIR}/src)
+target_include_directories(libprotobuf PUBLIC
+ ${protobuf_SOURCE_DIR}/src
+ ${protobuf_SOURCE_DIR})
target_link_libraries(libprotobuf PUBLIC ${protobuf_ABSL_USED_TARGETS})
protobuf_configure_target(libprotobuf)
if(protobuf_BUILD_SHARED_LIBS)

View File

@ -0,0 +1,102 @@
# Copyright 2008-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib elisp-common toolchain-funcs
if [[ "${PV}" == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
EGIT_SUBMODULES=()
else
SRC_URI="https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data"
HOMEPAGE="https://protobuf.dev/"
LICENSE="BSD"
SLOT="0/$(ver_cut 1-2).0"
IUSE="emacs examples test zlib"
RESTRICT="!test? ( test )"
BDEPEND="emacs? ( app-editors/emacs:* )"
DEPEND="
>=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] )
"
RDEPEND="
>=dev-cpp/abseil-cpp-20230125.3:=[${MULTILIB_USEDEP}]
emacs? ( app-editors/emacs:* )
zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
"
PATCHES=(
${FILESDIR}/protobuf-v24.4.patch
)
DOCS=( CONTRIBUTORS.txt README.md )
src_configure() {
if tc-ld-is-gold; then
# https://sourceware.org/bugzilla/show_bug.cgi?id=24527
tc-ld-disable-gold
fi
cmake-multilib_src_configure
}
multilib_src_configure() {
local mycmakeargs=(
-Dprotobuf_DISABLE_RTTI=ON
-Dprotobuf_BUILD_EXAMPLES=$(usex examples)
-Dprotobuf_WITH_ZLIB=$(usex zlib)
-Dprotobuf_BUILD_TESTS=$(usex test)
-Dprotobuf_ABSL_PROVIDER=package
)
use test && mycmakeargs+=(-Dprotobuf_USE_EXTERNAL_GTEST=ON)
cmake_src_configure
}
src_compile() {
cmake-multilib_src_compile
if use emacs; then
elisp-compile editors/protobuf-mode.el
fi
}
multilib_src_install_all() {
find "${ED}" -name "*.la" -delete || die
if [[ ! -f "${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}" ]]; then
eerror "No matching library found with SLOT variable, currently set: ${SLOT}\n" \
"Expected value: ${ED}/usr/$(get_libdir)/libprotobuf.so.${SLOT#*/}"
die "Please update SLOT variable"
fi
if use emacs; then
elisp-install ${PN} editors/protobuf-mode.el*
elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el"
fi
if use examples; then
DOCS+=(examples)
docompress -x /usr/share/doc/${PF}/examples
fi
einstalldocs
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

2
dev-libs/re2/Manifest Normal file
View File

@ -0,0 +1,2 @@
DIST re2-2023-08-01.tar.gz 396553 BLAKE2B 4e9eed4d7be9e6ea0467099323293d95d5f0db80a9d8fc996e20aebf87d800b548eb0f526c3966843adac5da5568acc731cb8296101f5030cc36b26c1ef42ca6 SHA512 33703f87dbb359e481c46fd97977d420a9f0f3d4b378b8a0ecdec60d3c7b237d941b37780101f229c5e4785898a208963616a390d6c01d849c455716eae85106
EBUILD re2-0.2023.08.01.ebuild 1360 BLAKE2B c05651d26792e5526440b0add5639cde5097c04e97209a64635a470094811340e70d5bbb776326a06935f8692c3e8f0ea9c6b867f92ccfbf2c6adaa5d2c59aa3 SHA512 100dfdc937b12a46a7270aa1847f2d9df104a58e857c9233784902024430007547da15d7afda2a09cee40d59838361d603c27c7aa0077c717ff99096a5ef70ea

View File

@ -0,0 +1,52 @@
# Copyright 2012-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit multilib-minimal toolchain-funcs
# Different date format used upstream.
RE2_VER=${PV#0.}
RE2_VER=${RE2_VER//./-}
DESCRIPTION="An efficient, principled regular expression library"
HOMEPAGE="https://github.com/google/re2"
SRC_URI="https://github.com/google/re2/archive/${RE2_VER}.tar.gz -> re2-${RE2_VER}.tar.gz"
LICENSE="BSD"
# NOTE: Always run libre2 through abi-compliance-checker!
# https://abi-laboratory.pro/tracker/timeline/re2/
SONAME="11"
SLOT="0/${SONAME}"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="icu"
BDEPEND="icu? ( virtual/pkgconfig )"
DEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/re2-${RE2_VER}"
DOCS=( AUTHORS CONTRIBUTORS README doc/syntax.txt )
HTML_DOCS=( doc/syntax.html )
src_prepare() {
default
grep -q "^SONAME=${SONAME}\$" Makefile || die "SONAME mismatch"
if use icu; then
sed -i -e 's:^# \(\(CC\|LD\)ICU=.*\):\1:' Makefile || die
fi
multilib_copy_sources
}
src_configure() {
tc-export AR CXX
}
multilib_src_compile() {
emake SONAME="${SONAME}" shared
}
multilib_src_install() {
emake SONAME="${SONAME}" DESTDIR="${D}" prefix="${EPREFIX}/usr" libdir="\$(exec_prefix)/$(get_libdir)" shared-install
}

View File

@ -1,3 +1,4 @@
dev-cpp dev-cpp
dev-libs
sci-electronics sci-electronics
sci-libs sci-libs

View File

@ -1 +1,3 @@
EBUILD xschem-9999.ebuild 464 BLAKE2B 7e22a2fb12e89be329d97b496f198839b93dc5ba9b9b623747798104350a02e94a35a948729ff4ab3a65d48d9800ad109109ba5fa6f1fba6797da6ecac4b3036 SHA512 74d1713a1910ae371c4569dfa52ba69e482e6c8cecd1e8a1be0abb1dd7482a80e7b5d849b4913b4778d416f901b16689f2937b2a4cd118d5e2aa5f532163f94f DIST 3.4.3.zip 14258006 BLAKE2B 8144035d653ca966dfa6db71eca23310f31b45bb81eb9f8553778c7d745838e16e7b23575099e3518d8a0e01537ffff3b1d3d688d600522e98b2e43bdad263d4 SHA512 a3a346b0ab80c22e726e96154683b65ca44649230d718d9e776f6d5e5f26f6c36a6825d68006c7f84138de93577c00815054a527737992e669e129272b1416f3
EBUILD xschem-3.4.3.ebuild 644 BLAKE2B 9570368f16be1707bcbaa2c66d5e5cb07483b5bd4aa84290f7da4e3ff6e239ecdb3431dce2132bad097b1323e45bd06afeabf987072a7d4b270ff4038599aae2 SHA512 e0de9cd93f4adbcf0e6c09d493c614f9bb2f6601ee4332cbd2284657254fc6af7971c87aa5068e9ef31901f7c3105a3f66b87f4a0a1493a07471c3215aa58783
EBUILD xschem-9999.ebuild 644 BLAKE2B 9570368f16be1707bcbaa2c66d5e5cb07483b5bd4aa84290f7da4e3ff6e239ecdb3431dce2132bad097b1323e45bd06afeabf987072a7d4b270ff4038599aae2 SHA512 e0de9cd93f4adbcf0e6c09d493c614f9bb2f6601ee4332cbd2284657254fc6af7971c87aa5068e9ef31901f7c3105a3f66b87f4a0a1493a07471c3215aa58783

View File

@ -0,0 +1 @@
xschem-9999.ebuild

View File

@ -1,14 +1,17 @@
EAPI=8 EAPI=8
inherit git-r3
DESCRIPTION="A schematic editor for VLSI/Asic/Analog custom designs" DESCRIPTION="A schematic editor for VLSI/Asic/Analog custom designs"
HOMEPAGE="http://repo.hu/projects/xschem/index.html" HOMEPAGE="http://repo.hu/projects/xschem/index.html"
EGIT_REPO_URI="https://github.com/StefanSchippers/xschem.git" if [[ ${PV} == 9999 ]] ; then
EGIT_SUBMODULES=( '*' ) EGIT_REPO_URI="https://github.com/StefanSchippers/xschem.git"
EGIT_SUBMODULES=( '*' )
inherit git-r3
else
SRC_URI="https://github.com/StefanSchippers/${PN}/archive/refs/tags/${PV}.zip"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
fi
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
SLOT="0" SLOT="0"
IUSE="" IUSE=""

View File

@ -1,3 +1,6 @@
AUX build_fix.patch 1208 BLAKE2B ccd4e3ad6994e76421c62112600324f850752dccf0e74e2c683c8e08e9342d8ae56f4ab7e2823a3c43ecd009dfdf89c90891c78371f103512cb26f8b61110d01 SHA512 bb0e47d8e2b6d3e3dc3fc93ef18ab493f2d7244f7cfe21c592d5163f2c41543b9a37ddcadffcd25e990a41edab2e4ff21db1ecd96f649189b86ba991dfe6e0dc
AUX cuda_fix.patch 554 BLAKE2B f0609fd0faf38a8bfc15da8ad12c66070f9de6d9f1e1c3748903d1b5fd61ef401c3a0f149a7502b29d9fdd5d8054d0a7367a41734d8e76dbafd5f304a72429f2 SHA512 1c30ca126e4328e86a4fc10f1de9b7686ceca1403b2892f95b0b110df8becfd07540912d0bc6bc92726d1890157d7c8e137db2bad16e37057c2a4c9a42c22c7b AUX cuda_fix.patch 554 BLAKE2B f0609fd0faf38a8bfc15da8ad12c66070f9de6d9f1e1c3748903d1b5fd61ef401c3a0f149a7502b29d9fdd5d8054d0a7367a41734d8e76dbafd5f304a72429f2 SHA512 1c30ca126e4328e86a4fc10f1de9b7686ceca1403b2892f95b0b110df8becfd07540912d0bc6bc92726d1890157d7c8e137db2bad16e37057c2a4c9a42c22c7b
AUX install_fix.patch 5981 BLAKE2B c2b4a069e82ff5d06967c517934856565d4110f139f4e47a84d45cbc021a7a4e207cb3500fe9a75ae1ce7c958aba78c82c9a1920d65be1d9d98adffee6d44f41 SHA512 3a50ad0def026700993d6d6ad84098d9fd1702c08eea7375bad81854a7af5b94b49914af2e2f1a5e46855c8539df6d22f2aae32a37885f80c51e35505c91c843 AUX install_fix-7.7.patch 3840 BLAKE2B 7ae7ed2f8e71dd6c44d89d9cab65dc5e3b97232cfb5300b3093934b8d255676ab0cff5499a7c7b07a5fac32c54046a1ac43f40c1cdf53be8c0ca1c71fea8027e SHA512 8d582efadc70d10a304dd30dceef744423291d32b2a56356264f3fead3ad0c848f41153e6085cc50a80330b91c35b71d964fdb20cbbe720b6d5c2289a6dcb106
EBUILD xyce-9999.ebuild 1574 BLAKE2B dea34e5965135c853844c8cc7786dee22296a0593cdfb3615fe272d2725c8caf460523eb54fb87f92aec3b43faac945bb0610c5a262654055cb3c806e2918c03 SHA512 59fffc28fdf6fd4d4396e33b900d23b472a72d2c9b127c7bfb7ff538955524de0bbad5688d0164d154c77de10d281955b0fc0b541ca619df33b4c1f486c029d5 DIST Release-7.7.0.zip 24874321 BLAKE2B 8670b90b7fcc815a09dc80e350e3f8007d770969ec4fa0ac1bada13e275b44691db3d6f36d9b229cdcef63429c3f116deb19784c2285573ed3640f9537be4cf8 SHA512 4833800a78c5a89012518febd9c2e28baf22c2e24213013cfd864b827b7f2d49203e46a23fce7349bf8fdb3b86a7b15ef213a40eda47ab2ad06e9ebb6896e185
EBUILD xyce-7.7.ebuild 1805 BLAKE2B 0887ff84d602ae867ef771d087467157a96763a06b5840474e2860fbab99d240cdbb203eebc9e21a40045c948d5cce55a24b60edbd451ecea81acad80c15d6a0 SHA512 20be17547b1964b3707826aeaedd5e41e8555a511bd91fe9be20eb68192b4ed35037843d5f8599a6787d531f263b40b6636cfc7269dd972e797d7b8fb75b7bbd
EBUILD xyce-9999.ebuild 1805 BLAKE2B 0887ff84d602ae867ef771d087467157a96763a06b5840474e2860fbab99d240cdbb203eebc9e21a40045c948d5cce55a24b60edbd451ecea81acad80c15d6a0 SHA512 20be17547b1964b3707826aeaedd5e41e8555a511bd91fe9be20eb68192b4ed35037843d5f8599a6787d531f263b40b6636cfc7269dd972e797d7b8fb75b7bbd

View File

@ -0,0 +1,25 @@
diff -Naur xyce-9999_or/CMakeLists.txt xyce-9999/CMakeLists.txt
--- xyce-9999_or/CMakeLists.txt 2023-06-15 12:10:16.293228331 +0200
+++ xyce-9999/CMakeLists.txt 2023-06-15 12:35:46.624756996 +0200
@@ -15,6 +15,9 @@
# the compilers and call project again.
project(Xyce NONE)
+# Disable Kokkos warning about not supporting C++ extensions
+set(CMAKE_CXX_EXTENSIONS OFF)
+
# A TriBITS project that performs a coupled build with Trilinos, like Charon,
# changes the names of all the Trilinos variables. Therefore, we have to jump
# through a bunch of hoops to take that use case into account. Here we set a
diff -Naur xyce-9999_or/cmake/tps.cmake xyce-9999/cmake/tps.cmake
diff -Naur xyce-9999_or/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C xyce-9999/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C
--- xyce-9999_or/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C 2023-06-15 19:12:44.585504630 +0200
+++ xyce-9999/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C 2023-06-15 19:16:03.513134501 +0200
@@ -53,6 +53,7 @@
#include <EpetraExt_Isorropia_CrsGraph.h>
#endif
#endif
+#include <EpetraExt_Isorropia_CrsGraph.h>
#ifdef Xyce_AMD
#include <EpetraExt_AMD_CrsGraph.h>

View File

@ -34,6 +34,7 @@ diff -Naur xyce-9999_or/src/CMakeLists.txt xyce-9999/src/CMakeLists.txt
install(TARGETS Xyce DESTINATION bin EXPORT XyceTarget) install(TARGETS Xyce DESTINATION bin EXPORT XyceTarget)
# Add header files needed by other codes to link against libxyce.* # Add header files needed by other codes to link against libxyce.*
diff -Naur xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt xyce-9999/utils/SimulinkInterface/CMakeLists.txt diff -Naur xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt xyce-9999/utils/SimulinkInterface/CMakeLists.txt
--- xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt 2023-05-15 12:38:38.211026556 +0200 --- xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt 2023-05-15 12:38:38.211026556 +0200
+++ xyce-9999/utils/SimulinkInterface/CMakeLists.txt 2023-05-15 12:43:45.132168085 +0200 +++ xyce-9999/utils/SimulinkInterface/CMakeLists.txt 2023-05-15 12:43:45.132168085 +0200
@ -46,28 +47,30 @@ diff -Naur xyce-9999_or/utils/SimulinkInterface/CMakeLists.txt xyce-9999/utils/S
install(FILES XyceBlocks.slx DESTINATION share/simulink) install(FILES XyceBlocks.slx DESTINATION share/simulink)
matlab_add_mex( NAME xyce2nLv_sfunction MODULE SRC xyce2nLv_sfunction.cpp LINK_TO XyceLib ) matlab_add_mex( NAME xyce2nLv_sfunction MODULE SRC xyce2nLv_sfunction.cpp LINK_TO XyceLib )
diff -Naur xyce-9999_or/utils/XyceCInterface/CMakeLists.txt xyce-9999/utils/XyceCInterface/CMakeLists.txt diff -Naur xyce-9999_or/utils/XyceCInterface/CMakeLists.txt xyce-9999/utils/XyceCInterface/CMakeLists.txt
--- xyce-9999_or/utils/XyceCInterface/CMakeLists.txt 2023-05-15 12:38:38.211026556 +0200 --- xyce-9999_or/utils/XyceCInterface/CMakeLists.txt 2023-05-15 12:38:38.211026556 +0200
+++ xyce-9999/utils/XyceCInterface/CMakeLists.txt 2023-05-15 12:43:08.092469721 +0200 +++ xyce-9999/utils/XyceCInterface/CMakeLists.txt 2023-05-15 12:43:08.092469721 +0200
@@ -5,7 +5,7 @@ @@ -21,7 +21,7 @@
target_sources( xycecinterface PRIVATE N_CIR_XyceCInterface.C PUBLIC N_CIR_XyceCInterface.h ) endif()
target_include_directories( xycecinterface PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> )
target_link_libraries(xycecinterface XyceLib )
-install(TARGETS xycecinterface DESTINATION lib )
+install(TARGETS xycecinterface DESTINATION ${CMAKE_INSTALL_LIBDIR} )
install(FILES N_CIR_XyceCInterface.h DESTINATION include)
-install( TARGETS xycecinterface DESTINATION lib OPTIONAL)
+install( TARGETS xycecinterface DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
configure_file(xyce_interface.py.cmake xyce_interface.py @ONLY )
install( FILES N_CIR_XyceCInterface.h DESTINATION include OPTIONAL)
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/xyce_interface.py DESTINATION share OPTIONAL)
diff -Naur xyce-9999_or/src/CMakeLists.txt xyce-9999/src/CMakeLists.txt diff -Naur xyce-9999_or/src/CMakeLists.txt xyce-9999/src/CMakeLists.txt
--- xyce-9999_or/src/CMakeLists.txt 2023-05-26 18:32:42.704669936 +0200 --- xyce-9999_or/src/CMakeLists.txt 2023-05-26 18:32:42.704669936 +0200
+++ xyce-9999/src/CMakeLists.txt 2023-05-26 18:37:51.203869009 +0200 +++ xyce-9999/src/CMakeLists.txt 2023-05-26 18:37:51.203869009 +0200
@@ -328,10 +328,10 @@ @@ -318,11 +318,11 @@
configure_package_config_file( configure_package_config_file(
cmake/XyceConfig.cmake.in cmake/XyceConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/cmake/XyceConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/cmake/XyceConfig.cmake
- INSTALL_DESTINATION lib/cmake - INSTALL_DESTINATION lib/cmake
+ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake
PATH_VARS Xyce_Trilinos_DIR
) )
-set(ConfigPackageLocation lib/cmake/Xyce) -set(ConfigPackageLocation lib/cmake/Xyce)
@ -75,50 +78,3 @@ diff -Naur xyce-9999_or/src/CMakeLists.txt xyce-9999/src/CMakeLists.txt
install(EXPORT XyceLibTarget install(EXPORT XyceLibTarget
FILE FILE
XyceTargets.cmake XyceTargets.cmake
diff -Naur xyce-9999_or/CMakeLists.txt xyce-9999/CMakeLists.txt
--- xyce-9999_or/CMakeLists.txt 2023-06-15 12:10:16.293228331 +0200
+++ xyce-9999/CMakeLists.txt 2023-06-15 12:35:46.624756996 +0200
@@ -15,6 +15,9 @@
# the compilers and call project again.
project(Xyce NONE)
+# Disable Kokkos warning about not supporting C++ extensions
+set(CMAKE_CXX_EXTENSIONS OFF)
+
# A TriBITS project that performs a coupled build with Trilinos, like Charon,
# changes the names of all the Trilinos variables. Therefore, we have to jump
# through a bunch of hoops to take that use case into account. Here we set a
diff -Naur xyce-9999_or/cmake/tps.cmake xyce-9999/cmake/tps.cmake
--- xyce-9999_or/cmake/tps.cmake 2023-06-15 12:10:16.259895400 +0200
+++ xyce-9999/cmake/tps.cmake 2023-06-15 12:42:55.076301530 +0200
@@ -107,8 +107,8 @@
# Search for required TPL packages
message(STATUS "Looking for BLAS and LAPACK via Trilinos")
-list(FIND Trilinos_TPL_LIST BLAS BLAS_IN_Trilinos)
-list(FIND Trilinos_TPL_LIST LAPACK LAPACK_IN_Trilinos)
+list(FIND BLAS::all_libs BLAS BLAS_IN_Trilinos)
+list(FIND LAPACK::all_libs LAPACK LAPACK_IN_Trilinos)
if ((BLAS_IN_Trilinos GREATER -1) AND (LAPACK_IN_Trilinos GREATER -1))
message(STATUS "Looking for BLAS and LAPACK via Trilinos - found")
else()
@@ -117,7 +117,7 @@
"Enable the following in the Trilinos build:\n"
" -D TPL_ENABLE_BLAS=ON\n"
" -D TPL_ENABLE_LAPACK=ON")
- set(Trilinos_IS_MISSING_FEATURES TRUE)
+# set(Trilinos_IS_MISSING_FEATURES TRUE)
endif()
# Search for required features
diff -Naur xyce-9999_or/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C xyce-9999/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C
--- xyce-9999_or/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C 2023-06-15 19:12:44.585504630 +0200
+++ xyce-9999/src/LinearAlgebraServicesPKG/N_LAS_TransformTool.C 2023-06-15 19:16:03.513134501 +0200
@@ -53,6 +53,7 @@
#include <EpetraExt_Isorropia_CrsGraph.h>
#endif
#endif
+#include <EpetraExt_Isorropia_CrsGraph.h>
#ifdef Xyce_AMD
#include <EpetraExt_AMD_CrsGraph.h>

View File

@ -0,0 +1 @@
xyce-9999.ebuild

View File

@ -1,17 +1,23 @@
EAPI=8 EAPI=8
inherit git-r3 cmake inherit cmake
DESCRIPTION="The Xyce Parallel Electronic Simulator is a SPICE-compatible circuit simulator" DESCRIPTION="The Xyce Parallel Electronic Simulator is a SPICE-compatible circuit simulator"
HOMEPAGE="https://xyce.sandia.gov/about-xyce/" HOMEPAGE="https://xyce.sandia.gov/about-xyce/"
CMAKE_MAKEFILE_GENERATOR=emake CMAKE_MAKEFILE_GENERATOR=emake
EGIT_REPO_URI="https://github.com/Xyce/Xyce.git" if [[ ${PV} == 9999 ]] ; then
EGIT_COMMIT="2d93caa9358b276e774ab5906bac6a6b2d563c81" EGIT_REPO_URI="https://github.com/Xyce/Xyce.git"
EGIT_SUBMODULES=( '*' ) EGIT_SUBMODULES=( '*' )
#EGIT_COMMIT="2d93caa9358b276e774ab5906bac6a6b2d563c81"
inherit git-r3
else
SRC_URI="https://github.com/Xyce/Xyce/archive/refs/tags/Release-${PV}.0.zip"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
S="${PORTAGE_BUILDDIR}/work/Xyce-Release-${PV}.0"
fi
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
SLOT="0" SLOT="0"
IUSE="cuda openmp" IUSE="cuda openmp"
@ -21,7 +27,6 @@ DEPEND="
virtual/blas virtual/blas
sci-libs/trilinos sci-libs/trilinos
openmp? ( virtual/mpi[nullmpi(+)] ) openmp? ( virtual/mpi[nullmpi(+)] )
cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
dev-perl/XML-LibXML dev-perl/XML-LibXML
" "
RDEPEND=" RDEPEND="
@ -29,7 +34,8 @@ RDEPEND="
" "
PATCHES=( PATCHES=(
"${FILESDIR}"/install_fix.patch "${FILESDIR}"/build_fix.patch
"${FILESDIR}"/install_fix-${PV}.patch
"${FILESDIR}"/cuda_fix.patch "${FILESDIR}"/cuda_fix.patch
) )

View File

@ -0,0 +1,4 @@
AUX latest_fix.patch 602 BLAKE2B c8bfeb4ee8a83caab7746e74b378d5aa7f64ab9cb67cfc8770aa5b74420010f0944a066a3b436e7f622f99ed4d0e406e5a8b190a20e4339f1c812d361dba9391 SHA512 9d73137ad810fd3c98beb580b9a62f8130a14c629f5879655ad408a7c4125deaf1746d58b088bb105d0ffdb87af56492def4042213b86aed92f8db75d26c9b72
DIST v9.7.zip 22324914 BLAKE2B a388a8af7326a75a6d4802201e0dba0843e557ea91c87786ceef7f03bd84b3a21e5072a4c87fc0d5c724626b49f22d31c3a9941d884042ca5d2e95a7da4511da SHA512 e334a8541137125056421d575d3edf1382cef84222f890e570d479ddfbafca48e1131583c6171503ddb7498e89c43db3daeb8adbdfbfc9891b6f13fdf03fbc9b
EBUILD or-tools-9.7.ebuild 1889 BLAKE2B 539204056d70f109e49398d52bd918d011ea9bb949df58d8e8c65795f4657ac6fe043b6d5d12b76fee3daca851b88454fbbd092892ab56137edc0936aebf9be5 SHA512 195aafb5ef7a21189e88d05c1a12d6c3b72487a53cdcb91a9d7eb1d505a3be8c3bad69fc6b546eea3bf5164af0d1704415ece7a578863cfaea4b75ed39dc5fa6
EBUILD or-tools-9999.ebuild 1889 BLAKE2B 539204056d70f109e49398d52bd918d011ea9bb949df58d8e8c65795f4657ac6fe043b6d5d12b76fee3daca851b88454fbbd092892ab56137edc0936aebf9be5 SHA512 195aafb5ef7a21189e88d05c1a12d6c3b72487a53cdcb91a9d7eb1d505a3be8c3bad69fc6b546eea3bf5164af0d1704415ece7a578863cfaea4b75ed39dc5fa6

View File

@ -0,0 +1,12 @@
diff -Naur or-tools-9999_or/ortools/sat/subsolver.cc or-tools-9999/ortools/sat/subsolver.cc
--- or-tools-9999_or/ortools/sat/subsolver.cc 2023-10-23 23:50:33.232897043 +0200
+++ or-tools-9999/ortools/sat/subsolver.cc 2023-10-23 23:50:54.142977895 +0200
@@ -266,7 +266,7 @@
task();
const absl::MutexLock mutex_lock(&mutex);
- DCHECK_NE(subsolvers[best], nullptr);
+ //DCHECK_NE(subsolvers[best], nullptr);
DCHECK_GT(num_in_flight_per_subsolvers[best], 0);
num_in_flight_per_subsolvers[best]--;
VLOG(1) << name << " done in " << timer.Get() << "s.";

View File

@ -0,0 +1 @@
or-tools-9999.ebuild

View File

@ -0,0 +1,89 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit cmake python-any-r1
DESCRIPTION="Google Optimization Tools"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/google/or-tools.git"
EGIT_SUBMODULES=( '*' )
EGIT_BRANCH="main"
inherit git-r3
PATCHES=(
${FILESDIR}/latest_fix.patch
)
else
SRC_URI="https://github.com/google/${PN}/archive/refs/tags/v${PV}.zip"
fi
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
SLOT="0"
IUSE="coinor cplex glpk python static-libs scip java parser samples examples doc express"
DEPEND="
dev-libs/protobuf
dev-cpp/abseil-cpp
dev-libs/re2
coinor? (
sci-libs/coinor-utils
sci-libs/coinor-osi
sci-libs/coinor-clp
sci-libs/coinor-cgl
sci-libs/coinor-cbc
)
scip? ( sci-libs/scip )
glpk? ( sci-mathematics/glpk )
python? ( dev-python/pybind11 )
"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-util/cmake
"
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/"
-DBUILD_CXX=ON
-DBUILD_DEPS=OFF
-DBUILD_ZLIB=OFF
-DBUILD_absl=OFF
-DBUILD_GLOP=OFF
-DBUILD_FLATZINC=OFF
-DBUILD_Protobuf=OFF
-DBUILD_re2=OFF
-DBUILD_CoinUtils=OFF
-DBUILD_Osi=OFF
-DBUILD_Clp=OFF
-DBUILD_Cgl=OFF
-DBUILD_Cbc=OFF
-DBUILD_GLPK=OFF
-DBUILD_HIGHS=OFF
-DBUILD_Eigen3=OFF
-DBUILD_SCIP=OFF
-DBUILD_DOTNET=OFF
-DBUILD_pybind11=OFF
-DBUILD_SHARED_LIBS=$(usex static-libs OFF ON)
-DBUILD_PYTHON=$(usex python)
-DBUILD_JAVA=$(usex java)
-DBUILD_LP_PARSER=$(usex parser)
-DBUILD_SAMPLES=$(usex samples)
-DBUILD_EXAMPLES=$(usex examples)
-DBUILD_DOC=$(usex doc)
-DUSE_COINOR=$(usex coinor)
-DUSE_GLPK=$(usex glpk)
-DUSE_HIGHS=OFF
-DUSE_PDLP=OFF
-DUSE_SCIP=$(usex scip)
-DUSE_CPLEX=$(usex cplex)
-DUSE_XPRESS=$(usex express)
)
if use python; then
mycmakeargs+=( -DBUILD_VENV=OFF )
fi
cmake_src_configure
}

View File

@ -7,6 +7,8 @@ DIST trilinos-13.4.0-patches-r0.tar.xz 8740 BLAKE2B 333ab9ff1acb2f4b08007c7b99b9
DIST trilinos-13.4.1.tar.gz 168720416 BLAKE2B 5201c36aa998045f4eab99b67fce25f9a2f2a9524b8ca1147cd8db9ccc306e3df61336df3b2ee981317c8defbae2df9e36546a0e5ddfed3142213e437e4dfba0 SHA512 9c0fb3af2fa625cd0af1309bfa61c212e12657820707348c81355d506e07f540da5e42aa30237fbc80adf257bb636029345f248abaf7ef96fcdaed1c28ec3a19 DIST trilinos-13.4.1.tar.gz 168720416 BLAKE2B 5201c36aa998045f4eab99b67fce25f9a2f2a9524b8ca1147cd8db9ccc306e3df61336df3b2ee981317c8defbae2df9e36546a0e5ddfed3142213e437e4dfba0 SHA512 9c0fb3af2fa625cd0af1309bfa61c212e12657820707348c81355d506e07f540da5e42aa30237fbc80adf257bb636029345f248abaf7ef96fcdaed1c28ec3a19
DIST trilinos-14.0.0.tar.gz 179086187 BLAKE2B 0e0c3e3fa4b88164cd7e90720ec42eb007f8e89734e5537a7eba1f17754faf30c21fa1d77f7e8a7968bdb8bb230596a1adc74f8170577fd7b4eccb2e88c5b8f6 SHA512 b08fcf4f6bf2605267c44c038f352949e5bfe14b853de77e4c80e28f66c088ead1699b1e49f8475f1b98ce5a21238b98a299e760f1373e585c78b65120fa18e5 DIST trilinos-14.0.0.tar.gz 179086187 BLAKE2B 0e0c3e3fa4b88164cd7e90720ec42eb007f8e89734e5537a7eba1f17754faf30c21fa1d77f7e8a7968bdb8bb230596a1adc74f8170577fd7b4eccb2e88c5b8f6 SHA512 b08fcf4f6bf2605267c44c038f352949e5bfe14b853de77e4c80e28f66c088ead1699b1e49f8475f1b98ce5a21238b98a299e760f1373e585c78b65120fa18e5
DIST trilinos-14.2.0.tar.gz 178867695 BLAKE2B 07ff61775399014091aae9c14ad12a69ab19853bc3489c15775490aa3f6e8ae868ac4e90bf046d10bf1ecb1d5558992f0afb0ce656f947336559fcf10085c038 SHA512 c676ff2b59904dc05a0ff434dd164bc96076999a5851c160c5851c124d3c519dd0cc3f088eba19f2000c7d1c2377f4efb2b2b8f9f3ee641b2180f3b99b28ea0b DIST trilinos-14.2.0.tar.gz 178867695 BLAKE2B 07ff61775399014091aae9c14ad12a69ab19853bc3489c15775490aa3f6e8ae868ac4e90bf046d10bf1ecb1d5558992f0afb0ce656f947336559fcf10085c038 SHA512 c676ff2b59904dc05a0ff434dd164bc96076999a5851c160c5851c124d3c519dd0cc3f088eba19f2000c7d1c2377f4efb2b2b8f9f3ee641b2180f3b99b28ea0b
DIST trilinos-14.4.0.tar.gz 188325969 BLAKE2B 909e3ebe229d035263d835e0d68977516d2a5df168785021fe300f7904e149586a82a6dba271cc1472455472397ee5467443244fb68fb27c00cf4e9b3d10a282 SHA512 497fc4fb4ab4338fffef7111635f3dc3b12cb7302bc3f56bafb5cc75b7c68e94cc22fcacd9dd625803a0f38e4fbce5105cab61df76e033a4581568c36a53fe8a
EBUILD trilinos-13.4.1.ebuild 9560 BLAKE2B bf029cfd7877ab5377dd8ea76eccc7bfac400500ffefcc01fcb78a11e096a17cd0dd140a9e04686d13ee82f33b96dc35795480faae57411e5fad1d016b30c7d4 SHA512 3819f3abf8889a48ab4e62302cfe6018269d13a0505ee057763cdebbf1fd7d3bf0247b81216b89a372a2d1abb38ac6ed49c28ff07ad84a8a32f28f2b107a691b EBUILD trilinos-13.4.1.ebuild 9560 BLAKE2B bf029cfd7877ab5377dd8ea76eccc7bfac400500ffefcc01fcb78a11e096a17cd0dd140a9e04686d13ee82f33b96dc35795480faae57411e5fad1d016b30c7d4 SHA512 3819f3abf8889a48ab4e62302cfe6018269d13a0505ee057763cdebbf1fd7d3bf0247b81216b89a372a2d1abb38ac6ed49c28ff07ad84a8a32f28f2b107a691b
EBUILD trilinos-14.0.0.ebuild 8451 BLAKE2B d0ca1847ca3f964424304eb9c1abb21d96c7406310d8bccf2049b4aa5267c23878b88352bbd7c23640fa63d903ffa024240e29b988645fbb6cf216bd41ab996b SHA512 cb6774f526e18edf8f94c17f5444982181da7bfefcd18befa8204f97c2ec999209aaeaef9e16df3c567537e891aa905121569183873e2b70883609b7cf2b69bb EBUILD trilinos-14.0.0.ebuild 8451 BLAKE2B d0ca1847ca3f964424304eb9c1abb21d96c7406310d8bccf2049b4aa5267c23878b88352bbd7c23640fa63d903ffa024240e29b988645fbb6cf216bd41ab996b SHA512 cb6774f526e18edf8f94c17f5444982181da7bfefcd18befa8204f97c2ec999209aaeaef9e16df3c567537e891aa905121569183873e2b70883609b7cf2b69bb
EBUILD trilinos-14.2.0.ebuild 8739 BLAKE2B ba06a4aafb131f33ad55ef233ca279d8453ef5a95b62f57e8f0ac499283e6591746c38ba9d99fd4f34488270ea1783fa153542f80cdd116c107d35b057834b86 SHA512 39b5f448509119cd71526d1b6432e340be36ea5df37b30ee84375c75eb222892f889a0ca6e1578ad458c03c5bfcea58c59ea7ac5328058493827cf0c4d550838 EBUILD trilinos-14.2.0.ebuild 8758 BLAKE2B 6abd3955a281d3477b6418b45e3a6008730595ea76ae0731cc66310c62e4b10115d41b9eb7ca0bac6689f91861c9f3a326cd46d81450db97bfc5485094ed477d SHA512 1e4a2753139e70039e4f567c28c27928909eb330599fd0a207a9b3d2af5675599207194b95a23c346ae56787ef341129bffc55916e3ca77aca02d7bd15e88551
EBUILD trilinos-14.4.0.ebuild 8720 BLAKE2B 0b6306a02abf4f289aa82f083ec2784e6b80f2cbbfe7383497e83b76fd95840da9c12dafce44a6430deaefcb921710fa1e1e37564de2732fe40d99cbc3d18255 SHA512 f4f28ce8becaf9268a148a7edde2bb732eecc87134ace5712d609292813d351fde9c9de9bd31d1da478f578693f41c369e499d19941ecfcff3ead739eb8e559b

View File

@ -58,7 +58,8 @@ RDEPEND="
tvmet? ( dev-libs/tvmet ) tvmet? ( dev-libs/tvmet )
yaml? ( dev-cpp/yaml-cpp:= ) yaml? ( dev-cpp/yaml-cpp:= )
zlib? ( sys-libs/zlib ) zlib? ( sys-libs/zlib )
X? ( x11-libs/libX11 )" X? ( x11-libs/libX11 )
sci-libs/parmetis"
DEPEND="${RDEPEND} DEPEND="${RDEPEND}
virtual/pkgconfig" virtual/pkgconfig"

View File

@ -0,0 +1,296 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CMAKE_MAKEFILE_GENERATOR=emake
inherit cmake toolchain-funcs
DESCRIPTION="Scientific library collection for large scale problems"
HOMEPAGE="http://trilinos.sandia.gov/"
MY_PV="${PV//\./-}"
PATCHSET="r0"
SRC_URI="https://github.com/${PN}/Trilinos/archive/${PN}-release-${MY_PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
LICENSE="BSD LGPL-2.1"
SLOT="0"
IUSE="
adolc all-packages arprec clp cuda eigen glpk gtest hdf5 hwloc hypre
matio metis mkl mumps netcdf openmp petsc qd scalapack scotch sparse
superlu taucs tbb test threads tvmet yaml zlib X
"
# TODO: fix export cmake function for tests
RESTRICT="test"
RDEPEND="
!dev-cpp/kokkos
dev-libs/boost:=
sys-libs/binutils-libs:=
virtual/blas
virtual/lapack
virtual/mpi
adolc? ( sci-libs/adolc )
arprec? ( sci-libs/arprec )
clp? ( sci-libs/coinor-clp )
cuda? ( >=dev-util/nvidia-cuda-toolkit-3.2 )
eigen? ( dev-cpp/eigen:3 )
glpk? ( sci-mathematics/glpk )
gtest? ( dev-cpp/gtest )
hdf5? ( sci-libs/hdf5:=[mpi] )
hypre? ( sci-libs/hypre:= )
hwloc? ( sys-apps/hwloc:= )
matio? ( sci-libs/matio )
mkl? ( sci-libs/mkl )
metis? ( sci-libs/metis )
mumps? ( sci-libs/mumps )
netcdf? ( sci-libs/netcdf:= )
petsc? ( sci-mathematics/petsc )
qd? ( sci-libs/qd )
scalapack? ( sci-libs/scalapack )
scotch? ( sci-libs/scotch:= )
sparse? ( sci-libs/cxsparse sci-libs/umfpack )
superlu? ( <sci-libs/superlu-5.0 )
taucs? ( sci-libs/taucs )
tbb? ( dev-cpp/tbb:= )
tvmet? ( dev-libs/tvmet )
yaml? ( dev-cpp/yaml-cpp:= )
zlib? ( sys-libs/zlib )
X? ( x11-libs/libX11 )"
DEPEND="${RDEPEND}
virtual/pkgconfig"
S="${WORKDIR}/Trilinos-${PN}-release-${MY_PV}"
PATCHES=(
)
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
trilinos_conf() {
local dirs libs d
for d in $($(tc-getPKG_CONFIG) --libs-only-L $1); do
dirs="${dirs};${d:2}"
done
[[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_DIRS=${dirs:1}" )
for d in $($(tc-getPKG_CONFIG) --libs-only-l $1); do
libs="${libs};${d:2}"
done
[[ -n ${libs} ]] && mycmakeargs+=( "-D${2}_LIBRARY_NAMES=${libs:1}" )
dirs=""
for d in $($(tc-getPKG_CONFIG) --cflags-only-I $1); do
dirs="${dirs};${d:2}"
done
[[ -n ${dirs} ]] && mycmakeargs+=( "-D${2}_INCLUDE_DIRS=${dirs:1}" )
}
#
# The following packages are currently disabled:
# - Adelus/Zadelus due to underlinkage.
# - Moertel due to underlinkage
# - SEACAS is incompatible with netcdf, see
# https://github.com/trilinos/Trilinos/tree/master/packages/seacas#netcdf
#
src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=ON
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"
-DCMAKE_SKIP_INSTALL_RPATH=ON
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
-DTrilinos_INSTALL_CONFIG_DIR="${EPREFIX}/usr/$(get_libdir)/cmake"
-DTrilinos_INSTALL_INCLUDE_DIR="${EPREFIX}/usr/include/trilinos"
-DTrilinos_INSTALL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/trilinos"
-DTrilinos_ENABLE_ALL_PACKAGES="$(usex all-packages)"
-DTrilinos_ENABLE_Adelus=OFF
-DTrilinos_ENABLE_Moertel=OFF
-DTrilinos_ENABLE_PyTrilinos=OFF
-DTrilinos_ENABLE_SEACAS=OFF
-DTrilinos_ENABLE_Amesos=ON
-DTrilinos_ENABLE_AztecOO=ON
-DTrilinos_ENABLE_EpetraExt=ON
-DTrilinos_ENABLE_Epetra=ON
-DTrilinos_ENABLE_Ifpack=ON
-DTrilinos_ENABLE_ML=ON
-DTrilinos_ENABLE_MueLu=OFF
-DTrilinos_ENABLE_OpenMP="$(usex openmp)"
-DTrilinos_ENABLE_ROL=ON
-DTrilinos_ENABLE_Sacado=ON
-DTrilinos_ENABLE_Teuchos=ON
-DTrilinos_ENABLE_Tpetra=ON
-DTrilinos_ENABLE_Zoltan=ON
-DTrilinos_ENABLE_TESTS="$(usex test)"
-DTPL_ENABLE_BinUtils=ON
-DTPL_ENABLE_BLAS=ON
-DTPL_ENABLE_LAPACK=ON
-DTPL_ENABLE_MPI=ON
-DTPL_ENABLE_ADOLC="$(usex adolc)"
-DTPL_ENABLE_AMD="$(usex sparse)"
-DTPL_ENABLE_ARPREC="$(usex arprec)"
-DTPL_ENABLE_BLACS="$(usex scalapack)"
-DTPL_ENABLE_BoostLib=ON
-DTPL_ENABLE_Boost=ON
-DTPL_ENABLE_Clp="$(usex clp)"
-DTPL_ENABLE_CSparse="$(usex sparse)"
-DTPL_ENABLE_CUDA="$(usex cuda)"
-DTPL_ENABLE_CUSPARSE="$(usex cuda)"
-DTPL_ENABLE_Eigen="$(usex eigen)"
-DTPL_ENABLE_GLPK="$(usex glpk)"
-DTPL_ENABLE_gtest="$(usex gtest)"
-DTPL_ENABLE_HDF5="$(usex hdf5)"
-DTPL_ENABLE_HWLOC="$(usex hwloc)"
-DTPL_ENABLE_HYPRE="$(usex hypre)"
-DTPL_ENABLE_Matio="$(usex matio)"
-DTPL_ENABLE_METIS="$(usex metis)"
-DTPL_ENABLE_MKL="$(usex mkl)"
-DTPL_ENABLE_MUMPS="$(usex mumps)"
-DTPL_ENABLE_Netcdf="$(usex netcdf)"
-DTPL_ENABLE_PARDISO_MKL="$(usex mkl)"
-DTPL_ENABLE_PETSC="$(usex petsc)"
-DTPL_ENABLE_Pthread="$(usex threads)"
-DTPL_ENABLE_QD="$(usex qd)"
-DTPL_ENABLE_SCALAPACK="$(usex scalapack)"
-DTPL_ENABLE_Scotch="$(usex scotch)"
-DTPL_ENABLE_SuperLU="$(usex superlu)"
-DTPL_ENABLE_TAUCS="$(usex taucs)"
-DTPL_ENABLE_TBB="$(usex tbb)"
-DTPL_ENABLE_Thrust="$(usex cuda)"
-DTPL_ENABLE_TVMET="$(usex tvmet)"
-DTPL_ENABLE_UMFPACK="$(usex sparse)"
-DTPL_ENABLE_X11="$(usex X)"
-DTPL_ENABLE_yaml-cpp="$(usex yaml)"
-DTPL_ENABLE_Zlib="$(usex zlib)"
)
local mycmakeargs+=(
# Xyce base depend
-DTrilinos_ENABLE_TrilinosCouplings=ON
-DEpetraExt_BUILD_BTF=ON
-DEpetraExt_BUILD_EXPERIMENTAL=ON
-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON
-DTeuchos_ENABLE_COMPLEX=ON
# error fixes
-DTrilinos_ENABLE_COMPLEX=ON
-DAmesos_ENABLE_CSparse="$(usex sparse)"
-DTrilinos_ENABLE_COMPLEX_DOUBLE=ON
-DTrilinos_ENABLE_COMPLEX_FLOAT=ON
-DTeuchos_ENABLE_FLOAT=ON
-DTpetra_INST_FLOAT=ON
# more solvers
#-DKokkos_ENABLE_THREADS="$(usex threads)"
#-DTpetra_INST_PTHREAD="$(usex threads)"
-DTrilinos_ENABLE_ShyLU_NodeTacho=OFF
#
-DAmesos_ENABLE_ParMETIS=ON
# Basker solver
-DAmesos2_ENABLE_Basker=ON
-DCMAKE_CXX_FLAGS:STRING="-DSHYLU_NODEBASKER"
)
#
# Make sure some critical configuration options are always set
# correctly independently of what Trilinos dependency resolver thinks
# it should be doing.
#
local mycmakeargs+=(
-DAmesos2_ENABLE_LAPACK=ON
-DAmesos2_ENABLE_MUMPS=OFF
-DTpetra_INST_SERIAL=ON
)
use eigen && \
mycmakeargs+=(
-DEigen_INCLUDE_DIRS="${EPREFIX}/usr/include/eigen3"
)
use hypre && \
mycmakeargs+=(
-DHYPRE_INCLUDE_DIRS="${EPREFIX}/usr/include/hypre"
)
use scotch && \
mycmakeargs+=(
-DScotch_INCLUDE_DIRS="${EPREFIX}/usr/include/scotch"
)
# cxsparse is a rewrite of csparse + extras
use sparse && \
mycmakeargs+=(
-DCSparse_LIBRARY_NAMES="cxsparse"
)
# mandatory blas and lapack
trilinos_conf blas BLAS
trilinos_conf lapack LAPACK
use superlu && trilinos_conf superlu SuperLU
use metis && trilinos_conf metis METIS
# blacs library is included in scalapack these days
if use scalapack; then
trilinos_conf scalapack SCALAPACK
mycmakeargs+=(
-DBLACS_LIBRARY_NAMES="scalapack"
-DBLACS_INCLUDE_DIRS="${EPREFIX}/usr/include/blacs"
)
fi
#
# Make sure we use the compiler wrappers in order to build trilinos.
#
if use openmp; then
[ ! -z "${CC}"] && export OMPI_CC="${CC}" MPICH_CC="${CC}" && tc-export OMPI_CC MPICH_CC
[ ! -z "${CXX}"] && export OMPI_CXX="${CXX}" MPICH_CXX="${CXX}" && tc-export OMPI_CXX MPICH_CXX
export CC=mpicc CXX=mpicxx && tc-export CC CXX
fi
if use cuda; then
mycmakeargs+=(
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=nvcc_wrapper
-DKokkos_ENABLE_CUDA=ON
-DKokkos_ENABLE_CUDA_LAMBDA=ON
#-DKokkos_ARCH_TURING75=ON
#-DCMAKE_CXX_FLAGS:STRING="-allow-unsupported-compiler"
)
export CXX=nvcc_wrapper NVCC_WRAPPER_DEFAULT_COMPILER=${CXX}
fi
# Trilinos needs a custom build type:
local CMAKE_BUILD_TYPE=Release
cmake_src_configure
}
src_install() {
cmake_src_install
# Clean up the mess:
# Let us move the bin directory out of the way to avoid potential
# clashes due to very generically named binaries such as
# »nvcc_wrapper«, etc.
mv "${ED}"/bin "${ED}/usr/$(get_libdir)"/trilinos || die "mv failed"
# Move the cmake directory to the right location:
mkdir -p "${ED}/usr/$(get_libdir)"/cmake
mv "${ED}/usr/$(get_libdir)"/trilinos/cmake/* "${ED}/usr/$(get_libdir)"/cmake || die "mv failed"
# Fix up include paths:
sed -i -e 's#external_packages#trilinos/external_packages#g' \
"${ED}/usr/$(get_libdir)"/cmake/**/*.cmake || die "sed failed"
rmdir "${ED}/usr/$(get_libdir)/trilinos/cmake" || die "rmdir failed"
# Register $(get_libdir)/trilinos in LDPATH so that the dynamic linker
# has a chance to pick up the libraries, also add Trilinos' binaries ot
# the PATH environment variable.
cat >> "${T}"/99trilinos <<- EOF
LDPATH="${EPREFIX}/usr/$(get_libdir)/trilinos"
PATH="${EPREFIX}/usr/$(get_libdir)/trilinos/bin"
EOF
doenvd "${T}"/99trilinos
}