Bug 225217 - [NEW PORT] security/py-pycryptodomex: Cryptographic library for Python
Summary: [NEW PORT] security/py-pycryptodomex: Cryptographic library for Python
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Yuri Victorovich
URL:
Keywords: easy, patch, patch-ready
Depends on: 225216
Blocks:
  Show dependency treegraph
 
Reported: 2018-01-16 14:50 UTC by John W. O'Brien
Modified: 2018-06-17 21:45 UTC (History)
3 users (show)

See Also:


Attachments
security/py-pycryptodomex: New port (46.61 KB, patch)
2018-01-16 14:50 UTC, John W. O'Brien
john: maintainer-approval+
Details | Diff
security/py-pycryptodomex: New port (806 bytes, patch)
2018-02-04 16:38 UTC, John W. O'Brien
john: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John W. O'Brien 2018-01-16 14:50:08 UTC
Created attachment 189798 [details]
security/py-pycryptodomex: New port

This port will be a slave to security/py-pycryptodome. It installs the same package but in a different name space, Cryptodome instead of Crypto, and therefore can be installed together with security/py-pycrypto if desired.

Description
===========

PyCryptodome is a fork of PyCrypto. It brings the following
enhancements with respect to the last official version of
PyCrypto (2.6.1):

* Authenticated encryption modes (GCM, CCM, EAX, SIV, OCB)
* Accelerated AES on Intel platforms via AES-NI
* First class support for PyPy
* SHA-3 (including SHAKE XOFs) and BLAKE2 hash algorithms
* Salsa20 and ChaCha20 stream ciphers
* scrypt and HKDF
* Deterministic DSA
* Password-protected PKCS#8 key containers
* Shamir's Secret Sharing scheme
* Random numbers get sourced directly from the OS (and not from
  a CSPRNG in userspace)
* Simplified install process, including better support for Windows
* Cleaner RSA and DSA key generation (largely based on FIPS 186-4)
* Major clean ups and simplification of the code base

WWW: https://pypi.python.org/pypi/pycryptodome


QA
==

portlint: OK
poudriere: OK -- testport w/py27 (default), py34, py35, py36


Notes
=====

* Set LICENSE to make portlint happy.
* Set empty CONFLICTS_INSTALL. This is the point of this port: it doesn't conflict with security/py-pycrypto.
* Keep DISTINFO because upstream publishes a separate tarball. Alternatively, it would be necessary to set one or more variables to reuse the distfile from security/py-pycryptodome and also define a new pre-build target to touch ${WRKSRC}/.separate-namespace to activate a bunch of work in setup.py that moves things from Crypto to Cryptodome.
* Define a PLIST for the slave. This is necessary because setup.py breaks autoplist [0].


[0] https://github.com/Legrandin/pycryptodome/issues/119
Comment 1 John W. O'Brien 2018-02-04 16:38:59 UTC
Created attachment 190318 [details]
security/py-pycryptodomex: New port

The overall description and QA results are the same as before. This patch is simpler and more robust thanks in large part to improvements upstream.

Notes
=====

* Don't set LICENSE because trying to satisfy portlint in a slave seems a futile exercise.
* Reuse the distfile from the master and create file to trigger alternate namespace behavior.
* security/py-pycryptodome and security/py-pycryptodome should have a common MAINTAINER.
Comment 2 Martin Wilke freebsd_committer freebsd_triage 2018-06-02 17:04:22 UTC
Over to yuri, since he is maintainer of security/py-pycryptodome
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2018-06-17 01:33:52 UTC
Committed, thanks!
Comment 4 commit-hook freebsd_committer freebsd_triage 2018-06-17 01:34:01 UTC
A commit references this bug:

Author: yuri
Date: Sun Jun 17 01:33:49 UTC 2018
New revision: 472582
URL: https://svnweb.freebsd.org/changeset/ports/472582

Log:
  New port: security/py-pycryptodomex: Slave port of security/py-pycryptodome

  It installs the same package as security/py-pycryptodome but in a different
  name space, Cryptodome instead of Crypto, and therefore can be installed
  together with security/py-pycrypto if desired.

  PR:		225217
  Submitted by:	John W. O'Brien <john@saltant.com>

Changes:
  head/security/Makefile
  head/security/py-pycryptodomex/
  head/security/py-pycryptodomex/Makefile
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-06-17 21:45:15 UTC
A commit references this bug:

Author: yuri
Date: Sun Jun 17 21:44:45 UTC 2018
New revision: 472640
URL: https://svnweb.freebsd.org/changeset/ports/472640

Log:
  security/py-pycryptodomex: Fix build by creating a special file in WRKSRC

  See https://github.com/Legrandin/pycryptodome/blob/v3.6.1/setup.py#L39-L48

  PR:		225217
  Reported by:	John W. O'Brien <john@saltant.com> (maintainer)

Changes:
  head/security/py-pycryptodomex/Makefile