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=b234ee4d69f5fce4486a80fdaf4a4263" 9 10SRC_URI += "\ 11 git://gitlab.com/tschorr/pyruvate.git;protocol=https;branch=main \ 12 file://0001-linux.rs-Define-consts-for-rv32-architecture.patch;patchdir=${UNPACKDIR}/cargo_home/bitbake/nix-0.23.2/ \ 13 file://0001-musl-Define-SOCK_NONBLOCK-with-O_NONBLOCK.patch;patchdir=${UNPACKDIR}/cargo_home/bitbake/libc-0.2.138/ \ 14 file://0001-musl-riscv32-Define-F_SETLK-F_SETLKW-and-fix-F_GETLK.patch;patchdir=${UNPACKDIR}/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=${UNPACKDIR}/cargo_home/bitbake/libc-0.2.138/ \ 16 file://0001-musl-Define-O_LARGEFILE-for-riscv32.patch;patchdir=${UNPACKDIR}/cargo_home/bitbake/libc-0.2.138/ \ 17 file://0001-musl-Define-SOCK_SEQPACKET-in-common-place.patch;patchdir=${UNPACKDIR}/cargo_home/bitbake/libc-0.2.138/ \ 18" 19SRCREV = "57db64c9f65ced05c71b8d786c1cedfaa2991597" 20 21SRC_URI:append:mips = " file://0001-check-for-mips-targets-for-stat.st_dev-definitions.patch;patchdir=${UNPACKDIR}/cargo_home/bitbake/libsystemd-0.5.0/" 22 23S = "${WORKDIR}/git" 24 25inherit python_setuptools3_rust cargo-update-recipe-crates 26 27# crossbeam-* -> std::sync::atomic AtomicI64, AtomicU64 28# not supported on mips/powerpc with 32-bit pointers 29# https://doc.rust-lang.org/std/sync/atomic/#portability 30RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64" 31RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64" 32RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64" 33RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64" 34 35require ${BPN}-crates.inc 36 37# The following configs & dependencies are from setuptools extras_require. 38# These dependencies are optional, hence can be controlled via PACKAGECONFIG. 39# The upstream names may not correspond exactly to bitbake package names. 40# 41# Uncomment this line to enable all the optional features. 42#PACKAGECONFIG ?= "test" 43PACKAGECONFIG[test] = ",,,python3-pytest python3-requests" 44 45# WARNING: the following rdepends are determined through basic analysis of the 46# python sources, and might not be 100% accurate. 47RDEPENDS:${PN} += "python3-core" 48