aboutsummaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2019-04-27 03:29:30 +0800
committerSteve Wills <swills@FreeBSD.org>2019-04-27 03:29:30 +0800
commit2913cf895bea9110249a893453abaf8fae34b362 (patch)
treeeb126be3d4d51be35252d244f5537a75350b7757 /archivers
parent8f4a5df8cdea4fcbad1d33555bb40d5e4c515839 (diff)
downloadfreebsd-ports-gnome-2913cf895bea9110249a893453abaf8fae34b362.tar.gz
freebsd-ports-gnome-2913cf895bea9110249a893453abaf8fae34b362.tar.zst
freebsd-ports-gnome-2913cf895bea9110249a893453abaf8fae34b362.zip
archivers/py-attic: Remove BROKEN, add DEPRECATED
PR: 237560 Submitted by: Thomas Hurst <tom@hur.st> (maintainer)
Diffstat (limited to 'archivers')
-rw-r--r--archivers/py-attic/Makefile9
-rw-r--r--archivers/py-attic/files/patch-attic_crypto.pyx59
2 files changed, 64 insertions, 4 deletions
diff --git a/archivers/py-attic/Makefile b/archivers/py-attic/Makefile
index 8705585e8b42..e6f9672559f4 100644
--- a/archivers/py-attic/Makefile
+++ b/archivers/py-attic/Makefile
@@ -3,7 +3,7 @@
PORTNAME= attic
PORTVERSION= 0.16
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= archivers python
MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,14 +15,15 @@ COMMENT= Deduplicating backup program
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_FreeBSD_12= does not build with OpenSSL 1.1
-BROKEN_FreeBSD_13= does not build with OpenSSL 1.1
+DEPRECATED= Unsupported by upstream, please migrate to archivers/py-borg. \
+ See https://borgbackup.readthedocs.io/en/stable/usage/upgrade.html\#borg-upgrade
+EXPIRATION_DATE= 2019-09-01
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0.1.10:devel/py-msgpack@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0.1.10:devel/py-msgpack@${PY_FLAVOR}
USES= python:3.3-3.6 ssl
-USE_PYTHON= autoplist distutils
+USE_PYTHON= autoplist cython distutils
PYDISTUTILS_BUILDPATH=${BUILD_WRKSRC}/build/lib.${OPSYS:tl}-${UNAMER}-${ARCH}-${PYTHON_VER}
REINPLACE_ARGS= -i ''
diff --git a/archivers/py-attic/files/patch-attic_crypto.pyx b/archivers/py-attic/files/patch-attic_crypto.pyx
new file mode 100644
index 000000000000..56c7bda86680
--- /dev/null
+++ b/archivers/py-attic/files/patch-attic_crypto.pyx
@@ -0,0 +1,59 @@
+--- attic/crypto.pyx.orig 2015-04-27 20:15:50 UTC
++++ attic/crypto.pyx
+@@ -23,8 +23,9 @@ cdef extern from "openssl/evp.h":
+ pass
+ const EVP_MD *EVP_sha256()
+ const EVP_CIPHER *EVP_aes_256_ctr()
+- void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a)
+- void EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a)
++ EVP_CIPHER_CTX *EVP_CIPHER_CTX_new()
++ const unsigned char *EVP_CIPHER_CTX_iv(const EVP_CIPHER_CTX *a)
++ void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a)
+
+ int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl,
+ const unsigned char *key, const unsigned char *iv)
+@@ -84,16 +85,16 @@ def get_random_bytes(n):
+ cdef class AES:
+ """A thin wrapper around the OpenSSL EVP cipher API
+ """
+- cdef EVP_CIPHER_CTX ctx
++ cdef EVP_CIPHER_CTX * ctx
+
+ def __cinit__(self, key, iv=None):
+- EVP_CIPHER_CTX_init(&self.ctx)
+- if not EVP_EncryptInit_ex(&self.ctx, EVP_aes_256_ctr(), NULL, NULL, NULL):
++ self.ctx = EVP_CIPHER_CTX_new();
++ if not EVP_EncryptInit_ex(self.ctx, EVP_aes_256_ctr(), NULL, NULL, NULL):
+ raise Exception('EVP_EncryptInit_ex failed')
+ self.reset(key, iv)
+
+ def __dealloc__(self):
+- EVP_CIPHER_CTX_cleanup(&self.ctx)
++ EVP_CIPHER_CTX_free(self.ctx)
+
+ def reset(self, key=None, iv=None):
+ cdef const unsigned char *key2 = NULL
+@@ -102,12 +103,12 @@ cdef class AES:
+ key2 = key
+ if iv:
+ iv2 = iv
+- if not EVP_EncryptInit_ex(&self.ctx, NULL, NULL, key2, iv2):
++ if not EVP_EncryptInit_ex(self.ctx, NULL, NULL, key2, iv2):
+ raise Exception('EVP_EncryptInit_ex failed')
+
+ @property
+ def iv(self):
+- return self.ctx.iv[:16]
++ return EVP_CIPHER_CTX_iv(self.ctx)[:16]
+
+ def encrypt(self, data):
+ cdef int inl = len(data)
+@@ -116,7 +117,7 @@ cdef class AES:
+ if not out:
+ raise MemoryError
+ try:
+- if not EVP_EncryptUpdate(&self.ctx, out, &outl, data, inl):
++ if not EVP_EncryptUpdate(self.ctx, out, &outl, data, inl):
+ raise Exception('EVP_EncryptUpdate failed')
+ return out[:inl]
+ finally: