diff --git a/bitbake/ccid/ccid-1.3.13/ccid-1.3.13.patch b/bitbake/ccid/ccid-1.3.13/ccid-1.3.13.patch deleted file mode 100755 index 3a15c77..0000000 --- a/bitbake/ccid/ccid-1.3.13/ccid-1.3.13.patch +++ /dev/null @@ -1,293 +0,0 @@ -Index: ccid-1.3.13/src/ifdhandler.c -=================================================================== ---- ccid-1.3.13/src/ifdhandler.c (Revision 4979) -+++ ccid-1.3.13/src/ifdhandler.c (Arbeitskopie) -@@ -1384,6 +1384,16 @@ - iBytesReturned += sizeof(PCSC_TLV_STRUCTURE); - } - -+ if (ccid_descriptor -> bPINSupport & CCID_CLASS_PIN_PACE_CAPABILITIES) -+ { -+ pcsc_tlv -> tag = FEATURE_EXECUTE_PACE; -+ pcsc_tlv -> length = 0x04; /* always 0x04 */ -+ pcsc_tlv -> value = htonl(IOCTL_FEATURE_EXECUTE_PACE); -+ -+ pcsc_tlv++; -+ iBytesReturned += sizeof(PCSC_TLV_STRUCTURE); -+ } -+ - /* We can always forward wLcdLayout */ - pcsc_tlv -> tag = FEATURE_IFD_PIN_PROPERTIES; - pcsc_tlv -> length = 0x04; /* always 0x04 */ -@@ -1548,6 +1558,43 @@ - } - } - -+ if (IOCTL_FEATURE_EXECUTE_PACE == dwControlCode) -+ { -+ if (TxLength < 3 || !TxBuffer) { -+ DEBUG_CRITICAL("Buffer too small, could not determine length of " -+ "input data"); -+ return_value = IFD_COMMUNICATION_ERROR; -+ } else { -+ uint16_t lengthInputData; -+ lengthInputData = *((uint16_t *) (TxBuffer + 1)); -+ -+ if (TxLength != 3+lengthInputData) { -+ DEBUG_CRITICAL3("Buffer too small or too big to contain only " -+ "function index and input data (expected %u, got %u)", -+ 3+lengthInputData, TxLength); -+ return_value = IFD_COMMUNICATION_ERROR; -+ } else { -+ unsigned int iBytesReturned; -+ iBytesReturned = RxLength; -+ -+ if (*TxBuffer == 1) { -+ return_value = SecurePINPACECapabilities(reader_index, -+ TxBuffer + 3, lengthInputData, -+ RxBuffer, &iBytesReturned); -+ *pdwBytesReturned = iBytesReturned; -+ } else if (*TxBuffer == 2) { -+ return_value = SecurePINPACEVerify(reader_index, -+ TxBuffer + 3, lengthInputData, -+ RxBuffer, &iBytesReturned); -+ *pdwBytesReturned = iBytesReturned; -+ } else { -+ DEBUG_CRITICAL2("Unknown PACE function %u", *TxBuffer); -+ return_value = IFD_COMMUNICATION_ERROR; -+ } -+ } -+ } -+ } -+ - if (IFD_SUCCESS != return_value) - *pdwBytesReturned = 0; - -Index: ccid-1.3.13/src/commands.c -=================================================================== ---- ccid-1.3.13/src/commands.c (Revision 4979) -+++ ccid-1.3.13/src/commands.c (Arbeitskopie) -@@ -68,7 +68,13 @@ - unsigned int tx_length, unsigned char tx_buffer[], unsigned int *rx_length, - unsigned char rx_buffer[]); - -+static RESPONSECODE SecurePINPACE(unsigned int reader_index, -+ unsigned char TxBuffer[], unsigned int TxLength, -+ unsigned char RxBuffer[], unsigned int *RxLength, -+ unsigned char bPINOperation); -+ - static void i2dw(int value, unsigned char *buffer); -+static void i2w(uint16_t value, unsigned char *buffer); - - - /***************************************************************************** -@@ -712,7 +718,144 @@ - return ret; - } /* SecurePINModify */ - -+RESPONSECODE SecurePINPACEVerify(unsigned int reader_index, -+ unsigned char TxBuffer[], unsigned int TxLength, -+ unsigned char RxBuffer[], unsigned int *RxLength) -+{ -+ RESPONSECODE return_value; -+ unsigned char lengthCHAT, lengthPIN; -+ uint16_t lengthCertificateDescription; -+ int old_read_timeout; -+ _ccid_descriptor *ccid_descriptor = get_ccid_descriptor(reader_index); - -+ old_read_timeout= ccid_descriptor -> readTimeout; -+ ccid_descriptor -> readTimeout = 30*1000; /* 30 seconds */ -+ -+ if (TxLength < 2) { -+ DEBUG_CRITICAL("Buffer too small, could not determine length of " -+ "CHAT"); -+ return_value = IFD_COMMUNICATION_ERROR; -+ goto err; -+ } -+ lengthCHAT = *(TxBuffer + 1); -+ -+ if (TxLength < 2+lengthCHAT) { -+ DEBUG_CRITICAL("Buffer too small, could not determine length of " -+ "PIN"); -+ return_value = IFD_COMMUNICATION_ERROR; -+ goto err; -+ } -+ lengthPIN = *(TxBuffer + 1 + lengthCHAT); -+ -+ if (TxLength < 3+lengthCHAT+lengthPIN) { -+ DEBUG_CRITICAL("Buffer too small, could not determine length of " -+ "certificate description"); -+ return_value = IFD_COMMUNICATION_ERROR; -+ goto err; -+ } -+ lengthCertificateDescription = *((uint16_t *) -+ (TxBuffer + 1 + lengthCHAT + lengthPIN)); -+ -+ if (TxLength != 5+lengthCHAT+lengthPIN+lengthCertificateDescription) { -+ DEBUG_CRITICAL3("Buffer too small or too big to contain only " -+ "CHAT, PIN and certificate description (expected %u, got %u)", -+ 5+lengthCHAT+lengthPIN+lengthCertificateDescription, TxLength); -+ return_value = IFD_COMMUNICATION_ERROR; -+ goto err; -+ } -+ -+ i2w(lengthCertificateDescription, TxBuffer + 1 + lengthCHAT + lengthPIN); -+ -+ /* bPINOperation: PIN PACE Capabilities */ -+ return_value = SecurePINPACE(reader_index, TxBuffer, TxLength, RxBuffer, -+ RxLength, CCID_CLASS_PIN_PACE_EXECUTE); -+ -+err: -+ ccid_descriptor -> readTimeout = old_read_timeout; -+ return return_value; -+} -+ -+RESPONSECODE SecurePINPACECapabilities(unsigned int reader_index, -+ unsigned char TxBuffer[], unsigned int TxLength, -+ unsigned char RxBuffer[], unsigned int *RxLength) -+{ -+ /* bPINOperation: PIN PACE Capabilities */ -+ return SecurePINPACE(reader_index, TxBuffer, TxLength, RxBuffer, -+ RxLength, CCID_CLASS_PIN_PACE_CAPABILITIES); -+} -+ -+static RESPONSECODE SecurePINPACE(unsigned int reader_index, -+ unsigned char TxBuffer[], unsigned int TxLength, -+ unsigned char RxBuffer[], unsigned int *RxLength, -+ unsigned char bPINOperation) -+{ -+ unsigned char cmd[11+CMD_BUF_SIZE]; -+ unsigned int length; -+ _ccid_descriptor *ccid_descriptor = get_ccid_descriptor(reader_index); -+ status_t res; -+ -+ cmd[0] = 0x69; /* Secure */ -+ i2dw(TxLength, cmd+1); /* dwLength */ -+ cmd[5] = ccid_descriptor->bCurrentSlotIndex; /* slot number */ -+ cmd[6] = (*ccid_descriptor->pbSeq)++; -+ cmd[7] = 0; /* bBWI */ -+ cmd[8] = 0; /* wLevelParameter */ -+ cmd[9] = 0; -+ cmd[10] = bPINOperation; -+ -+ memcpy(cmd + 11, TxBuffer, TxLength); -+ -+ res = WritePort(reader_index, 11 + TxLength, cmd); -+ if (res != STATUS_SUCCESS) -+ { -+ if (STATUS_NO_SUCH_DEVICE == res) -+ return IFD_NO_SUCH_DEVICE; -+ return IFD_COMMUNICATION_ERROR; -+ } -+ -+ length = sizeof(cmd); -+ res = ReadPort(reader_index, &length, cmd); -+ if (res != STATUS_SUCCESS) -+ { -+ if (STATUS_NO_SUCH_DEVICE == res) -+ return IFD_NO_SUCH_DEVICE; -+ return IFD_COMMUNICATION_ERROR; -+ } -+ -+ if (length < STATUS_OFFSET+1) -+ { -+ DEBUG_CRITICAL2("Not enough data received: %d bytes", length); -+ return IFD_COMMUNICATION_ERROR; -+ } -+ -+ if (cmd[STATUS_OFFSET] & CCID_COMMAND_FAILED) -+ { -+ ccid_error(cmd[ERROR_OFFSET], __FILE__, __LINE__, __FUNCTION__); /* bError */ -+ return IFD_COMMUNICATION_ERROR; -+ } -+ -+ /* we have read less (or more) data than the CCID frame says to contain */ -+ if (length-10 != dw2i(cmd, 1)) -+ { -+ DEBUG_CRITICAL3("Can't read all data (%d out of %d expected)", -+ length-10, dw2i(cmd, 1)); -+ return IFD_COMMUNICATION_ERROR; -+ } -+ -+ length = dw2i(cmd, 1); -+ if (length <= *RxLength) -+ *RxLength = length; -+ else -+ { -+ DEBUG_CRITICAL2("overrun by %d bytes", length - *RxLength); -+ length = *RxLength; -+ return IFD_ERROR_INSUFFICIENT_BUFFER; -+ } -+ -+ return IFD_SUCCESS; -+} -+ -+ - /***************************************************************************** - * - * Escape -@@ -2113,3 +2256,15 @@ - buffer[3] = (value >> 24) & 0xFF; - } /* i2dw */ - -+ -+/***************************************************************************** -+ * -+ * i2w -+ * -+ ****************************************************************************/ -+static void i2w(uint16_t value, unsigned char buffer[]) -+{ -+ buffer[0] = value & 0xFF; -+ buffer[1] = (value >> 8) & 0xFF; -+} /* i2w */ -+ -Index: ccid-1.3.13/src/commands.h -=================================================================== ---- ccid-1.3.13/src/commands.h (Revision 4979) -+++ ccid-1.3.13/src/commands.h (Arbeitskopie) -@@ -37,6 +37,14 @@ - unsigned char TxBuffer[], unsigned int TxLength, - unsigned char RxBuffer[], unsigned int *RxLength); - -+RESPONSECODE SecurePINPACECapabilities(unsigned int reader_index, -+ unsigned char TxBuffer[], unsigned int TxLength, -+ unsigned char RxBuffer[], unsigned int *RxLength); -+ -+RESPONSECODE SecurePINPACEVerify(unsigned int reader_index, -+ unsigned char TxBuffer[], unsigned int TxLength, -+ unsigned char RxBuffer[], unsigned int *RxLength); -+ - RESPONSECODE CmdEscape(unsigned int reader_index, - const unsigned char TxBuffer[], unsigned int TxLength, - unsigned char RxBuffer[], unsigned int *RxLength); -Index: ccid-1.3.13/src/ccid.h -=================================================================== ---- ccid-1.3.13/src/ccid.h (Revision 4979) -+++ ccid-1.3.13/src/ccid.h (Arbeitskopie) -@@ -142,8 +142,10 @@ - #define CCID_CLASS_EXCHANGE_MASK 0x00070000 - - /* Features from bPINSupport */ --#define CCID_CLASS_PIN_VERIFY 0x01 --#define CCID_CLASS_PIN_MODIFY 0x02 -+#define CCID_CLASS_PIN_VERIFY 0x01 -+#define CCID_CLASS_PIN_MODIFY 0x02 -+#define CCID_CLASS_PIN_PACE_CAPABILITIES 0x10 -+#define CCID_CLASS_PIN_PACE_EXECUTE 0x20 - - /* See CCID specs ch. 4.2.1 */ - #define CCID_ICC_PRESENT_ACTIVE 0x00 /* 00 0000 00 */ -Index: ccid-1.3.13/src/ccid_ifdhandler.h -=================================================================== ---- ccid-1.3.13/src/ccid_ifdhandler.h (Revision 4979) -+++ ccid-1.3.13/src/ccid_ifdhandler.h (Arbeitskopie) -@@ -37,6 +37,8 @@ - SCARD_CTL_CODE(FEATURE_IFD_PIN_PROPERTIES + CLASS2_IOCTL_MAGIC) - #define IOCTL_FEATURE_GET_TLV_PROPERTIES \ - SCARD_CTL_CODE(FEATURE_GET_TLV_PROPERTIES + CLASS2_IOCTL_MAGIC) -+#define IOCTL_FEATURE_EXECUTE_PACE \ -+ SCARD_CTL_CODE(FEATURE_EXECUTE_PACE + CLASS2_IOCTL_MAGIC) - - #define DRIVER_OPTION_CCID_EXCHANGE_AUTHORIZED 1 - #define DRIVER_OPTION_GEMPC_TWIN_KEY_APDU 2 diff --git a/bitbake/ccid/ccid_1.3.13.bb b/bitbake/ccid/ccid_1.3.13.bb deleted file mode 100644 index ce3b148..0000000 --- a/bitbake/ccid/ccid_1.3.13.bb +++ /dev/null @@ -1,25 +0,0 @@ -DESCRIPTION = "Generic USB CCID smart card reader driver" -HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html" -LICENSE = "GPL" -PR = "r0" - -DEPENDS = "virtual/libusb1 pcsc-lite" -RDEPENDS = "pcsc-lite" - -SRC_URI = "http://alioth.debian.org/download.php/3300/ccid-${PV}.tar.bz2 \ - file://ccid-1.3.13.patch;apply=yes" - -inherit autotools - -EXTRA_OECONF = "--enable-udev" - -do_install_append () { - install -d "${D}/etc/udev/rules.d" - install -m 644 "${S}/src/pcscd_ccid.rules" "${D}/etc/udev/rules.d/85-pcscd_ccid.rules" -} - -FILES_${PN} += "${libdir}/pcsc/" -FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug" - -SRC_URI[md5sum] = "275360cb253299b763e1122adf847265" -SRC_URI[sha256sum] = "f797b08874c1f9b2b4afe4ada8ef3400ce4da6bf965a24a6cf7f29d82cbf8c53" diff --git a/bitbake/ccid/ccid_1.4.4.bb b/bitbake/ccid/ccid_1.4.4.bb new file mode 100644 index 0000000..cb3f013 --- /dev/null +++ b/bitbake/ccid/ccid_1.4.4.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Generic USB CCID smart card reader driver" +HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" +PR = "r0" + +DEPENDS = "virtual/libusb0 pcsc-lite" +RDEPENDS_${PN} = "pcsc-lite" + +SRC_URI = "https://alioth.debian.org/frs/download.php/3579/ccid-${PV}.tar.bz2 \ + file://ccid-1.4.4.patch;apply=yes" + +SRC_URI[md5sum] = "79ef91103bcdd99a3b31cb5c5721a829" +SRC_URI[sha256sum] = "953e430d2e37a67b99041f584249085656d73e72390dfe40589f4dd5c367edd0" + +inherit autotools + +FILES_${PN} += "${libdir}/pcsc/" +FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug" diff --git a/bitbake/ccid/ccid_1.4.4/ccid-1.4.4.patch b/bitbake/ccid/ccid_1.4.4/ccid-1.4.4.patch new file mode 120000 index 0000000..8d8d0d2 --- /dev/null +++ b/bitbake/ccid/ccid_1.4.4/ccid-1.4.4.patch @@ -0,0 +1 @@ +../../../ccid/patches/ccid-1.4.4.patch \ No newline at end of file diff --git a/bitbake/opensc/opensc.bb b/bitbake/opensc/opensc.bb new file mode 100644 index 0000000..7d5a3ba --- /dev/null +++ b/bitbake/opensc/opensc.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "A set of libraries and utilities to work with smart cards" +HOMEPAGE = "http://www.opensc-project.org/opensc" +LICENSE = "LGPL" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" + +DEPENDS = "pcsc-lite openssl" + +LEAD_SONAME = "libopensc" + +LIBS += "-ldl" + +SRC_URI = "git://github.com/frankmorgner/OpenSC.git;" +SRCREV = "d818628bf9c62c750710649b0b234bc71eec4ee9" +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-pcsc=yes LIBS=-ldl \ + --with-pcsc-provider=${libdir}/libpcsclite.so.1 \ + " + +#FIXME +FILES_${PN} += "${libdir}/pkcs11-spy.so \ + ${libdir}/opensc-pkcs11.so \ + ${libdir}/onepin-opensc-pkcs11.so \ + ${libdir}/pkcs11/pkcs11-spy.so \ + ${libdir}/pkcs11/opensc-pkcs11.so \ + ${libdir}/pkcs11/onepin-opensc-pkcs11.so \ + " +FILES_${PN}-dbg += "${libdir}/pkcs11/.debug" + +SRC_URI[md5sum] = "62fe8d3ed1864556c1970d7c23d8d58e" +SRC_URI[sha256sum] = "e9b5812dd8024484c6bb7400fb3e638aca2e9b112a7ffb161c300fe2260b28c8" diff --git a/bitbake/opensc/opensc_0.12.0.bb b/bitbake/opensc/opensc_0.12.0.bb deleted file mode 100755 index 6d8bbf3..0000000 --- a/bitbake/opensc/opensc_0.12.0.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "A set of libraries and utilities to work with smart cards" -HOMEPAGE = "http://www.opensc-project.org/opensc" -LICENSE = "LGPL" - -DEPENDS = "pcsc-lite openssl" -RDEPENDS = "libcrypto libpcsclite" - -LEAD_SONAME = "libopensc" - -SRC_URI = "http://www.opensc-project.org/files/opensc/opensc-${PV}.tar.gz;" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-pcsc=yes \ - --with-pcsc-provider=${libdir}/libpcsclite.so.1 \ - " - -FILES_${PN} += "${libdir}/libopensc.so.*" - -PACKAGES += "libpkcs11" -FILES_libpkcs11 = "${libdir}/pkcs11/*.so ${libdir}/pkcs11-spy.so ${libdir}/opensc-pkcs11.so ${libdir}/onepin-opensc-pkcs11.so" - -SRC_URI[md5sum] = "630fa3b8717d22a1d069d120153a0c52" -SRC_URI[sha256sum] = "84f8a8e1825e487d321390f0650c590334c76f81291d2eb5a315ad73459d2f6f" diff --git a/bitbake/pcsc-lite/files/pcscd.init b/bitbake/pcsc-lite/files/pcscd.init deleted file mode 100755 index 92385ab..0000000 --- a/bitbake/pcsc-lite/files/pcscd.init +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -DAEMON=/usr/sbin/pcscd -NAME=pcscd -DESC="PCSC Daemon" -PIDFILE=/var/run/pcscd/pcscd.pid -ARGS="" - -test -f $DAEMON || exit 0 - -case "$1" in - start) - echo -n "Starting $DESC: $NAME" - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $ARGS - echo "." - ;; - stop) - echo -n "Stopping $DESC: $NAME" - start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON - echo "." - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 - ;; -esac - -exit 0 diff --git a/bitbake/pcsc-lite/pcsc-lite-1.6.1/pcsc-lite-1.6.1.patch b/bitbake/pcsc-lite/pcsc-lite-1.6.1/pcsc-lite-1.6.1.patch deleted file mode 100755 index e2de056..0000000 --- a/bitbake/pcsc-lite/pcsc-lite-1.6.1/pcsc-lite-1.6.1.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: pcsc-lite-1.6.1/src/PCSC/reader.h.in -=================================================================== ---- pcsc-lite-1.6.1/src/PCSC/reader.h.in (Revision 4978) -+++ pcsc-lite-1.6.1/src/PCSC/reader.h.in (Arbeitskopie) -@@ -121,6 +121,7 @@ - #define FEATURE_IFD_DISPLAY_PROPERTIES 0x11 - #define FEATURE_GET_TLV_PROPERTIES 0x12 - #define FEATURE_CCID_ESC_COMMAND 0x13 -+#define FEATURE_EXECUTE_PACE 0x20 - - /* structures used (but not defined) in PC/SC Part 10: - * "IFDs with Secure Pin Entry Capabilities" */ diff --git a/bitbake/pcsc-lite/pcsc-lite_1.6.1.bb b/bitbake/pcsc-lite/pcsc-lite_1.6.1.bb deleted file mode 100644 index ce5ff70..0000000 --- a/bitbake/pcsc-lite/pcsc-lite_1.6.1.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "PC/SC Lite smart card framework and applications" -HOMEPAGE = "http://pcsclite.alioth.debian.org/" -LICENSE = "BSD" - -DEPENDS = "libusb1" -RDEPENDS_${PN} = "libusb1" - -SRC_URI = "https://alioth.debian.org/frs/download.php/3298/pcsc-lite-${PV}.tar.bz2 \ - file://pcscd.init \ - file://pcsc-lite-1.6.1.patch;apply=yes" - -inherit autotools update-rc.d - -INITSCRIPT_NAME = "pcscd" -INITSCRIPT_PARAMS = "defaults" - -EXTRA_OECONF = " --enable-libusb \ - --disable-libhal \ - --enable-usbdropdir=${libdir}/pcsc/drivers \ - " - -do_install() { - oe_runmake DESTDIR="${D}" install - install -d "${D}/etc/init.d" - install -m 755 "${WORKDIR}/pcscd.init" "${D}/etc/init.d/pcscd" -} - -PACKAGES =+ "libpcsclite" - -FILES_libpcsclite = "${libdir}/libpcsclite.so.*" - -SRC_URI[md5sum] = "ed023be61feebfafce12e86075912695" -SRC_URI[sha256sum] = "7094e8aefbf62f46fbcc2da11865a9730675cdceb0b3663f03a65ce65eedc91c" diff --git a/bitbake/pcsc-lite/pcsc-lite_1.7.2.bb b/bitbake/pcsc-lite/pcsc-lite_1.7.2.bb new file mode 100644 index 0000000..de980ff --- /dev/null +++ b/bitbake/pcsc-lite/pcsc-lite_1.7.2.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "PC/SC Lite smart card framework and applications" +HOMEPAGE = "http://pcsclite.alioth.debian.org/" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=c8e551349dc346258274f0007679e149" +DEPENDS = "udev" +RDEPENDS += "ccid" +PR = "r2" + +SRC_URI = "https://alioth.debian.org/frs/download.php/3533/pcsc-lite-${PV}.tar.bz2" + +SRC_URI[md5sum] = "47e7055cfc14399fdaa1b7a4aa06e5aa" +SRC_URI[sha256sum] = "41f13d552eaa2c3978fbb6f2125e81903a0767011d999052fd1a6ee03880b398" + +inherit autotools + +EXTRA_OECONF = " \ + --disable-libusb \ + --enable-libudev \ + --enable-usbdropdir=${libdir}/pcsc/drivers \ + " + +S = "${WORKDIR}/pcsc-lite-${PV}" + +PACKAGES =+ "${PN}-lib" + +FILES_${PN}-lib = "${libdir}/lib*${SOLIBS}" diff --git a/bitbake/python/python-pycrypto_2.0.1.bb b/bitbake/python/python-pycrypto_2.0.1.bb new file mode 100644 index 0000000..f1c94f4 --- /dev/null +++ b/bitbake/python/python-pycrypto_2.0.1.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A collection of cryptographic algorithms and protocols" +SECTION = "devel/python" +PRIORITY = "optional" +DEPENDS = "gmp" +SRCNAME = "pycrypto" +LICENSE = "pycrypto" +PR = "ml1" + +SRC_URI = "http://www.amk.ca/files/python/crypto/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +SRC_URI[md5sum] = "4d5674f3898a573691ffb335e8d749cd" +SRC_URI[sha256sum] = "b08d4ed54c9403c77778a3803e53a4f33f359b42d94f6f3e14abb1bf4941e6ea"