diff options
Diffstat (limited to 'sci-libs/metis')
-rw-r--r-- | sci-libs/metis/Manifest | 6 | ||||
-rw-r--r-- | sci-libs/metis/files/metis-5.2.1-multilib.patch | 19 | ||||
-rw-r--r-- | sci-libs/metis/files/metis-5.2.1-respect-user-flags.patch | 47 | ||||
-rw-r--r-- | sci-libs/metis/metadata.xml | 3 | ||||
-rw-r--r-- | sci-libs/metis/metis-5.2.1.ebuild | 92 |
5 files changed, 166 insertions, 1 deletions
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 > 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 +} |