1SUMMARY = "WSGI server implemented in Rust." 2DESCRIPTION = "Pyruvate is a reasonably fast, multithreaded, non-blocking \ 3WSGI server implemented in Rust." 4HOMEPAGE = "https://gitlab.com/tschorr/pyruvate" 5BUGTRACKER = "https://gitlab.com/tschorr/pyruvate/-/issues" 6 7LICENSE = "GPL-2.0-only" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=051b48e640a6e2d795eac75542d9417c \ 9 file://LICENSE.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" 10 11SRC_URI[sha256sum] = "10befedd97e73fc18b902d02aa3b24e8978aa162242c1b664849c886c0675899" 12 13S = "${WORKDIR}/pyruvate-${PV}" 14 15inherit pypi python_setuptools3_rust 16 17PIP_INSTALL_DIST_PATH = "${S}/dist" 18 19# crossbeam-* -> std::sync::atomic AtomicI64, AtomicU64 20# not supported on mips/powerpc with 32-bit pointers 21# https://doc.rust-lang.org/std/sync/atomic/#portability 22RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64" 23RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64" 24RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64" 25RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64" 26 27SRC_URI += " \ 28 crate://crates.io/aho-corasick/0.7.18 \ 29 crate://crates.io/atty/0.2.14 \ 30 crate://crates.io/autocfg/1.0.1 \ 31 crate://crates.io/bitflags/1.3.2 \ 32 crate://crates.io/block-buffer/0.9.0 \ 33 crate://crates.io/cc/1.0.72 \ 34 crate://crates.io/cfg-if/1.0.0 \ 35 crate://crates.io/chrono/0.4.19 \ 36 crate://crates.io/cpufeatures/0.2.1 \ 37 crate://crates.io/cpython/0.7.0 \ 38 crate://crates.io/crossbeam-channel/0.5.2 \ 39 crate://crates.io/crossbeam-deque/0.8.1 \ 40 crate://crates.io/crossbeam-epoch/0.9.6 \ 41 crate://crates.io/crossbeam-queue/0.3.3 \ 42 crate://crates.io/crossbeam-utils/0.8.6 \ 43 crate://crates.io/crossbeam/0.8.1 \ 44 crate://crates.io/crypto-mac/0.11.1 \ 45 crate://crates.io/ctrlc/3.2.1 \ 46 crate://crates.io/digest/0.9.0 \ 47 crate://crates.io/encoding-index-japanese/1.20141219.5 \ 48 crate://crates.io/encoding-index-korean/1.20141219.5 \ 49 crate://crates.io/encoding-index-simpchinese/1.20141219.5 \ 50 crate://crates.io/encoding-index-singlebyte/1.20141219.5 \ 51 crate://crates.io/encoding-index-tradchinese/1.20141219.5 \ 52 crate://crates.io/encoding/0.2.33 \ 53 crate://crates.io/encoding_index_tests/0.1.4 \ 54 crate://crates.io/env_logger/0.9.0 \ 55 crate://crates.io/errno-dragonfly/0.1.2 \ 56 crate://crates.io/errno/0.2.8 \ 57 crate://crates.io/fastrand/1.6.0 \ 58 crate://crates.io/generic-array/0.14.5 \ 59 crate://crates.io/getrandom/0.2.3 \ 60 crate://crates.io/hermit-abi/0.1.19 \ 61 crate://crates.io/hmac/0.11.0 \ 62 crate://crates.io/httparse/1.5.1 \ 63 crate://crates.io/humantime/2.1.0 \ 64 crate://crates.io/instant/0.1.12 \ 65 crate://crates.io/lazy_static/1.4.0 \ 66 crate://crates.io/libc/0.2.120 \ 67 crate://crates.io/libsystemd/0.4.1 \ 68 crate://crates.io/log/0.4.14 \ 69 crate://crates.io/memchr/2.4.1 \ 70 crate://crates.io/memoffset/0.6.5 \ 71 crate://crates.io/mio/0.8.0 \ 72 crate://crates.io/miow/0.3.7 \ 73 crate://crates.io/nix/0.23.1 \ 74 crate://crates.io/ntapi/0.3.6 \ 75 crate://crates.io/num-integer/0.1.44 \ 76 crate://crates.io/num-traits/0.2.14 \ 77 crate://crates.io/num_cpus/1.13.1 \ 78 crate://crates.io/once_cell/1.9.0 \ 79 crate://crates.io/opaque-debug/0.3.0 \ 80 crate://crates.io/paste/1.0.6 \ 81 crate://crates.io/ppv-lite86/0.2.16 \ 82 crate://crates.io/proc-macro2/1.0.36 \ 83 crate://crates.io/python3-sys/0.7.0 \ 84 crate://crates.io/quote/1.0.14 \ 85 crate://crates.io/rand/0.8.4 \ 86 crate://crates.io/rand_chacha/0.3.1 \ 87 crate://crates.io/rand_core/0.6.3 \ 88 crate://crates.io/rand_hc/0.3.1 \ 89 crate://crates.io/redox_syscall/0.2.10 \ 90 crate://crates.io/regex-syntax/0.6.25 \ 91 crate://crates.io/regex/1.5.4 \ 92 crate://crates.io/remove_dir_all/0.5.3 \ 93 crate://crates.io/scopeguard/1.1.0 \ 94 crate://crates.io/serde/1.0.133 \ 95 crate://crates.io/serde_derive/1.0.133 \ 96 crate://crates.io/sha2/0.9.9 \ 97 crate://crates.io/simplelog/0.11.1 \ 98 crate://crates.io/spmc/0.3.0 \ 99 crate://crates.io/subtle/2.4.1 \ 100 crate://crates.io/syn/1.0.85 \ 101 crate://crates.io/tempfile/3.3.0 \ 102 crate://crates.io/termcolor/1.1.2 \ 103 crate://crates.io/thiserror-impl/1.0.30 \ 104 crate://crates.io/thiserror/1.0.30 \ 105 crate://crates.io/threadpool/1.8.1 \ 106 crate://crates.io/time/0.1.44 \ 107 crate://crates.io/typenum/1.15.0 \ 108 crate://crates.io/unicode-xid/0.2.2 \ 109 crate://crates.io/urlencoding/2.1.0 \ 110 crate://crates.io/uuid/0.8.2 \ 111 crate://crates.io/version_check/0.9.4 \ 112 crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \ 113 crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ 114 crate://crates.io/winapi-util/0.1.5 \ 115 crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ 116 crate://crates.io/winapi/0.3.9 \ 117" 118SRC_URI += "\ 119 file://0001-linux.rs-Define-consts-for-rv32-architecture.patch;patchdir=../cargo_home/bitbake/nix-0.23.1/ \ 120 " 121SRC_URI:append:mips = " file://0001-check-for-mips-targets-for-stat.st_dev-definitions.patch;patchdir=../cargo_home/bitbake/libsystemd-0.4.1/" 122 123# The following configs & dependencies are from setuptools extras_require. 124# These dependencies are optional, hence can be controlled via PACKAGECONFIG. 125# The upstream names may not correspond exactly to bitbake package names. 126# 127# Uncomment this line to enable all the optional features. 128#PACKAGECONFIG ?= "test" 129PACKAGECONFIG[test] = ",,,python3-pytest python3-requests" 130 131# WARNING: the following rdepends are determined through basic analysis of the 132# python sources, and might not be 100% accurate. 133RDEPENDS:${PN} += "python3-core" 134