From owner-svn-ports-all@freebsd.org Mon Sep 30 08:17:44 2019 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BA02FFFD08; Mon, 30 Sep 2019 08:17:44 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46hZyc4MNRz4Ybh; Mon, 30 Sep 2019 08:17:44 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 78F092798D; Mon, 30 Sep 2019 08:17:44 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8U8HiQr038622; Mon, 30 Sep 2019 08:17:44 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8U8HiOk038620; Mon, 30 Sep 2019 08:17:44 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201909300817.x8U8HiOk038620@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Mon, 30 Sep 2019 08:17:44 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r513331 - head/math/suitesparse X-SVN-Group: ports-head X-SVN-Commit-Author: jbeich X-SVN-Commit-Paths: head/math/suitesparse X-SVN-Commit-Revision: 513331 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Sep 2019 08:17:44 -0000 Author: jbeich Date: Mon Sep 30 08:17:43 2019 New Revision: 513331 URL: https://svnweb.freebsd.org/changeset/ports/513331 Log: math/suitesparse: simplify - Allow using Clang again (base libomp.so or OpenMP disabled) - Respect C++ library if using GCC (must be libc++ on Clang architectures) - Respect CFLAGS/CXXFLAGS in subdirectories using CMake - Respect BLAS/LAPACK choice (actually use OpenBLAS) - Enable Intel threading building blocks support - Switch to vendor build/install targets - Adjust plist for new items (GraphBLAS, Mongoose, DOCS) - Skip running demos during build PR: 240899 Tested by: pkubaj Approved by: fortran (thierry) MFH: 2019Q4 Modified: head/math/suitesparse/Makefile (contents, props changed) head/math/suitesparse/pkg-plist (contents, props changed) Modified: head/math/suitesparse/Makefile ============================================================================== --- head/math/suitesparse/Makefile Mon Sep 30 08:08:25 2019 (r513330) +++ head/math/suitesparse/Makefile Mon Sep 30 08:17:43 2019 (r513331) @@ -3,7 +3,7 @@ PORTNAME= suitesparse DISTVERSION= 5.4.0 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= math MASTER_SITES= http://faculty.cse.tamu.edu/davis/SuiteSparse/ \ https://mirror.sobukus.de/files/src/suitesparse/ @@ -15,83 +15,57 @@ COMMENT= SuiteSparse is a set of packages for sparse m LICENSE= GPLv2 LGPL21 LICENSE_COMB= dual -LIB_DEPENDS= libmetis.so:math/metis \ - liblapack.so:math/lapack +LIB_DEPENDS= libmetis.so:math/metis -USES= cmake:insource compiler:openmp fortran gmake +USES= cmake:insource compiler:${OPENMP}c++11-lib fortran gmake localbase:ldflags USE_LDCONFIG= yes - WRKSRC= ${WRKDIR}/SuiteSparse -WRKSRC_SHARED= ${WRKSRC}_shared +ALL_TARGET= library # skip demos +INSTALL_TARGET= install # skip USES=cmake +MAKE_ENV= BLAS="${BLASLIB}" LAPACK="${LAPACKLIB}" \ + MY_METIS_LIB="-lmetis" \ + JOBS="${MAKE_JOBS_NUMBER}" \ + CMAKE_OPTIONS='${CMAKE_ARGS}' \ + INSTALL="${STAGEDIR}${PREFIX}" \ + INSTALL_DOC="${STAGEDIR}${DOCSDIR}" \ + INSTALL_INCLUDE="${STAGEDIR}${PREFIX}/include/${PORTNAME}" +CMAKE_ARGS= -DCMAKE_INSTALL_INCLUDEDIR:PATH="include/${PORTNAME}" +LDFLAGS+= -L${WRKSRC}/lib # prevent linking with shared libs from the preinstalled older versions +CONFLICTS_INSTALL= mongoose plinkseq # bin/mongoose + +OPTIONS_DEFINE= DOCS OPENMP TBB OPTIONS_RADIO= BLAS -OPTIONS_RADIO_BLAS= OPENBLAS NETLIB ATLAS -OPTIONS_DEFAULT= OPENBLAS +OPTIONS_RADIO_BLAS= ATLAS GOTOBLAS NETLIB OPENBLAS +OPTIONS_DEFAULT= OPENBLAS OPENMP TBB -OPENBLAS_USES= blaslapack:openblas -NETLIB_USES= blaslapack:netlib -ATLAS_USES= blaslapack:atlas +ATLAS_USES= blaslapack:atlas +GOTOBLAS_DESC= Goto blas implementation +GOTOBLAS_USES= blaslapack:gotoblas +NETLIB_USES= blaslapack:netlib +OPENBLAS_USES= blaslapack:openblas -.include - -.if ${ARCH} == "sparc64" -PICFLAG?= -fPIC -.else -PICFLAG?= -fpic +OPENMP_USES= compiler:openmp +OPENMP_MAKE_ENV_OFF= CFOPENMP= +.if !exists(/usr/include/omp.h) +# XXX ports/199603 + ports/210337 +OPENMP_VARS= OPENMP=gcc- .endif -METIS= ${LOCALBASE}/lib/libmetis.a -METIS_PATH= ${LOCALBASE}/include/metis -CHOLMOD_CONFIG= -CFLAGS+= -I${LOCALBASE}/include -CXXFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${WRKSRC}/lib # prevent linking with shared libs from the preinstalled older versions -MAKE_ARGS+= JOBS="${MAKE_JOBS_NUMBER}" -MAKE_ARGS+= MY_METIS_LIB="-L${LOCALBASE}/lib -lmetis $(LDFLAGS)" +TBB_DESC= Intel threading building blocks +TBB_LIB_DEPENDS= libtbb.so:devel/tbb +TBB_MAKE_ENV= TBB="-ltbb" SPQR_CONFIG="-DHAVE_TBB" -pre-configure: - ${RM} -r ${WRKSRC}/metis-5.1.0 - ${FIND} -X ${WRKSRC} -type f -name 'Makefile' -or -name '*.mk' | ${XARGS} \ - ${REINPLACE_CMD} \ - -e '\|^AR =|s|ar|${AR}|' \ - -e '\|^ *BLAS =|s|=.*|= ${LDFLAGS} ${BLASLIB}|' \ - -e '\|^CC =|d' \ - -e '\|^CFLAGS =|{s|-O[1-9]\{0,1\}||g;s|=|= ${CFLAGS} $${PICFLAG} |;}' \ - -e '\|^CHOLMOD_CONFIG =|s|=.*|= ${CHOLMOD_CONFIG}|' \ - -e '\|^CPLUSPLUS =|s|=.*|= ${CXX}|' \ - -e '\|^F77 =|d' \ - -e '\|^F77FLAGS =|s|=.*|= ${FFLAGS} $${PICFLAG}|' \ - -e '\|^LAPACK =|s|=.*|= ${LDFLAGS} ${LAPACKLIB}|' \ - -e '\|^METIS =|s|=.*|= ${METIS}|' \ - -e '\|^METIS_PATH =|s|=.*|= ${METIS_PATH}|' \ - -e 's|-I\$$(METIS_PATH)/Lib|-I${METIS_PATH}|' \ - -e '\|^RANLIB =|s|ranlib|${RANLIB}|' \ - -e '\|^SPQR_CONFIG =|s|=.*|= ${CHOLMOD_CONFIG}|' \ - -e 's|# MAKE = gmake|MAKE = gmake|g' \ - -e 's|/usr/local|${LOCALBASE}|g' - ${CP} -r ${WRKSRC} ${WRKSRC_SHARED} - ${FIND} -X ${WRKSRC_SHARED} -type f -name 'Makefile' -or -name '*.mk' | ${XARGS} \ - ${REINPLACE_CMD} -e 's|$$(CFLAGS)|$$(CFLAGS) $$(PICFLAG)|g' +post-extract: + ${RM} -r ${WRKSRC}/metis-* -do-configure: - @${DO_NADA} +do-configure: # skip USES=cmake -do-build: - cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} PICFLAG= \ - LD_LIBRARY_PATH=${WRKDIR}/SuiteSparse/lib ${MAKE_CMD} ${MAKE_ARGS} - cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} PICFLAG=${PICFLAG} \ - LD_LIBRARY_PATH=${WRKDIR}/SuiteSparse/lib ${MAKE_CMD} ${MAKE_ARGS} +post-patch-OPENMP-off: + @${REINPLACE_CMD} -e '/find_package.*OpenMP/d' \ + ${WRKSRC}/GraphBLAS/CMakeLists.txt -do-install: - @${MKDIR} ${STAGEDIR}${PREFIX}/include/suitesparse - cd ${STAGEDIR}${PREFIX}/include && ${LN} -s suitesparse ufsparse -.for d in AMD BTF CAMD CCOLAMD CHOLMOD COLAMD CSparse CXSparse KLU SPQR UMFPACK # CSparse: shared lib bot built - ${INSTALL_DATA} ${WRKSRC}/${d}/Include/*.h ${STAGEDIR}${PREFIX}/include/suitesparse -.endfor - ${INSTALL_DATA} ${WRKSRC}/SuiteSparse_config/SuiteSparse_config.h ${STAGEDIR}${PREFIX}/include/suitesparse - ${INSTALL_DATA} ${WRKSRC}/UMFPACK/Source/umf_config.h ${STAGEDIR}${PREFIX}/include/suitesparse - ${INSTALL_DATA} ${WRKSRC}/SPQR/Include/*.hpp ${STAGEDIR}${PREFIX}/include/suitesparse - ${INSTALL_DATA} ${WRKSRC_SHARED}/lib/*.so* ${STAGEDIR}${PREFIX}/lib/ - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so* +post-install: + @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/*.so .include Modified: head/math/suitesparse/pkg-plist ============================================================================== --- head/math/suitesparse/pkg-plist Mon Sep 30 08:08:25 2019 (r513330) +++ head/math/suitesparse/pkg-plist Mon Sep 30 08:17:43 2019 (r513331) @@ -1,13 +1,14 @@ +bin/mongoose +include/suitesparse/GraphBLAS.h +include/suitesparse/Mongoose.hpp +include/suitesparse/RBio.h include/suitesparse/SuiteSparseQR.hpp include/suitesparse/SuiteSparseQR_C.h include/suitesparse/SuiteSparseQR_definitions.h include/suitesparse/SuiteSparse_config.h include/suitesparse/amd.h -include/suitesparse/amd_internal.h include/suitesparse/btf.h -include/suitesparse/btf_internal.h include/suitesparse/camd.h -include/suitesparse/camd_internal.h include/suitesparse/ccolamd.h include/suitesparse/cholmod.h include/suitesparse/cholmod_blas.h @@ -20,7 +21,6 @@ include/suitesparse/cholmod_core.h include/suitesparse/cholmod_function.h include/suitesparse/cholmod_gpu.h include/suitesparse/cholmod_gpu_kernels.h -include/suitesparse/cholmod_internal.h include/suitesparse/cholmod_io64.h include/suitesparse/cholmod_matrixops.h include/suitesparse/cholmod_modify.h @@ -30,11 +30,8 @@ include/suitesparse/cholmod_template.h include/suitesparse/colamd.h include/suitesparse/cs.h include/suitesparse/klu.h -include/suitesparse/klu_internal.h -include/suitesparse/klu_version.h +include/suitesparse/ldl.h include/suitesparse/spqr.hpp -include/suitesparse/spqrgpu.hpp -include/suitesparse/umf_config.h include/suitesparse/umfpack.h include/suitesparse/umfpack_col_to_triplet.h include/suitesparse/umfpack_defaults.h @@ -68,7 +65,6 @@ include/suitesparse/umfpack_timer.h include/suitesparse/umfpack_transpose.h include/suitesparse/umfpack_triplet_to_col.h include/suitesparse/umfpack_wsolve.h -include/ufsparse lib/libamd.so lib/libamd.so.2 lib/libamd.so.2.4.6 @@ -90,12 +86,20 @@ lib/libcolamd.so.2.9.6 lib/libcxsparse.so lib/libcxsparse.so.3 lib/libcxsparse.so.3.2.0 +lib/libgraphblas.a +lib/libgraphblas.so +lib/libgraphblas.so.2 +lib/libgraphblas.so.2.2.2 lib/libklu.so lib/libklu.so.1 lib/libklu.so.1.3.8 lib/libldl.so lib/libldl.so.2 lib/libldl.so.2.2.6 +lib/libmongoose.a +lib/libmongoose.so +lib/libmongoose.so.2 +lib/libmongoose.so.2.0.3 lib/librbio.so lib/librbio.so.2 lib/librbio.so.2.2.6 @@ -108,3 +112,25 @@ lib/libsuitesparseconfig.so.5.4.0 lib/libumfpack.so lib/libumfpack.so.5 lib/libumfpack.so.5.7.8 +%%PORTDOCS%%%%DOCSDIR%%/AMD_README.txt +%%PORTDOCS%%%%DOCSDIR%%/AMD_UserGuide.pdf +%%PORTDOCS%%%%DOCSDIR%%/BTF_README.txt +%%PORTDOCS%%%%DOCSDIR%%/CAMD_README.txt +%%PORTDOCS%%%%DOCSDIR%%/CAMD_UserGuide.pdf +%%PORTDOCS%%%%DOCSDIR%%/CCOLAMD_README.txt +%%PORTDOCS%%%%DOCSDIR%%/CHOLMOD_README.txt +%%PORTDOCS%%%%DOCSDIR%%/CHOLMOD_UserGuide.pdf +%%PORTDOCS%%%%DOCSDIR%%/COLAMD_README.txt +%%PORTDOCS%%%%DOCSDIR%%/CXSPARSE_README.txt +%%PORTDOCS%%%%DOCSDIR%%/KLU_README.txt +%%PORTDOCS%%%%DOCSDIR%%/KLU_UserGuide.pdf +%%PORTDOCS%%%%DOCSDIR%%/LDL_README.txt +%%PORTDOCS%%%%DOCSDIR%%/RBIO_README.txt +%%PORTDOCS%%%%DOCSDIR%%/SPQR_README.txt +%%PORTDOCS%%%%DOCSDIR%%/SUITESPARSECONFIG_README.txt +%%PORTDOCS%%%%DOCSDIR%%/SuiteSparse_README.txt +%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_QuickStart.pdf +%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_README.txt +%%PORTDOCS%%%%DOCSDIR%%/UMFPACK_UserGuide.pdf +%%PORTDOCS%%%%DOCSDIR%%/ldl_userguide.pdf +%%PORTDOCS%%%%DOCSDIR%%/spqr_user_guide.pdf