summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/Manifest.gzbin43981 -> 44143 bytes
-rw-r--r--sci-libs/gklib/Manifest5
-rw-r--r--sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch13
-rw-r--r--sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch51
-rw-r--r--sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild22
-rw-r--r--sci-libs/gklib/metadata.xml11
-rw-r--r--sci-libs/metis/Manifest6
-rw-r--r--sci-libs/metis/files/metis-5.2.1-multilib.patch19
-rw-r--r--sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch47
-rw-r--r--sci-libs/metis/metadata.xml3
-rw-r--r--sci-libs/metis/metis-5.2.1.ebuild92
-rw-r--r--sci-libs/parmetis/Manifest6
-rw-r--r--sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch31
-rw-r--r--sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch47
-rw-r--r--sci-libs/parmetis/metadata.xml3
-rw-r--r--sci-libs/parmetis/parmetis-4.0.3_p20230326.ebuild82
16 files changed, 436 insertions, 2 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index ae68fd444c8a..edfa2276f7ce 100644
--- a/sci-libs/Manifest.gz
+++ b/sci-libs/Manifest.gz
Binary files differ
diff --git a/sci-libs/gklib/Manifest b/sci-libs/gklib/Manifest
new file mode 100644
index 000000000000..2670a4e8c7d2
--- /dev/null
+++ b/sci-libs/gklib/Manifest
@@ -0,0 +1,5 @@
+AUX gklib-5.1.1_p20230327-multilib.patch 489 BLAKE2B d2b8abc381d79856032428469ac37f4763360bb9a7550246d07e85d4e4f3b81cc263cfcea255afe8bd619b05c886edac7641cdf45d3f739b270413eda8023422 SHA512 9a8bba4a397d6a1b11ba2d560c10141bffc866f9687c14fec426cfd531cfc1853c4ac88d03679a1aefbb6f23a3a1c0afef1a47b1fa806d4d6d3292f18f6fc79f
+AUX gklib-5.1.1_p20230327-respect-user-flags.patch 1626 BLAKE2B d8f574082e89cef6730515a696a0ca5b5eb32bbb408da586efa18c03f1f14641a75c251fa4aec9a03db6ed44a5841d68e7a64a635a779b5251ce6229b90dba86 SHA512 9b695774aa6a05e55e9a9a0e0c9a0736f925bd4112ec9af553f1aa90cc9298a5315a59c23670c2d200c3c27ed426ea960d13ec989403f5e5bf1c84503cb3bcb2
+DIST gklib-5.1.1_p20230327.tar.gz 186266 BLAKE2B f8c8bad20d98717141f748364614bfe95644dbaadf9370f3ad4751eb5a8f1cc7a429b42481af86bbe4df18541366e594d3b8d078305d2154f76928f587af91fc SHA512 128cd9a48047b18b8013288162556f0b0f1d81845f5445f7cc62590ab28c06ee0a6c602cc999ce268ab27237eca3e8295df6432d377e45071946b98558872997
+EBUILD gklib-5.1.1_p20230327-r1.ebuild 558 BLAKE2B 15d0243d33709461ce0e673499604000f447d8d65b20c15af27866bf96e97cfe363a96ee2a3232b81e46ad619213ad09e6337744b9cc0c1c0c97622cbc1ce26d SHA512 e43f5388c801bbc2a8d374afbeca30c5ee680ab82235c9eae76e29bea5db9757b19d9b62e33229888b997fadd974ff3b31e772bb6bc1956c38c495b95259232f
+MISC metadata.xml 345 BLAKE2B ed029a8a99db5e74617a3ab6b4974355b9e09e8d7e1ab8357e20cb3910d0cc3dc944f9006cdc12365255e0cd2f0670f58b35ccbfb7673c0a62d7d0de4226fc1c SHA512 c41979157a88ac96f1b49dbcb926482036216e1985019548aabe2ef6b97be29372db4c4669bb5eb232296f0a060f48e6d4e87a29ba2a8ef2b3f9028431e6c345
diff --git a/sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch b/sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch
new file mode 100644
index 000000000000..92fd8024f9a8
--- /dev/null
+++ b/sci-libs/gklib/files/gklib-5.1.1_p20230327-multilib.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9cd1b4b..592b70a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -26,6 +26,6 @@ include_directories("test")
+ add_subdirectory("test")
+
+ install(TARGETS GKlib
+- ARCHIVE DESTINATION lib/${LINSTALL_PATH}
+- LIBRARY DESTINATION lib/${LINSTALL_PATH})
++ ARCHIVE DESTINATION lib${LIB_SUFFIX}/${LINSTALL_PATH}
++ LIBRARY DESTINATION lib${LIB_SUFFIX}/${LINSTALL_PATH})
+ install(FILES ${GKlib_includes} DESTINATION include/${HINSTALL_PATH})
diff --git a/sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch b/sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch
new file mode 100644
index 000000000000..bbad20ee1113
--- /dev/null
+++ b/sci-libs/gklib/files/gklib-5.1.1_p20230327-respect-user-flags.patch
@@ -0,0 +1,51 @@
+diff --git a/GKlibSystem.cmake b/GKlibSystem.cmake
+index 31a1cf1..15ccfe7 100644
+--- a/GKlibSystem.cmake
++++ b/GKlibSystem.cmake
+@@ -31,21 +31,6 @@ endif(CYGWIN)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ # GCC opts.
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -std=c99 -fno-strict-aliasing")
+-if(VALGRIND)
+- set(GKlib_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic")
+-else()
+-# -march=native is not a valid flag on PPC:
+-if(CMAKE_SYSTEM_PROCESSOR MATCHES "power|ppc|powerpc|ppc64|powerpc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64"))
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -mtune=native")
+-else()
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -march=native")
+-endif()
+-endif(VALGRIND)
+- if(NOT MINGW)
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -fPIC")
+- endif(NOT MINGW)
+-# GCC warnings.
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
+ elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
+ # Sun insists on -xc99.
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99")
+@@ -71,24 +56,6 @@ if(NO_X86)
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNO_X86=${NO_X86}")
+ endif(NO_X86)
+
+-# Add various definitions.
+-if(GDB)
+- set(GKlib_COPTS "${GKlib_COPTS} -g")
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -Werror")
+-else()
+- set(GKlib_COPTS "-O3")
+-endif(GDB)
+-
+-
+-if(DEBUG)
+- set(GKlib_COPTS "-g")
+- set(GKlib_COPTIONS "${GKlib_COPTIONS} -DDEBUG")
+-endif(DEBUG)
+-
+-if(GPROF)
+- set(GKlib_COPTS "-pg")
+-endif(GPROF)
+-
+ if(NOT ASSERT)
+ set(GKlib_COPTIONS "${GKlib_COPTIONS} -DNDEBUG")
+ endif(NOT ASSERT)
diff --git a/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
new file mode 100644
index 000000000000..87573b9748ae
--- /dev/null
+++ b/sci-libs/gklib/gklib-5.1.1_p20230327-r1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+COMMIT="8bd6bad750b2b0d90800c632cf18e8ee93ad72d7"
+
+DESCRIPTION="Helper routines and frameworks used by KarypisLab software"
+HOMEPAGE="https://github.com/KarypisLab/GKlib"
+SRC_URI="https://github.com/KarypisLab/GKlib/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/GKlib-${COMMIT}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=(
+ "${FILESDIR}/${P}-multilib.patch"
+ "${FILESDIR}/${P}-respect-user-flags.patch"
+)
diff --git a/sci-libs/gklib/metadata.xml b/sci-libs/gklib/metadata.xml
new file mode 100644
index 000000000000..1c83399ced50
--- /dev/null
+++ b/sci-libs/gklib/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">KarypisLab/GKlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sci-libs/metis/Manifest b/sci-libs/metis/Manifest
index b20e94202ca9..2027ee0b0cdb 100644
--- a/sci-libs/metis/Manifest
+++ b/sci-libs/metis/Manifest
@@ -1,6 +1,10 @@
AUX metis-5.1.0-multilib.patch 579 BLAKE2B 3e9edf7809a43026bfc7a320b1ff37f2e00a04dbdbcb8c3acb62016d8c41b4e68301ab3053fa1fb0fcb2a6bf3b48818175fdbf4b4fe2a23c0b4cb814d512f092 SHA512 5aa179b6de17ac24eb25ddc9377b5adea7b794405ba332de23096daac9231ab5c603268a24ad9219b3a9c598b9cdad33082f31a2cdc957b784d09d92e50f4941
AUX metis-5.1.0-remove-GKlib-O3.patch 267 BLAKE2B ef39556238377c12a311685ca96188f8b4c3db1398b55941d273592ff40cad49d3ec5c7606177edacad25af4684d9ae65dacaa9a7ca9ad957d326b874b87f3cf SHA512 8b4f4eb0753063e64533e0101b9e78bf2a711e6b2d080607ab06025ad681788225abe7555db28edee00a98ba41badc41341bb3cec2bd654fc738d63d78867968
AUX metis-5.1.0-shared-GKlib.patch 590 BLAKE2B 63a10fd00f21cff949660c598fa4519432559965c72f31c35d2a726dbbdfb9d2591c99e92c9520c2021e8ce0c485aa9834445e9f5dfe388f93106e49eee562af SHA512 3157e364f56661c7bc896016b2cda83658f2b00fe7c936e732e80e366ccf6421a1ab6f95d5a74fdb790f4ec8789d048aab9d68b0ccf1eb03f94621f78adb1a3a
+AUX metis-5.2.1-multilib.patch 603 BLAKE2B aa988f804f6dfdba9ccff7a8b6929c2551273d7c8d1303feef5a7310632a4af78380f3e9d0024fb9fa0cdbb7952db7c09919ab54e323d5282a7b844e3708bfad SHA512 d89a7ba0cba8df805fd6a97f8fa8df354e9af441133d2417ec9a16afaa3666937712fefd2e83dcfb0e93a6a9f17d1123cc84501b3d21e45e93169915a9d1d7bb
+AUX metis-5.2.1-respect-user-flags.patch 1258 BLAKE2B aadf0612d276228bc0fc116534a523337f0e6330195ab5b66dc0954ee8ceb98e3c9e5f849dbd234fa6b1a5d8ca0f284b1099711bbc8bd53f8be41ee347f362e9 SHA512 c7b6f6e7db0c0a2bccdfa9fef8addcab67f79fd05609375defe432ac05d54a8d4da50b4ee35d873dd04d05e2d251cfcc7a6b1e0fbbdb8d39af2385833d86a778
DIST metis-5.1.0.tar.gz 4984968 BLAKE2B c5f8ff552fce7e7cc02740e6197c9deb5e05e8bc2e2e56cad0cba85705eec6990b511182930c8758fd16a18015f54c8a4827038039bc3c58ee41df468ea175bc SHA512 deea47749d13bd06fbeaf98a53c6c0b61603ddc17a43dae81d72c8015576f6495fd83c11b0ef68d024879ed5415c14ebdbd87ce49c181bdac680573bea8bdb25
+DIST metis-5.2.1.tar.gz 4838377 BLAKE2B 7f2bb3b4dce71cd05e25d042095c311f814d5d197b1a6ae19994b6bcbb7d948d3a96210cbce5633f39d7bb8ad7cc3f8f4977c6465ec8591934aac00ea9637c94 SHA512 69127b7a777f9ba14cf399a7122000af9d6094a5f44be600a28384cfc0495c024fb0c6eab37c4473a5763ec1077cd9f30d9bcbb3c952462f6c9ead31c6b9e790
EBUILD metis-5.1.0-r5.ebuild 1827 BLAKE2B b123d41eb74c449790c44b0f40d089feae705144876e23bc2862de24fecc54edc04e26b2a62007b4691249520b3a2e9c2c5fdf26f2b092e0b5d479adce7382b8 SHA512 853cd965c826ebb32de42da696ae0fbbe57fbefc1bd11db66f912611e53aeb870ef27a15cfced14519b9c452280a816bf88ee7edfaf82ac59afe9177d7453a21
-MISC metadata.xml 862 BLAKE2B ae00feba4b79f981b8c730758a8b4fb39b93e9bad64ec6b2ea5cc109682d828a7a3c7cbaa4209c18fe26e49f240f0af1b6ba76834961d941d568b635b3f7f729 SHA512 a596e61e9fcd162594e56f68c787c9b8b516e02eb18667c60e13aa012fbd262b1bddccb7e70f05da96bc0480c803c1219935c3595b47fd2acbaac26b388af544
+EBUILD metis-5.2.1.ebuild 2014 BLAKE2B ee781918ead05edfe75ced034b9346d44b251e656cfccd55103351ecf397db34acf65df0f2666f5e6202347350d2e8003e1f799d4a02b1c7d5d0e4470d929607 SHA512 3fb87b356eabc4d5f1585e5175cea3d4d4121d12903441a6af20e238ac1c8c1bd3db41e04444b6e113e220bc283c5e77b2395a00788767ab3a0f44c277ec34c7
+MISC metadata.xml 947 BLAKE2B 9687c616dd1c8684be3fc1022671560ac5ff752514cbced0a3bb1bfc70348ecdb72c4913e65720a70f03609a1277c5a697e5985fb0cb8032d60e5c24f9b16674 SHA512 efa12e77a7af2803d0626eefc85aaaa5b2594fdfc748c8ad870590f65ae40ec7e557fa923707f327b8bb04036b57a67a036fed52ff9159af1fe65c062165408f
diff --git a/sci-libs/metis/files/metis-5.2.1-multilib.patch b/sci-libs/metis/files/metis-5.2.1-multilib.patch
new file mode 100644
index 000000000000..fc26f7556f12
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.2.1-multilib.patch
@@ -0,0 +1,19 @@
+diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt
+index fc6cec6..e10a1a1 100644
+--- a/libmetis/CMakeLists.txt
++++ b/libmetis/CMakeLists.txt
+@@ -6,10 +6,11 @@ file(GLOB metis_sources *.c)
+
+ # Build libmetis.
+ add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources})
++set_target_properties(metis PROPERTIES SOVERSION 0)
+
+ if(METIS_INSTALL)
+ install(TARGETS metis
+- LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ RUNTIME DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX})
+ endif()
diff --git a/sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch b/sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch
new file mode 100644
index 000000000000..acdf17df5090
--- /dev/null
+++ b/sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch
@@ -0,0 +1,47 @@
+diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake
+index 0e70a8e..d005f84 100644
+--- a/conf/gkbuild.cmake
++++ b/conf/gkbuild.cmake
+@@ -29,16 +29,7 @@ endif(CYGWIN)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ # GCC opts.
+ set(GK_COPTIONS "${GK_COPTIONS} -std=c99 -fno-strict-aliasing")
+-if(VALGRIND)
+- set(GK_COPTIONS "${GK_COPTIONS} -march=x86-64 -mtune=generic")
+-else()
+- set(GK_COPTIONS "${GK_COPTIONS} -march=native")
+-endif(VALGRIND)
+- if(NOT MINGW)
+- set(GK_COPTIONS "${GK_COPTIONS} -fPIC")
+- endif(NOT MINGW)
+-# GCC warnings.
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
++
+ elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
+ # Sun insists on -xc99.
+ set(GK_COPTIONS "${GK_COPTIONS} -xc99")
+@@ -65,24 +56,10 @@ if(OPENMP)
+ endif(OPENMP)
+
+
+-# Add various definitions.
+-if(GDB)
+- set(GK_COPTS "${GK_COPTS} -g")
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror")
+-else()
+- set(GK_COPTS "-O3")
+-endif(GDB)
+-
+-
+ if(DEBUG)
+- set(GK_COPTS "-Og")
+ set(GK_COPTIONS "${GK_COPTIONS} -DDEBUG")
+ endif(DEBUG)
+
+-if(GPROF)
+- set(GK_COPTS "-pg")
+-endif(GPROF)
+-
+ if(NOT ASSERT)
+ set(GK_COPTIONS "${GK_COPTIONS} -DNDEBUG")
+ endif(NOT ASSERT)
diff --git a/sci-libs/metis/metadata.xml b/sci-libs/metis/metadata.xml
index 6415e7e43b5c..3daf0ce6b84d 100644
--- a/sci-libs/metis/metadata.xml
+++ b/sci-libs/metis/metadata.xml
@@ -16,4 +16,7 @@
<flag name="double-precision">Use double- rather than single-precision floating-point representation</flag>
<flag name="int64">Use 64- rather than 32-bit integer representation (needed for &gt; 2^31 vertices)</flag>
</use>
+ <upstream>
+ <remote-id type="github">KarypisLab/METIS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/metis/metis-5.2.1.ebuild b/sci-libs/metis/metis-5.2.1.ebuild
new file mode 100644
index 000000000000..a31ce9ab612c
--- /dev/null
+++ b/sci-libs/metis/metis-5.2.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A package for unstructured serial graph partitioning"
+HOMEPAGE="https://github.com/KarypisLab/METIS"
+SRC_URI="https://github.com/KarypisLab/METIS/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/METIS-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux"
+IUSE="double-precision examples int64 openmp"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-multilib.patch
+ "${FILESDIR}"/${P}-respect-user-flags.patch
+)
+
+DEPEND="sci-libs/gklib"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ local idxwidth realwidth
+
+ if use int64; then
+ idxwidth="#define IDXTYPEWIDTH 64"
+ else
+ idxwidth="#define IDXTYPEWIDTH 32"
+ fi
+
+ if use double-precision; then
+ realwidth="#define REALTYPEWIDTH 64"
+ else
+ realwidth="#define REALTYPEWIDTH 32"
+ fi
+
+ cmake_src_prepare
+
+ # From Makefile
+ mkdir -p build/xinclude || die
+ echo ${idxwidth} > build/xinclude/metis.h || die
+ echo ${realwidth} >> build/xinclude/metis.h || die
+ cat include/metis.h >> build/xinclude/metis.h || die
+ cp include/CMakeLists.txt build/xinclude || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSHARED=yes
+ -DOPENMP=$(usex openmp)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ cd graphs || die
+ local PATH="${BUILD_DIR}"/programs/:${PATH}
+
+ ndmetis mdual.graph || die
+ mpmetis metis.mesh 2 || die
+ gpmetis test.mgraph 4 || die
+ gpmetis copter2.graph 4 || die
+ graphchk 4elt.graph || die
+}
+
+src_install() {
+ cmake_src_install
+ dodoc manual/manual.pdf
+ if use examples; then
+ docinto examples
+ dodoc -r programs graphs
+ fi
+
+ cat >> "${T}"/metis.pc <<- EOF || die
+ prefix=${EPREFIX}/usr
+ exec_prefix=\${prefix}
+ libdir=\${exec_prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+
+ Name: METIS
+ Description: Software for partioning unstructured graphes and meshes
+ Version: ${PV}
+ Cflags: -I\${includedir}/metis
+ Libs: -L\${libdir} -lmetis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins "${T}"/metis.pc
+}
diff --git a/sci-libs/parmetis/Manifest b/sci-libs/parmetis/Manifest
index 15c13a465b7b..dab1346a7109 100644
--- a/sci-libs/parmetis/Manifest
+++ b/sci-libs/parmetis/Manifest
@@ -1,5 +1,9 @@
AUX parmetis-4.0.3-01-cmake-paths.patch 1145 BLAKE2B 68b601d3421e88114a4cf3c6e580f92a9b5efa301e4480b55e820cfb18f75b1062b8ddec6e3aab0e49f97cbe0e8e8ac42d1db6f7f99f8f4d4bcdd2dad4ce8d2c SHA512 96892b7e8e8e4779233dfbc5737506a80454447eac0f0cbf07fa76aecc37dfe61bc16e5638bc36bc4f99ee89b259bd5f13a5fe4c5218b076810a498387ee01cf
AUX parmetis-4.0.3-02-unbundle-metis.patch 300 BLAKE2B 4baa2ef83d09746ec74e058eb4aba8e5bf6cbdf1f1ed44bf2b5d7a858afc677ac639a605cdb060960d646f2effa6c6eb6b173ebc78a09253046c1fffef7bbe32 SHA512 9f242db228d02c57d93c710be4f1cf8535012d13134064ea21588faa884f689ceac8deab9cee1f00a7192d64601753121a906622dbc900c6efc7e86d0e857744
+AUX parmetis-4.0.3_p20230326-multilib.patch 1091 BLAKE2B 3f380afb3593f7402e193a9d39e54db754a798c239cf7ffc951df7766f77030c087b883c60816510d21f3d44497c371ccd32ab6ff9218698e8bea361453a5ab7 SHA512 c33ae01a869e3d3a2181c37ca8a8792ce354f923e9e1215d8cbc914a24b3a4a5230df876e8a234f6b41bb72d08a1f47e98938d28abcc9def311c01ca7812a192
+AUX parmetis-4.0.3_p20230326-respect-user-flags.patch 1394 BLAKE2B c688028d352356fc5e5b9b0637ad0eb0650e1551d22557ed206fe9094373c2647b5e1b69ec73325764828599e40a5f699d4d680bf07f4a9c4185fda977ca044b SHA512 f91978522d13d90e638862f1045f792db25917b3302ca307170b78a120929f8b528cdd6e281c43343367ef648ac6917b73b79f94ff5751345feab3176145ede1
DIST parmetis-4.0.3.tar.gz 5567670 BLAKE2B 69a44ea8e50d8fd78046a342807b994220d03da3ab1695533d92772b1840302917a7d5d6f9eb020d9ff8ab7e5372bff0386d6354b662f58495b74f8f596c45f9 SHA512 454a91921ca35c981df11c9846a11963ff8fd8407a25179453af33f8fe69493f6dd7f2a0b8feed9a7d3f121e45b715749dd7a94873eaac2bae4cad1e535ca132
+DIST parmetis-4.0.3_p20230326.tar.gz 5312266 BLAKE2B 52f34982cff0aa3dbc26dde1bab72ff1a8f5fa20feba72deedc600fcb0d73c9d05f3a43bf5713f9a7db74695affaedd5ea5f691396f5d02c58ad26dc5a779592 SHA512 a71d212a1c8682eb662ef6bb8bdcb124bc13c353e76ac236b01e544bddb975740c36be54c05305e1114e4daf20fec56642ffa319a6426c87c5538ea2225c156b
EBUILD parmetis-4.0.3-r2.ebuild 1690 BLAKE2B 6aac6160b20b60e2f57f286c5ec1574b77d0ab8330c9ee18c60f97199c99ed779d619787a05eccf9e49c9cbb32e4d8829ef719b505fa6bccff3271729c9e8566 SHA512 27699872f747004b29f5460160a367dee4769e7be3b09bd80cae02c4f20bdee046819088ed9e3466355ab7f678459c878d5f862b19875efe6683e531e8e1707f
-MISC metadata.xml 661 BLAKE2B ae7d763280574c9607c20e3e131acef4fceb550ad3fe82275294f2d20a9b4fee5d4cb927191c9d6bddde2217fd8bfadf92fcc4d687514f17e7d950c9954208ec SHA512 5265ed75e8b26a597da60b1ce0852b737d84c2f19eb85e5cf4dc31ca12ef8639a9b5474cc1f1a67225410bb735e973b716eea28a5fb76a3d9d5f0793b0fd7822
+EBUILD parmetis-4.0.3_p20230326.ebuild 1673 BLAKE2B 5132a1ae12aac12aa3560ef9a35e156f05ca7e707abf57b0e454666c875732875c0eab4dbf7551ae24c82edd5967f5e7f1b4164fa67417aefcacbc2540b79315 SHA512 78ee58369b6c13cef92f00099e128c8ff896dd99cee900b87a75d68890540d8972088cdd16adcba4cf261113926d9fca0ea968ce7f721b3c079cfe76f3e1b727
+MISC metadata.xml 745 BLAKE2B be3f5f93243ec90f867d88af721f18f6ab0d4ef43faf2739eedbc4a0f1bef6180d17254fbbff1d0c0c6912b21d249ca145037ca17634382dfe6111c875c8e8eb SHA512 c1a78d446d63b6939396f698fa188b7acea2e50615d079e62bcfc17a0d96327dea376f5714fda34bf6223c2b9a8c87f14bfd87ddde0fae28909f8a4e4419e8d4
diff --git a/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch
new file mode 100644
index 000000000000..cccf5a45f36e
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-multilib.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 146bc5f..faa1cfd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,9 +30,9 @@ include_directories(${CMAKE_INSTALL_PREFIX}/include)
+
+ # List of paths that the compiler will search for library files.
+ # i.e., the -L equivalent
+-link_directories(${GKLIB_PATH}/lib)
+-link_directories(${METIS_PATH}/lib)
+-link_directories(${CMAKE_INSTALL_PREFIX}/lib)
++link_directories(${GKLIB_PATH}/lib${LIB_SUFFIX})
++link_directories(${METIS_PATH}/lib${LIB_SUFFIX})
++link_directories(${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
+
+ # List of directories that cmake will look for CMakeLists.txt
+ add_subdirectory(include)
+diff --git a/libparmetis/CMakeLists.txt b/libparmetis/CMakeLists.txt
+index b9d6d84..c0553e7 100644
+--- a/libparmetis/CMakeLists.txt
++++ b/libparmetis/CMakeLists.txt
+@@ -12,6 +12,6 @@ if(SHARED)
+ endif()
+
+ install(TARGETS parmetis
+- LIBRARY DESTINATION lib
+- RUNTIME DESTINATION lib
+- ARCHIVE DESTINATION lib)
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ RUNTIME DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX})
diff --git a/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch
new file mode 100644
index 000000000000..4aa19580619e
--- /dev/null
+++ b/sci-libs/parmetis/files/parmetis-4.0.3_p20230326-respect-user-flags.patch
@@ -0,0 +1,47 @@
+diff --git a/conf/gkbuild.cmake b/conf/gkbuild.cmake
+index ec91224..5e66546 100644
+--- a/conf/gkbuild.cmake
++++ b/conf/gkbuild.cmake
+@@ -28,17 +28,6 @@ endif(CYGWIN)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ # GCC opts.
+ set(GK_COPTIONS "${GK_COPTIONS} -std=c99 -fno-strict-aliasing")
+-# -march=native is not a valid flag on PPC:
+-if(CMAKE_SYSTEM_PROCESSOR MATCHES "power|ppc|powerpc|ppc64|powerpc64" OR (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64"))
+- set(GK_COPTIONS "${GK_COPTIONS} -mtune=native")
+-else()
+- set(GK_COPTIONS "${GK_COPTIONS} -march=native")
+-endif()
+- if(NOT MINGW)
+- set(GK_COPTIONS "${GK_COPTIONS} -fPIC")
+- endif(NOT MINGW)
+-# GCC warnings.
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror -Wall -pedantic -Wno-unused-function -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas -Wno-unused-label")
+ elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
+ # Sun insists on -xc99.
+ set(GK_COPTIONS "${GK_COPTIONS} -xc99")
+@@ -65,24 +54,6 @@ if(OPENMP)
+ endif(OPENMP)
+
+
+-# Add various definitions.
+-if(GDB)
+- set(GK_COPTS "${GK_COPTS} -g")
+- set(GK_COPTIONS "${GK_COPTIONS} -Werror")
+-else()
+- set(GK_COPTS "-O3")
+-endif(GDB)
+-
+-
+-if(DEBUG)
+- set(GK_COPTS "-Og")
+- set(GK_COPTIONS "${GK_COPTIONS} -DDEBUG")
+-endif(DEBUG)
+-
+-if(GPROF)
+- set(GK_COPTS "-pg")
+-endif(GPROF)
+-
+ if(NOT ASSERT)
+ set(GK_COPTIONS "${GK_COPTIONS} -DNDEBUG")
+ endif(NOT ASSERT)
diff --git a/sci-libs/parmetis/metadata.xml b/sci-libs/parmetis/metadata.xml
index abc834509acf..bf62d9f372a0 100644
--- a/sci-libs/parmetis/metadata.xml
+++ b/sci-libs/parmetis/metadata.xml
@@ -13,4 +13,7 @@
especially suited for parallel AMR computations and large scale
numerical simulations.
</longdescription>
+ <upstream>
+ <remote-id type="github">KarypisLab/ParMETIS</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-libs/parmetis/parmetis-4.0.3_p20230326.ebuild b/sci-libs/parmetis/parmetis-4.0.3_p20230326.ebuild
new file mode 100644
index 000000000000..32c0dc0c83d8
--- /dev/null
+++ b/sci-libs/parmetis/parmetis-4.0.3_p20230326.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+COMMIT="8ee6a372ca703836f593e3c450ca903f04be14df"
+
+DESCRIPTION="Parallel (MPI) unstructured graph partitioning library"
+HOMEPAGE="https://github.com/KarypisLab/ParMETIS"
+SRC_URI="https://github.com/KarypisLab/ParMETIS/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/ParMETIS-${COMMIT}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="~amd64 ~amd64-linux"
+IUSE="examples openmp pcre"
+RESTRICT="mirror bindist"
+
+DEPEND="
+ sci-libs/gklib
+ >=sci-libs/metis-5.1.0-r5
+ virtual/mpi[fortran]
+ pcre? ( dev-libs/libpcre:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-user-flags.patch
+ "${FILESDIR}"/${P}-multilib.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ export CC=mpicc CXX=mpicxx
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGKRAND=ON
+ -DMETIS_PATH="${EPREFIX}/usr"
+ -DOPENMP=$(usex openmp)
+ -DPCRE=$(usex pcre)
+ -DSHARED=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ dodoc Changelog
+ dodoc manual/manual.pdf
+ if use examples; then
+ docinto examples
+ dodoc -r Graphs programs
+ fi
+
+ cat > ${PN}.pc <<-EOF
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Libs: -L\${libdir} -l${PN}
+ Cflags: -I\${includedir}/${PN}
+ Requires: metis
+ EOF
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins ${PN}.pc
+}