diff --git a/lang/python/borgbackup/Makefile b/lang/python/borgbackup/Makefile new file mode 100644 index 000000000..8c6a8a924 --- /dev/null +++ b/lang/python/borgbackup/Makefile @@ -0,0 +1,63 @@ +# +# Copyright (C) 2022 Julien Malik +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=borgbackup +PKG_VERSION:=1.2.2 +PKG_RELEASE:=1 + +PYPI_NAME:=borgbackup +PKG_HASH:=d730687443f1beb602b1d72bae36318f6f9654818fcdc50458540ec579e57260 + +PKG_LICENSE:=BSD-3-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Julien Malik + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/borgbackup + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Deduplicated, encrypted, authenticated and compressed backups + URL:=https://github.com/borgbackup/borg + DEPENDS:= \ + +python3-light \ + +python3-msgpack \ + +python3-pyfuse3 \ + +libacl \ + +libopenssl \ + +liblz4 \ + +libzstd \ + +libxxhash +endef + +define Package/borgbackup/description + BorgBackup (short: Borg) is a deduplicating backup program. + Optionally, it supports compression and authenticated encryption. + + The main goal of Borg is to provide an efficient and secure way to backup data. + The data deduplication technique used makes Borg suitable for daily backups since only changes are stored. The authenticated encryption technique makes it suitable for backups to not fully trusted targets. +endef + +HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=Cython + +# borg setup.py shall find these via pkg-config, but depends on python pkgconfig PyPi module +# which quickly becomes a nightmare to build, since it build-depends on poetry which is not +# available in the python package feed, and has a myriad of deps +PYTHON3_PKG_SETUP_VARS:= \ + BORG_OPENSSL_PREFIX="/usr/lib" \ + BORG_LIBLZ4_PREFIX="/usr/lib" \ + BORG_LIBZSTD_PREFIX="/usr/lib" \ + BORG_LIBXXHASH_PREFIX="/usr/lib" + +$(eval $(call Py3Package,borgbackup)) +$(eval $(call BuildPackage,borgbackup)) +$(eval $(call BuildPackage,borgbackup-src))