From 298eb16d8c74bffcb08ca7dd537bc36971ae9b91 Mon Sep 17 00:00:00 2001 From: Laurent Date: Wed, 24 Apr 2024 20:24:40 +0100 Subject: net/mpich: Update to 4.2.1 - Submitter becomes maintainer - Remove bash dependency - Restore the www doc folder - Remove bugfix for slurm_query_node_list.c as it was fixed upstream While I'm here: - Remove GNU_CONFIGURE_MANPREFIX after 9fd7ee1cdf6c ChangeLog: https://www.mpich.org/2024/04/17/mpich-4-2-1-released/ PR: 278505 --- net/mpich/Makefile | 13 ++-- net/mpich/distinfo | 6 +- ...s_bootstrap_external_slurm__query__node__list.c | 11 ---- net/mpich/files/patch-test_mpi_configure.ac | 19 ++++++ net/mpich/pkg-plist | 69 +++++++++++++++++++--- 5 files changed, 89 insertions(+), 29 deletions(-) delete mode 100644 net/mpich/files/patch-src_pm_hydra_lib_tools_bootstrap_external_slurm__query__node__list.c create mode 100644 net/mpich/files/patch-test_mpi_configure.ac diff --git a/net/mpich/Makefile b/net/mpich/Makefile index bee75c9ead79..c3b26e1eeef6 100644 --- a/net/mpich/Makefile +++ b/net/mpich/Makefile @@ -1,9 +1,9 @@ PORTNAME= mpich -DISTVERSION= 4.1.3 +DISTVERSION= 4.2.1 CATEGORIES= net parallel MASTER_SITES= https://www.mpich.org/static/downloads/${DISTVERSION}/ -MAINTAINER= ports@FreeBSD.org +MAINTAINER= laurent.chardon@gmail.com COMMENT= Portable implementation of MPI-1, MPI-2 and MPI-3 WWW= https://www.mpich.org/ @@ -12,18 +12,14 @@ LICENSE_NAME= MPICH LICENSE_FILE= ${WRKSRC}/COPYRIGHT LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -# Unfortunately mpicc is BROKEN with sh (Bad substitution on arrays) -BUILD_DEPENDS= bash:shells/bash LIB_DEPENDS= libhwloc.so:devel/hwloc2 \ libjson-c.so:devel/json-c \ libfabric.so:net/libfabric \ libslurm.so:sysutils/slurm-wlm \ libepoll-shim.so:devel/libepoll-shim -RUN_DEPENDS= bash:shells/bash CONFLICTS= mpd GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX=${PREFIX}/share INSTALL_TARGET= install-strip USES= compiler:c11 libtool localbase perl5 pkgconfig python:build USE_LDCONFIG= yes @@ -65,6 +61,7 @@ L0_CONFIGURE_OFF= --without-ze CONFIGURE_ARGS= --enable-fast="" \ --with-libfabric=${LOCALBASE} \ --with-libfabric-include=${WRKDIR}/include \ + --with-hwloc=${LOCALBASE} \ pkgconfigdir="${PREFIX}/libdata/pkgconfig" \ MPICHLIB_CFLAGS="${CFLAGS}" \ CFLAGS="-I${LOCALBASE}/include/json-c ${CFLAGS_F2018}" \ @@ -77,6 +74,8 @@ CONFIGURE_ARGS= --enable-fast="" \ LIBS="-L${LOCALBASE}/lib -lepoll-shim -ljson-c -lm" \ BASH_SHELL=${LOCALBASE}/bin/bash +PORTDOCS= * + .include .if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} == 170 @@ -114,10 +113,10 @@ post-extract: ${FIND} ${WRKSRC} -name "*.orig" -delete post-patch: - ${RM} -r ${WRKSRC}/www # To avoid pollution from ${LOCALBASE}/include, set up the build to look in # ${WRKDIR} for libfabric include/rdma/ header files (see --with-libfabric # configure args). +# PR: 265684 ${MKDIR} ${WRKDIR}/include && ${LN} -s ${LOCALBASE}/include/rdma ${WRKDIR}/include/ .include diff --git a/net/mpich/distinfo b/net/mpich/distinfo index ede902d860b8..bf868a214c65 100644 --- a/net/mpich/distinfo +++ b/net/mpich/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1711844655 -SHA256 (mpich-4.1.3.tar.gz) = 4a862d87bc95c3fc5a9a49365e5cc1b6c06d72da879475817011a11e0a1c68c2 -SIZE (mpich-4.1.3.tar.gz) = 39205699 +TIMESTAMP = 1713430822 +SHA256 (mpich-4.2.1.tar.gz) = 23331b2299f287c3419727edc2df8922d7e7abbb9fd0ac74e03b9966f9ad42d7 +SIZE (mpich-4.2.1.tar.gz) = 39915201 diff --git a/net/mpich/files/patch-src_pm_hydra_lib_tools_bootstrap_external_slurm__query__node__list.c b/net/mpich/files/patch-src_pm_hydra_lib_tools_bootstrap_external_slurm__query__node__list.c deleted file mode 100644 index 920a91348c9a..000000000000 --- a/net/mpich/files/patch-src_pm_hydra_lib_tools_bootstrap_external_slurm__query__node__list.c +++ /dev/null @@ -1,11 +0,0 @@ ---- src/pm/hydra/lib/tools/bootstrap/external/slurm_query_node_list.c.orig 2023-06-06 14:38:37 UTC -+++ src/pm/hydra/lib/tools/bootstrap/external/slurm_query_node_list.c -@@ -26,7 +26,7 @@ static HYD_status list_to_nodes(char *str) - #if defined(HAVE_SLURM) - static HYD_status list_to_nodes(char *str) - { -- hostlist_t hostlist; -+ hostlist_t *hostlist; - char *host; - int k = 0; - HYD_status status = HYD_SUCCESS; diff --git a/net/mpich/files/patch-test_mpi_configure.ac b/net/mpich/files/patch-test_mpi_configure.ac new file mode 100644 index 000000000000..aa7e7a209312 --- /dev/null +++ b/net/mpich/files/patch-test_mpi_configure.ac @@ -0,0 +1,19 @@ +--- test/mpi/configure.ac.orig 2024-04-20 15:21:29 UTC ++++ test/mpi/configure.ac +@@ -488,16 +488,6 @@ fi + AC_DEFINE(HAVE_THREADCOMM, 1, [Define if MPIX_Threadcomm is available]) + fi + +-# First, determine whether we are/can support the language bindings +-# +-# Since F90/F90FLAGS are replaced by FC/FCFLAGS, rather than silently +-# substituting them, i.e. FC=$F90 and FCFLAGS=$F90FLAGS, we choose to emit +-# an error message and abort to avoid any ambiguous/hidden bug in choosing +-# Fortran90 compilers. +-if test -n "$F90" -o -n "$F90FLAGS" ; then +- AC_MSG_ERROR([F90 and F90FLAGS are replaced by FC and FCFLAGS respectively in this configure, please unset F90/F90FLAGS and set FC/FCFLAGS instead and rerun configure again.]) +-fi +- + # errordir is substituted into the testlist file as errors when the + # tests should check error handling and as a comment (#) otherwise. + errordir="#" diff --git a/net/mpich/pkg-plist b/net/mpich/pkg-plist index 941faf3d71d0..31e5e9fef4ca 100644 --- a/net/mpich/pkg-plist +++ b/net/mpich/pkg-plist @@ -34,23 +34,24 @@ include/mpicxx.h %%FORTRAN%%include/mpif.h include/mpio.h include/mpiof.h +%%FORTRAN%%include/pmpi_base.mod %%FORTRAN%%include/pmpi_f08.mod %%FORTRAN%%lib/libfmpich.so lib/libmpi.a lib/libmpi.so lib/libmpi.so.12 -lib/libmpi.so.12.3.2 +lib/libmpi.so.12.4.1 lib/libmpich.so lib/libmpichcxx.so %%FORTRAN%%lib/libmpichf90.so lib/libmpicxx.a lib/libmpicxx.so lib/libmpicxx.so.12 -lib/libmpicxx.so.12.3.2 +lib/libmpicxx.so.12.4.1 %%FORTRAN%%lib/libmpifort.a %%FORTRAN%%lib/libmpifort.so %%FORTRAN%%lib/libmpifort.so.12 -%%FORTRAN%%lib/libmpifort.so.12.3.2 +%%FORTRAN%%lib/libmpifort.so.12.4.1 lib/libmpl.so lib/libopa.so libdata/pkgconfig/mpich.pc @@ -69,9 +70,7 @@ share/man/man3/MPIX_Comm_get_failed.3.gz share/man/man3/MPIX_Comm_get_stream.3.gz share/man/man3/MPIX_Comm_revoke.3.gz share/man/man3/MPIX_Comm_shrink.3.gz -share/man/man3/MPIX_Delete_error_class.3.gz -share/man/man3/MPIX_Delete_error_code.3.gz -share/man/man3/MPIX_Delete_error_string.3.gz +share/man/man3/MPIX_Comm_test_threadcomm.3.gz share/man/man3/MPIX_GPU_query_support.3.gz share/man/man3/MPIX_Grequest_class_allocate.3.gz share/man/man3/MPIX_Grequest_class_create.3.gz @@ -95,6 +94,10 @@ share/man/man3/MPIX_Stream_isend.3.gz share/man/man3/MPIX_Stream_progress.3.gz share/man/man3/MPIX_Stream_recv.3.gz share/man/man3/MPIX_Stream_send.3.gz +share/man/man3/MPIX_Threadcomm_finish.3.gz +share/man/man3/MPIX_Threadcomm_free.3.gz +share/man/man3/MPIX_Threadcomm_init.3.gz +share/man/man3/MPIX_Threadcomm_start.3.gz share/man/man3/MPIX_Type_iov.3.gz share/man/man3/MPIX_Type_iov_len.3.gz share/man/man3/MPIX_Wait_enqueue.3.gz @@ -138,6 +141,7 @@ share/man/man3/MPI_BAND.3.gz share/man/man3/MPI_BOR.3.gz share/man/man3/MPI_BOTTOM.3.gz share/man/man3/MPI_BSEND_OVERHEAD.3.gz +share/man/man3/MPI_BUFFER_AUTOMATIC.3.gz share/man/man3/MPI_BXOR.3.gz share/man/man3/MPI_BYTE.3.gz share/man/man3/MPI_Barrier.3.gz @@ -148,6 +152,8 @@ share/man/man3/MPI_Bsend.3.gz share/man/man3/MPI_Bsend_init.3.gz share/man/man3/MPI_Buffer_attach.3.gz share/man/man3/MPI_Buffer_detach.3.gz +share/man/man3/MPI_Buffer_flush.3.gz +share/man/man3/MPI_Buffer_iflush.3.gz share/man/man3/MPI_CART.3.gz share/man/man3/MPI_CHAR.3.gz share/man/man3/MPI_COMBINER_CONTIGUOUS.3.gz @@ -198,6 +204,8 @@ share/man/man3/MPI_Cart_sub.3.gz share/man/man3/MPI_Cartdim_get.3.gz share/man/man3/MPI_Close_port.3.gz share/man/man3/MPI_Comm_accept.3.gz +share/man/man3/MPI_Comm_attach_buffer.3.gz +share/man/man3/MPI_Comm_c2f.3.gz share/man/man3/MPI_Comm_call_errhandler.3.gz share/man/man3/MPI_Comm_compare.3.gz share/man/man3/MPI_Comm_connect.3.gz @@ -207,9 +215,12 @@ share/man/man3/MPI_Comm_create_from_group.3.gz share/man/man3/MPI_Comm_create_group.3.gz share/man/man3/MPI_Comm_create_keyval.3.gz share/man/man3/MPI_Comm_delete_attr.3.gz +share/man/man3/MPI_Comm_detach_buffer.3.gz share/man/man3/MPI_Comm_disconnect.3.gz share/man/man3/MPI_Comm_dup.3.gz share/man/man3/MPI_Comm_dup_with_info.3.gz +share/man/man3/MPI_Comm_f2c.3.gz +share/man/man3/MPI_Comm_flush_buffer.3.gz share/man/man3/MPI_Comm_free.3.gz share/man/man3/MPI_Comm_free_keyval.3.gz share/man/man3/MPI_Comm_get_attr.3.gz @@ -220,6 +231,7 @@ share/man/man3/MPI_Comm_get_parent.3.gz share/man/man3/MPI_Comm_group.3.gz share/man/man3/MPI_Comm_idup.3.gz share/man/man3/MPI_Comm_idup_with_info.3.gz +share/man/man3/MPI_Comm_iflush_buffer.3.gz share/man/man3/MPI_Comm_join.3.gz share/man/man3/MPI_Comm_rank.3.gz share/man/man3/MPI_Comm_remote_group.3.gz @@ -274,6 +286,7 @@ share/man/man3/MPI_ERR_COUNT.3.gz share/man/man3/MPI_ERR_DIMS.3.gz share/man/man3/MPI_ERR_DISP.3.gz share/man/man3/MPI_ERR_DUP_DATAREP.3.gz +share/man/man3/MPI_ERR_ERRHANDLER.3.gz share/man/man3/MPI_ERR_FILE.3.gz share/man/man3/MPI_ERR_FILE_EXISTS.3.gz share/man/man3/MPI_ERR_FILE_IN_USE.3.gz @@ -297,6 +310,7 @@ share/man/man3/MPI_ERR_OP.3.gz share/man/man3/MPI_ERR_OTHER.3.gz share/man/man3/MPI_ERR_PENDING.3.gz share/man/man3/MPI_ERR_PORT.3.gz +share/man/man3/MPI_ERR_PROC_ABORTED.3.gz share/man/man3/MPI_ERR_QUOTA.3.gz share/man/man3/MPI_ERR_RANK.3.gz share/man/man3/MPI_ERR_READ_ONLY.3.gz @@ -309,6 +323,7 @@ share/man/man3/MPI_ERR_RMA_SHARED.3.gz share/man/man3/MPI_ERR_RMA_SYNC.3.gz share/man/man3/MPI_ERR_ROOT.3.gz share/man/man3/MPI_ERR_SERVICE.3.gz +share/man/man3/MPI_ERR_SESSION.3.gz share/man/man3/MPI_ERR_SIZE.3.gz share/man/man3/MPI_ERR_SPAWN.3.gz share/man/man3/MPI_ERR_TAG.3.gz @@ -318,8 +333,11 @@ share/man/man3/MPI_ERR_TYPE.3.gz share/man/man3/MPI_ERR_UNKNOWN.3.gz share/man/man3/MPI_ERR_UNSUPPORTED_DATAREP.3.gz share/man/man3/MPI_ERR_UNSUPPORTED_OPERATION.3.gz +share/man/man3/MPI_ERR_VALUE_TOO_LARGE.3.gz share/man/man3/MPI_ERR_WIN.3.gz +share/man/man3/MPI_Errhandler_c2f.3.gz share/man/man3/MPI_Errhandler_create.3.gz +share/man/man3/MPI_Errhandler_f2c.3.gz share/man/man3/MPI_Errhandler_free.3.gz share/man/man3/MPI_Errhandler_get.3.gz share/man/man3/MPI_Errhandler_set.3.gz @@ -436,6 +454,7 @@ share/man/man3/MPI_Get_address.3.gz share/man/man3/MPI_Get_count.3.gz share/man/man3/MPI_Get_elements.3.gz share/man/man3/MPI_Get_elements_x.3.gz +share/man/man3/MPI_Get_hw_resource_info.3.gz share/man/man3/MPI_Get_library_version.3.gz share/man/man3/MPI_Get_processor_name.3.gz share/man/man3/MPI_Get_version.3.gz @@ -447,9 +466,11 @@ share/man/man3/MPI_Graph_neighbors_count.3.gz share/man/man3/MPI_Graphdims_get.3.gz share/man/man3/MPI_Grequest_complete.3.gz share/man/man3/MPI_Grequest_start.3.gz +share/man/man3/MPI_Group_c2f.3.gz share/man/man3/MPI_Group_compare.3.gz share/man/man3/MPI_Group_difference.3.gz share/man/man3/MPI_Group_excl.3.gz +share/man/man3/MPI_Group_f2c.3.gz share/man/man3/MPI_Group_free.3.gz share/man/man3/MPI_Group_from_session_pset.3.gz share/man/man3/MPI_Group_incl.3.gz @@ -497,10 +518,12 @@ share/man/man3/MPI_Ineighbor_allgatherv.3.gz share/man/man3/MPI_Ineighbor_alltoall.3.gz share/man/man3/MPI_Ineighbor_alltoallv.3.gz share/man/man3/MPI_Ineighbor_alltoallw.3.gz +share/man/man3/MPI_Info_c2f.3.gz share/man/man3/MPI_Info_create.3.gz share/man/man3/MPI_Info_create_env.3.gz share/man/man3/MPI_Info_delete.3.gz share/man/man3/MPI_Info_dup.3.gz +share/man/man3/MPI_Info_f2c.3.gz share/man/man3/MPI_Info_free.3.gz share/man/man3/MPI_Info_get.3.gz share/man/man3/MPI_Info_get_nkeys.3.gz @@ -571,6 +594,8 @@ share/man/man3/MPI_MODE_RDWR.3.gz share/man/man3/MPI_MODE_SEQUENTIAL.3.gz share/man/man3/MPI_MODE_UNIQUE_OPEN.3.gz share/man/man3/MPI_MODE_WRONLY.3.gz +share/man/man3/MPI_Message_c2f.3.gz +share/man/man3/MPI_Message_f2c.3.gz share/man/man3/MPI_Mprobe.3.gz share/man/man3/MPI_Mrecv.3.gz share/man/man3/MPI_NO_OP.3.gz @@ -591,8 +616,10 @@ share/man/man3/MPI_OP_NULL.3.gz share/man/man3/MPI_ORDER_C.3.gz share/man/man3/MPI_ORDER_FORTRAN.3.gz share/man/man3/MPI_Offset.3.gz +share/man/man3/MPI_Op_c2f.3.gz share/man/man3/MPI_Op_commutative.3.gz share/man/man3/MPI_Op_create.3.gz +share/man/man3/MPI_Op_f2c.3.gz share/man/man3/MPI_Op_free.3.gz share/man/man3/MPI_Open_port.3.gz share/man/man3/MPI_PACKED.3.gz @@ -631,8 +658,16 @@ share/man/man3/MPI_Reduce_scatter_block_init.3.gz share/man/man3/MPI_Reduce_scatter_init.3.gz share/man/man3/MPI_Register_datarep.3.gz share/man/man3/MPI_Register_datarep_c.3.gz +share/man/man3/MPI_Remove_error_class.3.gz +share/man/man3/MPI_Remove_error_code.3.gz +share/man/man3/MPI_Remove_error_string.3.gz +share/man/man3/MPI_Request_c2f.3.gz +share/man/man3/MPI_Request_f2c.3.gz share/man/man3/MPI_Request_free.3.gz share/man/man3/MPI_Request_get_status.3.gz +share/man/man3/MPI_Request_get_status_all.3.gz +share/man/man3/MPI_Request_get_status_any.3.gz +share/man/man3/MPI_Request_get_status_some.3.gz share/man/man3/MPI_Rget.3.gz share/man/man3/MPI_Rget_accumulate.3.gz share/man/man3/MPI_Rput.3.gz @@ -661,23 +696,37 @@ share/man/man3/MPI_Send.3.gz share/man/man3/MPI_Send_init.3.gz share/man/man3/MPI_Sendrecv.3.gz share/man/man3/MPI_Sendrecv_replace.3.gz +share/man/man3/MPI_Session_attach_buffer.3.gz +share/man/man3/MPI_Session_c2f.3.gz share/man/man3/MPI_Session_call_errhandler.3.gz share/man/man3/MPI_Session_create_errhandler.3.gz +share/man/man3/MPI_Session_detach_buffer.3.gz +share/man/man3/MPI_Session_f2c.3.gz share/man/man3/MPI_Session_finalize.3.gz +share/man/man3/MPI_Session_flush_buffer.3.gz share/man/man3/MPI_Session_get_errhandler.3.gz share/man/man3/MPI_Session_get_info.3.gz share/man/man3/MPI_Session_get_nth_pset.3.gz share/man/man3/MPI_Session_get_num_psets.3.gz share/man/man3/MPI_Session_get_pset_info.3.gz +share/man/man3/MPI_Session_iflush_buffer.3.gz share/man/man3/MPI_Session_init.3.gz share/man/man3/MPI_Session_set_errhandler.3.gz share/man/man3/MPI_Ssend.3.gz share/man/man3/MPI_Ssend_init.3.gz share/man/man3/MPI_Start.3.gz share/man/man3/MPI_Startall.3.gz +share/man/man3/MPI_Status_c2f.3.gz +share/man/man3/MPI_Status_f2c.3.gz +share/man/man3/MPI_Status_get_error.3.gz +share/man/man3/MPI_Status_get_source.3.gz +share/man/man3/MPI_Status_get_tag.3.gz share/man/man3/MPI_Status_set_cancelled.3.gz share/man/man3/MPI_Status_set_elements.3.gz share/man/man3/MPI_Status_set_elements_x.3.gz +share/man/man3/MPI_Status_set_error.3.gz +share/man/man3/MPI_Status_set_source.3.gz +share/man/man3/MPI_Status_set_tag.3.gz share/man/man3/MPI_TAG.3.gz share/man/man3/MPI_TAG_UB.3.gz share/man/man3/MPI_THREAD_FUNNELED.3.gz @@ -699,6 +748,7 @@ share/man/man3/MPI_T_BIND_MPI_INFO.3.gz share/man/man3/MPI_T_BIND_MPI_MESSAGE.3.gz share/man/man3/MPI_T_BIND_MPI_OP.3.gz share/man/man3/MPI_T_BIND_MPI_REQUEST.3.gz +share/man/man3/MPI_T_BIND_MPI_SESSION.3.gz share/man/man3/MPI_T_BIND_MPI_WIN.3.gz share/man/man3/MPI_T_BIND_NO_OBJECT.3.gz share/man/man3/MPI_T_CVAR_HANDLE_NULL.3.gz @@ -803,6 +853,7 @@ share/man/man3/MPI_Testall.3.gz share/man/man3/MPI_Testany.3.gz share/man/man3/MPI_Testsome.3.gz share/man/man3/MPI_Topo_test.3.gz +share/man/man3/MPI_Type_c2f.3.gz share/man/man3/MPI_Type_commit.3.gz share/man/man3/MPI_Type_contiguous.3.gz share/man/man3/MPI_Type_create_darray.3.gz @@ -817,6 +868,7 @@ share/man/man3/MPI_Type_create_subarray.3.gz share/man/man3/MPI_Type_delete_attr.3.gz share/man/man3/MPI_Type_dup.3.gz share/man/man3/MPI_Type_extent.3.gz +share/man/man3/MPI_Type_f2c.3.gz share/man/man3/MPI_Type_free.3.gz share/man/man3/MPI_Type_free_keyval.3.gz share/man/man3/MPI_Type_get_attr.3.gz @@ -827,6 +879,7 @@ share/man/man3/MPI_Type_get_extent_x.3.gz share/man/man3/MPI_Type_get_name.3.gz share/man/man3/MPI_Type_get_true_extent.3.gz share/man/man3/MPI_Type_get_true_extent_x.3.gz +share/man/man3/MPI_Type_get_value_index.3.gz share/man/man3/MPI_Type_hindexed.3.gz share/man/man3/MPI_Type_hvector.3.gz share/man/man3/MPI_Type_indexed.3.gz @@ -884,6 +937,7 @@ share/man/man3/MPI_Waitsome.3.gz share/man/man3/MPI_Win_allocate.3.gz share/man/man3/MPI_Win_allocate_shared.3.gz share/man/man3/MPI_Win_attach.3.gz +share/man/man3/MPI_Win_c2f.3.gz share/man/man3/MPI_Win_call_errhandler.3.gz share/man/man3/MPI_Win_complete.3.gz share/man/man3/MPI_Win_create.3.gz @@ -892,6 +946,7 @@ share/man/man3/MPI_Win_create_errhandler.3.gz share/man/man3/MPI_Win_create_keyval.3.gz share/man/man3/MPI_Win_delete_attr.3.gz share/man/man3/MPI_Win_detach.3.gz +share/man/man3/MPI_Win_f2c.3.gz share/man/man3/MPI_Win_fence.3.gz share/man/man3/MPI_Win_flush.3.gz share/man/man3/MPI_Win_flush_all.3.gz @@ -921,5 +976,3 @@ share/man/man3/MPI_Win_wait.3.gz share/man/man3/MPI_Wtick.3.gz share/man/man3/MPI_Wtime.3.gz share/man/man3/mpiconsts.3.gz -%%PORTDOCS%%%%DOCSDIR%%/install.pdf -%%PORTDOCS%%%%DOCSDIR%%/user.pdf -- cgit v1.2.3