Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Oct 2018 08:24:02 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
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
Message-ID:  <201810090824.w998O2GO029172@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.port.mk>

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 <malloc.h>
+ #endif
+ #include <stdlib.h>   /* 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.h> /* malloc */
+ #endif
+ #include <stdlib.h>   /* 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.h> /* malloc */
+ #endif
+ #include <stdlib.h>   /* 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/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810090824.w998O2GO029172>