| 8 |
8 |
CARGO_OPTIONAL=1
|
| 9 |
9 |
PYTHON_COMPAT=( python3_{12..14} )
|
| 10 |
10 |
|
| 11 |
|
inherit flag-o-matic llvm-r2 meson-multilib python-any-r1 linux-info
|
|
11 |
inherit flag-o-matic linux-info llvm-r2 meson-multilib python-any-r1 toolchain-funcs
|
| 12 |
12 |
|
| 13 |
13 |
MY_P="${P/_/-}"
|
| 14 |
14 |
|
| ... | ... | |
| 21 |
21 |
unicode-ident@1.0.12
|
| 22 |
22 |
"
|
| 23 |
23 |
|
| 24 |
|
RUST_MIN_VER="1.82.0"
|
|
24 |
RUST_MIN_VER="1.85.0"
|
| 25 |
25 |
RUST_MULTILIB=1
|
| 26 |
26 |
RUST_OPTIONAL=1
|
| 27 |
27 |
|
| ... | ... | |
| 37 |
37 |
SRC_URI="
|
| 38 |
38 |
https://archive.mesa3d.org/${MY_P}.tar.xz
|
| 39 |
39 |
"
|
| 40 |
|
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-solaris"
|
|
40 |
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris"
|
| 41 |
41 |
fi
|
| 42 |
42 |
|
| 43 |
43 |
# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
|
| 44 |
44 |
# but there are "stale" distfiles on the mirrors with the wrong names.
|
| 45 |
45 |
# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
|
| 46 |
46 |
SRC_URI+="
|
| 47 |
|
${CARGO_CRATE_URIS}
|
|
47 |
opencl? ( ${CARGO_CRATE_URIS} )
|
|
48 |
!opencl? ( video_cards_nvk? ( ${CARGO_CRATE_URIS} ) )
|
| 48 |
49 |
"
|
| 49 |
50 |
|
| 50 |
51 |
S="${WORKDIR}/${MY_P}"
|
| ... | ... | |
| 76 |
77 |
video_cards_nvk? ( vulkan video_cards_nouveau )
|
| 77 |
78 |
"
|
| 78 |
79 |
|
| 79 |
|
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
|
|
80 |
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.133"
|
| 80 |
81 |
RDEPEND="
|
| 81 |
82 |
${LIBDRM_DEPSTRING}[${MULTILIB_USEDEP}]
|
| 82 |
83 |
>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
|
| ... | ... | |
| 112 |
113 |
video_cards_i915? (
|
| 113 |
114 |
${LIBDRM_DEPSTRING}[video_cards_intel]
|
| 114 |
115 |
)
|
|
116 |
video_cards_nvk? (
|
|
117 |
virtual/libelf:0=[${MULTILIB_USEDEP}]
|
|
118 |
)
|
| 115 |
119 |
video_cards_radeonsi? (
|
| 116 |
120 |
${LIBDRM_DEPSTRING}[video_cards_amdgpu]
|
| 117 |
121 |
virtual/libelf:0=[${MULTILIB_USEDEP}]
|
| ... | ... | |
| 169 |
173 |
video_cards_panfrost? ( ${CLC_DEPSTRING} )
|
| 170 |
174 |
vulkan? (
|
| 171 |
175 |
dev-util/glslang
|
|
176 |
video_cards_imagination? ( ${CLC_DEPSTRING} )
|
| 172 |
177 |
video_cards_nvk? (
|
| 173 |
178 |
>=dev-util/bindgen-0.71.1
|
| 174 |
179 |
>=dev-util/cbindgen-0.26.0
|
| ... | ... | |
| 192 |
197 |
unpack ${MY_P}.tar.xz
|
| 193 |
198 |
fi
|
| 194 |
199 |
|
| 195 |
|
# We need this because we cannot tell meson to use DISTDIR yet
|
| 196 |
|
pushd "${DISTDIR}" >/dev/null || die
|
| 197 |
|
mkdir -p "${S}"/subprojects/packagecache || die
|
| 198 |
|
local i
|
| 199 |
|
for i in *.crate; do
|
| 200 |
|
ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
|
| 201 |
|
done
|
| 202 |
|
popd >/dev/null || die
|
|
200 |
if use opencl || use video_cards_nvk; then
|
|
201 |
# We need this because we cannot tell meson to use DISTDIR yet
|
|
202 |
mkdir -p "${S}"/subprojects/packagecache || die
|
|
203 |
local i
|
|
204 |
for i in ${CRATES}; do
|
|
205 |
i=${i/@/-}
|
|
206 |
ln -s "${DISTDIR}/${i}.crate" \
|
|
207 |
"${S}/subprojects/packagecache/${i}.tar.gz" || die
|
|
208 |
done
|
|
209 |
fi
|
| 203 |
210 |
}
|
| 204 |
211 |
|
| 205 |
212 |
pkg_pretend() {
|
|
213 |
if [[ ${MERGE_TYPE} != binary ]] && use test; then
|
|
214 |
tc-check-openmp
|
|
215 |
fi
|
|
216 |
|
| 206 |
217 |
if use vulkan; then
|
| 207 |
218 |
if ! use video_cards_asahi &&
|
| 208 |
219 |
! use video_cards_d3d12 &&
|
| ... | ... | |
| 243 |
254 |
}
|
| 244 |
255 |
|
| 245 |
256 |
pkg_setup() {
|
|
257 |
if [[ ${MERGE_TYPE} != binary ]] && use test; then
|
|
258 |
tc-check-openmp
|
|
259 |
fi
|
|
260 |
|
| 246 |
261 |
# warning message for bug 459306
|
| 247 |
262 |
if use llvm && has_version llvm-core/llvm[!debug=]; then
|
| 248 |
263 |
ewarn "Mismatch between debug USE flags in media-libs/mesa and llvm-core/llvm"
|
| ... | ... | |
| 371 |
386 |
if use video_cards_asahi ||
|
| 372 |
387 |
use video_cards_intel ||
|
| 373 |
388 |
use video_cards_nvk ||
|
| 374 |
|
use video_cards_panfrost; then
|
|
389 |
use video_cards_panfrost ||
|
|
390 |
{ use vulkan && use video_cards_imagination; }; then
|
| 375 |
391 |
emesonargs+=(-Dmesa-clc=system)
|
| 376 |
392 |
fi
|
| 377 |
393 |
|