diff --git a/srcpkgs/concord/template b/srcpkgs/concord/template new file mode 100644 index 00000000000000..d88e23cd400d58 --- /dev/null +++ b/srcpkgs/concord/template @@ -0,0 +1,62 @@ +# Template file for 'concord' +pkgname=concord +version=2.5.10 +revision=1 +build_style=cargo +build_helper=qemu +hostmakedepends="pkg-config cmake" +if [ "$build_option_stream" ]; then + hostmakedepends+=" clang libclang nasm" +fi + +makedepends="wayland-devel libzstd-devel" +if [ "$build_option_voice" ] || [ "$build_option_stream" ]; then + makedepends+=" alsa-lib-devel pulseaudio-devel" +fi +if [ "$build_option_stream" ]; then + makedepends+=" pipewire-devel libva-devel" +fi + +short_desc="TUI client for Discord" +maintainer="rayfadh " +license="GPL-3.0-only" +homepage="https://github.com/chojs23/concord" +changelog="https://raw.githubusercontent.com/chojs23/concord/refs/heads/main/CHANGELOG.md" +distfiles="https://github.com/chojs23/concord/archive/refs/tags/v${version}.tar.gz" +checksum=a0365fb8036f0740958114f094d0113349dcf72e20d8bdf835f3bc3cd5e2a5f8 + +build_options="voice stream" +desc_option_voice="Enable voice playback support (requires ALSA)" +desc_option_stream="Enable stream broadcasting (requires PipeWire and VA-API)" + +case "$XBPS_MACHINE" in + x86_64*|aarch64*) build_options_default="voice stream" ;; +esac + +if [ "$build_option_stream" ]; then + configure_args="--no-default-features --features stream-broadcast" +elif [ "$build_option_voice" ]; then + configure_args="--no-default-features --features voice-playback" +else + configure_args="--no-default-features" +fi + +_setup_env() { + # workaround the cc-rs mixing CFLAGS for host and target. + # https://github.com/rust-lang/cc-rs/issues/1469 + export CFLAGS_${RUST_BUILD//-/_}="${CFLAGS_host}" \ + CXXFLAGS_${RUST_BUILD//-/_}="${CXXFLAGS_host}" \ + LDFLAGS_${RUST_BUILD//-/_}="${LDFLAGS_host}" \ + CFLAGS_${RUST_TARGET//-/_}="${CFLAGS}" \ + CXXFLAGS_${RUST_TARGET//-/_}="${CXXFLAGS}" \ + LDFLAGS_${RUST_TARGET//-/_}="${LDFLAGS}" \ + CFLAGS="" CXXFLAGS="" LDFLAGS="" +} + +pre_build() { + _setup_env +} + +pre_install() { + _setup_env +}