From patchwork Thu Dec 7 23:13:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 35876 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 AEB29C4167B for ; Thu, 7 Dec 2023 23:14:01 +0000 (UTC) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mx.groups.io with SMTP id smtpd.web10.107156.1701990831597318382 for ; Thu, 07 Dec 2023 15:13:51 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=PhugnSWK; spf=pass (domain: gmail.com, ip: 209.85.214.182, mailfrom: ticotimo@gmail.com) Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1d0c4d84bf6so11495575ad.1 for ; Thu, 07 Dec 2023 15:13:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701990831; x=1702595631; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=lKmgboExTACzl+VEc5YWJcp+l2q5Ax4zahEE19h6AQ0=; b=PhugnSWK0/bdE4NNmLGX9meAoFO+tgAuCqko4+dfd891PIave4wjJDY/H6o/9C4O8l AmkDfA9vUeALaGD3m0tdFBnuzSJpRdVyW9ifuhRHj8SdONqBUg9zfLbGS7MeC6L7U10s mVwbCeFZdpkObtm4FR39wi2Kz6Cr+r0fAIychgLe9wjiQmcwTSKPPNJYNTFvd/bZG37s Cx2/+dHRtWg1WQvc1pJ0h83PrAOMpmzgqd0MlFirLObJWfeDpd8RM7gR8JairU5NMocE sSEUGWX3Tg/XJRjN47WGk1LbhyYkGjm6mL7C6PE5bSQ7qbd+fcrme46GTMKMU19erz1v roYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701990831; x=1702595631; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lKmgboExTACzl+VEc5YWJcp+l2q5Ax4zahEE19h6AQ0=; b=qBkMceA15E6vWFv/qPzzPriASFRPQoNadbVCeaXkBPpyybSs2DN/rh0PhOBDM/lxPJ l43Jd+3VMiQ4eppf+DFmFtwTcPl7lJOaUI9NAe/bJNmNymBmboAS1JOjOKHZJI3Gr8Gy bL69rZr4O6wUHNOC2HEeZnsGcbt954PVPn+zp1Y5HUAFv/nv4wuiderSJxc4htji/f5v 4XBUOf24VgzxMDgaaqxd+wr+sHLzcm3u3EMPgxYt/L5jSAr6XFEuM5ld6WZwjOhArZyJ kH5raMuJyiE18FJFGuI4FdPz94knM6vD2O7urLuYreVYLjPtgaLXUcDfIW8AQ1Zd4APN BFEQ== X-Gm-Message-State: AOJu0YxZPK6ZCAQuBBQ2cFa+yMxBdsfaFHYxAxbfYAZhA0ENH5RuqKEL ccEEUZ1WWqkiXmpxj6KBZq39uj6+WRs= X-Google-Smtp-Source: AGHT+IG28W3j1zN7TWUlixKxlR1AlJ6Wo01muQ6u6H54e1vfyH+eBJqav6rniCpUqyGmIlx5g8HGbw== X-Received: by 2002:a17:902:c946:b0:1d0:c4af:4628 with SMTP id i6-20020a170902c94600b001d0c4af4628mr3633749pla.70.1701990830649; Thu, 07 Dec 2023 15:13:50 -0800 (PST) Received: from chiron.hsd1.or.comcast.net ([2601:1c0:ca00:cea0:f523:dc1d:b135:87b9]) by smtp.gmail.com with ESMTPSA id o12-20020a170902bccc00b001d0696e9237sm349695pls.118.2023.12.07.15.13.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 15:13:50 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-core@lists.openembedded.org Subject: [PATCH 1/6] python3-setuptools-rust: BBCLASSEXTEND + nativesdk Date: Thu, 7 Dec 2023 15:13:18 -0800 Message-Id: <7450c0715e58e76f391ed2dee2ed7aeb4e7a307c.1701989368.git.tim.orling@konsulko.com> X-Mailer: git-send-email 2.34.1 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 ; Thu, 07 Dec 2023 23:14:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191982 We would like to build python3-maturin for nativesdk use and nativesdk-python3-setuptools-rust is a dependency. Signed-off-by: Tim Orling --- meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb b/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb index db5c6c449c3..a91ee23ca0c 100644 --- a/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb +++ b/meta/recipes-devtools/python/python3-setuptools-rust_1.8.1.bb @@ -33,4 +33,4 @@ RDEPENDS:${PN} += " \ python3-wheel \ " -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Dec 7 23:13:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 35880 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 B99DFC10DCE for ; Thu, 7 Dec 2023 23:14:01 +0000 (UTC) Received: from mail-pg1-f174.google.com (mail-pg1-f174.google.com [209.85.215.174]) by mx.groups.io with SMTP id smtpd.web11.106724.1701990835139827116 for ; Thu, 07 Dec 2023 15:13:55 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Bnw2xYhp; spf=pass (domain: gmail.com, ip: 209.85.215.174, mailfrom: ticotimo@gmail.com) Received: by mail-pg1-f174.google.com with SMTP id 41be03b00d2f7-5c1a75a4b6cso1069546a12.2 for ; Thu, 07 Dec 2023 15:13:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701990834; x=1702595634; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=CnMqfGSnPMEw/md6Iu75WQ7rjdLHuABwGjZTYhf4NEg=; b=Bnw2xYhpzwQ+0SP1bdyNN7nkzdWNSWuGGiZ9VIkRtxeT4AIKsZIAtVwbQ1cw05HrVc X6YaiSwJJIlqY8hNZilUE8Nf/qajwp/9MzgVJhx5BauKsE3Eaa4+bMEzJZDRfzkkCAxq BQZPpxTcW0AnhmNZ+QJ+JQCxeiUhoSu4k4Y4j4boa9uB1dLriCXvnDlhF//E3uiOsCJE MJ6TVvZnhwyn7+JOijVWxMgkTdXhlKliwh6KIIOpqSnKhixAmz4Z22bIK0sAXpcAudqr SX44TvuOPTSMTqQj5tsl+X66vLxU3wTeQAzuvJOaloTI+HK0iVdJuusWm+dr6v6ahsDz hlog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701990834; x=1702595634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CnMqfGSnPMEw/md6Iu75WQ7rjdLHuABwGjZTYhf4NEg=; b=maJAtRgfbUZJ99xlVeOSO75MF5gDH3bU7TgKfjYRmcr6Difgd++NB7591f9An5ju7R Itqr2M2kJ4qEeIrOaC8ep0tMLzYXHvHNeensu3vXWhPkCIsPzUSer5uSI08u52qGYvBz n6KBOOGvtZgVxN91yM5ixO+iqYfFMpExdG4ODiN2KQA+bHqkMQbtwN316hoz7Ka8KaEw FA05fUR/fPwvmzYjVALMEBFykJ4IFGF6pesW2sVlDLUsvaZ2GL3oQsS4GcrofSd2MPZg Eamg7INJPkLzX0pdHePXbGWBu/egPCjxe/zUGnewpSn+H3VNNKRSwwjHnOSE5WbLo96F Ml1Q== X-Gm-Message-State: AOJu0YxSfPa8s3OhQ0K422yCjY6qZnLe86be/BnGUeLDzagjLMR6vSm5 efuwb9dBkCcFgnCW8DPAGuNQRen7kP0= X-Google-Smtp-Source: AGHT+IEQ54gcQLrih+SbAjO73nc3RO18gzm1QTfh0F7UNWn4SydG7lcYmADxPOpe82Pfy9ZxD6vG7g== X-Received: by 2002:a17:90b:388a:b0:286:b2c1:2e85 with SMTP id mu10-20020a17090b388a00b00286b2c12e85mr2824774pjb.35.1701990833496; Thu, 07 Dec 2023 15:13:53 -0800 (PST) Received: from chiron.hsd1.or.comcast.net ([2601:1c0:ca00:cea0:f523:dc1d:b135:87b9]) by smtp.gmail.com with ESMTPSA id o12-20020a170902bccc00b001d0696e9237sm349695pls.118.2023.12.07.15.13.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 15:13:52 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-core@lists.openembedded.org Subject: [PATCH 2/6] python3-maturin: add v1.3.2 Date: Thu, 7 Dec 2023 15:13:19 -0800 Message-Id: X-Mailer: git-send-email 2.34.1 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 ; Thu, 07 Dec 2023 23:14:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191983 Build and publish crates with pyo3, rust-cpython, cffi and uniffi bindings as well as rust binaries as python packages. This project is meant as a zero configuration replacement for setuptools-rust and milksnake. It supports building wheels for python 3.7+ on windows, linux, mac and freebsd, can upload them to pypi and has basic pypy and graalpy support. https://github.com/pyo3/maturin [YOCTO #15312] Signed-off-by: Tim Orling --- meta/conf/distro/include/maintainers.inc | 1 + .../python/python3-maturin-crates.inc | 572 ++++++++++++++++++ .../python/python3-maturin_1.3.2.bb | 40 ++ 3 files changed, 613 insertions(+) create mode 100644 meta/recipes-devtools/python/python3-maturin-crates.inc create mode 100644 meta/recipes-devtools/python/python3-maturin_1.3.2.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 2c59db56ac6..8fe1efd3288 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -653,6 +653,7 @@ RECIPE_MAINTAINER:pn-python3-magic = "Joshua Watt " RECIPE_MAINTAINER:pn-python3-mako = "Trevor Gamblin " RECIPE_MAINTAINER:pn-python3-markdown = "Alexander Kanavin " RECIPE_MAINTAINER:pn-python3-markupsafe = "Richard Purdie " +RECIPE_MAINTAINER:pn-python3-maturin = "Tim Orling " RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling " RECIPE_MAINTAINER:pn-python3-ndg-httpsclient = "Tim Orling " RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin " diff --git a/meta/recipes-devtools/python/python3-maturin-crates.inc b/meta/recipes-devtools/python/python3-maturin-crates.inc new file mode 100644 index 00000000000..2b6949ee496 --- /dev/null +++ b/meta/recipes-devtools/python/python3-maturin-crates.inc @@ -0,0 +1,572 @@ +# Autogenerated with 'bitbake -c update_crates python3-maturin' + +# from Cargo.lock +SRC_URI += " \ + crate://crates.io/adler/1.0.2 \ + crate://crates.io/ahash/0.7.7 \ + crate://crates.io/aho-corasick/0.7.20 \ + crate://crates.io/anstream/0.3.2 \ + crate://crates.io/anstyle/1.0.1 \ + crate://crates.io/anstyle-parse/0.2.1 \ + crate://crates.io/anstyle-query/1.0.0 \ + crate://crates.io/anstyle-wincon/1.0.2 \ + crate://crates.io/anyhow/1.0.75 \ + crate://crates.io/autocfg/1.1.0 \ + crate://crates.io/base64/0.13.1 \ + crate://crates.io/base64/0.21.2 \ + crate://crates.io/bitflags/1.3.2 \ + crate://crates.io/block-buffer/0.10.4 \ + crate://crates.io/bstr/1.6.0 \ + crate://crates.io/byteorder/1.4.3 \ + crate://crates.io/bytes/1.4.0 \ + crate://crates.io/bytesize/1.2.0 \ + crate://crates.io/bzip2/0.4.4 \ + crate://crates.io/bzip2-sys/0.1.11+1.0.8 \ + crate://crates.io/cab/0.4.1 \ + crate://crates.io/camino/1.1.6 \ + crate://crates.io/cargo-config2/0.1.9 \ + crate://crates.io/cargo-options/0.6.0 \ + crate://crates.io/cargo-platform/0.1.3 \ + crate://crates.io/cargo-xwin/0.14.8 \ + crate://crates.io/cargo-zigbuild/0.17.5 \ + crate://crates.io/cargo_metadata/0.18.0 \ + crate://crates.io/cbindgen/0.26.0 \ + crate://crates.io/cc/1.0.82 \ + crate://crates.io/cfb/0.7.3 \ + crate://crates.io/cfg-expr/0.15.4 \ + crate://crates.io/cfg-if/1.0.0 \ + crate://crates.io/charset/0.1.3 \ + crate://crates.io/chumsky/0.9.2 \ + crate://crates.io/clap/4.1.14 \ + crate://crates.io/clap_builder/4.1.14 \ + crate://crates.io/clap_complete/4.2.3 \ + crate://crates.io/clap_complete_command/0.5.1 \ + crate://crates.io/clap_complete_fig/4.2.0 \ + crate://crates.io/clap_complete_nushell/0.1.11 \ + crate://crates.io/clap_derive/4.1.14 \ + crate://crates.io/clap_lex/0.4.1 \ + crate://crates.io/cli-table/0.4.7 \ + crate://crates.io/colorchoice/1.0.0 \ + crate://crates.io/configparser/3.0.2 \ + crate://crates.io/console/0.15.7 \ + crate://crates.io/content_inspector/0.2.4 \ + crate://crates.io/core-foundation/0.9.3 \ + crate://crates.io/core-foundation-sys/0.8.4 \ + crate://crates.io/cpufeatures/0.2.9 \ + crate://crates.io/crc32fast/1.3.2 \ + crate://crates.io/crossbeam-channel/0.5.8 \ + crate://crates.io/crossbeam-deque/0.8.3 \ + crate://crates.io/crossbeam-epoch/0.9.15 \ + crate://crates.io/crossbeam-utils/0.8.16 \ + crate://crates.io/crypto-common/0.1.6 \ + crate://crates.io/data-encoding/2.4.0 \ + crate://crates.io/dialoguer/0.11.0 \ + crate://crates.io/diff/0.1.13 \ + crate://crates.io/digest/0.10.7 \ + crate://crates.io/dirs/5.0.1 \ + crate://crates.io/dirs-sys/0.4.1 \ + crate://crates.io/dissimilar/1.0.7 \ + crate://crates.io/dunce/1.0.4 \ + crate://crates.io/either/1.9.0 \ + crate://crates.io/encode_unicode/0.3.6 \ + crate://crates.io/encoding_rs/0.8.32 \ + crate://crates.io/errno/0.3.2 \ + crate://crates.io/errno-dragonfly/0.1.2 \ + crate://crates.io/expect-test/1.4.1 \ + crate://crates.io/fastrand/1.9.0 \ + crate://crates.io/fat-macho/0.4.7 \ + crate://crates.io/filetime/0.2.22 \ + crate://crates.io/flate2/1.0.27 \ + crate://crates.io/fnv/1.0.7 \ + crate://crates.io/foreign-types/0.3.2 \ + crate://crates.io/foreign-types-shared/0.1.1 \ + crate://crates.io/form_urlencoded/1.2.0 \ + crate://crates.io/fs-err/2.9.0 \ + crate://crates.io/generic-array/0.14.7 \ + crate://crates.io/getrandom/0.2.10 \ + crate://crates.io/glob/0.3.1 \ + crate://crates.io/globset/0.4.10 \ + crate://crates.io/goblin/0.7.1 \ + crate://crates.io/hashbrown/0.12.3 \ + crate://crates.io/heck/0.4.1 \ + crate://crates.io/hermit-abi/0.3.2 \ + crate://crates.io/home/0.5.5 \ + crate://crates.io/humantime/2.1.0 \ + crate://crates.io/humantime-serde/1.1.1 \ + crate://crates.io/idna/0.4.0 \ + crate://crates.io/ignore/0.4.20 \ + crate://crates.io/indexmap/1.9.3 \ + crate://crates.io/indicatif/0.17.6 \ + crate://crates.io/indoc/2.0.3 \ + crate://crates.io/instant/0.1.12 \ + crate://crates.io/io-lifetimes/1.0.11 \ + crate://crates.io/is-terminal/0.4.7 \ + crate://crates.io/itertools/0.11.0 \ + crate://crates.io/itoa/1.0.9 \ + crate://crates.io/keyring/2.0.5 \ + crate://crates.io/lazy_static/1.4.0 \ + crate://crates.io/lddtree/0.3.3 \ + crate://crates.io/libc/0.2.147 \ + crate://crates.io/linux-keyutils/0.2.3 \ + crate://crates.io/linux-raw-sys/0.3.8 \ + crate://crates.io/lock_api/0.4.10 \ + crate://crates.io/log/0.4.20 \ + crate://crates.io/lzxd/0.1.4 \ + crate://crates.io/mailparse/0.14.0 \ + crate://crates.io/matchers/0.1.0 \ + crate://crates.io/memchr/2.5.0 \ + crate://crates.io/memoffset/0.9.0 \ + crate://crates.io/mime/0.3.17 \ + crate://crates.io/mime_guess/2.0.4 \ + crate://crates.io/minijinja/1.0.8 \ + crate://crates.io/minimal-lexical/0.2.1 \ + crate://crates.io/miniz_oxide/0.7.1 \ + crate://crates.io/msi/0.6.0 \ + crate://crates.io/multipart/0.18.0 \ + crate://crates.io/native-tls/0.2.11 \ + crate://crates.io/nom/7.1.3 \ + crate://crates.io/normalize-line-endings/0.3.0 \ + crate://crates.io/normpath/1.1.1 \ + crate://crates.io/nu-ansi-term/0.46.0 \ + crate://crates.io/num_cpus/1.16.0 \ + crate://crates.io/number_prefix/0.4.0 \ + crate://crates.io/once_cell/1.18.0 \ + crate://crates.io/openssl/0.10.56 \ + crate://crates.io/openssl-macros/0.1.1 \ + crate://crates.io/openssl-probe/0.1.5 \ + crate://crates.io/openssl-src/111.27.0+1.1.1v \ + crate://crates.io/openssl-sys/0.9.91 \ + crate://crates.io/option-ext/0.2.0 \ + crate://crates.io/os_pipe/1.1.4 \ + crate://crates.io/overload/0.1.1 \ + crate://crates.io/parking_lot/0.12.1 \ + crate://crates.io/parking_lot_core/0.9.8 \ + crate://crates.io/paste/1.0.14 \ + crate://crates.io/path-slash/0.2.1 \ + crate://crates.io/pep440_rs/0.3.6 \ + crate://crates.io/pep508_rs/0.2.1 \ + crate://crates.io/percent-encoding/2.3.0 \ + crate://crates.io/pin-project-lite/0.2.12 \ + crate://crates.io/pkg-config/0.3.27 \ + crate://crates.io/plain/0.2.3 \ + crate://crates.io/platform-info/2.0.2 \ + crate://crates.io/portable-atomic/1.4.2 \ + crate://crates.io/ppv-lite86/0.2.17 \ + crate://crates.io/pretty_assertions/1.4.0 \ + crate://crates.io/proc-macro2/1.0.66 \ + crate://crates.io/psm/0.1.21 \ + crate://crates.io/pyproject-toml/0.6.1 \ + crate://crates.io/python-pkginfo/0.6.0 \ + crate://crates.io/quote/1.0.33 \ + crate://crates.io/quoted_printable/0.4.8 \ + crate://crates.io/rand/0.8.5 \ + crate://crates.io/rand_chacha/0.3.1 \ + crate://crates.io/rand_core/0.6.4 \ + crate://crates.io/rayon/1.7.0 \ + crate://crates.io/rayon-core/1.11.0 \ + crate://crates.io/redox_syscall/0.2.16 \ + crate://crates.io/redox_syscall/0.3.5 \ + crate://crates.io/redox_users/0.4.3 \ + crate://crates.io/regex/1.7.3 \ + crate://crates.io/regex-automata/0.1.10 \ + crate://crates.io/regex-syntax/0.6.29 \ + crate://crates.io/rfc2047-decoder/0.2.2 \ + crate://crates.io/ring/0.17.3 \ + crate://crates.io/rustc_version/0.4.0 \ + crate://crates.io/rustix/0.37.25 \ + crate://crates.io/rustls/0.21.8 \ + crate://crates.io/rustls-pemfile/1.0.3 \ + crate://crates.io/rustls-webpki/0.101.7 \ + crate://crates.io/rustversion/1.0.14 \ + crate://crates.io/ryu/1.0.15 \ + crate://crates.io/same-file/1.0.6 \ + crate://crates.io/schannel/0.1.22 \ + crate://crates.io/scopeguard/1.2.0 \ + crate://crates.io/scroll/0.11.0 \ + crate://crates.io/scroll_derive/0.11.1 \ + crate://crates.io/sct/0.7.1 \ + crate://crates.io/security-framework/2.9.2 \ + crate://crates.io/security-framework-sys/2.9.1 \ + crate://crates.io/semver/1.0.18 \ + crate://crates.io/serde/1.0.183 \ + crate://crates.io/serde_derive/1.0.183 \ + crate://crates.io/serde_json/1.0.105 \ + crate://crates.io/serde_spanned/0.6.3 \ + crate://crates.io/sha2/0.10.7 \ + crate://crates.io/sharded-slab/0.1.4 \ + crate://crates.io/shell-escape/0.1.5 \ + crate://crates.io/shell-words/1.1.0 \ + crate://crates.io/shlex/1.1.0 \ + crate://crates.io/similar/2.2.1 \ + crate://crates.io/smallvec/1.11.0 \ + crate://crates.io/smawk/0.3.1 \ + crate://crates.io/snapbox/0.4.11 \ + crate://crates.io/snapbox-macros/0.3.4 \ + crate://crates.io/socks/0.3.4 \ + crate://crates.io/spin/0.9.8 \ + crate://crates.io/stacker/0.1.15 \ + crate://crates.io/static_assertions/1.1.0 \ + crate://crates.io/strsim/0.10.0 \ + crate://crates.io/syn/1.0.109 \ + crate://crates.io/syn/2.0.29 \ + crate://crates.io/tar/0.4.40 \ + crate://crates.io/target-lexicon/0.12.11 \ + crate://crates.io/tempfile/3.6.0 \ + crate://crates.io/termcolor/1.2.0 \ + crate://crates.io/terminal_size/0.2.6 \ + crate://crates.io/textwrap/0.16.0 \ + crate://crates.io/thiserror/1.0.47 \ + crate://crates.io/thiserror-impl/1.0.47 \ + crate://crates.io/thread_local/1.1.7 \ + crate://crates.io/time/0.3.20 \ + crate://crates.io/time-core/0.1.0 \ + crate://crates.io/time-macros/0.2.8 \ + crate://crates.io/tinyvec/1.6.0 \ + crate://crates.io/tinyvec_macros/0.1.1 \ + crate://crates.io/toml/0.5.11 \ + crate://crates.io/toml/0.7.4 \ + crate://crates.io/toml_datetime/0.6.2 \ + crate://crates.io/toml_edit/0.19.10 \ + crate://crates.io/tracing/0.1.37 \ + crate://crates.io/tracing-attributes/0.1.26 \ + crate://crates.io/tracing-core/0.1.31 \ + crate://crates.io/tracing-log/0.1.3 \ + crate://crates.io/tracing-serde/0.1.3 \ + crate://crates.io/tracing-subscriber/0.3.17 \ + crate://crates.io/trycmd/0.14.16 \ + crate://crates.io/twox-hash/1.6.3 \ + crate://crates.io/typenum/1.16.0 \ + crate://crates.io/unicase/2.6.0 \ + crate://crates.io/unicode-bidi/0.3.13 \ + crate://crates.io/unicode-ident/1.0.11 \ + crate://crates.io/unicode-linebreak/0.1.5 \ + crate://crates.io/unicode-normalization/0.1.22 \ + crate://crates.io/unicode-width/0.1.10 \ + crate://crates.io/untrusted/0.9.0 \ + crate://crates.io/ureq/2.8.0 \ + crate://crates.io/url/2.4.1 \ + crate://crates.io/utf8parse/0.2.1 \ + crate://crates.io/uuid/1.4.1 \ + crate://crates.io/valuable/0.1.0 \ + crate://crates.io/vcpkg/0.2.15 \ + crate://crates.io/version_check/0.9.4 \ + crate://crates.io/versions/5.0.1 \ + crate://crates.io/wait-timeout/0.2.0 \ + crate://crates.io/walkdir/2.3.3 \ + crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ + crate://crates.io/webpki-roots/0.25.2 \ + crate://crates.io/which/4.4.0 \ + crate://crates.io/wild/2.1.0 \ + crate://crates.io/winapi/0.3.9 \ + 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/windows-sys/0.45.0 \ + crate://crates.io/windows-sys/0.48.0 \ + crate://crates.io/windows-targets/0.42.2 \ + crate://crates.io/windows-targets/0.48.2 \ + crate://crates.io/windows_aarch64_gnullvm/0.42.2 \ + crate://crates.io/windows_aarch64_gnullvm/0.48.2 \ + crate://crates.io/windows_aarch64_msvc/0.42.2 \ + crate://crates.io/windows_aarch64_msvc/0.48.2 \ + crate://crates.io/windows_i686_gnu/0.42.2 \ + crate://crates.io/windows_i686_gnu/0.48.2 \ + crate://crates.io/windows_i686_msvc/0.42.2 \ + crate://crates.io/windows_i686_msvc/0.48.2 \ + crate://crates.io/windows_x86_64_gnu/0.42.2 \ + crate://crates.io/windows_x86_64_gnu/0.48.2 \ + crate://crates.io/windows_x86_64_gnullvm/0.42.2 \ + crate://crates.io/windows_x86_64_gnullvm/0.48.2 \ + crate://crates.io/windows_x86_64_msvc/0.42.2 \ + crate://crates.io/windows_x86_64_msvc/0.48.2 \ + crate://crates.io/winnow/0.4.7 \ + crate://crates.io/xattr/1.0.1 \ + crate://crates.io/xwin/0.3.1 \ + crate://crates.io/yansi/0.5.1 \ + crate://crates.io/zeroize/1.6.0 \ + crate://crates.io/zip/0.6.6 \ +" + +SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +SRC_URI[ahash-0.7.7.sha256sum] = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +SRC_URI[aho-corasick-0.7.20.sha256sum] = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +SRC_URI[anstyle-wincon-1.0.2.sha256sum] = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" +SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +SRC_URI[base64-0.21.2.sha256sum] = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +SRC_URI[byteorder-1.4.3.sha256sum] = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +SRC_URI[bytes-1.4.0.sha256sum] = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +SRC_URI[bytesize-1.2.0.sha256sum] = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5" +SRC_URI[bzip2-0.4.4.sha256sum] = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +SRC_URI[bzip2-sys-0.1.11+1.0.8.sha256sum] = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +SRC_URI[cab-0.4.1.sha256sum] = "ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551" +SRC_URI[camino-1.1.6.sha256sum] = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +SRC_URI[cargo-config2-0.1.9.sha256sum] = "a393492158d1198da424057afeadc96af9330d76d12e56d131a7a5302524ac65" +SRC_URI[cargo-options-0.6.0.sha256sum] = "9b8e8daa6b2b84aa7cccd57317d9a9b36d969d75bb95923471f4eabbd36f2955" +SRC_URI[cargo-platform-0.1.3.sha256sum] = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479" +SRC_URI[cargo-xwin-0.14.8.sha256sum] = "11c08ee57b16103990269874220c0e8a4613b8096a314ce2f29ad1b54d4b6d02" +SRC_URI[cargo-zigbuild-0.17.5.sha256sum] = "d5166694ea85c72f887293af72a665d7ac5a537649e607773bf834cb6303b1da" +SRC_URI[cargo_metadata-0.18.0.sha256sum] = "fb9ac64500cc83ce4b9f8dafa78186aa008c8dea77a09b94cd307fd0cd5022a8" +SRC_URI[cbindgen-0.26.0.sha256sum] = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49" +SRC_URI[cc-1.0.82.sha256sum] = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +SRC_URI[cfb-0.7.3.sha256sum] = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +SRC_URI[cfg-expr-0.15.4.sha256sum] = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" +SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +SRC_URI[charset-0.1.3.sha256sum] = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" +SRC_URI[chumsky-0.9.2.sha256sum] = "23170228b96236b5a7299057ac284a321457700bc8c41a4476052f0f4ba5349d" +SRC_URI[clap-4.1.14.sha256sum] = "906f7fe1da4185b7a282b2bc90172a496f9def1aca4545fe7526810741591e14" +SRC_URI[clap_builder-4.1.14.sha256sum] = "351f9ad9688141ed83dfd8f5fb998a06225ef444b48ff4dc43de6d409b7fd10b" +SRC_URI[clap_complete-4.2.3.sha256sum] = "1594fe2312ec4abf402076e407628f5c313e54c32ade058521df4ee34ecac8a8" +SRC_URI[clap_complete_command-0.5.1.sha256sum] = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d" +SRC_URI[clap_complete_fig-4.2.0.sha256sum] = "f3af28956330989baa428ed4d3471b853715d445c62de21b67292e22cf8a41fa" +SRC_URI[clap_complete_nushell-0.1.11.sha256sum] = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e" +SRC_URI[clap_derive-4.1.14.sha256sum] = "81d7dc0031c3a59a04fc2ba395c8e2dd463cba1859275f065d225f6122221b45" +SRC_URI[clap_lex-0.4.1.sha256sum] = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" +SRC_URI[cli-table-0.4.7.sha256sum] = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" +SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +SRC_URI[configparser-3.0.2.sha256sum] = "5458d9d1a587efaf5091602c59d299696a3877a439c8f6d461a2d3cce11df87a" +SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +SRC_URI[content_inspector-0.2.4.sha256sum] = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" +SRC_URI[core-foundation-0.9.3.sha256sum] = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +SRC_URI[cpufeatures-0.2.9.sha256sum] = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +SRC_URI[crossbeam-channel-0.5.8.sha256sum] = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +SRC_URI[data-encoding-2.4.0.sha256sum] = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" +SRC_URI[dialoguer-0.11.0.sha256sum] = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" +SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" +SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +SRC_URI[dirs-5.0.1.sha256sum] = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +SRC_URI[dirs-sys-0.4.1.sha256sum] = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +SRC_URI[dissimilar-1.0.7.sha256sum] = "86e3bdc80eee6e16b2b6b0f87fbc98c04bee3455e35174c0de1a125d0688c632" +SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +SRC_URI[encoding_rs-0.8.32.sha256sum] = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +SRC_URI[errno-0.3.2.sha256sum] = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" +SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +SRC_URI[expect-test-1.4.1.sha256sum] = "30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3" +SRC_URI[fastrand-1.9.0.sha256sum] = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +SRC_URI[fat-macho-0.4.7.sha256sum] = "63fa117c7dcabeb8c83d5c229764cfa46518545d2dba5a9a08912014711f997b" +SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" +SRC_URI[flate2-1.0.27.sha256sum] = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +SRC_URI[fs-err-2.9.0.sha256sum] = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" +SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +SRC_URI[globset-0.4.10.sha256sum] = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +SRC_URI[goblin-0.7.1.sha256sum] = "f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134" +SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +SRC_URI[humantime-serde-1.1.1.sha256sum] = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" +SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +SRC_URI[ignore-0.4.20.sha256sum] = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" +SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +SRC_URI[indicatif-0.17.6.sha256sum] = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" +SRC_URI[indoc-2.0.3.sha256sum] = "2c785eefb63ebd0e33416dfcb8d6da0bf27ce752843a45632a67bf10d4d4b5c4" +SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +SRC_URI[is-terminal-0.4.7.sha256sum] = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +SRC_URI[keyring-2.0.5.sha256sum] = "9549a129bd08149e0a71b2d1ce2729780d47127991bfd0a78cc1df697ec72492" +SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +SRC_URI[lddtree-0.3.3.sha256sum] = "2f5bfec46830ad3a95199ae6804dfe9f51fdad43d7a95fbb6c185efa9824c295" +SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +SRC_URI[linux-keyutils-0.2.3.sha256sum] = "3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b" +SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +SRC_URI[lock_api-0.4.10.sha256sum] = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +SRC_URI[lzxd-0.1.4.sha256sum] = "784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213" +SRC_URI[mailparse-0.14.0.sha256sum] = "6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa" +SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +SRC_URI[mime_guess-2.0.4.sha256sum] = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +SRC_URI[minijinja-1.0.8.sha256sum] = "80084fa3099f58b7afab51e5f92e24c2c2c68dcad26e96ad104bd6011570461d" +SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" +SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +SRC_URI[msi-0.6.0.sha256sum] = "a7124fc3188eff23916d20d82bcbbb993914b22fba5603f9e7745e347a86cf67" +SRC_URI[multipart-0.18.0.sha256sum] = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" +SRC_URI[native-tls-0.2.11.sha256sum] = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" +SRC_URI[normpath-1.1.1.sha256sum] = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" +SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +SRC_URI[openssl-0.10.56.sha256sum] = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" +SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +SRC_URI[openssl-src-111.27.0+1.1.1v.sha256sum] = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02" +SRC_URI[openssl-sys-0.9.91.sha256sum] = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" +SRC_URI[option-ext-0.2.0.sha256sum] = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +SRC_URI[os_pipe-1.1.4.sha256sum] = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177" +SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +SRC_URI[parking_lot_core-0.9.8.sha256sum] = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +SRC_URI[path-slash-0.2.1.sha256sum] = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" +SRC_URI[pep440_rs-0.3.6.sha256sum] = "3d6f6ead185985925c7e2b5ddb57ed5ef9d95835bf3994a5ce74403653898ab6" +SRC_URI[pep508_rs-0.2.1.sha256sum] = "c0713d7bb861ca2b7d4c50a38e1f31a4b63a2e2df35ef1e5855cc29e108453e2" +SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +SRC_URI[pin-project-lite-0.2.12.sha256sum] = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" +SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" +SRC_URI[platform-info-2.0.2.sha256sum] = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f" +SRC_URI[portable-atomic-1.4.2.sha256sum] = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" +SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +SRC_URI[pyproject-toml-0.6.1.sha256sum] = "ee79feaa9d31e1c417e34219e610b67db4e786ce9b49d77dda549640abb9dc5f" +SRC_URI[python-pkginfo-0.6.0.sha256sum] = "037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa" +SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +SRC_URI[quoted_printable-0.4.8.sha256sum] = "5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49" +SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +SRC_URI[rayon-1.7.0.sha256sum] = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +SRC_URI[rayon-core-1.11.0.sha256sum] = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +SRC_URI[redox_users-0.4.3.sha256sum] = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +SRC_URI[regex-1.7.3.sha256sum] = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d" +SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +SRC_URI[rfc2047-decoder-0.2.2.sha256sum] = "61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e" +SRC_URI[ring-0.17.3.sha256sum] = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e" +SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +SRC_URI[rustix-0.37.25.sha256sum] = "d4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035" +SRC_URI[rustls-0.21.8.sha256sum] = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +SRC_URI[rustls-pemfile-1.0.3.sha256sum] = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +SRC_URI[rustls-webpki-0.101.7.sha256sum] = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +SRC_URI[rustversion-1.0.14.sha256sum] = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +SRC_URI[schannel-0.1.22.sha256sum] = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +SRC_URI[scroll-0.11.0.sha256sum] = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +SRC_URI[scroll_derive-0.11.1.sha256sum] = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" +SRC_URI[sct-0.7.1.sha256sum] = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +SRC_URI[security-framework-2.9.2.sha256sum] = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +SRC_URI[security-framework-sys-2.9.1.sha256sum] = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +SRC_URI[semver-1.0.18.sha256sum] = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +SRC_URI[serde-1.0.183.sha256sum] = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" +SRC_URI[serde_derive-1.0.183.sha256sum] = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" +SRC_URI[serde_json-1.0.105.sha256sum] = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +SRC_URI[serde_spanned-0.6.3.sha256sum] = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +SRC_URI[sharded-slab-0.1.4.sha256sum] = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +SRC_URI[shell-escape-0.1.5.sha256sum] = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" +SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +SRC_URI[shlex-1.1.0.sha256sum] = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +SRC_URI[similar-2.2.1.sha256sum] = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" +SRC_URI[smallvec-1.11.0.sha256sum] = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +SRC_URI[smawk-0.3.1.sha256sum] = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" +SRC_URI[snapbox-0.4.11.sha256sum] = "f6bccd62078347f89a914e3004d94582e13824d4e3d8a816317862884c423835" +SRC_URI[snapbox-macros-0.3.4.sha256sum] = "eaaf09df9f0eeae82be96290918520214530e738a7fe5a351b0f24cf77c0ca31" +SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +SRC_URI[stacker-0.1.15.sha256sum] = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +SRC_URI[syn-2.0.29.sha256sum] = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +SRC_URI[target-lexicon-0.12.11.sha256sum] = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +SRC_URI[tempfile-3.6.0.sha256sum] = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" +SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" +SRC_URI[thiserror-1.0.47.sha256sum] = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" +SRC_URI[thiserror-impl-1.0.47.sha256sum] = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" +SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +SRC_URI[time-0.3.20.sha256sum] = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +SRC_URI[time-core-0.1.0.sha256sum] = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +SRC_URI[time-macros-0.2.8.sha256sum] = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +SRC_URI[toml-0.7.4.sha256sum] = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec" +SRC_URI[toml_datetime-0.6.2.sha256sum] = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" +SRC_URI[toml_edit-0.19.10.sha256sum] = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" +SRC_URI[tracing-0.1.37.sha256sum] = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +SRC_URI[tracing-attributes-0.1.26.sha256sum] = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +SRC_URI[tracing-core-0.1.31.sha256sum] = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +SRC_URI[tracing-log-0.1.3.sha256sum] = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +SRC_URI[tracing-serde-0.1.3.sha256sum] = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +SRC_URI[tracing-subscriber-0.3.17.sha256sum] = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +SRC_URI[trycmd-0.14.16.sha256sum] = "2925e71868a12b173c1eb166018c2d2f9dfaedfcaec747bdb6ea2246785d258e" +SRC_URI[twox-hash-1.6.3.sha256sum] = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +SRC_URI[unicase-2.6.0.sha256sum] = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" +SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" +SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +SRC_URI[ureq-2.8.0.sha256sum] = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" +SRC_URI[url-2.4.1.sha256sum] = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +SRC_URI[uuid-1.4.1.sha256sum] = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +SRC_URI[versions-5.0.1.sha256sum] = "c73a36bc44e3039f51fbee93e39f41225f6b17b380eb70cc2aab942df06b34dd" +SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +SRC_URI[webpki-roots-0.25.2.sha256sum] = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +SRC_URI[which-4.4.0.sha256sum] = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +SRC_URI[wild-2.1.0.sha256sum] = "05b116685a6be0c52f5a103334cbff26db643826c7b3735fc0a3ba9871310a74" +SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +SRC_URI[windows-targets-0.48.2.sha256sum] = "d1eeca1c172a285ee6c2c84c341ccea837e7c01b12fbb2d0fe3c9e550ce49ec8" +SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +SRC_URI[windows_aarch64_gnullvm-0.48.2.sha256sum] = "b10d0c968ba7f6166195e13d593af609ec2e3d24f916f081690695cf5eaffb2f" +SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +SRC_URI[windows_aarch64_msvc-0.48.2.sha256sum] = "571d8d4e62f26d4932099a9efe89660e8bd5087775a2ab5cdd8b747b811f1058" +SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +SRC_URI[windows_i686_gnu-0.48.2.sha256sum] = "2229ad223e178db5fbbc8bd8d3835e51e566b8474bfca58d2e6150c48bb723cd" +SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +SRC_URI[windows_i686_msvc-0.48.2.sha256sum] = "600956e2d840c194eedfc5d18f8242bc2e17c7775b6684488af3a9fff6fe3287" +SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +SRC_URI[windows_x86_64_gnu-0.48.2.sha256sum] = "ea99ff3f8b49fb7a8e0d305e5aec485bd068c2ba691b6e277d29eaeac945868a" +SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +SRC_URI[windows_x86_64_gnullvm-0.48.2.sha256sum] = "8f1a05a1ece9a7a0d5a7ccf30ba2c33e3a61a30e042ffd247567d1de1d94120d" +SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +SRC_URI[windows_x86_64_msvc-0.48.2.sha256sum] = "d419259aba16b663966e29e6d7c6ecfa0bb8425818bb96f6f1f3c3eb71a6e7b9" +SRC_URI[winnow-0.4.7.sha256sum] = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +SRC_URI[xattr-1.0.1.sha256sum] = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" +SRC_URI[xwin-0.3.1.sha256sum] = "79db6a9fc6b665feccd1984e4e21ff588102652c317176fab0d6706b55d3e208" +SRC_URI[yansi-0.5.1.sha256sum] = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +SRC_URI[zeroize-1.6.0.sha256sum] = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +SRC_URI[zip-0.6.6.sha256sum] = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" diff --git a/meta/recipes-devtools/python/python3-maturin_1.3.2.bb b/meta/recipes-devtools/python/python3-maturin_1.3.2.bb new file mode 100644 index 00000000000..4ab91024cf5 --- /dev/null +++ b/meta/recipes-devtools/python/python3-maturin_1.3.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "Build and publish crates with pyo3, rust-cpython, cffi bindings and rust binaries as python packages" +HOMEPAGE = "https://github.com/pyo3/maturin" +SECTION = "devel/python" +LICENSE = "MIT | Apache-2.0" +LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ + file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" + +SRC_URI[sha256sum] = "952d458b3dea01e9670582ac2dff3c522a34e491f08ed6376b270655a68c24af" + +S = "${WORKDIR}/maturin-${PV}" + +DEPENDS += "\ + python3-setuptools-rust-native \ + python3-semantic-version-native \ + python3-setuptools-rust \ +" + +require ${BPN}-crates.inc + +inherit pypi cargo-update-recipe-crates python_pyo3 python_setuptools_build_meta + +do_configure() { + python_pyo3_do_configure + cargo_common_do_configure + python_pep517_do_configure +} + +RDEPENDS:${PN} += "\ + cargo \ + python3-json \ + rust \ +" + +RRECOMMENDS:${PN} += "\ + python3-ensurepip \ + python3-pip \ + python3-venv \ +" + +BBCLASSEXTEND = "native nativesdk" From patchwork Thu Dec 7 23:13:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 35878 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 BE22EC10DC3 for ; Thu, 7 Dec 2023 23:14:01 +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.web11.106726.1701990837514191271 for ; Thu, 07 Dec 2023 15:13:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=EgZdI5Cr; spf=pass (domain: gmail.com, ip: 209.85.214.179, mailfrom: ticotimo@gmail.com) Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-1d2e6e14865so5177175ad.0 for ; Thu, 07 Dec 2023 15:13:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701990836; x=1702595636; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=pi695pgdsjJ9Qelrmi0i6JZ9ODoRUIDSy6IQP/OEYMg=; b=EgZdI5CrfMIDljMCo7FK2R8gH+TImDAVCGIMPKL+2AxFc7e1P4si0gxxPg5Z9TR98G ll0asBtU2Z+zC3zn7Eq4XJKWboBnfD7o5lRzwv9bIpFdz0U5DXDhy+Z8YvxUj0cObPrl NiTksBSGfnbnqkdZX8zld9Bi1IU+oA9kkdPaB5Fi3RCagDZpW6ZZ3cpYLI6jilCz4rZK X5mMAzTLogBG4Yn3JB6rHgc3lF/N6FZom2pGlwwFRm0uT83nL2xYe80zS/xrsVsiLkvC EyvU4w5aXEuCFM9WUKR4TJL8HHij3rMl6eamuGIT5e/mO+GV1IGB4dvZP26I0i45CsmP Bu9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701990836; x=1702595636; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pi695pgdsjJ9Qelrmi0i6JZ9ODoRUIDSy6IQP/OEYMg=; b=vgUbjcMk7rxAEb+Exgm5gIX8BHs5Xl7oQcIVWFkO0sExwQ5ffn3jdorPrx5mQLAMFO 1QLQiKIFXcoLJ6zoXfLErYTRkK/rip6E70g/MM9kOPZBC36KAVGAV3szN8QhcxGUr5Ax PRHCXOjnBxEjUU8NRu7t37KxfuPAlpksLWs1fVweo9w4IeiFb9Bbla1bAWNacJvhztYP E4x8FTjDPA1iqSKUhO4774Dw/0XBEQBufKSj8zgioNF0o+iG9XCrCkmwRRHzcHcnXjOK FJQxOQFK2/7WsWRmo13LogjKhCi5oIfhchid5nJP9vWVbbpdfSAbGTkCz39I2EyJfGA1 VCEQ== X-Gm-Message-State: AOJu0YwtR27x4m5RqqNNtqBxjeH+bldf6wbvWeIssE9XC8ETB4AefnQL M6+fd+S3Je3uYgukXIyuI08Rv1s0YN0= X-Google-Smtp-Source: AGHT+IElgfnPRVLXjp2wxJFHouOTgWG+cENYtTFRvBqwegHwtTGOxDlLWEaQX3V//f1SmrMiMlfqew== X-Received: by 2002:a17:903:18e:b0:1d0:c942:37c4 with SMTP id z14-20020a170903018e00b001d0c94237c4mr3405260plg.52.1701990836539; Thu, 07 Dec 2023 15:13:56 -0800 (PST) Received: from chiron.hsd1.or.comcast.net ([2601:1c0:ca00:cea0:f523:dc1d:b135:87b9]) by smtp.gmail.com with ESMTPSA id o12-20020a170902bccc00b001d0696e9237sm349695pls.118.2023.12.07.15.13.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 15:13:55 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-core@lists.openembedded.org Subject: [PATCH 3/6] classes-recipe: add python_maturin.bbclass Date: Thu, 7 Dec 2023 15:13:20 -0800 Message-Id: X-Mailer: git-send-email 2.34.1 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 ; Thu, 07 Dec 2023 23:14:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191984 maturin is a replacement for setuptools_rust and another "backend" for building python wheels. [YOCTO #15312] Signed-off-by: Tim Orling --- meta/classes-recipe/python_maturin.bbclass | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 meta/classes-recipe/python_maturin.bbclass diff --git a/meta/classes-recipe/python_maturin.bbclass b/meta/classes-recipe/python_maturin.bbclass new file mode 100644 index 00000000000..c39d6c6e37d --- /dev/null +++ b/meta/classes-recipe/python_maturin.bbclass @@ -0,0 +1,17 @@ +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +inherit python_pyo3 python_setuptools_build_meta + +DEPENDS += "python3-maturin-native" + +python_maturin_do_configure() { + python_pyo3_do_configure + cargo_common_do_configure + python_pep517_do_configure +} + +EXPORT_FUNCTIONS do_configure From patchwork Thu Dec 7 23:13:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 35879 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 CD7E0C46CA3 for ; Thu, 7 Dec 2023 23:14:01 +0000 (UTC) Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by mx.groups.io with SMTP id smtpd.web10.107159.1701990839054991663 for ; Thu, 07 Dec 2023 15:13:59 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=KPeLeA5i; spf=pass (domain: gmail.com, ip: 209.85.215.176, mailfrom: ticotimo@gmail.com) Received: by mail-pg1-f176.google.com with SMTP id 41be03b00d2f7-5c699b44dddso1122384a12.1 for ; Thu, 07 Dec 2023 15:13:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701990838; x=1702595638; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XBHQoiTfXYdGLFPKqS0yJ1hzC6CTRhLlWq0b5Im9Z30=; b=KPeLeA5i8rkg6Q5TaStyClMDIGtdNYg1I422F1LlzSi3nL08TB70sj4WkziUZFz7fj j5rlctf1dt44M0OvgiY4CCtSocz4ARyoecHQtjWhEYiYspEGl9bbsGb+nk1+jizzHBsy Z0PfuZ+P6+cd1FoANmh2VZHn9HWcFATR/obHaIgQ7QyHkswAawx3xgT61BQ/PqHoaW+L onNlG0qFMirsRz+rnjCv4zrZouidllJ2ScdUJn8F7k0yr/nmox4+Wsb5YNZfuWh2GZ/w SR2NMd8FV0Yh8++0/boHMzZLOxSOVaT0Ugpd/Z/w81YSPOAL0By5Wb623m1sAeiafgHL RNVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701990838; x=1702595638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XBHQoiTfXYdGLFPKqS0yJ1hzC6CTRhLlWq0b5Im9Z30=; b=mO8O3v4CfT0Bjp70Z3B7mBvz8bq9VFcnAr5ZFBauEqiJdKiFnMjitpCh5RO55Ac1sd C2C3Iwok48OhbEzhYxeqDdIykv5P0pMK5r8Fhup4e8EPD2PWzTincp2uut22nJyabavt p9qk0toGkv/DOQKhIWO21TOtdX5TIGsnKsqyf0qQ1Oxn/NxdqmQ/i681BiVDq6gOYIMO DFMkoyjqgQiTr3QUkvMncIlYS+0WBm+qSXGm5BgvUJJqwWwtx7juHqpKTdnaBE88DEgs c4561kWuhuojdXJg4Vrmw82GTduOEStfCRvh8/zNIFe7akPg705DDtA8nop8csWUW6N3 4V7g== X-Gm-Message-State: AOJu0Ywx5vIxMKI4bMD7FOEf2DsSyfV+vJIn6RfD6zzoCRhd6OuEAEx+ yVFJHTbe0JDOT37H144gXMsPyfjx4LE= X-Google-Smtp-Source: AGHT+IFfW/36ImfTL2S3e7WJKhdXJ4dromq0BOapqocPVapr9c513GQsuXflRr+XLro0H3PpobhqKw== X-Received: by 2002:a05:6a20:1f2a:b0:18f:97c:4f66 with SMTP id dn42-20020a056a201f2a00b0018f097c4f66mr2152430pzb.114.1701990838159; Thu, 07 Dec 2023 15:13:58 -0800 (PST) Received: from chiron.hsd1.or.comcast.net ([2601:1c0:ca00:cea0:f523:dc1d:b135:87b9]) by smtp.gmail.com with ESMTPSA id o12-20020a170902bccc00b001d0696e9237sm349695pls.118.2023.12.07.15.13.57 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 15:13:57 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-core@lists.openembedded.org Subject: [PATCH 4/6] recipetool: add python_maturin support Date: Thu, 7 Dec 2023 15:13:21 -0800 Message-Id: <1c44ffa9837ab6c7a8ea24a2f69eafb38838fb45.1701989368.git.tim.orling@konsulko.com> X-Mailer: git-send-email 2.34.1 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 ; Thu, 07 Dec 2023 23:14:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191985 Add the new python_maturin PEP-517 backend Add selftest for 'pydantic-core' pypi package. [YOCTO #15312] Signed-off-by: Tim Orling --- meta/lib/oeqa/selftest/cases/recipetool.py | 34 +++++++++++++++++++ .../lib/recipetool/create_buildsys_python.py | 1 + 2 files changed, 35 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index 55cbba9ca74..ddcacaa73c7 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py @@ -611,6 +611,40 @@ class RecipetoolCreateTests(RecipetoolBase): self._test_recipe_contents(recipefile, checkvars, inherits) + def test_recipetool_create_python3_pep517_maturin(self): + # This test require python 3.11 or above for the tomllib module + # or tomli module to be installed + try: + import tomllib + except ImportError: + try: + import tomli + except ImportError: + self.skipTest('Test requires python 3.11 or above for tomllib module or tomli module') + + # Test creating python3 package from tarball (using maturin class) + temprecipe = os.path.join(self.tempdir, 'recipe') + os.makedirs(temprecipe) + pn = 'pydantic-core' + pv = '2.14.5' + recipefile = os.path.join(temprecipe, 'python3-%s_%s.bb' % (pn, pv)) + srcuri = 'https://files.pythonhosted.org/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-%s.tar.gz' % pv + result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + self.assertTrue(os.path.isfile(recipefile)) + checkvars = {} + checkvars['HOMEPAGE'] = 'https://github.com/pydantic/pydantic-core' + checkvars['LICENSE'] = set(['MIT']) + checkvars['LIC_FILES_CHKSUM'] = 'file://LICENSE;md5=ab599c188b4a314d2856b3a55030c75c' + checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/64/26/cffb93fe9c6b5a91c497f37fae14a4b073ecbc47fc36a9979c7aa888b245/pydantic_core-${PV}.tar.gz' + checkvars['SRC_URI[md5sum]'] = '1eb13c211147496c1c9484ff7f8ac438' + checkvars['SRC_URI[sha1sum]'] = '0803a731aa793f3eaf4d52f656d7300408ca0b36' + checkvars['SRC_URI[sha256sum]'] = '6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71' + checkvars['SRC_URI[sha384sum]'] = 'cca6d9f0ba72ff92e16aaf3d6c628b8df33bdf244cc39c9d59cff9d541f35d4e87ec136e60e4b040ad73c5c69b27cec6' + checkvars['SRC_URI[sha512sum]'] = 'e6c3081dfa58d9b59f8c33dfe80712d732ac3048a2f8240f9a0f5448d9bfc83e222c1e08b8bb49779b84f685c3bec3060cc935c113a818b1ab8aa955f3df2238' + inherits = ['python_maturin'] + + self._test_recipe_contents(recipefile, checkvars, inherits) + def test_recipetool_create_github_tarball(self): # Basic test to ensure github URL mangling doesn't apply to release tarballs temprecipe = os.path.join(self.tempdir, 'recipe') diff --git a/scripts/lib/recipetool/create_buildsys_python.py b/scripts/lib/recipetool/create_buildsys_python.py index 9312e4abf13..9bebb3061b1 100644 --- a/scripts/lib/recipetool/create_buildsys_python.py +++ b/scripts/lib/recipetool/create_buildsys_python.py @@ -668,6 +668,7 @@ class PythonPyprojectTomlRecipeHandler(PythonRecipeHandler): "poetry.core.masonry.api": "python_poetry_core", "flit_core.buildapi": "python_flit_core", "hatchling.build": "python_hatchling", + "maturin": "python_maturin", } # setuptools.build_meta and flit declare project metadata into the "project" section of pyproject.toml From patchwork Thu Dec 7 23:13:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 35877 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 B1567C46CA0 for ; Thu, 7 Dec 2023 23:14:01 +0000 (UTC) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) by mx.groups.io with SMTP id smtpd.web10.107160.1701990840864268302 for ; Thu, 07 Dec 2023 15:14:00 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=VqkYQMFL; spf=pass (domain: gmail.com, ip: 209.85.214.169, mailfrom: ticotimo@gmail.com) Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-1d048c171d6so13456945ad.1 for ; Thu, 07 Dec 2023 15:14:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701990840; x=1702595640; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=9oatBoY9oLK+i1c6gUAK1iAz6XGfR9O6uWCdtEzajqc=; b=VqkYQMFL9ePMhHVmhY/N0eYY8NcyNC7Kfm2+bbggSz03DZg2NDZvlp81pVrqDyxLhv sxejMfc8yLv0smAsT5hVf9/cSN8Iw/wwS12RXHkzFEG61Wuj7Y/p3cJbRdqTjY1wssYT R3Tb0a88/K6ZQD7BKeuV1VRd1jrna9D9DCHOQge/sTQokX9BEkmw+KtH4IqvRM3yXdGK 5GnThxzs4sTG1Nf8fvzZJ6LH++ZWK/DcmKFpeYB6G1iOYcG6CAj1fUilk5XONz8FD49W AdcO7t6MiSKMcvb5A9P6mqCsiiwEjECqjMc3jRTTHCXTD2VAe7UFjb5eIMLtRbvlOUjA AfDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701990840; x=1702595640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9oatBoY9oLK+i1c6gUAK1iAz6XGfR9O6uWCdtEzajqc=; b=d+nd4iqmgVrgKXvp0QhtyFBOzJ0aOOwCYYm75ext/wJsCE+oB0fhDkWFSCx+p9QQ1Y ymU9ESGfLFWPr2Tew+dTJA5RzQyBGy7aqd54YxIresgZBXLAzxm3zFkbFXGlBvEOSgBE Y5YmhBG+xXHu7BYK+6R0PAkVNhPRVlmQOMgHMqvanoiv2KHplVPL8DqZyBkoEULi8pWI 3jiW66Oc6u2BZtvDqmlE4Fn7LQ4fjzgAdWMXtC593gcqZgawTQbujQ2HYdgslmb34fLy 5ghBdtS5GFJwa0Sn84g7Cls9BMI0a+uN5PNcniDrXUKC4ExLEuTg1wY2/fGZ8nwEuRQ3 p+Fg== X-Gm-Message-State: AOJu0YxaofndsMbVhYx7hf/M1HqqQAcFFdY5JoR0+yzPyZ/ImQqjw1MK fx4W07L6hn7SR7XL09GI+fEUUULYSmw= X-Google-Smtp-Source: AGHT+IHcl7zGR5fOzbfDKvnIjQZpiiGmxZ/tyDtDcA3EWe4oQXwwWNvKVYAkCCz/nxSylmSyzvrl4Q== X-Received: by 2002:a17:902:da83:b0:1d0:5ed4:4bf with SMTP id j3-20020a170902da8300b001d05ed404bfmr3870450plx.54.1701990839859; Thu, 07 Dec 2023 15:13:59 -0800 (PST) Received: from chiron.hsd1.or.comcast.net ([2601:1c0:ca00:cea0:f523:dc1d:b135:87b9]) by smtp.gmail.com with ESMTPSA id o12-20020a170902bccc00b001d0696e9237sm349695pls.118.2023.12.07.15.13.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 15:13:59 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-core@lists.openembedded.org Subject: [PATCH 5/6] oe-selfest: add maturn runtime (testimage) test Date: Thu, 7 Dec 2023 15:13:22 -0800 Message-Id: X-Mailer: git-send-email 2.34.1 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 ; Thu, 07 Dec 2023 23:14:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191986 Basic smoke test for maturin to test the 'maturin list-python' case. [YOCTO #15312] Signed-off-by: Tim Orling --- meta/lib/oeqa/runtime/cases/maturin.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 meta/lib/oeqa/runtime/cases/maturin.py diff --git a/meta/lib/oeqa/runtime/cases/maturin.py b/meta/lib/oeqa/runtime/cases/maturin.py new file mode 100644 index 00000000000..b9a3b4acbcd --- /dev/null +++ b/meta/lib/oeqa/runtime/cases/maturin.py @@ -0,0 +1,23 @@ +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +import os + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage + +class MaturinTest(OERuntimeTestCase): + @OETestDepends(['ssh.SSHTest.test_ssh', 'python.PythonTest.test_python3']) + @OEHasPackage(['python3-maturin']) + def test_maturin_list_python(self): + status, output = self.target.run("maturin list-python") + self.assertEqual(status, 0) + _, py_major = self.target.run("python3 -c 'import sys; print(sys.version_info.major)'") + _, py_minor = self.target.run("python3 -c 'import sys; print(sys.version_info.minor)'") + python_version = "%s.%s" % (py_major, py_minor) + self.assertEqual(output, " From patchwork Thu Dec 7 23:13:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tim Orling X-Patchwork-Id: 35881 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 CFC95C4167B for ; Thu, 7 Dec 2023 23:14:11 +0000 (UTC) Received: from mail-pg1-f179.google.com (mail-pg1-f179.google.com [209.85.215.179]) by mx.groups.io with SMTP id smtpd.web11.106732.1701990844707946498 for ; Thu, 07 Dec 2023 15:14:04 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=DlVYhvkV; spf=pass (domain: gmail.com, ip: 209.85.215.179, mailfrom: ticotimo@gmail.com) Received: by mail-pg1-f179.google.com with SMTP id 41be03b00d2f7-5c5f0e325a6so1100155a12.1 for ; Thu, 07 Dec 2023 15:14:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701990844; x=1702595644; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=JDRle+aVV4jYIBwzd+wY9RxB7JGx/OZEopxfLcYk9oU=; b=DlVYhvkVApiKC+tO8R4xRaft1qXFoIScB6npwp0RxMBFMFRU38UAgc24miNkpYIA2s KB3qcts+mjyoXfbgjb5Z9aZtUtRIhDAdP9t+sFGGUeTI9bmI7aE5y1ruKCChtTAMQkfK mmw2a+g/VJfO0Xw1wCX1HLBAcXRwp23wG49qrb8+95/vG2SS7T4L7qDW3pUsijF9dLGE Q+JmNqSPpxzFFXftPH6KJ9veCBdLVoGR2aL81g5xfDv1LhqJ6UvhiLH+f0vFvrhIDSJZ irpmd1NJXzQ7p1Qd2DCQ6H+Kf3drWTc8m6EGidrXPMrT5kwe+2z8HbSyemSOkIBzJUsg 3yNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701990844; x=1702595644; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JDRle+aVV4jYIBwzd+wY9RxB7JGx/OZEopxfLcYk9oU=; b=Bbp/3QamaQ/1XE/rj6+ZVtFEZ1MhoYgAK4G3BK1JlgNJLDGJSMwyNFsMDB+IDxT31U C/jOCMq7R+FBvZjsrX3XqwCUYpSZjbKW97uYeboWwtBGPgi9xll/CWhlPyfb4YaIuPr5 XKkc4t3ougrr4eAiQUKEuYQrOrtnPrkkokAQ2n5lF7ZwSjQTdt0HD3GOsJHL0erRXd0l MleLJ6Nbni5XqFEQ/2dVkvSH6NQ5+lSnET0THHt+RUL5Vf3OXxxcLXK7w7xVIkpPnEwP eemHTcquKywQlcSKb3IfThnqz/yUcuU8XtV0muOrqSe3vR/2/sHw60tV2jKw5RBzdL9t aOmg== X-Gm-Message-State: AOJu0Yxze/8KZU/nA7LQmo70Z+oE5P6+yZH5kmm3JYwPxT+RtFSXUqbt hgvPdNzE9xBrcHQu4XfDfLt+FGFRRoY= X-Google-Smtp-Source: AGHT+IHS7eNTReULUVfxZz3Fpb8WSL1ioIgx8ZDts1VUjCHjEUJtLDgRpYAygIpmCs0fZdOap+CJlA== X-Received: by 2002:a17:902:d2c6:b0:1d0:7619:e8b6 with SMTP id n6-20020a170902d2c600b001d07619e8b6mr3023478plc.34.1701990843745; Thu, 07 Dec 2023 15:14:03 -0800 (PST) Received: from chiron.hsd1.or.comcast.net ([2601:1c0:ca00:cea0:f523:dc1d:b135:87b9]) by smtp.gmail.com with ESMTPSA id o12-20020a170902bccc00b001d0696e9237sm349695pls.118.2023.12.07.15.14.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 15:14:03 -0800 (PST) From: Tim Orling X-Google-Original-From: Tim Orling To: openembedded-core@lists.openembedded.org Subject: [PATCH 6/6] python3-maturin: add sdk (testsdk) test case Date: Thu, 7 Dec 2023 15:13:23 -0800 Message-Id: <24841a7636bd1e83411c87ba4332f6f863542c6f.1701989368.git.tim.orling@konsulko.com> X-Mailer: git-send-email 2.34.1 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 ; Thu, 07 Dec 2023 23:14:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191987 We expect 'maturin' will be used in SDKs, so it makes sense to also test it in the testsdk environment. To run this test case, you can add the following to local.conf: TOOLCHAIN_HOST_TASK:append = " nativesdk-python3-maturin" And the build and test the SDK: bitbake -c populate_sdk core-image-full-cmdline bitbake -c testsdk core-image-full-cmdline You can substitute a different image recipe for "core-image-full-cmdline" [YOCTO #15312] Signed-off-by: Tim Orling --- meta/lib/oeqa/sdk/cases/maturin.py | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 meta/lib/oeqa/sdk/cases/maturin.py diff --git a/meta/lib/oeqa/sdk/cases/maturin.py b/meta/lib/oeqa/sdk/cases/maturin.py new file mode 100644 index 00000000000..14245bc36e5 --- /dev/null +++ b/meta/lib/oeqa/sdk/cases/maturin.py @@ -0,0 +1,33 @@ +# +# Copyright OpenEmbedded Contributors +# +# SPDX-License-Identifier: MIT +# + +import unittest +from oeqa.sdk.case import OESDKTestCase + +from oeqa.utils.subprocesstweak import errors_have_output + +errors_have_output() + + +class MaturinTest(OESDKTestCase): + def setUp(self): + if not ( + self.tc.hasHostPackage("nativesdk-python3-maturin") + or self.tc.hasHostPackage("python3-maturin-native") + ): + raise unittest.SkipTest("No python3-maturin package in the SDK") + + def test_maturin_list_python(self): + py_major = self._run("python3 -c 'import sys; print(sys.version_info.major)'") + py_minor = self._run("python3 -c 'import sys; print(sys.version_info.minor)'") + python_version = "%s.%s" % (py_major.strip(), py_minor.strip()) + cmd = "maturin list-python" + output = self._run(cmd) + self.assertRegex(output, r"^