diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 1a91e5e6..b0397380 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1,11 +1,11 @@ AUX eselect-mesa.conf.9.2 1630 SHA256 c1ca0e3fddc12b49c5db1739f2d57a0afd6856824d677b16f5903972bc0b631d SHA512 0fa9a23b4fba10599268266a82c7fa8dc5bfa1a0d565732875064c381dc4ff40c23faddb02b5849b1522eb9b7fd2ec2a0fac14406442a4aa0afa44bf760b42b5 WHIRLPOOL 6df6aa625cf445f68d69742184a75f9472cc7d59b068f2755ddac4201f1ad8d4518d04f62cb1228061a7d75e1e7b31048c16e8a50ec64480a3347a0a0a3850b8 DIST mesa-17.3.9.tar.xz 10660456 SHA256 c5beb5fc05f0e0c294fefe1a393ee118cb67e27a4dca417d77c297f7d4b6e479 SHA512 83deffbc6b9823b8e93cccf57d7952106f3d55fea881e3924f9f9586f0e9347a6e3a1a36cc19c24af819f2fde3af9496652a6ff56132511a5618d5774404f63f WHIRLPOOL 4eb46e121fe54b64a73f7862ea92eccd797329ff6e07770f9ea5efc35a6df57c2b342d9e21b92f500ba2987cb5963bdf4eed13aca90c968fccb0f4da2d635b93 -DIST mesa-18.0.5.tar.xz 10952996 SHA256 5187bba8d72aea78f2062d134ec6079a508e8216062dce9ec9048b5eb2c4fc6b SHA512 63b47cdca7f8282aab7aaa66233411f02918e5c4804b7a0010de2b1867fe90171e492ff031dfc4aa20968dfc99bd7dceb5d35fd44c709e54a2ece61175a60f3d WHIRLPOOL f120f77ea34888e93e850aa126bb75cd85523f4b3931e02d8e3ef091faab299655281d001de4d1063ce609affd70d787ec8722da4e190961a50469944c1523c9 DIST mesa-18.1.6.tar.xz 11142884 SHA256 bb7ce759069801804fcfb8152da3457f76cd7b4e0096e4870ff5adcb5c894289 SHA512 2966210800215f5ced2720691063a8519b51ebeab9fb1e99bde4b1bd7ccc719d6395a1c29f25c88efe62d1592cf14ceafc163aca349490b1f8cee81070d46fcc WHIRLPOOL 1c0ccce23e33d20793fc280791f9722dfe9e81879c8e328cfa5fb4a726825b865c766522f820051ac507b180be788241902f3976020b13e99c357046474f5447 -DIST mesa-18.1.7.tar.xz 11136580 SHA256 655e3b32ce3bdddd5e6e8768596e5d4bdef82d0dd37067c324cc4b2daa207306 SHA512 697c4f441ae52bc867d9d73b103094a29102168c248a502c4ea0fc48f51bcb86b2e741da39e882f24131326d460cdb1416415604c6994d1b8c09fb8a153a5c77 WHIRLPOOL 6ae5c2a13ddc80483acaa2b7617f9123a545b189dde6d8f9fc4adde96423db6f4d5aed4aa8853476532ecc75b068d461b428b78d7c5e0677bbee7564d6092973 -EBUILD mesa-17.3.9-r3.ebuild 19117 SHA256 46cd5a8f440770a4c62c6490b34c0c85af9e841a075e8f880cfb21d42906006c SHA512 a5def338a2cd07a67a005756351f2e682f3efa0cfb6e922e9b00ea012c3f292a5cafb572ec080d08933add96d724878d26b8f5c580cb045071ac0b44874efc77 WHIRLPOOL 45dc38268a2529ff3ed6e7d6842c8debef75182156b643e74f5c81665835c0e3fb3a8c670fedf6cf414d80d3e39c9001aa34c4f10de45717cacd0763801a5b96 -EBUILD mesa-18.0.5-r3.ebuild 19040 SHA256 c9031e9bf58f81323c4cc79d5442f600116278d65a0fb1248275273d1c6fe330 SHA512 c71a1c62f629b59b7ec39cd2a6bbf3a140324badbe03251653a33f1e1f88a3d83a0ae86af9790b9cf07fb394316e9be762d64357186dbb857c75bda13cdf92c5 WHIRLPOOL 889321972c5a0d1581054306e98934a39e424fb6c74cda0f3a9ce49c3576c237843c2fe9fad72654368acd24c14c14110d829f65a68dd7f1f2335a9977358aa4 -EBUILD mesa-18.1.6.ebuild 17267 SHA256 53a266c60c1ce088643237f84a436fb89b9b3eb4379aaa8604e112aad4cffe51 SHA512 331c87a47407907e8f1f30cade4d6391783ff3edd7171f938ac5f4e92413abc70da9226b6a3a5ad823cf19d7ce6619bcf76f8152fd9893de0b2cf0a430eabc61 WHIRLPOOL 972fc24dc7d7f6307c78cacb9b4605e1854a03c1fe9810475115d7053332d2d423ccc6585774af82ca4fe2da964ea34eac3fed13526e46a161f788448f9e6da8 -EBUILD mesa-18.1.7.ebuild 17267 SHA256 53a266c60c1ce088643237f84a436fb89b9b3eb4379aaa8604e112aad4cffe51 SHA512 331c87a47407907e8f1f30cade4d6391783ff3edd7171f938ac5f4e92413abc70da9226b6a3a5ad823cf19d7ce6619bcf76f8152fd9893de0b2cf0a430eabc61 WHIRLPOOL 972fc24dc7d7f6307c78cacb9b4605e1854a03c1fe9810475115d7053332d2d423ccc6585774af82ca4fe2da964ea34eac3fed13526e46a161f788448f9e6da8 -EBUILD mesa-9999.ebuild 15985 SHA256 f96cba811be63a003dd7d88cd7cc3929178a6582c52a4a668388ec7d9aedae0f SHA512 f1febfceb57b13e1655c2f406a7e94829c1c0a0ec35fb6214ce3586e521ecf2bdebd06f3f50d120a3849b62587aff556d3664668aaae9ed4851a1ddfb68afdd4 WHIRLPOOL 05a4bbece4ea93900e826b5c329db325f0ad8110b212d1559fa30937388332978c157fe18965d420b1e69c4ce15f683ec1bc81f44c6d7b105067f7e4d7509543 +DIST mesa-18.1.8.tar.xz 11139864 SHA256 bd1be67fe9c73b517765264ac28911c84144682d28dbff140e1c2deb2f44c21b SHA512 ab89c6d27b765d3efdf61b24dc56d863ae590d83003d2eae4bfe25ecfbeda5bee0227f21d057523bb4eceeaf3d9955df48087ffb472c41b123c100e593056cb9 WHIRLPOOL 4c61a76b6622415b5b3475a9aa30def003489275fdee532dabe57470b84484ffb112edf11ecd42d3fcb70fd11a7595e1ad5d9d33e01f259574e37b45e7ba4648 +DIST mesa-18.2.0.tar.xz 11331164 SHA256 22452bdffff8e11bf4284278155a9f77cb28d6d73a12c507f1490732d0d9ddce SHA512 e6e997e166845009f6b97da204384758c797c870b56332652c0a2636734638f9180b7e4dbad144495645308ae4d77981a2493a22d57973723338b658e0655557 WHIRLPOOL e012289f1c073061c0d5e8560bb569e680e4df274024daea156d07f16673813460730f379a0d4a61b9473ae91c8c3721f02cd91ec8693d8aec85199aecc1e5a1 +EBUILD mesa-17.3.9-r3.ebuild 19095 SHA256 916c6eb6d3febea887e0bdfe967e4f7f4db4ff142db6fdaf08b1d3426a526411 SHA512 5dc2752676ed0e8d74ed1a20f87a546313b8b80dbeaf2fb99592350b1d64caf130367a07f3c93cf50332d18fde5b1eca0bf8649172c6ab6d9bdc3e8292d03796 WHIRLPOOL 6494c88299d3dbcffe80787e3c0598dd9be25ae4c66ef03b6259ac9bb389d63ec99a4e88fe7e77ddbccb7765342798f2d65112539644e204b80e53bafc068a8e +EBUILD mesa-18.1.6.ebuild 17244 SHA256 57665a970919d7ae35d2ccfcd941250b1eafd009dfd0124003c92f954aa945f5 SHA512 c0ff58e00a8928322fbcbfde241c4d2ac2f0c65f8b229053e43c7dda6889453eed37355328fe800ebba7896eaa2e756926c298f6d622b231dd2194c757fb7e5b WHIRLPOOL af1c56e312886e5439a485a9c9fad8b5c7f52679529ec05a6844ebfb01c6347c9f3eb1325a662a8c7d75ffe2ec05337f3576fea8716eea43004a9287dad3f037 +EBUILD mesa-18.1.8.ebuild 17244 SHA256 57665a970919d7ae35d2ccfcd941250b1eafd009dfd0124003c92f954aa945f5 SHA512 c0ff58e00a8928322fbcbfde241c4d2ac2f0c65f8b229053e43c7dda6889453eed37355328fe800ebba7896eaa2e756926c298f6d622b231dd2194c757fb7e5b WHIRLPOOL af1c56e312886e5439a485a9c9fad8b5c7f52679529ec05a6844ebfb01c6347c9f3eb1325a662a8c7d75ffe2ec05337f3576fea8716eea43004a9287dad3f037 +EBUILD mesa-18.2.0.ebuild 15604 SHA256 858252c1e4207ff7b32a7ee3f7569c6d20be2087d60692fbc1232e5f1012b65a SHA512 3ec3bde0f285eda894ee35bfda3f5074a61df985790fd2a5ec386992c486cb3091c080ac9f85d985b7e4c4a748f4e7c9e46ca2d3cda03e46a2cfc3144a3fd66d WHIRLPOOL 27e8e957808d6a649b7c6ba5d6860cf5c7489c7e4f968d4602d058b64688c8e52c309b43128897e6d9693f03ec47e43a6017745b355fb98823e87f17c3ebb28e +EBUILD mesa-9999.ebuild 15598 SHA256 a0bf9dff50f6b893e587f5bb38ee79fa206d9cce925357ef451d4d970c210d53 SHA512 010c31390f4972ea76649b589882f84e36cfb96dbf46bcf57f18c3d6fd125a7a585dedfe03a4b5cade2dd2d4194ff9e9b41bef6db8029db0607c4f18a1d06420 WHIRLPOOL 500d37e9675f2041bcc2faea9ae10d0e024a1430d67ac61f118d986d3ea477a90d77e473b7a180863d9aa9b5d482389dfb585f99b3febd5bc10a2aba52e188ac MISC metadata.xml 2000 SHA256 3872e919f00af8ce379f2f9fce63979c1e55586f76fd3c02cb7ffd8f123c4453 SHA512 ea52a604ab3c5126726f2a648319429d2726248f914a4c82622a066cbff60bd9d13910885f8f7b1686648d6079a0688a1f8a7b17c52f9f004a9b24ba14389be0 WHIRLPOOL e8c13a0e1f70a440b9bc5241d7c1987a5872cfefc47a28428b1c04f3281587ccc3a2db3f8f93dd140e46b46ceb550bbf31eaf5ebc1bb9192c9da7fa56d802ee7 diff --git a/media-libs/mesa/mesa-17.3.9-r3.ebuild b/media-libs/mesa/mesa-17.3.9-r3.ebuild index 028b3da1..289defa2 100644 --- a/media-libs/mesa/mesa-17.3.9-r3.ebuild +++ b/media-libs/mesa/mesa-17.3.9-r3.ebuild @@ -6,8 +6,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools llvm multilib-minimal python-any-r1 pax-utils -OPENGL_DIR="${PN}" +inherit autotools llvm multilib-minimal pax-utils python-any-r1 MY_P="${P/_/-}" @@ -207,10 +206,6 @@ DEPEND="${RDEPEND} ) " -[[ "${PV}" == "9999" ]] && DEPEND+=" - $(python_gen_any_dep ">=dev-python/mako-0.7.3[\${PYTHON_USEDEP}]") -" - S="${WORKDIR}/${MY_P}" EGIT_CHECKOUT_DIR="${S}" @@ -225,7 +220,7 @@ x86? ( ) " -# driver_enable DRI_DRIVERS() +# driver_enable() # 1> driver array (reference) # 2> -- / driver USE flag (main category) # [3-N]> driver USE flags (subcategory) @@ -234,14 +229,20 @@ driver_enable() { local __driver_array_reference="${1}" driver declare -n driver_array=${__driver_array_reference} - if [[ "${2}" == "--" ]] || use $2; then - # shellcheck disable=SC2068 - for driver in ${@:3}; do - driver_array+=",${driver}" - done + if [[ "${2}" == "--" ]] || use "${2}"; then + driver_array+=( "${@:3}" ) fi } +# driver_list() +# 1> driver list +driver_list() { + (($# != 1)) && die "Invalid parameter count: ${#} (1)" + + drivers="$(sort -u <<< "${1// /$'\n'}")" + printf "%s\\n" "${drivers//$'\n'/,}" +} + llvm_check_depends() { local flags="${MULTILIB_USEDEP}" if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi; then @@ -496,10 +497,10 @@ multilib_src_install() { ebegin "(subshell): moving lib{EGL*,GL*,OpenGL}.{la,a,so*} in order to implement dynamic GL switching support" ( local gl_dir - gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}" + gl_dir="/usr/$(get_libdir)/opengl/${PN}" dodir "${gl_dir}/lib" for library in "${ED%/}/usr/$(get_libdir)"/lib{EGL*,GL*,OpenGL}.{la,a,so*} ; do - if [[ -f ${library} || -L ${library} ]]; then + if [[ -f "${library}" || -L "${library}" ]]; then mv -f "${library}" "${ED%/}${gl_dir}"/lib \ || die "Failed to move ${library}" fi @@ -597,7 +598,7 @@ multilib_src_test() { pkg_postinst() { # Switch to the xorg implementation. echo - eselect opengl set --use-old "${OPENGL_DIR}" + eselect opengl set --use-old "${PN}" # Select classic/gallium drivers if use classic || use gallium; then diff --git a/media-libs/mesa/mesa-18.1.6.ebuild b/media-libs/mesa/mesa-18.1.6.ebuild index 857b1912..bdbcc878 100644 --- a/media-libs/mesa/mesa-18.1.6.ebuild +++ b/media-libs/mesa/mesa-18.1.6.ebuild @@ -6,8 +6,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools llvm multilib-minimal python-any-r1 pax-utils -OPENGL_DIR="${PN}" +inherit autotools llvm multilib-minimal pax-utils python-any-r1 MY_P="${P/_/-}" @@ -205,10 +204,6 @@ DEPEND="${RDEPEND} ) " -[[ "${PV}" == "9999" ]] && DEPEND+=" - $(python_gen_any_dep ">=dev-python/mako-0.7.3[\${PYTHON_USEDEP}]") -" - S="${WORKDIR}/${MY_P}" EGIT_CHECKOUT_DIR="${S}" @@ -223,7 +218,7 @@ x86? ( ) " -# driver_enable DRI_DRIVERS() +# driver_enable() # 1> driver array (reference) # 2> -- / driver USE flag (main category) # [3-N]> driver USE flags (subcategory) @@ -232,14 +227,20 @@ driver_enable() { local __driver_array_reference="${1}" driver declare -n driver_array=${__driver_array_reference} - if [[ "${2}" == "--" ]] || use $2; then - # shellcheck disable=SC2068 - for driver in ${@:3}; do - driver_array+=",${driver}" - done + if [[ "${2}" == "--" ]] || use "${2}"; then + driver_array+=( "${@:3}" ) fi } +# driver_list() +# 1> driver list +driver_list() { + (($# != 1)) && die "Invalid parameter count: ${#} (1)" + + drivers="$(sort -u <<< "${1// /$'\n'}")" + printf "%s\\n" "${drivers//$'\n'/,}" +} + llvm_check_depends() { local flags="${MULTILIB_USEDEP}" if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi; then @@ -492,7 +493,6 @@ multilib_src_install() { emake install DESTDIR="${D}" if use wayland; then - # These files are now provided by >=dev-libs/wayland-1.15.0 rm "${ED}/usr/$(get_libdir)/libwayland-egl.so" || die "rm failed" rm "${ED}/usr/$(get_libdir)/libwayland-egl.so.1" || die "rm failed" @@ -504,10 +504,10 @@ multilib_src_install() { ebegin "(subshell): moving lib{EGL*,GL*,OpenGL}.{la,a,so*} in order to implement dynamic GL switching support" ( local gl_dir - gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}" + gl_dir="/usr/$(get_libdir)/opengl/${PN}" dodir "${gl_dir}/lib" for library in "${ED%/}/usr/$(get_libdir)"/lib{EGL*,GL*,OpenGL}.{la,a,so*} ; do - if [[ -f ${library} || -L ${library} ]]; then + if [[ -f "${library}" || -L "${library}" ]]; then mv -f "${library}" "${ED%/}${gl_dir}"/lib \ || die "Failed to move ${library}" fi @@ -548,7 +548,7 @@ multilib_src_test() { pkg_postinst() { # Switch to the xorg implementation. echo - eselect opengl set --use-old "${OPENGL_DIR}" + eselect opengl set --use-old "${PN}" # Switch to mesa opencl if use opencl; then diff --git a/media-libs/mesa/mesa-18.1.7.ebuild b/media-libs/mesa/mesa-18.1.8.ebuild similarity index 97% rename from media-libs/mesa/mesa-18.1.7.ebuild rename to media-libs/mesa/mesa-18.1.8.ebuild index 857b1912..bdbcc878 100644 --- a/media-libs/mesa/mesa-18.1.7.ebuild +++ b/media-libs/mesa/mesa-18.1.8.ebuild @@ -6,8 +6,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools llvm multilib-minimal python-any-r1 pax-utils -OPENGL_DIR="${PN}" +inherit autotools llvm multilib-minimal pax-utils python-any-r1 MY_P="${P/_/-}" @@ -205,10 +204,6 @@ DEPEND="${RDEPEND} ) " -[[ "${PV}" == "9999" ]] && DEPEND+=" - $(python_gen_any_dep ">=dev-python/mako-0.7.3[\${PYTHON_USEDEP}]") -" - S="${WORKDIR}/${MY_P}" EGIT_CHECKOUT_DIR="${S}" @@ -223,7 +218,7 @@ x86? ( ) " -# driver_enable DRI_DRIVERS() +# driver_enable() # 1> driver array (reference) # 2> -- / driver USE flag (main category) # [3-N]> driver USE flags (subcategory) @@ -232,14 +227,20 @@ driver_enable() { local __driver_array_reference="${1}" driver declare -n driver_array=${__driver_array_reference} - if [[ "${2}" == "--" ]] || use $2; then - # shellcheck disable=SC2068 - for driver in ${@:3}; do - driver_array+=",${driver}" - done + if [[ "${2}" == "--" ]] || use "${2}"; then + driver_array+=( "${@:3}" ) fi } +# driver_list() +# 1> driver list +driver_list() { + (($# != 1)) && die "Invalid parameter count: ${#} (1)" + + drivers="$(sort -u <<< "${1// /$'\n'}")" + printf "%s\\n" "${drivers//$'\n'/,}" +} + llvm_check_depends() { local flags="${MULTILIB_USEDEP}" if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi; then @@ -492,7 +493,6 @@ multilib_src_install() { emake install DESTDIR="${D}" if use wayland; then - # These files are now provided by >=dev-libs/wayland-1.15.0 rm "${ED}/usr/$(get_libdir)/libwayland-egl.so" || die "rm failed" rm "${ED}/usr/$(get_libdir)/libwayland-egl.so.1" || die "rm failed" @@ -504,10 +504,10 @@ multilib_src_install() { ebegin "(subshell): moving lib{EGL*,GL*,OpenGL}.{la,a,so*} in order to implement dynamic GL switching support" ( local gl_dir - gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}" + gl_dir="/usr/$(get_libdir)/opengl/${PN}" dodir "${gl_dir}/lib" for library in "${ED%/}/usr/$(get_libdir)"/lib{EGL*,GL*,OpenGL}.{la,a,so*} ; do - if [[ -f ${library} || -L ${library} ]]; then + if [[ -f "${library}" || -L "${library}" ]]; then mv -f "${library}" "${ED%/}${gl_dir}"/lib \ || die "Failed to move ${library}" fi @@ -548,7 +548,7 @@ multilib_src_test() { pkg_postinst() { # Switch to the xorg implementation. echo - eselect opengl set --use-old "${OPENGL_DIR}" + eselect opengl set --use-old "${PN}" # Switch to mesa opencl if use opencl; then diff --git a/media-libs/mesa/mesa-18.0.5-r3.ebuild b/media-libs/mesa/mesa-18.2.0.ebuild similarity index 65% rename from media-libs/mesa/mesa-18.0.5-r3.ebuild rename to media-libs/mesa/mesa-18.2.0.ebuild index 2e0a712b..5dc80a0e 100644 --- a/media-libs/mesa/mesa-18.0.5-r3.ebuild +++ b/media-libs/mesa/mesa-18.2.0.ebuild @@ -6,8 +6,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit autotools llvm multilib-minimal python-any-r1 pax-utils -OPENGL_DIR="${PN}" +inherit llvm meson multilib-minimal pax-utils python-any-r1 MY_P="${P/_/-}" @@ -26,7 +25,7 @@ fi LICENSE="MIT" SLOT="0" -RESTRICT="!bindist? ( bindist )" +RESTRICT="!test? ( test )" AMD_CARDS=( "r100" "r200" "r300" "r600" "radeon" "radeonsi" ) INTEL_CARDS=( "i915" "i965" "intel" ) @@ -38,9 +37,9 @@ for card in "${VIDEO_CARDS[@]}"; do done IUSE="${IUSE_VIDEO_CARDS} - bindist +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm +nptl - opencl openmax osmesa pax_kernel pic selinux unwind vaapi valgrind vdpau vulkan - wayland xa xvmc" + +classic d3d9 debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm lm_sensors +nptl + opencl openmax osmesa pax_kernel pic selinux test unwind vaapi valgrind vdpau + vulkan wayland xa xvmc" REQUIRED_USE=" d3d9? ( dri3 ) @@ -68,7 +67,7 @@ REQUIRED_USE=" video_cards_vmware? ( gallium ) " -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.89" +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.93" # shellcheck disable=SC2124 RDEPEND=" !app-eselect/eselect-mesa @@ -80,7 +79,7 @@ RDEPEND=" >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}] >=x11-libs/libXext-1.3.2:=[${MULTILIB_USEDEP}] >=x11-libs/libXxf86vm-1.1.3:=[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.9.3:=[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] x11-libs/libXfixes:=[${MULTILIB_USEDEP}] gallium? ( llvm? ( @@ -94,15 +93,12 @@ RDEPEND=" virtual/libelf:0=[${MULTILIB_USEDEP}] ) ) + lm_sensors? ( sys-apps/lm_sensors:=[${MULTILIB_USEDEP}] ) opencl? ( app-eselect/eselect-opencl dev-libs/libclc virtual/libelf:0=[${MULTILIB_USEDEP}] ) - openmax? ( - >=media-libs/libomxil-bellagio-0.9.3:=[${MULTILIB_USEDEP}] - x11-misc/xdg-utils - ) unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) vaapi? ( >=x11-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] @@ -112,7 +108,7 @@ RDEPEND=" xvmc? ( >=x11-libs/libXvMC-1.0.8:=[${MULTILIB_USEDEP}] ) ) wayland? ( - >=dev-libs/wayland-1.11.0:=[${MULTILIB_USEDEP}] + >=dev-libs/wayland-1.15.0:=[${MULTILIB_USEDEP}] >=dev-libs/wayland-protocols-1.8 ) ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] @@ -138,6 +134,7 @@ RDEPEND="${RDEPEND} # we need to *really* make sure we're only using one slot. LLVM_DEPSTR=" || ( + sys-devel/llvm:7[${MULTILIB_USEDEP}] sys-devel/llvm:6[${MULTILIB_USEDEP}] sys-devel/llvm:5[${MULTILIB_USEDEP}] sys-devel/llvm:4[${MULTILIB_USEDEP}] @@ -195,17 +192,14 @@ DEPEND="${RDEPEND} opencl? ( >=sys-devel/gcc-4.6 ) + sys-devel/bison + sys-devel/flex sys-devel/gettext virtual/pkgconfig valgrind? ( dev-util/valgrind ) x11-base/xorg-proto - vulkan? ( - $(python_gen_any_dep ">=dev-python/mako-0.7.3[\${PYTHON_USEDEP}]") - ) -" - -[[ "${PV}" == "9999" ]] && DEPEND+=" - $(python_gen_any_dep ">=dev-python/mako-0.7.3[\${PYTHON_USEDEP}]") + x11-libs/libXrandr[${MULTILIB_USEDEP}] + $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") " S="${WORKDIR}/${MY_P}" @@ -215,14 +209,14 @@ QA_WX_LOAD=" x86? ( !pic? ( usr/lib*/libglapi.so.0.0.0 - usr/lib*/libGLESv1_CM.so.1.1.0 + usr/lib*/libGLESv1_CM.so.1.0.0 usr/lib*/libGLESv2.so.2.0.0 usr/lib*/libGL.so.1.2.0 usr/lib*/libOSMesa.so.8.0.0 ) " -# driver_enable DRI_DRIVERS() +# driver_enable() # 1> driver array (reference) # 2> -- / driver USE flag (main category) # [3-N]> driver USE flags (subcategory) @@ -231,14 +225,20 @@ driver_enable() { local __driver_array_reference="${1}" driver declare -n driver_array=${__driver_array_reference} - if [[ "${2}" == "--" ]] || use $2; then - # shellcheck disable=SC2068 - for driver in ${@:3}; do - driver_array+=",${driver}" - done + if [[ "${2}" == "--" ]] || use "${2}"; then + driver_array+=( "${@:3}" ) fi } +# driver_list() +# 1> driver list +driver_list() { + (($# != 1)) && die "Invalid parameter count: ${#} (1)" + + drivers="$(sort -u <<< "${1// /$'\n'}")" + printf "%s\\n" "${drivers//$'\n'/,}" +} + llvm_check_depends() { local flags="${MULTILIB_USEDEP}" if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi; then @@ -309,6 +309,7 @@ pkg_pretend() { if ! use gallium; then use d3d9 && ewarn "Ignoring USE=d3d9 since USE does not contain gallium" + use lm_sensors && ewarn "Ignoring USE=lm_sensors since USE does not contain gallium" use llvm && ewarn "Ignoring USE=llvm since USE does not contain gallium" use opencl && ewarn "Ignoring USE=opencl since USE does not contain gallium" use vaapi && ewarn "Ignoring USE=vaapi since USE does not contain gallium" @@ -336,15 +337,13 @@ pkg_setup() { python-any-r1_pkg_setup } -src_prepare() { - default - [[ "${PV}" == "9999" ]] && eautoreconf -} - multilib_src_configure() { - local -a myeconfargs=() + local -a emesonargs=() if use classic; then + # Configurable DRI drivers + driver_enable DRI_DRIVERS -- swrast + # Intel code driver_enable DRI_DRIVERS video_cards_i915 i915 driver_enable DRI_DRIVERS video_cards_i965 i965 @@ -356,22 +355,21 @@ multilib_src_configure() { driver_enable DRI_DRIVERS video_cards_nouveau nouveau # ATI code - driver_enable DRI_DRIVERS video_cards_r100 radeon + driver_enable DRI_DRIVERS video_cards_r100 r100 driver_enable DRI_DRIVERS video_cards_r200 r200 if ! use video_cards_r100 && ! use video_cards_r200; then - driver_enable DRI_DRIVERS video_cards_radeon radeon r200 + driver_enable DRI_DRIVERS video_cards_radeon r100 r200 fi fi if use egl; then - myeconfargs+=( "--with-platforms=x11,surfaceless$(use wayland && echo ",wayland")$(use gbm && echo ",drm")" ) + emesonargs+=( "-Dplatforms=x11,surfaceless$(use wayland && echo ",wayland")$(use gbm && echo ",drm")" ) fi if use gallium; then - myeconfargs+=( - "$(use_enable llvm)" - "$(use_enable openmax omx-bellagio)" - "$(use_enable unwind libunwind)" + emesonargs+=( + "$(meson_use llvm)" + "$(meson_use unwind libunwind)" ) if use video_cards_r300 || @@ -379,39 +377,38 @@ multilib_src_configure() { use video_cards_radeonsi || use video_cards_nouveau || use video_cards_vmware; then - myeconfargs+=( "$(use_enable d3d9 nine)" ) + emesonargs+=( "$(meson_use d3d9 gallium-nine)" ) else - myeconfargs+=( "--disable-nine" ) + emesonargs+=( "-Dgallium-nine=false" ) fi if use video_cards_r600 || use video_cards_radeonsi || use video_cards_nouveau; then - myeconfargs+=( "$(use_enable vaapi va)" ) - use vaapi && myeconfargs+=( "--with-va-libdir=/usr/$(get_libdir)/va/drivers" ) + emesonargs+=( "$(meson_use vaapi gallium-va)" ) + use vaapi && emesonargs+=( "-Dva-libs-path=/usr/$(get_libdir)/va/drivers" ) else - myeconfargs+=( "--disable-va" ) + emesonargs+=( "-Dgallium-va=false" ) fi if use video_cards_r300 || use video_cards_r600 || use video_cards_radeonsi || use video_cards_nouveau; then - myeconfargs+=( "$(use_enable vdpau)" ) + emesonargs+=( "$(meson_use vdpau gallium-vdpau)" ) else - myeconfargs+=( "--disable-vdpau" ) + emesonargs+=( "-Dgallium-vdpau=false" ) fi if use video_cards_freedreno || use video_cards_nouveau; then - myeconfargs+=( "$(use_enable xa)" ) + emesonargs+=( "$(meson_use xa gallium-xa)" ) else - myeconfargs+=( "--disable-xa" ) + emesonargs+=( "-Dgallium-xa=false" ) fi if use video_cards_r600 || use video_cards_nouveau; then - myeconfargs+=( "$(use_enable xvmc)" ) + emesonargs+=( "$(meson_use xvmc gallium-xvmc)" ) else - myeconfargs+=( "--disable-xvmc" ) + emesonargs+=( "-Dgallium-xvmc=false" ) fi - driver_enable GALLIUM_DRIVERS -- swrast driver_enable GALLIUM_DRIVERS video_cards_vc4 vc4 driver_enable GALLIUM_DRIVERS video_cards_virgl virgl driver_enable GALLIUM_DRIVERS video_cards_vivante etnaviv @@ -433,71 +430,67 @@ multilib_src_configure() { driver_enable GALLIUM_DRIVERS video_cards_freedreno freedreno # opencl stuff if use opencl; then - myeconfargs+=( - "$(use_enable opencl)" - "--with-clang-libdir=${EPREFIX}/usr/lib" + emesonargs+=( + "-Dgallium-opencl=$(usex opencl standalone disabled)" ) fi fi if use vulkan; then driver_enable VULKAN_DRIVERS video_cards_i965 intel - driver_enable VULKAN_DRIVERS video_cards_radeonsi radeon + driver_enable VULKAN_DRIVERS video_cards_radeonsi amd fi # x86 hardened pax_kernel needs glx-rts, bug 240956 if [[ "${ABI}" == "x86" ]]; then - myeconfargs+=( "$(use_enable pax_kernel glx-read-only-text)" ) + emesonargs+=( "$(meson_use pax_kernel glx-read-only-text)" ) fi # on abi_x86_32 hardened we need to have asm disable if [[ ${ABI} == x86* ]] && use pic; then - myeconfargs+=( "--disable-asm" ) + emesonargs+=( "--disable-asm" ) fi if use gallium; then - myeconfargs+=( "$(use_enable osmesa gallium-osmesa)" ) + driver_enable GALLIUM_DRIVERS -- swrast + emesonargs+=( "-Dosmesa=$(usex osmesa gallium none)" ) else - myeconfargs+=( "$(use_enable osmesa)" ) + driver_enable DRI_DRIVERS -- swrast + emesonargs+=( "-Dosmesa=$(usex osmesa classic none)" ) fi - # build fails with BSD indent, bug #428112 - use userland_GNU || export INDENT=cat - - myeconfargs+=( - "--enable-dri" - "--enable-glx" - "--enable-shared-glapi" - "$(use_enable !bindist texture-float)" - "$(use_enable debug)" - "$(use_enable dri3)" - "$(use_enable egl)" - "$(use_enable gbm)" - "$(use_enable gles1)" - "$(use_enable gles2)" - "$(use_enable nptl glx-tls)" - "--enable-valgrind=$(usex valgrind auto no)" - "--enable-llvm-shared-libs" - "--disable-opencl-icd" - "--with-dri-drivers=${DRI_DRIVERS}" - "--with-gallium-drivers=${GALLIUM_DRIVERS}" - "--with-vulkan-drivers=${VULKAN_DRIVERS}" - "PYTHON2=${PYTHON}" + emesonargs+=( + "$(meson_use test build-tests)" + "-Dglx=dri" + "-Dshared-glapi=true" + "$(meson_use dri3)" + "$(meson_use egl)" + "$(meson_use gbm)" + "$(meson_use gles1)" + "$(meson_use gles2)" + "-Dvalgrind=$(usex valgrind auto false)" + "-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")" + "-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")" + "-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")" + "--buildtype" "$(usex debug debug plain)" ) - # shellcheck disable=SC2068,SC2128 - ECONF_SOURCE="${S}" econf ${myeconfargs[@]} + meson_src_configure +} + +multilib_src_compile() { + meson_src_compile } multilib_src_install() { - emake install DESTDIR="${D}" + meson_src_install # Move lib{EGL*,GL*,OpenVG,OpenGL}.{la,a,so*} files from /usr/lib to /usr/lib/opengl/mesa/lib ebegin "(subshell): moving lib{EGL*,GL*,OpenGL}.{la,a,so*} in order to implement dynamic GL switching support" ( local gl_dir - gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}" + gl_dir="/usr/$(get_libdir)/opengl/${PN}" dodir "${gl_dir}/lib" for library in "${ED%/}/usr/$(get_libdir)"/lib{EGL*,GL*,OpenGL}.{la,a,so*} ; do - if [[ -f ${library} || -L ${library} ]]; then + if [[ -f "${library}" || -L "${library}" ]]; then mv -f "${library}" "${ED%/}${gl_dir}"/lib \ || die "Failed to move ${library}" fi @@ -505,60 +498,6 @@ multilib_src_install() { ) eend $? || die "(subshell): failed to move lib{EGL*,GL*,OpenGL}.{la,a,so*}" - if use classic || use gallium; then - ebegin "(subshell): moving DRI/Gallium drivers for dynamic switching" - ( - local gallium_drivers=( i915_dri.so i965_dri.so r300_dri.so r600_dri.so swrast_dri.so ) - keepdir "/usr/$(get_libdir)/dri" - dodir "/usr/$(get_libdir)/mesa" - # shellcheck disable=SC2068 - for library in ${gallium_drivers[@]}; do - if [ -f "$(get_libdir)/gallium/${library}" ]; then - mv -f "${ED%/}/usr/$(get_libdir)/dri/${library}" \ - "${ED%/}/usr/$(get_libdir)/dri/${library/_dri.so/g_dri.so}" \ - || die "Failed to move ${library}" - fi - done - if use classic; then - emake -C "${BUILD_DIR}/src/mesa/drivers/dri" DESTDIR="${D}" install - fi - for library in "${ED%/}/usr/$(get_libdir)/dri"/*.so; do - if [[ -f "${library}" || -L "${library}" ]]; then - mv -f "${library}" "${library/dri/mesa}" \ - || die "Failed to move ${library}" - fi - done - pushd "${ED%/}/usr/$(get_libdir)/dri" || die "pushd failed" - ln -s ../mesa/*.so . || die "Creating symlink failed" - # remove symlinks to drivers known to eselect - # shellcheck disable=SC2068 - for library in ${gallium_drivers[@]}; do - if [[ -f "${library}" || -L "${library}" ]]; then - rm "${library}" || die "Failed to remove ${library}" - fi - done - popd || die "popd failed" - ) - eend $? || die "(subshell): moving DRI/Gallium drivers failed" - fi - if use opencl; then - ebegin "(subshell): moving Gallium/Clover OpenCL implementation for dynamic switching" - ( - local cl_dir - cl_dir="/usr/$(get_libdir)/OpenCL/vendors/mesa" - dodir "${cl_dir}"/{lib,include} - if [ -f "${ED%/}/usr/$(get_libdir)/libOpenCL.so" ]; then - mv -f "${ED%/}/usr/$(get_libdir)/libOpenCL.so"* \ - "${ED%/}${cl_dir}" - fi - if [ -f "${ED%/}/usr/include/CL/opencl.h" ]; then - mv -f "${ED%/}/usr/include/CL" \ - "${ED%/}${cl_dir}/include" - fi - ) - eend $? || die "(subshell): moving Gallium/Clover OpenCL implementation failed" - fi - if use openmax; then echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share/mesa/xdg\"" > "${T}/99mesaxdgomx" doenvd "${T}"/99mesaxdgomx @@ -567,62 +506,23 @@ multilib_src_install() { } multilib_src_install_all() { - find "${ED%/}" -name '*.la' -delete einstalldocs - - if use !bindist; then - dodoc "docs/patents.txt" - fi - - # Install config file for eselect mesa - insinto /usr/share/mesa - newins "${FILESDIR}/eselect-mesa.conf.9.2" "eselect-mesa.conf" } multilib_src_test() { - if use llvm; then - local llvm_tests='lp_test_arit lp_test_arit lp_test_blend lp_test_blend lp_test_conv lp_test_conv lp_test_format lp_test_format lp_test_printf lp_test_printf' - pushd "src/gallium/drivers/llvmpipe" >/dev/null || die "pushd failed" - # shellcheck disable=SC2086 - emake ${llvm_tests} - # shellcheck disable=SC2086 - pax-mark m ${llvm_tests} - popd >/dev/null || die "popd failed" - fi - emake check + meson_src_test } pkg_postinst() { # Switch to the xorg implementation. echo - eselect opengl set --use-old "${OPENGL_DIR}" - - # Select classic/gallium drivers - if use classic || use gallium; then - eselect mesa set --auto - fi + eselect opengl set --use-old "${PN}" # Switch to mesa opencl if use opencl; then eselect opencl set --use-old "${PN}" fi - # run omxregister-bellagio to make the OpenMAX drivers known system-wide - if use openmax; then - ebegin "(subshell): registering OpenMAX drivers" - BELLAGIO_SEARCH_PATH="${EPREFIX}/usr/$(get_libdir)/libomxil-bellagio0" \ - OMX_BELLAGIO_REGISTRY="${EPREFIX}/usr/share/mesa/xdg/.omxregister" \ - omxregister-bellagio - eend $? || die "(subshell): registering OpenMAX drivers failed" - fi - - # warn about patent encumbered texture-float - if use !bindist; then - elog "USE=\"bindist\" was not set. Potentially patent encumbered code was" - elog "enabled. Please see /usr/share/doc/${P}/patents.txt.bz2 for an" - elog "explanation." - fi - ewarn "This is an experimental version of ${CATEGORY}/${PN} designed to fix various issues" ewarn "when switching GL providers." ewarn "This package can only be used in conjuction with patched versions of:" @@ -632,8 +532,3 @@ pkg_postinst() { ewarn "from the bobwya overlay." } -pkg_prerm() { - if use openmax; then - rm "${EPREFIX}/usr/share/mesa/xdg/.omxregister" - fi -} diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild index ce227a8d..78823588 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -6,8 +6,7 @@ EAPI=6 PYTHON_COMPAT=( python2_7 ) -inherit llvm meson multilib-minimal python-any-r1 -OPENGL_DIR="${PN}" +inherit llvm meson multilib-minimal pax-utils python-any-r1 MY_P="${P/_/-}" @@ -68,7 +67,7 @@ REQUIRED_USE=" video_cards_vmware? ( gallium ) " -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.91" +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.93" # shellcheck disable=SC2124 RDEPEND=" !app-eselect/eselect-mesa @@ -197,10 +196,8 @@ DEPEND="${RDEPEND} virtual/pkgconfig valgrind? ( dev-util/valgrind ) x11-base/xorg-proto -" - -[[ "${PV}" == "9999" ]] && DEPEND+=" - $(python_gen_any_dep ">=dev-python/mako-0.7.3[\${PYTHON_USEDEP}]") + x11-libs/libXrandr[${MULTILIB_USEDEP}] + $(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") " S="${WORKDIR}/${MY_P}" @@ -210,14 +207,14 @@ QA_WX_LOAD=" x86? ( !pic? ( usr/lib*/libglapi.so.0.0.0 - usr/lib*/libGLESv1_CM.so.1.1.0 + usr/lib*/libGLESv1_CM.so.1.0.0 usr/lib*/libGLESv2.so.2.0.0 usr/lib*/libGL.so.1.2.0 usr/lib*/libOSMesa.so.8.0.0 ) " -# driver_enable DRI_DRIVERS() +# driver_enable() # 1> driver array (reference) # 2> -- / driver USE flag (main category) # [3-N]> driver USE flags (subcategory) @@ -226,14 +223,20 @@ driver_enable() { local __driver_array_reference="${1}" driver declare -n driver_array=${__driver_array_reference} - if [[ "${2}" == "--" ]] || use $2; then - # shellcheck disable=SC2068 - for driver in ${@:3}; do - driver_array+=",${driver}" - done + if [[ "${2}" == "--" ]] || use "${2}"; then + driver_array+=( "${@:3}" ) fi } +# driver_list() +# 1> driver list +driver_list() { + (($# != 1)) && die "Invalid parameter count: ${#} (1)" + + drivers="$(sort -u <<< "${1// /$'\n'}")" + printf "%s\\n" "${drivers//$'\n'/,}" +} + llvm_check_depends() { local flags="${MULTILIB_USEDEP}" if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi; then @@ -333,7 +336,7 @@ pkg_setup() { } multilib_src_configure() { - local -a myemesonargs=() + local -a emesonargs=() if use classic; then # Configurable DRI drivers @@ -358,11 +361,11 @@ multilib_src_configure() { fi if use egl; then - myemesonargs+=( "-Dplatforms=x11,surfaceless$(use wayland && echo ",wayland")$(use gbm && echo ",drm")" ) + emesonargs+=( "-Dplatforms=x11,surfaceless$(use wayland && echo ",wayland")$(use gbm && echo ",drm")" ) fi if use gallium; then - myemesonargs+=( + emesonargs+=( "$(meson_use llvm)" "$(meson_use unwind libunwind)" ) @@ -372,37 +375,37 @@ multilib_src_configure() { use video_cards_radeonsi || use video_cards_nouveau || use video_cards_vmware; then - myemesonargs+=( "$(meson_use d3d9 gallium-nine)" ) + emesonargs+=( "$(meson_use d3d9 gallium-nine)" ) else - myemesonargs+=( "-Dgallium-nine=false" ) + emesonargs+=( "-Dgallium-nine=false" ) fi if use video_cards_r600 || use video_cards_radeonsi || use video_cards_nouveau; then - myemesonargs+=( "$(meson_use vaapi gallium-va)" ) - use vaapi && myemesonargs+=( "-Dva-libs-path=/usr/$(get_libdir)/va/drivers" ) + emesonargs+=( "$(meson_use vaapi gallium-va)" ) + use vaapi && emesonargs+=( "-Dva-libs-path=/usr/$(get_libdir)/va/drivers" ) else - myemesonargs+=( "-Dgallium-va=false" ) + emesonargs+=( "-Dgallium-va=false" ) fi if use video_cards_r300 || use video_cards_r600 || use video_cards_radeonsi || use video_cards_nouveau; then - myemesonargs+=( "$(meson_use vdpau gallium-vdpau)" ) + emesonargs+=( "$(meson_use vdpau gallium-vdpau)" ) else - myemesonargs+=( "-Dgallium-vdpau=false" ) + emesonargs+=( "-Dgallium-vdpau=false" ) fi if use video_cards_freedreno || use video_cards_nouveau; then - myemesonargs+=( "$(meson_use xa gallium-xa)" ) + emesonargs+=( "$(meson_use xa gallium-xa)" ) else - myemesonargs+=( "-Dgallium-xa=false" ) + emesonargs+=( "-Dgallium-xa=false" ) fi if use video_cards_r600 || use video_cards_nouveau; then - myemesonargs+=( "$(meson_use xvmc gallium-xvmc)" ) + emesonargs+=( "$(meson_use xvmc gallium-xvmc)" ) else - myemesonargs+=( "-Dgallium-xvmc=false" ) + emesonargs+=( "-Dgallium-xvmc=false" ) fi driver_enable GALLIUM_DRIVERS video_cards_vc4 vc4 driver_enable GALLIUM_DRIVERS video_cards_virgl virgl @@ -425,7 +428,7 @@ multilib_src_configure() { driver_enable GALLIUM_DRIVERS video_cards_freedreno freedreno # opencl stuff if use opencl; then - myemesonargs+=( + emesonargs+=( "-Dgallium-opencl=$(usex opencl standalone disabled)" ) fi @@ -437,23 +440,23 @@ multilib_src_configure() { fi # x86 hardened pax_kernel needs glx-rts, bug 240956 if [[ "${ABI}" == "x86" ]]; then - myemesonargs+=( "$(meson_use pax_kernel glx-read-only-text)" ) + emesonargs+=( "$(meson_use pax_kernel glx-read-only-text)" ) fi # on abi_x86_32 hardened we need to have asm disable if [[ ${ABI} == x86* ]] && use pic; then - myemesonargs+=( "--disable-asm" ) + emesonargs+=( "--disable-asm" ) fi if use gallium; then - myemesonargsdriver_enable GALLIUM_DRIVERS -- swrast - myemesonargs+=( "-Dosmesa=$(usex osmesa gallium none)" ) + driver_enable GALLIUM_DRIVERS -- swrast + emesonargs+=( "-Dosmesa=$(usex osmesa gallium none)" ) else - myemesonargsdriver_enable DRI_DRIVERS -- swrast - myemesonargs+=( "-Dosmesa=$(usex osmesa classic none)" ) + driver_enable DRI_DRIVERS -- swrast + emesonargs+=( "-Dosmesa=$(usex osmesa classic none)" ) fi - myemesonargs+=( + emesonargs+=( "$(meson_use test build-tests)" "-Dglx=dri" "-Dshared-glapi=true" @@ -463,10 +466,10 @@ multilib_src_configure() { "$(meson_use gles1)" "$(meson_use gles2)" "-Dvalgrind=$(usex valgrind auto false)" - "-Ddri-drivers=${DRI_DRIVERS}" - "-Dgallium-drivers=${GALLIUM_DRIVERS}" - "-Dvulkan-drivers=${VULKAN_DRIVERS}" - "--buildtype $(usex debug debug plain)" + "-Ddri-drivers=$(driver_list "${DRI_DRIVERS[*]}")" + "-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")" + "-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")" + "--buildtype" "$(usex debug debug plain)" ) meson_src_configure } @@ -482,10 +485,10 @@ multilib_src_install() { ebegin "(subshell): moving lib{EGL*,GL*,OpenGL}.{la,a,so*} in order to implement dynamic GL switching support" ( local gl_dir - gl_dir="/usr/$(get_libdir)/opengl/${OPENGL_DIR}" + gl_dir="/usr/$(get_libdir)/opengl/${PN}" dodir "${gl_dir}/lib" for library in "${ED%/}/usr/$(get_libdir)"/lib{EGL*,GL*,OpenGL}.{la,a,so*} ; do - if [[ -f ${library} || -L ${library} ]]; then + if [[ -f "${library}" || -L "${library}" ]]; then mv -f "${library}" "${ED%/}${gl_dir}"/lib \ || die "Failed to move ${library}" fi @@ -511,22 +514,13 @@ multilib_src_test() { pkg_postinst() { # Switch to the xorg implementation. echo - eselect opengl set --use-old "${OPENGL_DIR}" + eselect opengl set --use-old "${PN}" # Switch to mesa opencl if use opencl; then eselect opencl set --use-old "${PN}" fi - # run omxregister-bellagio to make the OpenMAX drivers known system-wide - if use openmax; then - ebegin "(subshell): registering OpenMAX drivers" - BELLAGIO_SEARCH_PATH="${EPREFIX}/usr/$(get_libdir)/libomxil-bellagio0" \ - OMX_BELLAGIO_REGISTRY="${EPREFIX}/usr/share/mesa/xdg/.omxregister" \ - omxregister-bellagio - eend $? || die "(subshell): registering OpenMAX drivers failed" - fi - ewarn "This is an experimental version of ${CATEGORY}/${PN} designed to fix various issues" ewarn "when switching GL providers." ewarn "This package can only be used in conjuction with patched versions of:" @@ -536,8 +530,3 @@ pkg_postinst() { ewarn "from the bobwya overlay." } -pkg_prerm() { - if use openmax; then - rm "${EPREFIX}/usr/share/mesa/xdg/.omxregister" - fi -}