mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 01:26:39 -04:00
math/parmetis: switch to PETSc fork
Upstream disapeared, and 2 forks are available, KarypisLab on GitHub and the PETSc one. ATM PETSc seems more active. Don’t install one more libmetis but depend on the regular one, and thus don’t install the libraries under $PREFIX/lib/parmetis. Note: manual.pdf is no more available.
This commit is contained in:
parent
9753aee9f0
commit
bb5d336a9d
5 changed files with 53 additions and 49 deletions
|
@ -1,28 +1,28 @@
|
|||
PORTNAME= ParMetis
|
||||
PORTVERSION= 4.0.3
|
||||
PORTREVISION= 8
|
||||
DISTVERSION= 4.0.3-p10
|
||||
CATEGORIES= math parallel
|
||||
MASTER_SITES= http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/
|
||||
DISTNAME= ${PORTNAME:tl}-${PORTVERSION}
|
||||
MASTER_SITES= https://bitbucket.org/petsc/pkg-parmetis/get/
|
||||
DISTNAME= ${LGCOMMIT}
|
||||
DIST_SUBDIR= Metis
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
COMMENT= Package for parallel (MPI) unstructured graph partitioning
|
||||
WWW= http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview
|
||||
WWW= https://bitbucket.org/petsc/pkg-parmetis
|
||||
|
||||
LICENSE= METIS
|
||||
LICENSE_NAME= University of Minnesota METIS License
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
|
||||
LICENSE_PERMS= auto-accept
|
||||
|
||||
BROKEN= Unfetchable
|
||||
DEPRECATED= Fails to fetch, unmaintained for years in tree
|
||||
EXPIRATION_DATE=2025-02-28
|
||||
BUILD_DEPENDS= ${NONEXISTENT}:math/metis:configure
|
||||
LIB_DEPENDS= libmetis.so:math/metis
|
||||
|
||||
USES= cmake:insource,noninja gmake
|
||||
USE_LDCONFIG= ${PREFIX}/lib/parmetis
|
||||
USES= cmake:insource,noninja gmake tar:bzip2
|
||||
CONFIGURE_ENV= MPI_HOME="${MPI_HOME}"
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
OPTIONS_DEFINE= OPENMPI DOCS STATIC
|
||||
OPENMPI_DESC= Use openmpi instead of mpich
|
||||
OPTIONS_DEFINE= OPENMPI STATIC
|
||||
OPENMPI_DESC= Use OpenMPI instead of MPICH
|
||||
OPTIONS_SUB= yes
|
||||
|
||||
OPENMPI_USES= mpi:openmpi
|
||||
|
@ -31,53 +31,50 @@ OPENMPI_USES_OFF= mpi
|
|||
STATIC_DESC= Do not build and install shared library
|
||||
STATIC_VARS_OFF= SH_FLAG="shared=1"
|
||||
|
||||
SHCOMMIT= 53c9341b6c1b
|
||||
LGCOMMIT= ${SHCOMMIT}a876c97567cb52ddfc87c159dc36
|
||||
|
||||
WRKSRC= ${WRKDIR}/petsc-pkg-parmetis-${SHCOMMIT}
|
||||
METIS_WRKSRC= ${MAKE} -C ${PORTSDIR}/math/metis -VWRKSRC
|
||||
|
||||
CFLAGS+= -fPIC
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ((${ARCH}=="amd64") || (${ARCH}=="aarch64") || (${ARCH}=="ppc64"))
|
||||
CFLAGS+= -DMETIS_USE_LONGINDEX
|
||||
.endif
|
||||
|
||||
pre-configure:
|
||||
@${REINPLACE_CMD} -e \
|
||||
@${MKDIR} ${WRKSRC}/metis
|
||||
${CP} -Rp "`${METIS_WRKSRC}`"/* ${WRKSRC}/metis
|
||||
${REINPLACE_CMD} -e \
|
||||
's|BUILDDIR =.*|BUILDDIR = build| ; \
|
||||
s|make -C|$$(MAKE) -C| ; \
|
||||
s|$$(MAKEFLAGS)||' ${WRKSRC}/Makefile
|
||||
@${REINPLACE_CMD} -e \
|
||||
${REINPLACE_CMD} -e \
|
||||
's|"-O3"|""|' ${WRKSRC}/metis/GKlib/GKlibSystem.cmake
|
||||
.if ((${ARCH}=="amd64") || (${ARCH}=="aarch64") || (${ARCH}=="ppc64"))
|
||||
@${REINPLACE_CMD} -e \
|
||||
's|IDXTYPEWIDTH 32|IDXTYPEWIDTH 64|' \
|
||||
${WRKSRC}/metis/include/metis.h
|
||||
.endif
|
||||
@${REINPLACE_CMD} -e \
|
||||
${REINPLACE_CMD} -e \
|
||||
'/target_link_libraries(.* parmetis)/s/\(parmetis\)/& -lexecinfo/' \
|
||||
${WRKSRC}/programs/CMakeLists.txt
|
||||
|
||||
do-configure:
|
||||
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
|
||||
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
|
||||
${MAKEFILE} config prefix="${PREFIX}" cc="${MPICC}" cxx="${MPICXX}" ${SH_FLAG}
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/include/parmetis \
|
||||
${STAGEDIR}${PREFIX}/lib/parmetis \
|
||||
${STAGEDIR}${DOCSDIR}
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}/include/parmetis
|
||||
${INSTALL_DATA} ${WRKSRC}/include/parmetis.h \
|
||||
${WRKSRC}/metis/include/metis.h \
|
||||
${STAGEDIR}${PREFIX}/include/parmetis
|
||||
.if ${PORT_OPTIONS:MSTATIC}
|
||||
${INSTALL_DATA} ${WRKSRC}/build/libmetis/libmetis.a \
|
||||
${STAGEDIR}${PREFIX}/lib/parmetis
|
||||
${INSTALL_DATA} ${WRKSRC}/build/libparmetis/libparmetis.a \
|
||||
${STAGEDIR}${PREFIX}/lib/parmetis
|
||||
${STAGEDIR}${PREFIX}/lib
|
||||
.else
|
||||
${INSTALL_DATA} ${WRKSRC}/build/libmetis/libmetis.so \
|
||||
${STAGEDIR}${PREFIX}/lib/parmetis/libmetis.so.2
|
||||
${INSTALL_LIB} ${WRKSRC}/build/libparmetis/libparmetis.so \
|
||||
${STAGEDIR}${PREFIX}/lib/parmetis/libparmetis.so.2
|
||||
cd ${STAGEDIR}${PREFIX}/lib/parmetis && \
|
||||
${LN} -sf libmetis.so.2 ${STAGEDIR}${PREFIX}/lib/parmetis/libmetis.so && \
|
||||
${LN} -sf libparmetis.so.2 ${STAGEDIR}${PREFIX}/lib/parmetis/libparmetis.so
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/parmetis/libmetis.so.2
|
||||
${STAGEDIR}${PREFIX}/lib/libparmetis.so.2
|
||||
cd ${STAGEDIR}${PREFIX}/lib && \
|
||||
${LN} -sf libparmetis.so.2 ${STAGEDIR}${PREFIX}/lib/libparmetis.so
|
||||
.endif
|
||||
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/manual/manual.pdf ${STAGEDIR}${DOCSDIR}
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
TIMESTAMP = 1496443330
|
||||
SHA256 (parmetis-4.0.3.tar.gz) = f2d9a231b7cf97f1fee6e8c9663113ebf6c240d407d3c118c55b3633d6be6e5f
|
||||
SIZE (parmetis-4.0.3.tar.gz) = 5567670
|
||||
TIMESTAMP = 1744994910
|
||||
SHA256 (Metis/53c9341b6c1ba876c97567cb52ddfc87c159dc36.tar.bz2) = 6dd7cf7eedb8fe4cd88caa42d471aac69001606277f869b75a4e060b38e95a54
|
||||
SIZE (Metis/53c9341b6c1ba876c97567cb52ddfc87c159dc36.tar.bz2) = 111121
|
||||
|
|
|
@ -1,13 +1,22 @@
|
|||
--- CMakeLists.txt.orig 2013-03-30 16:24:50 UTC
|
||||
--- CMakeLists.txt.orig 2025-03-31 19:32:32 UTC
|
||||
+++ CMakeLists.txt
|
||||
@@ -19,8 +19,10 @@ execute_process(COMMAND ${CMAKE_COMMAND}
|
||||
@@ -21,9 +21,11 @@ if(SHARED)
|
||||
# Prepare libraries.
|
||||
if(SHARED)
|
||||
set(ParMETIS_LIBRARY_TYPE SHARED)
|
||||
+ set(METIS_LIBRARY_TYPE SHARED)
|
||||
set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
else()
|
||||
set(ParMETIS_LIBRARY_TYPE STATIC)
|
||||
+ set(METIS_LIBRARY_TYPE STATIC)
|
||||
endif()
|
||||
|
||||
include(${GKLIB_PATH}/GKlibSystem.cmake)
|
||||
# List of paths that the compiler will search for header files.
|
||||
@@ -36,6 +38,7 @@ include_directories(${CMAKE_INSTALL_PREFIX}/include)
|
||||
|
||||
# List of paths that the compiler will search for library files.
|
||||
# i.e., the -L equivalent
|
||||
+link_directories(${MPI_LINK_FLAGS})
|
||||
link_directories(${METIS_PATH}/lib)
|
||||
link_directories(${CMAKE_INSTALL_PREFIX}/lib)
|
||||
|
||||
|
|
|
@ -7,3 +7,5 @@ numerical simulations. The algorithms implemented in ParMETIS are
|
|||
based on the parallel multilevel k-way graph-partitioning algorithms
|
||||
described in [KK95d], [KK96], [KK97], and the adaptive repartitioning
|
||||
algorithms described in [SKK97a], [SKK97b], [SK+98], and [SKK98].
|
||||
|
||||
See also: https://github.com/KarypisLab/ParMETIS
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
include/parmetis/metis.h
|
||||
include/parmetis/parmetis.h
|
||||
%%STATIC%%lib/parmetis/libmetis.a
|
||||
%%NO_STATIC%%lib/parmetis/libmetis.so
|
||||
%%NO_STATIC%%lib/parmetis/libmetis.so.2
|
||||
%%STATIC%%lib/parmetis/libparmetis.a
|
||||
%%NO_STATIC%%lib/parmetis/libparmetis.so
|
||||
%%NO_STATIC%%lib/parmetis/libparmetis.so.2
|
||||
%%DOCSDIR%%/manual.pdf
|
||||
%%STATIC%%lib/libparmetis.a
|
||||
%%NO_STATIC%%lib/libparmetis.so
|
||||
%%NO_STATIC%%lib/libparmetis.so.2
|
||||
|
|
Loading…
Add table
Reference in a new issue