From 047d078f86b32dcde934c89c456798cafa6d59e7 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 2 Mar 2017 01:08:35 +0000 Subject: [PATCH 1/4] pycrypto: remove package --- packages/python/security/pycrypto/package.mk | 56 ------------------- .../patches/pycrypto-2.6-setuptools.patch | 12 ---- 2 files changed, 68 deletions(-) delete mode 100644 packages/python/security/pycrypto/package.mk delete mode 100644 packages/python/security/pycrypto/patches/pycrypto-2.6-setuptools.patch diff --git a/packages/python/security/pycrypto/package.mk b/packages/python/security/pycrypto/package.mk deleted file mode 100644 index d2cd78bbf3..0000000000 --- a/packages/python/security/pycrypto/package.mk +++ /dev/null @@ -1,56 +0,0 @@ -################################################################################ -# This file is part of OpenELEC - http://www.openelec.tv -# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) -# -# OpenELEC is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# OpenELEC is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenELEC. If not, see . -################################################################################ - -PKG_NAME="pycrypto" -PKG_VERSION="2.6.1" -PKG_ARCH="any" -PKG_LICENSE="LGPL" -PKG_SITE="https://www.dlitz.net/software/pycrypto/" -PKG_URL="http://pypi.python.org/packages/source/p/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python distutilscross:host" -PKG_SECTION="python/security" -PKG_SHORTDESC="PyCrypto - The Python Cryptography Toolkit" -PKG_LONGDESC="The Python Cryptography Toolkit describes a package containing various cryptographic modules for the Python programming language" - -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" - -PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_realloc_0_nonnull=yes \ - ac_cv_func_malloc_0_nonnull=yes \ - --without-gmp --without-mpir" - -pre_configure_target() { - cd $PKG_BUILD - rm -rf .$TARGET_NAME - - export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" -# export LDFLAGS="$LDFLAGS -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib" - export LDSHARED="$CC -shared" -} - -make_target() { - python setup.py build --cross-compile -} - -makeinstall_target() { - python setup.py install --root=$INSTALL --prefix=/usr -} - -post_makeinstall_target() { - find $INSTALL/usr/lib -name "*.py" -exec rm -rf "{}" ";" -} diff --git a/packages/python/security/pycrypto/patches/pycrypto-2.6-setuptools.patch b/packages/python/security/pycrypto/patches/pycrypto-2.6-setuptools.patch deleted file mode 100644 index 14af65ffce..0000000000 --- a/packages/python/security/pycrypto/patches/pycrypto-2.6-setuptools.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur pycrypto-2.6/setup.py pycrypto-2.6.patch/setup.py ---- pycrypto-2.6/setup.py 2012-05-24 14:55:30.000000000 +0200 -+++ pycrypto-2.6.patch/setup.py 2012-06-03 03:58:00.599383392 +0200 -@@ -38,7 +38,7 @@ - - from distutils import core - from distutils.ccompiler import new_compiler --from distutils.core import Extension, Command -+from setuptools import Extension, Command - from distutils.command.build import build - from distutils.command.build_ext import build_ext - import os, sys, re From a5c8f44d5233b30bc63d57447ec3cb239394fe9a Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 2 Mar 2017 01:08:35 +0000 Subject: [PATCH 2/4] pycryptodome: add package --- .../python/security/pycryptodome/package.mk | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 packages/python/security/pycryptodome/package.mk diff --git a/packages/python/security/pycryptodome/package.mk b/packages/python/security/pycryptodome/package.mk new file mode 100644 index 0000000000..18cb35ffd1 --- /dev/null +++ b/packages/python/security/pycryptodome/package.mk @@ -0,0 +1,55 @@ +################################################################################ +# This file is part of LibreELEC - http://www.libreelec.tv +# Copyright (C) 2017 Team LibreELEC +# +# LibreELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# LibreELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LibreELEC. If not, see . +################################################################################ + +PKG_NAME="pycryptodome" +PKG_VERSION="3.4.5" +PKG_ARCH="any" +PKG_LICENSE="BSD" +PKG_SITE="https://pypi.python.org/pypi/pycryptodome" +PKG_URL="https://files.pythonhosted.org/packages/source/p/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain Python distutilscross:host" +PKG_SECTION="python/security" +PKG_SHORTDESC="Cryptographic library for Python" +PKG_LONGDESC="PyCryptodome is a self-contained Python package of low-level cryptographic primitives." + +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" + +pre_configure_target() { + cd $PKG_BUILD + rm -rf .$TARGET_NAME + + export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr" + export LDSHARED="$CC -shared" +} + +make_target() { + python setup.py build --cross-compile +} + +makeinstall_target() { + python setup.py install --root=$INSTALL --prefix=/usr + + # Remove SelfTest bloat + find $INSTALL -type d -name SelfTest -exec rm -fr "{}" \; 2>/dev/null || true + find $INSTALL -name SOURCES.txt -exec sed -i "/\/SelfTest\//d;" "{}" \; +} + +post_makeinstall_target() { + find $INSTALL/usr/lib -name "*.py" -exec rm -rf "{}" ";" +} From 2bc7b5c80e012af9b21c477faf86cd44aa257851 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 2 Mar 2017 01:08:35 +0000 Subject: [PATCH 3/4] mediacenter: switch from pycrypto to pycryptodome --- packages/virtual/mediacenter/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/virtual/mediacenter/package.mk b/packages/virtual/mediacenter/package.mk index a686afce07..2089f4eb0c 100644 --- a/packages/virtual/mediacenter/package.mk +++ b/packages/virtual/mediacenter/package.mk @@ -40,7 +40,7 @@ if [ "$MEDIACENTER" = "kodi" ]; then # some python stuff needed for various addons PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET Pillow \ simplejson \ - pycrypto" + pycryptodome" # other packages PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET LibreELEC-settings \ xmlstarlet \ From a373f372caabd93cd84fa530919b135493a1b569 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Thu, 2 Mar 2017 14:53:03 +0000 Subject: [PATCH 4/4] Cryptodome: add alternative namespace support --- packages/python/security/pycryptodome/package.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/python/security/pycryptodome/package.mk b/packages/python/security/pycryptodome/package.mk index 18cb35ffd1..46367f499f 100644 --- a/packages/python/security/pycryptodome/package.mk +++ b/packages/python/security/pycryptodome/package.mk @@ -48,6 +48,9 @@ makeinstall_target() { # Remove SelfTest bloat find $INSTALL -type d -name SelfTest -exec rm -fr "{}" \; 2>/dev/null || true find $INSTALL -name SOURCES.txt -exec sed -i "/\/SelfTest\//d;" "{}" \; + + # Create Cryptodome as an alternative namespace to Crypto (Kodi addons may use either) + ln -sf /usr/lib/python2.7/site-packages/Crypto $INSTALL/usr/lib/python2.7/site-packages/Cryptodome } post_makeinstall_target() {