From nobody Thu Aug 6 06:04:11 2026 X-Original-To: dev-commits-ports-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hFxYl6QwLz6nvb5 for ; Thu, 06 Aug 2026 06:04:11 +0000 (UTC) (envelope-from git@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) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hFxYl4KJnz426B for ; Thu, 06 Aug 2026 06:04:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785996251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qFAMqQsb25Et/1oOtkO0qRaHoTqC42KLMxiAOZakt74=; b=KkoNTCz1Hv8sG883n9k1NxQF3lGrFJ83iz1Z3cxUqmRbX/+h3vmQZd+YaH81Mnsc+VHCai 2s+kox9bv8EejROC1QOdCbt5rJG7r5NAS/WuD0lCRsztD1Szy5P+ieKWBsjyFAjPp8iDLg YCy3sJig/82Rbhk+QdbdbA8aiPM/uPinl2HFllEr/WCCe6b/S7D0Qt9AjKUsMyV7437aLv b4rnpIh8EdWMi+iiREPD5cL4MtQwXWozfbzPRmjpj/xFhN+NfYl2oj7UId7ETBT7R5KTLi gRb7L2UcdPTp8vUex6Cq/F8QxV/SmgAn3v7ipMKpm5AO4wxf/enLsAmZwfSIpg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785996251; a=rsa-sha256; cv=none; b=d5QlLQv7a4q1Ngpo9Bqnh8B7GAa1yPIxTjnfvual8jwyR3eHhCROW7gRAQGwOV8/H/JT/N pEQxPcDLF8X3e+KUUx/ez8Me1K7TT0YU699Yq1cRIY1EkX7XNZ4H+cZx+garW1gc4X8EGJ VzlhCzYydVSjzCi/JVFBB88Ubx7fbs16oOosPGVP6gTm5yyyEDC+WILz2c8diirQ1AA+jq ETA1VvlpsN3pUtYaWTfXNVeFejvWRIpC7VUaqF4LSQvvAAEWRcKO+y1Cshvk8mAPNSy/Fu oGGtf1kSr7v2KelBkzZ5lnx3RN3cuwFK6izwfOATw26c6aUrrxfCiglnusmi1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785996251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qFAMqQsb25Et/1oOtkO0qRaHoTqC42KLMxiAOZakt74=; b=PNGUJ1iLqzAuoiI+qm3ySwYjTWg2k8lkH1zvfiiWXHYiqtMuV2VhPKCZjep3pQl4kau0Xa OEDJ12YqlC442GTeMbDSbyJmbTcRtEeCHAFRI8qZ74RSV2g5E2+yPWIPKuXUEQZbtnefNx GkxO9mhwatH/jGqWn13mctUGQcndv1SmIEBbH7lICXifRp0Y6X/40H4zQ0Vl52tJRDDzwQ AY/OQOwIihkY0UL2v05IRUjvBr481oHc/2W/wIi0koOqkKtEiu3sppBGOMr4vXlWua99rD DB5zv3tt1xKAgVeTQC1FuvchbTU09QDto7Q3hxkKNbJFylhfo1xd0Bc/0UpEvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hFxYl3D7fz17KQ for ; Thu, 06 Aug 2026 06:04:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25ba1 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 06 Aug 2026 06:04:11 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Yuri Victorovich Subject: git: 7f2d6d1490e7 - 2026Q3 - math/py-pynleq2: update 0=?utf-8?Q?=2E0.2 =E2=86=92?= 0.1.0 List-Id: Commits to the quarterly branches of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-branches@freebsd.org Sender: owner-dev-commits-ports-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/2026Q3 X-Git-Reftype: branch X-Git-Commit: 7f2d6d1490e77a7a139fa0a66a7bbfcafc7ac336 Auto-Submitted: auto-generated Date: Thu, 06 Aug 2026 06:04:11 +0000 Message-Id: <6a7423db.25ba1.1b3772cd@gitrepo.freebsd.org> The branch 2026Q3 has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=7f2d6d1490e77a7a139fa0a66a7bbfcafc7ac336 commit 7f2d6d1490e77a7a139fa0a66a7bbfcafc7ac336 Author: Yuri Victorovich AuthorDate: 2026-08-05 18:32:01 +0000 Commit: Yuri Victorovich CommitDate: 2026-08-06 06:04:07 +0000 math/py-pynleq2: update 0.0.2 → 0.1.0 (cherry picked from commit 8cfb674676ceb7a990d71c0997c73e32ad784831) --- math/py-pynleq2/Makefile | 27 +++++----- math/py-pynleq2/distinfo | 6 +-- math/py-pynleq2/files/patch-setup.cfg | 8 +++ math/py-pynleq2/files/patch-setup.py | 95 +++++++++++++++++++++++++++-------- 4 files changed, 99 insertions(+), 37 deletions(-) diff --git a/math/py-pynleq2/Makefile b/math/py-pynleq2/Makefile index d079b82c3f26..689c16128ad4 100644 --- a/math/py-pynleq2/Makefile +++ b/math/py-pynleq2/Makefile @@ -1,6 +1,5 @@ PORTNAME= pynleq2 -DISTVERSION= 0.0.2 -PORTREVISION= 10 +DISTVERSION= 0.1.0 CATEGORIES= math python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -13,25 +12,29 @@ WWW= https://github.com/bjodah/pynleq2 LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ + meson:devel/meson@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} USES= fortran python -USE_PYTHON= distutils autoplist +USE_PYTHON= distutils autoplist pytest USE_GITHUB= nodefault GH_TUPLE= PySCeS:pysces:0.9.8:fortran FORTRAN_FILES= linalg_nleq2.f nleq2.f wnorm.f zibconst.f zibmon.f zibsec.f -post-patch: - @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/setup.py - -pre-build: # compile fortran files into a static library because distutils fails while doing this - @${MKDIR} ${WRKDIR}/.fbuild && \ - cd ${WRKDIR}/.fbuild && \ - ${FC} -c ${CFLAGS} -fPIC ${FORTRAN_FILES:C,^,${WRKSRC_fortran}/pysces/nleq2/,} && \ - ${AR} -qc libff.a ${FORTRAN_FILES:S/.f/.o/} +pre-build: # copy fortran sources and build the extension with f2py + @${CP} ${FORTRAN_FILES:C,^,${WRKSRC_fortran}/pysces/nleq2/,} ${WRKSRC}/nleq2/ + @cd ${WRKSRC}/nleq2 && \ + ${SETENV} FC=${FC} F77=${F77} F90=${F90} FFLAGS="${FFLAGS}" \ + LDFLAGS="${LDFLAGS}" ${PYTHON_CMD} -m numpy.f2py -c -m nleq2 \ + nleq2.pyf ${FORTRAN_FILES} -lexecinfo + @${MV} ${WRKSRC}/nleq2/nleq2*.so ${WRKSRC}/pynleq2/ post-install: @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}/nleq2*.so +# tests as of 0.1.0: 1 passed + .include diff --git a/math/py-pynleq2/distinfo b/math/py-pynleq2/distinfo index 838ddb07e02b..16b715234447 100644 --- a/math/py-pynleq2/distinfo +++ b/math/py-pynleq2/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1589502332 -SHA256 (pynleq2-0.0.2.tar.gz) = b9be75bb7def34cd7a82aed87b70f6c3c9f4602cbe9e8d4fcf43a4aae241112d -SIZE (pynleq2-0.0.2.tar.gz) = 6219 +TIMESTAMP = 1785952531 +SHA256 (pynleq2-0.1.0.tar.gz) = e26343e0631ea9b0d56a023de27468b72baadad3aab194942ffa590620029b0d +SIZE (pynleq2-0.1.0.tar.gz) = 6466 SHA256 (PySCeS-pysces-0.9.8_GH0.tar.gz) = a97af5afe50fe994e84d33455ded5821f694d809f6a36adc9b486bb209d58a72 SIZE (PySCeS-pysces-0.9.8_GH0.tar.gz) = 2655864 diff --git a/math/py-pynleq2/files/patch-setup.cfg b/math/py-pynleq2/files/patch-setup.cfg new file mode 100644 index 000000000000..91070375a462 --- /dev/null +++ b/math/py-pynleq2/files/patch-setup.cfg @@ -0,0 +1,8 @@ +--- setup.cfg.orig 2018-08-30 00:00:00 UTC ++++ setup.cfg +@@ -1,4 +1,4 @@ +-[pytest] ++[tool:pytest] + norecursedirs = .git .cache scripts build dist conda-recipe doc deploy + #pep8maxlinelength=119 + pep8ignore = diff --git a/math/py-pynleq2/files/patch-setup.py b/math/py-pynleq2/files/patch-setup.py index c8e27f0124a8..3a5b8cfec4a8 100644 --- a/math/py-pynleq2/files/patch-setup.py +++ b/math/py-pynleq2/files/patch-setup.py @@ -1,27 +1,78 @@ ---- setup.py.orig 2015-10-20 14:54:08 UTC +--- setup.py.orig 2018-04-02 00:00:00 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) +@@ -39,6 +39,8 @@ + import sys + import warnings + ++from setuptools import setup ++ + pkg_name = 'pynleq2' + ext_modules = [] + +@@ -46,56 +48,9 @@ + def _path_under_setup(*args): + return os.path.join(os.path.dirname(__file__), *args) + +-if len(sys.argv) > 1 and '--help' not in sys.argv[1:] and sys.argv[1] not in ( +- '--help-commands', 'egg_info', 'clean', '--version'): +- from numpy.distutils.core import Extension, setup +- # nleq2 version: 2.3.0.2 +- md5output = """\ +- 1cd2f30a38e255d394685075e921de4a linalg_nleq2.f +- 8a94b6c440d068f075abecbde495a8e1 nleq2.f +- 77189300200be5748152fa28dc236963 wnorm.f +- 5d912441fb6f55d10c8b98bbb9168195 zibconst.f +- e2ac1a20fc6294cb3e0d7f65bbac53e6 zibmon.f +- 6520c958f2bd339b435a68541d5b910b zibsec.f +- """ +- from textwrap import dedent +- md5sums, sources = zip(*map(str.split, dedent(md5output)[:-1].split('\n'))) +- +- def md5_of_file(path, nblocks=128): +- from hashlib import md5 +- md = md5() +- with open(path, 'rb') as f: +- for chunk in iter(lambda: f.read(nblocks*md.block_size), b''): +- md.update(chunk) +- return md +- +- def download(url, outpath): +- try: +- from urllib2 import urlopen +- except ImportError: +- from urllib.request import urlopen +- f = urlopen(url) +- with open(outpath, "wb") as fh: +- fh.write(f.read()) +- +- NLEQ2_URL = os.environ.get('PYNLEQ2_NLEQ2_ROOT_URL', None) +- +- for src, md5sum in zip(sources, md5sums): +- srcpath = _path_under_setup('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 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) +- warnings.warn("Unexpected MD5 sum for %s" % srcpath) +- +- ext_modules = [ +- Extension('pynleq2.nleq2', [_path_under_setup('nleq2', f) - for f in ('nleq2.pyf',) + sources]) -+ for f in ('nleq2.pyf',)] -+ , libraries=['ff', 'execinfo'] -+ , library_dirs=['../.fbuild']) - ] - +- ] ++# The extension module pynleq2/nleq2*.so is pre-built by the port in ++# pre-build using f2py, so no extension is built by setup.py. + PYNLEQ2_RELEASE_VERSION = os.environ.get('PYNLEQ2_RELEASE_VERSION', '') + + # http://conda.pydata.org/docs/build.html#environment-variables-set-during-the-build-process +@@ -144,6 +99,7 @@ + license='BSD', + requires=['numpy'], + packages=[pkg_name] + tests, ++ package_data={pkg_name: ['nleq2*.so']}, + ext_modules=ext_modules, + zip_safe=False, # https://github.com/pytest-dev/pytest/issues/1445 + )