Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Apr 2019 19:29:30 +0000 (UTC)
From:      Steve Wills <swills@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r500127 - in head/archivers/py-attic: . files
Message-ID:  <201904261929.x3QJTUlu076819@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: swills
Date: Fri Apr 26 19:29:30 2019
New Revision: 500127
URL: https://svnweb.freebsd.org/changeset/ports/500127

Log:
  archivers/py-attic: Remove BROKEN, add DEPRECATED
  
  PR:		237560
  Submitted by:	Thomas Hurst <tom@hur.st> (maintainer)

Added:
  head/archivers/py-attic/files/
  head/archivers/py-attic/files/patch-attic_crypto.pyx   (contents, props changed)
Modified:
  head/archivers/py-attic/Makefile   (contents, props changed)

Modified: head/archivers/py-attic/Makefile
==============================================================================
--- head/archivers/py-attic/Makefile	Fri Apr 26 19:05:48 2019	(r500126)
+++ head/archivers/py-attic/Makefile	Fri Apr 26 19:29:30 2019	(r500127)
@@ -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 ''

Added: head/archivers/py-attic/files/patch-attic_crypto.pyx
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/py-attic/files/patch-attic_crypto.pyx	Fri Apr 26 19:29:30 2019	(r500127)
@@ -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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904261929.x3QJTUlu076819>