python-libpass: add replacement for passlib
authorDaniel F. Dickinson <redacted>
Tue, 6 Jan 2026 03:24:05 +0000 (22:24 -0500)
committerJosef Schlehofer <redacted>
Thu, 22 Jan 2026 06:57:48 +0000 (13:57 +0700)
passlib has not be updated since 2020 and is therefore a dead project.
Radicale (used in this repo as radicale3) has updated to use libpass (a
maintained fork of passlib): https://github.com/Kozea/Radicale/pull/1953
therefore add python3-libpass to provide libpass, a drop-in replacement
for passlib, and a dependency for Radicale v3.6.0.

Signed-off-by: Daniel F. Dickinson <redacted>
lang/python/python-libpass/Makefile [new file with mode: 0644]

diff --git a/lang/python/python-libpass/Makefile b/lang/python/python-libpass/Makefile
new file mode 100644 (file)
index 0000000..834d134
--- /dev/null
@@ -0,0 +1,44 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-libpass
+PKG_VERSION:=1.9.3
+PKG_RELEASE:=1
+
+PYPI_NAME:=libpass
+PKG_HASH:=7830b9323d9ba96a841ad698a8dec1d43a2b0b7f1c855c76772e7972c1c6d959
+
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+PKG_BUILD_DEPENDS:=python-hatchling/host
+
+define Package/python3-libpass
+  SUBMENU:=Python
+  SECTION:=lang
+  CATEGORY:=Languages
+  TITLE:=Comprehensive password hashing framework
+  URL:=https://github.com/notypecheck/passlib
+  DEPENDS:=+python3
+  PROVIDES:=python3-passlib
+endef
+
+define Package/python3-libpass/description
+Libpass is a maintained fork of the now defunct Passlib package. Passlib
+is a password hashing library for Python 2 & 3, which provides
+cross-platform implementations of over 30 password hashing algorithms,
+as well as a framework for managing existing password hashes. It’s
+designed to be useful for a wide range of tasks, from verifying a hash
+found in /etc/shadow, to providing full-strength password hashing for
+multi-user applications.
+endef
+
+$(eval $(call Py3Package,python3-libpass))
+$(eval $(call BuildPackage,python3-libpass))
+$(eval $(call BuildPackage,python3-libpass-src))
git clone https://git.99rst.org/PROJECT