From patchwork Sun Jan 16 05:28:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2510 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A015C433EF for ; Sun, 16 Jan 2022 05:29:24 +0000 (UTC) Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by mx.groups.io with SMTP id smtpd.web08.29798.1642310963651688597 for ; Sat, 15 Jan 2022 21:29:23 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=TmTmSKR4; spf=pass (domain: gmail.com, ip: 209.85.214.180, mailfrom: ticotimo@gmail.com) Received: by mail-pl1-f180.google.com with SMTP id t18so16878483plg.9 for ; Sat, 15 Jan 2022 21:29:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=qvm1ghHXVUvx5TjDa0wEPqA10jJwOoUcKoTh0E/RIPU=; b=TmTmSKR4SWYLl7mt60/gJPVsQC+PdTd8v7HspA1WIPtjigpDe1mqX19+VA02FdcJQQ WfFOQhOA2zZe2lHQUtZpee57z0SwQ98M8yujTDGNKlO5Uvv6F+8Z76dRTFmEx+/jo+YO D33oaYJABjcBc0SyS08KDeL0BKZxMlV+oxu9/cjAx6gEaYOUr+T2h924YhYcghciFH0R nJRSXnWC6OR3jG4QqWrSnAIw0ubLTXVw5q8PU2RchZIcwPnzq7EMn64NoiehUG33zOib QOEI18SsX4KnvaO4WiuFo7I/h4GyS6y1w450sz7R8TCtkyV7DHpTMwfU/IuCwSplHtCv reRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qvm1ghHXVUvx5TjDa0wEPqA10jJwOoUcKoTh0E/RIPU=; b=AJD7atJVF+Irn+YMLSVSxkeHnZDlLbmi7xuKvGio6zKQD+9zWrBEWQiFBBx4/474oN 8WJzs3gEyUGczELIYS3cDWEBi3XcFBUqp/sQhzG6HMIS3yEPD0aOVfPCfdxiWAVS5Pg9 XcbPf4Qca1drMA3bxt7gsoAw/jJRk/9JbJIOhF7NnnX9w90o2TwiqASAqIsolsR0wdVq M/1xtWFqnWE23mYcqLAhEePTlZ5kU57q3pqeH4SFkRV83MC7hisckItKK868CGmUkREW OHaSsyNN5gSfpZRhLhaAJ2Gxz3Uj13/WWsOpfFPNYZvpsF1IIV/NhyDkBp03YTV6NhsA NdMg== X-Gm-Message-State: AOAM530LA7wWQtRDM0jmzytY0KTjyvdkG2F0C8BKvlvMoiWdwEVPjXw0 033bMRcdjDK1ucrG70KyEz7cyP8Qife6Xw== X-Google-Smtp-Source: ABdhPJzBpUO0hcGkKrXw8z5vfjecyRxb6BUr6t38anqnXMIco0LporycXFni5Gv5+9DPkG9TDj3bBg== X-Received: by 2002:a17:902:dad1:b0:14a:59cd:b0b8 with SMTP id q17-20020a170902dad100b0014a59cdb0b8mr16389039plx.13.1642310962810; Sat, 15 Jan 2022 21:29:22 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:22 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 1/7] python3-setuptools-rust-native: add v1.1.2 recipe Date: Sat, 15 Jan 2022 21:28:58 -0800 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94876 Dependency for python3-cryptography 3.4.x+ Only native rustc is supported at this time in oe-core, therefore it makes no sense to try to build for target. Signed-off-by: Tim Orling --- .../python3-setuptools-rust-native_1.1.2.bb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb diff --git a/meta-python/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb b/meta-python/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb new file mode 100644 index 0000000000..34ff91241f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-setuptools-rust-native_1.1.2.bb @@ -0,0 +1,26 @@ +SUMMARY = "Setuptools Rust extension plugin" +DESCRIPTION = "setuptools-rust is a plugin for setuptools to build Rust \ +Python extensions implemented with PyO3 or rust-cpython.\ +\ +Compile and distribute Python extensions written in Rust as easily as if they were written in C." +HOMEPAGE = "https://github.com/PyO3/setuptools-rust" +BUGTRACKER = "https://github.com/PyO3/setuptools-rust/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=011cd92e702dd9e6b1a26157b6fd53f5" + +SRC_URI = "https://files.pythonhosted.org/packages/67/08/e1aa2c582c62ac76e4d60f8e454bd3bba933781a06a88b4e38797445822a/setuptools-rust-${PV}.tar.gz" +SRC_URI[sha256sum] = "a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1" + +inherit cargo pypi setuptools3 native + +DEPENDS += "python3-setuptools-scm-native python3-wheel-native" + +RDEPENDS:${PN}:class-native += " \ + python3-semantic-version-native \ + python3-setuptools-native \ + python3-setuptools-scm-native \ + python3-toml-native \ + python3-typing-extensions-native \ + python3-wheel-native \ +" From patchwork Sun Jan 16 05:28:59 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2511 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A5B0C433F5 for ; Sun, 16 Jan 2022 05:29:30 +0000 (UTC) Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by mx.groups.io with SMTP id smtpd.web10.29874.1642310969587273419 for ; Sat, 15 Jan 2022 21:29:29 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=LXudSNsy; spf=pass (domain: gmail.com, ip: 209.85.216.46, mailfrom: ticotimo@gmail.com) Received: by mail-pj1-f46.google.com with SMTP id l10-20020a17090a384a00b001b22190e075so26238921pjf.3 for ; Sat, 15 Jan 2022 21:29:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Yh7uzIu+xeq/5fSUru4Sgdg26JONSvU3KeyHm6FgrPs=; b=LXudSNsy5TdjhnmlrYlM3HJzeGJ4PKImAyKM0G7hrEZdTBEcoU8MmGtNfQM6MsRizX tTLdFE61iOyjaDucHFqBI6CMC/LJZkYN1Xz0ztFwRwZltItoPW/fSHybex98ZJqhMSRV 8BvNzZTjJvGrR3l5HVs3loo15QPM6ejPKmfn1wvnYlpCg1VJNMJ19WYkLmA7rc7/cZVM IbeWP5AYgLfBeHnnoCVFJFdNNeAoxXBqdhLX83NcQ1sWt5tmcd1nS8Wgm3Vz9lH2/rBv kE2hI8U28K2jH6+/pZwu7uQeDEitLo96kzDmmpYnJAv1beiNVDJ+R3ZNDRXothQW1CBL aXPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Yh7uzIu+xeq/5fSUru4Sgdg26JONSvU3KeyHm6FgrPs=; b=V7r1p8LHGgvm1NjwAjVIfL23giX7+X06tXxLg+NMst9RlbqAUTy2gGJPoZkr8BE6tA Lr1EK/og5S7qzMUbwZxr5/g2Y9weM85iErNnjZTrnFTpWgBHG9l/o2zFjF4GhtseZULj HOWDs5upRTueE18/iIY4rmJjJqkiPvhcm8vSmFYz8o7WaUBFyF3rdzI6vtyyYxNNP/nZ 7KXgEhyNLc+u7n1XRq2l/alH1NeuZtpBcujjbdI3ZGfQrn1jXz29BL67dO/yOfrxvVhb W+yeKlyT3yIh9VOaN8dnNpUJIWA2ioNWv0c9J3up7bVcVLtUlkPgJWwyWc66j6O+M3xv usMg== X-Gm-Message-State: AOAM531Yg71y+BfXH/bznawRocijXjDeM3spq2QLdl2UArZaDCjVKPDb GXUTgJ18J1bYuqQHmWD8p90QmwsBAxPVvA== X-Google-Smtp-Source: ABdhPJxTB8JLOKhXLrvl2vpSGfONbfrQYUw+3RA22Ot8HiHaVR0VWrsI+p1dCVmD5ey/TsurhidpAg== X-Received: by 2002:a17:90a:c698:: with SMTP id n24mr10745869pjt.188.1642310968833; Sat, 15 Jan 2022 21:29:28 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:28 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 2/7] pyo3.bbclass: add class for PyO3 cross-compilation Date: Sat, 15 Jan 2022 21:28:59 -0800 Message-Id: <2847980b4d497b069460a298853cb7f59fab662e.1642309436.git.tim.orling@konsulko.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:30 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94877 PyO3 provides Rust bindings for Python, including tools for creating native Python extension modules. Running and interacting with Python code from a Rust binary is also supported. This class sets up the cross-compilation environment. Export PYO3_CROSS, PYO3_CROSS_LIB_DIR, PYO3_CROSS_INCLUDE_DIR and CARGO_BUILD_TARGET to inform tools like setuptools-rust we are cross-compiling. Export RUSTFLAGS so cargo can find 'std' and 'core' for target Dynamically generate PyO3 config file and export PYO3_CONFIG_FILE absolute path. This is the trick that finally made pyo3 work. Signed-off-by: Tim Orling --- meta-python/classes/pyo3.bbclass | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 meta-python/classes/pyo3.bbclass diff --git a/meta-python/classes/pyo3.bbclass b/meta-python/classes/pyo3.bbclass new file mode 100644 index 0000000000..4bae0949e5 --- /dev/null +++ b/meta-python/classes/pyo3.bbclass @@ -0,0 +1,30 @@ +# +# This class helps make sure that Python extensions built with PyO3 +# and setuptools_rust properly set up the environment for cross compilation +# + +inherit cargo python3-dir siteinfo + +export PYO3_CROSS="1" +export PYO3_CROSS_PYTHON_VERSION="${PYTHON_BASEVERSION}" +export PYO3_CROSS_LIB_DIR="${STAGING_LIBDIR}" +export CARGO_BUILD_TARGET="${HOST_SYS}" +export RUSTFLAGS +export PYO3_PYTHON="${PYTHON}" +export PYO3_CONFIG_FILE="${WORKDIR}/pyo3.config" + +pyo3_do_configure () { + cat > ${WORKDIR}/pyo3.config << EOF +implementation=CPython +version=${PYTHON_BASEVERSION} +shared=true +abi3=false +lib_name=${PYTHON_DIR} +lib_dir=${STAGING_LIBDIR} +pointer_width=${SITEINFO_BITS} +build_flags=WITH_THREAD +suppress_build_script_link_lines=false +EOF +} + +EXPORT_FUNCTIONS do_configure From patchwork Sun Jan 16 05:29:00 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2512 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62B1FC433F5 for ; Sun, 16 Jan 2022 05:29:32 +0000 (UTC) Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by mx.groups.io with SMTP id smtpd.web09.30010.1642310971763490622 for ; Sat, 15 Jan 2022 21:29:31 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=hxTtGS+B; spf=pass (domain: gmail.com, ip: 209.85.215.173, mailfrom: ticotimo@gmail.com) Received: by mail-pg1-f173.google.com with SMTP id i8so6585053pgt.13 for ; Sat, 15 Jan 2022 21:29:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Fx9iuevlFXilhdkIVZvdLMDO97+f1GfSX7inFXIRWRA=; b=hxTtGS+BQoO1/ldOInLuyQBIVCeLjM4905qv60+yXix6TLTB6h9DDDjzVdZksy1yXJ ROMmxo9b+1txaqxJBYF8MMpK3VqGIwfbzIk2JdHwOYeskGcWe79VrN5ckR60xXSJt4y+ VLk021WZPRijg7dv40CB9iOtRvQRw+GtYgZBRkSBCR7kj4PIyLAjbsYo1if9pKyatrXa SHG1+UMTTXQFijLM1MwoTlbLWIFnWO7prR18rylXxdnizuBHHZFStvdYJDgYWJsTL3xn z1hX1JGkfnAT07ppg+YXux/MJVtEn0a5svgVxOgivcgwq8tiBrRrrbCp919byVplpqJG Q/Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fx9iuevlFXilhdkIVZvdLMDO97+f1GfSX7inFXIRWRA=; b=mY/KnKXM1cjsmcaWFb/raeZR56N1dJE/N0Zv+y7ELUKF2irWsX2emx98/bt0JEvldV 3skF6DJrEPj3vmlNCk74ouSFlxOVVztti6WM3K9y0UaWzkT8UaWIXGgHedOlKt8MPSSv Hy+HjAsQaPZrVM0+bDph934iG2gay9ms4ye0nm+sv46FZwJPVHdfFwbWkk0NcOv15fYj XrmFt2aK9ofcg9i/A/4dRVvlkrsfAtNYZXJh7P+h8CgpIntxI6oTtYpYEjOSe2nFlTNj wXCzC/8mHMbQwHNm3RwGOwVVfcn2P+TjEdTyx1VJQgX1A1klQAJgApSvVCwCTP3bMCnr QCvw== X-Gm-Message-State: AOAM5322kYP2OOFPL5C8IAQe0CbcpyA0D0eKmGEpu9HQaAAZajgeTRCr UhuQXOg90/wjyLuHZAwoaeWjzrmuNbnzgg== X-Google-Smtp-Source: ABdhPJw3BX/pZJnmf5oO6Rg60MkK6zG2j8dMMBoFligIRHIme+ZmH+Yzf+EdZf4GfxJAFYEcT+60EQ== X-Received: by 2002:a63:1e0f:: with SMTP id e15mr33565pge.577.1642310970940; Sat, 15 Jan 2022 21:29:30 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:30 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 3/7] setuptools3_rust.bbclass: setuptoools Rust plugin Date: Sat, 15 Jan 2022 21:29:00 -0800 Message-Id: <360dbafb5ca9b4cfd646a1ee1f63cb5d85b3a974.1642309436.git.tim.orling@konsulko.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:32 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94878 setuptools-rust is a plugin for setuptools to build Rust Python extensions implemented with PyO3 or rust-cpython. Compile and distribute Python extensions written in Rust as easily as if they were written in C. This class inherits pyo3.bbclass (and therefore cargo.bbclass) and setuptools3.bbclass to make it easier to build Python modules with Rust extensions. Need to call pyo3_do_configure to properly setup the PyO3 environment for cross-compiling. Need to call cargo_common_do_configure to setup cargo_home/config so that the linker properly finds e.g. crti.o and crtbeginS.o It is strongly recommended to provide crates needed for your recipe using the crate:// fetcher. This can be helped with the cargo-bitbake command [1]. If you choose not to use the crate fetcher, bitbake vendoring will not work with setuptools-rust, as it errors out immediately because it cannot find pyo3 or some other crate. The (strongly discouraged) workaround for this is to set: CARGO_DISABLE_BITBAKE_VENDORING = "1" [1] https://crates.io/crates/cargo-bitbake Signed-off-by: Tim Orling --- meta-python/classes/setuptools3_rust.bbclass | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 meta-python/classes/setuptools3_rust.bbclass diff --git a/meta-python/classes/setuptools3_rust.bbclass b/meta-python/classes/setuptools3_rust.bbclass new file mode 100644 index 0000000000..fb11f08f89 --- /dev/null +++ b/meta-python/classes/setuptools3_rust.bbclass @@ -0,0 +1,11 @@ +inherit pyo3 setuptools3 + +DEPENDS += "python3-setuptools-rust-native" + +setuptools3_rust_do_configure() { + pyo3_do_configure + cargo_common_do_configure + setuptools3_do_configure +} + +EXPORT_FUNCTIONS do_configure From patchwork Sun Jan 16 05:29:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2513 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62574C433EF for ; Sun, 16 Jan 2022 05:29:34 +0000 (UTC) Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) by mx.groups.io with SMTP id smtpd.web08.29799.1642310973291164387 for ; Sat, 15 Jan 2022 21:29:33 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=gmdjhKSN; spf=pass (domain: gmail.com, ip: 209.85.214.179, mailfrom: ticotimo@gmail.com) Received: by mail-pl1-f179.google.com with SMTP id n8so3704762plc.3 for ; Sat, 15 Jan 2022 21:29:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dvWQ5q4Gl48mVJmnX1RDorVpew9CDa5zBEkEcSXEbNE=; b=gmdjhKSN+ELoEpoCH5BD4JdDXlW9uOpdqL3TOadbPgFIk+Zho20Q/ISupib2ZmVHme An6NvB0zWB+W3x2CAObuDui1IAqBwdQ56igieYBL0mV7WLtQtWpkoh8S4GP0rn9G9O/V x4RJFUs3/sS01/eahwFxRg6zwXN/g6lP5NgWho2EaKWPaJh26l1oDMT6fKbfuYkMrjh/ JXr1T0/L8HKQo5Iy2q13bOmE8hobso1xdoYh7Po5E5UbLIpS/sUIeQpJalvdWtFPalz7 q59QBT8DrgX10UfcNYVPcilPKY+AnyK4A3V8D7M5LdO3Q25S4o6jyqD+o7zSyVBfZbJB 8dMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dvWQ5q4Gl48mVJmnX1RDorVpew9CDa5zBEkEcSXEbNE=; b=elDqBjPclcfMwG7saM3/xH1mnFZ4Tmt+pVZXPdow1TO1xmhyelNxNx+b7NarNfQE7x GdZ/AYZyYI9ylz5DOpLJ20Ob4+E93kXd79zE7fRKYWUPnQrqKd3BSrWLdwDof+JDvaBb vUAQbJlHudtKP/RvP27gTp+2rghLFDTeC3b/4e9dQXauPZ7qaL9F9RA0g0MEOJdsxKFG AamNHzBEBfbUYoZgy9gWdWjaYxFD7E5OLzoEOyOj83pe3mxldc401nmzwd4tUzVfil8N 3EQoXiNIQpHzp5d5xU19CnQPQFo7Vgr5iKziJn35/r7fzyO4j8+p6ADqyVwgdnqAflzb nsXQ== X-Gm-Message-State: AOAM533Qdc4fhU6K7rtWUjmZH4ZRQxIzcHKV2qyJZpr6POX21fmb19JK X0+BEYyOcSPfWylxfXCj3B2WBXc85YkDwQ== X-Google-Smtp-Source: ABdhPJxCuutw0W9zd7rYJL4+0ZuJmcVlti6XnfQ6G/1siyOYWiclCEFuB3WN1w3NO6Q/KT0gYivWCw== X-Received: by 2002:a17:902:ac97:b0:14a:97b8:570a with SMTP id h23-20020a170902ac9700b0014a97b8570amr7533450plr.132.1642310972536; Sat, 15 Jan 2022 21:29:32 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:32 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 4/7] python3-pyruvate: add recipe for v1.1.2 Date: Sat, 15 Jan 2022 21:29:01 -0800 Message-Id: <1953cd6d6bf8617fb08b1244b0a8836732370523.1642309436.git.tim.orling@konsulko.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94879 Pyruvate is a reasonably fast, multithreaded, non-blocking WSGI server implemented in Rust. This recipe uses the new setuptools3_rust and pyo3 classes. Signed-off-by: Tim Orling --- .../python/python3-pyruvate_1.1.2.bb | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb diff --git a/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb b/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb new file mode 100644 index 0000000000..835cf9a93d --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pyruvate_1.1.2.bb @@ -0,0 +1,119 @@ +SUMMARY = "WSGI server implemented in Rust." +DESCRIPTION = "Pyruvate is a reasonably fast, multithreaded, non-blocking \ +WSGI server implemented in Rust." +HOMEPAGE = "https://gitlab.com/tschorr/pyruvate" +BUGTRACKER = "https://gitlab.com/tschorr/pyruvate/-/issues" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=051b48e640a6e2d795eac75542d9417c \ + file://LICENSE.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRC_URI[sha256sum] = "10befedd97e73fc18b902d02aa3b24e8978aa162242c1b664849c886c0675899" + +S = "${WORKDIR}/pyruvate-${PV}" + +inherit pypi setuptools3_rust + +SRC_URI += " \ + crate://crates.io/aho-corasick/0.7.18 \ + crate://crates.io/atty/0.2.14 \ + crate://crates.io/autocfg/1.0.1 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/block-buffer/0.9.0 \ + crate://crates.io/cc/1.0.72 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.19 \ + crate://crates.io/cpufeatures/0.2.1 \ + crate://crates.io/cpython/0.7.0 \ + crate://crates.io/crossbeam-channel/0.5.2 \ + crate://crates.io/crossbeam-deque/0.8.1 \ + crate://crates.io/crossbeam-epoch/0.9.6 \ + crate://crates.io/crossbeam-queue/0.3.3 \ + crate://crates.io/crossbeam-utils/0.8.6 \ + crate://crates.io/crossbeam/0.8.1 \ + crate://crates.io/crypto-mac/0.11.1 \ + crate://crates.io/ctrlc/3.2.1 \ + crate://crates.io/digest/0.9.0 \ + crate://crates.io/encoding-index-japanese/1.20141219.5 \ + crate://crates.io/encoding-index-korean/1.20141219.5 \ + crate://crates.io/encoding-index-simpchinese/1.20141219.5 \ + crate://crates.io/encoding-index-singlebyte/1.20141219.5 \ + crate://crates.io/encoding-index-tradchinese/1.20141219.5 \ + crate://crates.io/encoding/0.2.33 \ + crate://crates.io/encoding_index_tests/0.1.4 \ + crate://crates.io/env_logger/0.9.0 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/errno/0.2.8 \ + crate://crates.io/fastrand/1.6.0 \ + crate://crates.io/generic-array/0.14.5 \ + crate://crates.io/getrandom/0.2.3 \ + crate://crates.io/hermit-abi/0.1.19 \ + crate://crates.io/hmac/0.11.0 \ + crate://crates.io/httparse/1.5.1 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.112 \ + crate://crates.io/libsystemd/0.4.1 \ + crate://crates.io/log/0.4.14 \ + crate://crates.io/memchr/2.4.1 \ + crate://crates.io/memoffset/0.6.5 \ + crate://crates.io/mio/0.8.0 \ + crate://crates.io/miow/0.3.7 \ + crate://crates.io/nix/0.23.1 \ + crate://crates.io/ntapi/0.3.6 \ + crate://crates.io/num-integer/0.1.44 \ + crate://crates.io/num-traits/0.2.14 \ + crate://crates.io/num_cpus/1.13.1 \ + crate://crates.io/once_cell/1.9.0 \ + crate://crates.io/opaque-debug/0.3.0 \ + crate://crates.io/paste/1.0.6 \ + crate://crates.io/ppv-lite86/0.2.16 \ + crate://crates.io/proc-macro2/1.0.36 \ + crate://crates.io/python3-sys/0.7.0 \ + crate://crates.io/quote/1.0.14 \ + crate://crates.io/rand/0.8.4 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.3 \ + crate://crates.io/rand_hc/0.3.1 \ + crate://crates.io/redox_syscall/0.2.10 \ + crate://crates.io/regex-syntax/0.6.25 \ + crate://crates.io/regex/1.5.4 \ + crate://crates.io/remove_dir_all/0.5.3 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/serde/1.0.133 \ + crate://crates.io/serde_derive/1.0.133 \ + crate://crates.io/sha2/0.9.9 \ + crate://crates.io/simplelog/0.11.1 \ + crate://crates.io/spmc/0.3.0 \ + crate://crates.io/subtle/2.4.1 \ + crate://crates.io/syn/1.0.85 \ + crate://crates.io/tempfile/3.3.0 \ + crate://crates.io/termcolor/1.1.2 \ + crate://crates.io/thiserror-impl/1.0.30 \ + crate://crates.io/thiserror/1.0.30 \ + crate://crates.io/threadpool/1.8.1 \ + crate://crates.io/time/0.1.44 \ + crate://crates.io/typenum/1.15.0 \ + crate://crates.io/unicode-xid/0.2.2 \ + crate://crates.io/urlencoding/2.1.0 \ + crate://crates.io/uuid/0.8.2 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-util/0.1.5 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ +" + +# The following configs & dependencies are from setuptools extras_require. +# These dependencies are optional, hence can be controlled via PACKAGECONFIG. +# The upstream names may not correspond exactly to bitbake package names. +# +# Uncomment this line to enable all the optional features. +#PACKAGECONFIG ?= "test" +PACKAGECONFIG[test] = ",,,python3-pytest python3-requests" + +# WARNING: the following rdepends are determined through basic analysis of the +# python sources, and might not be 100% accurate. +RDEPENDS:${PN} += "python3-core" From patchwork Sun Jan 16 05:29:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2514 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B78AC433EF for ; Sun, 16 Jan 2022 05:29:36 +0000 (UTC) Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) by mx.groups.io with SMTP id smtpd.web11.30128.1642310975049407714 for ; Sat, 15 Jan 2022 21:29:35 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=dgwNde0B; spf=pass (domain: gmail.com, ip: 209.85.210.180, mailfrom: ticotimo@gmail.com) Received: by mail-pf1-f180.google.com with SMTP id a5so6679466pfo.5 for ; Sat, 15 Jan 2022 21:29:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Cym1qgoz8PjimmqXNQO1w3yUi8y8zkjISY08gom5P0Y=; b=dgwNde0BaF0o7WVYRRJ/UA5ajSwy18cyo2vHJ+I6LpOUmxcW8E4PQiPKjXNz3ECXfp L94+xA3nTPlfq1QCK3CtCPrdBFRq4RPcH2fA1MH9IWI0i/yNe9MWQ1tomjMYGQNU6xeE 7k4vSc4QXJgQIWlWE5dqJm/1XQhB6wKbkMFVVHrDw653J+yCDV/iZpcGG7A+pPJvmwBR B3GNA9J6s57eeK9bDoyIhuRb2txx5JanBFPc+HmKDIuKLrXRrMQ/JaCMsAFWIXt26nZv 6s0MzTqiXXzNSq+Qw3c2JwZMyRLzSSLaFQXLVWiZRd1CWFTfdxwBW8WUKKZDNn5FR1kd k5TQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Cym1qgoz8PjimmqXNQO1w3yUi8y8zkjISY08gom5P0Y=; b=jdU1rXryLST2rfcdyKmwBLwcud8NSArWlCppyZThrv0Mw+SX/nkf41+wchYs1hCnn7 7Jw785j89a6lhp4AGYzXeXkk+b5+7RVDN1XOdheIVMKEcBJ+NYis7Eotj8QxLD8DEvCF H3CxQM3kZa6GPp9Rb+lvBVsk1csy2qu8uaqZXPCchzKPZ0KZ+5YI8q/qxRFafwbLrLDg ApXHfqMt7cRr26XRsStfBFSKT/ZaG8mPVi1i1o5BaOIxIdWhjN/eFcgpB1wwKqlxR9NV OAw1DXFyeBROtNXNlDjuX9GduSkghrMpB/jMljS5ptAgbe1MA3gYc/Xco0RI8zmdhrdY JTCg== X-Gm-Message-State: AOAM530GN5GQnywRks5BJUmvTgpSaZr+khym97mynaewrejAt+L2UYTh 1nJyVS3ZuJjD2pllCk6lexdo5TtQiiV0Ww== X-Google-Smtp-Source: ABdhPJw90lfHn3YiOxm0VMlAsslty+NfRftK52v1nQ4E16ZgyRubz2inCyj2F3z8ESZ+cqnYSBx5MQ== X-Received: by 2002:a63:6bc3:: with SMTP id g186mr14129927pgc.192.1642310974242; Sat, 15 Jan 2022 21:29:34 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:33 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 5/7] python3-pytest-subtests: upgrade 0.5.0 -> 0.6.0 Date: Sat, 15 Jan 2022 21:29:02 -0800 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:36 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94880 0.6.0 (2022-01-15) * pytest>=6.0 is now required. * Added official support for Python 3.10. * Dropped support for Python 3.5. * Users no longer need to configure a warnings filter for the internal A private pytest class or function was used pytest warning (#52). * Experimental: Use SUBPASS and , for passed subtests instead of general PASSED, SUBFAIL and u for failed ones instead of FAILED (#30). References: https://github.com/pytest-dev/pytest-subtests/pull/52 https://github.com/pytest-dev/pytest-subtests/pull/30 Signed-off-by: Tim Orling --- .../python/python3-pytest-subtests_0.5.0.bb | 16 --------------- .../python/python3-pytest-subtests_0.6.0.bb | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+), 16 deletions(-) delete mode 100644 meta-python/recipes-devtools/python/python3-pytest-subtests_0.5.0.bb create mode 100644 meta-python/recipes-devtools/python/python3-pytest-subtests_0.6.0.bb diff --git a/meta-python/recipes-devtools/python/python3-pytest-subtests_0.5.0.bb b/meta-python/recipes-devtools/python/python3-pytest-subtests_0.5.0.bb deleted file mode 100644 index 2e03512bde..0000000000 --- a/meta-python/recipes-devtools/python/python3-pytest-subtests_0.5.0.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "unittest subTest() support and subtests fixture." - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" - -SRC_URI[sha256sum] = "5bd1e4bf0eda4c89a6cd42b0ee28e1d2ca0848de3fd67ad8cdd6d559ed00f120" - -inherit pypi setuptools3 - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-pytest \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-pytest-subtests_0.6.0.bb b/meta-python/recipes-devtools/python/python3-pytest-subtests_0.6.0.bb new file mode 100644 index 0000000000..5e4847b8d9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-pytest-subtests_0.6.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "unittest subTest() support and subtests fixture." +DESCRIPTION = "Adds support for TestCase.subTest.\ +New subtests fixture, providing similar functionality for pure pytest tests." +HOMEPAGE = "https://github.com/pytest-dev/pytest-subtests" +BUGTRACKER = "https://github.com/pytest-dev/pytest-subtests/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=242b4e17fa287dcf7aef372f6bc3dcb1" + +SRC_URI[sha256sum] = "3ebd306a8dcf75133f1742f288c82f36426ebcf8a132d4ee89782d20e84fc13a" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-setuptools-scm-native" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-pytest \ +" + +BBCLASSEXTEND = "native nativesdk" From patchwork Sun Jan 16 05:29:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2516 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62E75C433FE for ; Sun, 16 Jan 2022 05:29:41 +0000 (UTC) Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by mx.groups.io with SMTP id smtpd.web09.30011.1642310976481002380 for ; Sat, 15 Jan 2022 21:29:36 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=cOZctCjb; spf=pass (domain: gmail.com, ip: 209.85.210.177, mailfrom: ticotimo@gmail.com) Received: by mail-pf1-f177.google.com with SMTP id i65so6684809pfc.9 for ; Sat, 15 Jan 2022 21:29:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=k6v8jBfOm8qLx4Aplarh5BphwE3vT9v2v4yCEvlepsQ=; b=cOZctCjbay65gw4GCIGe/z6KH7PXc7G/xso2Ea2v9b7dzCPDTVwGFAI8GRxDbgV5KB Jc7bA2Yt+xEcdR/dSTnW4aFQ3nFmPDLj6P4XDn5SmaoRa0S/pn2Hj+PpMsQL3IYdWwmo H746ZII1J6hhWV3ZpUgwZ1uo5hZ8Nag3RkwHw+ijd4tBZCKJU5dJCeSZ1CV7sXY9IvKm La2rseMfhXVFrhYBrpDulmZ2eFoowkODUKPU3ya3vWXb+KAGB9BNI/Q3H5+ePqH7TZaa ZPh5A0hSyhWhT9tSLuRee9WM2pHVRNOE2h0URPJgjjuLyir0W+UX1UffpHl7Da6xqXVG 0XKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=k6v8jBfOm8qLx4Aplarh5BphwE3vT9v2v4yCEvlepsQ=; b=P9kXN8du9yT+gyOWlh4VggXIYUh0Sz962knzzyvYVh3w8WZlNUfBv+49q5xOAWHsLG EWqwFVRQWMGa3oO+SY43ujMIP+8xu9O11kroKaUxz8DGAXj4c1LZvUmu/g4RnprtOKUj 7g/Gd4oM9/ndwIEjSANOBSR7YZP5q7ZwYfgzB13i8RLAQIj9otamT7oPjlTKAIN2WBYD CLXPTXeGsWWL7IRg60k9LSeuEQxrN/lR+H+aT9cutQkQPLn9uyijP8gWm81u+hDqEW7f pmjIcCx/T+l09YMrHfe3yXPj+de1fT6hPqAckFYPE3UQVD2+tRAp2cszxrSdBzxMOU2Q NjEg== X-Gm-Message-State: AOAM532PCWBC8tz4OsAeJD0B3GrChsNqlXwvLrAJIv+4TNzTqb4+9nQC u91utmRCLPDXqbURO3PkrCPeXGyL0dwIXQ== X-Google-Smtp-Source: ABdhPJyBYnLjzKuShgP4XrdUrx3GY9bCoYWlHGYvINsnhRu9DEi0JqxndeC98hR/f1lT6czRQPx5dw== X-Received: by 2002:a63:8bca:: with SMTP id j193mr14041091pge.227.1642310975762; Sat, 15 Jan 2022 21:29:35 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:35 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 6/7] python3-cryptography-vectors: upgrade 35.0.0 => 36.0.1 Date: Sat, 15 Jan 2022 21:29:03 -0800 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94881 Add note to remind contributors to keep this recipe in lock-step with python3-cryptography. They must be at the same version. 5bd0c10d allow parsing of nonstandard country name and jurisdiction country name (#6641) 78c2dd8a add AES SIV vectors (#6608) c451c1df add AES OCB3 test vectors (#6606) 4da2a681 Allow parsing CSR extensions with the critical bit having an explicitly encoded default (#6600) bb05d4b5 allow multiple identical pem blocks (#6551) f4871a21 add accvraiz1 bmpstring test vector (#6503) 667e7a5f Add new PKCS12 test vectors (#6383) 703de3af Accept combined PEM files with multiple sections (#6365) 51221b2c support legacy PEM headers for certificate and CSR (#6356) Signed-off-by: Tim Orling --- ...tors_35.0.0.bb => python3-cryptography-vectors_36.0.1.bb} | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) rename meta-python/recipes-devtools/python/{python3-cryptography-vectors_35.0.0.bb => python3-cryptography-vectors_36.0.1.bb} (72%) diff --git a/meta-python/recipes-devtools/python/python3-cryptography-vectors_35.0.0.bb b/meta-python/recipes-devtools/python/python3-cryptography-vectors_36.0.1.bb similarity index 72% rename from meta-python/recipes-devtools/python/python3-cryptography-vectors_35.0.0.bb rename to meta-python/recipes-devtools/python/python3-cryptography-vectors_36.0.1.bb index c0ab9c85c1..b9e6b811c3 100644 --- a/meta-python/recipes-devtools/python/python3-cryptography-vectors_35.0.0.bb +++ b/meta-python/recipes-devtools/python/python3-cryptography-vectors_36.0.1.bb @@ -6,7 +6,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=8c3617db4fb6fae01f1d253ab91511e4 \ file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b" -SRC_URI[sha256sum] = "978ad96822c0e007a0a3d8187eb0eafbd9eb1d67b50cfac70277175e74957bfc" +# NOTE: Make sure to keep this recipe at the same version as python3-cryptography +# Upgrade both recipes at the same time + +SRC_URI[sha256sum] = "fc8490afd5424342b868215435bd174dcd76ab396b4ea9435498be5721dcd598" PYPI_PACKAGE = "cryptography_vectors" From patchwork Sun Jan 16 05:29:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 2515 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5BCDFC433EF for ; Sun, 16 Jan 2022 05:29:39 +0000 (UTC) Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by mx.groups.io with SMTP id smtpd.web10.29875.1642310978358035734 for ; Sat, 15 Jan 2022 21:29:38 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=a1jrsJWY; spf=pass (domain: gmail.com, ip: 209.85.216.43, mailfrom: ticotimo@gmail.com) Received: by mail-pj1-f43.google.com with SMTP id w12-20020a17090a528c00b001b276aa3aabso2600141pjh.0 for ; Sat, 15 Jan 2022 21:29:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=WlXYbtVKp5m3qXuEile+QZNPIugtLWrS/As/vnixJfI=; b=a1jrsJWYBCi//n+Gj7oxbS+xaTEUI041Nrqtm4axLxJ8S5j94oDGbFfHGfiFdMPV1x mkFbTYNcZyyvm4OFc+6yzuq3/z/Of7us516pLtXZ/JF9aFx/zbG6e9b8/lsU156K7vGu 71JR6R4PFpVEGr0lQ6LeAzLAbqF3+5sLHhycRtq1U4QC4mEvBlItBGpMysrVmvgTJHy3 X8vo/2TRpQj5nvrH++wVSZvWxOkFS6uubTxWG7JgFN2ggzHlkFc5ClSFg8quPzt856x+ KaovFqd9g7envXMUdbt9cTwOGg7p4kNcNwEtLjQn5bScmMvv6/PBhGbVoGZbcdCWDfSa w1SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WlXYbtVKp5m3qXuEile+QZNPIugtLWrS/As/vnixJfI=; b=gXul5adPZyk3n6AnuOgP1DZgxmpJb9PGNypeKebIcuDol4UwTHSSVfynHgCTqAKH6e 7WHA525tAbmFGJyAqCPboK/3nbTxScUxByLvl+ajbJ1zV9AdnRCBP8b1Y2ruxTbNlrUM eMJIhmDIYaxLSoW6EvLXXjRhkMHzJcMDTEruTQWKO7mu9uvuu0qDHS1qYnaemF4Jy080 1mK+PV88Hs3SIu2ROKD75T9XzDeKD9oHgusaXnT8JAEqxlOsynhAcgsBuDO9bAkShP0W FFolAevRiYTfaHwP2YlbHBq2Ue49mj4Ve6pfB2Y27rlXxva7Y8c/GzZ35ZwQf/Z7ueZj ax6g== X-Gm-Message-State: AOAM531+PWSAW0tSFUXuMo3aYo1B/zTNouOJOHOhm0bCn168oWSJvP9Z P0n5nVcWLJgcnRF+Jt9wfOEqtNnMRMkYpA== X-Google-Smtp-Source: ABdhPJyH3npiElM77sym1CX7m0Z3ZBnGeDnQ5GkssG9xhuFF1BH0uvdNh1yu+p4NzPSUNWMWjrgc9A== X-Received: by 2002:a17:902:7209:b0:149:64f4:b8a1 with SMTP id ba9-20020a170902720900b0014964f4b8a1mr17149926plb.0.1642310977273; Sat, 15 Jan 2022 21:29:37 -0800 (PST) Received: from nereus.hsd1.or.comcast.net ([2601:1c0:6000:1b20:bfd3:7196:2716:eb37]) by smtp.gmail.com with ESMTPSA id l11sm10062146pfu.115.2022.01.15.21.29.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:29:36 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-devel@lists.openembedded.org Subject: [meta-python][PATCH 7/7] python3-cryptography: upgrade 3.3.2 -> 36.0.1 Date: Sat, 15 Jan 2022 21:29:04 -0800 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 16 Jan 2022 05:29:39 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/94882 See https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#3601---2021-12-14 for changes * Add PSF-2.0 license and explicitly add checksums for the LICENSE files that are packaged. * RDEPENDS on python3-hypothesis (in oe-core) for ptest so we can drop the patch for skipping. * Drop backported patch for openssl3 support. * inherit new setuptools_rust class (which inherits new pyo3 class, which inherits cargo and python3-dir). * RDEPENDS on python3-pytest-subtests for ptest * Copy pyproject.toml for ptest as it defines the pytest.marker(s) needed * Cleanup and alphabetize the RDEPENDS * Use 'cargo bitbake' to generate the crate:// SRC_URIs - Needed some hacks to the Cargo.toml in src/rust/ to make this work (probably only package.repository was strictly required): [package] description = "cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and key derivation functions." homepage = "https://github.com/pyca/cryptography" repository = "https://github.com/pyca/cryptography" * Add patches to src/rust/Cargo.toml to fix cargo errors including pem version * Add check-memfree.py to ptest to check for sufficient free memory Signed-off-by: Tim Orling --- .../0001-Cargo.toml-specify-pem-version.patch | 31 +++++ .../0002-Cargo.toml-edition-2018-2021.patch | 28 ++++ .../python3-cryptography/check-memfree.py | 10 ++ .../python/python3-cryptography/h-test.patch | 10 -- .../python3-cryptography/openssl3.patch | 62 --------- .../python/python3-cryptography/run-ptest | 4 +- .../python/python3-cryptography_3.3.2.bb | 68 ---------- .../python/python3-cryptography_36.0.1.bb | 121 ++++++++++++++++++ 8 files changed, 193 insertions(+), 141 deletions(-) create mode 100644 meta-python/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch create mode 100644 meta-python/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch create mode 100755 meta-python/recipes-devtools/python/python3-cryptography/check-memfree.py delete mode 100644 meta-python/recipes-devtools/python/python3-cryptography/h-test.patch delete mode 100644 meta-python/recipes-devtools/python/python3-cryptography/openssl3.patch delete mode 100644 meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb create mode 100644 meta-python/recipes-devtools/python/python3-cryptography_36.0.1.bb diff --git a/meta-python/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch b/meta-python/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch new file mode 100644 index 0000000000..d7ab757bb5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cryptography/0001-Cargo.toml-specify-pem-version.patch @@ -0,0 +1,31 @@ +From ec8d3f3c61280c8140b34ed1479baef5e706f064 Mon Sep 17 00:00:00 2001 +From: Tim Orling +Date: Fri, 14 Jan 2022 22:02:25 -0800 +Subject: [PATCH] Cargo.toml: specify pem version + +pem = "1.0" is not resolving, specify the current +pem = { version: "1.0.2"} + +Upstream-Status: Pending + +Signed-off-by: Tim Orling +--- + src/rust/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml +index 617167d0..174eaa80 100644 +--- a/src/rust/Cargo.toml ++++ b/src/rust/Cargo.toml +@@ -9,7 +9,7 @@ publish = false + lazy_static = "1" + pyo3 = { version = "0.15.1" } + asn1 = { version = "0.8.7", default-features = false, features = ["derive"] } +-pem = "1.0" ++pem = { version = "1.0.2" } + chrono = { version = "0.4", default-features = false, features = ["alloc", "clock"] } + ouroboros = "0.13" + +-- +2.30.2 + diff --git a/meta-python/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch b/meta-python/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch new file mode 100644 index 0000000000..366e3a4d39 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cryptography/0002-Cargo.toml-edition-2018-2021.patch @@ -0,0 +1,28 @@ +From 4b73298b214a5b69ea6edf3c2e21dd82b2b29708 Mon Sep 17 00:00:00 2001 +From: Tim Orling +Date: Fri, 14 Jan 2022 22:34:59 -0800 +Subject: [PATCH 2/2] Cargo.toml: edition 2018 -> 2021 + +Upstream-Status: Pending + +Signed-off-by: Tim Orling +--- + src/rust/Cargo.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml +index 174eaa80..7ad053d9 100644 +--- a/src/rust/Cargo.toml ++++ b/src/rust/Cargo.toml +@@ -2,7 +2,7 @@ + name = "cryptography-rust" + version = "0.1.0" + authors = ["The cryptography developers "] +-edition = "2018" ++edition = "2021" + publish = false + + [dependencies] +-- +2.30.2 + diff --git a/meta-python/recipes-devtools/python/python3-cryptography/check-memfree.py b/meta-python/recipes-devtools/python/python3-cryptography/check-memfree.py new file mode 100755 index 0000000000..c111a9074c --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cryptography/check-memfree.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 +# https://stackoverflow.com/questions/22102999/get-total-physical-memory-in-python/28161352 +import sys +meminfo = dict((i.split()[0].rstrip(':'),int(i.split()[1])) for i in open('/proc/meminfo').readlines()) +mem_free = meminfo['MemTotal']/1024./1024. +if mem_free < 2.: + raise RuntimeError("Insufficient free memory({:.3f}): requires > 2 GB".format(mem_free)) + sys.exit(1) +else: + print("Free memory: {:.3f} GB".format(mem_free)) diff --git a/meta-python/recipes-devtools/python/python3-cryptography/h-test.patch b/meta-python/recipes-devtools/python/python3-cryptography/h-test.patch deleted file mode 100644 index 9f07c73803..0000000000 --- a/meta-python/recipes-devtools/python/python3-cryptography/h-test.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/tests/hypothesis/__init__.py -+++ b/tests/hypothesis/__init__.py -@@ -3,3 +3,7 @@ - # for complete details. - - from __future__ import absolute_import, division, print_function -+ -+import pytest -+hypothesis = pytest.importorskip("hypothesis") -+ diff --git a/meta-python/recipes-devtools/python/python3-cryptography/openssl3.patch b/meta-python/recipes-devtools/python/python3-cryptography/openssl3.patch deleted file mode 100644 index 25baa42cc9..0000000000 --- a/meta-python/recipes-devtools/python/python3-cryptography/openssl3.patch +++ /dev/null @@ -1,62 +0,0 @@ -Encourage our old python3-cryptography to at least start to work with OpenSSL 3. - -- Backport one patch to err.py to remove a symbol which has been removed in - OpenSSL 3, and isn't used in python3-cryptography. - (50ec692749b7e2e62685b443f5e629627b03987e) - -- Backport the detection of OpenSSL 3 and don't link to FIPS_mode/FIPS_mode_set - (parts of f08a7de651f9e6475c8c0a67d2a61ed8b669ddf6) - -This is *not* a complete backport of the 3.0 support, but is enough that packages -such as imgtool can import python3-cryptography and operate until the upgrade is -ready. - -Upstream-Status: Inappropriate -Signed-off-by: Ross Burton - -diff --git a/src/_cffi_src/openssl/cryptography.py b/src/_cffi_src/openssl/cryptography.py -index f24bee5a..920a86de 100644 ---- a/src/_cffi_src/openssl/cryptography.py -+++ b/src/_cffi_src/openssl/cryptography.py -@@ -35,6 +35,8 @@ INCLUDES = """ - - #define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER \ - (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL) -+#define CRYPTOGRAPHY_OPENSSL_300_OR_GREATER \ -+ (OPENSSL_VERSION_NUMBER >= 0x30000000 && !CRYPTOGRAPHY_IS_LIBRESSL) - - #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \ - (OPENSSL_VERSION_NUMBER < 0x101000af || CRYPTOGRAPHY_IS_LIBRESSL) -@@ -54,6 +56,7 @@ INCLUDES = """ - - TYPES = """ - static const int CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER; -+static const int CRYPTOGRAPHY_OPENSSL_300_OR_GREATER; - - static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111; - static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B; -diff --git a/src/_cffi_src/openssl/err.py b/src/_cffi_src/openssl/err.py -index 0dd74146..42bab4d9 100644 ---- a/src/_cffi_src/openssl/err.py -+++ b/src/_cffi_src/openssl/err.py -@@ -40,7 +40,6 @@ void ERR_clear_error(void); - void ERR_put_error(int, int, int, const char *, int); - - int ERR_GET_LIB(unsigned long); --int ERR_GET_FUNC(unsigned long); - int ERR_GET_REASON(unsigned long); - - """ -diff --git a/src/_cffi_src/openssl/fips.py b/src/_cffi_src/openssl/fips.py -index c92bca49..38bfa231 100644 ---- a/src/_cffi_src/openssl/fips.py -+++ b/src/_cffi_src/openssl/fips.py -@@ -18,7 +18,7 @@ int FIPS_mode(void); - """ - - CUSTOMIZATIONS = """ --#if CRYPTOGRAPHY_IS_LIBRESSL -+#if CRYPTOGRAPHY_IS_LIBRESSL || CRYPTOGRAPHY_OPENSSL_300_OR_GREATER - static const long Cryptography_HAS_FIPS = 0; - int (*FIPS_mode_set)(int) = NULL; - int (*FIPS_mode)(void) = NULL; diff --git a/meta-python/recipes-devtools/python/python3-cryptography/run-ptest b/meta-python/recipes-devtools/python/python3-cryptography/run-ptest index 0ba239c2a4..1e97dda63e 100644 --- a/meta-python/recipes-devtools/python/python3-cryptography/run-ptest +++ b/meta-python/recipes-devtools/python/python3-cryptography/run-ptest @@ -1,2 +1,4 @@ #!/bin/sh -py.test +if ./check-memfree.py; then + pytest -vvvv tests/ +fi diff --git a/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb b/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb deleted file mode 100644 index a4c3344278..0000000000 --- a/meta-python/recipes-devtools/python/python3-cryptography_3.3.2.bb +++ /dev/null @@ -1,68 +0,0 @@ -SUMMARY = "Provides cryptographic recipes and primitives to python developers" -HOMEPAGE = "https://cryptography.io/" -SECTION = "devel/python" -LICENSE = "Apache-2.0 | BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \ - file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ - file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b" - -LDSHARED += "-pthread" - -SRC_URI[sha256sum] = "5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed" - -SRC_URI += " \ - file://run-ptest \ - file://h-test.patch \ - file://openssl3.patch \ -" - -inherit pypi setuptools3 - -DEPENDS += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-cffi-native \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-six \ -" - -RDEPENDS:${PN} += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ -" - -RDEPENDS:${PN}:class-target += " \ - ${PYTHON_PN}-cffi \ - ${PYTHON_PN}-idna \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-asn1crypto \ - ${PYTHON_PN}-setuptools \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-threading \ -" - -RDEPENDS:${PN}-ptest += " \ - ${PN} \ - ${PYTHON_PN}-cryptography-vectors \ - ${PYTHON_PN}-iso8601 \ - ${PYTHON_PN}-pretend \ - ${PYTHON_PN}-pytest \ - ${PYTHON_PN}-pytz \ -" - -inherit ptest - -do_install_ptest() { - install -d ${D}${PTEST_PATH}/tests - cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ - install -d ${D}${PTEST_PATH}/tests/hazmat - cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ -} - -FILES:${PN}-dbg += " \ - ${libdir}/${PYTHON_PN}2.7/site-packages/${SRCNAME}/hazmat/bindings/.debug \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-python/recipes-devtools/python/python3-cryptography_36.0.1.bb b/meta-python/recipes-devtools/python/python3-cryptography_36.0.1.bb new file mode 100644 index 0000000000..abb15381f5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-cryptography_36.0.1.bb @@ -0,0 +1,121 @@ +SUMMARY = "Provides cryptographic recipes and primitives to python developers" +HOMEPAGE = "https://cryptography.io/" +SECTION = "devel/python" +LICENSE = "( Apache-2.0 | BSD-3-Clause ) & PSF-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=bf405a8056a6647e7d077b0e7bc36aba \ + file://LICENSE.APACHE;md5=4e168cce331e5c827d4c2b68a6200e1b \ + file://LICENSE.BSD;md5=5ae30ba4123bc4f2fa49aa0b0dce887b \ + file://LICENSE.PSF;md5=43c37d21e1dbad10cddcd150ba2c0595 \ + " +LDSHARED += "-pthread" + +SRC_URI[sha256sum] = "53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638" + +SRC_URI += " \ + file://run-ptest \ + file://check-memfree.py \ + file://0001-Cargo.toml-specify-pem-version.patch \ + file://0002-Cargo.toml-edition-2018-2021.patch \ +" + +inherit pypi setuptools3_rust + +DEPENDS += " \ + ${PYTHON_PN}-asn1crypto-native \ + ${PYTHON_PN}-cffi-native \ + ${PYTHON_PN}-setuptools-rust-native \ + ${PYTHON_PN}-six-native \ +" + +SRC_URI += " \ + crate://crates.io/Inflector/0.11.4 \ + crate://crates.io/aliasable/0.1.3 \ + crate://crates.io/asn1/0.8.7 \ + crate://crates.io/asn1_derive/0.8.7 \ + crate://crates.io/autocfg/1.0.1 \ + crate://crates.io/base64/0.13.0 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/chrono/0.4.19 \ + crate://crates.io/indoc-impl/0.3.6 \ + crate://crates.io/indoc/0.3.6 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/libc/0.2.112 \ + crate://crates.io/lock_api/0.4.5 \ + crate://crates.io/num-integer/0.1.44 \ + crate://crates.io/num-traits/0.2.14 \ + crate://crates.io/once_cell/1.9.0 \ + crate://crates.io/ouroboros/0.13.0 \ + crate://crates.io/ouroboros_macro/0.13.0 \ + crate://crates.io/parking_lot/0.11.2 \ + crate://crates.io/parking_lot_core/0.8.5 \ + crate://crates.io/paste-impl/0.1.18 \ + crate://crates.io/paste/0.1.18 \ + crate://crates.io/pem/1.0.2 \ + crate://crates.io/proc-macro-error-attr/1.0.4 \ + crate://crates.io/proc-macro-error/1.0.4 \ + crate://crates.io/proc-macro-hack/0.5.19 \ + crate://crates.io/proc-macro2/1.0.36 \ + crate://crates.io/pyo3-build-config/0.15.1 \ + crate://crates.io/pyo3-macros-backend/0.15.1 \ + crate://crates.io/pyo3-macros/0.15.1 \ + crate://crates.io/pyo3/0.15.1 \ + crate://crates.io/quote/1.0.14 \ + crate://crates.io/redox_syscall/0.2.10 \ + crate://crates.io/scopeguard/1.1.0 \ + crate://crates.io/smallvec/1.7.0 \ + crate://crates.io/stable_deref_trait/1.2.0 \ + crate://crates.io/syn/1.0.85 \ + crate://crates.io/unicode-xid/0.2.2 \ + crate://crates.io/unindent/0.1.7 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ + crate://crates.io/winapi/0.3.9 \ +" + +RDEPENDS:${PN} += " \ + ${PYTHON_PN}-asn1crypto \ + ${PYTHON_PN}-cffi \ + ${PYTHON_PN}-idna \ + ${PYTHON_PN}-setuptools \ + ${PYTHON_PN}-six \ +" + +RDEPENDS:${PN}:append:class-target = " \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-threading \ +" + +RDEPENDS:${PN}-ptest += " \ + ${PYTHON_PN}-bcrypt \ + ${PYTHON_PN}-cryptography-vectors \ + ${PYTHON_PN}-hypothesis \ + ${PYTHON_PN}-iso8601 \ + ${PYTHON_PN}-pretend \ + ${PYTHON_PN}-psutil \ + ${PYTHON_PN}-pytest \ + ${PYTHON_PN}-pytest-subtests \ + ${PYTHON_PN}-pytz \ +" + +inherit ptest + +do_install_ptest() { + install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/ + install -d ${D}${PTEST_PATH}/tests + cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ + install -d ${D}${PTEST_PATH}/tests/hazmat + cp -rf ${S}/tests/hazmat/* ${D}${PTEST_PATH}/tests/hazmat/ + cp -r ${S}/pyproject.toml ${D}${PTEST_PATH}/ +} + +FILES:${PN}-ptest += " \ + ${PTEST_PATH}/check-memfree.py \ +" +FILES:${PN}-dbg += " \ + ${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/hazmat/bindings/.debug \ +" + +BBCLASSEXTEND = "native nativesdk"