Name rav1e
Description The fastest and safest AV1 encoder
Version 0.7.1-r2
Package Base rav1e
Homepage https://github.com/xiph/rav1e
Maintainers ['Oleg Titov <oleg.titov@gmail.com>']
Contributors ['Oleg Titov <oleg.titov@gmail.com>']
Distro-repo https://gitlab.alpinelinux.org/alpine/aports/-/tree/3.22-stable/community/rav1e
Sources ['$pkgname-0.7.1-r2.tar.gz::https://github.com/xiph/rav1e/archive/v0.7.1-r2.tar.gz', 'RUSTSEC-2024-0404.patch', 'crossbeam-channel-0.5.14.patch', 'upgrade-rust-libc-to-support-loongarch64.patch']
Dependencies ['libc.musl-x86_64.so.1', 'libgcc_s.so.1']
Optional-Dependencies []
Build-Dependencies ['cargo', 'cargo-c', 'nasm', 'cargo-auditable']
Provides ['cmd:rav1e=0.7.1-r2']
Builddate 30-09-2025 16:21:27
Architecture x86_64
Distro-Version v3.22
Licenses ['BSD-2-Clause custom']
Hash Q1f+FHtr3msB9lWz5mZjnp7jxlQLI=
# Contributor: Oleg Titov <oleg.titov@gmail.com>
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=rav1e
pkgver=0.7.1
pkgrel=2
pkgdesc="The fastest and safest AV1 encoder"
url="https://github.com/xiph/rav1e"
arch="all"
license="BSD-2-Clause custom"
makedepends="cargo cargo-c nasm cargo-auditable"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://github.com/xiph/rav1e/archive/v$pkgver.tar.gz
	upgrade-rust-libc-to-support-loongarch64.patch
	RUSTSEC-2024-0404.patch
	crossbeam-channel-0.5.14.patch
	"
options="net" # cargo crates

# armhf: tests take >6h
case "$CARCH" in
arm*|riscv64)
	options="$options !check"
	;;
esac

export CARGO_PROFILE_RELEASE_INCREMENTAL=false
export CARGO_PROFILE_RELEASE_DEBUG=false

# secfixes:
#   0.7.1-r1:
#     - RUSTSEC-2024-0404

prepare() {
	default_prepare

	cargo fetch --locked
}

build() {
	export CARGO_PROFILE_RELEASE_OPT_LEVEL=3

	cargo auditable build --release --locked
	cargo auditable cbuild \
		--release \
		--locked \
		--prefix /usr \
		--library-type cdylib \
		--library-type staticlib
}

check() {
	cargo test --frozen --workspace
}

package() {
	cargo auditable cinstall --release \
		--frozen \
		--prefix /usr \
		--destdir "$pkgdir" \
		--library-type cdylib \
		--library-type staticlib

	install -Dm755 target/release/rav1e -t "$pkgdir"/usr/bin/

	install -Dm644 README.md PATENTS -t "$pkgdir"/usr/share/doc/rav1e

	# fixes static linking flags
	sed -i 's|Libs.private:.*|Libs.private: -lssp_nonshared -lgcc_eh -lc|' \
		"$pkgdir"/usr/lib/pkgconfig/rav1e.pc
}

sha512sums="
15e95401fe43ff5d28f5cf98122a057566faf291540151eda57fdf941e1ab446afb366ca52fea22dc6e46c5b49878269760f27cbda7487558beac8c5f8c727f9  rav1e-0.7.1.tar.gz
e63f044a72480e786e72900bfef370313f90e34c0c12071b7383f04b2e07b12e7e2c1b4131691bf17acc64eb8bac4c9933bb1a720475b303328ee5e39ab5fe2b  upgrade-rust-libc-to-support-loongarch64.patch
0b1ecae68c09c9304d49a176d6c56c0ce5362cd53ddee50fafd895a3e86c6062a9ae9180cf3cad60a8a423fdc49f47ef1b67664250240317d1c233fea3ad89d1  RUSTSEC-2024-0404.patch
389e5d187a6cea201f98c685bd0eec8f7ebe6c0b493434063d4ad594b27048c3a871da33f1203cc7ee9e2c0c548bdc5b2220848889fe10d1423450e460e3a365  crossbeam-channel-0.5.14.patch
"