blob: 7a96635144a43c4290875b4c5eb9a0c985c8c584 [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"
Patrick Williams8e7b46e2023-05-01 14:19:06 -05008LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
Andrew Geissler595f6302022-01-24 19:11:47 +00009
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050010SRC_URI += "\
11 git://gitlab.com/tschorr/pyruvate.git;protocol=https;branch=main \
Patrick Williams8e7b46e2023-05-01 14:19:06 -050012 file://0001-linux.rs-Define-consts-for-rv32-architecture.patch;patchdir=../cargo_home/bitbake/nix-0.23.2/ \
13 file://0001-musl-Define-SOCK_NONBLOCK-with-O_NONBLOCK.patch;patchdir=../cargo_home/bitbake/libc-0.2.138/ \
14 file://0001-musl-riscv32-Define-F_SETLK-F_SETLKW-and-fix-F_GETLK.patch;patchdir=../cargo_home/bitbake/libc-0.2.138/ \
15 file://0001-musl-Move-F_OFD_GETLK-F_OFD_SETLK-and-F_OFD_SETLKW-t.patch;patchdir=../cargo_home/bitbake/libc-0.2.138/ \
16 file://0001-musl-Define-O_LARGEFILE-for-riscv32.patch;patchdir=../cargo_home/bitbake/libc-0.2.138/ \
17 file://0001-musl-Define-SOCK_SEQPACKET-in-common-place.patch;patchdir=../cargo_home/bitbake/libc-0.2.138/ \
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050018"
Patrick Williams8e7b46e2023-05-01 14:19:06 -050019SRCREV = "57db64c9f65ced05c71b8d786c1cedfaa2991597"
Andrew Geissler595f6302022-01-24 19:11:47 +000020
Patrick Williams8e7b46e2023-05-01 14:19:06 -050021SRC_URI:append:mips = " file://0001-check-for-mips-targets-for-stat.st_dev-definitions.patch;patchdir=../cargo_home/bitbake/libsystemd-0.5.0/"
Andrew Geissler595f6302022-01-24 19:11:47 +000022
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050023S = "${WORKDIR}/git"
24
25inherit python_setuptools3_rust cargo-update-recipe-crates
Andrew Geissler9aee5002022-03-30 16:27:02 +000026
27PIP_INSTALL_DIST_PATH = "${S}/dist"
Andrew Geissler595f6302022-01-24 19:11:47 +000028
29# crossbeam-* -> std::sync::atomic AtomicI64, AtomicU64
30# not supported on mips/powerpc with 32-bit pointers
31# https://doc.rust-lang.org/std/sync/atomic/#portability
32RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64"
33RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64"
34RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64"
35RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64"
36
Andrew Geisslerfc113ea2023-03-31 09:59:46 -050037require ${BPN}-crates.inc
Andrew Geissler595f6302022-01-24 19:11:47 +000038
39# The following configs & dependencies are from setuptools extras_require.
40# These dependencies are optional, hence can be controlled via PACKAGECONFIG.
41# The upstream names may not correspond exactly to bitbake package names.
42#
43# Uncomment this line to enable all the optional features.
44#PACKAGECONFIG ?= "test"
45PACKAGECONFIG[test] = ",,,python3-pytest python3-requests"
46
47# WARNING: the following rdepends are determined through basic analysis of the
48# python sources, and might not be 100% accurate.
49RDEPENDS:${PN} += "python3-core"