freebsd-ports/science/code_saturne/Makefile
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00

129 lines
4.2 KiB
Makefile

PORTNAME= code_saturne
PORTVERSION= 7.1.1
DISTVERSIONPREFIX= v
PORTREVISION= 1
CATEGORIES= science parallel
MAINTAINER= thierry@FreeBSD.org
COMMENT= EDF's general purpose Computational Fluid Dynamics (CFD) software
WWW= https://www.code-saturne.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= gsed:textproc/gsed
LIB_DEPENDS= libsysinfo.so:devel/libsysinfo \
libcgns.so:science/cgnslib \
libhdf5.so:science/hdf5 \
libmedC.so:french/med
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}matplotlib>0:math/py-matplotlib@${PY_FLAVOR} \
xmgrace:math/grace \
bash:shells/bash \
xterm:x11/xterm
USE_GITHUB= yes
GH_ACCOUNT= code-saturne
USES= autoreconf bison compiler:c11 fortran gettext gnome gmake \
iconv localbase libtool pyqt:5 python:3.7+ shebangfix xorg
USE_GNOME= libxml2
USE_PYQT= pyqt5 sip
USE_XORG= x11
SHEBANG_FILES= install_saturne.py tests/unittests.py bin/*.py build-aux/*.py
CFLAGS+= -D__XSI_VISIBLE
CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/libxml2
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --without-salome --without-salome-yacs --without-salome-kernel \
--without-salome-gui --enable-python
CONFIGURE_ENV= ac_cv_path_SED=${LOCALBASE}/bin/gsed
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
BINARY_ALIAS= python=${PYTHON_CMD} \
pyrcc5=pyrcc5-${PYTHON_VER} \
pyuic5=pyuic5-${PYTHON_VER}
OPTIONS_DEFINE= DOCS EXAMPLES BATCH BLAS HYPRE MPICH MUMPS PETSC SCOTCH
OPTIONS_DEFAULT= BATCH BLAS HYPRE METIS MPICH MUMPS PETSC SCOTCH
OPTIONS_RADIO= METIS
OPTIONS_RADIO_METIS= METIS PARMETIS
OPTIONS_SUB= yes
BLAS_DESC= Support of BLAS
BLAS_USES= blaslapack
BLAS_CONFIGURE_ON= --with-blas=yes --with-blas-type=BLAS \
--with-blas-include=${LOCALBASE}/include/cblas \
--with-blas-lib=${LOCALBASE}/lib
BLAS_LIB_DEPENDS= libcblas.so:math/cblas
BATCH_DESC= Use Torque to submit batches
BATCH_RUN_DEPENDS= pbs-config:sysutils/torque
HYPRE_DESC= Support of HYPRE
HYPRE_BUILD_DEPENDS= hypre>0:science/hypre
HYPRE_RUN_DEPENDS= hypre>0:science/hypre
HYPRE_CONFIGURE_ON= --with-hypre="${LOCALBASE}"
MPICH_USES= mpi
MPICH_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mpi4py>0:net/py-mpi4py@${PY_FLAVOR}
MPICH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mpi4py>0:net/py-mpi4py@${PY_FLAVOR}
MPICH_CONFIGURE_WITH= mpi
METIS_DESC= Support of METIS
METIS_LIB_DEPENDS= libmetis.so:math/metis
METIS_CONFIGURE_ON= --with-metis-include="${LOCALBASE}/include"
MUMPS_DESC= Support of MUMPS
MUMPS_LIB_DEPENDS= libsmumps.so:math/mumps
MUMPS_CONFIGURE_ON= --with-mumps="${LOCALBASE}"
MUMPS_CONFIGURE_ENV= MUMPS_LIBS="-lmpiseq -llapack"
PARMETIS_DESC= Support of ParMETIS
PARMETIS_LIB_DEPENDS= libparmetis.so:math/parmetis
PARMETIS_CONFIGURE_ON= --with-metis-include="${LOCALBASE}/include/parmetis" \
--with-metis-lib="${LOCALBASE}/lib/parmetis"
PARMETIS_CONFIGURE_ENV= LIBS=-lexecinfo
PETSC_DESC= Support of PETSc
PETSC_LIB_DEPENDS= libpetsc.so:science/PETSc
PETSC_CONFIGURE_ON= --with-petsc="${LOCALBASE}"
SCOTCH_DESC= Support of Scotch
SCOTCH_LIB_DEPENDS= libscotch.so:cad/scotch
SCOTCH_CONFIGURE_ON= --with-scotch-include="${LOCALBASE}/include"
TEST_TARGET= check
.if defined(PACKAGE_BUILDING)
TERM= vt100 # Force for pointyhat to override su
.else
TERM?= vt100 # Default value needed for tput in jail or tinderbox
.endif
.include <bsd.port.options.mk>
.if ${ARCH} == "i386"
# /wrkdirs/usr/ports/science/code_saturne/work/code_saturne-5.3.0/src/apps/.libs
# /libsaturne.so:
# undefined reference to `__atomic_compare_exchange'
CONFIGURE_ARGS+= --disable-openmp
.endif
.if ${PORT_OPTIONS:MDOCS}
USE_TEX= tex:build
BUILD_DEPENDS+= fig2dev:print/fig2dev \
doxygen:devel/doxygen \
dot:graphics/graphviz \
dvips:print/tex-dvipsk \
${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
BINARY_ALIAS+= sphinx-build=sphinx-build-${PYTHON_VER}
ALL_TARGET= all pdf
DOCS= AUTHORS ChangeLog README
.endif
pre-configure:
${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
${WRKSRC}/Makefile.am
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/code_saturne/cs_solver
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${DOCS:C|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>