summaryrefslogtreecommitdiff
path: root/sci-libs/parmetis
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-05-02 17:23:01 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-05-02 17:23:01 +0100
commite805507c58bab294dddb75f6fc9b551d9d92de86 (patch)
tree0ea187e6b9c02a5666b5b05c33691360d7c3cfca /sci-libs/parmetis
parent4f39f95b585c2bd23d646439b444a8738b01d37e (diff)
gentoo auto-resync : 02:05:2023 - 17:23:00
Diffstat (limited to 'sci-libs/parmetis')
-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
5 files changed, 168 insertions, 1 deletions
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
+}