aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodrigo Osorio <rodrigo@FreeBSD.org>2026-01-25 15:29:45 +0000
committerRodrigo Osorio <rodrigo@FreeBSD.org>2026-01-29 08:04:00 +0000
commit5c1e98f8ca88718e62184ee72200a6a299ae6297 (patch)
treedee444ede70a6aebf6d87667fb95ec04a492b86b
parent877b3a959212576212778123921d9a495f8a4c80 (diff)
devel/py-lap: New port
Lap is a linear assignment problem solver using Jonker-Volgenant algorithm. It's required by the latest version of audio/beet. PR: 289098
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-lap/Makefile20
-rw-r--r--devel/py-lap/distinfo3
-rw-r--r--devel/py-lap/pkg-descr6
4 files changed, 30 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 8df4e6417464..e447190e9856 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5204,6 +5204,7 @@
SUBDIR += py-klepto
SUBDIR += py-knack
SUBDIR += py-l18n
+ SUBDIR += py-lap
SUBDIR += py-lark
SUBDIR += py-launchpadlib
SUBDIR += py-lazr.config
diff --git a/devel/py-lap/Makefile b/devel/py-lap/Makefile
new file mode 100644
index 000000000000..ea088361d795
--- /dev/null
+++ b/devel/py-lap/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= lap
+PORTVERSION= 0.5.12
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= rodrigo@FreeBSD.org
+COMMENT= Linear Assignment Problem Solver
+WWW= https://github.com/gatagat/lap
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cython>0:lang/cython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>0:math/py-numpy@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist distutils optsuffix
+
+.include <bsd.port.mk>
diff --git a/devel/py-lap/distinfo b/devel/py-lap/distinfo
new file mode 100644
index 000000000000..353acd39880c
--- /dev/null
+++ b/devel/py-lap/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1756124012
+SHA256 (lap-0.5.12.tar.gz) = 570b414ea7ae6c04bd49d0ec8cdac1dc5634737755784d44e37f9f668bab44fd
+SIZE (lap-0.5.12.tar.gz) = 1520169
diff --git a/devel/py-lap/pkg-descr b/devel/py-lap/pkg-descr
new file mode 100644
index 000000000000..0f2d589658c0
--- /dev/null
+++ b/devel/py-lap/pkg-descr
@@ -0,0 +1,6 @@
+Lap is a linear assignment problem solver using Jonker-Volgenant algorithm
+for dense LAPJV or sparse LAPMOD matrices. Both algorithms are implemented
+from scratch based solely on the papers and the public domain Pascal
+implementation provided by A. Volgenant. The LAPMOD implementation seems to
+be faster than the LAPJV implementation for matrices with a side of more
+than ~5000 and with less than 50% finite coefficients.