Apocrypha

wgpu-native-29.0.1.12xsaiko

# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
RUST_MIN_VER="1.87"

CRATES="
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]+1.3.281
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]+11769913
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]+sdk-1.4.341.0
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
"

inherit cargo

DESCRIPTION="Native WebGPU implementation based on wgpu-core"
HOMEPAGE="https://github.com/gfx-rs/wgpu-native"

MY_WEBGPU_HEADERS_COMMIT="673658bc2bd70ec39fc55ebe6bb0173cf6d0a603"
SRC_URI="
	https://github.com/gfx-rs/wgpu-native/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
	https://github.com/webgpu-native/webgpu-headers/archive/${MY_WEBGPU_HEADERS_COMMIT}.tar.gz -> webgpu-headers-${MY_WEBGPU_HEADERS_COMMIT}.tar.gz
	${CARGO_CRATE_URIS}"

LICENSE="|| ( Apache-2.0 MIT ) BSD"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD CC0-1.0 ISC MIT Unicode-3.0 ZLIB"

SLOT="0"
KEYWORDS="~amd64"

BDEPEND="sys-devel/gettext"

src_unpack() {
	cargo_src_unpack
	rmdir "${S}/ffi/webgpu-headers" || die
	mv "webgpu-headers-${MY_WEBGPU_HEADERS_COMMIT}" "${S}/ffi/webgpu-headers" || die
}

src_compile() {
	cargo_src_compile

	# For some reason envsubst won't substitute ${DESCRIPTION} correctly
	LIBDIR="$(get_libdir)" DESC="${DESCRIPTION}" \
		envsubst '${PN} ${PV} ${DESC} ${EPREFIX} ${LIBDIR}' \
		< "${FILESDIR}/wgpu-native.pc" > "wgpu-native.pc" || die
}

src_install() {
	# The included Meson build script Sucks, so let's do it ourselves

	insinto /usr/include/"${PN}"/
	doins ffi/wgpu.h ffi/webgpu-headers/webgpu.h

	insinto /usr/"$(get_libdir)"/pkgconfig/
	doins wgpu-native.pc

	dolib.a target/release/libwgpu_native.a
	dolib.so target/release/libwgpu_native.so
}