yep
This commit is contained in:
parent
62993c74c5
commit
493ffd2b20
12 changed files with 656 additions and 492 deletions
|
|
@ -18,23 +18,23 @@ BDEPEND="
|
|||
${PYTHON_DEPS}
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:17
|
||||
llvm-core/clang:17
|
||||
spirv? ( dev-util/spirv-llvm-translator:17 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:16
|
||||
llvm-core/clang:16
|
||||
spirv? ( dev-util/spirv-llvm-translator:16 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:15
|
||||
llvm-core/clang:15
|
||||
spirv? ( dev-util/spirv-llvm-translator:15 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:14
|
||||
llvm-core/clang:14
|
||||
spirv? ( dev-util/spirv-llvm-translator:14 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:13
|
||||
llvm-core/clang:13
|
||||
spirv? ( dev-util/spirv-llvm-translator:13 )
|
||||
)
|
||||
)
|
||||
|
|
@ -48,7 +48,7 @@ llvm_check_deps() {
|
|||
has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
|
||||
return 1
|
||||
fi
|
||||
has_version -b "sys-devel/clang:${LLVM_SLOT}"
|
||||
has_version -b "llvm-core/clang:${LLVM_SLOT}"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
|
|
|
|||
|
|
@ -18,23 +18,23 @@ BDEPEND="
|
|||
${PYTHON_DEPS}
|
||||
|| (
|
||||
(
|
||||
sys-devel/clang:17
|
||||
llvm-core/clang:17
|
||||
spirv? ( dev-util/spirv-llvm-translator:17 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:16
|
||||
llvm-core/clang:16
|
||||
spirv? ( dev-util/spirv-llvm-translator:16 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:15
|
||||
llvm-core/clang:15
|
||||
spirv? ( dev-util/spirv-llvm-translator:15 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:14
|
||||
llvm-core/clang:14
|
||||
spirv? ( dev-util/spirv-llvm-translator:14 )
|
||||
)
|
||||
(
|
||||
sys-devel/clang:13
|
||||
llvm-core/clang:13
|
||||
spirv? ( dev-util/spirv-llvm-translator:13 )
|
||||
)
|
||||
)
|
||||
|
|
@ -48,7 +48,7 @@ llvm_check_deps() {
|
|||
has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
|
||||
return 1
|
||||
fi
|
||||
has_version -b "sys-devel/clang:${LLVM_SLOT}"
|
||||
has_version -b "llvm-core/clang:${LLVM_SLOT}"
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ DEPEND="
|
|||
>=gui-libs/hyprutils-0.2.1
|
||||
"
|
||||
BDEPEND="
|
||||
|| ( >=sys-devel/gcc-14:* >=sys-devel/clang-18:* )
|
||||
|| ( >=sys-devel/gcc-14:* >=llvm-core/clang-18:* )
|
||||
app-misc/jq
|
||||
dev-build/cmake
|
||||
>=dev-util/hyprwayland-scanner-0.3.8
|
||||
|
|
@ -79,8 +79,8 @@ pkg_setup() {
|
|||
eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc"
|
||||
die "GCC version is too old to compile Hyprland!"
|
||||
elif tc-is-clang && ver_test $(clang-version) -lt 18 ; then
|
||||
eerror "Hyprland requires >=sys-devel/clang-18 to build"
|
||||
eerror "Please upgrade Clang: emerge -v1 sys-devel/clang"
|
||||
eerror "Hyprland requires >=llvm-core/clang-18 to build"
|
||||
eerror "Please upgrade Clang: emerge -v1 llvm-core/clang"
|
||||
die "Clang version is too old to compile Hyprland!"
|
||||
fi
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
DIST mesa-24.0.0-rc3.tar.xz 19856164 BLAKE2B 08b01aba87a7b942831d6406319d8e08909a0dc0518f8ea552093faace06554de33afb54bfa6224e9530ad9b9c0c526f14693a497d4308286c15fe58fe44182e SHA512 0cd619cc79198981061f25e9464cdffa56b5cffbda69b339e7da275af92527c3cd3d3b6ec0d80f920fe0aae025874a2f15f37a737be6e051738fa26bb2907164
|
||||
DIST mesa-24.3.4.tar.xz 30691532 BLAKE2B a5cf1f49c6d809d19510793f5d1dcec1a3842495d3b4166e303d7f2d4744d179811697d264c5c9b39f2819ebc64a76357195b3eae6b1d2a83128de141354e3c2 SHA512 9c23cd86fda4cf0289c5a78b08ceea8b01e5b141d86ee3e659fa46e62ff9586ff92a4984d2a340b5bf209c4c7f3414bf99f3ced19feee8fb39ef99fe572dbd55
|
||||
DIST mesa-25.0.0.tar.xz 46643728 BLAKE2B 9aca2416ea4e304d46fda648cb9b8e04caa053458b91893fb874e9a30d8293722c3bed1098c2720b04b0c7278eba3b0387900b56e13b6133a23c0f6be705025c SHA512 7f5b6674c40b6c8dcab7934512ff754b40a6a8a466422c90236f614d322033d4d465307ddcd983f9f3afb1310e132ec3186a085d261c95493a0c460b2ec59ce8
|
||||
DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
|
||||
|
|
|
|||
|
|
@ -1,450 +0,0 @@
|
|||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit llvm meson-multilib python-any-r1 linux-info
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="OpenGL-like graphic library for Linux"
|
||||
HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="MIT SGI-B-2.0"
|
||||
SLOT="0"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RADEON_CARDS="r300 r600 radeon radeonsi"
|
||||
VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware"
|
||||
for card in ${VIDEO_CARDS}; do
|
||||
IUSE_VIDEO_CARDS+=" video_cards_${card}"
|
||||
done
|
||||
|
||||
IUSE="${IUSE_VIDEO_CARDS}
|
||||
cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
|
||||
lm-sensors opencl osmesa +proprietary-codecs selinux
|
||||
test unwind vaapi valgrind vdpau vulkan
|
||||
vulkan-overlay wayland +X xa zink +zstd"
|
||||
|
||||
REQUIRED_USE="
|
||||
d3d9? (
|
||||
|| (
|
||||
video_cards_intel
|
||||
video_cards_r300
|
||||
video_cards_r600
|
||||
video_cards_radeonsi
|
||||
video_cards_nouveau
|
||||
video_cards_vmware
|
||||
)
|
||||
)
|
||||
vulkan? ( video_cards_radeonsi? ( llvm ) )
|
||||
vulkan-overlay? ( vulkan )
|
||||
video_cards_lavapipe? ( llvm vulkan )
|
||||
video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
|
||||
video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
|
||||
video_cards_radeonsi? ( llvm )
|
||||
vdpau? ( X )
|
||||
xa? ( X )
|
||||
zink? ( vulkan )
|
||||
"
|
||||
|
||||
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110"
|
||||
RDEPEND="
|
||||
>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
|
||||
>=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}]
|
||||
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
|
||||
llvm? (
|
||||
video_cards_radeonsi? (
|
||||
virtual/libelf:0=[${MULTILIB_USEDEP}]
|
||||
)
|
||||
video_cards_r600? (
|
||||
virtual/libelf:0=[${MULTILIB_USEDEP}]
|
||||
)
|
||||
video_cards_radeon? (
|
||||
virtual/libelf:0=[${MULTILIB_USEDEP}]
|
||||
)
|
||||
)
|
||||
lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
|
||||
opencl? (
|
||||
>=virtual/opencl-3
|
||||
dev-libs/libclc[spirv(-)]
|
||||
>=dev-util/spirv-tools-1.3.231.0
|
||||
virtual/libelf:0=
|
||||
)
|
||||
vaapi? (
|
||||
>=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
|
||||
)
|
||||
vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
|
||||
selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
|
||||
wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
|
||||
${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
|
||||
X? (
|
||||
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
|
||||
x11-libs/libXfixes[${MULTILIB_USEDEP}]
|
||||
x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
|
||||
)
|
||||
zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
for card in ${RADEON_CARDS}; do
|
||||
RDEPEND="${RDEPEND}
|
||||
video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
|
||||
"
|
||||
done
|
||||
RDEPEND="${RDEPEND}
|
||||
video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
|
||||
"
|
||||
|
||||
# Please keep the LLVM dependency block separate. Since LLVM is slotted,
|
||||
# we need to *really* make sure we're not pulling one than more slot
|
||||
# simultaneously.
|
||||
#
|
||||
# How to use it:
|
||||
# 1. Specify LLVM_MAX_SLOT (inclusive), e.g. 17.
|
||||
# 2. Specify LLVM_MIN_SLOT (inclusive), e.g. 15.
|
||||
LLVM_MAX_SLOT="18"
|
||||
LLVM_MIN_SLOT="15"
|
||||
LLVM_USE_DEPS="llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}"
|
||||
PER_SLOT_DEPSTR="
|
||||
(
|
||||
!opencl? ( sys-devel/llvm:@SLOT@[${LLVM_USE_DEPS}] )
|
||||
opencl? ( sys-devel/clang:@SLOT@[${LLVM_USE_DEPS}] )
|
||||
opencl? ( dev-util/spirv-llvm-translator:@SLOT@ )
|
||||
)
|
||||
"
|
||||
LLVM_DEPSTR="
|
||||
|| (
|
||||
$(for ((slot=LLVM_MAX_SLOT; slot>=LLVM_MIN_SLOT; slot--)); do
|
||||
echo "${PER_SLOT_DEPSTR//@SLOT@/${slot}}"
|
||||
done)
|
||||
)
|
||||
!opencl? ( <sys-devel/llvm-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
|
||||
opencl? ( <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=[${LLVM_USE_DEPS}] )
|
||||
"
|
||||
RDEPEND="${RDEPEND}
|
||||
llvm? ( ${LLVM_DEPSTR} )
|
||||
"
|
||||
unset LLVM_MIN_SLOT {LLVM,PER_SLOT}_DEPSTR
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
video_cards_d3d12? ( >=dev-util/directx-headers-1.610.0[${MULTILIB_USEDEP}] )
|
||||
valgrind? ( dev-debug/valgrind )
|
||||
wayland? ( >=dev-libs/wayland-protocols-1.30 )
|
||||
X? (
|
||||
x11-libs/libXrandr[${MULTILIB_USEDEP}]
|
||||
x11-base/xorg-proto
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
opencl? (
|
||||
>=virtual/rust-1.62.0
|
||||
>=dev-util/bindgen-0.58.0
|
||||
)
|
||||
app-alternatives/yacc
|
||||
app-alternatives/lex
|
||||
virtual/pkgconfig
|
||||
$(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
|
||||
vulkan? (
|
||||
dev-util/glslang
|
||||
llvm? (
|
||||
video_cards_intel? (
|
||||
amd64? (
|
||||
$(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
|
||||
~dev-util/intel_clc-${PV}
|
||||
dev-libs/libclc[spirv(-)]
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
EGIT_CHECKOUT_DIR=${S}
|
||||
|
||||
QA_WX_LOAD="
|
||||
x86? (
|
||||
usr/lib/libglapi.so.0.0.0
|
||||
usr/lib/libOSMesa.so.8.0.0
|
||||
usr/lib/libGLX_mesa.so.0.0.0
|
||||
)"
|
||||
|
||||
#PATCHES=(
|
||||
# "${FILESDIR}"/${PV}-symbols-check-Add-_GLOBAL_OFFSET_TABLE_.patch
|
||||
# "${FILESDIR}"/${PV}-big-endian.patch
|
||||
#)
|
||||
|
||||
llvm_check_deps() {
|
||||
if use opencl; then
|
||||
has_version "sys-devel/clang:${LLVM_SLOT}[${LLVM_USE_DEPS}]" || return 1
|
||||
has_version "dev-util/spirv-llvm-translator:${LLVM_SLOT}" || return 1
|
||||
fi
|
||||
has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_USE_DEPS}]"
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if use vulkan; then
|
||||
if ! use video_cards_d3d12 &&
|
||||
! use video_cards_freedreno &&
|
||||
! use video_cards_intel &&
|
||||
! use video_cards_radeonsi &&
|
||||
! use video_cards_v3d; then
|
||||
ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use vaapi; then
|
||||
if ! use video_cards_d3d12 &&
|
||||
! use video_cards_r600 &&
|
||||
! use video_cards_radeonsi &&
|
||||
! use video_cards_nouveau; then
|
||||
ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use vdpau; then
|
||||
if ! use video_cards_d3d12 &&
|
||||
! use video_cards_r300 &&
|
||||
! use video_cards_r600 &&
|
||||
! use video_cards_radeonsi &&
|
||||
! use video_cards_nouveau; then
|
||||
ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use xa; then
|
||||
if ! use video_cards_freedreno &&
|
||||
! use video_cards_nouveau &&
|
||||
! use video_cards_vmware; then
|
||||
ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use llvm; then
|
||||
use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
|
||||
fi
|
||||
|
||||
if use osmesa && ! use llvm; then
|
||||
ewarn "OSMesa will be slow without enabling USE=llvm"
|
||||
fi
|
||||
}
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
|
||||
if use llvm && use vulkan && use video_cards_intel && use amd64; then
|
||||
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
# warning message for bug 459306
|
||||
if use llvm && has_version sys-devel/llvm[!debug=]; then
|
||||
ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
|
||||
ewarn "detected! This can cause problems. For details, see bug 459306."
|
||||
fi
|
||||
|
||||
if use video_cards_intel ||
|
||||
use video_cards_radeonsi; then
|
||||
if kernel_is -ge 5 11 3; then
|
||||
CONFIG_CHECK="~KCMP"
|
||||
elif kernel_is -ge 5 11; then
|
||||
CONFIG_CHECK="~CHECKPOINT_RESTORE"
|
||||
elif kernel_is -ge 5 10 20; then
|
||||
CONFIG_CHECK="~KCMP"
|
||||
else
|
||||
CONFIG_CHECK="~CHECKPOINT_RESTORE"
|
||||
fi
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
if use llvm; then
|
||||
llvm_pkg_setup
|
||||
fi
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
|
||||
bin/symbols-check.py || die # bug #830728
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local emesonargs=()
|
||||
|
||||
local platforms
|
||||
use X && platforms+="x11"
|
||||
use wayland && platforms+=",wayland"
|
||||
emesonargs+=(-Dplatforms=${platforms#,})
|
||||
|
||||
if use video_cards_intel ||
|
||||
use video_cards_r300 ||
|
||||
use video_cards_r600 ||
|
||||
use video_cards_radeonsi ||
|
||||
use video_cards_nouveau ||
|
||||
use video_cards_vmware; then
|
||||
emesonargs+=($(meson_use d3d9 gallium-nine))
|
||||
else
|
||||
emesonargs+=(-Dgallium-nine=false)
|
||||
fi
|
||||
|
||||
if use video_cards_d3d12 ||
|
||||
use video_cards_r600 ||
|
||||
use video_cards_radeonsi ||
|
||||
use video_cards_nouveau; then
|
||||
emesonargs+=($(meson_feature vaapi gallium-va))
|
||||
use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
|
||||
else
|
||||
emesonargs+=(-Dgallium-va=disabled)
|
||||
fi
|
||||
|
||||
if use video_cards_d3d12; then
|
||||
emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
|
||||
fi
|
||||
|
||||
if use video_cards_d3d12 ||
|
||||
use video_cards_r300 ||
|
||||
use video_cards_r600 ||
|
||||
use video_cards_radeonsi ||
|
||||
use video_cards_nouveau; then
|
||||
emesonargs+=($(meson_feature vdpau gallium-vdpau))
|
||||
else
|
||||
emesonargs+=(-Dgallium-vdpau=disabled)
|
||||
fi
|
||||
|
||||
if use video_cards_freedreno ||
|
||||
use video_cards_nouveau ||
|
||||
use video_cards_vmware; then
|
||||
emesonargs+=($(meson_feature xa gallium-xa))
|
||||
else
|
||||
emesonargs+=(-Dgallium-xa=disabled)
|
||||
fi
|
||||
|
||||
if use video_cards_freedreno ||
|
||||
use video_cards_lima ||
|
||||
use video_cards_panfrost ||
|
||||
use video_cards_v3d ||
|
||||
use video_cards_vc4 ||
|
||||
use video_cards_vivante; then
|
||||
gallium_enable -- kmsro
|
||||
fi
|
||||
|
||||
gallium_enable -- swrast
|
||||
gallium_enable video_cards_freedreno freedreno
|
||||
gallium_enable video_cards_intel crocus i915 iris
|
||||
gallium_enable video_cards_lima lima
|
||||
gallium_enable video_cards_d3d12 d3d12
|
||||
gallium_enable video_cards_nouveau nouveau
|
||||
gallium_enable video_cards_panfrost panfrost
|
||||
gallium_enable video_cards_v3d v3d
|
||||
gallium_enable video_cards_vc4 vc4
|
||||
gallium_enable video_cards_virgl virgl
|
||||
gallium_enable video_cards_vivante etnaviv
|
||||
gallium_enable video_cards_vmware svga
|
||||
gallium_enable zink zink
|
||||
|
||||
gallium_enable video_cards_r300 r300
|
||||
gallium_enable video_cards_r600 r600
|
||||
gallium_enable video_cards_radeonsi radeonsi
|
||||
if ! use video_cards_r300 && \
|
||||
! use video_cards_r600; then
|
||||
gallium_enable video_cards_radeon r300 r600
|
||||
fi
|
||||
|
||||
if use llvm && use opencl; then
|
||||
PKG_CONFIG_PATH="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/$(get_libdir)/pkgconfig"
|
||||
# See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
|
||||
emesonargs+=(
|
||||
$(meson_native_true gallium-rusticl)
|
||||
-Drust_std=2021
|
||||
)
|
||||
fi
|
||||
|
||||
if use vulkan; then
|
||||
vulkan_enable video_cards_lavapipe swrast
|
||||
vulkan_enable video_cards_freedreno freedreno
|
||||
vulkan_enable video_cards_intel intel intel_hasvk
|
||||
vulkan_enable video_cards_d3d12 microsoft-experimental
|
||||
vulkan_enable video_cards_radeonsi amd
|
||||
vulkan_enable video_cards_v3d broadcom
|
||||
fi
|
||||
|
||||
driver_list() {
|
||||
local drivers="$(sort -u <<< "${1// /$'\n'}")"
|
||||
echo "${drivers//$'\n'/,}"
|
||||
}
|
||||
|
||||
local vulkan_layers
|
||||
use vulkan && vulkan_layers+="device-select"
|
||||
use vulkan-overlay && vulkan_layers+=",overlay"
|
||||
emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
|
||||
|
||||
if use llvm && use vulkan && use video_cards_intel && use amd64; then
|
||||
emesonargs+=(-Dintel-clc=system)
|
||||
else
|
||||
emesonargs+=(-Dintel-clc=disabled)
|
||||
fi
|
||||
|
||||
emesonargs+=(
|
||||
$(meson_use test build-tests)
|
||||
-Dglx=$(usex X dri disabled)
|
||||
-Dshared-glapi=enabled
|
||||
-Ddri3=enabled
|
||||
-Degl=enabled
|
||||
-Dexpat=enabled
|
||||
-Dgbm=enabled
|
||||
-Dglvnd=true
|
||||
$(meson_feature gles1)
|
||||
$(meson_feature gles2)
|
||||
$(meson_feature llvm)
|
||||
$(meson_feature lm-sensors lmsensors)
|
||||
$(meson_use osmesa)
|
||||
$(meson_use selinux)
|
||||
$(meson_feature unwind libunwind)
|
||||
$(meson_feature zstd)
|
||||
$(meson_use cpu_flags_x86_sse2 sse2)
|
||||
-Dvalgrind=$(usex valgrind auto disabled)
|
||||
-Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "")
|
||||
-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
|
||||
-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
|
||||
--buildtype $(usex debug debug plain)
|
||||
-Db_ndebug=$(usex debug false true)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
meson_src_test -t 100
|
||||
}
|
||||
|
||||
# $1 - VIDEO_CARDS flag (check skipped for "--")
|
||||
# other args - names of DRI drivers to enable
|
||||
gallium_enable() {
|
||||
if [[ $1 == -- ]] || use $1; then
|
||||
shift
|
||||
GALLIUM_DRIVERS+=("$@")
|
||||
fi
|
||||
}
|
||||
|
||||
vulkan_enable() {
|
||||
if [[ $1 == -- ]] || use $1; then
|
||||
shift
|
||||
VULKAN_DRIVERS+=("$@")
|
||||
fi
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
carla-9999-r1.ebuild
|
||||
102
media-sound/carla/carla-2.5.2.ebuild
Normal file
102
media-sound/carla/carla-2.5.2.ebuild
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
|
||||
inherit python-single-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="Fully-featured audio plugin host, supports many audio drivers and plugin formats"
|
||||
HOMEPAGE="http://kxstudio.linuxaudio.org/Applications:Carla"
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
# Disable submodules to prevent external plugins from being built and installed
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/falkTX/Carla.git"
|
||||
EGIT_SUBMODULES=()
|
||||
else
|
||||
SRC_URI="https://github.com/falkTX/Carla/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
RESTRICT="mirror"
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/Carla-${PV}"
|
||||
fi
|
||||
LICENSE="GPL-2 LGPL-3"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="alsa gtk gtk2 opengl osc pulseaudio rdf sf2 sndfile X"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep 'dev-python/PyQt5[gui,opengl?,svg,widgets,${PYTHON_USEDEP}]')
|
||||
virtual/jack
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
gtk? ( x11-libs/gtk+:3 )
|
||||
gtk2? ( x11-libs/gtk+:2 )
|
||||
osc? (
|
||||
media-libs/liblo
|
||||
media-libs/pyliblo
|
||||
)
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rdf? ( dev-python/rdflib )
|
||||
sf2? ( media-sound/fluidsynth )
|
||||
sndfile? ( media-libs/libsndfile )
|
||||
X? ( x11-base/xorg-server )"
|
||||
DEPEND=${RDEPEND}
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s|exec \$PYTHON|exec ${PYTHON}|" \
|
||||
data/carla \
|
||||
data/carla-control \
|
||||
data/carla-database \
|
||||
data/carla-jack-multi \
|
||||
data/carla-jack-single \
|
||||
data/carla-patchbay \
|
||||
data/carla-rack \
|
||||
data/carla-settings || die "sed failed"
|
||||
default
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
myemakeargs=(
|
||||
LIBDIR="/usr/$(get_libdir)"
|
||||
SKIP_STRIPPING=true
|
||||
HAVE_FFMPEG=false
|
||||
HAVE_ZYN_DEPS=false
|
||||
HAVE_ZYN_UI_DEPS=false
|
||||
HAVE_QT4=false
|
||||
HAVE_QT5=true
|
||||
HAVE_PYQT5=true
|
||||
DEFAULT_QT=5
|
||||
HAVE_ALSA=$(usex alsa true false)
|
||||
HAVE_FLUIDSYNTH=$(usex sf2 true false)
|
||||
HAVE_GTK2=$(usex gtk2 true false)
|
||||
HAVE_GTK3=$(usex gtk true false)
|
||||
HAVE_LIBLO=$(usex osc true false)
|
||||
HAVE_PULSEAUDIO=$(usex pulseaudio true false)
|
||||
HAVE_SNDFILE=$(usex sndfile true false)
|
||||
HAVE_X11=$(usex X true false)
|
||||
)
|
||||
|
||||
# Print which options are enabled/disabled
|
||||
make features PREFIX="/usr" "${myemakeargs[@]}"
|
||||
|
||||
emake PREFIX="/usr" "${myemakeargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" PREFIX="/usr" "${myemakeargs[@]}" install
|
||||
if ! use osc; then
|
||||
find "${D}/usr" -iname "carla-control*" | xargs rm
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
|
@ -1 +0,0 @@
|
|||
pipewire-9999.ebuild
|
||||
480
media-video/pipewire/pipewire-1.0.0.ebuild
Normal file
480
media-video/pipewire/pipewire-1.0.0.ebuild
Normal file
|
|
@ -0,0 +1,480 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# 1. Please regularly check (even at the point of bumping) Fedora's packaging
|
||||
# for needed backports at https://src.fedoraproject.org/rpms/pipewire/tree/rawhide.
|
||||
#
|
||||
# 2. Upstream also sometimes amend release notes for the previous release to mention
|
||||
# needed patches, e.g. https://gitlab.freedesktop.org/pipewire/pipewire/-/tags/0.3.55#distros
|
||||
#
|
||||
# 3. Keep an eye on git master (for both PipeWire and WirePlumber) as things
|
||||
# continue to move quickly. It's not uncommon for fixes to be made shortly
|
||||
# after releases.
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit flag-o-matic meson-multilib optfeature prefix python-any-r1 systemd tmpfiles udev
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://gitlab.freedesktop.org/${PN}/${PN}.git"
|
||||
inherit git-r3
|
||||
else
|
||||
if [[ ${PV} == *_p* ]] ; then
|
||||
MY_COMMIT=""
|
||||
SRC_URI="https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/${MY_COMMIT}/pipewire-${MY_COMMIT}.tar.bz2 -> ${P}.tar.bz2"
|
||||
S="${WORKDIR}"/${PN}-${MY_COMMIT}
|
||||
else
|
||||
SRC_URI="https://gitlab.freedesktop.org/${PN}/${PN}/-/archive/${PV}/${P}.tar.bz2"
|
||||
fi
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Multimedia processing graphs"
|
||||
HOMEPAGE="https://pipewire.org/"
|
||||
|
||||
LICENSE="MIT LGPL-2.1+ GPL-2"
|
||||
# ABI was broken in 0.3.42 for https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/49
|
||||
SLOT="0/0.4"
|
||||
IUSE="bluetooth dbus docs echo-cancel extra ffmpeg flatpak gstreamer gsettings ieee1394 jack-client jack-sdk liblc3 lv2"
|
||||
IUSE+=" modemmanager pipewire-alsa readline roc selinux sound-server ssl system-service systemd test v4l X zeroconf"
|
||||
|
||||
# Once replacing system JACK libraries is possible, it's likely that
|
||||
# jack-client IUSE will need blocking to avoid users accidentally
|
||||
# configuring their systems to send PW sink output to the emulated
|
||||
# JACK's sink - doing so is likely to yield no audio, cause a CPU
|
||||
# cycles consuming loop (and may even cause GUI crashes)!
|
||||
|
||||
# - TODO: There should be "sound-server? ( || ( alsa bluetooth ) )" here, but ALSA is always enabled
|
||||
# - TODO: Pulseaudio alsa plugin performs runtime check that pulseaudio server connection will work
|
||||
# which provides adequate guarantee that alsa-lib will be able to provide audio services.
|
||||
# If that works, pulseaudio defaults are loaded into alsa-lib runtime replacing default PCM and CTL.
|
||||
# When pipewire-alsa will be able to perform similar check, pipewire-alsa can be enabled unconditionally.
|
||||
# - ffmpeg is only used for pw-cat. We don't build the spa plugin which receives barely any activity.
|
||||
REQUIRED_USE="
|
||||
ffmpeg? ( extra )
|
||||
bluetooth? ( dbus )
|
||||
jack-sdk? ( !jack-client )
|
||||
modemmanager? ( bluetooth )
|
||||
system-service? ( systemd )
|
||||
!sound-server? ( !pipewire-alsa )
|
||||
jack-client? ( dbus )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
>=dev-util/meson-0.59
|
||||
virtual/pkgconfig
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]')
|
||||
dbus? ( dev-util/gdbus-codegen )
|
||||
docs? (
|
||||
app-doc/doxygen
|
||||
media-gfx/graphviz
|
||||
)
|
||||
"
|
||||
# * While udev could technically be optional, it's needed for a number of options,
|
||||
# and not really worth it, bug #877769.
|
||||
#
|
||||
# * Supports both legacy webrtc-audio-processing:0 and new webrtc-audio-processing:1.
|
||||
# We depend on :1 as it prefers that, it's not legacy, and to avoid automagic.
|
||||
RDEPEND="
|
||||
acct-group/audio
|
||||
acct-group/pipewire
|
||||
media-libs/alsa-lib[${MULTILIB_USEDEP}]
|
||||
sys-libs/ncurses:=[unicode(+)]
|
||||
virtual/libintl[${MULTILIB_USEDEP}]
|
||||
virtual/libudev[${MULTILIB_USEDEP}]
|
||||
bluetooth? (
|
||||
dev-libs/glib
|
||||
media-libs/fdk-aac
|
||||
media-libs/libldac
|
||||
media-libs/libfreeaptx
|
||||
media-libs/opus
|
||||
media-libs/sbc
|
||||
>=net-wireless/bluez-4.101:=
|
||||
virtual/libusb:1
|
||||
)
|
||||
dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
|
||||
echo-cancel? ( media-libs/webrtc-audio-processing:1 )
|
||||
extra? ( >=media-libs/libsndfile-1.0.20 )
|
||||
ffmpeg? ( media-video/ffmpeg:= )
|
||||
flatpak? ( dev-libs/glib )
|
||||
gstreamer? (
|
||||
>=dev-libs/glib-2.32.0:2
|
||||
>=media-libs/gstreamer-1.10.0:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gsettings? ( >=dev-libs/glib-2.26.0:2 )
|
||||
ieee1394? ( media-libs/libffado[${MULTILIB_USEDEP}] )
|
||||
jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
|
||||
jack-sdk? (
|
||||
!media-sound/jack-audio-connection-kit
|
||||
!media-sound/jack2
|
||||
)
|
||||
liblc3? ( media-sound/liblc3 )
|
||||
lv2? ( media-libs/lilv )
|
||||
modemmanager? ( >=net-misc/modemmanager-1.10.0 )
|
||||
pipewire-alsa? ( >=media-libs/alsa-lib-1.1.7[${MULTILIB_USEDEP}] )
|
||||
sound-server? ( !media-sound/pulseaudio-daemon )
|
||||
roc? ( media-libs/roc-toolkit )
|
||||
readline? ( sys-libs/readline:= )
|
||||
selinux? ( sys-libs/libselinux )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
systemd? ( sys-apps/systemd )
|
||||
system-service? ( acct-user/pipewire )
|
||||
v4l? ( media-libs/libv4l )
|
||||
X? (
|
||||
media-libs/libcanberra
|
||||
x11-libs/libX11
|
||||
x11-libs/libXfixes
|
||||
)
|
||||
zeroconf? ( net-dns/avahi )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
# TODO: Consider use cases where pipewire is not used for driving audio
|
||||
# Doing so with WirePlumber currently involves editing Lua scripts
|
||||
PDEPEND=">=media-video/wireplumber-0.4.8-r3"
|
||||
|
||||
# Present RDEPEND that are currently always disabled due to the PW
|
||||
# code using them being required to be disabled by Gentoo guidelines
|
||||
# (i.e. developer binaries not meant for users) and unready code
|
||||
# media-libs/libsdl2
|
||||
# >=media-libs/vulkan-loader-1.1.69
|
||||
#
|
||||
# Ditto for DEPEND
|
||||
# >=dev-util/vulkan-headers-1.1.69
|
||||
|
||||
DOCS=( {README,INSTALL}.md NEWS )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.3.25-enable-failed-mlock-warning.patch
|
||||
)
|
||||
|
||||
python_check_deps() {
|
||||
python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Used for upstream backports
|
||||
[[ -d "${FILESDIR}"/${PV} ]] && eapply "${FILESDIR}"/${PV}
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# https://bugs.gentoo.org/838301
|
||||
filter-flags -fno-semantic-interposition
|
||||
|
||||
local emesonargs=(
|
||||
-Ddocdir="${EPREFIX}"/usr/share/doc/${PF}
|
||||
|
||||
$(meson_feature dbus)
|
||||
$(meson_native_use_feature zeroconf avahi)
|
||||
$(meson_native_use_feature docs docs)
|
||||
$(meson_native_enabled examples) # TODO: Figure out if this is still important now that media-session gone
|
||||
$(meson_native_disabled man)
|
||||
$(meson_feature test tests)
|
||||
-Dinstalled_tests=disabled # Matches upstream; Gentoo never installs tests
|
||||
$(meson_feature ieee1394 libffado)
|
||||
$(meson_native_use_feature gstreamer)
|
||||
$(meson_native_use_feature gstreamer gstreamer-device-provider)
|
||||
$(meson_native_use_feature gsettings)
|
||||
$(meson_native_use_feature systemd)
|
||||
|
||||
$(meson_native_use_feature system-service systemd-system-service)
|
||||
-Dsystemd-system-unit-dir="$(systemd_get_systemunitdir)"
|
||||
-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
|
||||
|
||||
$(meson_native_use_feature systemd systemd-user-service)
|
||||
$(meson_feature pipewire-alsa) # Allows integrating ALSA apps into PW graph
|
||||
$(meson_feature selinux)
|
||||
-Dspa-plugins=enabled
|
||||
-Dalsa=enabled # Allows using kernel ALSA for sound I/O (NOTE: media-session is gone so IUSE=alsa/spa_alsa/alsa-backend might be possible)
|
||||
-Dcompress-offload=disabled # TODO: tinycompress unpackaged
|
||||
-Daudiomixer=enabled # Matches upstream
|
||||
-Daudioconvert=enabled # Matches upstream
|
||||
$(meson_native_use_feature bluetooth bluez5)
|
||||
$(meson_native_use_feature bluetooth bluez5-backend-hsp-native)
|
||||
$(meson_native_use_feature bluetooth bluez5-backend-hfp-native)
|
||||
# https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1379
|
||||
$(meson_native_use_feature modemmanager bluez5-backend-native-mm)
|
||||
$(meson_native_use_feature bluetooth bluez5-backend-ofono)
|
||||
$(meson_native_use_feature bluetooth bluez5-backend-hsphfpd)
|
||||
$(meson_native_use_feature bluetooth bluez5-codec-aac)
|
||||
$(meson_native_use_feature bluetooth bluez5-codec-aptx)
|
||||
$(meson_native_use_feature bluetooth bluez5-codec-ldac)
|
||||
$(meson_native_use_feature bluetooth opus)
|
||||
$(meson_native_use_feature bluetooth bluez5-codec-opus)
|
||||
$(meson_native_use_feature bluetooth libusb) # At least for now only used by bluez5 native (quirk detection of adapters)
|
||||
$(meson_native_use_feature echo-cancel echo-cancel-webrtc) #807889
|
||||
-Dcontrol=enabled # Matches upstream
|
||||
-Daudiotestsrc=enabled # Matches upstream
|
||||
-Dffmpeg=disabled # Disabled by upstream and no major developments to spa/plugins/ffmpeg/ since May 2020
|
||||
$(meson_native_use_feature ffmpeg pw-cat-ffmpeg)
|
||||
$(meson_native_use_feature flatpak)
|
||||
-Dpipewire-jack=enabled # Allows integrating JACK apps into PW graph
|
||||
$(meson_native_use_feature jack-client jack) # Allows PW to act as a JACK client
|
||||
$(meson_use jack-sdk jack-devel)
|
||||
$(usex jack-sdk "-Dlibjack-path=${EPREFIX}/usr/$(get_libdir)" '')
|
||||
-Dsupport=enabled # Miscellaneous/common plugins, such as null sink
|
||||
-Devl=disabled # Matches upstream
|
||||
-Dtest=disabled # fakesink and fakesource plugins
|
||||
-Dbluez5-codec-lc3plus=disabled # unpackaged
|
||||
$(meson_native_use_feature liblc3 bluez5-codec-lc3)
|
||||
$(meson_native_use_feature lv2)
|
||||
$(meson_native_use_feature v4l v4l2)
|
||||
-Dlibcamera=disabled # libcamera is not in Portage tree
|
||||
$(meson_native_use_feature roc)
|
||||
$(meson_native_use_feature readline)
|
||||
$(meson_native_use_feature ssl raop)
|
||||
-Dvideoconvert=enabled # Matches upstream
|
||||
-Dvideotestsrc=enabled # Matches upstream
|
||||
-Dvolume=enabled # Matches upstream
|
||||
-Dvulkan=disabled # Uses pre-compiled Vulkan compute shader to provide a CGI video source (dev thing; disabled by upstream)
|
||||
$(meson_native_use_feature extra pw-cat)
|
||||
-Dudev=enabled
|
||||
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
|
||||
-Dsdl2=disabled # Controls SDL2 dependent code (currently only examples when -Dinstalled_tests=enabled which we never install)
|
||||
-Dlibmysofa=disabled # libmysofa is unpackaged
|
||||
$(meson_native_use_feature extra sndfile) # Enables libsndfile dependent code (currently only pw-cat)
|
||||
-Dsession-managers="[]" # All available session managers are now their own projects, so there's nothing to build
|
||||
|
||||
# We still have <5.16 kernels packaged in Gentoo and 6.1 (LTS) only
|
||||
# just became stable, with 5.15 being the previous LTS. Many people
|
||||
# are still on it.
|
||||
-Dpam-defaults-install=true
|
||||
|
||||
# Just for bell sounds in X11 right now.
|
||||
$(meson_native_use_feature X x11)
|
||||
$(meson_native_use_feature X x11-xfixes)
|
||||
$(meson_native_use_feature X libcanberra)
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
meson_src_test --timeout-multiplier 10
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Our custom DOCS do not exist in multilib source directory
|
||||
DOCS= meson_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
if use pipewire-alsa; then
|
||||
dodir /etc/alsa/conf.d
|
||||
|
||||
# Install pipewire conf loader hook
|
||||
insinto /usr/share/alsa/alsa.conf.d
|
||||
doins "${FILESDIR}"/99-pipewire-default-hook.conf
|
||||
eprefixify "${ED}"/usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf
|
||||
|
||||
# These will break if someone has /etc that is a symbolic link to a subfolder! See #724222
|
||||
# And the current dosym8 -r implementation is likely affected by the same issue, too.
|
||||
dosym ../../../usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/50-pipewire.conf
|
||||
dosym ../../../usr/share/alsa/alsa.conf.d/99-pipewire-default-hook.conf /etc/alsa/conf.d/99-pipewire-default-hook.conf
|
||||
fi
|
||||
|
||||
# Enable required wireplumber alsa and bluez monitors
|
||||
if use sound-server; then
|
||||
dodir /etc/wireplumber/main.lua.d
|
||||
echo "alsa_monitor.enabled = true" > "${ED}"/etc/wireplumber/main.lua.d/89-gentoo-sound-server-enable-alsa-monitor.lua || die
|
||||
|
||||
dodir /etc/wireplumber/bluetooth.lua.d
|
||||
echo "bluez_monitor.enabled = true" > "${ED}"/etc/wireplumber/bluetooth.lua.d/89-gentoo-sound-server-enable-bluez-monitor.lua || die
|
||||
fi
|
||||
|
||||
if use system-service; then
|
||||
newtmpfiles - pipewire.conf <<-EOF || die
|
||||
d /run/pipewire 0755 pipewire pipewire - -
|
||||
EOF
|
||||
fi
|
||||
|
||||
if ! use systemd; then
|
||||
insinto /etc/xdg/autostart
|
||||
newins "${FILESDIR}"/pipewire.desktop-r2 pipewire.desktop
|
||||
|
||||
exeinto /usr/bin
|
||||
newexe "${FILESDIR}"/gentoo-pipewire-launcher.in-r3 gentoo-pipewire-launcher
|
||||
|
||||
doman "${FILESDIR}"/gentoo-pipewire-launcher.1
|
||||
|
||||
# Disable pipewire-pulse if sound-server is disabled.
|
||||
if ! use sound-server ; then
|
||||
sed -i -s '/pipewire -c pipewire-pulse.conf/s/^/#/' "${ED}"/usr/bin/gentoo-pipewire-launcher || die
|
||||
fi
|
||||
|
||||
eprefixify "${ED}"/usr/bin/gentoo-pipewire-launcher
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
HAD_SOUND_SERVER=0
|
||||
HAD_SYSTEM_SERVICE=0
|
||||
|
||||
if has_version "media-video/pipewire[sound-server(-)]" ; then
|
||||
HAD_SOUND_SERVER=1
|
||||
fi
|
||||
|
||||
if has_version "media-video/pipewire[system-service(-)]" ; then
|
||||
HAD_SYSTEM_SERVICE=1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
|
||||
use system-service && tmpfiles_process pipewire.conf
|
||||
|
||||
local ver
|
||||
for ver in ${REPLACING_VERSIONS} ; do
|
||||
if has_version kde-plasma/kwin[screencast] || has_version x11-wm/mutter[screencast] ; then
|
||||
# https://bugs.gentoo.org/908490
|
||||
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3243
|
||||
ewarn "Please restart KWin/Mutter after upgrading PipeWire."
|
||||
ewarn "Screencasting may not work until you do."
|
||||
fi
|
||||
|
||||
if ver_test ${ver} -le 0.3.66-r1 ; then
|
||||
elog ">=pipewire-0.3.66 uses the 'pipewire' group to manage permissions"
|
||||
elog "and limits needed to function smoothly:"
|
||||
elog
|
||||
elog "1. Please make sure your user is in the 'pipewire' group for"
|
||||
elog "the best experience with realtime scheduling (PAM limits behavior)!"
|
||||
elog "You can add your account with:"
|
||||
elog " usermod -aG pipewire <youruser>"
|
||||
elog
|
||||
elog "2. For the best experience with fast user switching, it is recommended"
|
||||
elog "that you remove your user from the 'audio' group unless you rely on the"
|
||||
elog "audio group for device access control or ACLs.:"
|
||||
elog " usermod -rG audio <youruser>"
|
||||
elog
|
||||
|
||||
if ! use jack-sdk ; then
|
||||
elog
|
||||
elog "JACK emulation is incomplete and not all programs will work. PipeWire's"
|
||||
elog "alternative libraries have been installed to a non-default location."
|
||||
elog "To use them, put pw-jack <application> before every JACK application."
|
||||
elog "When using pw-jack, do not run jackd/jackdbus. However, a virtual/jack"
|
||||
elog "provider is still needed to compile the JACK applications themselves."
|
||||
elog
|
||||
fi
|
||||
|
||||
if use systemd ; then
|
||||
ewarn
|
||||
ewarn "PipeWire daemon startup has been moved to a launcher script!"
|
||||
ewarn "Make sure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist or no"
|
||||
ewarn "longer is set to start a session manager or PulseAudio compatibility daemon (all"
|
||||
ewarn "lines similar to '{ path = /usr/bin/pipewire*' should be commented out)"
|
||||
ewarn
|
||||
ewarn "Those manually starting /usr/bin/pipewire via .xinitrc or similar _must_ from"
|
||||
ewarn "now on start ${EROOT}/usr/bin/gentoo-pipewire-launcher instead! It is highly"
|
||||
ewarn "advised that a D-Bus user session is set up before starting the script."
|
||||
ewarn
|
||||
fi
|
||||
|
||||
if use sound-server && ( has_version 'media-sound/pulseaudio[daemon]' || has_version 'media-sound/pulseaudio-daemon' ) ; then
|
||||
elog
|
||||
elog "This ebuild auto-enables PulseAudio replacement. Because of that, users"
|
||||
elog "are recommended to edit pulseaudio client configuration files:"
|
||||
elog "${EROOT}/etc/pulse/client.conf and ${EROOT}/etc/pulse/client.conf.d/enable-autospawn.conf"
|
||||
elog "if it exists, and disable autospawning of the original daemon by setting:"
|
||||
elog
|
||||
elog " autospawn = no"
|
||||
elog
|
||||
elog "Please note that the semicolon (;) must _NOT_ be at the beginning of the line!"
|
||||
elog
|
||||
elog "Alternatively, if replacing PulseAudio daemon is not desired, edit"
|
||||
elog "${EROOT}/usr/bin/gentoo-pipewire-launcher by commenting out the relevant"
|
||||
elog "command:"
|
||||
elog
|
||||
elog "#${EROOT}/usr/bin/pipewire -c pipewire-pulse.conf &"
|
||||
elog
|
||||
fi
|
||||
|
||||
if has_version 'net-misc/ofono' ; then
|
||||
ewarn "Native backend has become default. Please disable oFono via:"
|
||||
if systemd_is_booted ; then
|
||||
ewarn "systemctl disable ofono"
|
||||
else
|
||||
ewarn "rc-update delete ofono"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${HAD_SOUND_SERVER} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
|
||||
# TODO: We could drop most of this if we set up systemd presets?
|
||||
# They're worth looking into because right now, the out-of-the-box experience
|
||||
# is automatic on OpenRC, while it needs manual intervention on systemd.
|
||||
if use sound-server && use systemd ; then
|
||||
elog
|
||||
elog "When switching from PulseAudio, you may need to disable PulseAudio:"
|
||||
elog
|
||||
elog " systemctl --user disable pulseaudio.service pulseaudio.socket"
|
||||
elog
|
||||
elog "To use PipeWire, the user units must be manually enabled"
|
||||
elog "by running this command as each user you use for desktop activities:"
|
||||
elog
|
||||
elog " systemctl --user enable pipewire.socket pipewire-pulse.socket"
|
||||
elog
|
||||
elog "A reboot is recommended to avoid interferences from still running"
|
||||
elog "PulseAudio daemon."
|
||||
elog
|
||||
elog "Both new users and those upgrading need to enable WirePlumber"
|
||||
elog "for relevant users:"
|
||||
elog
|
||||
elog " systemctl --user disable pipewire-media-session.service"
|
||||
elog " systemctl --user --force enable wireplumber.service"
|
||||
elog
|
||||
elog "Root user may replace --user with --global to change system default"
|
||||
elog "configuration for all of the above commands."
|
||||
elog
|
||||
fi
|
||||
|
||||
if ! use sound-server ; then
|
||||
ewarn
|
||||
ewarn "USE=sound-server is disabled! If you want PipeWire to provide"
|
||||
ewarn "your sound, please enable it. See the wiki at"
|
||||
ewarn "https://wiki.gentoo.org/wiki/PipeWire#Replacing_PulseAudio"
|
||||
ewarn "for more details."
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
|
||||
if use system-service && [[ ${HAD_SYSTEM_SERVICE} -eq 0 || -z ${REPLACING_VERSIONS} ]] ; then
|
||||
ewarn
|
||||
ewarn "You have enabled the system-service USE flag, which installs"
|
||||
ewarn "the system-wide systemd units that enable PipeWire to run as a system"
|
||||
ewarn "service. This is more than likely NOT what you want. You are strongly"
|
||||
ewarn "advised not to enable this mode and instead stick with systemd user"
|
||||
ewarn "units. The default configuration files will likely not work out of the"
|
||||
ewarn "box, and you are on your own with configuration."
|
||||
ewarn
|
||||
fi
|
||||
|
||||
elog "For latest tips and tricks, troubleshooting information, and documentation"
|
||||
elog "in general, please refer to https://wiki.gentoo.org/wiki/PipeWire"
|
||||
elog
|
||||
|
||||
optfeature_header "The following can be installed for optional runtime features:"
|
||||
optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit
|
||||
|
||||
if use sound-server && ! use pipewire-alsa; then
|
||||
optfeature "ALSA plugin to use PulseAudio interface for output" "media-plugins/alsa-plugins[pulseaudio]"
|
||||
fi
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( sys-devel/clang:17 spirv? ( dev-util/spirv-llvm-translator:17 ) ) ( sys-devel/clang:16 spirv? ( dev-util/spirv-llvm-translator:16 ) ) ( sys-devel/clang:15 spirv? ( dev-util/spirv-llvm-translator:15 ) ) ( sys-devel/clang:14 spirv? ( dev-util/spirv-llvm-translator:14 ) ) ( sys-devel/clang:13 spirv? ( dev-util/spirv-llvm-translator:13 ) ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl]
|
||||
BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( llvm-core/clang:17 spirv? ( dev-util/spirv-llvm-translator:17 ) ) ( llvm-core/clang:16 spirv? ( dev-util/spirv-llvm-translator:16 ) ) ( llvm-core/clang:15 spirv? ( dev-util/spirv-llvm-translator:15 ) ) ( llvm-core/clang:14 spirv? ( dev-util/spirv-llvm-translator:14 ) ) ( llvm-core/clang:13 spirv? ( dev-util/spirv-llvm-translator:13 ) ) ) app-alternatives/ninja >=dev-build/cmake-3.20.5 >=dev-vcs/git-1.8.2.1[curl]
|
||||
DEFINED_PHASES=compile configure install prepare setup test unpack
|
||||
DEPEND=!!llvm-core/llvm:0
|
||||
DESCRIPTION=OpenCL C library
|
||||
|
|
@ -10,4 +10,4 @@ LICENSE=Apache-2.0-with-LLVM-exceptions || ( MIT BSD )
|
|||
PROPERTIES=live
|
||||
SLOT=0
|
||||
_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be git-r3 875eb471682d3e1f18da124be97dcc81 llvm.org 3c3c3293d504545c5444490c6d1a708a python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0
|
||||
_md5_=dc9bc15e80ab532bfe00e0f981ba4b75
|
||||
_md5_=6b44c90e7a177441660696db6c80898d
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( sys-devel/clang:17 spirv? ( dev-util/spirv-llvm-translator:17 ) ) ( sys-devel/clang:16 spirv? ( dev-util/spirv-llvm-translator:16 ) ) ( sys-devel/clang:15 spirv? ( dev-util/spirv-llvm-translator:15 ) ) ( sys-devel/clang:14 spirv? ( dev-util/spirv-llvm-translator:14 ) ) ( sys-devel/clang:13 spirv? ( dev-util/spirv-llvm-translator:13 ) ) ) verify-sig? ( >=sec-keys/openpgp-keys-llvm-18.1.6 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 )
|
||||
BDEPEND=|| ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) || ( ( llvm-core/clang:17 spirv? ( dev-util/spirv-llvm-translator:17 ) ) ( llvm-core/clang:16 spirv? ( dev-util/spirv-llvm-translator:16 ) ) ( llvm-core/clang:15 spirv? ( dev-util/spirv-llvm-translator:15 ) ) ( llvm-core/clang:14 spirv? ( dev-util/spirv-llvm-translator:14 ) ) ( llvm-core/clang:13 spirv? ( dev-util/spirv-llvm-translator:13 ) ) ) verify-sig? ( >=sec-keys/openpgp-keys-llvm-18.1.6 ) app-alternatives/ninja >=dev-build/cmake-3.20.5 verify-sig? ( app-crypt/gnupg >=app-portage/gemato-20 )
|
||||
DEFINED_PHASES=compile configure install prepare setup test unpack
|
||||
DEPEND=!!llvm-core/llvm:0
|
||||
DESCRIPTION=OpenCL C library
|
||||
|
|
@ -10,4 +10,4 @@ LICENSE=Apache-2.0-with-LLVM-exceptions || ( MIT BSD )
|
|||
SLOT=0
|
||||
SRC_URI=https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.0-rc1/llvm-project-18.1.0rc1.src.tar.xz verify-sig? ( https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.0-rc1/llvm-project-18.1.0rc1.src.tar.xz.sig )
|
||||
_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 10a50dfaf728b802fcfd37f8d0da9056 llvm-utils 7f49c40879f833f9d07e2d5a9643077b llvm df1cea363f19e80316ea702563b607be eapi9-pipestatus d2c134036ac31c3085aebc9147f572bd verify-sig 7433426b6b28bf2737ba4b82c8aa8c53 llvm.org 3c3c3293d504545c5444490c6d1a708a python-utils-r1 b7726144f5af59e186d66746d0f513e5 python-any-r1 891415dfe39ad9b41b461f2b86354af0
|
||||
_md5_=dc9bc15e80ab532bfe00e0f981ba4b75
|
||||
_md5_=6b44c90e7a177441660696db6c80898d
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
BDEPEND=|| ( >=sys-devel/gcc-14:* >=sys-devel/clang-18:* ) app-misc/jq dev-build/cmake >=dev-util/hyprwayland-scanner-0.3.8 virtual/pkgconfig x11-libs/libdrm x11-libs/libxcb >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array
|
||||
BDEPEND=|| ( >=sys-devel/gcc-14:* >=llvm-core/clang-18:* ) app-misc/jq dev-build/cmake >=dev-util/hyprwayland-scanner-0.3.8 virtual/pkgconfig x11-libs/libdrm x11-libs/libxcb >=dev-build/meson-1.2.3 app-alternatives/ninja dev-build/meson-format-array
|
||||
DEFINED_PHASES=compile configure install prepare setup test
|
||||
DEPEND=app-alternatives/ninja dev-build/cmake dev-build/meson dev-vcs/git virtual/pkgconfig dev-cpp/tomlplusplus dev-libs/glib:2 dev-libs/libinput >=dev-libs/wayland-1.20.0 gui-libs/aquamarine >=gui-libs/hyprcursor-0.1.9 media-libs/libglvnd x11-libs/cairo x11-libs/libdrm x11-libs/libxkbcommon x11-libs/pango x11-libs/pixman x11-libs/libXcursor X? ( x11-libs/libxcb:0= x11-base/xwayland x11-libs/xcb-util-errors x11-libs/xcb-util-wm ) >=dev-libs/hyprland-protocols-0.3 >=dev-libs/hyprlang-0.3.2 >=dev-libs/wayland-protocols-1.36 >=gui-libs/hyprutils-0.2.1
|
||||
DESCRIPTION=A dynamic tiling Wayland compositor that doesn't sacrifice on its looks
|
||||
|
|
@ -12,4 +12,4 @@ RDEPEND=app-alternatives/ninja dev-build/cmake dev-build/meson dev-vcs/git virtu
|
|||
SLOT=0
|
||||
SRC_URI=https://github.com/hyprwm/Hyprland/releases/download/v0.43.0/source-v0.43.0.tar.gz -> hyprland-0.43.0.gh.tar.gz
|
||||
_eclasses_=toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 multilib b2a329026f2e404e9e371097dda47f96 flag-o-matic 357f1a896fbedcd06e5ce55419c49eb9 multiprocessing 1e32df7deee68372153dca65f4a7c21f ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 b7726144f5af59e186d66746d0f513e5 meson 99466844dd8d4fcfb07578a76f5a9922
|
||||
_md5_=0e0554f6d2d545544263090b138564ec
|
||||
_md5_=06f88a9608022ac76a4cc5baa84b4221
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1 +0,0 @@
|
|||
hypr-9999.ebuild
|
||||
53
x11-wm/hypr/hypr-1.1.3-r1.ebuild
Normal file
53
x11-wm/hypr/hypr-1.1.3-r1.ebuild
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit cmake toolchain-funcs
|
||||
|
||||
DESCRIPTION="A dynamic Linux tiling window manager for Xorg"
|
||||
HOMEPAGE="https://github.com/hyprwm/Hypr"
|
||||
|
||||
if [[ "${PV}" = *9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/hyprwm/Hypr.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/hyprwm/Hypr/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
S="${WORKDIR}/Hypr-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/fix-build.patch"
|
||||
)
|
||||
fi
|
||||
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND="
|
||||
x11-libs/cairo
|
||||
dev-util/ninja
|
||||
x11-libs/libxcb
|
||||
x11-base/xcb-proto
|
||||
x11-libs/xcb-util
|
||||
x11-libs/xcb-util-cursor
|
||||
x11-libs/xcb-util-keysyms
|
||||
x11-libs/xcb-util-wm
|
||||
dev-cpp/gtkmm:3.0
|
||||
gui-libs/gtk
|
||||
x11-apps/xmodmap
|
||||
"
|
||||
|
||||
pkg_pretend() {
|
||||
if ! tc-is-gcc; then
|
||||
ewarn "Only GCC is officially supported as compiler"
|
||||
ewarn "Proceed with your own caution"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin "${BUILD_DIR}/Hypr"
|
||||
dodoc "${S}/example/hypr.conf"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue