pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/math/metis



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Sun Nov  8 13:55:10 UTC 2026

Modified Files:
        pkgsrc/math/metis: Makefile PLIST buildlink3.mk distinfo
Added Files:
        pkgsrc/math/metis/patches: patch-Makefile
Removed Files:
        pkgsrc/math/metis/patches: patch-Test_Makefile patch-aa patch-ab
            patch-ac

Log Message:
math/metis: Update to 5.2.1

Changelog:
metis-5.2.1
------------------------------------------------------------------------
f5ae915 | karypis | 2022-12-05 07:27:57 -0600 (Mon, 05 Dec 2022)

- Added RCM-based reordering auxialiary routine
  METIS_CacheFriendlyReordering.
- Improved multi-way BFS and further refined LP-based refinement.
- GKlib became an external dependency.

metis-5.1.0
------------------------------------------------------------------------
r13937 | karypis | 2013-03-29 23:08:21 -0500 (Fri, 29 Mar 2013)

- Further extended the 2-hop coarsening scheme introduced in 5.0.2 for
  for graphs with highly variable degree distribution (e.g., power-law).
  This coarsening scheme is automatically used when the standard
  1-hop-based scheme leaves a large fraction of the vertices of the
  graph unmatched. It leads to better quality partitionings, lower
  memory utilization, and faster execution time. In principle, this
  scheme will never be triggered for graphs/matrices appearing in
  scientific computations derived from FE meshes. However, if you
  notice that the quality of the solutions is significantly worse,
  this 2-hop matching can be turned off by using the '-no2hop' command
  line option and the associated options[] parameter (as described
  in the manual).
- Fixed 0/1 numbering issue with mesh partitioning routines (flyspray
  issue #109)

metis-5.0.3
------------------------------------------------------------------------
r13822 | karypis | 2013-03-11 14:40:11 -0500 (Mon, 11 Mar 2013)

- Fixed the bug that was introduced in 5.x for creating nodal graphs
  from meshes (flyspray issue #107).
- Changed the license to Apache Version 2.

metis-5.0.2
------------------------------------------------------------------------
r10974 | karypis | 2011-10-29 18:24:32 -0500 (Sat, 29 Oct 2011)

- Fixed issue with high-degree vertices and mask-based compression.
- Fixed issue with wrong COARSENING_FRACTION.
- Modified coarsening schemes to better support non FE graphs.

metis-5.0.1
------------------------------------------------------------------------
r10709 | karypis | 2011-08-31 16:07:57 -0500 (Wed, 31 Aug 2011)

- Fixed critical bug in the mesh partitioning routines.

metis-5.0
------------------------------------------------------------------------
r10667 | karypis | 2011-08-04 00:35:30 -0500 (Thu, 04 Aug 2011)

- Updated/corrected error messages.
- Addressed some build issues.

metis-5.0rc3
------------------------------------------------------------------------
r10560 | karypis | 2011-07-13 08:19:10 -0500 (Wed, 13 Jul 2011)

- Fixed various bugs that were identified by testers.
- Some minor performance and quality improvements.
- Addressed some build issues.

metis-5.0rc2
------------------------------------------------------------------------
r10496 | karypis | 2011-07-06 11:04:45 -0500 (Wed, 06 Jul 2011)

- Various run-time and quality optimizations.
- Option error-checking.
- Signal-based heap cleanup on error. Metis API routines will not
  return nicely and cleanup all memory that may have allocated.
- Reduced memory requirements.
- Fixed various bugs identified in rc1.
- Added back Fortran support in the form of alternate API names
  (see libmetis/frename.h).
- Minor code changes to accommodate ParMetis 4.0.

metis-5.0rc1
------------------------------------------------------------------------
r10227 | karypis | 2011-06-13 23:35:05 -0500 (Mon, 13 Jun 2011)

- A nearly complete re-write of Metis' code-based that changed expanded
  the functionality of the command-line programs and API routines.
- Multi-constraint partitioning can be used in conjunction with
  minimization of the total communication volume.
- All graph and mesh partitioning routines take as input the target
  sizes of the partitions, which among others, allow them to compute
  partitioning solutions that are well-suited for parallel architectures
  with heterogeneous computing capabilities.
- When multi-constraint partitioning is used, the target sizes of the
  partitions are specified on a per partition-constraint pair.
- The multilevel k-way partitioning algorithms can compute a
  partitioning solution in which each partition is contiguous.
- All partitioning and ordering routines can compute multiple different
  solutions and select the best as the final solution.
- The mesh partitioning and mesh-to-graph conversion routines can
  operate on mixed element meshes.
- The command-line programs provide full access to the entire set of
  capabilities provided by Metis' API.
- Re-written the memory management subsystem to reduce overall memory
  requirements.

metis-5.0pre2
------------------------------------------------------------------------
r1437 | karypis | 2007-04-07 23:16:16 -0500 (Sat, 07 Apr 2007)

- Added installation instructions and change-logs.
- Tested 32bit & 64bit on 64bit architectures and passed tests.
- Tested 32bit on 32bit architectures and passed tests.
- strtoidx() addition for portable input file parsing
- Restructured the internal memory allocation schemes for graph and
  refinement data. This should enhance portability and make the code
  easier to maintain.
- Fixed some bad memory allocation calls (i.e., sizeof(x)/sizeof(idxtype).
  However, there are tons of those and need to be corrected once and for
  all by eliminating workspace and the associated mallocs.
- Added mprint/mscanf family of functions for portable formatted I/O
  of the idxtype datatype. The specifier for this datatype is %D.
  All library routines use this function for printing.
  The implementation of these routines is not very efficient, but
  that should do for now (in principle these routines should not be
  used unless debugging).
- Incorporated GKlib into METIS, which replaced many of its internal
  functions. GKlib's malloc interface will enable graceful and clean
  aborts (i.e., free all internally allocated memory) on fatal errors.
  This will probably be available in the next pre-release.
- Fixed the problems associated with metis.h that were identified by
  David (flyspray Issue #9).


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 pkgsrc/math/metis/Makefile
cvs rdiff -u -r1.2 -r1.3 pkgsrc/math/metis/PLIST
cvs rdiff -u -r1.1 -r1.2 pkgsrc/math/metis/buildlink3.mk
cvs rdiff -u -r1.8 -r1.9 pkgsrc/math/metis/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/math/metis/patches/patch-Makefile
cvs rdiff -u -r1.1 -r0 pkgsrc/math/metis/patches/patch-Test_Makefile
cvs rdiff -u -r1.2 -r0 pkgsrc/math/metis/patches/patch-aa \
    pkgsrc/math/metis/patches/patch-ab pkgsrc/math/metis/patches/patch-ac

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/math/metis/Makefile
diff -u pkgsrc/math/metis/Makefile:1.15 pkgsrc/math/metis/Makefile:1.16
--- pkgsrc/math/metis/Makefile:1.15     Sun Aug 23 06:30:30 2026
+++ pkgsrc/math/metis/Makefile  Sun Nov  8 13:55:09 2026
@@ -1,32 +1,30 @@
-# $NetBSD: Makefile,v 1.15 2026/08/23 06:30:30 wiz Exp $
+# $NetBSD: Makefile,v 1.16 2026/11/08 13:55:09 ryoon Exp $
 
-DISTNAME=              metis-4.0.3
+DISTNAME=              metis-5.2.1
 CATEGORIES=            math
-MASTER_SITES=          http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/
+MASTER_SITES=          ${MASTER_SITE_GITHUB:=KarypisLab/}
+GITHUB_PROJECT=                METIS
+GITHUB_TAG=            v${PKGVERSION_NOREV}
 
 MAINTAINER=            pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=              https://github.com/KarypisLab/METIS
 COMMENT=               Unstructured graph partitioning and sparse matrix ordering system
+LICENSE=               apache-2.0
 
-BUILD_TARGET=          default
-INSTALLATION_DIRS=     bin include/metis lib share/doc/metis share/examples/metis
+USE_TOOLS+=            gmake
 
-CFLAGS+=               -Wno-implicit-function-declaration
-CFLAGS+=               -Wno-implicit-int
+CMAKE_CONFIGURE_ARGS+= -DCMAKE_POLICY_VERSION_MINIMUM=3.5
 
-do-install:
-       cd ${WRKSRC} && ${INSTALL_PROGRAM} graphchk kmetis mesh2dual    \
-               mesh2nodal oemetis onmetis partdmesh partnmesh pmetis   \
-               ${DESTDIR}${PREFIX}/bin/
-       ${INSTALL_DATA} ${WRKSRC}/libmetis.a ${DESTDIR}${PREFIX}/lib
-       ${INSTALL_DATA} ${WRKSRC}/Lib/*.h                               \
-               ${DESTDIR}${PREFIX}/include/metis/
-       ${INSTALL_DATA} ${WRKSRC}/Doc/manual.ps                         \
-               ${DESTDIR}${PREFIX}/share/doc/metis
-       cd ${WRKSRC}/Graphs && ${INSTALL_DATA} 0README 4elt.graph       \
-               metis.mesh test.mgraph                                  \
-               ${DESTDIR}${PREFIX}/share/examples/metis/
-       ${INSTALL_DATA} ${WRKSRC}/Test/mtest.c                          \
-               ${DESTDIR}${PREFIX}/share/examples/metis
+CMAKE_CONFIGURE_ARGS+= -DSHARED=ON
 
+LDFLAGS+=      -L${BUILDLINK_PREFIX.metis}/lib
+LDFLAGS+=      ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.metis}/lib
+LDFLAGS+=      -lGKlib
+
+pre-configure:
+       cd ${WRKSRC} && \
+       make config shared=1 cc=gcc prefix=${PREFIX}
+
+.include "../../devel/cmake/build.mk"
+.include "../../devel/gklib/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/math/metis/PLIST
diff -u pkgsrc/math/metis/PLIST:1.2 pkgsrc/math/metis/PLIST:1.3
--- pkgsrc/math/metis/PLIST:1.2 Sun Jun 14 18:05:45 2009
+++ pkgsrc/math/metis/PLIST     Sun Nov  8 13:55:09 2026
@@ -1,23 +1,9 @@
-@comment $NetBSD: PLIST,v 1.2 2009/06/14 18:05:45 joerg Exp $
+@comment $NetBSD: PLIST,v 1.3 2026/11/08 13:55:09 ryoon Exp $
+bin/cmpfillin
+bin/gpmetis
 bin/graphchk
-bin/kmetis
-bin/mesh2dual
-bin/mesh2nodal
-bin/oemetis
-bin/onmetis
-bin/partdmesh
-bin/partnmesh
-bin/pmetis
-include/metis/defs.h
-include/metis/macros.h
-include/metis/metis.h
-include/metis/proto.h
-include/metis/rename.h
-include/metis/struct.h
-lib/libmetis.a
-share/doc/metis/manual.ps
-share/examples/metis/0README
-share/examples/metis/4elt.graph
-share/examples/metis/metis.mesh
-share/examples/metis/mtest.c
-share/examples/metis/test.mgraph
+bin/m2gmetis
+bin/mpmetis
+bin/ndmetis
+include/metis.h
+lib/libmetis.so

Index: pkgsrc/math/metis/buildlink3.mk
diff -u pkgsrc/math/metis/buildlink3.mk:1.1 pkgsrc/math/metis/buildlink3.mk:1.2
--- pkgsrc/math/metis/buildlink3.mk:1.1 Wed Sep 23 03:57:32 2015
+++ pkgsrc/math/metis/buildlink3.mk     Sun Nov  8 13:55:09 2026
@@ -1,13 +1,14 @@
-# $NetBSD: buildlink3.mk,v 1.1 2015/09/23 03:57:32 tnn Exp $
+# $NetBSD: buildlink3.mk,v 1.2 2026/11/08 13:55:09 ryoon Exp $
 
 BUILDLINK_TREE+=       metis
 
 .if !defined(METIS_BUILDLINK3_MK)
 METIS_BUILDLINK3_MK:=
 
-BUILDLINK_API_DEPENDS.metis+=  metis>=4.0.3
+BUILDLINK_API_DEPENDS.metis+=  metis>=5.2.1
 BUILDLINK_PKGSRCDIR.metis?=    ../../math/metis
-BUILDLINK_DEPMETHOD.metis?=    build
+
+.include "../../devel/gklib/buildlink3.mk"
 .endif # METIS_BUILDLINK3_MK
 
 BUILDLINK_TREE+=       -metis

Index: pkgsrc/math/metis/distinfo
diff -u pkgsrc/math/metis/distinfo:1.8 pkgsrc/math/metis/distinfo:1.9
--- pkgsrc/math/metis/distinfo:1.8      Sun Aug 23 06:30:30 2026
+++ pkgsrc/math/metis/distinfo  Sun Nov  8 13:55:09 2026
@@ -1,9 +1,6 @@
-$NetBSD: distinfo,v 1.8 2026/08/23 06:30:30 wiz Exp $
+$NetBSD: distinfo,v 1.9 2026/11/08 13:55:09 ryoon Exp $
 
-BLAKE2s (metis-4.0.3.tar.gz) = d3f50ecaef7578d5e59218dd11952642745e25332614326589e05110a8a07cfe
-SHA512 (metis-4.0.3.tar.gz) = 3d1388120c9c94bac6a20e2d38d6022c241bb6094cf71e31decf019d5500d2037716c6d615c5db69b536348a54e43f321c33ecfa25335fa6c84e412be227e332
-Size (metis-4.0.3.tar.gz) = 522624 bytes
-SHA1 (patch-Test_Makefile) = 0113ba21eb14e6b68c0acafc3109119ee50ec5ec
-SHA1 (patch-aa) = 03f17c9a84317ad31c29f3c00ebf2b63c41e6299
-SHA1 (patch-ab) = 40171c7c101a64ae6cb5200306b321cd1634fdea
-SHA1 (patch-ac) = ea9dfba48ac4df3c7d99e1010de5b1f1b85cf74e
+BLAKE2s (metis-5.2.1.tar.gz) = d0cba5fac3910e224b7e3d0897ee92292bf5e155dbbde4d2d1b4e0298451a0d4
+SHA512 (metis-5.2.1.tar.gz) = 69127b7a777f9ba14cf399a7122000af9d6094a5f44be600a28384cfc0495c024fb0c6eab37c4473a5763ec1077cd9f30d9bcbb3c952462f6c9ead31c6b9e790
+Size (metis-5.2.1.tar.gz) = 4838377 bytes
+SHA1 (patch-Makefile) = 5a9c74b7dcb14691ca54623567c8b238d4cf873e

Added files:

Index: pkgsrc/math/metis/patches/patch-Makefile
diff -u /dev/null pkgsrc/math/metis/patches/patch-Makefile:1.1
--- /dev/null   Sun Nov  8 13:55:10 2026
+++ pkgsrc/math/metis/patches/patch-Makefile    Sun Nov  8 13:55:09 2026
@@ -0,0 +1,13 @@
+$NetBSD: patch-Makefile,v 1.1 2026/11/08 13:55:09 ryoon Exp $
+
+--- Makefile.orig      2026-09-11 19:18:01.788874768 +0000
++++ Makefile
+@@ -73,7 +73,7 @@ cp include/CMakeLists.txt $(BUILDDIR)/xinclude
+ echo $(REALWIDTH) >> $(BUILDDIR)/xinclude/metis.h
+ cat include/metis.h >> $(BUILDDIR)/xinclude/metis.h
+ cp include/CMakeLists.txt $(BUILDDIR)/xinclude
+-cd $(BUILDDIR) && cmake $(CURDIR) $(CONFIG_FLAGS)
++#cd $(BUILDDIR) && cmake $(CURDIR) $(CONFIG_FLAGS)
+ endef
+ 
+ all clean install:



Home | Main Index | Thread Index | Old Index