git: 494841d7216b - main - cad/scotch-edf: repocopy from cad/scotch
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 07 Oct 2026 10:26:11 UTC
The branch main has been updated by thierry:
URL: https://cgit.FreeBSD.org/ports/commit/?id=494841d7216bf41d02f2770eee27d57e13592e52
commit 494841d7216bf41d02f2770eee27d57e13592e52
Author: Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2026-10-04 12:50:22 +0000
Commit: Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2026-10-07 10:26:01 +0000
cad/scotch-edf: repocopy from cad/scotch
PR: 299097
---
cad/Makefile | 1 +
cad/scotch-edf/Makefile | 96 ++++++++++++
...tch-src_Make.inc_Makefile.inc.i686__pc__freebsd | 33 +++++
...h-src_Make.inc_Makefile.inc.x86-64__pc__freebsd | 32 ++++
cad/scotch-edf/files/patch-src_libscotch_library.h | 16 ++
cad/scotch-edf/pkg-descr | 14 ++
cad/scotch-edf/pkg-plist | 163 +++++++++++++++++++++
7 files changed, 355 insertions(+)
diff --git a/cad/Makefile b/cad/Makefile
index 83fb879f5e67..eb81dda7a00b 100644
--- a/cad/Makefile
+++ b/cad/Makefile
@@ -141,6 +141,7 @@
SUBDIR += rubygem-gdsii
SUBDIR += sch-rnd
SUBDIR += scotch
+ SUBDIR += scotch-edf
SUBDIR += silice
SUBDIR += solvespace
SUBDIR += sp2sp
diff --git a/cad/scotch-edf/Makefile b/cad/scotch-edf/Makefile
new file mode 100644
index 000000000000..aba2628b5c4e
--- /dev/null
+++ b/cad/scotch-edf/Makefile
@@ -0,0 +1,96 @@
+PORTNAME= scotch
+DISTVERSION= 6.0.4-aster7
+PORTREVISION= 7
+CATEGORIES= cad science
+PKGNAMESUFFIX= -edf
+
+MAINTAINER= thierry@FreeBSD.org
+COMMENT= Package for graph and mesh partitioning and sparse matrix ordering
+WWW= https://www.labri.fr/perso/pelegrin/scotch/
+
+LICENSE= CeCILL_C
+LICENSE_NAME= CeCILL-C
+LICENSE_FILE= ${WRKSRC}/doc/CeCILL-C_V1-en.txt
+LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+USES= bison:alias gmake localbase
+
+CONFLICTS_BUILD= scotch-7.*
+CONFLICTS_INSTALL= gbase gmap scotch-7.* # bin/gbase bin/gmap
+
+MAKE_JOBS_UNSAFE=yes
+
+OPTIONS_DEFINE= DOCS EXAMPLES MPICH
+OPTIONS_DEFAULT=MPICH
+OPTIONS_SUB= yes
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R}
+BUILD_WRKSRC= ${WRKSRC}/src
+INSTALL_WRKSRC= ${BUILD_WRKSRC}
+TEST_WRKSRC= ${BUILD_WRKSRC}
+ALL_TARGET= esmumps
+TEST_TARGET= check
+CFLAGS= -Wno-implicit-function-declaration
+MAKE_ENV= prefix=${STAGEDIR}${PREFIX} mandir=${STAGEDIR}${PREFIX}/share/man \
+ -DSCOTCH_PTHREAD_NUMBER=2
+USE_LDCONFIG= yes
+
+DOCVER= ${PORTVERSION:R:R}
+PORTDOCS= ptscotch_user${DOCVER}.pdf scotch_user${DOCVER}.pdf scotch_example.f
+LIBS= esmumps scotch scotcherr scotcherrexit scotchmetis
+
+MPICH_USES= mpi:mpich
+MPICH_ALL_TARGET= ptesmumps
+MPICH_TEST_TARGET= ptcheck
+MPICH_LIBS+= ptesmumps ptscotch ptscotcherr ptscotcherrexit ptscotchparmetis
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == "i386"
+MF= i686
+.else
+MF= x86-64
+.endif
+
+pre-everything::
+.if !defined(WITHOUT_MPICH)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "Define WITHOUT_MPI if PT-Scotch is not wanted."
+ @${ECHO_MSG}
+.endif
+
+pre-configure:
+ ${REINPLACE_CMD} -e 's/-lthread/-pthread/;s/-lpthread/-pthread/'\
+ ${WRKSRC}/src/Make.inc/Makefile.inc.${MF}_pc_freebsd
+ ${LN} -sf ${WRKSRC}/src/Make.inc/Makefile.inc.${MF}_pc_freebsd \
+ ${WRKSRC}/src/Makefile.inc
+ ${REINPLACE_CMD} -E -e 's|cd (.*) ; * \$$\(MAKE\)|\$$(MAKE) -C \1|' \
+ -e 's|\&\& \$$\(MAKE\)||' ${WRKSRC}/src/Makefile
+
+post-stage:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/lib*
+.for l in ${LIBS}
+ ${MV} ${STAGEDIR}${PREFIX}/lib/lib${l}.so ${STAGEDIR}${PREFIX}/lib/lib${l}.so.0
+ ${LN} -sf lib${l}.so.0 ${STAGEDIR}${PREFIX}/lib/lib${l}.so
+.endfor
+
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${STAGEDIR}${DOCSDIR}
+
+do-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/grf ${STAGEDIR}${EXAMPLESDIR}/tgt
+ ${INSTALL_DATA} ${WRKSRC}/grf/* ${STAGEDIR}${EXAMPLESDIR}/grf
+ ${INSTALL_DATA} ${WRKSRC}/tgt/* ${STAGEDIR}${EXAMPLESDIR}/tgt
+
+.if !defined(WITHOUT_MPI)
+pre-test:
+. if !exists(${HOME}/.mpd.conf)
+ @${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf
+ ${CHMOD} go-r ${HOME}/.mpd.conf
+ @${ECHO_MSG} "${HOME}/.mpd.conf has been generated - please change the secret word!"
+. endif
+.endif
+
+.include "${.CURDIR}/../../french/aster/bsd.aster.mk"
+.include <bsd.port.mk>
diff --git a/cad/scotch-edf/files/patch-src_Make.inc_Makefile.inc.i686__pc__freebsd b/cad/scotch-edf/files/patch-src_Make.inc_Makefile.inc.i686__pc__freebsd
new file mode 100644
index 000000000000..53ddec35d372
--- /dev/null
+++ b/cad/scotch-edf/files/patch-src_Make.inc_Makefile.inc.i686__pc__freebsd
@@ -0,0 +1,33 @@
+--- src/Make.inc/Makefile.inc.i686_pc_freebsd.orig 2017-02-22 07:20:57 UTC
++++ src/Make.inc/Makefile.inc.i686_pc_freebsd
+@@ -1,21 +1,21 @@
+ EXE =
+-LIB = .a
++LIB = .so
+ OBJ = .o
+
+ MAKE = gmake
+-AR = ar
+-ARFLAGS = -ruv
++AR = $(CC)
++ARFLAGS = -shared -Wl,-soname,$@ -o
+ CAT = cat
+-CCS = cc
++CCS = $(CC)
+ CCP = mpicc
+-CCD = mpicc
+-CFLAGS += -std=c99 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_PTHREAD -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER
+-CLIBFLAGS =
+-LDFLAGS += -lz -lm -lpthread
++CCD = $(CC)
++CFLAGS += -std=c99 -fPIC -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_PTHREAD -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DIDXSIZE64 -DINTSIZE64
++CLIBFLAGS = -fPIC
++LDFLAGS += -lz -lm -lthread
+ CP = cp
+ LEX = flex -Pscotchyy -olex.yy.c
+ LN = ln
+ MKDIR = mkdir
+ MV = mv
+-RANLIB = ranlib
++RANLIB = echo
+ YACC = bison -pscotchyy -y -b y
diff --git a/cad/scotch-edf/files/patch-src_Make.inc_Makefile.inc.x86-64__pc__freebsd b/cad/scotch-edf/files/patch-src_Make.inc_Makefile.inc.x86-64__pc__freebsd
new file mode 100644
index 000000000000..578e412980de
--- /dev/null
+++ b/cad/scotch-edf/files/patch-src_Make.inc_Makefile.inc.x86-64__pc__freebsd
@@ -0,0 +1,32 @@
+--- src/Make.inc/Makefile.inc.x86-64_pc_freebsd.orig 2017-02-22 07:20:57 UTC
++++ src/Make.inc/Makefile.inc.x86-64_pc_freebsd
+@@ -1,21 +1,21 @@
+ EXE =
+-LIB = .a
++LIB = .so
+ OBJ = .o
+
+ MAKE = gmake
+-AR = ar
+-ARFLAGS = -ruv
++AR = $(CC)
++ARFLAGS = -shared -Wl,-soname,$@ -o
+ CAT = cat
+-CCS = cc
++CCS = $(CC)
+ CCP = mpicc
+-CCD = cc
+-CFLAGS += -std -fPIC -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64
+-CLIBFLAGS =
++CCD = $(CC)
++CFLAGS += -std=c99 -fPIC -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_RENAME_PARSER -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64 -DINTSIZE64
++CLIBFLAGS = -fPIC
+ LDFLAGS += -lz -lm -lthread
+ CP = cp
+ LEX = flex -Pscotchyy -olex.yy.c
+ LN = ln
+ MKDIR = mkdir
+ MV = mv
+-RANLIB = ranlib
++RANLIB = echo
+ YACC = bison -pscotchyy -y -b y
diff --git a/cad/scotch-edf/files/patch-src_libscotch_library.h b/cad/scotch-edf/files/patch-src_libscotch_library.h
new file mode 100644
index 000000000000..9af926eebfad
--- /dev/null
+++ b/cad/scotch-edf/files/patch-src_libscotch_library.h
@@ -0,0 +1,16 @@
+- workaround for:
+- - https://gitlab.inria.fr/scotch/scotch/-/issues/35
+- - https://github.com/FreeFem/FreeFem-sources/issues/296
+
+--- src/libscotch/library.h.orig 2017-02-22 07:20:57 UTC
++++ src/libscotch/library.h
+@@ -61,6 +61,9 @@
+ #ifndef SCOTCH_H
+ #define SCOTCH_H
+
++#include <sys/types.h>
++#include <stdio.h>
++
+ /*
+ ** The type and structure definitions.
+ */
diff --git a/cad/scotch-edf/pkg-descr b/cad/scotch-edf/pkg-descr
new file mode 100644
index 000000000000..6c8cc4b99e96
--- /dev/null
+++ b/cad/scotch-edf/pkg-descr
@@ -0,0 +1,14 @@
+SCOTCH is a software package and libraries for graph, mesh and hypergraph
+partitioning, static mapping, and sparse matrix block ordering.
+
+Its purpose of Scotch is to apply graph theory, with a divide and conquer
+approach, to scientific computing problems such as graph and mesh partitioning,
+static mapping, and sparse matrix ordering, in application domains ranging from
+structural mechanics to operating systems or bio-chemistry.
+
+The SCOTCH distribution is a set of programs and libraries which implement the
+static mapping and sparse matrix reordering algorithms developed within the
+SCOTCH project.
+
+Note: this port does not follow upstream releases, it is indented to be used for
+Code_Aster.
diff --git a/cad/scotch-edf/pkg-plist b/cad/scotch-edf/pkg-plist
new file mode 100644
index 000000000000..3aa73ad1fb13
--- /dev/null
+++ b/cad/scotch-edf/pkg-plist
@@ -0,0 +1,163 @@
+bin/acpl
+bin/amk_ccc
+bin/amk_fft2
+bin/amk_grf
+bin/amk_hy
+bin/amk_m2
+bin/amk_p2
+bin/atst
+%%MPICH%%bin/dggath
+%%MPICH%%bin/dgmap
+%%MPICH%%bin/dgord
+%%MPICH%%bin/dgpart
+%%MPICH%%bin/dgscat
+%%MPICH%%bin/dgtst
+bin/gbase
+bin/gcv
+bin/gmap
+bin/gmk_hy
+bin/gmk_m2
+bin/gmk_m3
+bin/gmk_msh
+bin/gmk_ub2
+bin/gmtst
+bin/gord
+bin/gotst
+bin/gout
+bin/gpart
+bin/gscat
+bin/gtst
+bin/mcv
+bin/mmk_m2
+bin/mmk_m3
+bin/mord
+bin/mtst
+%%MPICH%%include/ptscotch.h
+%%MPICH%%include/ptscotchf.h
+include/scotch.h
+include/scotchf.h
+lib/libesmumps.so
+lib/libesmumps.so.0
+%%MPICH%%lib/libptesmumps.so
+%%MPICH%%lib/libptesmumps.so.0
+%%MPICH%%lib/libptscotch.so
+%%MPICH%%lib/libptscotch.so.0
+%%MPICH%%lib/libptscotcherr.so
+%%MPICH%%lib/libptscotcherr.so.0
+%%MPICH%%lib/libptscotcherrexit.so
+%%MPICH%%lib/libptscotcherrexit.so.0
+%%MPICH%%lib/libptscotchparmetis.so
+%%MPICH%%lib/libptscotchparmetis.so.0
+lib/libscotch.so
+lib/libscotch.so.0
+lib/libscotcherr.so
+lib/libscotcherr.so.0
+lib/libscotcherrexit.so
+lib/libscotcherrexit.so.0
+lib/libscotchmetis.so
+lib/libscotchmetis.so.0
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/3elt.grf.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/3elt.xyz.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/4elt.grf.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/4elt.xyz.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/4elt2.grf.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/4elt2.xyz.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/bump.grf.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/grf/bump.xyz.gz
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/SP2_16.txt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/T3D_64.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h1.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h10.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h2.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h3.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h4.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h5.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h6.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h7.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/h9.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k1.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k12.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k128.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k16.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k2.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k24.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k256.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k32.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k4.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k48.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k512.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k6.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k64.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k7.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/k96.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m10x10.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m10x20.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m11x13.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m16x16.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m16x32.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m17x19.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m19x21.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m19x31.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m21x23.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m23x25.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m24x24.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m25x27.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m27x29.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m29x31.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m2x2.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m2x4x8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m32x32.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m3x3.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m4x4.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m4x8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m5x5.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m5x7.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m64x64.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m8x16.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m8x8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m9x11.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/m9x7.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p128.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p16.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p2.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p256.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p32.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p4.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p512.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p64.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/p8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/t2x4x8.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/t4x4x4.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/vcmplt.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/vhcub.tgt
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/tgt/void.tgt
+share/man/man1/amk_ccc.1.gz
+share/man/man1/amk_fft2.1.gz
+share/man/man1/amk_hy.1.gz
+share/man/man1/amk_m2.1.gz
+share/man/man1/amk_p2.1.gz
+share/man/man1/atst.1.gz
+share/man/man1/dgmap.1.gz
+share/man/man1/dgord.1.gz
+share/man/man1/dgpart.1.gz
+share/man/man1/dgscat.1.gz
+share/man/man1/dgtst.1.gz
+share/man/man1/gcv.1.gz
+share/man/man1/gmap.1.gz
+share/man/man1/gmk_hy.1.gz
+share/man/man1/gmk_m2.1.gz
+share/man/man1/gmk_m3.1.gz
+share/man/man1/gmk_msh.1.gz
+share/man/man1/gmk_ub2.1.gz
+share/man/man1/gmtst.1.gz
+share/man/man1/gord.1.gz
+share/man/man1/gotst.1.gz
+share/man/man1/gout.1.gz
+share/man/man1/gpart.1.gz
+share/man/man1/gtst.1.gz
+share/man/man1/mmk_m2.1.gz
+share/man/man1/mmk_m3.1.gz
+share/man/man1/mord.1.gz
+share/man/man1/mtst.1.gz