From owner-svn-ports-all@freebsd.org Tue Oct 9 08:24:05 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6BC8910C539B; Tue, 9 Oct 2018 08:24:05 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 225927CAEC; Tue, 9 Oct 2018 08:24:05 +0000 (UTC) (envelope-from yuri@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 1CBAA7947; Tue, 9 Oct 2018 08:24:05 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w998O4Iq029182; Tue, 9 Oct 2018 08:24:04 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w998O2GO029172; Tue, 9 Oct 2018 08:24:02 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201810090824.w998O2GO029172@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Tue, 9 Oct 2018 08:24:02 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r481610 - in head/math: . primme primme/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/math: . primme primme/files X-SVN-Commit-Revision: 481610 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.27 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: Tue, 09 Oct 2018 08:24:05 -0000 Author: yuri Date: Tue Oct 9 08:24:02 2018 New Revision: 481610 URL: https://svnweb.freebsd.org/changeset/ports/481610 Log: New port: math/primme: Iterative eigensolver for symmetric and hermitian matrices Added: head/math/primme/ head/math/primme/Makefile (contents, props changed) head/math/primme/distinfo (contents, props changed) head/math/primme/files/ head/math/primme/files/patch-examples_Makefile (contents, props changed) head/math/primme/files/patch-src_Makefile (contents, props changed) head/math/primme/files/patch-src_eigs_primme__interface.c (contents, props changed) head/math/primme/files/patch-src_include_template.h (contents, props changed) head/math/primme/files/patch-tests_COMMON_num.h (contents, props changed) head/math/primme/files/patch-tests_Makefile (contents, props changed) head/math/primme/pkg-descr (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Tue Oct 9 07:56:25 2018 (r481609) +++ head/math/Makefile Tue Oct 9 08:24:02 2018 (r481610) @@ -656,6 +656,7 @@ SUBDIR += plplot SUBDIR += plplot-ada SUBDIR += primegen + SUBDIR += primme SUBDIR += prng SUBDIR += proofgeneral SUBDIR += pspp Added: head/math/primme/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/Makefile Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,46 @@ +# $FreeBSD$ + +PORTNAME= primme +DISTVERSIONPREFIX= v +DISTVERSION= 2.1 +CATEGORIES= math + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Iterative eigensolver for symmetric and hermitian matrices + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/COPYING.txt + +LIB_DEPENDS= libblas.so:math/blas \ + liblapack.so:math/lapack +TEST_DEPENDS= gfortran${GCC_DEFAULT}:lang/gcc${GCC_DEFAULT} + +USES= gmake localbase:ldflags +USE_GITHUB= yes +MAKEFILE= makefile +ALL_TARGET= solib +USE_LDCONFIG= yes + +BINARY_ALIAS= make=${GMAKE} + +CFLAGS+= -fPIC +LDFLAGS+= ${LOCALBASE}/lib/liblapack.so ${LOCALBASE}/lib/libblas.so + +TEST_ENV= ${MAKE_ENV} F77=gfortran${GCC_DEFAULT} FLDR=gfortran${GCC_DEFAULT} \ + LDFLAGS="-lm -Wl,-rpath=${LOCALBASE}/lib/gcc${GCC_DEFAULT} ${LOCALBASE}/lib/gcc${GCC_DEFAULT}/libgcc_s.so" \ + USE_MPI=no USE_PETSC=no PETSC_DIR=${LOCALBASE} +TEST_TARGET= all_tests test + +PLIST_FILES= include/primme.h \ + include/primme_eigs.h \ + include/primme_eigs_f77.h \ + include/primme_f77.h \ + include/primme_svds.h \ + include/primme_svds_f77.h \ + lib/libprimme.so + +do-install: + cd ${WRKSRC} && ${COPYTREE_SHARE} include ${STAGEDIR}${PREFIX} + ${INSTALL_LIB} ${WRKSRC}/lib/lib${PORTNAME}.so ${STAGEDIR}${PREFIX}/lib + +.include Added: head/math/primme/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/distinfo Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,3 @@ +TIMESTAMP = 1539019293 +SHA256 (primme-primme-v2.1_GH0.tar.gz) = edc924250d464f51d0f529aaa77d8b741411b4453b3423fa663a65732055467b +SIZE (primme-primme-v2.1_GH0.tar.gz) = 6071172 Added: head/math/primme/files/patch-examples_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/files/patch-examples_Makefile Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,11 @@ +--- examples/Makefile.orig 2017-04-11 04:35:01 UTC ++++ examples/Makefile +@@ -8,7 +8,7 @@ include ../Link_flags + + override INCLUDE += -I../include + override FINCLUDE += -I../include +-LIBDIRS += -L../lib ++LIBDIRS += ../lib/libprimme.so + + EXAMPLES_C = ex_eigs_dseq ex_eigs_zseq ex_svds_dseq ex_svds_zseq + EXAMPLES_CXX = ex_eigs_zseqxx ex_svds_zseqxx Added: head/math/primme/files/patch-src_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/files/patch-src_Makefile Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,11 @@ +--- src/Makefile.orig 2018-10-09 07:03:22 UTC ++++ src/Makefile +@@ -89,7 +89,7 @@ auto_headers: $(AUTOMATED_HEADERS_LINALG + $(RANLIB) $@ + + ../lib/$(SOLIBRARY): ../lib/$(LIBRARY) +- $(CC) -shared -o ../lib/$(SOLIBRARY) -Wl,--whole-archive ../lib/$(LIBRARY) -Wl,--no-whole-archive ++ $(CC) -shared -o ../lib/$(SOLIBRARY) -Wl,--whole-archive ../lib/$(LIBRARY) -Wl,--no-whole-archive $(LDFLAGS) + + # + # Generate CTAGS Added: head/math/primme/files/patch-src_eigs_primme__interface.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/files/patch-src_eigs_primme__interface.c Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,11 @@ +--- src/eigs/primme_interface.c.orig 2018-10-08 17:26:04 UTC ++++ src/eigs/primme_interface.c +@@ -36,7 +36,7 @@ + * + ******************************************************************************/ + +-#if !(defined (__APPLE__) && defined (__MACH__)) ++#if !(defined (__APPLE__) && defined (__MACH__)) && !defined(__FreeBSD__) + # include + #endif + #include /* mallocs, free */ Added: head/math/primme/files/patch-src_include_template.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/files/patch-src_include_template.h Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,11 @@ +--- src/include/template.h.orig 2018-10-08 17:27:07 UTC ++++ src/include/template.h +@@ -368,7 +368,7 @@ + * + **********************************************************************/ + +-#if !(defined (__APPLE__) && defined (__MACH__)) ++#if !(defined (__APPLE__) && defined (__MACH__)) && !defined(__FreeBSD__) + # include /* malloc */ + #endif + #include /* malloc, free */ Added: head/math/primme/files/patch-tests_COMMON_num.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/files/patch-tests_COMMON_num.h Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,11 @@ +--- tests/COMMON/num.h.orig 2018-10-08 17:28:33 UTC ++++ tests/COMMON/num.h +@@ -42,7 +42,7 @@ + #endif + #define Sprimme CONCAT(SCALAR_PRE,primme) + #define Sprimme_svds CONCAT(SCALAR_PRE,primme_svds) +-#if !(defined (__APPLE__) && defined (__MACH__)) ++#if !(defined (__APPLE__) && defined (__MACH__)) && !defined(__FreeBSD__) + # include /* malloc */ + #endif + #include /* malloc, free */ Added: head/math/primme/files/patch-tests_Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/files/patch-tests_Makefile Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,11 @@ +--- tests/Makefile.orig 2018-10-08 19:10:07 UTC ++++ tests/Makefile +@@ -9,7 +9,7 @@ include ../Link_flags + SOBJS= COMMON/shared_utils.o COMMON/ioandtest.o + COMMON_INCLUDE = -I./COMMON -I../include + override INCLUDE += $(COMMON_INCLUDE) +-LIBDIRS += -L../lib ++LIBDIRS += ../lib/libprimme.so + + USE_NATIVE ?= yes + USE_PETSC ?= $(if $(findstring undefined,$(origin PETSC_DIR)),no,yes) Added: head/math/primme/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/primme/pkg-descr Tue Oct 9 08:24:02 2018 (r481610) @@ -0,0 +1,10 @@ +PRIMME, pronounced as prime, computes a few eigenvalues and their corresponding +eigenvectors of a real symmetric or complex Hermitian matrix. It can also +compute singular values and vectors of a square or rectangular matrix. It can +find largest, smallest, or interior singular/eigenvalues and can use +preconditioning to accelerate convergence. It is especially optimized for large, +difficult problems, and can be a useful tool for both non-experts and experts. +PRIMME is written in C99, but complete interfaces are provided for Fortran 77, +MATLAB, Python, and R. + +WWW: http://www.cs.wm.edu/~andreas/software/