mirror of
https://git.openwrt.org/feed/packages.git
synced 2024-06-15 20:03:57 +02:00
python-cryptodome: add new package
PyCryptodome is an almost drop-in replacement for the old PyCrypto library. Signed-off-by: Richard Yu <yurichard3839@gmail.com>
This commit is contained in:
parent
f81ef698d5
commit
2c63742f25
75
lang/python/python-cryptodome/Makefile
Normal file
75
lang/python/python-cryptodome/Makefile
Normal file
|
@ -0,0 +1,75 @@
|
|||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=python-cryptodome
|
||||
PKG_VERSION:=3.7.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=pycryptodome-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycryptodome
|
||||
PKG_HASH:=1a222250e43f3c659b4ebd5df3e11c2f112aab6aef58e38af55ef5678b9f0636
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cryptodome-$(PKG_VERSION)
|
||||
|
||||
PKG_LICENSE:=BSD-2-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE.rst
|
||||
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include ../python-package.mk
|
||||
include ../python3-package.mk
|
||||
|
||||
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
|
||||
|
||||
PYTHON_PKG_SETUP_ARGS:=
|
||||
PYTHON_PKG_SETUP_VARS:= \
|
||||
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
|
||||
|
||||
PYTHON3_PKG_SETUP_ARGS:=
|
||||
PYTHON3_PKG_SETUP_VARS:= \
|
||||
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
|
||||
|
||||
define Package/python-cryptodome/Default
|
||||
SECTION:=lang-python
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Python
|
||||
TITLE:=A self-contained cryptographic library for Python
|
||||
URL:=https://www.pycryptodome.org/
|
||||
DEPENDS:=+libgmp
|
||||
endef
|
||||
|
||||
define Package/python-cryptodome
|
||||
$(call Package/python-cryptodome/Default)
|
||||
DEPENDS+=+PACKAGE_python-cryptodome:python
|
||||
VARIANT:=python
|
||||
CONFLICTS:=python-crypto
|
||||
endef
|
||||
|
||||
define Package/python3-cryptodome
|
||||
$(call Package/python-cryptodome/Default)
|
||||
DEPENDS+=+PACKAGE_python3-cryptodome:python3
|
||||
VARIANT:=python3
|
||||
CONFLICTS:=python3-crypto
|
||||
endef
|
||||
|
||||
define Package/python-cryptodome/description
|
||||
PyCryptodome is a self-contained Python package of low-level
|
||||
cryptographic primitives.
|
||||
endef
|
||||
|
||||
define Package/python3-cryptodome/description
|
||||
$(call Package/python-cryptodome/description)
|
||||
.
|
||||
(Variant for Python3)
|
||||
endef
|
||||
|
||||
$(eval $(call PyPackage,python-cryptodome))
|
||||
$(eval $(call BuildPackage,python-cryptodome))
|
||||
$(eval $(call BuildPackage,python-cryptodome-src))
|
||||
|
||||
$(eval $(call Py3Package,python3-cryptodome))
|
||||
$(eval $(call BuildPackage,python3-cryptodome))
|
||||
$(eval $(call BuildPackage,python3-cryptodome-src))
|
|
@ -0,0 +1,11 @@
|
|||
--- a/lib/Crypto/Math/_IntegerGMP.py
|
||||
+++ b/lib/Crypto/Math/_IntegerGMP.py
|
||||
@@ -92,7 +92,7 @@ gmp_defs = """typedef unsigned long UNIX_ULONG;
|
||||
int __gmpz_divisible_ui_p (const mpz_t n, UNIX_ULONG d);
|
||||
"""
|
||||
|
||||
-lib = load_lib("gmp", gmp_defs)
|
||||
+lib = load_lib("libgmp.so.10", gmp_defs)
|
||||
implementation = {"library": "gmp", "api": backend}
|
||||
|
||||
if hasattr(lib, "__mpir_version"):
|
50
lang/python/python-cryptodome/patches/002-omit-tests.patch
Normal file
50
lang/python/python-cryptodome/patches/002-omit-tests.patch
Normal file
|
@ -0,0 +1,50 @@
|
|||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -245,16 +245,6 @@
|
||||
"Crypto.Signature",
|
||||
"Crypto.Util",
|
||||
"Crypto.Math",
|
||||
- "Crypto.SelfTest",
|
||||
- "Crypto.SelfTest.Cipher",
|
||||
- "Crypto.SelfTest.Hash",
|
||||
- "Crypto.SelfTest.IO",
|
||||
- "Crypto.SelfTest.Protocol",
|
||||
- "Crypto.SelfTest.PublicKey",
|
||||
- "Crypto.SelfTest.Random",
|
||||
- "Crypto.SelfTest.Signature",
|
||||
- "Crypto.SelfTest.Util",
|
||||
- "Crypto.SelfTest.Math",
|
||||
]
|
||||
package_dir = {"Crypto": "lib/Crypto"}
|
||||
package_data = {
|
||||
@@ -268,30 +258,6 @@
|
||||
"Crypto.Signature" : [ "*.pyi" ],
|
||||
"Crypto.IO" : [ "*.pyi" ],
|
||||
"Crypto.Util" : [ "*.pyi" ],
|
||||
- "Crypto.SelfTest.Cipher" : [
|
||||
- "test_vectors/AES/*.rsp",
|
||||
- "test_vectors/TDES/*.rsp",
|
||||
- "test_vectors/wycheproof/*.json",
|
||||
- ],
|
||||
- "Crypto.SelfTest.Hash" : [
|
||||
- "test_vectors/SHA1/*.rsp",
|
||||
- "test_vectors/SHA2/*.rsp",
|
||||
- "test_vectors/SHA3/*.txt",
|
||||
- "test_vectors/keccak/*.txt",
|
||||
- "test_vectors/BLAKE2s/*.txt",
|
||||
- "test_vectors/BLAKE2b/*.txt",
|
||||
- "test_vectors/wycheproof/*.json",
|
||||
- ],
|
||||
- "Crypto.SelfTest.Signature" : [
|
||||
- "test_vectors/DSA/*.*",
|
||||
- "test_vectors/ECDSA/*.*",
|
||||
- "test_vectors/PKCS1-v1.5/*.*",
|
||||
- "test_vectors/PKCS1-PSS/*.*",
|
||||
- "test_vectors/wycheproof/*.json",
|
||||
- ],
|
||||
- "Crypto.SelfTest.PublicKey" : [
|
||||
- "test_vectors/ECC/*.*",
|
||||
- ],
|
||||
}
|
||||
|
||||
system_bits = 8 * struct.calcsize("P")
|
73
lang/python/python-cryptodomex/Makefile
Normal file
73
lang/python/python-cryptodomex/Makefile
Normal file
|
@ -0,0 +1,73 @@
|
|||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=python-cryptodomex
|
||||
PKG_VERSION:=3.7.3
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=pycryptodomex-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycryptodomex
|
||||
PKG_HASH:=b70fe991564e178af02ccf89435a8f9e8d052707a7c4b95bf6027cb785da3175
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cryptodomex-$(PKG_VERSION)
|
||||
|
||||
PKG_LICENSE:=BSD-2-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE.rst
|
||||
PKG_MAINTAINER:=Richard Yu <yurichard3839@gmail.com>
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include ../python-package.mk
|
||||
include ../python3-package.mk
|
||||
|
||||
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
|
||||
|
||||
PYTHON_PKG_SETUP_ARGS:=
|
||||
PYTHON_PKG_SETUP_VARS:= \
|
||||
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
|
||||
|
||||
PYTHON3_PKG_SETUP_ARGS:=
|
||||
PYTHON3_PKG_SETUP_VARS:= \
|
||||
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
|
||||
|
||||
define Package/python-cryptodomex/Default
|
||||
SECTION:=lang-python
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Python
|
||||
TITLE:=A self-contained cryptographic library for Python
|
||||
URL:=https://www.pycryptodome.org/
|
||||
DEPENDS:=+libgmp
|
||||
endef
|
||||
|
||||
define Package/python-cryptodomex
|
||||
$(call Package/python-cryptodomex/Default)
|
||||
DEPENDS+=+PACKAGE_python-cryptodomex:python
|
||||
VARIANT:=python
|
||||
endef
|
||||
|
||||
define Package/python3-cryptodomex
|
||||
$(call Package/python-cryptodomex/Default)
|
||||
DEPENDS+=+PACKAGE_python3-cryptodomex:python3
|
||||
VARIANT:=python3
|
||||
endef
|
||||
|
||||
define Package/python-cryptodomex/description
|
||||
PyCryptodome is a self-contained Python package of low-level
|
||||
cryptographic primitives.
|
||||
endef
|
||||
|
||||
define Package/python3-cryptodomex/description
|
||||
$(call Package/python-cryptodomex/description)
|
||||
.
|
||||
(Variant for Python3)
|
||||
endef
|
||||
|
||||
$(eval $(call PyPackage,python-cryptodomex))
|
||||
$(eval $(call BuildPackage,python-cryptodomex))
|
||||
$(eval $(call BuildPackage,python-cryptodomex-src))
|
||||
|
||||
$(eval $(call Py3Package,python3-cryptodomex))
|
||||
$(eval $(call BuildPackage,python3-cryptodomex))
|
||||
$(eval $(call BuildPackage,python3-cryptodomex-src))
|
|
@ -0,0 +1,11 @@
|
|||
--- a/lib/Cryptodome/Math/_IntegerGMP.py
|
||||
+++ b/lib/Cryptodome/Math/_IntegerGMP.py
|
||||
@@ -92,7 +92,7 @@ gmp_defs = """typedef unsigned long UNIX_ULONG;
|
||||
int __gmpz_divisible_ui_p (const mpz_t n, UNIX_ULONG d);
|
||||
"""
|
||||
|
||||
-lib = load_lib("gmp", gmp_defs)
|
||||
+lib = load_lib("libgmp.so.10", gmp_defs)
|
||||
implementation = {"library": "gmp", "api": backend}
|
||||
|
||||
if hasattr(lib, "__mpir_version"):
|
50
lang/python/python-cryptodomex/patches/002-omit-tests.patch
Normal file
50
lang/python/python-cryptodomex/patches/002-omit-tests.patch
Normal file
|
@ -0,0 +1,50 @@
|
|||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -245,16 +245,6 @@
|
||||
"Crypto.Signature",
|
||||
"Crypto.Util",
|
||||
"Crypto.Math",
|
||||
- "Crypto.SelfTest",
|
||||
- "Crypto.SelfTest.Cipher",
|
||||
- "Crypto.SelfTest.Hash",
|
||||
- "Crypto.SelfTest.IO",
|
||||
- "Crypto.SelfTest.Protocol",
|
||||
- "Crypto.SelfTest.PublicKey",
|
||||
- "Crypto.SelfTest.Random",
|
||||
- "Crypto.SelfTest.Signature",
|
||||
- "Crypto.SelfTest.Util",
|
||||
- "Crypto.SelfTest.Math",
|
||||
]
|
||||
package_dir = {"Crypto": "lib/Crypto"}
|
||||
package_data = {
|
||||
@@ -268,30 +258,6 @@
|
||||
"Crypto.Signature" : [ "*.pyi" ],
|
||||
"Crypto.IO" : [ "*.pyi" ],
|
||||
"Crypto.Util" : [ "*.pyi" ],
|
||||
- "Crypto.SelfTest.Cipher" : [
|
||||
- "test_vectors/AES/*.*",
|
||||
- "test_vectors/TDES/*.*",
|
||||
- "test_vectors/wycheproof/*.*",
|
||||
- ],
|
||||
- "Crypto.SelfTest.Hash" : [
|
||||
- "test_vectors/SHA1/*.*",
|
||||
- "test_vectors/SHA2/*.*",
|
||||
- "test_vectors/SHA3/*.*",
|
||||
- "test_vectors/keccak/*.*",
|
||||
- "test_vectors/BLAKE2s/*.*",
|
||||
- "test_vectors/BLAKE2b/*.*",
|
||||
- "test_vectors/wycheproof/*.*",
|
||||
- ],
|
||||
- "Crypto.SelfTest.Signature" : [
|
||||
- "test_vectors/DSA/*.*",
|
||||
- "test_vectors/ECDSA/*.*",
|
||||
- "test_vectors/PKCS1-v1.5/*.*",
|
||||
- "test_vectors/PKCS1-PSS/*.*",
|
||||
- "test_vectors/wycheproof/*.*",
|
||||
- ],
|
||||
- "Crypto.SelfTest.PublicKey" : [
|
||||
- "test_vectors/ECC/*.*",
|
||||
- ],
|
||||
}
|
||||
|
||||
system_bits = 8 * struct.calcsize("P")
|
Loading…
Reference in New Issue
Block a user