summaryrefslogtreecommitdiff
path: root/media-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-14 03:02:32 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-14 03:02:32 +0000
commitd3c7d3e5f9607edef1a795ccc502ab3eb3121165 (patch)
treed36ccc4ef4aa53927a8cd66bc5d3ab06fe1bdd24 /media-libs
parent4dc2f97ed84159736ecfb5dea5485e83b27810d1 (diff)
gentoo auto-resync : 14:11:2024 - 03:02:32
Diffstat (limited to 'media-libs')
-rw-r--r--media-libs/Manifest.gzbin69697 -> 69696 bytes
-rw-r--r--media-libs/alsa-lib/Manifest2
-rw-r--r--media-libs/alsa-lib/alsa-lib-1.2.13.ebuild98
-rw-r--r--media-libs/alsa-ucm-conf/Manifest4
-rw-r--r--media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild25
-rw-r--r--media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch62
-rw-r--r--media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch37
-rw-r--r--media-libs/libgii/Manifest3
-rw-r--r--media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch28
-rw-r--r--media-libs/libgii/libgii-1.0.2-r4.ebuild (renamed from media-libs/libgii/libgii-1.0.2-r3.ebuild)10
-rw-r--r--media-libs/libpng/Manifest2
-rw-r--r--media-libs/libpng/libpng-1.6.44.ebuild2
-rw-r--r--media-libs/mesa/Manifest4
-rw-r--r--media-libs/mesa/mesa-24.2.7.ebuild497
-rw-r--r--media-libs/mesa/mesa-9999.ebuild2
-rw-r--r--media-libs/oneVPL-intel-gpu/Manifest4
-rw-r--r--media-libs/oneVPL-intel-gpu/metadata.xml3
-rw-r--r--media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild3
-rw-r--r--media-libs/openh264/Manifest2
-rw-r--r--media-libs/openh264/openh264-2.5.0.ebuild134
20 files changed, 912 insertions, 10 deletions
diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz
index 2d98d217dd3e..402799d93cb2 100644
--- a/media-libs/Manifest.gz
+++ b/media-libs/Manifest.gz
Binary files differ
diff --git a/media-libs/alsa-lib/Manifest b/media-libs/alsa-lib/Manifest
index 463562bee33d..37ac0faa2638 100644
--- a/media-libs/alsa-lib/Manifest
+++ b/media-libs/alsa-lib/Manifest
@@ -2,6 +2,8 @@ AUX alsa-lib-1.1.6-missing_files.patch 5349 BLAKE2B 9ce6d529b78aa90dd5c507173f6a
AUX alsa-lib-1.2.11-topology-correct-version-script-path.patch 1167 BLAKE2B 0540456e96eb47279d952b888d7c7ada54b7850e0a2a091b98bafc7969e97cdd829ecf7572a03eaa8b5da3d8e548b3c787eda66502673954bd583809b98a5f3d SHA512 a8ed806a9a98a0c351a76f043bb8344746f5258c13d8d08be547556e0f9c1c65472398d9d6cdeb87c22fb1340b8cc23c10bb1aee42063544c31f4afbcf8fa84e
DIST alsa-lib-1.2.11.tar.bz2 1107150 BLAKE2B 7fb245ffbfb841bdd5cb9da08fb2ec0a4ce8d340d4d1461999aca558c67c16e7c596cd0bffab761b7b4549025b0fb25462fb352e6d3900fb42f00b47de58d34c SHA512 7bf2c541dff5262c0302a1c716ca10cdb5105f4e0ad48f3341c3c7e975b0c3ea835a298a05974c3e216a85912c368d8025ba3cdda3ff04a7683133ce5b2a286d
DIST alsa-lib-1.2.12.tar.bz2 1108712 BLAKE2B bcb48ad2c8687454b312e789c650136fee0db8cccf58e997b9d619aac5c74288b69220589efdcd3917eb1d781ef71be5fcd16d997c59c069fe20788d1a479068 SHA512 053e36e51c0ff28f07028b89c8845b50682a5c14035ab85c2fc8cae2f2f0d05e4cd45ed879602c15c1596fb7fe84bfd50ec0d119dfb55c66589a2d458a9b317d
+DIST alsa-lib-1.2.13.tar.bz2 1116739 BLAKE2B 1723ca5f191525e050f05423fb9ccf4501e4f20490d01b0c068493bbce279d3a067e8d0e5f52f9c76c2eaecb4c2b3fc42690193b88c313461fce2aec390175b3 SHA512 b0c0666e38e881dca985b61386523c045c71072a88be4952c986ffbe2107ec736da528858ebeffdf439de5c290914bf3facc654100a228c6d26fff9429142ef0
EBUILD alsa-lib-1.2.11.ebuild 2659 BLAKE2B 53310377ed59b845962bc6e77e69ef010a58c006f47692a755c44bf7fd3e539cef531fa692b43254a26a54071b77e55c7722b54dab9d73a71fff9ddd9bc39b55 SHA512 120e70af3e0cd5bdd66c40e18cc88caf9453cca6bdf9dabfc989dc1b9175ec6726983616548a87873a3bc2569e06592aba40810261195e4653fa7d9985a6ab5e
EBUILD alsa-lib-1.2.12.ebuild 2589 BLAKE2B b3ad782b31515af4e21fc59b805bc95a1033844af33d94475fc889a23a199442cf03361fff7273fd4fc6875d37a8ebba554d5c9d1f70dbeddda6bb086831c55d SHA512 a17bf77c10a814a1d8150cc14a3c0d1a9341e80132fde5a3bd736be302d5ad650c84ab7ce57380171f9eab79d6278dc3423be623699894dd7a0e12fc2e62706c
+EBUILD alsa-lib-1.2.13.ebuild 2596 BLAKE2B 4846bcbcfdcb74afea02c74ac915db796b1851985479b9c467bc24a89628e40946fa156b2c845bbef82bdf075d2840b8ebb5d2f4b407810c0817953df29565ac SHA512 1b99b8693701ca0e8dba6f9ad983dfb19703dd1d6db61705432f4f7ef5666c034abb93cf4c2a341ec5aefaadb0b981cd6b98b45d2895e565fb027c191c285cf1
MISC metadata.xml 508 BLAKE2B 5d7cb196ffea7d75c228f28cfbc88b7c3ca7e18b4f8f790dd51718bce508679fb61073f0df0a192028c57bf3c8f99e3838c7c061dc408ae915b84213fd14b383 SHA512 4b682f9fa77d3287e0e56e39c6aa97b06129f85cc1dd898efac0682dd33f6b22ca20e08dcb95423ac953eafde7d2850db9c5a363156eaefa2c1752dd72011a4c
diff --git a/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild b/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild
new file mode 100644
index 000000000000..68a5a702382e
--- /dev/null
+++ b/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools multilib-minimal flag-o-matic python-single-r1
+
+DESCRIPTION="Advanced Linux Sound Architecture Library"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
+if [[ ${PV} == *_p* ]] ; then
+ # Please set correct commit ID for a snapshot release!
+ COMMIT="7e3a3c2b0a092d0f568ba3c98365030dd91cc877"
+ SRC_URI="https://git.alsa-project.org/?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz -> ${P}.tar.gz"
+ S="${WORKDIR}"/${PN}-${COMMIT:0:7}
+else
+ # TODO: Upstream does publish .sig files, so someone could implement verify-sig ;)
+ SRC_URI="https://www.alsa-project.org/files/pub/lib/${P}.tar.bz2"
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="alisp debug doc python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ media-libs/alsa-topology-conf
+ media-libs/alsa-ucm-conf
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( >=app-text/doxygen-1.2.6 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.6-missing_files.patch" # bug #652422
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ find . -name Makefile.am -exec sed -i -e '/CFLAGS/s:-g -O2::' {} + || die
+ # bug #545950
+ sed -i -e '5s:^$:\nAM_CPPFLAGS = -I$(top_srcdir)/include:' test/lsb/Makefile.am || die
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # Broken upstream. Could in theory work with -flto-partitions=none
+ # but it's a hack to workaround the real problem and not strictly safe.
+ # bug #616108, bug #669086, and https://github.com/alsa-project/alsa-lib/issues/6.
+ # (This bug is closed as of 1.2.9 but there's been no clear actual fix to it.
+ # Let us know if you can identify one.)
+ filter-lto
+
+ local myeconfargs=(
+ --disable-maintainer-mode
+ --disable-resmgr
+ --enable-aload
+ --enable-rawmidi
+ --enable-seq
+ --enable-shared
+ --enable-thread-safety
+
+ $(multilib_native_use_enable python)
+ $(use_enable alisp)
+ $(use_with debug)
+ )
+
+ ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi && use doc; then
+ emake doc
+ grep -FZrl "${S}" doc/doxygen/html | \
+ xargs -0 sed -i -e "s:${S}::" || die
+ fi
+}
+
+multilib_src_install() {
+ multilib_is_native_abi && use doc && local HTML_DOCS=( doc/doxygen/html/. )
+
+ default
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ dodoc ChangeLog doc/asoundrc.txt NOTES TODO
+}
diff --git a/media-libs/alsa-ucm-conf/Manifest b/media-libs/alsa-ucm-conf/Manifest
index 2509219aa46e..6017f2612ed3 100644
--- a/media-libs/alsa-ucm-conf/Manifest
+++ b/media-libs/alsa-ucm-conf/Manifest
@@ -1,5 +1,9 @@
+AUX alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch 2064 BLAKE2B ae7b0b6306bb74ef2c3fa5950b5e472adb8a146567e73cdeca43fa8b11732f5def1b91cef2b098301e963f7fc4afcfb941cdf7e3022ad8d1d1c7e37364fb7a44 SHA512 28428300c1d93eac575747615780f4c874cc0c33e7bbfd6335fc3ae05e7d8bdcf6ffb8877969da055eebd0f0c2a1477600a2c62ed0aa0b97ed95259b3f7ee998
+AUX alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch 1314 BLAKE2B e0c2454c372c11b81670c775fb92c310630d5a49d5441fcaaeefec94157b2c058a0d2bbde800d56fd0b22d498b596241e1c4ad1e4fbcde513759e205db102ee1 SHA512 e1211e5d3f498770e986cb061bb5de2ad85841e287bec0c18652a5c952502a513c451e3d05c77a7040dea43a64d70bf493fe2448be1f125aa72743b760e017c4
DIST alsa-ucm-conf-1.2.11.tar.bz2 49172 BLAKE2B 8b57ad990eac676ca8f5044a81a57a85951e425bd059679ac3dc7097e3c4a089cb73bbd01869335c4e94161d9f3f86aba7549b6a666e69ba76578d785e53fbb4 SHA512 b202e7410a579789be0005564b4868f70bca0fd8664c02add95fc9ff90ab64faebda978fbd3e83a3274c37242dccf8efbebd03f529e35ca3033daf55f425cb8d
DIST alsa-ucm-conf-1.2.12.tar.bz2 52618 BLAKE2B 65f429afa6a9134f1896acac3827f6065ce9315f1920d27d5ea97244fe376f1f7780c9537cf33b8a91eeaebfde7489842bd603a7d60c0d20b6017f2e7e1eda4e SHA512 391dde123271172d899c04865d1d6e21b4ad0060ee9b2256dfbc6fc89ad48edcaa43c861893ab0e5c70d972e20d15c528defc19c00308e7465f13f954cce25d7
+DIST alsa-ucm-conf-1.2.13.tar.bz2 58408 BLAKE2B 87e4bf2285961e316ca853e9245e02447ea9e60fa506e124c072e2b6ed71345fc0c30b19bf8c849f8123a6b95a4facd22225eafccba8164266961110a60ef44c SHA512 cad867268851ac178f3a5378a00e292184b0e0ec7955f297ae7ed56073d3dddb06c08666b23b1bf6b0065068a9370ee34608bd687763658c79d34b64059b1c85
EBUILD alsa-ucm-conf-1.2.11.ebuild 503 BLAKE2B 8acbe87d7a55847e4848a6c975cdac618cd0c53cc9873eb21678864d0901f7da716226a5c7a0d729fdacda4f9adb63c186d2e4e196e74204d3aadda72a4d2c8f SHA512 910abd4c03c5eb5df31b6cda01735d23a266f5efa9fbd72bf0baa4cac09b6b1354cc4606101df4d572a3ffa8fb91557f0daacc7951336ad6340f951ba347e716
EBUILD alsa-ucm-conf-1.2.12.ebuild 504 BLAKE2B 72c959634a0185a37e085b18d79e236a83df0c4aa68ce405dbf03d1f4160a60685b3af0bcaf26a0684c33275a05c0916d340247cd7da86cc54e5d1ca34b2edcf SHA512 adeab2295534ef808940215f7c98b91a45c39afa7af8e9189aa0c148c95d023c7da9ac4d2817fcf1ee770880f2a99fe4a997c4818b81c625a760dfbd7a989900
+EBUILD alsa-ucm-conf-1.2.13.ebuild 622 BLAKE2B a2aa0105895f02d357990a6dcffec0c129802ba3d6578dcf5b430fbd50b875705056f9a12859a8b4ec0e6b1a678ee97497b2693355a82f08ee73d7026dbc7efa SHA512 979d23ff1f5669be04b25fac8a3ddc9ee093d37b2800a98b0706bbb9950de0ac216c43e79772c6a8d7652025a00a55d16371a46fdfc599aeaab1b29e3924dde0
MISC metadata.xml 403 BLAKE2B c1555457584c9ccfc55d8cf423c2980863a68e45a2993133c56f124996c33a8ca402f7611fb22c4f6fd87cd5ea70e417f1424d4df5bc5aebca6ccbd2b5efb3e6 SHA512 23290395834ba3d4b58cc79ec5fca79b1b2710b69504a49057f3d26bb5f3ae3b1b7f2c4957d8b3d13168f81795c25df4cb5007ec3c60bbe61c7f588ae2445d43
diff --git a/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild b/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild
new file mode 100644
index 000000000000..62707af45fcf
--- /dev/null
+++ b/media-libs/alsa-ucm-conf/alsa-ucm-conf-1.2.13.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="ALSA ucm configuration files"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
+SRC_URI="https://www.alsa-project.org/files/pub/lib/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="!<media-libs/alsa-lib-1.2.1"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ucm2-intel-sys_vendor.patch
+ "${FILESDIR}"/${P}-ucm2-intel-product_name.patch
+)
+
+src_install() {
+ insinto /usr/share/alsa
+ doins -r ucm{,2}
+}
diff --git a/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch
new file mode 100644
index 000000000000..13c16f18a9a5
--- /dev/null
+++ b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-product_name.patch
@@ -0,0 +1,62 @@
+https://github.com/alsa-project/alsa-ucm-conf/commit/6397c663d7086b87ca5cbba323ea3dcd0ecd3200
+
+From 6397c663d7086b87ca5cbba323ea3dcd0ecd3200 Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Wed, 13 Nov 2024 16:19:15 +0100
+Subject: [PATCH] sof-hda-dsp: Fix the case where sysfs dmi product_name
+ attribute is not set
+
+ !!DMI Information
+ !!---------------
+
+ Manufacturer:
+ Product Name:
+ Product Version:
+ Firmware Version: R6G07
+ System SKU: Default string
+ Board Vendor: Default string
+ Board Name: Default string
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2292583
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ ucm2/Intel/sof-hda-dsp/HiFi-sof.conf | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+index c755ba26..5fd1843f 100644
+--- a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
++++ b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+@@ -3,6 +3,7 @@
+ # File paths for controlling SOF processing
+
+ Define.SOFVendor "$${sys:devices/virtual/dmi/id/sys_vendor}"
++Define.SOFProduct "$${sys:devices/virtual/dmi/id/product_name}"
+
+ If.SOFVendor {
+ Condition {
+@@ -12,6 +13,14 @@ If.SOFVendor {
+ True.Define.SOFVendor "${sys:devices/virtual/dmi/id/board_vendor}"
+ }
+
++If.SOFProduct {
++ Condition {
++ Type String
++ Empty "${var:SOFProduct}"
++ }
++ True.Define.SOFProduct "${sys:devices/virtual/dmi/id/board_name}"
++}
++
+ If.SOFIPCVer {
+ Condition {
+ Type ControlExists
+@@ -43,7 +52,7 @@ If.SOFPath {
+ HeadphoneIirBlob "${var:BlobPath}/eq_iir/pass.blob"
+ HeadphoneFirBlob "${var:BlobPath}/eq_fir/pass.blob"
+ HeadphoneDrcBlob "${var:BlobPath}/drc/passthrough.blob"
+- ConfPathFromDMI "${var:SOFVendor}/${sys:devices/virtual/dmi/id/product_name}.conf"
++ ConfPathFromDMI "${var:SOFVendor}/${var:SOFProduct}"
+ SOFProductConfig "/blobs/sof/product_configs/${var:ConfPathFromDMI}"
+ SOFConfFullPath "${ConfTopDir}${var:SOFProductConfig}"
+ SOFUserConfig "/blobs/sof/user_configs/${var:ConfPathFromDMI}"
+
diff --git a/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch
new file mode 100644
index 000000000000..8f603bfa2173
--- /dev/null
+++ b/media-libs/alsa-ucm-conf/files/alsa-ucm-conf-1.2.13-ucm2-intel-sys_vendor.patch
@@ -0,0 +1,37 @@
+https://github.com/alsa-project/alsa-ucm-conf/commit/11b028a9a01e47fc9b48e4a566803752011902e2
+
+From 11b028a9a01e47fc9b48e4a566803752011902e2 Mon Sep 17 00:00:00 2001
+From: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
+Date: Wed, 13 Nov 2024 14:48:38 +0200
+Subject: [PATCH] UCM2: Intel: sof-hda-dsp: Fix handling of empty sys_vendor
+
+The mistake in UCM syntax caused in alsaucm start error:
+
+ALSA lib ucm_cond.c:367:(if_eval) unknown If.Condition.Type
+
+Fixes: 13022a97711d ("sof-hda-dsp: Fix the case where sysfs dmi
+ sys_vendor attribute is not set")
+
+Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/463
+Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ ucm2/Intel/sof-hda-dsp/HiFi-sof.conf | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+index fea8159e..c755ba26 100644
+--- a/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
++++ b/ucm2/Intel/sof-hda-dsp/HiFi-sof.conf
+@@ -6,8 +6,8 @@ Define.SOFVendor "$${sys:devices/virtual/dmi/id/sys_vendor}"
+
+ If.SOFVendor {
+ Condition {
+- Type Empty
+- String "${var:SOFVendor}"
++ Type String
++ Empty "${var:SOFVendor}"
+ }
+ True.Define.SOFVendor "${sys:devices/virtual/dmi/id/board_vendor}"
+ }
+
diff --git a/media-libs/libgii/Manifest b/media-libs/libgii/Manifest
index 165a339047db..00f5d18b9490 100644
--- a/media-libs/libgii/Manifest
+++ b/media-libs/libgii/Manifest
@@ -1,6 +1,7 @@
AUX libgii-0.9.0-linux26-headers.patch 422 BLAKE2B 630d1c98cc2e9b5424dbc41d2453eb1e8780ef46c217a38e4907f37c70dea859952114458d74299255b034ba3ca184b4105a850e1ec0ee1fd4229788fea4ebc1 SHA512 3686d3f33c3b40b24a5258d8bec158eae32ee86a14e98a05dfdff918c1c64f5264c87cb7072f4faa943e5630b2e5969fcc6acb2d9245c0f74e3b7194061f9a3a
+AUX libgii-1.0.2-Wformat-security.patch 735 BLAKE2B 0f5c90052bae92dc3855cdd7106583cbd71fb1d6e70b09daf42c6b8d89794dbd2e8b1037141dd11bd5ec5d64741295630c33b6728569fafe59a8b838b17b242c SHA512 3e21388b08034be03100083611b8548b927fef8155c1d5f6109c5b7e4636cdefd158fc112117dad3312b60fe2e9cf5a58d8b8d7f9c89efc126292572986dc500
AUX libgii-1.0.2-configure-cpuid-pic.patch 451 BLAKE2B 2a19985eda7c5cafaf40d68b20338193996d18cfaa11639e31ea2c38c3e4eda5808c8efbbb39b46dd9ad2570adabf0195b287c9307a603c2e5497e6f5dfb1074 SHA512 94aa2b1996ac7ccc1275853c72bda6a0f050c79010354d87dd551484c8bf3fb8eaa2cbc6b13620cb317bddc9da938c3106af71e2f0da70f9b62db7e27c404743
AUX libgii-1.0.2-libtool_1.5_compat.patch 468 BLAKE2B 32d18ef7cfa6e14be36e8eeccf321a988990b3f48caa422ec07988dd8cde0d4c5c1ae7233700c696e45933b56f7555a1b00efd1062be1f4f5d73074b1695cea7 SHA512 c7c2d3cd91ba91cdc60778f5d599f2ee428c3b41a213193f733c4fe86b8e2a778009f8816d6314ad7519e5732065cf51016441306bb05f7ba669ef4000769312
DIST libgii-1.0.2.src.tar.bz2 701099 BLAKE2B 29e23c4f0b0045e05dac855bba10d03e5b38cc3b2fdd494892c52954b4c4bbd990148aff98540bef73048ae26bab79db3369e7731707bfa4eab2b39d256681ad SHA512 d45b236e08bb8c6a7a7741ae694650dfc5681712a174f923c9132c41acb388d0d6dbc5589104a7a6bc73c98088f2b5967ee726d83c1f3e913602661c8d30bf07
-EBUILD libgii-1.0.2-r3.ebuild 1071 BLAKE2B 3a5a6bc714718ca05278eb7e25b003d46bac71c9c35de1944741f7dddee23df9630610127e6bd8fae43976ddede871a163f5aca84cfffbf78cc5f2ecd54ff53b SHA512 79330bc5c1aa02c90914632e18220124da804f1add14e88d19de85df3aefb57f2c607a64708e4833ea6c4001e240b27e286a413d2e8dfb796faf6b4f80256ccf
+EBUILD libgii-1.0.2-r4.ebuild 1118 BLAKE2B 15b4c48852f53115da91a9f9ee4233da5370864fe26d8875563edc348136d012baf5c6974669eac9ae507f3169a28b81e2113574c36aa990d25533d96ee26214 SHA512 94defe58a41d750fe99e72d5109989be4ddf9f50df70af8905f1410eedf75ebed49cc103ee7c21fd28b1d5fad7faca66f5dcddfe432f75159e36f299f48975e2
MISC metadata.xml 297 BLAKE2B 5224c162fdbab9d408c0b908e21f3b910c078888b850127f6c0ac140f1db19de89677b89465d56efe0d336e9f3bba8ffb0167d228c2daaba8c05c819e8788c35 SHA512 1d1d5cf70a0dddfb1f131cb9253cb13dbed3995a801485ca0a4e7194ef128e50cd70e42113d4d2c0d3b73b09d520ef5e3fd2b41fd2dd078a42c6c17f1f6976f8
diff --git a/media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch b/media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch
new file mode 100644
index 000000000000..5fab014afb06
--- /dev/null
+++ b/media-libs/libgii/files/libgii-1.0.2-Wformat-security.patch
@@ -0,0 +1,28 @@
+--- a/input/linux_mouse/input.c
++++ b/input/linux_mouse/input.c
+@@ -251,7 +251,7 @@ static int do_mouse_open(gii_input *inp, char *filename,
+ " device may not work as expected\n");
+ #endif /* HAVE_TIOCMSET */
+ }
+- if (dowarn) fprintf(stderr, serialfailstr);
++ if (dowarn) fprintf(stderr, "%s", serialfailstr);
+ }
+
+ return 0;
+--- a/input/lk201/input.c
++++ b/input/lk201/input.c
+@@ -256,12 +256,12 @@ do_lk201_open(gii_input *inp, const char *filename)
+ }
+ else
+ {
+- fprintf(stderr, tcsetattrfailstr);
++ fprintf(stderr, "%s", tcsetattrfailstr);
+ }
+ }
+ else
+ {
+- fprintf(stderr, tcgetattrfailstr);
++ fprintf(stderr, "%s", tcgetattrfailstr);
+ }
+
+ /* dump and characters currently in the buffer */
diff --git a/media-libs/libgii/libgii-1.0.2-r3.ebuild b/media-libs/libgii/libgii-1.0.2-r4.ebuild
index c73877f9edd8..6fbfcdcd2e1a 100644
--- a/media-libs/libgii/libgii-1.0.2-r3.ebuild
+++ b/media-libs/libgii/libgii-1.0.2-r4.ebuild
@@ -18,14 +18,18 @@ RDEPEND="
X? (
>=x11-libs/libX11-1.6.2
>=x11-libs/libXxf86dga-1.1.4
- )"
-DEPEND="${RDEPEND}
- kernel_linux? ( >=sys-kernel/linux-headers-2.6.11 )"
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ kernel_linux? ( >=sys-kernel/linux-headers-2.6.11 )
+"
PATCHES=(
"${FILESDIR}"/${PN}-0.9.0-linux26-headers.patch
"${FILESDIR}"/${P}-configure-cpuid-pic.patch
"${FILESDIR}"/${P}-libtool_1.5_compat.patch
+ "${FILESDIR}"/${P}-Wformat-security.patch
)
src_prepare() {
diff --git a/media-libs/libpng/Manifest b/media-libs/libpng/Manifest
index 77fbbd2dc351..3f99bbfb9e79 100644
--- a/media-libs/libpng/Manifest
+++ b/media-libs/libpng/Manifest
@@ -9,5 +9,5 @@ DIST libpng-1.6.44.tar.xz 1045640 BLAKE2B 61064dd83f40a7e2e60ff723a568b7d0cda95a
EBUILD libpng-1.6.40-r1.ebuild 1944 BLAKE2B 4d4cac640d98d8062ccb3687655ffa1d682c7824a0e6303a58b7137f9e0c5f77be5710fc36313930bb0da3b3a63e33b7511ca6ddf612398a13be3c860ebcd46a SHA512 2e4fba5a3c6b9edbf2953c6abd56ef15bbfa6e2b58e9c3e293ec24b236c39788b866e348a4b739f258feae2e153722cae1a3021ca4075c5ee8ae7ec070b30f1f
EBUILD libpng-1.6.42.ebuild 2052 BLAKE2B c88b0dc987340739c40120d860a7c703f1a6c468381cabba080be6590c4790a5fa6449d5487db4a33f615f66a959b5a7c6e206ca6e160475247f6b364e931802 SHA512 4445961ea64588c86f74cccde38b3e732202150dafe15ca1ad9bd0ec460b4bcf002659a7f11b4a86d026e98faca3bd59d8134818722e51bf5aeababc9e123336
EBUILD libpng-1.6.43.ebuild 2037 BLAKE2B 39b884fd0d3a57f95ebef922de125498c3e4b81fa489179dd9aa3b211159dd807ef7ae22b2a59842691f7f683da963291fefb6c80a5fec32ba8dfae71223bbe7 SHA512 8c3bb16d6d814e47c08051bff857400cdebe9f48d91da27683464963defbb631a82678097007367991f6e75ffc3120669bb311d97d2a398a2b11294645cd4d5e
-EBUILD libpng-1.6.44.ebuild 1976 BLAKE2B 7364cf980811ec0a1d38323120c3bfe34ea9ef3412f4107bfaafa459994b45e8b5cf524c923b8852311b729a501de87414e2a77e7d0abb3fe5e03de1b109bd58 SHA512 1f7d4489283fe561ab17ce8fa1d1825bd31314b47eeb9c6526a03110409d92c59dfa9265c3ec8b326192da352b8905340baa0329560c07788336f49ec79b585f
+EBUILD libpng-1.6.44.ebuild 1975 BLAKE2B f37233cecd92f7f65a63bfc06ee97272ca26e6fa3a485e8b645c2de6d7e162500bebfa55e485a533b5b01ef2f2eb70ce108efd022cca8762f8ce106e2c8e1373 SHA512 1796de3c37380e474c614277a9883169d9e2a43d1d381a60b8d0b8ccdb5c34ace219a8ad306f0eaa3dc02c84e02c4168ee7d24b5a581a6774ecbd5ce64c5c359
MISC metadata.xml 958 BLAKE2B 6d7a0f6ea2903876e7df7b07f0a5f116d83b188ca1acba2dd6664ecda03a9695c9e3b76b26649dd5198e49d950d91e31f5aa792b3abd7109b76aedbf43cfc843 SHA512 15269d4c49e08bfd993b4248cbef9ea095f0254c68177bc498ddf622a8fdcda01e6e6f17550c698ab79e896d9f3b4af01ef7966006d4902d9101b39844c1670d
diff --git a/media-libs/libpng/libpng-1.6.44.ebuild b/media-libs/libpng/libpng-1.6.44.ebuild
index 77272aa07b7e..fbcf9abd07d8 100644
--- a/media-libs/libpng/libpng-1.6.44.ebuild
+++ b/media-libs/libpng/libpng-1.6.44.ebuild
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="libpng2"
SLOT="0/16"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="apng cpu_flags_x86_sse static-libs test"
RESTRICT="!test? ( test )"
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
index 694c50f39cbc..ad6acd571005 100644
--- a/media-libs/mesa/Manifest
+++ b/media-libs/mesa/Manifest
@@ -4,6 +4,7 @@ DIST mesa-24.2.3.tar.xz 29465732 BLAKE2B 3c480bd9f5948ae4d66a833cfc059b1b872fca9
DIST mesa-24.2.4.tar.xz 29510040 BLAKE2B a0a977e5032e1c9a5b59dc9212d50b6f023fb9d42d325e692a3c680e77a06e2ccd66843b9eaeeadbf3614b65798c5c4649fb0bb74f134334e662ee9dd47ac21f SHA512 f0f1c23591cce85966efaf3988afdb14b64ceb7216b3994e8fc50e8ddc62c35a84b2013285c84080d963aec2afb94dac345f5f00e7ccf9ae7e9ab3f5b9ba0bcb
DIST mesa-24.2.5.tar.xz 29534380 BLAKE2B 6ea7303b7e762a3f32ebbccd53a47f28ab6b6919850f55fffc5be10ab2873a206d9f78ef3a2c32c55f6ab94d2886104b9c96f2140fdb7d4c1ac67650d3521441 SHA512 9f202907dc4e7f1063c32882b2c9a3ab34c4d83de1c9ef4dd171043b87b110bfd7e7a3d6e3632ed768e024ef18b97181c4f6bc377cc7d3eb609dd96ebf6a783e
DIST mesa-24.2.6.tar.xz 29568568 BLAKE2B e49fc85c8a61315d86b253b7dd8052a1e46ea99d5188cf930c833317898c51b7b413286f57a53af3c2b1bb147ce2541ea80279ee9e237deeb499729bb7fd8381 SHA512 830a40d38200ff8b2a6bd949e1ac3bf4edc887a10d9aa92285007d138079e1fafb3568f658e777e7894e95b5ce75d2bd6836b0473fa70d32270005e482b1a2da
+DIST mesa-24.2.7.tar.xz 29589968 BLAKE2B eb1b0285e14e77c3140275b322ff084fca74a1048e6df38f4b14cb03ed7fc436897f7b33d107d1e262d9d4944229fb1e85d02e731c645ead5a7b269dec9334b7 SHA512 8776b45abe5e845c587c0fa9feb22d89f07457265ff63175fb42681ce56dff97b0e163d9e9ac80555ee04decb78754e7331e1015d95c5f84ca3c2549663291dd
DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
@@ -16,5 +17,6 @@ EBUILD mesa-24.2.3-r1.ebuild 13700 BLAKE2B e6a3a22762ac8951b9ef1ea3f4eeba42aec61
EBUILD mesa-24.2.4-r1.ebuild 13700 BLAKE2B e6a3a22762ac8951b9ef1ea3f4eeba42aec616e5f0c26ea0f527ded7d925071f255486e372a5a4c685a4c2090a8e574683fd9fefaec927453735e7548a9430d0 SHA512 5b81996aaa5cc12b6926fc5a2cf90d21d7d8fc8715e0fa54b86d752e3322965c591fc254167a65d865ed203b35078475564af69f5369c42418b5067538a5c543
EBUILD mesa-24.2.5-r1.ebuild 13700 BLAKE2B e6a3a22762ac8951b9ef1ea3f4eeba42aec616e5f0c26ea0f527ded7d925071f255486e372a5a4c685a4c2090a8e574683fd9fefaec927453735e7548a9430d0 SHA512 5b81996aaa5cc12b6926fc5a2cf90d21d7d8fc8715e0fa54b86d752e3322965c591fc254167a65d865ed203b35078475564af69f5369c42418b5067538a5c543
EBUILD mesa-24.2.6-r2.ebuild 13784 BLAKE2B c1e94f18772d5ae0ba3c4d88ea078aeea8891be9319a3fe398a0e537d976fc1840925146e96261c689247b7b0cf5a3241ab78c1d99c8acb39c9f17b189fb0bcf SHA512 14b6e630fdee08e165f282562fefccbf004d1273c832b920032e6b8f70f3212b8384023b400b590afc6c06ace8e32163df701355a29e2409e2e53234c0058f6b
-EBUILD mesa-9999.ebuild 13528 BLAKE2B 321db8f541b45e4ffa9d54f6e4338d52aa7b8173964b4669e35ea290a45baf9f7e609e068a9fb79237761d45e96f2996a0b0b62bb1bc3031061131fdec5d36ce SHA512 a54a3acdb1f9a8c9043ea6cec25e40c7a35998070ab99d0da32afe0793f6646b9a8a18b0f5b299c0f67ea3c92a91d7f124d55eb5481501797d4776a9ac7f3b65
+EBUILD mesa-24.2.7.ebuild 13700 BLAKE2B e6a3a22762ac8951b9ef1ea3f4eeba42aec616e5f0c26ea0f527ded7d925071f255486e372a5a4c685a4c2090a8e574683fd9fefaec927453735e7548a9430d0 SHA512 5b81996aaa5cc12b6926fc5a2cf90d21d7d8fc8715e0fa54b86d752e3322965c591fc254167a65d865ed203b35078475564af69f5369c42418b5067538a5c543
+EBUILD mesa-9999.ebuild 13528 BLAKE2B c4ba904ac93f0685f8521e16545efe4d5a236f6158fd3ae6a305ddc634e94baec25c4eb7ec5184a32ea20cf5ca2a499ae1629543e00517cc0b739d1ec456e346 SHA512 4766fe3eadfb07d935be8c60b1f53d2cb14b5d8fc12c01cff773d5e4e8c85f7c0fbcf23bccaedef9ea771227ba2b2db15ccc35184c65d45bf44e805fefae687b
MISC metadata.xml 1303 BLAKE2B 348e84a15156bd8ae4634c1866f83f1b283b77f8478e66e57dd3f047a6346d1cc67a7c808ce159b82d292dfab62e8b6c4d17cefcae7aea6fa38739667947258b SHA512 448c3d73ded90117f38cec7c80eead4bdac1599c563798c91c96bca8543b9db2e5c2a06f26f9b7496af085a964aff51ed8b0882aa88f18404b64447de2f65598
diff --git a/media-libs/mesa/mesa-24.2.7.ebuild b/media-libs/mesa/mesa-24.2.7.ebuild
new file mode 100644
index 000000000000..3dd7cb3ad57b
--- /dev/null
+++ b/media-libs/mesa/mesa-24.2.7.ebuild
@@ -0,0 +1,497 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+CARGO_OPTIONAL=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
+
+MY_P="${P/_/-}"
+
+CRATES="
+ syn@2.0.68
+ proc-macro2@1.0.86
+ quote@1.0.33
+ unicode-ident@1.0.12
+ paste@1.0.14
+"
+
+RUST_MIN_VER="1.74.1"
+RUST_OPTIONAL=1
+
+inherit cargo
+
+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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files,
+# but there are "stale" distfiles on the mirrors with the wrong names.
+# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+S="${WORKDIR}/${MY_P}"
+EGIT_CHECKOUT_DIR=${S}
+
+LICENSE="MIT SGI-B-2.0"
+SLOT="0"
+
+RADEON_CARDS="r300 r600 radeon radeonsi"
+VIDEO_CARDS="${RADEON_CARDS}
+ d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl
+ vivante vmware zink"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS}
+ cpu_flags_x86_sse2 d3d9 debug +llvm
+ lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
+ test unwind vaapi valgrind vdpau vulkan
+ vulkan-overlay wayland +X xa +zstd"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ d3d9? (
+ || (
+ video_cards_freedreno
+ video_cards_intel
+ video_cards_nouveau
+ video_cards_panfrost
+ video_cards_r300
+ video_cards_r600
+ video_cards_radeonsi
+ video_cards_vmware
+ video_cards_zink
+ )
+ )
+ llvm? ( ${LLVM_REQUIRED_USE} )
+ vulkan-overlay? ( vulkan )
+ video_cards_lavapipe? ( llvm vulkan )
+ video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
+ video_cards_zink? ( vulkan opengl )
+ video_cards_nvk? ( vulkan video_cards_nouveau )
+ vdpau? ( X )
+ xa? ( X )
+"
+
+LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121"
+RDEPEND="
+ >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
+ >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
+ >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
+ unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
+ llvm? (
+ $(llvm_gen_dep "
+ sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
+ opencl? (
+ dev-util/spirv-llvm-translator:\${LLVM_SLOT}
+ sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${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.5:=[${MULTILIB_USEDEP}] )
+ video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] )
+ video_cards_zink? ( media-libs/vulkan-loader:=[${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.17:=[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]
+ x11-libs/xcb-util-keysyms[${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] )
+"
+
+DEPEND="${RDEPEND}
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ valgrind? ( dev-debug/valgrind )
+ wayland? ( >=dev-libs/wayland-protocols-1.34 )
+ X? (
+ x11-libs/libXrandr[${MULTILIB_USEDEP}]
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ opencl? (
+ ${RUST_DEPEND}
+ >=dev-util/bindgen-0.58.0
+ )
+ >=dev-build/meson-1.4.1
+ app-alternatives/yacc
+ app-alternatives/lex
+ virtual/pkgconfig
+ $(python_gen_any_dep "
+ >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]
+ dev-python/packaging[\${PYTHON_USEDEP}]
+ dev-python/pyyaml[\${PYTHON_USEDEP}]
+ ")
+ video_cards_intel? (
+ ~dev-util/intel_clc-${PV}
+ dev-libs/libclc[spirv(-)]
+ $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
+ )
+ vulkan? (
+ dev-util/glslang
+ video_cards_nvk? (
+ >=dev-util/bindgen-0.68.1
+ >=dev-util/cbindgen-0.26.0
+ ${RUST_DEPEND}
+ )
+ )
+ wayland? ( dev-util/wayland-scanner )
+"
+
+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
+)"
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ unpack ${MY_P}.tar.xz
+ fi
+
+ # We need this because we cannot tell meson to use DISTDIR yet
+ pushd "${DISTDIR}" >/dev/null || die
+ mkdir -p "${S}"/subprojects/packagecache || die
+ local i
+ for i in *.crate; do
+ ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_pretend() {
+ if use vulkan; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_lavapipe &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_nvk &&
+ ! use video_cards_panfrost &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_v3d &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl"
+ fi
+ fi
+
+ # VA
+ if use vaapi; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use vdpau; then
+ if ! use video_cards_d3d12 &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_r600 &&
+ ! use video_cards_radeonsi &&
+ ! use video_cards_virgl; then
+ ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl"
+ fi
+ fi
+
+ if use xa; then
+ if ! use video_cards_freedreno &&
+ ! use video_cards_intel &&
+ ! use video_cards_nouveau &&
+ ! use video_cards_vmware; then
+ ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, 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}]" &&
+ python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pyyaml[${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
+
+ use llvm && llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+
+ if use opencl || (use vulkan && use video_cards_nvk); then
+ rust_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+ sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
+ bin/symbols-check.py || die # bug #830728
+}
+
+multilib_src_configure() {
+ local emesonargs=()
+
+ # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140
+ filter-lto
+
+ local platforms
+ use X && platforms+="x11"
+ use wayland && platforms+=",wayland"
+ emesonargs+=(-Dplatforms=${platforms#,})
+
+ if use video_cards_freedreno ||
+ use video_cards_intel || # crocus i915 iris
+ use video_cards_nouveau ||
+ use video_cards_panfrost ||
+ use video_cards_r300 ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_vmware || # svga
+ use video_cards_zink; then
+ emesonargs+=($(meson_use d3d9 gallium-nine))
+ else
+ emesonargs+=(-Dgallium-nine=false)
+ fi
+
+ if use video_cards_d3d12 ||
+ use video_cards_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; 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_nouveau ||
+ use video_cards_r600 ||
+ use video_cards_radeonsi ||
+ use video_cards_virgl; then
+ emesonargs+=($(meson_feature vdpau gallium-vdpau))
+ else
+ emesonargs+=(-Dgallium-vdpau=disabled)
+ fi
+
+ if use video_cards_freedreno ||
+ use video_cards_intel ||
+ use video_cards_nouveau ||
+ use video_cards_vmware; then
+ emesonargs+=($(meson_feature xa gallium-xa))
+ else
+ emesonargs+=(-Dgallium-xa=disabled)
+ fi
+
+ gallium_enable !llvm softpipe
+ gallium_enable llvm llvmpipe
+ gallium_enable video_cards_d3d12 d3d12
+ gallium_enable video_cards_freedreno freedreno
+ gallium_enable video_cards_intel crocus i915 iris
+ gallium_enable video_cards_lima lima
+ 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 video_cards_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)/$(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_d3d12 microsoft-experimental
+ vulkan_enable video_cards_freedreno freedreno
+ vulkan_enable video_cards_intel intel intel_hasvk
+ vulkan_enable video_cards_lavapipe swrast
+ vulkan_enable video_cards_panfrost panfrost
+ vulkan_enable video_cards_radeonsi amd
+ vulkan_enable video_cards_v3d broadcom
+ vulkan_enable video_cards_vc4 broadcom
+ vulkan_enable video_cards_virgl virtio
+ if use video_cards_nvk; then
+ vulkan_enable video_cards_nvk nouveau
+ if ! multilib_is_native_abi; then
+ echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
+ emesonargs+=(
+ --native-file "${T}"/rust_fix.ini
+ )
+ fi
+ fi
+ 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 opengl && use X; then
+ emesonargs+=(-Dglx=dri)
+ else
+ emesonargs+=(-Dglx=disabled)
+ fi
+
+ if [[ "${ABI}" == amd64 ]]; then
+ emesonargs+=($(meson_feature video_cards_intel intel-rt))
+ fi
+
+ use debug && EMESON_BUILDTYPE=debug
+
+ emesonargs+=(
+ $(meson_use test build-tests)
+ -Dshared-glapi=enabled
+ -Ddri3=enabled
+ -Dexpat=enabled
+ $(meson_use opengl)
+ $(meson_feature opengl gbm)
+ $(meson_feature opengl gles1)
+ $(meson_feature opengl gles2)
+ $(meson_feature opengl glvnd)
+ $(meson_feature opengl egl)
+ $(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)
+ -Dintel-clc=$(usex video_cards_intel system auto)
+ -Dvalgrind=$(usex valgrind auto disabled)
+ -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
+ -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
+ -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
+ -Db_ndebug=$(usex debug false true)
+ )
+ meson_src_configure
+
+ if ! multilib_is_native_abi && use video_cards_nvk; then
+ sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die
+ fi
+}
+
+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
+}
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index ceba860297d1..3c486c964f4c 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -147,7 +147,7 @@ RDEPEND="${RDEPEND}
"
DEPEND="${RDEPEND}
- video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] )
+ video_cards_d3d12? ( >=dev-util/directx-headers-1.614.1[${MULTILIB_USEDEP}] )
valgrind? ( dev-debug/valgrind )
wayland? ( >=dev-libs/wayland-protocols-1.38 )
X? (
diff --git a/media-libs/oneVPL-intel-gpu/Manifest b/media-libs/oneVPL-intel-gpu/Manifest
index ff495d898d03..d93cc02c658f 100644
--- a/media-libs/oneVPL-intel-gpu/Manifest
+++ b/media-libs/oneVPL-intel-gpu/Manifest
@@ -1,5 +1,5 @@
DIST oneVPL-intel-gpu-24.2.5.tar.gz 9063523 BLAKE2B 1d993c5f8fc460323b3630af4068e49c8222c685288f32a3500d9bc646ef99ef1273854422d34831739bbe13750993a9f23b1a8e4ed827b28e0712422b06786f SHA512 a7aa37d27e4f2429634382d55074a014d96fa15ff2c5c40539f753888152f42dd46c9e5b0899021099091167f7a611016e79792ed8808935276adf34199113bf
DIST oneVPL-intel-gpu-24.3.4.tar.gz 9193620 BLAKE2B 9a1804bdf4ce8624bf57d38a7f0f349770ac743b50dc513fa2569bf233aabf3972d8bbd0081e00dbf2dc6e5127cdc4372b68b3b65c9b44f0dce67b4f29f1991e SHA512 586094dc531ff4ca952f6682a7a6148d77bca0beaaff7a8411d942ca23bd1c4e70969d4354b3afe65af92fdb42816cd93fe757c4dc21b52bafde14346ac6296a
EBUILD oneVPL-intel-gpu-24.2.5.ebuild 1162 BLAKE2B 0bcadd31110f58587ba24c9fdd00a16d7f51045063748b9e14b7e67dbd34f9cae71c8e6bc78623d37196cbf1f97ebd86a18d29b1f418dd6dfd1d83f9d353bb91 SHA512 854ffae85a8d6ee5b33f5c9375a71be032f9886e1e3f72f41e21a09c43f425bd12ec1da595f8f748c8db2c68b110f58332eebf5e432389a25e66543db4d6e1e6
-EBUILD oneVPL-intel-gpu-24.3.4.ebuild 1162 BLAKE2B 0bcadd31110f58587ba24c9fdd00a16d7f51045063748b9e14b7e67dbd34f9cae71c8e6bc78623d37196cbf1f97ebd86a18d29b1f418dd6dfd1d83f9d353bb91 SHA512 854ffae85a8d6ee5b33f5c9375a71be032f9886e1e3f72f41e21a09c43f425bd12ec1da595f8f748c8db2c68b110f58332eebf5e432389a25e66543db4d6e1e6
-MISC metadata.xml 411 BLAKE2B 5c8fa64fa22d37b79d74a2ead2bd249bc0fcfb65c5927b80d178f21f9eac34dba31d5698ab20902297003cd72f3be02f469635cc353f0069e2ff9bd831f17f03 SHA512 caa4e8866a64e72b564726cdbf2ddba938369278e50f3a7f85e904fcdd0da7b5090df956a8b50c20185220d98bf1f3804511472d711f7316f22858533357fcc2
+EBUILD oneVPL-intel-gpu-24.3.4.ebuild 1288 BLAKE2B 08b6fe9c86d434eb4ea9ac5c5117271225256e019f412d2828d709fc63b2bcd735f27498ee551703fedf8524c655c12542bc2e9385c49f7247c1b1d9d9250f90 SHA512 6033bce7e2d20743aac33340618dbeee47644402bd5c3152f1cc5c0339d98895e9270cd91fe9e2ef19e8f439de44d16ef27f906c8799b56994666ec998f6eb54
+MISC metadata.xml 608 BLAKE2B 7e3f4a2d5459bf1503f0183c9ca20e9abaa7536d7c3005206332af12fbcb312ed4892484ddeb570116fafe9c01ca698c41dcbacf543e89173cf84f3e973199a6 SHA512 111c9443f043c6b6e948c8eda1b8c712ef9dcbe802a0a4be750d10bad391dd175a04f09ddc3e210588777b6b4c4692c3d22ca96ca5bae50cb8fe7356682bf6d1
diff --git a/media-libs/oneVPL-intel-gpu/metadata.xml b/media-libs/oneVPL-intel-gpu/metadata.xml
index f4c300240496..087a3b8eb4b9 100644
--- a/media-libs/oneVPL-intel-gpu/metadata.xml
+++ b/media-libs/oneVPL-intel-gpu/metadata.xml
@@ -9,6 +9,9 @@
<name>Nowa Ammerlaan</name>
</maintainer>
<upstream>
+ <bugs-to>https://github.com/intel/vpl-gpu-rt/issues</bugs-to>
+ <changelog>https://github.com/intel/vpl-gpu-rt/releases</changelog>
+ <doc>https://github.com/intel/vpl-gpu-rt/tree/main/doc</doc>
<remote-id type="github">intel/vpl-gpu-rt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild b/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild
index 1e9794bab839..3ac65791abed 100644
--- a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild
+++ b/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild
@@ -1,6 +1,9 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# NOTE: please bump with the other parts of intel's media stack, listed below
+# https://github.com/intel/vpl-gpu-rt/releases
+
EAPI=8
inherit cmake
diff --git a/media-libs/openh264/Manifest b/media-libs/openh264/Manifest
index c8c0f16f03ad..09bed7ac96c2 100644
--- a/media-libs/openh264/Manifest
+++ b/media-libs/openh264/Manifest
@@ -3,6 +3,8 @@ AUX openh264-2.3.1-pr3630.patch 5566 BLAKE2B 06e6ff75ccbcb287413752283d3b192ccd9
DIST gmp-api-Firefox114_2-e7d30b921df736a1121a0c8e0cf3ab1ce5b8a4b7.tar.gz 10915 BLAKE2B aa4b82baebbd990d94f381be4516e8780f6bc3a2104c4b899f091a9e6ec91dff9788ee6ef548d3bc07c7bf50f56347c44d01e51805f96cf9b59494889a5f7b61 SHA512 f1c75007d4f1e1ef3a11b8eb9c703935408a5e4051c8eab408e4edc09f265a71f172025269442fdab9d4c2a8b108fa69397bfbd84af4ecda22881b50de804de9
DIST openh264-2.3.1.tar.gz 60290897 BLAKE2B b4480150cfe7c44b89c7b294698db06f93d96f5f9f3ef4345108c4e360e99bc6133407cead54e720e6e74aa17ab9f2e4342287a42f19463a54eb44c9d3141c80 SHA512 fd59c767794cdfb934d692d5929e4500d78606cbf1e403bc7c7dce048cc07e40daa0794357adb856d29479427a53460c76338e156b6bbeaa36139afcd603c8e1
DIST openh264-2.4.1.tar.gz 60297304 BLAKE2B c66dbe8003072c406641b3f1453df6d8e574b5526d6748d5f4efa4921ca6a438df2e491143dc07c8f9297d253e97cd4ee2dada450845e7d9323cb31dddc6fff4 SHA512 eb99144addd2e9c352bb95e752366e104ac6b0ddc84311dc7c87dafb803f8e7fe4d1e726833d49f8cc6d3914508e19c3a25ef82637a4993e8af3f504aa005baf
+DIST openh264-2.5.0.tar.gz 60301431 BLAKE2B b999b7aa152c0ef2b95f6d2ef2c8b0483ee4ca3d3c21c3cfe19c121ef09a99bb7a68bd96ec39433e744a25f3c29e016e74b1b0521190bb1a5ef00e9ac8970206 SHA512 cb6d3ca8d5277325dd64dec399421c4c62bc1fd012fe1521d7195e95ce7f59527919cf698829044dca3d9b1d8288c49b49111d01c9d2896c819da806492af838
EBUILD openh264-2.3.1-r3.ebuild 3943 BLAKE2B 75b81f216c08436ebcacf2c75574769dcbc8b182beaf64560fe31ca0d0723e5ae995245408aa4d66f494db93b91dbc77315a70081527fbdc8c33ef1b156dfa54 SHA512 992f08503dbc59e545feb4b058c6a7da5d0819aa8eb1159f995dd86c89b6f2409be811bd823553c9ed72509ee27b1d5f786bee5236912c94e942fb93f547e187
EBUILD openh264-2.4.1.ebuild 3939 BLAKE2B 37af16690d38f8d962be6e4b527d3ef40d77f71168723d15628cf7fd21c9a344ea7053cdbfdb10e80f4bc366ed12c764db6b328ab2a4b55f5442235e8733b7c0 SHA512 334f56c840b20d77a34aba1a99ef9fc07ce537e849ba21d74efb4dfecfac268fa4e63d3f0b19e14fc7b3bcf30bdaadcbf8161bc878c7ec68448ed6b4bba9f559
+EBUILD openh264-2.5.0.ebuild 3944 BLAKE2B 1cec22da51e1c184b9556fdd47a844be20dc345421ab9a2946924094777da1b391c9ed6810e21202d28bdfe28708f8b67f2d590f34d07977e14c861509ee1625 SHA512 9e8dacefc0cecffc30cbaeddc46865a17592727ff36073bae20f82be94344023a1ac04437f84eacea93027d96df32f405d46db7deecb596f4cb602ea9ca2c574
MISC metadata.xml 627 BLAKE2B aa6bcd394a1b792f8d0fc89030f34df7f0366f049f52ee11a90af301ca901a07acfc1d34a0d6d237a7d713db53b707b3b9f08d3c86574d6067f6ff7e8cf99c3a SHA512 55a7a5ee5f716e9eb1e5711d45a93fe27f057b54240511de72ade7f88c53eeac72f1bf1b524d22278c0fafbea70e1b5892262ee1b97370d70a0258bad7220e30
diff --git a/media-libs/openh264/openh264-2.5.0.ebuild b/media-libs/openh264/openh264-2.5.0.ebuild
new file mode 100644
index 000000000000..663d3f9ff272
--- /dev/null
+++ b/media-libs/openh264/openh264-2.5.0.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs multilib-minimal
+
+MOZVER=114_2
+MY_GMP_COMMIT="e7d30b921df736a1121a0c8e0cf3ab1ce5b8a4b7"
+
+DESCRIPTION="Cisco OpenH264 library and Gecko Media Plugin for Mozilla packages"
+HOMEPAGE="https://www.openh264.org/ https://github.com/cisco/openh264"
+SRC_URI="https://github.com/cisco/openh264/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/mozilla/gmp-api/archive/${MY_GMP_COMMIT}.tar.gz -> gmp-api-Firefox${MOZVER}-${MY_GMP_COMMIT}.tar.gz"
+LICENSE="BSD"
+
+# openh264 soname version.
+# (2.2.0 needed a minor bump due to undocumented but breaking ABI changes, just to be sure.
+# https://github.com/cisco/openh264/issues/3459 )
+SLOT="0/7"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc64 ~riscv ~sparc ~x86"
+IUSE="cpu_flags_arm_neon cpu_flags_x86_avx2 +plugin test utils"
+
+RESTRICT="bindist !test? ( test )"
+
+BDEPEND="
+ abi_x86_32? ( dev-lang/nasm )
+ abi_x86_64? ( dev-lang/nasm )
+ test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] )"
+
+DOCS=( LICENSE CONTRIBUTORS README.md )
+
+PATCHES=(
+ "${FILESDIR}"/openh264-2.3.0-pkgconfig-pathfix.patch
+ "${FILESDIR}"/${PN}-2.3.1-pr3630.patch
+)
+
+src_prepare() {
+ default
+
+ ln -svf "/dev/null" "build/gtest-targets.mk" || die
+ sed -i -e 's/$(LIBPREFIX)gtest.$(LIBSUFFIX)//g' Makefile || die
+
+ sed -i -e 's/ | generate-version//g' Makefile || die
+ sed -e 's|$FULL_VERSION|""|g' codec/common/inc/version_gen.h.template > \
+ codec/common/inc/version_gen.h
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ln -s "${WORKDIR}"/gmp-api-${MY_GMP_COMMIT} gmp-api || die
+}
+
+emakecmd() {
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
+ emake V=Yes CFLAGS_M32="" CFLAGS_M64="" CFLAGS_OPT="" \
+ PREFIX="${EPREFIX}/usr" \
+ LIBDIR_NAME="$(get_libdir)" \
+ SHAREDLIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
+ INCLUDES_DIR="${EPREFIX}/usr/include/${PN}" \
+ HAVE_AVX2=$(usex cpu_flags_x86_avx2 Yes No) \
+ HAVE_GTEST=$(usex test Yes No) \
+ ARCH="$(tc-arch)" \
+ ENABLEPIC="Yes" \
+ $@
+}
+
+multilib_src_compile() {
+ local myopts="ENABLE64BIT=No"
+ case "${ABI}" in
+ s390x|alpha|*64) myopts="ENABLE64BIT=Yes";;
+ esac
+
+ if use arm; then
+ myopts+=" USE_ASM=$(usex cpu_flags_arm_neon Yes No)"
+ fi
+
+ emakecmd ${myopts}
+ use plugin && emakecmd ${myopts} plugin
+}
+
+multilib_src_test() {
+ emakecmd test
+}
+
+multilib_src_install() {
+ emakecmd DESTDIR="${D}" install-shared
+
+ if use utils; then
+ newbin h264enc openh264enc
+ newbin h264dec openh264dec
+ fi
+
+ if use plugin; then
+ local plugpath="${ROOT}/usr/$(get_libdir)/nsbrowser/plugins/gmp-gmp${PN}/system-installed"
+ insinto "${plugpath}"
+ doins libgmpopenh264.so* gmpopenh264.info
+ echo "MOZ_GMP_PATH=\"${plugpath}\"" >"${T}"/98-moz-gmp-${PN}
+ doenvd "${T}"/98-moz-gmp-${PN}
+
+ cat <<PREFEOF >"${T}"/${P}.js
+pref("media.gmp-gmp${PN}.autoupdate", false);
+pref("media.gmp-gmp${PN}.version", "system-installed");
+PREFEOF
+
+ insinto /usr/$(get_libdir)/firefox/defaults/pref
+ newins "${T}"/${P}.js ${PN}-${PV/_p*/}.js
+
+ insinto /usr/$(get_libdir)/seamonkey/defaults/pref
+ newins "${T}"/${P}.js ${PN}-${PV/_p*/}.js
+ fi
+}
+
+pkg_postinst() {
+ if use plugin; then
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "Please restart your login session, in order for the session's environment"
+ elog "to include the new MOZ_GMP_PATH variable."
+ elog ""
+ fi
+ elog "This package attempts to override the Mozilla GMPInstaller auto-update process,"
+ elog "however even if it is not successful in doing so the profile-installed plugin"
+ elog "will not be used unless this package is removed. This package will take precedence"
+ elog "over any gmp-gmpopenh264 that may be installed in a user's profile."
+ elog ""
+ fi
+
+ if use utils; then
+ elog "Utilities h264enc and h264dec are installed as openh264enc and openh264dec"
+ elog "to avoid file collisions with media-video/h264enc"
+ elog ""
+ fi
+}