From owner-svn-ports-head@freebsd.org Sun Apr 1 18:49:20 2018 Return-Path: Delivered-To: svn-ports-head@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 391CAF74297; Sun, 1 Apr 2018 18:49:20 +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 E0FF77895B; Sun, 1 Apr 2018 18:49:19 +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 D6BAA2B24; Sun, 1 Apr 2018 18:49:19 +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 w31InJ8g097883; Sun, 1 Apr 2018 18:49:19 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w31InJEt097878; Sun, 1 Apr 2018 18:49:19 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201804011849.w31InJEt097878@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Sun, 1 Apr 2018 18:49:19 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r466175 - in head/math: . py-pynleq2 py-pynleq2/files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/math: . py-pynleq2 py-pynleq2/files X-SVN-Commit-Revision: 466175 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Apr 2018 18:49:20 -0000 Author: yuri Date: Sun Apr 1 18:49:19 2018 New Revision: 466175 URL: https://svnweb.freebsd.org/changeset/ports/466175 Log: New port: math/py-pynleq2: Python binding for NLEQ2 algorithm's fortran implementation Added: head/math/py-pynleq2/ head/math/py-pynleq2/Makefile (contents, props changed) head/math/py-pynleq2/distinfo (contents, props changed) head/math/py-pynleq2/files/ head/math/py-pynleq2/files/patch-setup.py (contents, props changed) head/math/py-pynleq2/pkg-descr (contents, props changed) Modified: head/math/Makefile Modified: head/math/Makefile ============================================================================== --- head/math/Makefile Sun Apr 1 17:36:45 2018 (r466174) +++ head/math/Makefile Sun Apr 1 18:49:19 2018 (r466175) @@ -675,6 +675,7 @@ SUBDIR += py-pymc SUBDIR += py-pymc3 SUBDIR += py-pyneqsys + SUBDIR += py-pynleq2 SUBDIR += py-pyodesys SUBDIR += py-pysparse SUBDIR += py-pysym Added: head/math/py-pynleq2/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/py-pynleq2/Makefile Sun Apr 1 18:49:19 2018 (r466175) @@ -0,0 +1,37 @@ +# $FreeBSD$ + +PORTNAME= pynleq2 +DISTVERSION= 0.0.2 +CATEGORIES= math python +MASTER_SITES= CHEESESHOP \ + https://github.com/PySCeS/pysces/archive/:fortran +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTFILES= ${PORTNAME}-${DISTVERSION}${EXTRACT_SUFX} \ + ${PYSCES_VERSION}${EXTRACT_SUFX}:fortran + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Python binding for NLEQ2 algorithm's fortran implementation + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYNUMPY} + +USES= fortran:flang python +USE_PYTHON= distutils autoplist + +BINARY_ALIAS= gfortran6=flang # it keeps using gfortran6 regardless of the environment variables and arguments + +PYSCES_VERSION= 0.9.5 +FORTRAN_FILES= linalg_nleq2.f nleq2.f wnorm.f zibconst.f zibmon.f zibsec.f + +pre-build: # compile fortran files into a static library because distutils fails while doing this + @${MKDIR} ${WRKDIR}/.fbuild && \ + cd ${WRKDIR}/.fbuild && \ + flang -c ${CFLAGS} -fPIC ${FORTRAN_FILES:C/^/${WRKDIR}\/pysces-${PYSCES_VERSION}\/pysces\/nleq2\//} && \ + ${AR} -qc libff.a ${FORTRAN_FILES:S/.f/.o/} + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}/nleq2.so + +.include Added: head/math/py-pynleq2/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/py-pynleq2/distinfo Sun Apr 1 18:49:19 2018 (r466175) @@ -0,0 +1,5 @@ +TIMESTAMP = 1522600966 +SHA256 (pynleq2-0.0.2.tar.gz) = b9be75bb7def34cd7a82aed87b70f6c3c9f4602cbe9e8d4fcf43a4aae241112d +SIZE (pynleq2-0.0.2.tar.gz) = 6219 +SHA256 (0.9.5.tar.gz) = 14131578b36154593ee5e793b3886572746209dcc3d9ed5ef3787a3476876cf6 +SIZE (0.9.5.tar.gz) = 2119094 Added: head/math/py-pynleq2/files/patch-setup.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/py-pynleq2/files/patch-setup.py Sun Apr 1 18:49:19 2018 (r466175) @@ -0,0 +1,27 @@ +--- setup.py.orig 2015-10-20 14:54:08 UTC ++++ setup.py +@@ -75,19 +75,21 @@ if len(sys.argv) > 1 and '--help' not in + + for src, md5sum in zip(sources, md5sums): + srcpath = os.path.join('nleq2', src) +- if not os.path.exists(srcpath): ++ if False and not os.path.exists(srcpath): + NLEQ2_URL = os.environ.get('PYNLEQ2_NLEQ2_ROOT_URL', None) + if NLEQ2_URL: + download(NLEQ2_URL+src, srcpath) + else: + fmtstr = "Could not find: %s ($PYNLEQ2_NLEQ2_ROOT_URL not set)" + raise ValueError(fmtstr % src) +- if md5_of_file(srcpath).hexdigest() != md5sum: ++ if False and md5_of_file(srcpath).hexdigest() != md5sum: + raise ValueError("Mismatching MD5 sum for %s" % srcpath) + + ext_modules = [ + Extension('pynleq2.nleq2', [os.path.join('nleq2', f) +- for f in ('nleq2.pyf',) + sources]) ++ for f in ('nleq2.pyf',)] ++ , libraries=['ff', 'flang', 'execinfo'] ++ , library_dirs=['../.fbuild', '/usr/local/flang/lib']) + ] + + PYNLEQ2_RELEASE_VERSION = os.environ.get('PYNLEQ2_RELEASE_VERSION', '') Added: head/math/py-pynleq2/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/math/py-pynleq2/pkg-descr Sun Apr 1 18:49:19 2018 (r466175) @@ -0,0 +1,7 @@ +pynleq2 provides a Python binding to the NLEQ2 algorithm from CodeLib +distributed by Zuse Institute Berlin (ZIB). + +pynleq2 can be used as a backend for pyneqsys (math/py-pyneqsys) +to solve non-linear symbolic equation systems. + +WWW: https://github.com/bjodah/pynleq2