blob: 1f1c186d3145e394aea548fb78493029f295e34d [file] [log] [blame]
Andrew Geissler595f6302022-01-24 19:11:47 +00001SUMMARY = "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
Andrew Geissler9aee5002022-03-30 16:27:02 +000015inherit pypi python_setuptools3_rust
16
17PIP_INSTALL_DIST_PATH = "${S}/dist"
Andrew Geissler595f6302022-01-24 19:11:47 +000018
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
Andrew Geissler595f6302022-01-24 19:11:47 +000027SRC_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 \
Andrew Geissler9aee5002022-03-30 16:27:02 +000066 crate://crates.io/libc/0.2.120 \
Andrew Geissler595f6302022-01-24 19:11:47 +000067 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"
Andrew Geissler9aee5002022-03-30 16:27:02 +0000118SRC_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/"
Andrew Geissler595f6302022-01-24 19:11:47 +0000122
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"