Skip to content

Commit

Permalink
Merge pull request openwrt#1900 from jefferyto/python-crypto
Browse files Browse the repository at this point in the history
python-crypto: import pycrypto from old packages feed
  • Loading branch information
sbyx committed Nov 2, 2015
2 parents 5807c83 + a69543b commit e12737f
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 0 deletions.
54 changes: 54 additions & 0 deletions lang/python-crypto/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#
# Copyright (C) 2009-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=pycrypto
PKG_VERSION:=2.6.1
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/
PKG_MD5SUM:=55a61a054aa66812daf5161a0d5d7eda

PKG_LICENSE:=Public Domain
PKG_LICENSE_FILES:=COPYRIGHT
PKG_MAINTAINER:=Jeffery To <[email protected]>

include $(INCLUDE_DIR)/package.mk
$(call include_mk, python-package.mk)

define Package/python-crypto
SECTION:=lang-python
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=python-crypto
URL:=http://www.pycrypto.org/
DEPENDS:=+python +libgmp
endef

define Package/python-crypto/description
A collection of both secure hash functions (such as MD5 and SHA),
and various encryption algorithms (AES, DES, IDEA, RSA, ElGamal, etc.).
endef

define Build/Compile
$(call Build/Compile/PyMod,,\
install --prefix=/usr --root=$(PKG_INSTALL_DIR),\
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)" \
)
endef

define Package/python-crypto/install
$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/
$(CP) \
$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
$(1)$(PYTHON_PKG_DIR)/
endef

$(eval $(call PyPackage,python-crypto))
$(eval $(call BuildPackage,python-crypto))
11 changes: 11 additions & 0 deletions lang/python-crypto/patches/001-no-host-paths.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/setup.py
+++ b/setup.py
@@ -370,7 +370,7 @@ kw = {'name':"pycrypto",
'ext_modules': plat_ext + [
# _fastmath (uses GNU mp library)
Extension("Crypto.PublicKey._fastmath",
- include_dirs=['src/','/usr/include/'],
+ include_dirs=['src/'],
libraries=['gmp'],
sources=["src/_fastmath.c"]),

13 changes: 13 additions & 0 deletions lang/python-crypto/patches/002-fix-endianness-detect.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
--- a/setup.py
+++ b/setup.py
@@ -100,6 +100,10 @@
w(kwd.get("end", "\n"))

def endianness_macro():
+ if os.environ["CONFIG_BIG_ENDIAN"] == "y":
+ return ('PCT_BIG_ENDIAN', 1)
+ else:
+ return ('PCT_LITTLE_ENDIAN', 1)
s = struct.pack("@I", 0x33221100)
if s == "\x00\x11\x22\x33".encode(): # little endian
return ('PCT_LITTLE_ENDIAN', 1)

0 comments on commit e12737f

Please sign in to comment.