python-m2crypto.inc 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. SUMMARY = "A Python crypto and SSL toolkit"
  2. HOMEPAGE = "https://gitlab.com/m2crypto/m2crypto"
  3. LICENSE = "MIT"
  4. LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
  5. FILESEXTRAPATHS_prepend := "${THISDIR}/python-m2crypto:"
  6. SRC_URI += "file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch \
  7. file://cross-compile-platform.patch \
  8. file://m2crypto-0.26.4-gcc_macros.patch \
  9. "
  10. SRC_URI[md5sum] = "7fce3cbf85eb84a669682892b935746b"
  11. SRC_URI[sha256sum] = "a1b2751cdadc6afac3df8a5799676b7b7c67a6ad144bb62d38563062e7cd3fc6"
  12. PYPI_PACKAGE = "M2Crypto"
  13. inherit pypi siteinfo
  14. DEPENDS += "openssl swig-native"
  15. RDEPENDS_${PN} += "\
  16. ${PYTHON_PN}-datetime \
  17. ${PYTHON_PN}-distutils \
  18. ${PYTHON_PN}-logging \
  19. ${PYTHON_PN}-netclient \
  20. ${PYTHON_PN}-netserver \
  21. ${PYTHON_PN}-numbers \
  22. ${PYTHON_PN}-smtpd \
  23. ${PYTHON_PN}-xmlrpc \
  24. "
  25. DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
  26. DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
  27. SWIG_FEATURES_x86 = "-D__i386__"
  28. SWIG_FEATURES_x32 = "-D__ILP32__"
  29. SWIG_FEATURES ?= "-D__${HOST_ARCH}__"
  30. export SWIG_FEATURES
  31. # Get around a problem with swig, but only if the
  32. # multilib header file exists.
  33. #
  34. do_configure_prepend() {
  35. ${CPP} -dM - < /dev/null | grep -v '__\(STDC\|REGISTER_PREFIX\|GNUC\|STDC_HOSTED\)__' \
  36. | sed 's/^\(#define \([^ ]*\) .*\)$/#undef \2\n\1/' > ${S}/SWIG/gcc_macros.h
  37. if [ "${SITEINFO_BITS}" = "64" ];then
  38. bit="64"
  39. else
  40. bit="32"
  41. fi
  42. if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then
  43. for i in SWIG/_ec.i SWIG/_evp.i; do
  44. sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "${S}/$i"
  45. done
  46. elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then
  47. for i in SWIG/_ec.i SWIG/_evp.i; do
  48. sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "${S}/$i"
  49. done
  50. fi
  51. }
  52. BBCLASSEXTEND = "native"