Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Oct 2018 01:55:31 +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: r481867 - in head/math: . py-primme py-primme/files
Message-ID:  <201810120155.w9C1tVsq077262@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Fri Oct 12 01:55:30 2018
New Revision: 481867
URL: https://svnweb.freebsd.org/changeset/ports/481867

Log:
  New port: math/py-primme: PRIMME wrapper for Python

Added:
  head/math/py-primme/
  head/math/py-primme/Makefile   (contents, props changed)
  head/math/py-primme/distinfo   (contents, props changed)
  head/math/py-primme/files/
  head/math/py-primme/files/patch-setup.py   (contents, props changed)
  head/math/py-primme/pkg-descr   (contents, props changed)
Modified:
  head/math/Makefile

Modified: head/math/Makefile
==============================================================================
--- head/math/Makefile	Fri Oct 12 01:16:48 2018	(r481866)
+++ head/math/Makefile	Fri Oct 12 01:55:30 2018	(r481867)
@@ -720,6 +720,7 @@
     SUBDIR += py-petsc4py
     SUBDIR += py-piranha
     SUBDIR += py-plastex
+    SUBDIR += py-primme
     SUBDIR += py-probstat
     SUBDIR += py-pyFFTW
     SUBDIR += py-pyasp

Added: head/math/py-primme/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/py-primme/Makefile	Fri Oct 12 01:55:30 2018	(r481867)
@@ -0,0 +1,32 @@
+# $FreeBSD$
+
+PORTNAME=	primme
+DISTVERSION=	2.1.5.20181011 # need the latest changes, but github repo is mistagged, no regular github tag available
+CATEGORIES=	math python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	PRIMME wrapper for Python
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/../COPYING.txt
+
+BUILD_DEPENDS=	${PYNUMPY}
+LIB_DEPENDS=	libprimme.so:math/primme
+RUN_DEPENDS=	${PYNUMPY}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}nose>=0:devel/py-nose@${PY_FLAVOR}
+
+USES=		fortran gmake localbase:ldflags python shebangfix
+SHEBANG_FILES=	examples.py tests.py
+USE_GITHUB=	yes
+GH_TAGNAME=	6a0fa27
+USE_PYTHON=	distutils autoplist
+TEST_TARGET=	test
+
+WRKSRC_SUBDIR=	Python
+BINARY_ALIAS=	python2=${PYTHON_CMD}
+
+post-test: # not sure why does the 'test' target tun examples and not tests
+	@cd ${WRKSRC} && ${PYTHON_CMD} ${WRKSRC}/tests.py
+
+.include <bsd.port.mk>

Added: head/math/py-primme/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/py-primme/distinfo	Fri Oct 12 01:55:30 2018	(r481867)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1539307207
+SHA256 (primme-primme-2.1.5.20181011-6a0fa27_GH0.tar.gz) = 8f662a7c41d5bfb7910ccb9bbcb7f06f1191fc7c7a9d41fb695e9b13438bcb79
+SIZE (primme-primme-2.1.5.20181011-6a0fa27_GH0.tar.gz) = 5511173

Added: head/math/py-primme/files/patch-setup.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/py-primme/files/patch-setup.py	Fri Oct 12 01:55:30 2018	(r481867)
@@ -0,0 +1,60 @@
+--- setup.py.orig	2018-10-11 23:38:33 UTC
++++ setup.py
+@@ -15,31 +16,33 @@ def get_numpy_options():
+    numpy_include = numpy.get_include()
+ 
+    # Obtain BLAS/LAPACK linking options
+-   lapack_info = get_info('lapack_opt')
+-   blas_info = get_info('blas_opt')
+-   using_atlas = False
+-   using_f77blas = False
+-   using_lapack = False
+-   for l in lapack_info.get('libraries', []) + blas_info.get('libraries', []):
+-      if "atlas" in l: using_atlas = True
+-      if "f77blas" in l: using_f77blas = True
+-      if "lapack" in l: using_lapack = True
+-   if using_atlas and (not using_f77blas or not using_lapack):
+-      lapack_info = get_info('atlas')
+-      # ATLAS notices an incomplete LAPACK by not setting language to f77
+-      complete_lapack = lapack_info.get('language', "") == "f77"
+-      if complete_lapack:
+-         blas_info = {}
+-      else:
+-         # If ATLAS has an incomplete LAPACK, use a regular one
+-         blas_info = get_info('atlas_blas')
+-         lapack_info = get_info('lapack')
++   #lapack_info = get_info('lapack_opt')
++   #blas_info = get_info('blas_opt')
++   #using_atlas = False
++   #using_f77blas = False
++   #using_lapack = False
++   #for l in lapack_info.get('libraries', []) + blas_info.get('libraries', []):
++   #   if "atlas" in l: using_atlas = True
++   #   if "f77blas" in l: using_f77blas = True
++   #   if "lapack" in l: using_lapack = True
++   #if using_atlas and (not using_f77blas or not using_lapack):
++   #   lapack_info = get_info('atlas')
++   #   # ATLAS notices an incomplete LAPACK by not setting language to f77
++   #   complete_lapack = lapack_info.get('language', "") == "f77"
++   #   if complete_lapack:
++   #      blas_info = {}
++   #   else:
++   #      # If ATLAS has an incomplete LAPACK, use a regular one
++   #      blas_info = get_info('atlas_blas')
++   #      lapack_info = get_info('lapack')
+    
+-   blaslapack_libraries = lapack_info.get('libraries', []) + blas_info.get('libraries', [])
+-   blaslapack_library_dirs = lapack_info.get('library_dirs', []) + blas_info.get('library_dirs', [])
+-   blaslapack_extra_link_args = lapack_info.get('extra_link_args', []) + blas_info.get('extra_link_args', [])
+-   if not blaslapack_libraries and not blaslapack_extra_link_args:
+-       blaslapack_libraries = ['lapack', 'blas']
++   #blaslapack_libraries = lapack_info.get('libraries', []) + blas_info.get('libraries', [])
++   #blaslapack_library_dirs = lapack_info.get('library_dirs', []) + blas_info.get('library_dirs', [])
++   #blaslapack_extra_link_args = lapack_info.get('extra_link_args', []) + blas_info.get('extra_link_args', [])
++   #if not blaslapack_libraries and not blaslapack_extra_link_args:
++   blaslapack_libraries = []
++   blaslapack_extra_link_args = []
++   blaslapack_library_dirs = []
+ 
+    return dict(
+                    include_dirs = [numpy_include, "primme/include", "primme/src/include"],

Added: head/math/py-primme/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/py-primme/pkg-descr	Fri Oct 12 01:55:30 2018	(r481867)
@@ -0,0 +1,5 @@
+The python binding for PRIMME, PReconditioned Iterative MultiMethod Eigensolver
+for solving symmetric/Hermitian eigenvalue problems and singular value
+problems.
+
+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?201810120155.w9C1tVsq077262>