diff options
Diffstat (limited to 'media-libs')
286 files changed, 9210 insertions, 3009 deletions
diff --git a/media-libs/SoQt/Manifest b/media-libs/SoQt/Manifest index 994215068537..23d0ebfc0857 100644 --- a/media-libs/SoQt/Manifest +++ b/media-libs/SoQt/Manifest @@ -1 +1,2 @@ DIST soqt-1.6.2-src.tar.gz 1709116 BLAKE2B 45d87af95e90a88d97188b7efa6d22ad2238e4957d8c21712ad6161ea94748db0df596d0dcedbeff94abfd163ad40cd2f1649aae5ba4bf94e3892c1ed1990839 SHA512 4039d0c8e36e89995e77b1b49efcb52d15ca213c7d53ba9d628259763e261288192078caed8e2efb02772dd8f513e971731eeb0a761d1642985af7b9c4852c18 +DIST soqt-1.6.3-src.tar.gz 7673080 BLAKE2B 3a28a8144de286da10f2c539d5ebf68b2beae006416f91ba849cb7fd6fee25474e3f62603cc6e7b70d80dd8bc5114004a51fba850b81493455919464a957454a SHA512 8cef22cf4214dd03bb4639c1fff77c127bf80f99e3b7fb7c1c21c25a281aa484252414f4a48fa59b8b2485afe7920ce9e86366fd1343badc77b75b78d3ac4c53 diff --git a/media-libs/SoQt/SoQt-1.6.3.ebuild b/media-libs/SoQt/SoQt-1.6.3.ebuild new file mode 100644 index 000000000000..2bdd913e96d0 --- /dev/null +++ b/media-libs/SoQt/SoQt-1.6.3.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="GUI binding for using Coin/Open Inventor with Qt" +HOMEPAGE="https://github.com/coin3d/coin/wiki" +SRC_URI="https://github.com/coin3d/soqt/releases/download/v${PV}/${P/SoQt/soqt}-src.tar.gz" +S="${WORKDIR}/soqt" + +LICENSE="GPL-2" +KEYWORDS="amd64 x86" +SLOT="0" +IUSE="debug doc" + +RDEPEND=" + dev-qt/qtbase:6[gui,opengl,widgets] + media-libs/coin + virtual/opengl + x11-libs/libX11 + x11-libs/libXi +" +DEPEND="${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +DOCS=( AUTHORS ChangeLog HACKING NEWS README ) + +src_configure() { + use debug && append-cppflags -DSOQT_DEBUG=1 + local mycmakeargs=( + -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + -DSOQT_BUILD_DOCUMENTATION=$(usex doc) + -DSOQT_BUILD_INTERNAL_DOCUMENTATION=OFF + -DSOQT_USE_QT6=ON + -DSOQT_VERBOSE=$(usex debug) + ) + cmake_src_configure +} diff --git a/media-libs/aalib/aalib-1.4_rc5-r11.ebuild b/media-libs/aalib/aalib-1.4_rc5-r11.ebuild new file mode 100644 index 000000000000..913b8cafce37 --- /dev/null +++ b/media-libs/aalib/aalib-1.4_rc5-r11.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +MY_PV="${PV/_/}" +MY_P="${PN}-${MY_PV}" + +DESCRIPTION="A ASCII-Graphics Library" +HOMEPAGE="https://aa-project.sourceforge.net/aalib/" +SRC_URI="https://download.sourceforge.net/project/aa-project/aa-lib/${MY_PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${PN}-1.4.0" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="X gpm slang" + +RDEPEND=">=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] + X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] ) + gpm? ( >=sys-libs/gpm-1.20.7-r2[${MULTILIB_USEDEP}] ) + slang? ( >=sys-libs/slang-2.2.4-r1[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto )" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-1.4_rc4-gentoo.patch + "${FILESDIR}"/${PN}-1.4_rc4-m4.patch + "${FILESDIR}"/${PN}-1.4_rc5-fix-protos.patch #224267 + "${FILESDIR}"/${PN}-1.4_rc5-fix-aarender.patch #214142 + "${FILESDIR}"/${PN}-1.4_rc5-tinfo.patch #468566 + "${FILESDIR}"/${PN}-1.4_rc5-key-down-OOB.patch + "${FILESDIR}"/${PN}-1.4_rc5-more-protos.patch + "${FILESDIR}"/${PN}-1.4_rc5-free-offset-pointer.patch #894978 + "${FILESDIR}"/${PN}-1.4_rc5-ncurses-opaque.patch #932140 +) + +DOCS=( ANNOUNCE AUTHORS ChangeLog NEWS README ) + +src_prepare() { + default + + sed -i -e 's:#include <malloc.h>:#include <stdlib.h>:g' "${S}"/src/*.c + + # Fix bug #165617. + use gpm || sed -i \ + 's/gpm_mousedriver_test=yes/gpm_mousedriver_test=no/' "${S}/configure.in" + + #467988 automake-1.13 + mv configure.{in,ac} || die + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac || die + + eautoreconf +} + +multilib_src_configure() { + # Gpm_Wgetch from sys-libs/gpm is unprototyped in gpm.h + # https://github.com/telmich/gpm/issues/48 + append-cflags -std=gnu17 + + ECONF_SOURCE=${S} econf \ + $(use_with slang slang-driver) \ + $(use_with X x11-driver) \ + PKG_CONFIG=$(tc-getPKG_CONFIG) +} + +multilib_src_install() { + emake DESTDIR="${D}" install + + find "${D}" -name '*.la' -type f -delete || die +} diff --git a/media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch b/media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch new file mode 100644 index 000000000000..91271fba4f7f --- /dev/null +++ b/media-libs/aalib/files/aalib-1.4_rc5-ncurses-opaque.patch @@ -0,0 +1,24 @@ +https://bugs.gentoo.org/932140 +https://sourceforge.net/p/aa-project/patches/10/ + +Without the change build fails on ncurses-6.5 (enables opaque WINDOW by +default) as: + + aacurses.c: In function 'curses_getsize': + aacurses.c:74:20: error: invalid use of incomplete typedef 'WINDOW' {aka 'struct _win_st'} + 74 | *width = stdscr->_maxx + 1; + | ^~ +--- a/src/aacurses.c ++++ b/src/aacurses.c +@@ -71,8 +71,8 @@ static void curses_getsize(aa_context * c, int *width, int *height) + { + if (__resized_curses) + curses_uninit(c), curses_init(&c->params, NULL,&c->driverparams, NULL), __resized_curses = 0; +- *width = stdscr->_maxx + 1; +- *height = stdscr->_maxy + 1; ++ *width = getmaxx(stdscr); ++ *height = getmaxy(stdscr); + #ifdef GPM_MOUSEDRIVER + gpm_mx = *width; + gpm_my = *height; + diff --git a/media-libs/alsa-lib/Manifest b/media-libs/alsa-lib/Manifest index 6c09083fba1c..593bf5171d43 100644 --- a/media-libs/alsa-lib/Manifest +++ b/media-libs/alsa-lib/Manifest @@ -1,2 +1,3 @@ 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 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..b6efb887b5db --- /dev/null +++ b/media-libs/alsa-lib/alsa-lib-1.2.13.ebuild @@ -0,0 +1,99 @@ +# 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 + "${FILESDIR}/${PN}-1.2.13-update-symbol-name.patch" # bug #943399 +) + +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-lib/files/alsa-lib-1.2.13-update-symbol-name.patch b/media-libs/alsa-lib/files/alsa-lib-1.2.13-update-symbol-name.patch new file mode 100644 index 000000000000..637c06bef0b3 --- /dev/null +++ b/media-libs/alsa-lib/files/alsa-lib-1.2.13-update-symbol-name.patch @@ -0,0 +1,38 @@ +https://bugs.gentoo.org/943399 +https://github.com/alsa-project/alsa-lib/issues/420 +https://github.com/alsa-project/alsa-lib/pull/421 +https://github.com/alsa-project/alsa-lib/commit/76edab4e595bd5f3f4c636cccc8d7976d3c519d6 + +From 76edab4e595bd5f3f4c636cccc8d7976d3c519d6 Mon Sep 17 00:00:00 2001 +From: Nicholas Vinson <nvinson234@gmail.com> +Date: Thu, 14 Nov 2024 07:49:53 -0500 +Subject: [PATCH] src/Versions.in.in: Update *_tempo_base name + +Change @SYMBOL_PREFIX@snd_has_tempo_base to +@SYMBOL_PREFIX@snd_has_queue_tempo_base. + +Starting with version 1.2.13, alsa-lib fails to link with ld.lld-19 due +to "version script assignment of 'ALSA_1.2.13' to symbol +'snd_seq_has_tempo_base' failed: symbol not defined". + +Per commit 769d1db1b0a213a39c7e59c0d1d724e7f45b1ac3 the correct name for +the symbol is @SYMBOL_PREFIX@snd_has_queue_tempo_base; therefore, update +src/Vesions.in.in to match. + +Fixes bug #420 +Fixes Gentoo bug 943399 (https://bugs.gentoo.org/943399) + +Closes: https://github.com/alsa-project/alsa-lib/pull/421 +Signed-off-by: Nicholas Vinson <nvinson234@gmail.com> +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +--- a/src/Versions.in.in ++++ b/src/Versions.in.in +@@ -212,7 +212,7 @@ ALSA_1.2.13 { + @SYMBOL_PREFIX@snd_seq_create_ump_block; + @SYMBOL_PREFIX@snd_seq_queue_tempo_get_tempo_base; + @SYMBOL_PREFIX@snd_seq_queue_tempo_set_tempo_base; +- @SYMBOL_PREFIX@snd_seq_has_tempo_base; ++ @SYMBOL_PREFIX@snd_seq_has_queue_tempo_base; + @SYMBOL_PREFIX@snd_seq_port_info_get_ump_is_midi1; + @SYMBOL_PREFIX@snd_seq_port_info_set_ump_is_midi1; + #endif diff --git a/media-libs/alsa-ucm-conf/Manifest b/media-libs/alsa-ucm-conf/Manifest index 698a8e2773c5..c663060f60de 100644 --- a/media-libs/alsa-ucm-conf/Manifest +++ b/media-libs/alsa-ucm-conf/Manifest @@ -1,2 +1,3 @@ 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 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/assimp/assimp-5.4.3.ebuild b/media-libs/assimp/assimp-5.4.3.ebuild index ca6c5eae4ed8..147f25fbc2d9 100644 --- a/media-libs/assimp/assimp-5.4.3.ebuild +++ b/media-libs/assimp/assimp-5.4.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0/${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" IUSE="collada doc samples test" RESTRICT="!test? ( test )" diff --git a/media-libs/babl/Manifest b/media-libs/babl/Manifest index 6a62c6822859..086ea22b8d9c 100644 --- a/media-libs/babl/Manifest +++ b/media-libs/babl/Manifest @@ -1,2 +1,3 @@ DIST babl-0.1.106.tar.xz 315068 BLAKE2B 560518beab77ec2f3fc50062bda80839f749992e4c61bef3badd4acfbc2a7bba6dce332ffabe65dcf18e4ba450d0ae1d261b5e34724a1309ea74e50ce3e452c7 SHA512 97dc57141754ff64a961f77df50dcd91b32d3cf26efa8ba9f3dd5fcfae41e96f986178a04ba7a8940effb6e6e33ac98b163551f377dc781308c750222efb4943 DIST babl-0.1.108.tar.xz 317036 BLAKE2B a2ece95d7cad33aa70e41ee9c01bd11b7fb1730cb0e0d64df42c4c933a1ac1955b103d75d2ade613ebee0362ade8aaf8ed1257a3cbe307d623243869244f67c1 SHA512 3ebdd18b32505e3009ba8f4957ffe892226d83012fbf3217b1761645fdcae943a19bda1a1f93adde78a5dd83fa11b0ba23014118228ca4eab4fd18001f1f4970 +DIST babl-0.1.110.tar.xz 319256 BLAKE2B 545b15152123e6d470976d8d3279a77ad13c0434379b6e055ce4f6b8f637387fef28e477d04857f570b7b3d1711868cc0dc9c2616b83dc75fe49684589f69e27 SHA512 20e40baa6654785d69642e6e85542968db3c5d08da630adc590ff066a52c5938f4ce8a77c0097e00010a905c8c31d8f131eb0308a3f8b6439ab6be4133eae246 diff --git a/media-libs/babl/babl-0.1.110.ebuild b/media-libs/babl/babl-0.1.110.ebuild new file mode 100644 index 000000000000..17c114a7df2f --- /dev/null +++ b/media-libs/babl/babl-0.1.110.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VALA_USE_DEPEND=vapigen + +inherit meson gnome2-utils vala + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/babl.git" + SRC_URI="" +else + SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi + +DESCRIPTION="A dynamic, any to any, pixel format conversion library" +HOMEPAGE="https://gegl.org/babl/" + +LICENSE="LGPL-3" +SLOT="0" +IUSE="introspection lcms vala cpu_flags_x86_avx2 cpu_flags_x86_f16c cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1" +REQUIRED_USE="vala? ( introspection )" + +BDEPEND=" + virtual/pkgconfig + vala? ( $(vala_depend) ) +" +RDEPEND=" + introspection? ( >=dev-libs/gobject-introspection-1.72:= ) + lcms? ( >=media-libs/lcms-2.13.1:2 ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + default + gnome2_environment_reset +} + +src_configure() { + use vala && vala_setup + + # Automagic rsvg support is just for website generation we do not call, + # so we don't need to fix it + # w3m is used for dist target thus no issue for us that it is automagically + # detected + local emesonargs=( + -Dwith-docs=false + $(meson_use introspection enable-gir) + $(meson_use lcms with-lcms) + $(meson_use vala enable-vapi) + $(meson_use cpu_flags_x86_avx2 enable-avx2) + $(meson_use cpu_flags_x86_f16c enable-f16c) + $(meson_use cpu_flags_x86_mmx enable-mmx) + $(meson_use cpu_flags_x86_sse enable-sse) + $(meson_use cpu_flags_x86_sse2 enable-sse2) + $(meson_use cpu_flags_x86_sse4_1 enable-sse4_1) + ) + meson_src_configure +} + +src_install() { + meson_src_install + + # Create symlink for backward compatibility. See also bug 871690 + dosym -r /usr/"$(get_libdir)"/pkgconfig/babl-0.1.pc /usr/"$(get_libdir)"/pkgconfig/babl.pc +} diff --git a/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild b/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild index d8655c294ab9..ad5e2498f2bb 100644 --- a/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild +++ b/media-libs/clutter-gtk/clutter-gtk-1.8.4-r2.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Clutter" LICENSE="LGPL-2.1+" SLOT="1.0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86" IUSE="X debug examples gtk +introspection wayland" RDEPEND=" diff --git a/media-libs/cogl/cogl-1.22.8-r3.ebuild b/media-libs/cogl/cogl-1.22.8-r3.ebuild index f1f6b3256855..60f9a41c27f7 100644 --- a/media-libs/cogl/cogl-1.22.8-r3.ebuild +++ b/media-libs/cogl/cogl-1.22.8-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -7,7 +7,7 @@ EAPI=8 # It's upstreamed so should be able to drop in future # bug #778041 GNOME2_EAUTORECONF="yes" -inherit gnome2 +inherit flag-o-matic gnome2 DESCRIPTION="A library for using 3D graphics hardware to draw pretty pictures" HOMEPAGE="https://www.cogl3d.org/" @@ -81,6 +81,9 @@ src_prepare() { } src_configure() { + # bug #943759 + append-cflags -std=gnu17 + # TODO: think about quartz, sdl # Prefer gl over gles2 if both are selected # Profiling needs uprof, which is not available in portage yet, bug #484750 diff --git a/media-libs/coin/Manifest b/media-libs/coin/Manifest index b5002705981d..68be7c500f65 100644 --- a/media-libs/coin/Manifest +++ b/media-libs/coin/Manifest @@ -1 +1,2 @@ DIST coin-4.0.2-src.tar.gz 7160869 BLAKE2B a434ea2a550557024c665e392aa189e991296b5f8c9cd2c0dc5bb71d41a948ed9d9b34eac69dc9a651f70abf8ec1f188cb8df6534d6e31b6e4e1a6ec4acaffcd SHA512 31fcb69627e466c89bb640c5b2351db4e51772408a4ce56cae7d6f550ddf19adf9b121252479297d5c2a208032194d8f4e7bf97686b0611df1ac45231e09baad +DIST coin-4.0.3-src.tar.gz 13099754 BLAKE2B c56f9e7b837bad76996a78ba3351c43b78b082c6250735e678ca9af79b3518d369e223a1625d74c8d007fff814f32e6bd6fe04c4dd5df9dd999f6afed767afeb SHA512 b661bf2124b0de1b46e76a6699b0975abb3aed4dc9019bf32531c535179dc84a90fe4e19def6f6cda7b175470636040d0e58812d532198cf207296d37c539915 diff --git a/media-libs/coin/coin-4.0.3.ebuild b/media-libs/coin/coin-4.0.3.ebuild new file mode 100644 index 000000000000..6129b3b20078 --- /dev/null +++ b/media-libs/coin/coin-4.0.3.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="High-level 3D graphics toolkit, fully compatible with SGI Open Inventor 2.1" +HOMEPAGE="https://github.com/coin3d/coin/wiki" +SRC_URI="https://github.com/coin3d/coin/releases/download/v${PV}/${P}-src.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="|| ( GPL-2 PEL )" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 x86 ~amd64-linux ~x86-linux" +IUSE="debug doc +exceptions openal qch test threads" + +REQUIRED_USE="qch? ( doc )" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/bzip2 + dev-libs/expat + media-libs/fontconfig + media-libs/freetype:2 + media-libs/simage + sys-libs/zlib + virtual/opengl + virtual/glu + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXext + openal? ( media-libs/openal ) +" +DEPEND="${RDEPEND} + dev-libs/boost:0 + x11-base/xorg-proto +" +BDEPEND=" + doc? ( + app-text/doxygen + qch? ( || ( + dev-qt/qttools:6[assistant] + dev-qt/qthelp:5 + ) ) + ) +" + +PATCHES=( "${FILESDIR}"/${P}-find-qhelpgenerator.patch ) + +DOCS=( AUTHORS FAQ FAQ.legal NEWS THANKS docs/HACKING ) + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/859832 + # https://github.com/coin3d/coin/issues/521 + filter-lto + + use debug && append-cppflags -DCOIN_DEBUG=1 + + local mycmakeargs=( + -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + + -DCOIN_BUILD_SHARED_LIBS=ON + -DCOIN_BUILD_TESTS=$(usex test) + -DCOIN_BUILD_DOCUMENTATION=$(usex doc) + + -DCOIN_BUILD_INTERNAL_DOCUMENTATION=OFF + -DCOIN_BUILD_AWESOME_DOCUMENTATION=$(usex doc) + -DCOIN_BUILD_DOCUMENTATION_MAN=$(usex doc) + -DCOIN_BUILD_DOCUMENTATION_QTHELP=$(usex qch) + -DCOIN_BUILD_DOCUMENTATION_CHM=OFF + + -DCOIN_THREADSAFE=$(usex threads) + -DHAVE_VRML97=ON + -DCOIN_HAVE_JAVASCRIPT=OFF + -DHAVE_NODEKITS=ON + -DHAVE_DRAGGERS=ON + -DHAVE_MANIPULATORS=ON + -DHAVE_SOUND=$(usex openal) + -DHAVE_3DS_IMPORT_CAPABILITIES=ON + -DUSE_EXTERNAL_EXPAT=ON + -DUSE_EXCEPTIONS=$(usex exceptions) + -DUSE_SUPERGLU=OFF + + -DFONTCONFIG_RUNTIME_LINKING=OFF + -DFREETYPE_RUNTIME_LINKING=OFF + -DLIBBZIP2_RUNTIME_LINKING=OFF + -DOPENAL_RUNTIME_LINKING=OFF + -DSIMAGE_RUNTIME_LINKING=OFF + -DZLIB_RUNTIME_LINKING=OFF + -DGLU_RUNTIME_LINKING=OFF + -DSPIDERMONKEY_RUNTIME_LINKING=ON + + -DCOIN_VERBOSE=$(usex debug) + -DHAVE_MULTIPLE_VERSION=OFF + + -DCOIN_BUILD_SINGLE_LIB=ON + ) + use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) + + cmake_src_configure +} + +src_test() { + pushd "${BUILD_DIR}/bin" > /dev/null || die + ./CoinTests -r detailed || die "Tests failed." + popd > /dev/null || die +} diff --git a/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch b/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch new file mode 100644 index 000000000000..1ac924a5c28b --- /dev/null +++ b/media-libs/coin/files/coin-4.0.3-find-qhelpgenerator.patch @@ -0,0 +1,23 @@ +--- a/src/doc/CMakeLists.txt 2024-09-06 07:36:34.000000000 +0200 ++++ b/src/doc/CMakeLists.txt 2024-10-13 20:41:26.450802361 +0200 +@@ -32,13 +32,15 @@ + endif() + endif() + if(COIN_BUILD_DOCUMENTATION_QTHELP) +- find_program(QHG_LOCATION NAMES qhelpgenerator qhelpgenerator-qt5 DOC "Qt qhelpgenerator") +- if(NOT QHG_LOCATION) +- message(FATAL_ERROR "Missing program Qt qhelpgenerator") ++ find_package(Qt6Tools QUIET COMPONENTS Help) ++ if(Qt6Tools_FOUND) ++ get_target_property(QHG_LOCATION Qt6::qhelpgenerator LOCATION) + else() +- set(GENERATE_QHP YES) +- mark_as_advanced(QHG_LOCATION) ++ find_package(Qt5Help REQUIRED) ++ get_target_property(QHG_LOCATION Qt5::qhelpgenerator LOCATION) + endif() ++ set(GENERATE_QHP YES) ++ mark_as_advanced(QHG_LOCATION) + endif() + + # Add default files diff --git a/media-libs/coin/metadata.xml b/media-libs/coin/metadata.xml index bcd622631c00..8ab9e491c2ab 100644 --- a/media-libs/coin/metadata.xml +++ b/media-libs/coin/metadata.xml @@ -6,6 +6,7 @@ </maintainer> <use> <flag name="exceptions">Compile with C++ exceptions</flag> + <flag name="qch">Install API documentation in QCH format</flag> <flag name="qthelp">Build API documentation in QtHelp format</flag> </use> <upstream> diff --git a/media-libs/compface/compface-1.5.2-r1.ebuild b/media-libs/compface/compface-1.5.2-r1.ebuild index bb0eb52bcfee..ba4cc08ab229 100644 --- a/media-libs/compface/compface-1.5.2-r1.ebuild +++ b/media-libs/compface/compface-1.5.2-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -11,7 +11,7 @@ SRC_URI="http://ftp.xemacs.org/pub/xemacs/aux/${P}.tar.gz" LICENSE="MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" RDEPEND="dev-lang/perl" diff --git a/media-libs/ctl/ctl-1.5.3.ebuild b/media-libs/ctl/ctl-1.5.3.ebuild index 11e4fd2a2845..91f9323e614e 100644 --- a/media-libs/ctl/ctl-1.5.3.ebuild +++ b/media-libs/ctl/ctl-1.5.3.ebuild @@ -5,8 +5,6 @@ EAPI=8 inherit cmake flag-o-matic -MY_COMMIT=3fc4ae7a8af35d380654e573d895216fd5ba407e - DESCRIPTION="AMPAS' Color Transformation Language" HOMEPAGE="https://github.com/ampas/CTL" SRC_URI="https://github.com/ampas/CTL/archive/${P}.tar.gz" @@ -14,7 +12,7 @@ S="${WORKDIR}/CTL-${P}" LICENSE="AMPAS" SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" +KEYWORDS="amd64 ~ppc64 x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/media-libs/dav1d/Manifest b/media-libs/dav1d/Manifest index e8056226b2b1..c0baae4c9949 100644 --- a/media-libs/dav1d/Manifest +++ b/media-libs/dav1d/Manifest @@ -1 +1,2 @@ DIST dav1d-1.4.2.tar.xz 970104 BLAKE2B 03c8effb21df5c748f6e836413454577ac0920dce37d6e4922c2a0e493f79c9bb9fb6eabe05e2ac0f0f7089751bec1eb92717305c5faac1b71efd7b0dabe6be7 SHA512 36f8e632f64212db63e126b9ed2ca95c2db930d2388c551cde0b13b783ae872edeab1b5dd2274684bb03e98536d0334552ddcba209cff08c3568d97321034920 +DIST dav1d-1.5.0.tar.xz 1017040 BLAKE2B 7cf75b9de834c77a8012fb560fadca339d0faa0ab92073fd0119f0c5ccbb19017aa271a1aa0939aa698a52e2285b79a956021776a702afe2a7de131ce92d7241 SHA512 774881d27d045f468a8617317fa751e1ce452a15c6d6c2c93c3dd3c3544d6b2b91b0c3eb5ff379f113c26b27a02dc4b54d0751b083dcbcb18bb96c66a6504acb diff --git a/media-libs/dav1d/dav1d-1.5.0.ebuild b/media-libs/dav1d/dav1d-1.5.0.ebuild new file mode 100644 index 000000000000..93a307754a90 --- /dev/null +++ b/media-libs/dav1d/dav1d-1.5.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://code.videolan.org/videolan/dav1d" + inherit git-r3 +else + SRC_URI="https://downloads.videolan.org/pub/videolan/dav1d/${PV}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos ~x64-macos" +fi + +inherit meson-multilib + +DESCRIPTION="dav1d is an AV1 Decoder :)" +HOMEPAGE="https://code.videolan.org/videolan/dav1d" + +LICENSE="BSD-2" +# Check SONAME on version bumps! +SLOT="0/7" +IUSE="+8bit +10bit +asm test xxhash" +RESTRICT="!test? ( test )" + +ASM_DEPEND=">=dev-lang/nasm-2.15.05" +DEPEND="xxhash? ( dev-libs/xxhash )" +BDEPEND=" + asm? ( + abi_x86_32? ( ${ASM_DEPEND} ) + abi_x86_64? ( ${ASM_DEPEND} ) + ) +" + +DOCS=( README.md doc/PATENTS THANKS.md ) + +multilib_src_configure() { + local -a bits=() + use 8bit && bits+=( 8 ) + use 10bit && bits+=( 16 ) + + local enable_asm + if [[ ${MULTILIB_ABI_FLAG} == abi_x86_x32 ]]; then + enable_asm=false + else + enable_asm=$(usex asm true false) + fi + + local emesonargs=( + -Dbitdepths=$(IFS=,; echo "${bits[*]}") + -Denable_asm=${enable_asm} + $(meson_use test enable_tests) + $(meson_feature xxhash xxhash_muxer) + ) + meson_src_configure +} + +multilib_src_test() { + if multilib_is_native_abi ; then + meson_src_test + fi +} diff --git a/media-libs/fcft/Manifest b/media-libs/fcft/Manifest index f469b79392da..93924ec7a251 100644 --- a/media-libs/fcft/Manifest +++ b/media-libs/fcft/Manifest @@ -4,3 +4,4 @@ DIST fcft-3.1.5.tar.gz 742014 BLAKE2B 39266ab2a7ea422671414d97c21a90b0eeabe9ed74 DIST fcft-3.1.6.tar.gz 699121 BLAKE2B 597ce1a701db29d3a8b913d831f1847c9526c450352b565436c843388447d8203b54b3d24ab668690986488c102f281c46685a2072bf4afee2bf58465ab9d6c3 SHA512 4fe4e318561706bd446e79b0df8df4fa5b542b9d546aa7361a1523593c26040d827ce059658c0eac89a77b83c771fd43bc74e2fe29cd16b2846a2db7ec733f49 DIST fcft-3.1.7.tar.gz 697694 BLAKE2B 2afdd26c631d365ae450691a2073fc61d361c759886e77781b6438e0d8e0db6626230bcc70b99ef2d5a5a05006280bca93d2433157a6974093f1af932952b4c2 SHA512 e862856dfb85c5df85f9f32dce8ed9e7fed8b3dc8435876994f53d276a2c597d0cee0b4fbcbb62362a3771e9ca82c49db95da989404d0c8aa5f604dd50c79075 DIST fcft-3.1.8.tar.gz 697836 BLAKE2B da7de65e2fb7ce6d2244d8ea3839a62953cbe772a7388cdb15d8f849c139e2e9124b3ad12113fcd90d4055b38a269bf7bfeba5a408f31469a95b56d4e770e992 SHA512 1b1cfbed4e99db8e290a1dcf6c124949f5fb317e225996e63913974f4a52748a04be053cff934c8f8c0b3add22c87f9e3b1c793366431f788529e62d7a7be69c +DIST fcft-3.1.9.tar.gz 701854 BLAKE2B 0d7500749a311ae5d4f1586a85901884583ae036af2d70765a97c7adb3ff15eec4c94eda5fa960b660911c66a01c6ae6f1c75423b912bf3babd505f1d6a1ab92 SHA512 a6a400baf35ea2780da6acc5e703755349474d82f3bad081ed0551d1d6b724247476bfae6aeab06238a37df269afa4fb7a774501a4665e1e90d6ed9f241307b2 diff --git a/media-libs/fcft/fcft-3.1.9.ebuild b/media-libs/fcft/fcft-3.1.9.ebuild new file mode 100644 index 000000000000..7cbcbbb0160c --- /dev/null +++ b/media-libs/fcft/fcft-3.1.9.ebuild @@ -0,0 +1,94 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +inherit meson python-any-r1 + +DESCRIPTION="Simple library for font loading and glyph rasterization" +HOMEPAGE="https://codeberg.org/dnkl/fcft" +SRC_URI="https://codeberg.org/dnkl/fcft/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}" + +# MIT for fcft +# ZLIB for nanosvg +LICENSE="MIT ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +IUSE="examples +harfbuzz +libutf8proc test" +REQUIRED_USE=" + libutf8proc? ( harfbuzz ) + examples? ( libutf8proc ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + media-libs/fontconfig + media-libs/freetype + x11-libs/pixman + examples? ( + dev-libs/libutf8proc:= + dev-libs/wayland + ) + harfbuzz? ( + media-libs/harfbuzz:=[truetype] + ) + libutf8proc? ( + dev-libs/libutf8proc:= + ) +" +DEPEND=" + ${RDEPEND} + app-i18n/unicode-data + dev-libs/tllist + examples? ( + dev-libs/wayland-protocols + ) + test? ( + dev-libs/check + harfbuzz? ( media-fonts/noto-emoji ) + ) +" +BDEPEND=" + ${PYTHON_DEPS} + app-text/scdoc + virtual/pkgconfig + examples? ( + dev-util/wayland-scanner + ) +" + +src_prepare() { + default + + rm -r unicode || die "Failed removing vendored unicode-data" + + sed -i "s;unicode/UnicodeData.txt;${EPREFIX}/usr/share/unicode-data/UnicodeData.txt;" \ + meson.build || die "Failed changing UnicodeData.txt to system's copy" + sed -i "s;unicode/emoji-data.txt;${EPREFIX}/usr/share/unicode-data/emoji/emoji-data.txt;" \ + meson.build || die "Failed changing emoji-data.txt to system's copy" +} + +src_configure() { + local emesonargs=( + $(meson_feature harfbuzz grapheme-shaping) + $(meson_feature libutf8proc run-shaping) + $(meson_use examples) + $(use test && meson_use harfbuzz test-text-shaping) + # bundled, tiny, I believe this means we should always include it + -Dsvg-backend=nanosvg + -Ddocs=enabled + ) + + meson_src_configure +} + +src_install() { + local DOCS=( CHANGELOG.md README.md ) + meson_src_install + + rm -r "${ED}"/usr/share/doc/${PN} || die + + use examples && newbin "${BUILD_DIR}/example/example" fcft-example +} diff --git a/media-libs/flac/Manifest b/media-libs/flac/Manifest index ec1914cb1563..9d54fa1cffa1 100644 --- a/media-libs/flac/Manifest +++ b/media-libs/flac/Manifest @@ -1,2 +1 @@ -DIST flac-1.3.4.tar.xz 1038356 BLAKE2B 0553cd42705f31d6a98d10e8b73953265e97c6b1e46bb59c7d97d12ec1b4aae4c3d6f5e85b9e5d1513f7efac82a65ea9dc59d89d8df0254ff3ab1188039c55c5 SHA512 4a626e8a1bd126e234c0e5061e3b46f3a27c2065fdfa228fd8cf00d3c7fa2c05fafb5cec36acce7bfce4914bfd7db0b2a27ee15decf2d8c4caad630f62d44ec9 DIST flac-1.4.3.tar.xz 1006728 BLAKE2B c4f441aeaa0493433347b8a110ca01865fd40d5b21150174372af2fee4fa5c3397a67add31138e92999eab9d9abe6c46a5ac29e13cbac60093fbff6d7a672ad3 SHA512 3cf095720bd590a588be8ccbe187d22e7a1c60ab85b1d510ce5e8a22ab0a51827b9acfeaad59bbd645a17d1f200f559255a640101b0330709a164306c0e9709e diff --git a/media-libs/flac/flac-1.3.4.ebuild b/media-libs/flac/flac-1.3.4.ebuild deleted file mode 100644 index a1b4fddd4ac0..000000000000 --- a/media-libs/flac/flac-1.3.4.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib-minimal - -DESCRIPTION="free lossless audio encoder and decoder" -HOMEPAGE="https://xiph.org/flac/" -SRC_URI="https://downloads.xiph.org/releases/${PN}/${P}.tar.xz" - -LICENSE="BSD FDL-1.2 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-solaris" -IUSE="+cxx debug ogg cpu_flags_ppc_altivec cpu_flags_ppc_vsx cpu_flags_x86_sse static-libs" - -RDEPEND="ogg? ( media-libs/libogg[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND}" -BDEPEND=" - app-arch/xz-utils - sys-devel/gettext - virtual/pkgconfig - abi_x86_32? ( dev-lang/nasm )" - -multilib_src_configure() { - local myeconfargs=( - --disable-doxygen-docs - --disable-examples - --disable-xmms-plugin - $([[ ${CHOST} == *-darwin* ]] && echo "--disable-asm-optimizations") - $(use_enable cpu_flags_ppc_altivec altivec) - $(use_enable cpu_flags_ppc_vsx vsx) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable cxx cpplibs) - $(use_enable debug) - $(use_enable ogg) - $(use_enable static-libs static) - - # cross-compile fix (bug #521446) - # no effect if ogg support is disabled - --with-ogg - ) - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_test() { - if [[ ${UID} != 0 ]]; then - emake -j1 check - else - ewarn "Tests will fail if ran as root, skipping." - fi -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild b/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild index 13ed4c6a5043..9259f43d257c 100644 --- a/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild +++ b/media-libs/fontconfig/fontconfig-2.15.0-r1.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://fontconfig.org/release/${P}.tar.xz" LICENSE="MIT" SLOT="1.0" if ! [[ $(ver_cut 3) -ge 90 ]] ; then - 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" fi IUSE="doc nls test" RESTRICT="!test? ( test )" diff --git a/media-libs/freeglut/files/freeglut-3.6.0-c23.patch b/media-libs/freeglut/files/freeglut-3.6.0-c23.patch new file mode 100644 index 000000000000..c5cd5ee5dbf3 --- /dev/null +++ b/media-libs/freeglut/files/freeglut-3.6.0-c23.patch @@ -0,0 +1,27 @@ +https://github.com/freeglut/freeglut/pull/187 + +From ca500e65b40267efe7a05ec7ebae1141544c0cfb Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Sun, 17 Nov 2024 01:14:26 +0000 +Subject: [PATCH] egl: fix fgPlatformDestroyContext prototype for C23 + +C23 removes unprototyped functions, so this conflicted with the definition +in fg_init_x11.c. + +Bug: https://github.com/freeglut/freeglut/issues/186 +--- + src/egl/fg_init_egl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/egl/fg_init_egl.h b/src/egl/fg_init_egl.h +index 592c5221d..8753dc0bc 100644 +--- a/src/egl/fg_init_egl.h ++++ b/src/egl/fg_init_egl.h +@@ -28,6 +28,6 @@ + + extern void fghPlatformInitializeEGL(); + extern void fghPlatformCloseDisplayEGL(); +-extern void fgPlatformDestroyContext(); ++extern void fgPlatformDestroyContext ( SFG_PlatformDisplay pDisplay, SFG_WindowContextType MContext ); + + #endif diff --git a/media-libs/freeglut/freeglut-3.6.0-r1.ebuild b/media-libs/freeglut/freeglut-3.6.0-r1.ebuild new file mode 100644 index 000000000000..d21631d891b0 --- /dev/null +++ b/media-libs/freeglut/freeglut-3.6.0-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="A free OpenGL utility toolkit, the open-sourced alternative to the GLUT library" +HOMEPAGE="https://freeglut.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" + +# enabling GLES support seems to cause build failures +RDEPEND=">=virtual/glu-9.0-r1[${MULTILIB_USEDEP}] + >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}] + >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]" +# gles? ( media-libs/mesa[egl(+),gles1,gles2,${MULTILIB_USEDEP}] ) +DEPEND="${RDEPEND} + x11-base/xorg-proto" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-3.6.0-c23.patch +) + +src_configure() { + local mycmakeargs=( +# "-DOpenGL_GL_PREFERENCE=GLVND" # bug 721006 + "-DFREEGLUT_GLES=OFF" + "-DFREEGLUT_BUILD_DEMOS=OFF" + "-DFREEGLUT_BUILD_STATIC_LIBS=OFF" + ) +# $(cmake-utils_use gles FREEGLUT_GLES) + cmake-multilib_src_configure +} + +multilib_src_install() { + cmake_src_install + cp "${ED}"/usr/$(get_libdir)/pkgconfig/{,free}glut.pc || die +} diff --git a/media-libs/gegl/Manifest b/media-libs/gegl/Manifest index d3eec31043bb..e1c810f7de04 100644 --- a/media-libs/gegl/Manifest +++ b/media-libs/gegl/Manifest @@ -1,2 +1,3 @@ DIST gegl-0.4.46.tar.xz 5799248 BLAKE2B 2fc9ccd0c711cc901abd50740a24d0f75b162cbb196bdd62ab8430882da3b9ea72c08dd587ecfecaf5e4ba9aca4df51bcd7d98ec197325375b1d954c2995029e SHA512 cd733208da7dc1ec77ca023f03f47e578350e156ad07ece701b39f517a292e9f9c081b3a8a2db846813483b4ddb21f32f9fc8b9c70fea8a6ba27bb97ef8bb847 DIST gegl-0.4.48.tar.xz 5805488 BLAKE2B 3a800004f166fdbfbd563688bb71c4579bba132380f5f45496e8fb813943333b89781320230adf6e0ee49b9bde7db37d81929a8fd42e19e62281e7f8d1ea3bfb SHA512 8f47e6445062894c16d54eeeec4a55cccc32fc49c9fb9be3428a591daaeb21b1a5b8529a68d82613fd75f107bb8c0418c9e5337346bd94da3226e545189c226b +DIST gegl-0.4.50.tar.xz 5987700 BLAKE2B 08d59ec417194b17819c8996efcb4e10cd86e3626bbe2690ca6f22e095a8bc346fac83460896019044978f5577b7ccdf02265487b3d3dfe8e28a7390741d38d7 SHA512 6ba7cc6a1feca518857a6f474fffec4d3ddce81104541d9d8c9d6a6d7464a00ec0d4fce63194ba2d457d606fea3049fbd365b20b70fdbdf275dac61bc35f8205 diff --git a/media-libs/gegl/gegl-0.4.50.ebuild b/media-libs/gegl/gegl-0.4.50.ebuild new file mode 100644 index 000000000000..f51262988f0c --- /dev/null +++ b/media-libs/gegl/gegl-0.4.50.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +# vala and introspection support is broken, bug #468208 +VALA_USE_DEPEND=vapigen + +inherit flag-o-matic meson optfeature python-any-r1 toolchain-funcs vala + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gegl.git" + SRC_URI="" +else + SRC_URI="https://download.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="A graph based image processing framework" +HOMEPAGE="https://gegl.org/" + +LICENSE="|| ( GPL-3+ LGPL-3 )" +SLOT="0.4" + +IUSE="cairo debug ffmpeg introspection lcms lensfun openexr openmp pdf raw sdl sdl2 svg test tiff umfpack vala v4l webp" +REQUIRED_USE=" + svg? ( cairo ) + test? ( introspection ) + vala? ( introspection ) +" + +RESTRICT="!test? ( test )" + +# NOTE: Even current libav 11.4 does not have AV_CODEC_CAP_VARIABLE_FRAME_SIZE +# so there is no chance to support libav right now (Gentoo bug #567638) +# If it returns, please check prior GEGL ebuilds for how libav was integrated. Thanks! +RDEPEND=" + >=dev-libs/glib-2.68.2:2 + >=dev-libs/json-glib-1.2.6 + >=media-libs/babl-0.1.110[introspection?,lcms?,vala?] + media-libs/libjpeg-turbo + media-libs/libnsgif + >=media-libs/libpng-1.6.0:0= + >=sys-libs/zlib-1.2.0 + >=x11-libs/gdk-pixbuf-2.32:2 + >=x11-libs/pango-1.38.0 + cairo? ( >=x11-libs/cairo-1.12.2 ) + ffmpeg? ( media-video/ffmpeg:0= ) + introspection? ( >=dev-libs/gobject-introspection-1.32:= ) + lcms? ( >=media-libs/lcms-2.8:2 ) + lensfun? ( >=media-libs/lensfun-0.2.5 ) + openexr? ( >=media-libs/openexr-1.6.1:= ) + pdf? ( >=app-text/poppler-0.71.0[cairo] ) + raw? ( >=media-libs/libraw-0.15.4:0= ) + sdl? ( >=media-libs/libsdl-1.2.0 ) + sdl2? ( >=media-libs/libsdl2-2.0.20 ) + svg? ( >=gnome-base/librsvg-2.40.6:2 ) + tiff? ( >=media-libs/tiff-4:= ) + umfpack? ( sci-libs/umfpack ) + v4l? ( >=media-libs/libv4l-1.0.1 ) + webp? ( >=media-libs/libwebp-0.5.0:= ) +" +DEPEND="${RDEPEND} + x11-base/xorg-proto" +BDEPEND=" + ${PYTHON_DEPS} + dev-lang/perl + >=dev-build/gtk-doc-am-1 + >=sys-devel/gettext-0.19.8 + >=dev-build/libtool-2.2 + virtual/pkgconfig + test? ( $(python_gen_any_dep '>=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]') ) + vala? ( $(vala_depend) ) +" + +DOCS=( AUTHORS docs/ChangeLog docs/NEWS.adoc ) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + python-any-r1_pkg_setup +} + +python_check_deps() { + use test || return 0 + python_has_version -b ">=dev-python/pygobject-3.2:3[${PYTHON_USEDEP}]" +} + +src_prepare() { + default + # patch executables suffix + sed -i -e "s/'gegl'/'gegl-0.4'/" bin/meson.build || die + sed -i -e "s/'gegl-imgcmp'/'gegl-imgcmp-0.4'/" tools/meson.build || die + sed -i -e "s/gegl-imgcmp/gegl-imgcmp-0.4/" tests/simple/test-exp-combine.sh || die + # skip UNEXPECTED PASSED 'matting-levin' test + sed -i -e "s/composition_tests += 'matting-levin'//" \ + -e "s/composition_tests_fail += 'matting-levin'//" tests/compositions/meson.build || die + + # don't require Apple's OpenCL on versions of OSX that don't have it + if [[ ${CHOST} == *-darwin* && ${CHOST#*-darwin} -le 9 ]] ; then + sed -i -e 's/#ifdef __APPLE__/#if 0/' gegl/opencl/* || die + fi + + # fix 'build'headers from *.cl on gentoo-hardened, bug 739816 + pushd "${S}/opencl/" || die + for file in *.cl; do + if [[ -f ${file} ]]; then + "${EPYTHON}" cltostring.py "${file}" || die + fi + done + popd || die + + # Fix QA warning, install docs into /usr/share/gtk-doc/gegl-0.4 instead of /usr/share/doc/gegl-0.4 + sed -i -e "s/'doc'/'gtk-doc'/" docs/reference/meson.build || die +} + +src_configure() { + # Bug #859901 + filter-lto + + use vala && vala_setup + + local emesonargs=( + # - Disable documentation as the generating is bit automagic + # if anyone wants to work on it just create bug with patch + -Ddocs=false + -Dexiv2=disabled + -Dgdk-pixbuf=enabled + -Djasper=disabled + # - libspiro: not in portage main tree + -Dlibspiro=disabled + -Dlua=disabled + -Dmrg=disabled + -Dpango=enabled + # - Parameter -Dworkshop=false disables any use of Lua, effectivly + -Dworkshop=false + $(meson_feature cairo) + $(meson_feature cairo pangocairo) + $(meson_feature ffmpeg libav) + $(meson_feature lcms) + $(meson_feature lensfun) + $(meson_feature openexr) + $(meson_feature openmp) + $(meson_feature pdf poppler) + $(meson_feature raw libraw) + $(meson_feature sdl sdl1) + $(meson_feature sdl2 sdl2) + $(meson_feature svg librsvg) + $(meson_feature test pygobject) + $(meson_feature tiff libtiff) + $(meson_feature umfpack) + # - v4l support does not work with our media-libs/libv4l-0.8.9, + # upstream bug at https://bugzilla.gnome.org/show_bug.cgi?id=654675 + $(meson_feature v4l libv4l) + $(meson_feature v4l libv4l2) + $(meson_feature vala vapigen) + $(meson_feature webp) + $(meson_use introspection) + ) + meson_src_configure +} + +pkg_postinst() { + optfeature "'Show Image Graph' under GIMP[debug] menu 'File - Debug'" media-gfx/graphviz +} diff --git a/media-libs/giflib/files/giflib-5.1.9-gentoo.patch b/media-libs/giflib/files/giflib-5.1.9-gentoo.patch deleted file mode 100644 index 0cb20183bd81..000000000000 --- a/media-libs/giflib/files/giflib-5.1.9-gentoo.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- giflib-5.1.9/Makefile -+++ giflib-5.1.9/Makefile -@@ -63,7 +63,6 @@ - LDLIBS=libgif.a -lm - - all: libgif.so libgif.a libutil.so libutil.a $(UTILS) -- $(MAKE) -C doc - - $(UTILS):: libgif.a libutil.a - diff --git a/media-libs/glfw/glfw-3.4.ebuild b/media-libs/glfw/glfw-3.4.ebuild index 908b4b8f468b..bd58bd3501d1 100644 --- a/media-libs/glfw/glfw-3.4.ebuild +++ b/media-libs/glfw/glfw-3.4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/glfw/glfw/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="ZLIB" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv x86" IUSE="wayland X" # Most are dlopen'd so use strings or check the source: diff --git a/media-libs/glycin-loaders/Manifest b/media-libs/glycin-loaders/Manifest index 128dae3c9ce4..e5d5822cb726 100644 --- a/media-libs/glycin-loaders/Manifest +++ b/media-libs/glycin-loaders/Manifest @@ -1,2 +1,3 @@ DIST glycin-1.1.0.tar.xz 28570152 BLAKE2B 762c8208c5cc8bf6be93a8daa70cd22b1cbd93c60075ccf38225a10c303b2c503bdc1ec2e6efeb85f36f3787b45a6061926e314f44841a583e0e3cb3debc3d48 SHA512 6e4b84dceb8957f0ab6e840dbc60f6c9bb8179fde841075c614a9742282ea578a51a966eb8e7a2482daf631932e8ce5af2f1f41523f376f4d1a0a2069af94631 DIST glycin-1.1.1.tar.xz 28914480 BLAKE2B ef39c3b15e9addd36c6bc7010bbdaf1d5efe7aeaf1a5562217c87310b16efae75b568ae0291f91815238bd4b01747cbc5d3eef26f945f0a21f008904cc382392 SHA512 ce3961b4cbe71739cdf24b985b5a609284e2cdb3869671606cbd0f31c5c99f80da7608f2e29df5a0cc7d7ef0f7bd5926eb3fff993e80cbd8ec03bf321b92b0f0 +DIST glycin-1.1.2.tar.xz 28347232 BLAKE2B fca58f99c8f2096a8d339e32a90435f56547f85715b95a5dd5da754c3d47adae712ea6d0bd9b8f7c6678f9b690837da721203a27ddf461cab16130cc7f3c17d2 SHA512 6eef9d21c5f4a423acea41e82b205de3a4dc0e3a5ce235f6cda4b4bd1052703cb9f4e16095b0927ff9185300c32e8631480d73ac313bda9a58c70122a9b7c3e8 diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild index 0775282f7108..0775282f7108 100644 --- a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild index 0775282f7108..0775282f7108 100644 --- a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild new file mode 100644 index 000000000000..0775282f7108 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.2.ebuild @@ -0,0 +1,88 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo meson + +MY_P=glycin-${PV/_/.} +DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" +HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/" +SRC_URI=" + https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz +" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( LGPL-2.1+ MPL-2.0 )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT + Unicode-DFS-2016 + || ( LGPL-2.1+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="heif jpegxl svg test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.60:2 + >=sys-libs/libseccomp-2.5.0 + heif? ( >=media-libs/libheif-1.17.0:= ) + jpegxl? ( >=media-libs/libjxl-0.10.0:= ) + svg? ( + >=gnome-base/librsvg-2.52.0:2 + >=x11-libs/cairo-1.17.0 + ) +" +DEPEND=" + ${RDEPEND} + test? ( + >=gui-libs/gtk-4.12.0:4 + >=media-libs/lcms-2.14:2 + ) +" +BDEPEND=" + test? ( + sys-apps/bubblewrap + sys-apps/dbus + ) +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" + +src_prepare() { + default + + # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81 + sed -i -e '\|/fonts|d' tests/tests.rs || die +} + +src_configure() { + local formats=( + $(usev heif glycin-heif) + $(usev jpegxl glycin-jxl) + $(usev svg glycin-svg) + glycin-image-rs + ) + local formats_s=${formats[*]} + local emesonargs=( + -Dprofile=$(usex debug dev release) + -Dglycin-loaders=true + -Dloaders="${formats_s// /,}" + -Dtests=$(usex test true false) + -Dlibglycin=false + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die +} + +src_test() { + # tests write to /proc/*/uid_map + # apparently, "addpredict /" in Portage breaks it + local -x SANDBOX_ON=0 + meson_src_test +} diff --git a/media-libs/gmmlib/Manifest b/media-libs/gmmlib/Manifest index b3819bfb2b57..b04239406264 100644 --- a/media-libs/gmmlib/Manifest +++ b/media-libs/gmmlib/Manifest @@ -1,5 +1,3 @@ -DIST intel-gmmlib-22.3.19.tar.gz 846342 BLAKE2B ce3c25740d9c3f556db31f880b47fba8358dd7d7d53d80bc9923bec8c67fdeee3ae4efa5465390c229bfdc2f6c64fa0a7963516f83d12061d34bf51102cb3a64 SHA512 804e4995983884832dbb6d08a4e3c8ca8d60e7ef2c5a0de12d0facfac1fdce619ad229ad1a6b62fdf0ba74a968caf3bb884e283af8cf38babacff350fc9728b9 -DIST intel-gmmlib-22.4.1.tar.gz 867162 BLAKE2B cc3dea9441f1b21b95595d5674046afec5ae673c6244b94572ba11d3451ddb9dae8adce9fe4310a5a0de3c723a3b7aef1031b9ca53f54b63fbefe43fadb7c2d1 SHA512 b44bd2f18ed97446c2e4f5ca7119cfde63f249fe8b5f23f0a531a2ec724aa51fe70014320d8f6dee85246df8ce220d5938654483d276eda60027162e304a3b64 -DIST intel-gmmlib-22.5.0.tar.gz 867541 BLAKE2B 89ac0fdac7212ea1122140357f04ffe67a27d4d743615b4d97121931370f44568cdcccfbeb681d8fe564b269f4fe1c0f47b50c9e7cc2ce44863d03ec47a75bdb SHA512 f4f33197cf635a71c02d1027f96268b0ebac66ba765b1b6d4d827b9cd7a044197a9a042371c5bf6550110b9d5b127bcf63627124a338cc9e8ee1e8bc1d90dbc2 -DIST intel-gmmlib-22.5.1.tar.gz 867534 BLAKE2B 2ea81d4444f5c79c87ccba1edaf5e00e88a7c95c1d236f55fa8b0776f31ea91acb54c99d0c3e13199183827b94f7c1f7136e40442ae30298093a0b86fdf61085 SHA512 515268f6451b5f822338820a121cb436cf73920afa1b092855188cf1b4fc8e11b3ed6d8481ba7c686aa4242fdd2f26ff9657ae9293df8197a428b0151ee4871f DIST intel-gmmlib-22.5.2.tar.gz 867665 BLAKE2B 64559ec6489614df352ba58d25f8706c234f3cff008228a7056e29d92584fab27af311fdb3db8c2e4f6983598019c646df8761ed422a47bcdbff02e79896d613 SHA512 516e2cc0d678d8fd44d8d2b1bfdf61c05670c01c906bd7f55a807846cd6399d4b616f86e6a1d85e2a6a0480c4616a40e9d5b29a3f45fbf588cc4d725ada71d49 +DIST intel-gmmlib-22.5.3.tar.gz 867696 BLAKE2B e7fe7394e0e4ee319a35a551908649e209c28f62fc566eab522f7182a78771b35a58ae067118f198eaca2d4f9cbbf58e4f54b9c838b87eed6ac82f2dce7158f1 SHA512 6649f241096b3b81a63c7d29b42494f5621dd9988f2570eaeb7164a4e5a71083180d4a8634782c4831ab8cd22e6b736a2e45e1a52cd5b70f62fe892411362444 +DIST intel-gmmlib-22.5.4.tar.gz 868826 BLAKE2B 8a3d455a271d2e76e790e980e96ab0d9bd70854c039272b34eb605d8175749a9a561178ec022d197960bb4e9226217ed43c1a53f2598b1c6910931ca35d4c1c1 SHA512 08735c056a443f5f998b089e8a88bb61f1b0ceb2557971af3c9a0235aca3846888bd32ec42a9750e311d0575a84111c897a6417bcaf3ecf0eac60fa2549f5d93 diff --git a/media-libs/gmmlib/gmmlib-22.3.19.ebuild b/media-libs/gmmlib/gmmlib-22.3.19.ebuild deleted file mode 100644 index 0a7ae2c25cdb..000000000000 --- a/media-libs/gmmlib/gmmlib-22.3.19.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -if [[ ${PV} == *9999 ]] ; then - : ${EGIT_REPO_URI:="https://github.com/intel/gmmlib"} - if [[ ${PV%9999} != "" ]] ; then - : ${EGIT_BRANCH:="release/${PV%.9999}"} - fi - inherit git-r3 -else - KEYWORDS="amd64" - SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz" - S="${WORKDIR}/${PN}-intel-${P}" -fi - -DESCRIPTION="Intel Graphics Memory Management Library" -HOMEPAGE="https://github.com/intel/gmmlib" - -LICENSE="MIT" -SLOT="0/12.3" -IUSE="+custom-cflags test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch - "${FILESDIR}"/${PN}-20.3.2_cmake_project.patch - "${FILESDIR}"/${PN}-22.1.1_custom_cflags.patch -) - -multilib_src_configure() { - local mycmakeargs=( - -DBUILD_TESTING="$(usex test)" - -DOVERRIDE_COMPILER_FLAGS="$(usex !custom-cflags)" - ) - - cmake_src_configure -} diff --git a/media-libs/gmmlib/gmmlib-22.4.1.ebuild b/media-libs/gmmlib/gmmlib-22.4.1.ebuild deleted file mode 100644 index 0a7ae2c25cdb..000000000000 --- a/media-libs/gmmlib/gmmlib-22.4.1.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -if [[ ${PV} == *9999 ]] ; then - : ${EGIT_REPO_URI:="https://github.com/intel/gmmlib"} - if [[ ${PV%9999} != "" ]] ; then - : ${EGIT_BRANCH:="release/${PV%.9999}"} - fi - inherit git-r3 -else - KEYWORDS="amd64" - SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz" - S="${WORKDIR}/${PN}-intel-${P}" -fi - -DESCRIPTION="Intel Graphics Memory Management Library" -HOMEPAGE="https://github.com/intel/gmmlib" - -LICENSE="MIT" -SLOT="0/12.3" -IUSE="+custom-cflags test" -RESTRICT="!test? ( test )" - -PATCHES=( - "${FILESDIR}"/${PN}-20.2.2_conditional_testing.patch - "${FILESDIR}"/${PN}-20.3.2_cmake_project.patch - "${FILESDIR}"/${PN}-22.1.1_custom_cflags.patch -) - -multilib_src_configure() { - local mycmakeargs=( - -DBUILD_TESTING="$(usex test)" - -DOVERRIDE_COMPILER_FLAGS="$(usex !custom-cflags)" - ) - - cmake_src_configure -} diff --git a/media-libs/gmmlib/gmmlib-22.5.2.ebuild b/media-libs/gmmlib/gmmlib-22.5.2.ebuild index 2a09f24b8f3d..0a7ae2c25cdb 100644 --- a/media-libs/gmmlib/gmmlib-22.5.2.ebuild +++ b/media-libs/gmmlib/gmmlib-22.5.2.ebuild @@ -12,7 +12,7 @@ if [[ ${PV} == *9999 ]] ; then fi inherit git-r3 else - KEYWORDS="~amd64" + KEYWORDS="amd64" SRC_URI="https://github.com/intel/gmmlib/archive/intel-${P}.tar.gz" S="${WORKDIR}/${PN}-intel-${P}" fi diff --git a/media-libs/gmmlib/gmmlib-22.5.0.ebuild b/media-libs/gmmlib/gmmlib-22.5.3.ebuild index 2a09f24b8f3d..2a09f24b8f3d 100644 --- a/media-libs/gmmlib/gmmlib-22.5.0.ebuild +++ b/media-libs/gmmlib/gmmlib-22.5.3.ebuild diff --git a/media-libs/gmmlib/gmmlib-22.5.1.ebuild b/media-libs/gmmlib/gmmlib-22.5.4.ebuild index 2a09f24b8f3d..2a09f24b8f3d 100644 --- a/media-libs/gmmlib/gmmlib-22.5.1.ebuild +++ b/media-libs/gmmlib/gmmlib-22.5.4.ebuild diff --git a/media-libs/harfbuzz/Manifest b/media-libs/harfbuzz/Manifest index a2ae4a520af7..347c5efdbb53 100644 --- a/media-libs/harfbuzz/Manifest +++ b/media-libs/harfbuzz/Manifest @@ -1,2 +1,3 @@ -DIST harfbuzz-8.5.0.tar.xz 19468172 BLAKE2B f598d7de953834499d1ab36c0fc9d95099fd7e99b87f630e1527aaa39deb2d339b9f3caaea3643238c6c1b321557f794f273929950b54fe9de2faa430d77855a SHA512 d5762f77b0913792d34596e6f3adb98ab693e2ef928396f997ca2e647ca7cad13fdd204fa15b49e2f7c33320ff210d7f078215d5765c9365571458b919a4f10c +DIST harfbuzz-10.0.1.tar.xz 17914712 BLAKE2B d1506658646a589c772d8efec1f40095ff8097f5d34c6498aa848027e71583c511d337ceea5005a4f5ce08f28c2d952fd3007383d701e957fb0c923edeba9466 SHA512 3fb7dda6e51496337698d46cebe623f678a4e5b0f006be6e1309143a82408a362c149812477e083e14811a5cba565d76eb2c0804f5e1bbea7e1bf83678176048 +DIST harfbuzz-10.1.0.tar.xz 17922136 BLAKE2B 7d78e31d045b984d8d1a8b1d1f8f282ff9b7dc748ffd65355266266e75064b14eb94ec6b1418e208ebb0fffb99ef174d1978ab14f0c318c1112c2d8005285979 SHA512 14b0e8fd417af9c78f36e532e3737c163902b85837be1028a8fd569508639b87afeb56f70a2313ba2f0f6d4b72bb6cee0bf50fb333dfc503c713e4d9cd86e9c3 DIST harfbuzz-9.0.0.tar.xz 17895360 BLAKE2B fd35c41d25e77c96b1fc760b8ca0ffd1ac8f3382b51991bb28797d55c2171bf0700ac65266996bf5cab82b8e9c835c2fad9c8374d9c60d2a361c924d805afbf6 SHA512 2700b560727d9c4440ad9c74a170b857f20f9e553e5d98b0c4bcf086a25ba644149d7c89009a41d964af7a924efcc486da4dcbfa5cc4d47f9f10e9b6b8c689af diff --git a/media-libs/harfbuzz/harfbuzz-8.5.0.ebuild b/media-libs/harfbuzz/harfbuzz-10.0.1.ebuild index fc135d044ca9..7214ae683e59 100644 --- a/media-libs/harfbuzz/harfbuzz-8.5.0.ebuild +++ b/media-libs/harfbuzz/harfbuzz-10.0.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit flag-o-matic meson-multilib python-any-r1 xdg-utils @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~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 ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="Old-MIT ISC icu" @@ -49,32 +49,17 @@ src_prepare() { xdg_environment_reset - # bug #726120 - sed -i \ - -e '/tests\/macos\.tests/d' \ - test/shape/data/in-house/Makefile.sources \ - || die - # bug #790359 filter-flags -fexceptions -fthreadsafe-statics if ! use debug ; then append-cppflags -DHB_NDEBUG fi - - # bug #762415 - local pyscript - for pyscript in $(find -type f -name "*.py") ; do - python_fix_shebang -q "${pyscript}" - done } multilib_src_configure() { # harfbuzz-gobject only used for introspection, bug #535852 local emesonargs=( - # ICU 75 needs C++17 (bug #931090) - -Dcpp_std=c++17 - -Dcoretext=disabled -Dchafa=disabled -Dwasm=disabled diff --git a/media-libs/harfbuzz/harfbuzz-10.1.0.ebuild b/media-libs/harfbuzz/harfbuzz-10.1.0.ebuild new file mode 100644 index 000000000000..7d0d9167475b --- /dev/null +++ b/media-libs/harfbuzz/harfbuzz-10.1.0.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic meson-multilib python-any-r1 xdg-utils + +DESCRIPTION="An OpenType text shaping engine" +HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/harfbuzz/harfbuzz.git" + inherit git-r3 +else + SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +fi + +LICENSE="Old-MIT ISC icu" +# 0.9.18 introduced the harfbuzz-icu split; bug #472416 +# 3.0.0 dropped some unstable APIs; bug #813705 +# 6.0.0 changed libharfbuzz-subset.so ABI +SLOT="0/6.0.0" + +IUSE="+cairo debug doc experimental +glib +graphite icu +introspection test +truetype" +RESTRICT="!test? ( test )" +REQUIRED_USE="introspection? ( glib )" + +RDEPEND=" + cairo? ( x11-libs/cairo:=[${MULTILIB_USEDEP}] ) + glib? ( >=dev-libs/glib-2.38:2[${MULTILIB_USEDEP}] ) + graphite? ( >=media-gfx/graphite2-1.2.1:=[${MULTILIB_USEDEP}] ) + icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] ) + introspection? ( >=dev-libs/gobject-introspection-1.34:= ) + truetype? ( >=media-libs/freetype-2.5.0.1:2=[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + virtual/pkgconfig + doc? ( dev-util/gtk-doc ) + introspection? ( dev-util/glib-utils ) +" + +src_prepare() { + default + + xdg_environment_reset + + # bug #790359 + filter-flags -fexceptions -fthreadsafe-statics + + if ! use debug ; then + append-cppflags -DHB_NDEBUG + fi +} + +multilib_src_configure() { + # harfbuzz-gobject only used for introspection, bug #535852 + local emesonargs=( + -Dcoretext=disabled + -Dchafa=disabled + -Dwasm=disabled + + $(meson_feature cairo) + $(meson_feature glib) + $(meson_feature graphite graphite2) + $(meson_feature icu) + $(meson_feature introspection gobject) + $(meson_feature test tests) + $(meson_feature truetype freetype) + + $(meson_native_use_feature doc docs) + $(meson_native_use_feature introspection) + # Breaks building tests.. + #$(meson_native_use_feature utilities) + + $(meson_use experimental experimental_api) + ) + + meson_src_configure +} + +multilib_src_test() { + # harfbuzz:src / check-static-inits times out on hppa + meson_src_test --timeout-multiplier 5 +} diff --git a/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild b/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild index 1534f858fc33..65c323f24324 100644 --- a/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild +++ b/media-libs/harfbuzz/harfbuzz-9.0.0.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~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 ~ppc-macos ~x64-macos ~x64-solaris" fi LICENSE="Old-MIT ISC icu" diff --git a/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild b/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild index 2f0eabe1a3c2..23f8a11c5c29 100644 --- a/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild +++ b/media-libs/icc-profiles-openicc/icc-profiles-openicc-1.3.1.ebuild @@ -11,5 +11,5 @@ SRC_URI="https://downloads.sourceforge.net/openicc/OpenICC-Profiles/${P}.tar.bz2 LICENSE="ZLIB" SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" +KEYWORDS="amd64 ~ppc64 x86" IUSE="" diff --git a/media-libs/intel-mediasdk/metadata.xml b/media-libs/intel-mediasdk/metadata.xml index 888102391fdf..53453927d237 100644 --- a/media-libs/intel-mediasdk/metadata.xml +++ b/media-libs/intel-mediasdk/metadata.xml @@ -5,8 +5,8 @@ <email>media-video@gentoo.org</email> </maintainer> <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> + <email>nowa@gentoo.org</email> + <name>Nowa Ammerlaan</name> </maintainer> <upstream> <remote-id type="github">Intel-Media-SDK/MediaSDK</remote-id> diff --git a/media-libs/jbig2dec/Manifest b/media-libs/jbig2dec/Manifest index 8deeca6b6fa9..65a0f5edce71 100644 --- a/media-libs/jbig2dec/Manifest +++ b/media-libs/jbig2dec/Manifest @@ -1,3 +1,2 @@ DIST jb2streams.zip 1285838 BLAKE2B 9a2b6047a7b970439693d6f5fdefb9488019a562e7f831288b27df09bb19dec2f84854cf7fea50b5b041d331e925145f37f2f89848058ecdc074e7d6c238033f SHA512 382890b36345b8aaebb3554e776a53f3276c6d835335ce41f3f41829ff62bba7ae646602544103ba8541a7a824dca92d682b682c254ab2918c7fe45b3e358b45 -DIST jbig2dec-0.19.tar.gz 149134 BLAKE2B 576f3a516499b6291d25dfdefe5af62899665167526dca11435bc07e04a3feb707f82d3a8bdda774f5cfe0d792c3147e77aa94fa57feac25ba1c0a7805c5fc58 SHA512 d5a27951cc9c06c184f454e258e81b6e4d5aa2742a4da821522b9a42ecc78e7e1b78058dabc23821618e62d62d8832011f16b5ef2d66beac463da6b809fd02af DIST jbig2dec-0.20.tar.gz 149782 BLAKE2B 6e5a26b736bbc5dc25614e192855d74a59337f5e5aa82cd0882e42a34259295d7df7f8c7acfb88b53ac3817141459c6d6cc58c0d36c1c341e2afedbed8f7d83d SHA512 8b8a28b93b23e4284ca229e6c8935fd161ce5c597f7470a46ec06a3241d0ac23cf921aecdd4e0c1bd3c904591409054236f2ce25b6d8ae40db742559c7f4dbe9 diff --git a/media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild b/media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild deleted file mode 100644 index f8fa76821185..000000000000 --- a/media-libs/jbig2dec/jbig2dec-0.19-r1.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# 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 python-any-r1 - -DESCRIPTION="A decoder implementation of the JBIG2 image compression format" -HOMEPAGE="https://jbig2dec.com/" -SRC_URI=" - https://github.com/ArtifexSoftware/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - test? ( https://jbig2dec.sourceforge.net/ubc/jb2streams.zip ) -" - -LICENSE="AGPL-3" -SLOT="0/$(ver_cut 1-2)" #698428 -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="png static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - app-arch/unzip - ${PYTHON_DEPS} - ) -" -RDEPEND="png? ( media-libs/libpng:= )" -DEPEND="${RDEPEND}" - -DOCS=( CHANGES README ) - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - default - - if use test; then - mkdir "${WORKDIR}/ubc" || die - mv -v "${WORKDIR}"/*.jb2 "${WORKDIR}/ubc/" || die - mv -v "${WORKDIR}"/*.bmp "${WORKDIR}/ubc/" || die - fi - - # We only need configure.ac and config_types.h.in - sed -i \ - -e '/^# do we need automake?/,/^autoheader/d' \ - -e '/echo " $AUTOM.*/,$d' \ - autogen.sh \ - || die "failed to modify autogen.sh" - - ./autogen.sh || die - eautoreconf -} - -src_configure() { - econf \ - $(use_enable static-libs static) \ - $(use_with png libpng) -} - -src_install() { - default - - find "${ED}" -name '*.la' -exec rm {} + || die -} diff --git a/media-libs/jbig2dec/jbig2dec-0.19.ebuild b/media-libs/jbig2dec/jbig2dec-0.19.ebuild deleted file mode 100644 index dc4f4ef423fb..000000000000 --- a/media-libs/jbig2dec/jbig2dec-0.19.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{10..13} ) -inherit autotools python-any-r1 - -DESCRIPTION="A decoder implementation of the JBIG2 image compression format" -HOMEPAGE="https://jbig2dec.com/" -SRC_URI=" - https://github.com/ArtifexSoftware/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - test? ( https://jbig2dec.sourceforge.net/ubc/jb2streams.zip ) -" - -LICENSE="AGPL-3" -SLOT="0/$(ver_cut 1-2)" #698428 -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="png static-libs test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - app-arch/unzip - ${PYTHON_DEPS} - ) -" -RDEPEND="png? ( media-libs/libpng:= )" -DEPEND="${RDEPEND}" - -DOCS=( CHANGES README ) - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -src_prepare() { - default - - if use test; then - mkdir "${WORKDIR}/ubc" || die - mv -v "${WORKDIR}"/*.jb2 "${WORKDIR}/ubc/" || die - mv -v "${WORKDIR}"/*.bmp "${WORKDIR}/ubc/" || die - fi - - # We only need configure.ac and config_types.h.in - sed -i \ - -e '/^# do we need automake?/,/^autoheader/d' \ - -e '/echo " $AUTOM.*/,$d' \ - autogen.sh \ - || die "failed to modify autogen.sh" - - ./autogen.sh || die - eautoreconf -} - -src_configure() { - econf \ - $(use_enable static-libs static) \ - $(use_with png libpng) -} - -src_install() { - default - - find "${ED}" -name '*.la' -exec rm {} + || die -} diff --git a/media-libs/kquickimageeditor/Manifest b/media-libs/kquickimageeditor/Manifest index d12bca1d1859..7927ec30a654 100644 --- a/media-libs/kquickimageeditor/Manifest +++ b/media-libs/kquickimageeditor/Manifest @@ -1,2 +1 @@ -DIST kquickimageeditor-0.3.0.tar.xz 3286792 BLAKE2B 54bcbe7d8db7f9e6d35708125ce25d56a9ca7cb9c78a25a90cb1041ec899d9cdf89b84a995f0939566dadf195f272096d5374205b4cc4990cd1ecfe17ef1fc83 SHA512 51f25c5f2089c2bc9ef4715a4535b72cbf50664d17fe23dc80b266831d65a525027fa16d111400d4cf2c6b8210cbd572a3b3a0e4e921d42d331905718364ad7f DIST kquickimageeditor-0.4.0.tar.xz 3294388 BLAKE2B 64214edc236871cbeef7cf8d11ba376a1752852a68d11dd46cfdee6dab2fcf0d3f319e825170aa7e01b506ff4b7e3972c120485d8da1bfd7b4e6ff4a38c57e66 SHA512 58ae6af9dc9c8fb0bd99279246acb360eee4110b8e2b1f51bbcb3daf246a60fcb308b111e164a40f1bff09c6f0c1298dfe1588d7bd0f2a571bda8ac9d6252e8c diff --git a/media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild b/media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild deleted file mode 100644 index 23b504c78829..000000000000 --- a/media-libs/kquickimageeditor/kquickimageeditor-0.3.0-r100.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KFMIN=5.249.0 -QTMIN=6.6.2 -inherit ecm kde.org - -DESCRIPTION="QtQuick components providing basic image editing capabilities" -HOMEPAGE="https://invent.kde.org/libraries/kquickimageeditor -https://api.kde.org/kquickimageeditor/html/index.html" - -if [[ ${KDE_BUILD_TYPE} = release ]]; then - SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86" -fi - -LICENSE="LGPL-2.1+" -SLOT="6" - -DEPEND=" - >=dev-qt/qtbase-${QTMIN}:6[gui] - >=dev-qt/qtdeclarative-${QTMIN}:6 -" -RDEPEND="${DEPEND} - !${CATEGORY}/${PN}:5 - >=dev-qt/qt5compat-${QTMIN}:6[qml] - >=kde-frameworks/kirigami-${KFMIN}:6 -" diff --git a/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild b/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild index a013e066c728..196a0b8269c2 100644 --- a/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild +++ b/media-libs/kquickimageeditor/kquickimageeditor-0.4.0.ebuild @@ -13,7 +13,7 @@ https://api.kde.org/kquickimageeditor/html/index.html" if [[ ${KDE_BUILD_TYPE} = release ]]; then SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86" fi LICENSE="LGPL-2.1+" diff --git a/media-libs/ksanecore-common/Manifest b/media-libs/ksanecore-common/Manifest index f34261f994ff..dbc13e54c7aa 100644 --- a/media-libs/ksanecore-common/Manifest +++ b/media-libs/ksanecore-common/Manifest @@ -1,3 +1,2 @@ -DIST ksanecore-24.05.2.tar.xz 51080 BLAKE2B c57152bbff1c3eb4c6de3f20809d9e3a7ec5c81c981823e3750142006f1c6ac0f7bfc5913042edfcaa6a8e2f2210c8dc8963097d60dffc153ffb9078e3ca13bd SHA512 862c5997f0e10e6b3382127fe1d5efee37621212f2ec70a5346bf914cbe6ff9d1476cd05b119e0784222c8a195787f30b4454aaeeeb9535d0d52362a7ba0a718 DIST ksanecore-24.08.1.tar.xz 51164 BLAKE2B b4d9ecc8886b963efbbd5ed8dcca84cb7e0805726306ad942fbae9a73f1402e25851142893943b63c90e60c7d3b00542e0174fe9e07379146667d1383080cc8b SHA512 ebfccc54704438a9ec0fab2f8029c95745921438b63a8928a048f6f2cfcfea4c1f871fe7872331d8e9e7ac24a0a5e0df654b388430102f73027ee0afcf8ee002 -DIST ksanecore-24.08.2.tar.xz 51184 BLAKE2B 60a1b72f4d31ea759e6d4f9e8fd10d9eb07507b7131b9c32d993e3ec019ed59e57aba5129ba97a55ebfa1a77be4c70aace688f81a6fc8b537279c60f50d00872 SHA512 44fee9253c5136e7d45fb69766542da220746517d16b5f262a1d0cafef43ce8b6e9344bb1f171561f6625d14f10622923403e46f9a2938f0e0e92912d4987f46 +DIST ksanecore-24.08.3.tar.xz 51184 BLAKE2B 285285ece94d8c55a81be2cb932c1e34b2154d04101a4501fb2cc69c310656529eee7e3d612ff12a240009a86d22d5738352dbad408d8a7871fc66c378083077 SHA512 808c220cf01ec9de1fc5e6cf55f873fe6f70f8ab231e59b7c048db5a5b7ecde542e3291798118d0e65b99c4b627e34beceef38948ba208e9dfb2c992e65a06f8 diff --git a/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild b/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild index 625562057c66..d598909ef7f0 100644 --- a/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild +++ b/media-libs/ksanecore-common/ksanecore-common-24.08.1.ebuild @@ -10,7 +10,7 @@ inherit ecm-common gear.kde.org LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" RDEPEND=" !<media-libs/ksanecore-23.08.5-r2:5 diff --git a/media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild b/media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild deleted file mode 100644 index 3fd16d901523..000000000000 --- a/media-libs/ksanecore-common/ksanecore-common-24.08.2.ebuild +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_HANDBOOK="false" -KDE_ORG_NAME="${PN/-common/}" -KFMIN=5.115.0 -inherit ecm-common gear.kde.org - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" - -RDEPEND=" - !<media-libs/ksanecore-23.08.5-r2:5 - !<media-libs/ksanecore-24.05.2-r1:6 -" diff --git a/media-libs/ksanecore-common/ksanecore-common-24.05.2.ebuild b/media-libs/ksanecore-common/ksanecore-common-24.08.3.ebuild index d598909ef7f0..83b9a8d84cba 100644 --- a/media-libs/ksanecore-common/ksanecore-common-24.05.2.ebuild +++ b/media-libs/ksanecore-common/ksanecore-common-24.08.3.ebuild @@ -10,7 +10,7 @@ inherit ecm-common gear.kde.org LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv x86" RDEPEND=" !<media-libs/ksanecore-23.08.5-r2:5 diff --git a/media-libs/ksanecore/Manifest b/media-libs/ksanecore/Manifest index 9d65f441a775..dbc13e54c7aa 100644 --- a/media-libs/ksanecore/Manifest +++ b/media-libs/ksanecore/Manifest @@ -1,4 +1,2 @@ -DIST ksanecore-23.08.5.tar.xz 50052 BLAKE2B 500c574d40a8c927cd8568d3d0094789731b58cbe64de8ff04ee993adb8503cbb4d999d14c3222d142bb2485f1131dfe45c0a6a305347180e1021d1aa661d020 SHA512 93bbb6160c063e54be4cb115cf164354fb545ff458aa2066d98a38e81d48dfed4260a4b2afcb252ba43cf25ed102345018e0ad99b7ca66b9cb0b2fb64235b440 -DIST ksanecore-24.05.2.tar.xz 51080 BLAKE2B c57152bbff1c3eb4c6de3f20809d9e3a7ec5c81c981823e3750142006f1c6ac0f7bfc5913042edfcaa6a8e2f2210c8dc8963097d60dffc153ffb9078e3ca13bd SHA512 862c5997f0e10e6b3382127fe1d5efee37621212f2ec70a5346bf914cbe6ff9d1476cd05b119e0784222c8a195787f30b4454aaeeeb9535d0d52362a7ba0a718 DIST ksanecore-24.08.1.tar.xz 51164 BLAKE2B b4d9ecc8886b963efbbd5ed8dcca84cb7e0805726306ad942fbae9a73f1402e25851142893943b63c90e60c7d3b00542e0174fe9e07379146667d1383080cc8b SHA512 ebfccc54704438a9ec0fab2f8029c95745921438b63a8928a048f6f2cfcfea4c1f871fe7872331d8e9e7ac24a0a5e0df654b388430102f73027ee0afcf8ee002 -DIST ksanecore-24.08.2.tar.xz 51184 BLAKE2B 60a1b72f4d31ea759e6d4f9e8fd10d9eb07507b7131b9c32d993e3ec019ed59e57aba5129ba97a55ebfa1a77be4c70aace688f81a6fc8b537279c60f50d00872 SHA512 44fee9253c5136e7d45fb69766542da220746517d16b5f262a1d0cafef43ce8b6e9344bb1f171561f6625d14f10622923403e46f9a2938f0e0e92912d4987f46 +DIST ksanecore-24.08.3.tar.xz 51184 BLAKE2B 285285ece94d8c55a81be2cb932c1e34b2154d04101a4501fb2cc69c310656529eee7e3d612ff12a240009a86d22d5738352dbad408d8a7871fc66c378083077 SHA512 808c220cf01ec9de1fc5e6cf55f873fe6f70f8ab231e59b7c048db5a5b7ecde542e3291798118d0e65b99c4b627e34beceef38948ba208e9dfb2c992e65a06f8 diff --git a/media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild b/media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild deleted file mode 100644 index 43036a353e7e..000000000000 --- a/media-libs/ksanecore/ksanecore-23.08.5-r2.ebuild +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KFMIN=5.106.0 -QTMIN=5.15.9 -inherit ecm gear.kde.org - -DESCRIPTION="Qt-based interface for SANE library to control scanner hardware" -HOMEPAGE="https://invent.kde.org/libraries/ksanecore -https://api.kde.org/ksanecore/html/index.html" - -LICENSE="|| ( LGPL-2.1 LGPL-3 )" -SLOT="5" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" -IUSE="" - -DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=kde-frameworks/ki18n-${KFMIN}:5 - media-gfx/sane-backends -" -RDEPEND="${DEPEND} - ${CATEGORY}/${PN}-common -" - -src_prepare() { - ecm_src_prepare - ecm_punt_po_install -} diff --git a/media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild b/media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild deleted file mode 100644 index 3e7842beb286..000000000000 --- a/media-libs/ksanecore/ksanecore-24.05.2-r1.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KFMIN=6.3.0 -QTMIN=6.6.2 -inherit ecm gear.kde.org - -DESCRIPTION="Qt-based interface for SANE library to control scanner hardware" -HOMEPAGE="https://invent.kde.org/libraries/ksanecore -https://api.kde.org/ksanecore/html/index.html" - -LICENSE="|| ( LGPL-2.1 LGPL-3 )" -SLOT="6" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86" - -DEPEND=" - >=dev-qt/qtbase-${QTMIN}:6[gui] - >=kde-frameworks/ki18n-${KFMIN}:6 - media-gfx/sane-backends -" -RDEPEND="${DEPEND} - >=media-libs/${PN}-common-${PV} -" - -src_prepare() { - ecm_src_prepare - ecm_punt_po_install -} diff --git a/media-libs/ksanecore/ksanecore-24.08.1.ebuild b/media-libs/ksanecore/ksanecore-24.08.1.ebuild index 864a02f2b221..ed8e9ed31c12 100644 --- a/media-libs/ksanecore/ksanecore-24.08.1.ebuild +++ b/media-libs/ksanecore/ksanecore-24.08.1.ebuild @@ -13,7 +13,7 @@ https://api.kde.org/ksanecore/html/index.html" LICENSE="|| ( LGPL-2.1 LGPL-3 )" SLOT="6" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86" DEPEND=" >=dev-qt/qtbase-${QTMIN}:6[gui] diff --git a/media-libs/ksanecore/ksanecore-24.08.2.ebuild b/media-libs/ksanecore/ksanecore-24.08.3.ebuild index 625b222fc648..625b222fc648 100644 --- a/media-libs/ksanecore/ksanecore-24.08.2.ebuild +++ b/media-libs/ksanecore/ksanecore-24.08.3.ebuild diff --git a/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild b/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild index 79849082fcfa..0cc28565bb31 100644 --- a/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild +++ b/media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} = *9999 ]] ; then else SRC_URI="https://github.com/ultravideo/kvazaar/archive/v${PV}.tar.gz -> ${P}.tar.gz test? ( https://github.com/silentbicycle/greatest/archive/v${GREATEST_PV}.tar.gz -> greatest-${GREATEST_PV}.tar.gz )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86" fi inherit autotools multilib-minimal diff --git a/media-libs/lcms/lcms-2.16-r1.ebuild b/media-libs/lcms/lcms-2.16-r1.ebuild index 311370885b05..8b9d3ba8f30d 100644 --- a/media-libs/lcms/lcms-2.16-r1.ebuild +++ b/media-libs/lcms/lcms-2.16-r1.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/lcms2-${PV/_}" LICENSE="GPL-3 MIT" SLOT="2" if [[ ${PV} != *_rc* ]] ; then - 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" fi IUSE="doc jpeg static-libs tiff" diff --git a/media-libs/leptonica/Manifest b/media-libs/leptonica/Manifest index 9da2bbaa8e3b..423cdccf9271 100644 --- a/media-libs/leptonica/Manifest +++ b/media-libs/leptonica/Manifest @@ -1,2 +1,3 @@ DIST leptonica-1.83.1.tar.gz 14028566 BLAKE2B 56c501f16eb58366e4ed2f168f714adef968c271a0636cc0f3663b762aac29352a508421702e8ab063f78f3faf01e3d9eb72fff43093b05722a1a604beb66a59 SHA512 14c76b8795e494637cd225982cd27a1cd82d22b34c0c0d6ed061530c0ed8cec87fc1c8482bbda8f56a04f240b9fb50d481b8fffe5df846958cb146f9d2d51553 DIST leptonica-1.84.1.tar.gz 14102299 BLAKE2B 1da9b5bd2b72fa82320126dd8e6e647fbc50be0dcd71a0f8e392d9617911fe4f224d51158ab230476afbf7fd0e15cae1b59d8469cbf68a43893ada09a8d93673 SHA512 949be33a09e1dfc04527f5401d3d682999bd6904dca0b4950b457d12564e3290ec5b62ab4b14ef14d6f499a0fbfa0ebc37c2e8ab2966913883127b9489f47e97 +DIST leptonica-1.85.0.tar.gz 14757419 BLAKE2B db26f30121f8fa7807068d3e55c1cc3ed2f8a7a6f8bb8cc46a240257d11842000b63a4b08542c87a90bc446ccb53a1fe36823661416ec120da8e9b199ddb8def SHA512 ad097f8238bb88f044511bedb6debfb8a1492a4636348b21ce103034d3878ae1097e7ca8de9c39ef01f34589526d7e8aee68fb1b83aae5ffc0026c04360b882c diff --git a/media-libs/leptonica/leptonica-1.84.1-r2.ebuild b/media-libs/leptonica/leptonica-1.84.1-r2.ebuild index 3de09739be9f..40dd63bf68ca 100644 --- a/media-libs/leptonica/leptonica-1.84.1-r2.ebuild +++ b/media-libs/leptonica/leptonica-1.84.1-r2.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/DanBloomberg/${PN}/releases/download/${PV}/${P}.tar. LICENSE="Apache-2.0" SLOT="0/6" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc x86 ~ppc-macos" IUSE="gif jpeg jpeg2k png static-libs test tiff utils webp zlib" # N.B. Tests need some features enabled: REQUIRED_USE=" diff --git a/media-libs/leptonica/leptonica-1.85.0.ebuild b/media-libs/leptonica/leptonica-1.85.0.ebuild new file mode 100644 index 000000000000..3de09739be9f --- /dev/null +++ b/media-libs/leptonica/leptonica-1.85.0.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal + +DESCRIPTION="C library for image processing and analysis" +HOMEPAGE="http://www.leptonica.org/" +SRC_URI="https://github.com/DanBloomberg/${PN}/releases/download/${PV}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/6" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~ppc-macos" +IUSE="gif jpeg jpeg2k png static-libs test tiff utils webp zlib" +# N.B. Tests need some features enabled: +REQUIRED_USE=" + tiff? ( jpeg ) + test? ( jpeg png tiff zlib ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + gif? ( >=media-libs/giflib-5.1.3:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + jpeg2k? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] ) + png? ( + media-libs/libpng:0=[${MULTILIB_USEDEP}] + sys-libs/zlib:=[${MULTILIB_USEDEP}] + ) + tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] ) + webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] ) + zlib? ( sys-libs/zlib:=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + test? ( media-libs/tiff[jpeg,zlib] )" + +DOCS=( README version-notes ) + +src_prepare() { + default + elibtoolize + + # unhtmlize docs + local X + for X in ${DOCS[@]}; do + awk '/<\/pre>/{s--} {if (s) print $0} /<pre>/{s++}' \ + "${X}.html" > "${X}" || die 'awk failed' + rm -f -- "${X}.html" + done +} + +multilib_src_configure() { + ECONF_SOURCE="${S}" econf \ + --enable-shared \ + $(use_with gif giflib) \ + $(use_with jpeg) \ + $(use_with jpeg2k libopenjpeg) \ + $(use_with png libpng) \ + $(use_with tiff libtiff) \ + $(use_with webp libwebp) \ + $(use_with webp libwebpmux) \ + $(use_with zlib) \ + $(use_enable static-libs static) \ + $(multilib_native_use_enable utils programs) +} + +multilib_src_test() { + default + + # ${TMPDIR} is not respected. It used to be but it lead to issues + # and there have been long debates with upstream about it. :( + rm -rf /tmp/lept/ || die +} + +multilib_src_install_all() { + einstalldocs + + # libtool archives covered by pkg-config + find "${ED}" -name '*.la' -delete || die +} diff --git a/media-libs/lerc/Manifest b/media-libs/lerc/Manifest new file mode 100644 index 000000000000..cb58c43bcad6 --- /dev/null +++ b/media-libs/lerc/Manifest @@ -0,0 +1 @@ +DIST lerc-4.0.0.tar.gz 4710408 BLAKE2B b4c593ab2d28ad4c03149267db7d181462bc2977f6c908c88e7f769fed720be900936550e27cecfe32ee16b410c8a7885c1e509ae26717b5719e602922de305a SHA512 36fe453b6e732f6bed554d1c1c5cd4668aec63593d6de11f12b659c7b9cbc059ac9aaacc6cea483b3257d522f1b07e13c299914d08b1f8aeb0bb2cde42ba47cf diff --git a/media-libs/lerc/lerc-4.0.0.ebuild b/media-libs/lerc/lerc-4.0.0.ebuild new file mode 100644 index 000000000000..5e3219bb05c1 --- /dev/null +++ b/media-libs/lerc/lerc-4.0.0.ebuild @@ -0,0 +1,14 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal cmake + +DESCRIPTION="Limited Error Raster Compression" +HOMEPAGE="https://github.com/esri/lerc" +SRC_URI="https://github.com/Esri/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/4" +KEYWORDS="~amd64" diff --git a/media-libs/lerc/metadata.xml b/media-libs/lerc/metadata.xml new file mode 100644 index 000000000000..5fdd5f1bc46f --- /dev/null +++ b/media-libs/lerc/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>thomas.bettler@gmail.com</email> + <name>Thomas Bettler</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>codec@gentoo.org</email> + <name>Gentoo Codec Project</name> + </maintainer> + <longdescription> + Limited Error Raster Compression (LERC) supports rapid encoding and decoding + for any pixel type (not just RGB or Byte). Users set the maximum compression + error per pixel while encoding, so the precision of the original input image + is preserved (within user defined error bounds). + </longdescription> + <upstream> + <remote-id type="github">esri/lerc</remote-id> + </upstream> +</pkgmetadata> diff --git a/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild b/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild index 54f706d22467..c9fba63c91b6 100644 --- a/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild +++ b/media-libs/lib3ds/lib3ds-2.0.0_rc1-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -14,7 +14,7 @@ SRC_URI="https://lib3ds.googlecode.com/files/${MY_P}.zip" LICENSE="LGPL-2.1+" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86" +KEYWORDS="amd64 arm arm64 ppc ppc64 x86" IUSE="static-libs" BDEPEND="app-arch/unzip" diff --git a/media-libs/lib3mf/lib3mf-2.2.0.ebuild b/media-libs/lib3mf/lib3mf-2.2.0-r1.ebuild index d5d470010791..c980abe83fef 100644 --- a/media-libs/lib3mf/lib3mf-2.2.0.ebuild +++ b/media-libs/lib3mf/lib3mf-2.2.0-r1.ebuild @@ -39,6 +39,14 @@ PATCHES=( "${FILESDIR}"/${P}-include-cstdint.patch ) +src_prepare() { + cmake_src_prepare + + rm -r Include/Libraries/{libzip,zlib} || die + ln -s "${EPREFIX}/usr/include" Include/Libraries/zlib || die + ln -s "${EPREFIX}/usr/include" Include/Libraries/libzip || die +} + src_configure() { local mycmakeargs=( -DCMAKE_INSTALL_INCLUDEDIR="include/${PN}" diff --git a/media-libs/libaom/Manifest b/media-libs/libaom/Manifest index 639bcab5de23..9a244adffb0a 100644 --- a/media-libs/libaom/Manifest +++ b/media-libs/libaom/Manifest @@ -1,4 +1,4 @@ -DIST libaom-3.8.1-testdata.tar.xz 426372276 BLAKE2B 4d6194a98612045023f4d35ca851a37ffc69cbfbfd015d5c1f4e3aebb6789096d7b7f82b9641c545e4203b44fe8a9243de83bb23a8c53aced30ec26aed0376e0 SHA512 03bf5d521c613728dd12fd33bb76fc64a20798e276dbdc2501446e1fb9891552e88adb25f0e4ff65d6c8aad301a550aec195498ab1f1a506bce3fe384e24cc0e -DIST libaom-3.8.1.tar.gz 5450909 BLAKE2B fec3123f8ee68b1027a1a2019969c098b730da72be2902274659b983857f2d8f62dae5b563543b3f144ae8bc51b6d6fdd4fcd6aadf2ca04d5a4dd5be987fbbac SHA512 f9ee918a37699cfaf2bcb5aa16a4d8b077feb1fc577d8c5437ed3fa1a1c0a5d734c9564e3c8c0f0b1baf43dc5abb7ff0196a77607b10d926c0be7858778ac1e3 +DIST libaom-3.10.0-testdata.tar.xz 426166968 BLAKE2B 1cebddf22a81ea04ea33b94e8e286e3ece97db940850a073bb15dd203414adb9ce89f34fe03d1dea66fef827f33b085772bc5144d182977bcaf545593ca94324 SHA512 a1aae4f8ab6c98ed567a6516d285100af7ef987019ff87294cd1a08d8e74839e652decf85f2a8b5eecab58cb8066684a676716af05fb5f37e6adf2312b996e1a +DIST libaom-3.10.0.tar.gz 5445319 BLAKE2B c4ee6980d5223413f09d163782133a5b7e041f646bfae26a0f386672a964e7f5ab1ec38fc19cc332b38f0bff4b4b96405104f87ca162395ce036d18dd86ef9dc SHA512 70ceb4385032bdac5e892ed78f10878ef54faeabdd042d4a3b92f838146a61baa69d4d4e2576dcf8223918f79b6db72485fd95b5c05a20d41634310cc6b44c44 DIST libaom-3.9.1-testdata.tar.xz 426413144 BLAKE2B 99fad74bbfabbfd1a7b9a2a3ae72c1c5a4810a70cb6f2df54ad4e29da5afd9278fcc2555f859f51dadab41e1d1829d08ee9efee415ca34d05acd5175caf35205 SHA512 81ce77937264c3a4f6da19dab5cfc4feb559359c154fc00105e6aee6aebb1900e4ecaadd248ba09c5aa266ba0f937451a075338c474ca69a64871d6e6f9c4480 DIST libaom-3.9.1.tar.gz 5524048 BLAKE2B 2f983a4a563e16120aa8937e059f4cd267fb60b6d4148f952f1e664a50b84bc0d8ba7629231b60e4263963d97559a819752a4fa0dcf2427c9f94036716221324 SHA512 d134583c9cc17e0c8e0dec17677a5daca6f42636f3cde83e1b0fc5250f7372f190c125afb845540cd947fb28462cc91b111a69ae4fec51946c3730cacf42c36e diff --git a/media-libs/libaom/libaom-3.8.1.ebuild b/media-libs/libaom/libaom-3.10.0.ebuild index ae460624433a..842d301977da 100644 --- a/media-libs/libaom/libaom-3.8.1.ebuild +++ b/media-libs/libaom/libaom-3.10.0.ebuild @@ -3,29 +3,20 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake-multilib flag-o-matic multiprocessing python-any-r1 if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://aomedia.googlesource.com/aom" else - # To update test data tarball, follow these steps: - # 1. Clone the upstream repo and check out the relevant tag, - # or download the release tarball - # 2. Regular cmake configure (options don't matter here): - # cd build && cmake .. - # 3. Set LIBAOM_TEST_DATA_PATH to the directory you want and - # run the "make testdata" target: - # LIBAOM_TEST_DATA_PATH=../libaom-3.7.1-testdata make testdata - # This will download the test data from the internet. - # 4. Create a tarball out of that directory. - # cd .. && tar cvaf libaom-3.7.1-testdata.tar.xz libaom-3.7.1-testdata + # To update test data tarball, + # chromium-tools.git/generate-libaom-test-tarball.sh SRC_URI=" https://storage.googleapis.com/aom-releases/${P}.tar.gz - test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-testdata.tar.xz ) + test? ( https://deps.gentoo.zip/${CATEGORY}/${P}-testdata.tar.xz ) " - KEYWORDS="~alpha amd64 arm arm64 ~loong ppc64 ~riscv x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" fi DESCRIPTION="Alliance for Open Media AV1 Codec SDK" diff --git a/media-libs/libass/libass-0.17.1-r1.ebuild b/media-libs/libass/libass-0.17.1-r2.ebuild index ea718aecd975..559fa48be108 100644 --- a/media-libs/libass/libass-0.17.1-r1.ebuild +++ b/media-libs/libass/libass-0.17.1-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,7 +13,7 @@ SRC_URI+=" verify-sig? ( https://github.com/libass/libass/releases/download/${PV LICENSE="ISC" SLOT="0/9" # subslot = libass soname version -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="+fontconfig libunibreak test" RESTRICT="!test? ( test )" @@ -39,7 +39,7 @@ DOCS=( Changelog ) multilib_src_configure() { ECONF_SOURCE="${S}" econf \ $(use_enable fontconfig) \ - $(use_enable libunibreak) \ + $(multilib_native_use_enable libunibreak) \ $(use_enable test) \ --disable-require-system-font-provider } diff --git a/media-libs/libbsb/libbsb-0.0.7-r1.ebuild b/media-libs/libbsb/libbsb-0.0.7-r1.ebuild deleted file mode 100644 index 60e8aeaa5d9a..000000000000 --- a/media-libs/libbsb/libbsb-0.0.7-r1.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DESCRIPTION="A portable C library for reading and writing BSB format image files" -HOMEPAGE="http://libbsb.sourceforge.net/" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 x86" -IUSE="" - -DEPEND="media-libs/libpng - media-libs/tiff:=" -RDEPEND="${DEPEND}" - -# "make check" in 0.0.7 fails with newer tiff versions (4.0.0) altough the -# tools work perfectly, so restrict test until this is fixed upstream -RESTRICT="test" - -DOCS=( README AUTHORS ) diff --git a/media-libs/libcanberra-gtk3/Manifest b/media-libs/libcanberra-gtk3/Manifest new file mode 100644 index 000000000000..2d908fe537f1 --- /dev/null +++ b/media-libs/libcanberra-gtk3/Manifest @@ -0,0 +1 @@ +DIST libcanberra-0.30.tar.xz 318960 BLAKE2B c90c6863738b103c256eeb0907060a0f74b73ef50ac0728d2114aa558a7a1ad7cbae4184860573d3fac0032eba77327a4de94c459b99a81c3dc19da0e98adfda SHA512 f7543582122256826cd01d0f5673e1e58d979941a93906400182305463d6166855cb51f35c56d807a56dc20b7a64f7ce4391368d24990c1b70782a7d0b4429c2 diff --git a/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch b/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch new file mode 100644 index 000000000000..e51cfe00c0df --- /dev/null +++ b/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch @@ -0,0 +1,64 @@ +From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001 +From: Michael Meeks <michael.meeks@suse.com> +Date: Fri, 09 Nov 2012 16:16:40 +0000 +Subject: gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland + +--- +diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c +index 67791f0..c1532ab 100644 +--- a/src/canberra-gtk-module.c ++++ b/src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { + gboolean ret = FALSE; + Atom xembed; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return FALSE; ++#endif ++ + /* Gnome Panel applets are XEMBED windows. We need to make sure we + * ignore them */ + +diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c +index 34446f5..08cb668 100644 +--- a/src/canberra-gtk.c ++++ b/src/canberra-gtk.c +@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +-- +cgit v0.9.2 diff --git a/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh b/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh new file mode 100644 index 000000000000..63c16af71861 --- /dev/null +++ b/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# to be sourced + +case "$SESSION" in + GNOME) + # Done by gnome-settings-daemon + ;; + *) + if [ -z "$GTK_MODULES" ] ; then + GTK_MODULES="canberra-gtk-module" + else + GTK_MODULES="$GTK_MODULES:canberra-gtk-module" + fi + export GTK_MODULES + ;; +esac diff --git a/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild b/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild new file mode 100644 index 000000000000..a8771a5d9054 --- /dev/null +++ b/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="libcanberra" +MY_P="libcanberra-${PV}" +inherit libtool multilib-minimal + +DESCRIPTION="GTK3 bindings for libcanberra, the portable sound event library" +HOMEPAGE="https://0pointer.de/lennart/projects/libcanberra/" +SRC_URI="https://0pointer.de/lennart/projects/${MY_PN}/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="gnome" + +COMMON_DEPEND=" + ~media-libs/libcanberra-${PV}[${MULTILIB_USEDEP}] + >=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[X,${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] +" +DEPEND="${COMMON_DEPEND} + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + media-libs/libvorbis[${MULTILIB_USEDEP}] +" +RDEPEND="${COMMON_DEPEND} + !<media-libs/libcanberra-0.30-r8[gtk3(-)] + gnome? ( + gnome-base/dconf + gnome-base/gsettings-desktop-schemas ) +" +BDEPEND=" + app-arch/xz-utils + virtual/pkgconfig +" + +PATCHES=( + # gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland (from 'master') + "${FILESDIR}/${MY_P}-wayland.patch" +) + +src_prepare() { + default + elibtoolize +} + +multilib_src_configure() { + local myeconfargs=( + --docdir="${EPREFIX}"/usr/share/doc/${PF} + --disable-alsa + --disable-oss + --disable-pulse + --disable-gstreamer + --disable-gtk + --enable-gtk3 + --disable-tdb + --disable-udev + --disable-lynx + --disable-gtk-doc + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install() { + # Disable parallel installation until bug #253862 is solved + emake DESTDIR="${D}" -j1 install +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die + + rm "${ED}"/usr/include/canberra.h || die + + find "${ED}"/usr \( -iname libcanberra.pc -o -iname libcanberra.vapi \ + -o -iname libcanberra-multi.so -o -iname libcanberra-null.so \ + -o -iname libcanberra.so* \) -delete || die + + # This is needed for desktops different than GNOME, bug #520550 + exeinto /etc/X11/xinit/xinitrc.d + newexe "${FILESDIR}"/${MY_PN}-gtk-module.sh 40-${MY_PN}-gtk-module +} diff --git a/media-libs/libcanberra-gtk3/metadata.xml b/media-libs/libcanberra-gtk3/metadata.xml new file mode 100644 index 000000000000..1db67d7ed56f --- /dev/null +++ b/media-libs/libcanberra-gtk3/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <maintainer type="project"> + <email>sound@gentoo.org</email> + <name>Gentoo Sound project</name> + </maintainer> +</pkgmetadata> diff --git a/media-libs/libcanberra/libcanberra-0.30-r8.ebuild b/media-libs/libcanberra/libcanberra-0.30-r8.ebuild new file mode 100644 index 000000000000..9e70735bd7e5 --- /dev/null +++ b/media-libs/libcanberra/libcanberra-0.30-r8.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool multilib-minimal systemd + +DESCRIPTION="Portable sound event library" +HOMEPAGE="https://0pointer.de/lennart/projects/libcanberra/" +SRC_URI="https://0pointer.de/lennart/projects/${PN}/${P}.tar.xz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="alsa gstreamer oss pulseaudio tdb udev" + +DEPEND=" + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + media-libs/libvorbis[${MULTILIB_USEDEP}] + alsa? ( + media-libs/alsa-lib:=[${MULTILIB_USEDEP}] + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) ) + gstreamer? ( media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + tdb? ( sys-libs/tdb:=[${MULTILIB_USEDEP}] ) +" +RDEPEND="${DEPEND} + x11-themes/sound-theme-freedesktop" # Required for index.theme wrt #323379 +BDEPEND=" + app-arch/xz-utils + virtual/pkgconfig +" + +REQUIRED_USE="udev? ( alsa )" + +src_prepare() { + default + elibtoolize +} + +multilib_src_configure() { + local myeconfargs=( + --docdir="${EPREFIX}"/usr/share/doc/${PF} + $(use_enable alsa) + $(use_enable oss) + $(use_enable pulseaudio pulse) + $(use_enable gstreamer) + --disable-gtk + --disable-gtk3 + $(use_enable tdb) + $(use_enable udev) + --disable-lynx + --disable-gtk-doc + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + + if multilib_is_native_abi; then + ln -s "${S}"/gtkdoc/html gtkdoc/html || die + fi +} + +multilib_src_install() { + # Disable parallel installation until bug #253862 is solved + emake DESTDIR="${D}" -j1 install +} + +multilib_src_install_all() { + einstalldocs + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/media-libs/libcdr/Manifest b/media-libs/libcdr/Manifest index 9a0875ed1917..28009ab8fa9b 100644 --- a/media-libs/libcdr/Manifest +++ b/media-libs/libcdr/Manifest @@ -1 +1,2 @@ DIST libcdr-0.1.7.tar.xz 618528 BLAKE2B 7e74b1936f80078f4b0a07e2e37f9d59489ad27acee66175032ba7250ab492310e4042c7b6d7995b1ffffee7da1c7562f5c2fc24457c3efe0b19fe7e00d8e42b SHA512 9af327fcf9f3f3ef1c446e92f4d2ff06ebaccb54d4c65b021960a212bf416f7098006324625f3e1c00500597eaa9da39832cc27b83a6cd593e97b76b1eb63d38 +DIST libcdr-0.1.8.tar.xz 625836 BLAKE2B e6f63b378e56f15cc194e9b5fb4ebedc3314cfe8179080b042fd84498343858710a5cc1e1e7c47937b6fe9de6f49310d0adc41e1d4b9c6260d6ec7eb49563cb6 SHA512 5dc25ca80817c5d166c89264fb727a723c3439abb8ec655047c2c15bff0a48b87e7c6e3d6b203296964060bf5c2a71a11bceffbbc2f5eb3f61a209bef071a57a diff --git a/media-libs/libcdr/libcdr-0.1.8.ebuild b/media-libs/libcdr/libcdr-0.1.8.ebuild new file mode 100644 index 000000000000..c12b0b13e2e6 --- /dev/null +++ b/media-libs/libcdr/libcdr-0.1.8.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libcdr.git" + inherit autotools git-r3 +else + SRC_URI="https://dev-www.libreoffice.org/src/libcdr/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Library parsing the Corel cdr documents" +HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libcdr" + +LICENSE="MPL-2.0" +SLOT="0" +IUSE="doc test" + +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/icu-75:= + dev-libs/librevenge + media-libs/lcms:2 + sys-libs/zlib +" +DEPEND="${RDEPEND} + dev-libs/boost +" +BDEPEND=" + dev-build/libtool + virtual/pkgconfig + doc? ( app-text/doxygen ) + test? ( dev-util/cppunit ) +" + +src_prepare() { + default + [[ -d m4 ]] || mkdir "m4" + [[ ${PV} == *9999* ]] && eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_with doc docs) + $(use_enable test tests) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${D}" -name '*.la' -delete || die +} diff --git a/media-libs/libcdr/libcdr-9999.ebuild b/media-libs/libcdr/libcdr-9999.ebuild index c7af76ba83e5..c12b0b13e2e6 100644 --- a/media-libs/libcdr/libcdr-9999.ebuild +++ b/media-libs/libcdr/libcdr-9999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -if [[ ${PV} = 9999 ]]; then +if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libcdr.git" inherit autotools git-r3 else @@ -21,7 +21,7 @@ IUSE="doc test" RESTRICT="!test? ( test )" RDEPEND=" - dev-libs/icu:= + >=dev-libs/icu-75:= dev-libs/librevenge media-libs/lcms:2 sys-libs/zlib @@ -39,12 +39,11 @@ BDEPEND=" src_prepare() { default [[ -d m4 ]] || mkdir "m4" - [[ ${PV} == 9999 ]] && eautoreconf + [[ ${PV} == *9999* ]] && eautoreconf } src_configure() { local myeconfargs=( - --disable-static $(use_with doc docs) $(use_enable test tests) ) diff --git a/media-libs/libdisplay-info/libdisplay-info-0.1.1.ebuild b/media-libs/libdisplay-info/libdisplay-info-0.1.1-r1.ebuild index 72e98a8a227b..b00b441195f8 100644 --- a/media-libs/libdisplay-info/libdisplay-info-0.1.1.ebuild +++ b/media-libs/libdisplay-info/libdisplay-info-0.1.1-r1.ebuild @@ -17,11 +17,9 @@ KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" IUSE="test" RESTRICT="!test? ( test )" -RDEPEND="sys-apps/hwdata" -DEPEND="${RDEPEND}" - BDEPEND=" ${PYTHON_DEPS} + sys-apps/hwdata virtual/pkgconfig test? ( >=sys-apps/edid-decode-0_pre20230131 ) " diff --git a/media-libs/libdisplay-info/libdisplay-info-0.2.0.ebuild b/media-libs/libdisplay-info/libdisplay-info-0.2.0-r1.ebuild index 0f71c25d22ab..42cc136a58ff 100644 --- a/media-libs/libdisplay-info/libdisplay-info-0.2.0.ebuild +++ b/media-libs/libdisplay-info/libdisplay-info-0.2.0-r1.ebuild @@ -13,12 +13,10 @@ SRC_URI="https://gitlab.freedesktop.org/emersion/${PN}/-/releases/${PV}/download LICENSE="MIT" SLOT="0/2" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" - -RDEPEND="sys-apps/hwdata" -DEPEND="${RDEPEND}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" BDEPEND=" ${PYTHON_DEPS} + sys-apps/hwdata virtual/pkgconfig " diff --git a/media-libs/libdovi/libdovi-3.3.1.ebuild b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild index c8d73ea5f7ba..0131e18bb74d 100644 --- a/media-libs/libdovi/libdovi-3.3.1.ebuild +++ b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild @@ -89,6 +89,8 @@ CRATES=" windows_x86_64_msvc@0.52.6 wyz@0.5.1 " +RUST_MULTILIB=1 + inherit cargo edo multilib-minimal rust-toolchain DESCRIPTION="Dolby Vision metadata parsing and writing" @@ -116,28 +118,42 @@ src_prepare() { multilib_copy_sources } -multilib_src_configure() { - local -n cargoargs=${PN}_CARGOARGS_${ABI} - - cargoargs=( - --prefix="${EPREFIX}/usr" - --libdir="${EPREFIX}/usr/$(get_libdir)" - --library-type=cdylib - --target="$(rust_abi)" - # cargo cbuild --help claims dev is default but (currently) this seems - # to always use release unless --profile=dev is explicitly passed? - $(usex debug --profile=dev --release) - ) +src_configure() { + multilib_src_configure() { + local -n cargoargs=${PN}_CARGOARGS_${ABI} + + cargoargs=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --library-type=cdylib + --target="$(rust_abi)" + # cargo cbuild --help claims dev is default but (currently) seems + # to always use release unless --profile=dev is explicitly passed? + $(usex debug --profile=dev --release) + ) + } + + multilib-minimal_src_configure } -multilib_src_compile() { - local -n cargoargs=${PN}_CARGOARGS_${ABI} +src_compile() { + multilib_src_compile() { + local -n cargoargs=${PN}_CARGOARGS_${ABI} - edo cargo cbuild "${cargoargs[@]}" + edo cargo cbuild "${cargoargs[@]}" + } + + multilib-minimal_src_compile } -multilib_src_install() { - local -n cargoargs=${PN}_CARGOARGS_${ABI} +src_test() { :; } # no tests, and must not run cargo_src_test + +src_install() { + multilib_src_install() { + local -n cargoargs=${PN}_CARGOARGS_${ABI} + + edo cargo cinstall --destdir="${D}" "${cargoargs[@]}" + } - edo cargo cinstall --destdir="${D}" "${cargoargs[@]}" + multilib-minimal_src_install } diff --git a/media-libs/libebur128/libebur128-1.2.6.ebuild b/media-libs/libebur128/libebur128-1.2.6-r1.ebuild index 4cea299d48e4..41f34da356b9 100644 --- a/media-libs/libebur128/libebur128-1.2.6.ebuild +++ b/media-libs/libebur128/libebur128-1.2.6-r1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake-multilib diff --git a/media-libs/libexif/libexif-0.6.24.ebuild b/media-libs/libexif/libexif-0.6.24.ebuild index 2585bf038cd7..4345eb30b702 100644 --- a/media-libs/libexif/libexif-0.6.24.ebuild +++ b/media-libs/libexif/libexif-0.6.24.ebuild @@ -25,6 +25,10 @@ PATCHES=( "${FILESDIR}"/${PN}-0.6.13-pkgconfig.patch ) +QA_CONFIG_IMPL_DECL_SKIP=( + localtime_s # bug #898318 +) + src_prepare() { default diff --git a/media-libs/libffado/Manifest b/media-libs/libffado/Manifest index ec50968e9f57..16bec4cb62b1 100644 --- a/media-libs/libffado/Manifest +++ b/media-libs/libffado/Manifest @@ -1 +1,2 @@ DIST libffado-2.4.8.tgz 1237955 BLAKE2B 14b83d55fc9a7b33c888b893c808f8419292fefaa2c2239b4b51c2b84070a584ea72821c8469bb8d965a9a5e6473b6fcfb5e85f4eecd2d424e3167322f8abb81 SHA512 fbbcd30640c55315f2e65fc6c07afc71a77dd2c9d1b6127ee55cd17e76511ad5f0563135e52397dbf113fb0d5925021a38780f231409bdd920da52e6c1ce3acc +DIST libffado-2.4.9.tgz 1229651 BLAKE2B ec8300066d47d685aa701316efa6831f05d678c509de341d1b74551bf8a3f04b59dcd80d592e2111670212d4056bd1c150cc23dbf43a797a915bf65ae441c85e SHA512 0a0c61cf9339ab542c85eaefbe017b7613f716ae0ed08d11a37782dd7ef5815b18256c5d1b9240f077c9f59bbf4b4878019cefbd6cab78140477bcad6a9d3e44 diff --git a/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch b/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch new file mode 100644 index 000000000000..db28ec831281 --- /dev/null +++ b/media-libs/libffado/files/libffado-2.4.9-fix-config-load-crash.patch @@ -0,0 +1,12 @@ +--- a/support/mixer-qt4/ffado/mixer/globalmixer.py ++++ b/support/mixer-qt4/ffado/mixer/globalmixer.py +@@ -96,8 +96,7 @@ class GlobalMixer(QWidget): + @pyqtSlot() + def on_txtNickname_returnPressed( self ): + if self.nickname.canChangeValue(): +- asciiData = self.txtNickname.text().toAscii() +- self.nickname.setText( asciiData.data() ) ++ self.nickname.setText( self.txtNickname.text().encode('utf-8') ) + else: + self.txtNickname.setText( self.nickname.text() ) + diff --git a/media-libs/libffado/libffado-2.4.8.ebuild b/media-libs/libffado/libffado-2.4.8.ebuild index 2bf41f8f6808..b462875341c1 100644 --- a/media-libs/libffado/libffado-2.4.8.ebuild +++ b/media-libs/libffado/libffado-2.4.8.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..12} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal @@ -39,7 +39,7 @@ CDEPEND="${PYTHON_DEPS} qt5? ( $(python_gen_cond_dep ' dev-python/dbus-python[${PYTHON_USEDEP}] - dev-python/PyQt5[dbus,${PYTHON_USEDEP}] + dev-python/pyqt5[dbus,${PYTHON_USEDEP}] ') x11-misc/xdg-utils )" diff --git a/media-libs/libffado/libffado-2.4.9.ebuild b/media-libs/libffado/libffado-2.4.9.ebuild new file mode 100644 index 000000000000..daf6d4c572ee --- /dev/null +++ b/media-libs/libffado/libffado-2.4.9.ebuild @@ -0,0 +1,127 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit desktop python-single-r1 scons-utils toolchain-funcs udev multilib-minimal xdg + +DESCRIPTION="Driver for IEEE1394 (Firewire) audio interfaces" +HOMEPAGE="http://www.ffado.org" + +if [[ "${PV}" = "9999" ]]; then + inherit subversion + ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/${PN}" +else + SRC_URI="http://www.ffado.org/files/${P}.tgz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="GPL-2 GPL-3" +SLOT="0" +IUSE="debug qt5 test-programs" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +BDEPEND=" + virtual/pkgconfig +" +CDEPEND="${PYTHON_DEPS} + dev-cpp/libxmlpp:2.6[${MULTILIB_USEDEP}] + >=dev-libs/dbus-c++-0.9.0-r5 + dev-libs/libconfig:=[cxx,${MULTILIB_USEDEP}] + media-libs/alsa-lib + media-libs/libiec61883[${MULTILIB_USEDEP}] + sys-apps/dbus + sys-libs/libavc1394[${MULTILIB_USEDEP}] + sys-libs/libraw1394[${MULTILIB_USEDEP}] + qt5? ( + $(python_gen_cond_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/pyqt5[dbus,${PYTHON_USEDEP}] + ') + x11-misc/xdg-utils + )" +DEPEND="${CDEPEND}" +RDEPEND="${CDEPEND}" + +PATCHES=( + "${FILESDIR}/libffado-2.4.9-fix-config-load-crash.patch" +) + +myescons() { + local myesconsargs=( + PREFIX="${EPREFIX}/usr" + LIBDIR="${EPREFIX}/usr/$(get_libdir)" + MANDIR="${EPREFIX}/usr/share/man" + UDEVDIR="$(get_udevdir)/rules.d" + CUSTOM_ENV=true + DETECT_USERSPACE_ENV=false + DEBUG=$(usex debug) + PYPKGDIR="$(python_get_sitedir)" + # ENABLE_OPTIMIZATIONS detects cpu type and sets flags accordingly + # -fomit-frame-pointer is added also which can cripple debugging. + # we set flags from portage instead + ENABLE_OPTIMIZATIONS=false + # This only works for JACK1>=0.122.0 or JACK2>=1.9.9. + ENABLE_SETBUFFERSIZE_API_VER=force + ) + if multilib_is_native_abi; then + myesconsargs+=( + BUILD_MIXER=$(usex qt5 true false) + BUILD_TESTS=$(usex test-programs) + ) + else + myesconsargs+=( + BUILD_MIXER=false + BUILD_TESTS=false + ) + fi + escons "${myesconsargs[@]}" "${@}" +} + +src_prepare() { + default + + # Bug #808853 + cp "${BROOT}"/usr/share/gnuconfig/config.guess admin/ || die "Failed to update config.guess" + + # Always use Qt5 + sed -i -e 's/try:/if False:/' -e 's/except.*/else:/' support/mixer-qt4/ffado/import_pyqt.py || die + + # Bugs #658052, #659226 + sed -i -e 's/^CacheDir/#CacheDir/' SConstruct || die + + multilib_copy_sources +} + +multilib_src_compile() { + tc-export CC CXX + myescons +} + +multilib_src_install() { + myescons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install +} + +multilib_src_install_all() { + einstalldocs + + python_fix_shebang "${D}" + python_optimize "${D}" + + if use qt5; then + newicon "support/xdg/hi64-apps-ffado.png" "ffado.png" + newmenu "support/xdg/org.ffado.FfadoMixer.desktop" "ffado-mixer.desktop" + fi +} + +pkg_postinst() { + xdg_icon_cache_update + udev_reload +} + +pkg_postrm() { + xdg_icon_cache_update + udev_reload +} diff --git a/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild b/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild index 174d912e442b..71fd52981ae6 100644 --- a/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild +++ b/media-libs/libfishsound/libfishsound-1.0.0-r2.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://downloads.xiph.org/releases/libfishsound/${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="flac speex" RDEPEND=" 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/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch b/media-libs/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch new file mode 100644 index 000000000000..d5f2068abff4 --- /dev/null +++ b/media-libs/libgphoto2/files/libgphoto2-2.5.31-remove-gpi_gphoto_port_type_map.patch @@ -0,0 +1,31 @@ +https://github.com/gphoto/libgphoto2/commit/8ddcae4ed2bd052318b0849617e22bf92a98dd17 +https://github.com/gphoto/libgphoto2/commit/3cf7a1d04dcffa52907026c4c2d35ee8273f3147 +From: Matt Jolly <kangie@gentoo.org> +Date: Mon, 25 Nov 2024 15:50:22 +1000 +Subject: [PATCH] consolidate removal of `gpi_gphoto_port_type_map` + +This was several upstream commits + +--- a/libgphoto2_port/gphoto2/gphoto2-port-info-list.h ++++ b/libgphoto2_port/gphoto2/gphoto2-port-info-list.h +@@ -62,7 +62,6 @@ extern "C" { + + #ifdef _GPHOTO2_INTERNAL_CODE + #include <gphoto2/gphoto2-port-log.h> +-extern const StringFlagItem gpi_gphoto_port_type_map[]; + #endif + + int gp_port_info_new (GPPortInfo *info); +--- a/libgphoto2_port/libgphoto2_port/libgphoto2_port.ver ++++ b/libgphoto2_port/libgphoto2_port/libgphoto2_port.ver +@@ -71,7 +71,6 @@ LIBGPHOTO2_5_0 { + + # These are only supposed to be used by libgphoto2 internally. + LIBGPHOTO2_INTERNAL { +- gpi_gphoto_port_type_map; + gpi_enum_to_string; + gpi_string_to_enum; + gpi_string_to_flag; +-- +2.47.0 + diff --git a/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild b/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild index afb3be44733a..cfaa872eaf3b 100644 --- a/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild +++ b/media-libs/libgphoto2/libgphoto2-2.5.31-r2.ebuild @@ -77,7 +77,8 @@ MULTILIB_CHOST_TOOLS=( ) PATCHES=( - "${FILESDIR}"/${PN}-2.5.31-c99.patch + "${FILESDIR}"/${P}-c99.patch + "${FILESDIR}"/${P}-remove-gpi_gphoto_port_type_map.patch ) src_prepare() { diff --git a/media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch b/media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch new file mode 100644 index 000000000000..2d312c9f997e --- /dev/null +++ b/media-libs/libgpod/files/libgpod-0.8.3-pixbuf.patch @@ -0,0 +1,25 @@ +https://bugs.gentoo.org/919219 +https://src.fedoraproject.org/rpms/libgpod/blob/rawhide/f/pointer-types.patch +--- a/src/ithumb-writer.c ++++ b/src/ithumb-writer.c +@@ -968,7 +968,7 @@ + else if (thumb->data_type == ITDB_THUMB_TYPE_PIXBUF) + { + Itdb_Thumb_Pixbuf *thumb_pixbuf = (Itdb_Thumb_Pixbuf *)thumb; +- pixbuf = g_object_ref (G_OBJECT (thumb_pixbuf->pixbuf)); ++ pixbuf = (GdkPixbuf *)(g_object_ref (G_OBJECT (thumb_pixbuf->pixbuf))); + } + + if (pixbuf == NULL) +--- a/src/ithumb-writer.c ++++ b/src/ithumb-writer.c +@@ -728,7 +728,7 @@ + { + return gdk_pixbuf_rotate_simple (pixbuf, *rotation); + } +- return g_object_ref (G_OBJECT (pixbuf)); ++ return (GdkPixbuf *)(g_object_ref (G_OBJECT (pixbuf))); + } + + /* On the iPhone, thumbnails are presented as squares in a grid. + diff --git a/media-libs/libgpod/libgpod-0.8.3-r7.ebuild b/media-libs/libgpod/libgpod-0.8.3-r7.ebuild index e04326a20141..51a35d7cd8e5 100644 --- a/media-libs/libgpod/libgpod-0.8.3-r7.ebuild +++ b/media-libs/libgpod/libgpod-0.8.3-r7.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/gtkpod/${P}.tar.bz2" LICENSE="LGPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~riscv ~x86" +KEYWORDS="amd64 ppc ~riscv x86" IUSE="+gtk ios +udev" RDEPEND=" diff --git a/media-libs/libgpod/libgpod-0.8.3-r8.ebuild b/media-libs/libgpod/libgpod-0.8.3-r8.ebuild new file mode 100644 index 000000000000..a2a97c747088 --- /dev/null +++ b/media-libs/libgpod/libgpod-0.8.3-r8.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools udev + +DESCRIPTION="Shared library to access the contents of an iPod" +HOMEPAGE="http://www.gtkpod.org/libgpod/" +SRC_URI="https://downloads.sourceforge.net/gtkpod/${P}.tar.bz2" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ~riscv x86" +IUSE="+gtk ios +udev" + +RDEPEND=" + >=app-pda/libplist-2.3:= + >=dev-db/sqlite-3:3 + >=dev-libs/glib-2.16:2 + dev-libs/libxml2:2 + sys-apps/sg3_utils:0= + gtk? ( x11-libs/gdk-pixbuf:2 ) + ios? ( app-pda/libimobiledevice:= ) + udev? ( virtual/udev ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-libs/libxslt + dev-util/intltool + dev-build/gtk-doc-am + sys-devel/gettext + virtual/pkgconfig +" + +DOCS=( AUTHORS NEWS README{,.overview,.sqlite,.SysInfo} TROUBLESHOOTING ) + +PATCHES=( + "${FILESDIR}"/${P}-comment.patch # bug 537968 + "${FILESDIR}"/${P}-segfault.patch # bug 565052 + "${FILESDIR}"/${P}-pkgconfig_overlinking.patch + "${FILESDIR}"/${P}-implicit-int.patch + "${FILESDIR}"/${P}-plist-2.3.patch + "${FILESDIR}"/${P}-pixbuf.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-pygobject + --disable-static + --without-hal + --without-mono + --without-python + --with-udev-dir="$(get_udevdir)" + $(use_enable gtk gdk-pixbuf) + $(use_with ios libimobiledevice) + $(use_enable udev) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + rm "${ED}"/usr/$(get_libdir)/pkgconfig/libgpod-sharp.pc || die + [[ -d ${ED}/tmp ]] && rmdir "${ED}"/tmp || die + find "${ED}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + use udev && udev_reload +} + +pkg_postrm() { + use udev && udev_reload +} diff --git a/media-libs/libheif/Manifest b/media-libs/libheif/Manifest index f28c23498611..cb35aa8230d8 100644 --- a/media-libs/libheif/Manifest +++ b/media-libs/libheif/Manifest @@ -1,4 +1 @@ -DIST libheif-1.15.2.tar.gz 1749773 BLAKE2B 788ecf59c936bfae9544bedd5fa50fd74f04adf29f804994bc208d2a5339b13984baf78a508babd80fa0d48381b2cc0bfb1e1140de97437b8c0336378a64fcb6 SHA512 79f22dad084bbe965dae7b8f92fc119dbdde7a04577ca9c7bc28b1a022a06f0ae64d3fbd11e82d6907f0fd678a31d98275e508a51a6bd0a9e8675c93790f1996 -DIST libheif-1.17.6.tar.gz 1433302 BLAKE2B 937a1ddfd86c4d50a609e24d00c07e0d1924a5532e36293f83fd67a38f4c13186cb5c4837598000d6d3516ec1965fdc6709ef825c327fd5ce3ea2194008b6efd SHA512 47d93df4f584979cea26af74cd8543b13398356b5fd46b1b378f7738cee471e80b7e117f6ce307674a549182f5ce22a577c6e79a6e72fe166421efc4be04687a -DIST libheif-1.18.1.tar.gz 1524386 BLAKE2B 07c01c273460618d56b9259c2930da34632fffdcc2338480277e678ab173126bc9d6882a33dc459ed7cdacd7e636ff8d13c406c76c046afc47166609e9595942 SHA512 0b37b834882af8368fc550e75245f4cf487c71a041833ba5e7887155e289e9c2058b41724524091347f297cfdec45b537796a97f4c43531aecf9f0a099753f41 DIST libheif-1.18.2.tar.gz 1525096 BLAKE2B 667a68f324f89b2274ea837ec8d40ada5450dce79f2b8d9e8ba365fe5f02d4222195109519380a6d38c4ebca929575e58c3a8e517aed27a2696d67db3e287556 SHA512 8fd47dbc8e31fdb6a972c852bc4e78440492ee3dd769e139f28ad489ccc23e6cf42a90cd23b16405fa30df3c7c43c78b2b65d5ca3ffb449bf06789b457ed3072 diff --git a/media-libs/libheif/libheif-1.15.2-r1.ebuild b/media-libs/libheif/libheif-1.15.2-r1.ebuild deleted file mode 100644 index 491451aa033b..000000000000 --- a/media-libs/libheif/libheif-1.15.2-r1.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools xdg multilib-minimal - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/strukturag/libheif.git" - inherit git-r3 -else - SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" -fi - -DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder" -HOMEPAGE="https://github.com/strukturag/libheif" - -LICENSE="GPL-3" -SLOT="0/1.12" -IUSE="+aom gdk-pixbuf go rav1e test +threads x265" -REQUIRED_USE="test? ( go )" -RESTRICT="!test? ( test )" - -# Bug 865351: tests requires <dev-cpp/catch-3 -BDEPEND=" - test? ( - =dev-cpp/catch-2* - dev-lang/go - ) -" -DEPEND=" - media-libs/dav1d:=[${MULTILIB_USEDEP}] - media-libs/libde265:=[${MULTILIB_USEDEP}] - media-libs/libpng:0=[${MULTILIB_USEDEP}] - sys-libs/zlib:=[${MULTILIB_USEDEP}] - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}] - aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] ) - gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] ) - go? ( dev-lang/go ) - rav1e? ( media-video/rav1e:= ) - x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )" -RDEPEND="${DEPEND}" - -src_prepare() { - default - - sed -i -e 's:-Werror::' configure.ac || die - - if use test ; then - # bug 865351 - rm tests/catch.hpp || die - ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die - fi - - eautoreconf - - # prevent "stat heif-test.go: no such file or directory" - multilib_copy_sources -} - -multilib_src_configure() { - export GO111MODULE=auto - local econf_args=( - --enable-libde265 - --disable-static - $(multilib_is_native_abi && use go || echo --disable-go) - $(use_enable aom) - $(use_enable gdk-pixbuf) - $(use_enable rav1e) - $(use_enable threads multithreading) - $(use_enable test tests) - $(use_enable x265) - ) - ECONF_SOURCE="${S}" econf "${econf_args[@]}" -} - -multilib_src_test() { - default - emake -C go test -} - -multilib_src_install_all() { - einstalldocs - find "${ED}" -name '*.la' -delete || die -} diff --git a/media-libs/libheif/libheif-1.17.6.ebuild b/media-libs/libheif/libheif-1.17.6.ebuild deleted file mode 100644 index 7e7142cf23cc..000000000000 --- a/media-libs/libheif/libheif-1.17.6.ebuild +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg multilib-minimal - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/strukturag/libheif.git" - inherit git-r3 -else - SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder" -HOMEPAGE="https://github.com/strukturag/libheif" - -LICENSE="GPL-3" -SLOT="0/$(ver_cut 1-2)" -IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265" -REQUIRED_USE="test? ( go )" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-cpp/catch - dev-lang/go - ) -" -DEPEND=" - media-libs/dav1d:=[${MULTILIB_USEDEP}] - media-libs/libde265:=[${MULTILIB_USEDEP}] - media-libs/libpng:0=[${MULTILIB_USEDEP}] - media-libs/tiff:=[${MULTILIB_USEDEP}] - sys-libs/zlib:=[${MULTILIB_USEDEP}] - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}] - aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] ) - gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] ) - go? ( dev-lang/go ) - rav1e? ( media-video/rav1e:= ) - svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] ) - x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] )" -RDEPEND="${DEPEND}" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libheif/heif_version.h -) - -src_prepare() { - default - - if use test ; then - # bug 865351 - rm tests/catch.hpp || die - ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die - fi - - sed -e '/Werror/d' -i CMakeLists.txt || die # bug 936466 - - cmake_src_prepare - - multilib_copy_sources -} - -multilib_src_configure() { - export GO111MODULE=auto - local mycmakeargs=( - -DENABLE_PLUGIN_LOADING=true - -DWITH_LIBDE265=true - -DWITH_AOM_DECODER=$(usex aom) - -DWITH_AOM_ENCODER=$(usex aom) - -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf) - -DWITH_RAV1E="$(multilib_native_usex rav1e)" - -DWITH_SvtEnc="$(usex svt-av1)" - -DWITH_X265=$(usex x265) - -DWITH_KVAZAAR=true - -DWITH_JPEG_DECODER=true - -DWITH_JPEG_ENCODER=true - -DWITH_OpenJPEG_DECODER=true - -DWITH_OpenJPEG_ENCODER=true - ) - cmake_src_configure -} - -multilib_src_compile() { - default - cmake_src_compile -} - -multilib_src_test() { - default -} - -multilib_src_install() { - cmake_src_install -} - -multilib_src_install_all() { - einstalldocs -} diff --git a/media-libs/libheif/libheif-1.18.1.ebuild b/media-libs/libheif/libheif-1.18.1.ebuild deleted file mode 100644 index cab80b1c1b09..000000000000 --- a/media-libs/libheif/libheif-1.18.1.ebuild +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg multilib-minimal - -if [[ ${PV} == *9999 ]] ; then - EGIT_REPO_URI="https://github.com/strukturag/libheif.git" - inherit git-r3 -else - SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv x86" -fi - -DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder" -HOMEPAGE="https://github.com/strukturag/libheif" - -LICENSE="GPL-3" -SLOT="0/$(ver_cut 1-2)" -IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265" -REQUIRED_USE="test? ( go )" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-cpp/catch - dev-lang/go - ) -" -DEPEND=" - media-libs/dav1d:=[${MULTILIB_USEDEP}] - media-libs/libde265:=[${MULTILIB_USEDEP}] - media-libs/libpng:0=[${MULTILIB_USEDEP}] - media-libs/tiff:=[${MULTILIB_USEDEP}] - sys-libs/zlib:=[${MULTILIB_USEDEP}] - media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}] - aom? ( >=media-libs/libaom-2.0.0:=[${MULTILIB_USEDEP}] ) - gdk-pixbuf? ( x11-libs/gdk-pixbuf[${MULTILIB_USEDEP}] ) - go? ( dev-lang/go ) - rav1e? ( media-video/rav1e:= ) - svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] ) - x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] ) -" -RDEPEND="${DEPEND}" - -# https://github.com/strukturag/libheif/issues/1249 -PATCHES=( "${FILESDIR}"/${P}-prepend_DESTDIR_when_generating_heif-convert_symlink.patch ) - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/libheif/heif_version.h -) - -src_prepare() { - if use test ; then - # bug 865351 - rm tests/catch.hpp || die - ln -s "${ESYSROOT}"/usr/include/catch2/catch.hpp tests/catch.hpp || die - fi - - sed -e '/Werror/d' -i CMakeLists.txt || die # bug 936466 - - cmake_src_prepare - - multilib_copy_sources -} - -multilib_src_configure() { - export GO111MODULE=auto - local mycmakeargs=( - -DENABLE_PLUGIN_LOADING=true - -DWITH_LIBDE265=true - -DWITH_AOM_DECODER=$(usex aom) - -DWITH_AOM_ENCODER=$(usex aom) - -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf) - -DWITH_RAV1E="$(multilib_native_usex rav1e)" - -DWITH_SvtEnc="$(usex svt-av1)" - -DWITH_X265=$(usex x265) - -DWITH_KVAZAAR=true - -DWITH_JPEG_DECODER=true - -DWITH_JPEG_ENCODER=true - -DWITH_OpenJPEG_DECODER=true - -DWITH_OpenJPEG_ENCODER=true - ) - cmake_src_configure -} - -multilib_src_compile() { - default - cmake_src_compile -} - -multilib_src_test() { - default -} - -multilib_src_install() { - cmake_src_install -} - -multilib_src_install_all() { - einstalldocs -} diff --git a/media-libs/libheif/libheif-1.18.2.ebuild b/media-libs/libheif/libheif-1.18.2-r1.ebuild index eb8d3c1b497c..f06fd824520b 100644 --- a/media-libs/libheif/libheif-1.18.2.ebuild +++ b/media-libs/libheif/libheif-1.18.2-r1.ebuild @@ -5,12 +5,12 @@ EAPI=8 inherit cmake xdg multilib-minimal -if [[ ${PV} == *9999 ]] ; then +if [[ ${PV} == *9999* ]] ; then EGIT_REPO_URI="https://github.com/strukturag/libheif.git" inherit git-r3 else SRC_URI="https://github.com/strukturag/libheif/releases/download/v${PV}/${P}.tar.gz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86" fi DESCRIPTION="ISO/IEC 23008-12:2017 HEIF file format decoder and encoder" @@ -18,7 +18,7 @@ HOMEPAGE="https://github.com/strukturag/libheif" LICENSE="GPL-3" SLOT="0/$(ver_cut 1-2)" -IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265" +IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads +webp x265" REQUIRED_USE="test? ( go )" RESTRICT="!test? ( test )" @@ -40,6 +40,7 @@ DEPEND=" go? ( dev-lang/go ) rav1e? ( media-video/rav1e:= ) svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] ) + webp? ( media-libs/libwebp:= ) x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] ) " RDEPEND="${DEPEND}" @@ -72,6 +73,7 @@ multilib_src_configure() { -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf) -DWITH_RAV1E="$(multilib_native_usex rav1e)" -DWITH_SvtEnc="$(usex svt-av1)" + -DWITH_LIBSHARPYUV=$(usex webp) -DWITH_X265=$(usex x265) -DWITH_KVAZAAR=true -DWITH_JPEG_DECODER=true diff --git a/media-libs/libheif/libheif-9999.ebuild b/media-libs/libheif/libheif-9999.ebuild index b5c9b73f88d0..e55830a930cc 100644 --- a/media-libs/libheif/libheif-9999.ebuild +++ b/media-libs/libheif/libheif-9999.ebuild @@ -5,7 +5,7 @@ EAPI=8 inherit cmake xdg multilib-minimal -if [[ ${PV} == *9999 ]] ; then +if [[ ${PV} == *9999* ]] ; then EGIT_REPO_URI="https://github.com/strukturag/libheif.git" inherit git-r3 else @@ -18,7 +18,7 @@ HOMEPAGE="https://github.com/strukturag/libheif" LICENSE="GPL-3" SLOT="0/$(ver_cut 1-2)" -IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads x265" +IUSE="+aom gdk-pixbuf go rav1e svt-av1 test +threads +webp x265" REQUIRED_USE="test? ( go )" RESTRICT="!test? ( test )" @@ -30,7 +30,7 @@ BDEPEND=" " DEPEND=" media-libs/dav1d:=[${MULTILIB_USEDEP}] - media-libs/libde265:=[${MULTILIB_USEDEP}] + media-libs/libde265[${MULTILIB_USEDEP}] media-libs/libpng:0=[${MULTILIB_USEDEP}] media-libs/tiff:=[${MULTILIB_USEDEP}] sys-libs/zlib:=[${MULTILIB_USEDEP}] @@ -40,13 +40,11 @@ DEPEND=" go? ( dev-lang/go ) rav1e? ( media-video/rav1e:= ) svt-av1? ( media-libs/svt-av1:=[${MULTILIB_USEDEP}] ) + webp? ( media-libs/libwebp:= ) x265? ( media-libs/x265:=[${MULTILIB_USEDEP}] ) " RDEPEND="${DEPEND}" -# https://github.com/strukturag/libheif/issues/1249 -PATCHES=( "${FILESDIR}"/${P}-prepend_DESTDIR_when_generating_heif-convert_symlink.patch ) - MULTILIB_WRAPPED_HEADERS=( /usr/include/libheif/heif_version.h ) @@ -73,6 +71,7 @@ multilib_src_configure() { -DWITH_GDK_PIXBUF=$(usex gdk-pixbuf) -DWITH_RAV1E="$(multilib_native_usex rav1e)" -DWITH_SvtEnc="$(usex svt-av1)" + -DWITH_LIBSHARPYUV=$(usex webp) -DWITH_X265=$(usex x265) -DWITH_KVAZAAR=true -DWITH_JPEG_DECODER=true diff --git a/media-libs/libheif/metadata.xml b/media-libs/libheif/metadata.xml index e1aa5ee8fec4..c7254be4a3ca 100644 --- a/media-libs/libheif/metadata.xml +++ b/media-libs/libheif/metadata.xml @@ -8,6 +8,7 @@ <flag name="go">Enable building <pkg>dev-lang/go</pkg> code/examples</flag> <flag name="rav1e">Use <pkg>media-video/rav1e</pkg> for AVIF encoding</flag> <flag name="svt-av1">Use <pkg>media-libs/svt-av1</pkg> for SVT-AV1 encoding</flag> + <flag name="webp">Enable high-quality YCbCr/RGB color space conversion algorithms</flag> <flag name="x265">Use <pkg> media-libs/x265</pkg> for HEIF encoding</flag> </use> <upstream> diff --git a/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild b/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild index 6f51a051ba3e..d043c92b131f 100644 --- a/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild +++ b/media-libs/libiptcdata/libiptcdata-1.0.5-r1.ebuild @@ -41,6 +41,13 @@ src_prepare() { eautoreconf if use python; then cd python || die + # Bug #936589: compiling from inside the 'python' sub-directory + # might set that as the top source directory, and not ${S}, but + # "${S}/libiptcdata" is required to find headers and libraries. + # Symbolic linking "../libiptcdata" is a possible fix. Another + # way is adding in python/setup.py, under iptcdata's Extension, + # "include_dirs=['..']" and "library_dirs=['../libiptcdata']". + ln -s "../${PN}" . || die distutils-r1_src_prepare fi } diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild index 1819d640e226..0e1e637c14be 100644 --- a/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild +++ b/media-libs/libjpeg-turbo/libjpeg-turbo-3.0.3-r1.ebuild @@ -15,7 +15,7 @@ SRC_URI=" LICENSE="BSD IJG ZLIB java? ( GPL-2-with-classpath-exception )" SLOT="0/0.2" if [[ $(ver_cut 3) -lt 90 ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-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 ~x64-macos ~x64-solaris" fi IUSE="cpu_flags_arm_neon java static-libs" diff --git a/media-libs/libjxl/Manifest b/media-libs/libjxl/Manifest index 27130d4f33c7..3be9ce4ebe87 100644 --- a/media-libs/libjxl/Manifest +++ b/media-libs/libjxl/Manifest @@ -1,5 +1,3 @@ -DIST libjxl-0.10.3.tar.gz 1912351 BLAKE2B 4432ecf34ac03d9ce8fc814835c7ee31fcc1e516b95e347dcb201a6996e1ffaadbd2e78a6a235ee1c4ff5121af495b8bc621e6738e2d03a8eb1639fb397e5246 SHA512 5ece482f4c5f0312e87e020f921525622a6d3f1a3834f3cd8666638fc8d0fba8cd072ef58f7b153dc17ca19071ebae2fbad7b08e6d440c2669f4f1b35888a7d4 DIST libjxl-0.11.0.tar.gz 1873614 BLAKE2B 60f038c35f921e1d6cfaab62ec92c15fa8b0bb9369724bdbaf25fb72559670de6f2e86bf1fb7d37158e1d046d46d20610b574e2288f86d4bae52fdc2c51e3b76 SHA512 a3648a5f046cae36b3272c46525d002d490f781f44647d4d8318f0b773dd9b7902582ced5636af3489f1d6a44e3baf8ad2e5ab47d26869d16b01607d90e14053 -DIST libjxl-0.8.3.tar.gz 1612441 BLAKE2B d1c3b108c67d0a3a63ce50cdc7305b6853b182ec6c210d499e15120fbb858dada23997a4a0eb545f936e02230ed773506b066f24e19cce1f99aedaafd2bd7803 SHA512 f7fb4b2b0fd2459bec86918371369e80de59549c8dc24ff5c83546f564e54c81ea6a72720af151e3f9b64ef326f3ec8a5a6e0023b7fe2de14b056e501af579ef -DIST libjxl-testdata-d6168ffb9e1cc24007e64b65dd84d822ad1fc759.tar.gz 67553075 BLAKE2B 779fee87386e617edd93bca7a523fa1ab223ae88114c3cc5484987a7c92cca2d0bb3d668fa3c8064b2a0255c17a06447c009f4fbf9ef379692ddfa37dee1be97 SHA512 a48d74a1ccff404eb7675225b59965e056dc3fc09930572785d83bae03fa1c38e105336dbf5ecfc3f0995e8b8bfb1097b451ae661f2933590b2b152192c8aa2f +DIST libjxl-0.11.1.tar.gz 1876134 BLAKE2B e2a96464fdcdff483de92e0f3301870a62f934976e6d78fd1efe30fe96f30ce6c3459843385712df7914ad53aeff3de1b84ac1a4d22294e909ed559d7c6c9db9 SHA512 0cfd81d9d3b783f96bd04f244d73ffbc12186c89993d46064a2751bef0a446a5e86be05add5c10f60d4482d39333d9bf3f9a866d6eb84f8fa0d4e8b5828fd74c DIST libjxl-testdata-ff8d743aaba05b3014f17e5475e576242fa979fc.tar.gz 69105882 BLAKE2B a80fce437b810e7b99b4c7bd106ec7eba01a1eeddc90e1b82cb8d75f3ca194c357ef8e7b7e1e9da65aa39dc2cd11d32cb6de8558188c5258c7446d58787603ff SHA512 0d237e706fd8d001a9cb245b685e8e39085416daedec019c348ccc64cf15a34cecdb0c245f94f57507f5934e487ee5157f51f59bb6a000f5899862c582336384 diff --git a/media-libs/libjxl/libjxl-0.10.3.ebuild b/media-libs/libjxl/libjxl-0.11.1.ebuild index 28d788eb5bc6..3c160e17d651 100644 --- a/media-libs/libjxl/libjxl-0.10.3.ebuild +++ b/media-libs/libjxl/libjxl-0.11.1.ebuild @@ -20,7 +20,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~sparc ~x86" IUSE="+gdk-pixbuf gif jpeg openexr +png test" REQUIRED_USE="test? ( png )" RESTRICT="!test? ( test )" diff --git a/media-libs/libjxl/libjxl-0.8.3.ebuild b/media-libs/libjxl/libjxl-0.8.3.ebuild deleted file mode 100644 index 98201c404d7e..000000000000 --- a/media-libs/libjxl/libjxl-0.8.3.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -# This changes frequently. Please check the testdata submodule when bumping. -TESTDATA_COMMIT="d6168ffb9e1cc24007e64b65dd84d822ad1fc759" -DESCRIPTION="JPEG XL image format reference implementation" -HOMEPAGE="https://github.com/libjxl/libjxl" -SRC_URI="https://github.com/libjxl/libjxl/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - test? ( https://github.com/libjxl/testdata/archive/${TESTDATA_COMMIT}.tar.gz - -> ${PN}-testdata-${TESTDATA_COMMIT}.tar.gz )" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc64 ~riscv ~sparc x86" -IUSE="gif jpeg openexr +png test" -RESTRICT="!test? ( test )" - -DEPEND=" - app-arch/brotli:=[${MULTILIB_USEDEP}] - >=dev-cpp/highway-1.0.0[${MULTILIB_USEDEP}] - >=media-libs/lcms-2.13:2[${MULTILIB_USEDEP}] - gif? ( media-libs/giflib:=[${MULTILIB_USEDEP}] ) - jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) - openexr? ( media-libs/openexr:= ) - png? ( media-libs/libpng:=[${MULTILIB_USEDEP}] ) -" -RDEPEND=" - ${DEPEND} - >=x11-misc/shared-mime-info-2.2 -" -DEPEND+=" - test? ( dev-cpp/gtest[${MULTILIB_USEDEP}] ) -" - -PATCHES=( - "${FILESDIR}/${PN}-0.8.2-backport-pr2596.patch" - "${FILESDIR}/${PN}-0.8.2-backport-pr2617.patch" -) - -multilib_src_configure() { - local mycmakeargs=( - -DJPEGXL_ENABLE_BENCHMARK=OFF - -DJPEGXL_ENABLE_COVERAGE=OFF - -DJPEGXL_ENABLE_FUZZERS=OFF - -DJPEGXL_ENABLE_SJPEG=OFF - -DJPEGXL_WARNINGS_AS_ERRORS=OFF - - -DCMAKE_DISABLE_FIND_PACKAGE_GIF=$(usex !gif) - -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=$(usex !jpeg) - -DCMAKE_DISABLE_FIND_PACKAGE_PNG=$(usex !png) - - -DJPEGXL_ENABLE_SKCMS=OFF - -DJPEGXL_ENABLE_VIEWERS=OFF - -DJPEGXL_ENABLE_PLUGINS=OFF - -DJPEGXL_FORCE_SYSTEM_BROTLI=ON - -DJPEGXL_FORCE_SYSTEM_GTEST=ON - -DJPEGXL_FORCE_SYSTEM_HWY=ON - -DJPEGXL_FORCE_SYSTEM_LCMS2=ON - -DJPEGXL_ENABLE_DOXYGEN=OFF - -DJPEGXL_ENABLE_MANPAGES=OFF - -DJPEGXL_ENABLE_JNI=OFF - -DJPEGXL_ENABLE_JPEGLI_LIBJPEG=OFF - -DJPEGXL_ENABLE_TCMALLOC=OFF - -DJPEGXL_ENABLE_EXAMPLES=OFF - ) - - if multilib_is_native_abi; then - mycmakeargs+=( - -DJPEGXL_ENABLE_TOOLS=ON - -DJPEGXL_ENABLE_OPENEXR=$(usex openexr) - -DBUILD_TESTING=$(usex test ON OFF) - ) - use test && - mycmakeargs+=( -DJPEGXL_TEST_DATA_PATH="${WORKDIR}/testdata-${TESTDATA_COMMIT}" ) - else - mycmakeargs+=( - -DJPEGXL_ENABLE_TOOLS=OFF - -DJPEGXL_ENABLE_OPENEXR=OFF - -DBUILD_TESTING=OFF - ) - fi - - cmake_src_configure -} - -multilib_src_install() { - cmake_src_install - - find "${ED}" -name '*.a' -delete || die -} diff --git a/media-libs/libldac/libldac-2.0.2.3-r1.ebuild b/media-libs/libldac/libldac-2.0.2.3-r2.ebuild index 7659cebb7986..9354fb95f51f 100644 --- a/media-libs/libldac/libldac-2.0.2.3-r1.ebuild +++ b/media-libs/libldac/libldac-2.0.2.3-r2.ebuild @@ -1,20 +1,19 @@ -# Copyright 2019-2023 Gentoo Authors +# Copyright 2019-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit cmake-multilib DESCRIPTION="LDAC codec library from AOSP" HOMEPAGE="https://android.googlesource.com/platform/external/libldac/" SRC_URI="https://github.com/EHfive/ldacBT/releases/download/v${PV}/ldacBT-${PV}.tar.gz" +S="${WORKDIR}/ldacBT" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux" -S="${WORKDIR}/ldacBT" - multilib_src_configure() { local mycmakeargs=( -DLDAC_SOFT_FLOAT=OFF @@ -23,7 +22,3 @@ multilib_src_configure() { cmake_src_configure } - -src_install() { - cmake-multilib_src_install -} diff --git a/media-libs/liblingoteach/liblingoteach-0.2.3-r1.ebuild b/media-libs/liblingoteach/liblingoteach-0.2.3-r2.ebuild index 95253511e9be..db15a931adee 100644 --- a/media-libs/liblingoteach/liblingoteach-0.2.3-r1.ebuild +++ b/media-libs/liblingoteach/liblingoteach-0.2.3-r2.ebuild @@ -3,6 +3,8 @@ EAPI=8 +inherit autotools + DESCRIPTION="A library to support lingoteach-ui and for generic lesson development" HOMEPAGE="http://lingoteach.sourceforge.net" SRC_URI="https://downloads.sourceforge.net/lingoteach/${P}.tar.gz" @@ -19,6 +21,13 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +src_prepare() { + default + + # bug #899826 + eautoreconf +} + src_configure() { local myeconfargs=( $(use_enable zlib compression) diff --git a/media-libs/libmediainfo/Manifest b/media-libs/libmediainfo/Manifest index 7b43bcb2980e..0fb8abcc5254 100644 --- a/media-libs/libmediainfo/Manifest +++ b/media-libs/libmediainfo/Manifest @@ -1,4 +1,2 @@ -DIST libmediainfo_22.09.tar.xz 1886180 BLAKE2B 3b9fa03ae1fafd06e494ad462ab30a19141c516b6fe61867da7cf339ee470cb56a6cdab57c4e8a498e79c7e3e4b4e5a19b4302f2db2ab0172fe26fefcc0a92f6 SHA512 4204f0ad73f5b826ec89df88607d7e491ecdad512c6bdae12f72b551827b1e4818aa2b88a46a46cb1f8fca46f3638fbe0243e252c685ca46b2d33a9acb00198c -DIST libmediainfo_23.03.tar.xz 1925904 BLAKE2B bd8d716e9e85bdf2c91ddb6b5492e87e75e497469107aa3ca8a045f25bca1202432a2c8e9a01d179afc1d705ad4c35fcc41cda44cf2b9e57bffd0e8db4f2b7c0 SHA512 a13c4042851248ee4c76f2f52bbafe6e2152e99d60d8cccbff3c5aa01c63e27f97c3335cf88bdaa4869a1f1550ed9ce428af127569ee09c2fee344ed06e44942 -DIST libmediainfo_23.04.tar.xz 1932860 BLAKE2B b5de44301693b65537b27bd097b3efa5d8a89e05c9f9d1755b9c0c70589bd8549dcb9079da0c9adc5d465170306f4612e2027127c74d4ed162448230c5632814 SHA512 5c673e78564132c8c5e64a7d2901914968c1c9a9bc362a95b74330e26447378eac3197f106f2abeeeea635bd68bbe57f596827ef6ee7dd139646ee0e05a124cc DIST libmediainfo_23.10.tar.xz 1977204 BLAKE2B e64481694c651b16bf72e18d5e68069f63efc481b465b6eb7d1d6a8c3e7de84aaabbc212fce8d734f7dd6d082a6ffcf1cdf040f410fd16554bf20db5460c3db4 SHA512 fc7f6b4ff811e9656bfd795325511d53def3e78016a005cfd3439af955a3a6c13ef06dd72dd0685441e2419ed7d141bf762394f8b3d8a9bd00ad2780dc4acbb6 +DIST libmediainfo_24.11.tar.xz 2096092 BLAKE2B 4080c34afa7e0a3ff2c9424e95ae4c461d2535f715bcc9812f30953be9b127d73100ba13835a5e77baa383bef0e089333a7ebcf891ce4e461d91d3388b1972e2 SHA512 3a7c889b09be4b17696288ac5a773684fed2dc608f9c1da346e790524b8bea372cedf5573e602dc48e10f61a17d314c8bd48764e5365dabe2c0222687e904a26 diff --git a/media-libs/libmediainfo/libmediainfo-22.09.ebuild b/media-libs/libmediainfo/libmediainfo-22.09.ebuild deleted file mode 100644 index 068ce2e3ebc3..000000000000 --- a/media-libs/libmediainfo/libmediainfo-22.09.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# These must be bumped together: -# - media-libs/libzen (if a release is available) -# - media-libs/libmediainfo -# - media-video/mediainfo - -MY_PN="MediaInfo" -inherit autotools edos2unix flag-o-matic - -DESCRIPTION="MediaInfo libraries" -HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib" -SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" -S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86" -IUSE="curl doc mms" - -# Tests try to fetch data from online sources -RESTRICT="test" - -RDEPEND="dev-libs/tinyxml2:= - >=media-libs/libzen-0.4.37 - sys-libs/zlib - curl? ( net-misc/curl ) - mms? ( >=media-libs/libmms-0.6.1 )" -DEPEND="${RDEPEND}" -BDEPEND="virtual/pkgconfig - doc? ( app-text/doxygen )" - -src_prepare() { - default - - sed -i 's:-O2::' configure.ac || die - - append-cppflags -DMEDIAINFO_LIBMMS_DESCRIBE_SUPPORT=0 - - eautoreconf -} - -src_configure() { - econf \ - --enable-shared \ - --disable-static \ - --disable-staticlibs \ - --with-libtinyxml2 \ - $(use_with curl libcurl) \ - $(use_with mms libmms) -} - -src_compile() { - default - - if use doc; then - cd "${WORKDIR}"/${MY_PN}Lib/Source/Doc || die - doxygen Doxyfile || die - fi -} - -src_install() { - if use doc; then - local HTML_DOCS=( "${WORKDIR}"/${MY_PN}Lib/Doc/*.html ) - fi - - default - - edos2unix ${PN}.pc #414545 - insinto /usr/$(get_libdir)/pkgconfig - doins ${PN}.pc - - for x in ./ Archive Audio Duplicate Export Image Multiple Reader Tag Text Video; do - insinto /usr/include/${MY_PN}/${x} - doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}/${x}/*.h - done - - insinto /usr/include/${MY_PN}DLL - doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}DLL/*.h - - dodoc "${WORKDIR}"/${MY_PN}Lib/*.txt - - find "${ED}" -name '*.la' -delete || die -} diff --git a/media-libs/libmediainfo/libmediainfo-23.03.ebuild b/media-libs/libmediainfo/libmediainfo-23.03.ebuild deleted file mode 100644 index 694dbfd1db8c..000000000000 --- a/media-libs/libmediainfo/libmediainfo-23.03.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# These must be bumped together: -# - media-libs/libzen (if a release is available) -# - media-libs/libmediainfo -# - media-video/mediainfo - -MY_PN="MediaInfo" -inherit autotools edos2unix flag-o-matic - -DESCRIPTION="MediaInfo libraries" -HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib" -SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" -S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86" -IUSE="curl doc mms" - -# Tests try to fetch data from online sources -RESTRICT="test" - -# The libzen dep usually needs to be bumped for each release! -RDEPEND=" - dev-libs/tinyxml2:= - >=media-libs/libzen-0.4.41 - sys-libs/zlib - curl? ( net-misc/curl ) - mms? ( >=media-libs/libmms-0.6.1 ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - doc? ( app-text/doxygen ) -" - -src_prepare() { - default - - sed -i 's:-O2::' configure.ac || die - - append-cppflags -DMEDIAINFO_LIBMMS_DESCRIBE_SUPPORT=0 - - eautoreconf -} - -src_configure() { - econf \ - --enable-shared \ - --disable-static \ - --disable-staticlibs \ - --with-libtinyxml2 \ - $(use_with curl libcurl) \ - $(use_with mms libmms) -} - -src_compile() { - default - - if use doc; then - cd "${WORKDIR}"/${MY_PN}Lib/Source/Doc || die - doxygen Doxyfile || die - fi -} - -src_install() { - if use doc; then - local HTML_DOCS=( "${WORKDIR}"/${MY_PN}Lib/Doc/*.html ) - fi - - default - - edos2unix ${PN}.pc #414545 - insinto /usr/$(get_libdir)/pkgconfig - doins ${PN}.pc - - for x in ./ Archive Audio Duplicate Export Image Multiple Reader Tag Text Video; do - insinto /usr/include/${MY_PN}/${x} - doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}/${x}/*.h - done - - insinto /usr/include/${MY_PN}DLL - doins "${WORKDIR}"/${MY_PN}Lib/Source/${MY_PN}DLL/*.h - - dodoc "${WORKDIR}"/${MY_PN}Lib/*.txt - - find "${ED}" -name '*.la' -delete || die -} diff --git a/media-libs/libmediainfo/libmediainfo-23.04.ebuild b/media-libs/libmediainfo/libmediainfo-24.11.ebuild index 694dbfd1db8c..dbdd5e56357c 100644 --- a/media-libs/libmediainfo/libmediainfo-23.04.ebuild +++ b/media-libs/libmediainfo/libmediainfo-24.11.ebuild @@ -12,13 +12,13 @@ MY_PN="MediaInfo" inherit autotools edos2unix flag-o-matic DESCRIPTION="MediaInfo libraries" -HOMEPAGE="https://mediaarea.net/mediainfo/ https://github.com/MediaArea/MediaInfoLib" +HOMEPAGE="https://mediaarea.net/en/MediaInfo https://github.com/MediaArea/MediaInfoLib" SRC_URI="https://mediaarea.net/download/source/${PN}/${PV}/${P/-/_}.tar.xz" S="${WORKDIR}"/${MY_PN}Lib/Project/GNU/Library LICENSE="BSD-2" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" IUSE="curl doc mms" # Tests try to fetch data from online sources diff --git a/media-libs/libmtp/Manifest b/media-libs/libmtp/Manifest index a0ac4c9eeeee..7c66ca04809a 100644 --- a/media-libs/libmtp/Manifest +++ b/media-libs/libmtp/Manifest @@ -1 +1,2 @@ DIST libmtp-1.1.21.tar.gz 862703 BLAKE2B c6067d0e9c7e2410b950715d1f02243c835afacfb3eef2f250361d4075d378b2754dceadf5120c9a646413ea826f42291c530590861420f56140458558dccc8e SHA512 510f01f75de37a07c8ce54957a8fb74724538a7cfbdf1a86c201fda68573ef23fa578ff7baf2d9df938703b5776ded4ab1057c617125f3539e594bb5a1f3146f +DIST libmtp-1.1.22.tar.gz 900914 BLAKE2B 5032cbe430bc0ff870f1a88e5b484e6fbe59fd4d7fabd842a1e982b47cd5207e799d2dc1b410b232fc58e2b0c7ba5ca99af71eaaef3beb8849e34a51cf6c3003 SHA512 97094b29073681da0c714b6c4aea2e5f35253a8d06229e60c0af46727413470e9da6be422d873449fc4dec6f9b8efce6d3edc657b9251182cc0a709859e99baa diff --git a/media-libs/libmtp/libmtp-1.1.22.ebuild b/media-libs/libmtp/libmtp-1.1.22.ebuild new file mode 100644 index 000000000000..850e3a37b359 --- /dev/null +++ b/media-libs/libmtp/libmtp-1.1.22.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit udev + +if [[ ${PV} == 9999* ]]; then + EGIT_REPO_URI="https://git.code.sf.net/p/${PN}/code" + inherit autotools git-r3 +else + inherit libtool + SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="Implementation of Microsoft's Media Transfer Protocol (MTP)" +HOMEPAGE="https://libmtp.sourceforge.net/" + +LICENSE="LGPL-2.1" # LGPL-2+ and LGPL-2.1+ ? +SLOT="0/9" # Based on SONAME of libmtp shared library +IUSE="+crypt doc examples static-libs" + +RDEPEND=" + acct-group/plugdev + virtual/libiconv + virtual/libusb:1 + crypt? ( dev-libs/libgcrypt:0= )" +DEPEND="${RDEPEND}" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig + doc? ( app-text/doxygen )" + +DOCS=( AUTHORS README TODO ) + +src_prepare() { + default + + # ChangeLog says "RETIRING THIS FILE ..pause.. GIT" (Last entry from start of 2011) + rm ChangeLog || die + + if [[ ${PV} == 9999* ]]; then + if [[ -e /usr/share/gettext/config.rpath ]]; then + cp /usr/share/gettext/config.rpath . || die + else + touch config.rpath || die # This is from upstream autogen.sh + fi + eautoreconf + else + # Needed to fix -fuse-ld=* filtering (e.g. lld) + # Can drop this once copyright year in libtool file included + # says >= 2021 (was 2014 at time of writing). + elibtoolize + fi +} + +src_configure() { + local myeconfargs=( + $(use_enable crypt mtpz) + $(use_enable doc doxygen) + $(use_enable static-libs static) + --with-udev="${EPREFIX}$(get_udevdir)" + --with-udev-group=plugdev + --with-udev-mode=0660 + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name "*.la" -delete || die + + if use examples; then + docinto examples + dodoc examples/*.{c,h,sh} + fi +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/media-libs/libopenmpt/Manifest b/media-libs/libopenmpt/Manifest index e2bc8dbeb550..df752810671b 100644 --- a/media-libs/libopenmpt/Manifest +++ b/media-libs/libopenmpt/Manifest @@ -1,3 +1,3 @@ DIST libopenmpt-0.6.6+release.autotools.tar.gz 1554516 BLAKE2B 21e2fc4252431235608a52d3a321e26eae5d45f2328ff3e3604d84c537d72e07d72346c504901b000af04dfc52b1dd91c79f576be4331ea8685e534a174b61cd SHA512 b634c556f13dc51d1008f4216936a9b7cab25a6fb0d5218da0b692ec848de21905ed1981223ac9ecdebea9ce6c5376e91ff92e1655dd0be491fce0114e3230bf -DIST libopenmpt-0.7.7+release.autotools.tar.gz 1660204 BLAKE2B 4b6ee75036c97ac2dce7e66776b36df09847db2c482cb22b052569385c06eb954d1cfae5cb00d415a6b18fd11663b2af43c94361dc9c0c84595c0d530e2bb355 SHA512 88d68bd32e696c01c070abd7156645c2969d389d6fb660f4f45d9e5e16ff9c25c3084d30cef208578080ee8a2da5c6045e5b1d93db7e2c456d42b91daaa02199 +DIST libopenmpt-0.7.10+release.autotools.tar.gz 1671289 BLAKE2B 62bd4a1bcd9685fdb92c270687b71609a23986941e301ad17cc37ca5f6b5b76fa1a8f425b2e68603bb29bfa34c3c1caea98faea1d95004f87943b2bed6b7c9a0 SHA512 e5f02b045bc1449791ec43a32216c4c4231edff88b3bda07283c9768118bce3a1f50c2535dbe38a21eb12016294e3b5823ef2f32f2f1e21d40fafe188bad783d DIST libopenmpt-0.7.9+release.autotools.tar.gz 1669833 BLAKE2B 9ba6af6df794583748336cc977b20d7bdb3f8d75e32d32a420c5e137511352ea5ec41b31beb7b0df78376dcb0e3a8160a1c527b6f4575b61b945a9f93252fe84 SHA512 e0928d3dc439c3ed7296b97dc8b8e255db22bfd91fd3bc73d0bdca8262a5cb26dff0ba89e508a4443ebe34c34fc880b202a758a11fde31b75e1ebd5725819414 diff --git a/media-libs/libopenmpt/libopenmpt-0.7.7.ebuild b/media-libs/libopenmpt/libopenmpt-0.7.10.ebuild index 03b0016c8652..03b0016c8652 100644 --- a/media-libs/libopenmpt/libopenmpt-0.7.7.ebuild +++ b/media-libs/libopenmpt/libopenmpt-0.7.10.ebuild diff --git a/media-libs/libopenraw/libopenraw-0.3.7.ebuild b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild index cbe9f9abf592..4825810f5604 100644 --- a/media-libs/libopenraw/libopenraw-0.3.7.ebuild +++ b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild @@ -4,6 +4,9 @@ EAPI=8 CRATES=" " +# for stdsimd +RUST_MAX_VER=1.77.1 + inherit autotools cargo gnome2-utils DESCRIPTION="RAW image formats decoding library" diff --git a/media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch b/media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch new file mode 100644 index 000000000000..81af061634b5 --- /dev/null +++ b/media-libs/libplacebo/files/libplacebo-7.349.0-glslang-1.3.296.patch @@ -0,0 +1,16 @@ +Quick workaround for libSPIRV seemingly having became a stub in glslang-1.3.296 + +https://bugs.gentoo.org/941968 + +TODO?: rather than worry with the constant issues with glslang, should likely +always force shaderc -- it's also what upstream prefers by default and so the +glslang paths are hardly tested. +--- a/src/glsl/meson.build ++++ b/src/glsl/meson.build +@@ -39,4 +39,5 @@ + + glslang_deps += spirv ++ glslang_deps += cxx.find_library('glslang', required: required, static: static) + + if static + diff --git a/media-libs/libplacebo/libplacebo-7.349.0.ebuild b/media-libs/libplacebo/libplacebo-7.349.0.ebuild index 9d16436f4759..ee0a83ec2656 100644 --- a/media-libs/libplacebo/libplacebo-7.349.0.ebuild +++ b/media-libs/libplacebo/libplacebo-7.349.0.ebuild @@ -64,17 +64,18 @@ DEPEND=" xxhash? ( dev-libs/xxhash[${MULTILIB_USEDEP}] ) " BDEPEND=" - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/jinja2[${PYTHON_USEDEP}]') virtual/pkgconfig " PATCHES=( "${FILESDIR}"/${PN}-5.229.1-llvm-libunwind.patch "${FILESDIR}"/${PN}-5.229.1-python-executable.patch + "${FILESDIR}"/${PN}-7.349.0-glslang-1.3.296.patch ) python_check_deps() { - python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" + python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]" } src_unpack() { diff --git a/media-libs/libplacebo/libplacebo-9999.ebuild b/media-libs/libplacebo/libplacebo-9999.ebuild index 1831a83708b6..fd9eb972c5a4 100644 --- a/media-libs/libplacebo/libplacebo-9999.ebuild +++ b/media-libs/libplacebo/libplacebo-9999.ebuild @@ -64,17 +64,18 @@ DEPEND=" xxhash? ( dev-libs/xxhash[${MULTILIB_USEDEP}] ) " BDEPEND=" - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') + $(python_gen_any_dep 'dev-python/jinja2[${PYTHON_USEDEP}]') virtual/pkgconfig " PATCHES=( "${FILESDIR}"/${PN}-5.229.1-llvm-libunwind.patch "${FILESDIR}"/${PN}-5.229.1-python-executable.patch + "${FILESDIR}"/${PN}-7.349.0-glslang-1.3.296.patch ) python_check_deps() { - python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" + python_has_version "dev-python/jinja2[${PYTHON_USEDEP}]" } src_unpack() { diff --git a/media-libs/libpng/libpng-1.6.44.ebuild b/media-libs/libpng/libpng-1.6.44.ebuild index b5669bf7bc5c..4ace5f1cac5a 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/libpqstego/libpqstego-0.0.1-r1.ebuild b/media-libs/libpqstego/libpqstego-0.0.1-r2.ebuild index d78e9c223119..6715cfedd36b 100644 --- a/media-libs/libpqstego/libpqstego-0.0.1-r1.ebuild +++ b/media-libs/libpqstego/libpqstego-0.0.1-r2.ebuild @@ -1,7 +1,9 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 + +inherit autotools DESCRIPTION="Library for Perturbed Quantization Steganography" HOMEPAGE="https://sourceforge.net/projects/pqstego/" @@ -13,6 +15,11 @@ KEYWORDS="~amd64 ~x86" DEPEND="sci-libs/gsl:=[cblas-external]" +src_prepare() { + default + eautoreconf +} + src_configure() { econf \ --disable-static diff --git a/media-libs/libprojectm/Manifest b/media-libs/libprojectm/Manifest index 81b84180f368..afde8166d097 100644 --- a/media-libs/libprojectm/Manifest +++ b/media-libs/libprojectm/Manifest @@ -1,2 +1,3 @@ DIST libprojectm-3.1.12.tar.gz 52831726 BLAKE2B f9a9ecf8fc55b49e664a61a5c0ca3eef745b00390d5dd3b1549d6d68985c246834d35adb96ab8595e2bf78997c4688096c7931a6be54ea9d867bfdbe5a427832 SHA512 6d265280f3e3e952686ebf77afd8b083669e9ab81d2d9d122168d47747c367ff3b17ab682cc041e4ac9cee9607b7393b5dcb067deac95fcbb97d63a9656912a5 DIST libprojectm-4.1.1.tar.gz 47988154 BLAKE2B 47fd71d857f307ea09c87d36102662423d1df4d62f36f23373fcba36760312bd4e4d11408a3f4820b5caedd2e31bfd0dfc1e551c1bf27eb0ba33149f8ea13ebe SHA512 af38913e56d46ed15118b2dccd2701f9bf043bb3103f58ad2ebbfaffc60c3ed4e1b0eb3d8f922bdffb0001acfa5e3d23633a4903250fd00ede0dede1e6e1ba47 +DIST libprojectm-4.1.2.tar.gz 47980796 BLAKE2B 2932c96645916c715971c0fc2237791a1ca28295738e7433b9e856b303ab5c2beee48419c36ae65913537f2b65f2f7bd390875efa46e965faf9f4568b44c66e3 SHA512 4a8181dd5e41a9f8c0d8e3b105c5fd2d8638c7029a1054e75fbf6b7e5222740d179db37b7bd79147d4a34dce8360ce7b0eaa6c0c90af96bc8e8c557d8a496aff diff --git a/media-libs/libprojectm/libprojectm-4.1.2.ebuild b/media-libs/libprojectm/libprojectm-4.1.2.ebuild new file mode 100644 index 000000000000..506045464288 --- /dev/null +++ b/media-libs/libprojectm/libprojectm-4.1.2.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake-multilib + +DESCRIPTION="A graphical music visualization plugin similar to milkdrop" +HOMEPAGE="https://github.com/projectM-visualizer/projectm" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/projectM-visualizer/projectm.git" + inherit git-r3 +else + MY_PV="${PV/_/-}" + SRC_URI="https://github.com/projectM-visualizer/projectm/releases/download/v${MY_PV}/libprojectM-${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86" + S="${WORKDIR}/libprojectM-${MY_PV}" +fi + +LICENSE="LGPL-2" +SLOT="4" +IUSE="gles2-only static-libs" + +RDEPEND=" + media-libs/glm + media-libs/libglvnd[X(+)] +" + +DEPEND="${RDEPEND}" + +multilib_prc_prepare() { + cmake_src_prepare +} + +multilib_src_configure() { + local mycmakeargs=( + -DENABLE_SDL_UI=OFF + -DENABLE_CXX_INTERFACE=OFF + -DENABLE_GLES=$(usex gles2-only) + -DENABLE_SYSTEM_GLM=ON + -DBUILD_SHARED_LIBS=$(usex static-libs OFF ON) + ) + + cmake_src_configure +} + +multilib_src_install_all() { + default +} diff --git a/media-libs/libpulse/Manifest b/media-libs/libpulse/Manifest index 776caac18a80..42cd89ab8f99 100644 --- a/media-libs/libpulse/Manifest +++ b/media-libs/libpulse/Manifest @@ -1,3 +1 @@ -DIST pulseaudio-16.1.tar.xz 1545596 BLAKE2B 535706abcea2cae39834b23c8bdc37f71b0e633de2d8e43ea4425da97a850b57c2f980c318681cbc86cf1e746200609dad41f8b96ecf4568f86d94aa6831c9a1 SHA512 33b0b4292f05e0882f3ec822cf5720414bb34c523d80fe287b9740d6be219787c562e8024c9b0d9e2ee010771ca72c7ae4f27df1bbef9c9cb6bb6a23cbcc412f -DIST pulseaudio-16.99.1.tar.xz 1565020 BLAKE2B 02aad918e2b76dcf250bd55e03460206c7781cd1b43aa2efe46b25258626892e07f478b9966fa5027c9ae0a370145f5204dba05d2f5dfbfd3ba956225ccb3cad SHA512 1a3347e4c892ba0e321d39184f8bd52cfd16f59e66e52a753d6f706dfbf3f170f87b7ff27c0a6cdf3e462e6dd531ecde6829d48a374d0be2622688fb85abaac2 DIST pulseaudio-17.0.tar.xz 1566556 BLAKE2B 781ece3d507916aa681d3b0132689730a621b4d92e45f86570e4d2fdebc4c0025ebe7f7a05046545f9b26caca513e8975f12498fa314524bc67eacaea72842fa SHA512 be0aec46204d9c9188a796fbe41b4cf6f0f5e6b16fa08ce359b8f0f51253f0ade364b89448bbf5faa2af7e59deb6c72194734c3233944250dcfd4f31968a5e97 diff --git a/media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch b/media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch deleted file mode 100644 index b24ab8943899..000000000000 --- a/media-libs/libpulse/files/pulseaudio-16.1-memfd-cleanup.patch +++ /dev/null @@ -1,28 +0,0 @@ -commit e650c2b33e4fefc0589751b3958bd3b5d3b423ac -Author: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> -Date: Thu Nov 3 09:22:48 2022 +1100 - - Ensure fds are closed when exec functions are used. - - When usng shm_open, FD_CLOEXEC is set explicitly. - - However when using memfd_create, we must pass the MFD_CLOEXEC flag - to ensure the same fcntl value (FD_CLOEXEC) is set. - - Fixes #1394 - - Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/751> - -diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c -index e464f6bce..ff54dcb59 100644 ---- a/src/pulsecore/shm.c -+++ b/src/pulsecore/shm.c -@@ -164,7 +164,7 @@ static int sharedmem_create(pa_shm *m, pa_mem_type_t type, size_t size, mode_t m - #endif - #ifdef HAVE_MEMFD - case PA_MEM_TYPE_SHARED_MEMFD: -- fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING); -+ fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC); - break; - #endif - default: diff --git a/media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch b/media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch deleted file mode 100644 index a5e025ccb4dc..000000000000 --- a/media-libs/libpulse/files/pulseaudio-16.1-proplist-util-without-gdkx.patch +++ /dev/null @@ -1,42 +0,0 @@ -commit 89ce6321bd19452097392ddfb416bc51a280b63e -Author: Mart Raudsepp <leio@gentoo.org> -Date: Wed Nov 30 09:25:22 2022 +0200 - - proplist-util: Don't assume gdkx is there as gtk could be built without it - - Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/757> - -diff --git a/src/pulsecore/proplist-util.c b/src/pulsecore/proplist-util.c -index 16ea9e006..1330ef5ef 100644 ---- a/src/pulsecore/proplist-util.c -+++ b/src/pulsecore/proplist-util.c -@@ -51,10 +51,12 @@ static const gchar* _g_get_application_name(void) PA_GCC_WEAKREF(g_get_applicati - #if defined(HAVE_GTK) && defined(PA_GCC_WEAKREF) - #pragma GCC diagnostic ignored "-Wstrict-prototypes" - #include <gtk/gtk.h> --#include <gdk/gdkx.h> - static const gchar* _gtk_window_get_default_icon_name(void) PA_GCC_WEAKREF(gtk_window_get_default_icon_name); -+#ifdef GDK_WINDOWING_X11 -+#include <gdk/gdkx.h> - static Display *_gdk_display PA_GCC_WEAKREF(gdk_display); - #endif -+#endif - - #include "proplist-util.h" - -@@ -89,6 +91,7 @@ static void add_gtk_properties(pa_proplist *p) { - pa_proplist_sets(p, PA_PROP_APPLICATION_ICON_NAME, t); - } - -+#ifdef GDK_WINDOWING_X11 - if (!pa_proplist_contains(p, PA_PROP_WINDOW_X11_DISPLAY)) - if (&_gdk_display && _gdk_display) { - const char *t; -@@ -99,6 +102,7 @@ static void add_gtk_properties(pa_proplist *p) { - pa_proplist_sets(p, PA_PROP_WINDOW_X11_DISPLAY, t); - } - -+#endif - #endif - } - diff --git a/media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch b/media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch deleted file mode 100644 index 77af0ac915f6..000000000000 --- a/media-libs/libpulse/files/pulseaudio-16.99.1-memfd-compat.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 421cf15486eea1b52f10e2b0be305018fee8c285 -Author: Rudi Heitbaum <rudi@heitbaum.com> -Date: Sun Aug 13 09:37:32 2023 +0000 - - shm: allow for older versions of Linux without MFD_NOEXEC_SEAL - - Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/794> - -diff --git a/src/pulsecore/shm.c b/src/pulsecore/shm.c -index 4247b0921..694f971b4 100644 ---- a/src/pulsecore/shm.c -+++ b/src/pulsecore/shm.c -@@ -164,7 +164,11 @@ static int sharedmem_create(pa_shm *m, pa_mem_type_t type, size_t size, mode_t m - #endif - #ifdef HAVE_MEMFD - case PA_MEM_TYPE_SHARED_MEMFD: -+ /* For linux >= 6.3 create fd with MFD_NOEXEC_SEAL flag */ - fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC|MFD_NOEXEC_SEAL); -+ /* Retry creating fd without MFD_NOEXEC_SEAL to support linux < 6.3 */ -+ if (fd < 0) -+ fd = memfd_create("pulseaudio", MFD_ALLOW_SEALING|MFD_CLOEXEC); - break; - #endif - default: diff --git a/media-libs/libpulse/libpulse-16.1-r2.ebuild b/media-libs/libpulse/libpulse-16.1-r2.ebuild deleted file mode 100644 index 1a552c4be5cb..000000000000 --- a/media-libs/libpulse/libpulse-16.1-r2.ebuild +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -MY_PV="${PV/_pre*}" -MY_P="pulseaudio-${MY_PV}" -inherit bash-completion-r1 gnome2-utils meson-multilib optfeature systemd udev - -DESCRIPTION="Libraries for PulseAudio clients" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/" - -if [[ ${PV} = 9999 ]]; then - inherit git-r3 - EGIT_BRANCH="master" - EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio" -else - SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -fi - -S="${WORKDIR}/${MY_P}" - -LICENSE="LGPL-2.1+" - -SLOT="0" -IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X" -RESTRICT="!test? ( test )" - -# NOTE: libpcre needed in some cases, bug #472228 -# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too -RDEPEND=" - dev-libs/libatomic_ops - >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] - asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] ) - dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] ) - elibc_mingw? ( dev-libs/libpcre:3 ) - glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] ) - gtk? ( x11-libs/gtk+:3 ) - selinux? ( sec-policy/selinux-pulseaudio ) - systemd? ( sys-apps/systemd:= ) - valgrind? ( dev-debug/valgrind ) - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] - ) - !<media-sound/pulseaudio-15.0-r100 -" - -DEPEND="${RDEPEND} - test? ( >=dev-libs/check-0.9.10 ) - X? ( x11-base/xorg-proto ) -" - -# pulseaudio ships a bundled xmltoman, which uses XML::Parser -BDEPEND=" - dev-lang/perl - dev-perl/XML-Parser - sys-devel/gettext - sys-devel/m4 - virtual/libiconv - virtual/libintl - virtual/pkgconfig - doc? ( app-text/doxygen ) -" -PDEPEND=" - || ( - media-video/pipewire[sound-server(+)] - media-sound/pulseaudio-daemon - media-sound/pulseaudio[daemon(+)] - ) -" - -DOCS=( NEWS README ) - -# patches merged upstream, to be removed with 16.2 or later bump -PATCHES=( - "${FILESDIR}"/pulseaudio-16.1-memfd-cleanup.patch - "${FILESDIR}"/pulseaudio-16.1-proplist-util-without-gdkx.patch -) - -src_prepare() { - default - - # disable autospawn by client - sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die - - gnome2_environment_reset -} - -multilib_src_configure() { - local emesonargs=( - --localstatedir="${EPREFIX}"/var - - -Ddaemon=false - -Dclient=true - $(meson_native_use_bool doc doxygen) - -Dgcov=false - # tests involve random modules, so just do them for the native # TODO: tests should run always - $(meson_native_use_bool test tests) - -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks - -Dstream-restore-clear-old-devices=true - -Drunning-from-build-tree=false - - # Paths - -Dmodlibexecdir="${EPREFIX}/usr/$(get_libdir)/pulseaudio/modules" # Was $(get_libdir)/${P} - -Dsystemduserunitdir=$(systemd_get_userunitdir) - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dbashcompletiondir="$(get_bashcompdir)" # Alternatively DEPEND on app-shells/bash-completion for pkg-config to provide the value - - # Optional features - -Dalsa=disabled - $(meson_feature asyncns) - -Davahi=disabled - -Dbluez5=disabled - -Dbluez5-gstreamer=disabled - -Dbluez5-native-headset=false - -Dbluez5-ofono-headset=false - $(meson_feature dbus) - -Delogind=disabled - -Dfftw=disabled - $(meson_feature glib) # WARNING: toggling this likely changes ABI - -Dgsettings=disabled - -Dgstreamer=disabled - $(meson_native_use_feature gtk) - -Dhal-compat=false - -Dipv6=true - -Djack=disabled - -Dlirc=disabled - -Dopenssl=disabled - -Dorc=disabled - -Doss-output=disabled - -Dsamplerate=disabled # Matches upstream - -Dsoxr=disabled - -Dspeex=disabled - $(meson_native_use_feature systemd) - -Dtcpwrap=disabled - -Dudev=disabled - $(meson_native_use_feature valgrind) - $(meson_feature X x11) - - # Echo cancellation - -Dadrian-aec=false - -Dwebrtc-aec=disabled - ) - - if multilib_is_native_abi; then - # Make padsp work for non-native ABI, supposedly only possible with glibc; - # this is used by /usr/bin/padsp that comes from native build, thus we need - # this argument for native build - if use elibc_glibc; then - emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' ) - fi - else - emesonargs+=( -Dman=false ) - if ! use elibc_glibc; then - # Non-glibc multilib is probably non-existent but just in case: - ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!" - fi - fi - - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile - - if multilib_is_native_abi; then - if use doc; then - einfo "Generating documentation ..." - meson_src_compile doxygen - fi - fi -} - -multilib_src_install() { - # The files referenced in the DOCS array do not exist in the multilib source directory, - # therefore clear the variable when calling the function that will access it. - DOCS= meson_src_install - - # Upstream installs 'pactl' if client is built, with all symlinks except for - # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built. - # This trips QA warning, workaround: - # - install missing aliases in media-libs/libpulse (client build) - # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build) - bashcomp_alias pactl pulseaudio - bashcomp_alias pactl pacmd - bashcomp_alias pactl pasuspender - - if multilib_is_native_abi; then - if use doc; then - einfo "Installing documentation ..." - docinto html - dodoc -r doxygen/html/. - fi - fi -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_postinst() { - optfeature_header "PulseAudio can be enhanced by installing the following:" - use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit -} diff --git a/media-libs/libpulse/libpulse-16.99.1.ebuild b/media-libs/libpulse/libpulse-16.99.1.ebuild deleted file mode 100644 index 833d72d57d8b..000000000000 --- a/media-libs/libpulse/libpulse-16.99.1.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -MY_PV="${PV/_pre*}" -MY_P="pulseaudio-${MY_PV}" -inherit bash-completion-r1 flag-o-matic gnome2-utils meson-multilib optfeature systemd toolchain-funcs udev - -DESCRIPTION="Libraries for PulseAudio clients" -HOMEPAGE="https://www.freedesktop.org/wiki/Software/PulseAudio/" - -if [[ ${PV} = 9999 ]]; then - inherit git-r3 - EGIT_BRANCH="master" - EGIT_REPO_URI="https://gitlab.freedesktop.org/pulseaudio/pulseaudio" -else - SRC_URI="https://freedesktop.org/software/pulseaudio/releases/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -fi - -S="${WORKDIR}/${MY_P}" - -LICENSE="LGPL-2.1+" - -SLOT="0" -IUSE="+asyncns dbus doc +glib gtk selinux systemd test valgrind X" -RESTRICT="!test? ( test )" - -# NOTE: libpcre needed in some cases, bug #472228 -# TODO: libatomic_ops is only needed on some architectures and conditions, and then at runtime too -RDEPEND=" - dev-libs/libatomic_ops - >=media-libs/libsndfile-1.0.20[${MULTILIB_USEDEP}] - asyncns? ( >=net-libs/libasyncns-0.1[${MULTILIB_USEDEP}] ) - dbus? ( >=sys-apps/dbus-1.4.12[${MULTILIB_USEDEP}] ) - elibc_mingw? ( dev-libs/libpcre:3 ) - glib? ( >=dev-libs/glib-2.28.0:2[${MULTILIB_USEDEP}] ) - gtk? ( x11-libs/gtk+:3 ) - selinux? ( sec-policy/selinux-pulseaudio ) - systemd? ( sys-apps/systemd:= ) - valgrind? ( dev-debug/valgrind ) - X? ( - x11-libs/libX11[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.6[${MULTILIB_USEDEP}] - ) - !<media-sound/pulseaudio-16.1 - !<media-sound/pulseaudio-daemon-16.99.1 -" - -DEPEND="${RDEPEND} - test? ( >=dev-libs/check-0.9.10 ) - X? ( x11-base/xorg-proto ) -" - -# pulseaudio ships a bundled xmltoman, which uses XML::Parser -BDEPEND=" - dev-lang/perl - dev-perl/XML-Parser - sys-devel/gettext - sys-devel/m4 - virtual/libiconv - virtual/libintl - virtual/pkgconfig - doc? ( app-text/doxygen ) -" -PDEPEND=" - || ( - media-video/pipewire[sound-server(+)] - media-sound/pulseaudio-daemon - media-sound/pulseaudio[daemon(+)] - ) -" - -DOCS=( NEWS README ) - -# patches merged upstream, to be removed with 16.99.2 or later bump -PATCHES=( - "${FILESDIR}"/pulseaudio-16.99.1-memfd-compat.patch -) - -src_prepare() { - default - - # disable autospawn by client - sed -i -e 's:; autospawn = yes:autospawn = no:g' src/pulse/client.conf.in || die - - gnome2_environment_reset -} - -multilib_src_configure() { - # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs - # https://github.com/gentoo/gentoo/pull/28355 - # mold needs this too but right now tc-ld-is-mold is also not available - if tc-ld-is-lld; then - append-ldflags -Wl,--undefined-version - fi - - local emesonargs=( - --localstatedir="${EPREFIX}"/var - - -Ddaemon=false - -Dclient=true - $(meson_native_use_bool doc doxygen) - -Dgcov=false - # tests involve random modules, so just do them for the native # TODO: tests should run always - $(meson_native_use_bool test tests) - -Ddatabase=simple # Not used for non-daemon, simple database avoids external dep checks - -Dstream-restore-clear-old-devices=true - -Drunning-from-build-tree=false - - # Paths - -Dmodlibexecdir="${EPREFIX}/usr/$(get_libdir)/pulseaudio/modules" # Was $(get_libdir)/${P} - -Dsystemduserunitdir=$(systemd_get_userunitdir) - -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d" - -Dbashcompletiondir="$(get_bashcompdir)" # Alternatively DEPEND on app-shells/bash-completion for pkg-config to provide the value - - # Optional features - -Dalsa=disabled - $(meson_feature asyncns) - -Davahi=disabled - -Dbluez5=disabled - -Dbluez5-gstreamer=disabled - -Dbluez5-native-headset=false - -Dbluez5-ofono-headset=false - $(meson_feature dbus) - -Delogind=disabled - -Dfftw=disabled - $(meson_feature glib) # WARNING: toggling this likely changes ABI - -Dgsettings=disabled - -Dgstreamer=disabled - $(meson_native_use_feature gtk) - -Dhal-compat=false - -Dipv6=true - -Djack=disabled - -Dlirc=disabled - -Dopenssl=disabled - -Dorc=disabled - -Doss-output=disabled - -Dsamplerate=disabled # Matches upstream - -Dsoxr=disabled - -Dspeex=disabled - $(meson_native_use_feature systemd) - -Dtcpwrap=disabled - -Dudev=disabled - $(meson_native_use_feature valgrind) - $(meson_feature X x11) - - # Echo cancellation - -Dadrian-aec=false - -Dwebrtc-aec=disabled - ) - - if multilib_is_native_abi; then - # Make padsp work for non-native ABI, supposedly only possible with glibc; - # this is used by /usr/bin/padsp that comes from native build, thus we need - # this argument for native build - if use elibc_glibc; then - emesonargs+=( -Dpulsedsp-location="${EPREFIX}"'/usr/\\$$LIB/pulseaudio' ) - fi - else - emesonargs+=( -Dman=false ) - if ! use elibc_glibc; then - # Non-glibc multilib is probably non-existent but just in case: - ewarn "padsp wrapper for OSS emulation will only work with native ABI applications!" - fi - fi - - meson_src_configure -} - -multilib_src_compile() { - meson_src_compile - - if multilib_is_native_abi; then - if use doc; then - einfo "Generating documentation ..." - meson_src_compile doxygen - fi - fi -} - -multilib_src_install() { - # The files referenced in the DOCS array do not exist in the multilib source directory, - # therefore clear the variable when calling the function that will access it. - DOCS= meson_src_install - - # Upstream installs 'pactl' if client is built, with all symlinks except for - # 'pulseaudio', 'pacmd' and 'pasuspender' which are installed if server is built. - # This trips QA warning, workaround: - # - install missing aliases in media-libs/libpulse (client build) - # - remove corresponding symlinks in media-sound/pulseaudio-daemonclient (server build) - bashcomp_alias pactl pulseaudio - bashcomp_alias pactl pacmd - bashcomp_alias pactl pasuspender - - if multilib_is_native_abi; then - if use doc; then - einfo "Installing documentation ..." - docinto html - dodoc -r doxygen/html/. - fi - fi -} - -multilib_src_install_all() { - einstalldocs - - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_postinst() { - optfeature_header "PulseAudio can be enhanced by installing the following:" - use dbus && optfeature "restricted realtime capabilities via D-Bus" sys-auth/rtkit -} diff --git a/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild b/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild index c997e6f48020..3535c4c787b8 100644 --- a/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild +++ b/media-libs/libquicktime/libquicktime-1.2.4-r5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86" IUSE="aac alsa doc dv encode ffmpeg gtk jpeg lame cpu_flags_x86_mmx opengl png static-libs vorbis X x264" RDEPEND=" diff --git a/media-libs/libsdl/Manifest b/media-libs/libsdl/Manifest index e60a4ed8bb39..3bc75be0f4a0 100644 --- a/media-libs/libsdl/Manifest +++ b/media-libs/libsdl/Manifest @@ -1,4 +1 @@ -DIST SDL-1.2.15_p20221201.tar.gz 4002787 BLAKE2B 87b729cb16cfb36efa2b66166ef21d4c5c8bc99f8c8b4683885f04699122945a60512c5875d0c8425ddfe33b2eb901d11f27afbd9e3656cde3f30de5a5f1537c SHA512 5e70977cf5beaffebb28ae84f778e08d3cf56b2badda125ec1f08ac26c6b4e60a148d9ca9b2d7efee8a5fbc0b1a343d1d27a05be1c08e5d9251da67aea209659 -DIST libsdl-1.2.64.tar.gz 459020 BLAKE2B 72e13e14c134116edc73a9127a854700f0c878b3a56ae0ed5c70a3e227fcd46411ebb25bdf0ebfe76c1c648ac6052161e3eae11ebdee8ffbddb5cf70e9b01da3 SHA512 cd551666d2e6a2de273ee29b9a68a5472933a5f5a6340616510051e78f0a96af68a2f13f4473431d6b58ad89a379d672b3a3e82bc86ded01943b6bc3ca7947d2 -DIST libsdl-1.2.64_p20230726.tar.gz 459365 BLAKE2B d669e46cb6f1f2ac4869d438d0a045019f8b5132c9e4a34b0945a83514fadb4e7c52954657ff3d9a149c3e052b88c77b740920171654add31d65806a361debfa SHA512 4cb41fb455ea7bfe7768f88715064fa5e092e6e24cdc7e0786f91693f21425a53fb3ba355100db5984d5ca969916f22738b7abd5cb58b87b43a154098979ee2d DIST libsdl-1.2.68.tar.gz 460180 BLAKE2B c821772d5c43a9406e06f89d7f0248e051b2cfb0aff33e025dc645d6ba17277ca6db44a586e65fda48155dfb6c48a9d0459d59319ea6750562caa96194ff232b SHA512 d0e71e75f312402bf075f6553d9fd6493a3db9dd42719bb753287a35e6c40ee37c6092b157ff2384f3055400a3113645595d1269590cd50ea1e0c8f247240858 diff --git a/media-libs/libsdl/files/libsdl-1.2.15-gamma.patch b/media-libs/libsdl/files/libsdl-1.2.15-gamma.patch deleted file mode 100644 index a0582da9cecd..000000000000 --- a/media-libs/libsdl/files/libsdl-1.2.15-gamma.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4b56fa058a45b7c804d1a5fcaf7a70db0bd0581c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <petr.pisar@atlas.cz> -Date: Tue, 1 Jan 2013 21:25:15 +0100 -Subject: [PATCH] x11: Bypass SetGammaRamp when changing gamma - -Recent Xorg has broken dynamic colors setting, so calling SDL_SetGamme() -does not have any effect here. Recent means xorg-server >= 1.7, since 2010. -See <https://bugs.freedesktop.org/show_bug.cgi?id=27222>. ---- - src/video/SDL_gamma.c | 15 ++------------- - 1 files changed, 2 insertions(+), 13 deletions(-) - ---- a/src/video/SDL_gamma.c -+++ b/src/video/SDL_gamma.c -@@ -92,22 +92,11 @@ static void CalculateGammaFromRamp(float *gamma, Uint16 *ramp) - - int SDL_SetGamma(float red, float green, float blue) - { -- int succeeded; -+ int succeeded = -1; - SDL_VideoDevice *video = current_video; - SDL_VideoDevice *this = current_video; - -- succeeded = -1; -- /* Prefer using SetGammaRamp(), as it's more flexible */ -- { -- Uint16 ramp[3][256]; -- -- CalculateGammaRamp(red, ramp[0]); -- CalculateGammaRamp(green, ramp[1]); -- CalculateGammaRamp(blue, ramp[2]); -- succeeded = SDL_SetGammaRamp(ramp[0], ramp[1], ramp[2]); -- } -- if ( (succeeded < 0) && video->SetGamma ) { -- SDL_ClearError(); -+ if ( video->SetGamma ) { - succeeded = video->SetGamma(this, red, green, blue); - } - return succeeded; --- -1.7.8.6 - diff --git a/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch b/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch deleted file mode 100644 index 457c934b6c40..000000000000 --- a/media-libs/libsdl/files/libsdl-1.2.15-sdl-config.patch +++ /dev/null @@ -1,20 +0,0 @@ -Only output -L -rpath cruft if using a non-standard install location. - -Makes ABI / cross-compiling easier on the soul. - ---- a/sdl-config.in -+++ b/sdl-config.in -@@ -44,7 +44,12 @@ - echo -I@includedir@/SDL @SDL_CFLAGS@ - ;; - @ENABLE_SHARED_TRUE@ --libs) --@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ -+@ENABLE_SHARED_TRUE@ if test x"${prefix}" != x"/usr" ; then -+@ENABLE_SHARED_TRUE@ libdirs="-L@libdir@" -+@ENABLE_SHARED_TRUE@ else -+@ENABLE_SHARED_TRUE@ libdirs="" -+@ENABLE_SHARED_TRUE@ fi -+@ENABLE_SHARED_TRUE@ echo $libdirs @SDL_RLD_FLAGS@ @SDL_LIBS@ - @ENABLE_SHARED_TRUE@ ;; - @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) - @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs) diff --git a/media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild b/media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild deleted file mode 100644 index 1bc6f7deb667..000000000000 --- a/media-libs/libsdl/libsdl-1.2.15_p20221201.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multilib-minimal toolchain-funcs - -MY_COMMIT="ca3acd25348edc9b6e984fc1712fd4d365931dc1" -DESCRIPTION="Simple Direct Media Layer" -HOMEPAGE="https://libsdl.org/" -SRC_URI="https://github.com/libsdl-org/SDL-1.2/archive/${MY_COMMIT}.tar.gz -> SDL-${PV}.tar.gz" -S="${WORKDIR}"/SDL-1.2-${MY_COMMIT} - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux" -# WARNING: -# If you turn on the custom-cflags use flag in USE and something breaks, -# you pick up the pieces. Be prepared for bug reports to be marked INVALID. -IUSE="aalib alsa custom-cflags dga fbcon +joystick libcaca nas opengl oss pulseaudio +sound static-libs tslib +video X xinerama xv" - -RDEPEND=" - aalib? ( >=media-libs/aalib-1.4_rc5-r6[${MULTILIB_USEDEP}] ) - alsa? ( >=media-libs/alsa-lib-1.0.27.2[${MULTILIB_USEDEP}] ) - libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) - nas? ( - >=media-libs/nas-1.9.4[${MULTILIB_USEDEP}] - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}] - ) - opengl? ( - >=virtual/glu-9.0-r1[${MULTILIB_USEDEP}] - >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] - ) - tslib? ( >=x11-libs/tslib-1.0-r3[${MULTILIB_USEDEP}] ) - pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) - sound? ( >=media-libs/audiofile-0.3.5[${MULTILIB_USEDEP}] ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXrandr-1.4.2[${MULTILIB_USEDEP}] - ) -" -DEPEND=" - ${RDEPEND} - nas? ( x11-base/xorg-proto ) - X? ( x11-base/xorg-proto ) -" -BDEPEND=" - pulseaudio? ( virtual/pkgconfig ) - x86? ( - || ( - >=dev-lang/yasm-0.6.0 - >=dev-lang/nasm-0.98.39-r3 - ) - )" - -pkg_setup() { - if use custom-cflags ; then - ewarn "Since you've chosen to use possibly unsafe CFLAGS," - ewarn "don't bother filing libsdl-related bugs until trying to remerge" - ewarn "libsdl without the custom-cflags use flag in USE." - fi -} - -PATCHES=( - "${FILESDIR}"/${PN}-$(ver_cut 1-3)-sdl-config.patch - "${FILESDIR}"/${PN}-$(ver_cut 1-3)-gamma.patch -) - -DOCS=( BUGS CREDITS README-SDL.txt TODO WhatsNew ) - -HTML_DOCS=( {docs,VisualC}.html docs/{html,images,index.html} ) - -src_prepare() { - default - - if $(tc-is-gcc) && [[ ${CHOST} == *-darwin* ]] ; then - # GCC at least has no idea what -fpascal-strings is - sed -i -e '/EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"/d' configure.ac || die - # We have trouble building against Frameworks with GCC for now (no Blocks support, etc) - # error: unknown type name ‘CGImageSourceAnimationBlock’ - sed -i \ - -e '/EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"/d' \ - -e '/EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"/d' \ - configure.ac || die - fi - - AT_M4DIR="${EPREFIX}/usr/share/aclocal acinclude" eautoreconf -} - -multilib_src_configure() { - local myconf= - - if $(tc-is-gcc) && [[ ${CHOST} == *-darwin* ]] ; then - # We can't build against Cocoa because we lack Blocks + Objective C++ support in - # GCC (for now) - use video && myconf="${myconf} --disable-video-cocoa" - # CD support drags in audio - myconf="${myconf} --disable-cdrom" - else - myconf="${myconf} --enable-cdrom" - fi - - if use !x86 && use !x86-linux ; then - myconf="${myconf} --disable-nasm" - else - myconf="${myconf} --enable-nasm" - fi - use custom-cflags || strip-flags - use sound || myconf="${myconf} --disable-audio" - use video \ - && myconf="${myconf} --enable-video-dummy" \ - || myconf="${myconf} --disable-video" - use joystick || myconf="${myconf} --disable-joystick" - - ECONF_SOURCE="${S}" econf \ - $(use_enable prefix rpath) \ - --disable-arts \ - --disable-esd \ - --enable-events \ - --enable-threads \ - --enable-timers \ - --enable-file \ - --enable-cpuinfo \ - --disable-alsa-shared \ - --disable-esd-shared \ - --disable-sndio \ - --disable-pulseaudio-shared \ - --disable-arts-shared \ - --disable-nas-shared \ - --disable-osmesa-shared \ - $(use_enable oss) \ - $(use_enable alsa) \ - $(use_enable pulseaudio) \ - $(use_enable nas) \ - $(use_enable X video-x11) \ - $(use_enable dga) \ - $(use_enable xv video-x11-xv) \ - $(use_enable xinerama video-x11-xinerama) \ - $(use_enable X video-x11-xrandr) \ - $(use_enable dga video-dga) \ - $(use_enable fbcon video-fbcon) \ - --disable-video-ggi \ - --disable-video-svga \ - $(use_enable aalib video-aalib) \ - $(use_enable libcaca video-caca) \ - $(use_enable opengl video-opengl) \ - --disable-video-ps3 \ - $(use_enable tslib input-tslib) \ - $(use_with X x) \ - $(use_enable static-libs static) \ - --disable-video-x11-xme \ - --disable-video-directfb \ - ${myconf} -} - -multilib_src_install() { - emake DESTDIR="${D}" install -} - -multilib_src_install_all() { - use static-libs || find "${ED}" -type f -name "*.la" -delete || die - einstalldocs -} diff --git a/media-libs/libsdl/libsdl-1.2.64.ebuild b/media-libs/libsdl/libsdl-1.2.64.ebuild deleted file mode 100644 index f5a8862ee0f3..000000000000 --- a/media-libs/libsdl/libsdl-1.2.64.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -DESCRIPTION="Simple Direct Media Layer 1.2 compatibility wrapper around SDL2" -HOMEPAGE="https://github.com/libsdl-org/sdl12-compat" -SRC_URI="https://github.com/libsdl-org/sdl12-compat/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="ZLIB" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv" - -# IUSE dropped from real SDL1: aalib custom-cflags dga fbcon libcaca nas oss pulseaudio static-libs tslib xinerama xv -IUSE="alsa +joystick opengl +sound test +video X" -REQUIRED_USE="test? ( joystick opengl sound video )" - -# The tests are more like example programs. -RESTRICT="test" - -RDEPEND=" - media-libs/libsdl2[${MULTILIB_USEDEP},alsa=,joystick=,opengl=,sound=,video=,X=] -" - -DEPEND=" - ${RDEPEND} - test? ( virtual/opengl[${MULTILIB_USEDEP}] ) -" - -S="${WORKDIR}/sdl12-compat-release-${PV}" - -src_configure() { - local mycmakeargs=( - -DSDL12TESTS=$(usex test) - ) - - cmake-multilib_src_configure -} diff --git a/media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild b/media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild deleted file mode 100644 index 99fab427c636..000000000000 --- a/media-libs/libsdl/libsdl-1.2.64_p20230726.ebuild +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib - -DESCRIPTION="Simple Direct Media Layer 1.2 compatibility wrapper around SDL2" -HOMEPAGE="https://github.com/libsdl-org/sdl12-compat" -if [[ ${PV} == *_p* ]] ; then - MY_COMMIT="f94a1ec0069266e40843138d0c5dd2fc6d43734c" - SRC_URI="https://github.com/libsdl-org/sdl12-compat/archive/${MY_COMMIT}.tar.gz -> libsdl-${PV}.tar.gz" - S="${WORKDIR}"/sdl12-compat-${MY_COMMIT} -else - SRC_URI="https://github.com/libsdl-org/sdl12-compat/archive/refs/tags/release-${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/sdl12-compat-release-${PV}" -fi - -LICENSE="ZLIB" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv" - -# IUSE dropped from real SDL1: aalib custom-cflags dga fbcon libcaca nas oss pulseaudio static-libs tslib xinerama xv -IUSE="alsa +joystick opengl +sound test +video X" -REQUIRED_USE="test? ( joystick opengl sound video )" - -# The tests are more like example programs. -RESTRICT="test" - -RDEPEND=" - media-libs/libsdl2[${MULTILIB_USEDEP},alsa=,joystick=,opengl=,sound=,video=,X=] -" - -DEPEND=" - ${RDEPEND} - test? ( virtual/opengl[${MULTILIB_USEDEP}] ) -" - -src_configure() { - local mycmakeargs=( - -DSDL12TESTS=$(usex test) - ) - - cmake-multilib_src_configure -} diff --git a/media-libs/libsdl/metadata.xml b/media-libs/libsdl/metadata.xml index 121e0e8a44e1..8197bc495339 100644 --- a/media-libs/libsdl/metadata.xml +++ b/media-libs/libsdl/metadata.xml @@ -24,7 +24,6 @@ <use> <flag name="joystick">Control joystick support (disable at your own risk)</flag> <flag name="sound">Control audio support (disable at your own risk)</flag> - <flag name="tslib">Build with tslib support for touchscreen devices</flag> <flag name="video">Control video support (disable at your own risk)</flag> </use> <upstream> diff --git a/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild b/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild index 19b19d7070a4..c625970b60e5 100644 --- a/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild +++ b/media-libs/libsdl2/libsdl2-2.30.7-r1.ebuild @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="ZLIB" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ~ppc64 ~riscv ~sparc x86" IUSE="alsa aqua cpu_flags_ppc_altivec cpu_flags_x86_3dnow cpu_flags_x86_mmx cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 custom-cflags dbus doc fcitx gles1 gles2 +haptic ibus jack +joystick kms libsamplerate nas opengl oss pipewire pulseaudio sndio +sound static-libs test udev +video vulkan wayland X xscreensaver" RESTRICT="!test? ( test )" diff --git a/media-libs/libsfml/Manifest b/media-libs/libsfml/Manifest index 812571c63fd8..43090803c3d8 100644 --- a/media-libs/libsfml/Manifest +++ b/media-libs/libsfml/Manifest @@ -1,3 +1,4 @@ DIST libsfml-2.5.1.tar.gz 22868556 BLAKE2B b6c70b75a778ffeb141438153fb1e5693c3e92e277919b8f8befe98f55dfd519a67c86504bb5656961b947fcf60758b16a18d5a4ae7585c7c5256f327529ae31 SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59 DIST libsfml-2.6.0.tar.gz 25493305 BLAKE2B 205db3aa9fa197dbc29c8b3a74c09651fb9ca8e60bf18e385b8ecfa350d85b31ab33b6d2e61b6cdcfdc3caf77a8af37cbe97445e871b6e688359b320a12a3cea SHA512 aac734e8b0e16936c0238ec792c922923545ec6cf06576bc70004fa1920cd05b4c5e56fbc8a77b650bbe6e202adc39df1d30509dbce95778d04338917a38a87a DIST libsfml-2.6.1.tar.gz 25499153 BLAKE2B 0e4251d7aade5a596e9d0afdaa86d843fb5ba3ca63fc4f9dccb2e7db70aa8ae253af30dba68d57dd6869a6142818575e6fd843005a6e54fe186b20b573ad8f63 SHA512 b376d3b00277ed60d107fe1268c210749b3aafcee618a8f924b181a9b476e92b9cb9baddecf70a8913b5910c471d53ea0260a876ad7b2db2b98b944d9f508714 +DIST libsfml-2.6.2.tar.gz 28624288 BLAKE2B 52442ef05a2719c1e7cd45ba15a4a41af7f3026c7c3a01c55993769bde39c9426962d640ffa2ac293dd4d90b9290b5f0895fffe7c10d3ffadbc189b10001c7ff SHA512 d8a8bee3aa9acda4609104c2a9d4a2512e4be6d6e85fd4b24c287c03f60cfb888e669e61bfac4113dae35f0c3492559b65b3453baf38766d8c0223d9ab77aada diff --git a/media-libs/libsfml/libsfml-2.6.1.ebuild b/media-libs/libsfml/libsfml-2.6.1.ebuild index 87c36048ce3e..7427b45b2650 100644 --- a/media-libs/libsfml/libsfml-2.6.1.ebuild +++ b/media-libs/libsfml/libsfml-2.6.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/SFML/SFML/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="ZLIB" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" IUSE="debug doc examples" RDEPEND=" diff --git a/media-libs/libsfml/libsfml-2.5.1-r1.ebuild b/media-libs/libsfml/libsfml-2.6.2.ebuild index 4855c128c89a..771d64d56587 100644 --- a/media-libs/libsfml/libsfml-2.5.1-r1.ebuild +++ b/media-libs/libsfml/libsfml-2.6.2.ebuild @@ -8,40 +8,41 @@ inherit cmake DESCRIPTION="Simple and Fast Multimedia Library (SFML)" HOMEPAGE="https://www.sfml-dev.org/ https://github.com/SFML/SFML" SRC_URI="https://github.com/SFML/SFML/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/SFML-${PV}" LICENSE="ZLIB" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" IUSE="debug doc examples" RDEPEND=" media-libs/flac:= media-libs/freetype:2 media-libs/libjpeg-turbo:= - media-libs/libpng:= media-libs/libogg + media-libs/libpng:= media-libs/libvorbis media-libs/openal sys-libs/zlib virtual/opengl x11-libs/libX11 + x11-libs/libXcursor x11-libs/libXrandr x11-libs/libxcb x11-libs/xcb-util-image kernel_linux? ( virtual/libudev:= ) " -DEPEND="${RDEPEND}" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" BDEPEND=" doc? ( app-text/doxygen ) " DOCS=( changelog.md readme.md ) -S="${WORKDIR}/SFML-${PV}" - -PATCHES=( - "${FILESDIR}"/${P}-musl-1.2.3-nullptr.patch -) +PATCHES=( "${FILESDIR}"/libsfml-2.6.0-supress-werror.patch ) src_prepare() { sed -i "s:DESTINATION .*:DESTINATION /usr/share/doc/${PF}:" \ diff --git a/media-libs/libshumate/Manifest b/media-libs/libshumate/Manifest index a30cd4c1b69d..b5307b8085ab 100644 --- a/media-libs/libshumate/Manifest +++ b/media-libs/libshumate/Manifest @@ -1,3 +1,4 @@ DIST libshumate-1.1.3.tar.xz 299644 BLAKE2B f07a583e1fd142a0601c725840e84397ed04962f828cbc15217dcdc0d767015664a06252879416e9422cb32154406dae2742ffb511404c5923ce9acab7efae0c SHA512 163cce5c9aca2f3c52da3ecb3b4a651798e314d38a145ed4c69b0510303c72a0934c24084036ca2dfaab8b008753a37f7116b0bd2907cddc78a2aceee4f847d2 DIST libshumate-1.1.4.tar.xz 299700 BLAKE2B 1f60b0807d99c8ea675be2ca85ada1929c51aa1a5f27bb5565ddba062626c4bde447f95ad4b7e02b6d3f57af1365501e64b5bca18dc566b3bf0ae1f47d5c638f SHA512 f2bb90255a43fbdf9b17bd69260c9054378959900adbc26db9b7417f98595f1d5c9221db4f31b78a546f7bd30d95175f4210fc7db11db6704d7de4c9ad000619 DIST libshumate-1.2.2.tar.xz 321216 BLAKE2B f0f26798fc9a32707d5e669c0af5396ddcdff0bea9f93150f29751ab952f72bfed457f105ea0835d3b31fbb3d66934139e1a6a06e1d056d47bf2f270cc32b23c SHA512 9e1f3f26aa591ac681ccd4613ae921f4e3f3863bacd0a0dc3be56f52749135d6c035535111808d18929d5be2a6461a47739e586f20081f485bb992b4e0a22c3a +DIST libshumate-1.2.3.tar.xz 321768 BLAKE2B 42349a0d96d35972cf5440470983792ffe897aa0d3e8a1cd7435f1a0ecd870142d33fa28f4e5cc559cd9adba66dbd6ab1bf57d10aa5cfb4934dd3b67ae4983c6 SHA512 4f56e51b72a63d89d6b159dc002617866abd388cb6c3a092107bc5751728c99466f8c36e8086bb39b22b3d91de28f840e9d28fc29dba0b94bafd643950fee8ec diff --git a/media-libs/libshumate/libshumate-1.2.3.ebuild b/media-libs/libshumate/libshumate-1.2.3.ebuild new file mode 100644 index 000000000000..425d110b1dd0 --- /dev/null +++ b/media-libs/libshumate/libshumate-1.2.3.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org meson vala virtualx + +DESCRIPTION="Shumate is a GTK toolkit providing widgets for embedded maps" +HOMEPAGE="https://gitlab.gnome.org/GNOME/libshumate" + +LICENSE="LGPL-2.1+" +SLOT="1.0/1" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~sparc ~x86" +REQUIRED_USE="gtk-doc? ( introspection )" + +IUSE="gtk-doc +introspection sysprof vala" + +RDEPEND=" + >=dev-libs/glib-2.74.0:2 + >=x11-libs/cairo-1.4 + >=dev-db/sqlite-1.12:3 + >=gui-libs/gtk-4:4 + >=net-libs/libsoup-3.0:3.0 + introspection? ( >=dev-libs/gobject-introspection-0.6.3:= ) + >=dev-libs/json-glib-1.6.0[introspection?] + dev-libs/protobuf-c +" +DEPEND="${RDEPEND} + sysprof? ( dev-util/sysprof-capture:4 ) +" +BDEPEND=" + gtk-doc? ( >=dev-util/gi-docgen-2021.1 ) + vala? ( $(vala_depend) ) +" + +src_configure() { + local emesonargs=( + $(meson_use introspection gir) + $(meson_use vala vapi) + $(meson_use gtk-doc gtk_doc) + -Ddemos=false # only built, not installed + -Dvector_renderer=true + $(meson_feature sysprof) + ) + meson_src_configure +} + +src_test() { + virtx dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed' +} + +src_install() { + meson_src_install + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html || die + mv "${ED}"/usr/share/doc/libshumate-1.0 "${ED}"/usr/share/gtk-doc/html/libshumate-1.0 || die + fi +} diff --git a/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild b/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild index 871874ea1d4f..ae7adefd6545 100644 --- a/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild +++ b/media-libs/libsidplay/libsidplay-1.36.59-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,9 +12,6 @@ SRC_URI="http://critical.ch/distfiles/${P}.tgz" LICENSE="GPL-2" SLOT="1" KEYWORDS="~alpha amd64 ~arm64 ~hppa ppc ppc64 ~riscv sparc x86" -IUSE="" -DEPEND="" -RDEPEND="" DOCS=( AUTHORS DEVELOPER ) PATCHES=( diff --git a/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild b/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild index 4cc0dd9e7a70..80891d2e8e6f 100644 --- a/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild +++ b/media-libs/libsidplay/libsidplay-2.1.1-r7.ebuild @@ -8,8 +8,9 @@ inherit autotools flag-o-matic multilib-minimal MY_P=sidplay-libs-${PV} DESCRIPTION="C64 SID player library" -HOMEPAGE="http://sidplay2.sourceforge.net/" +HOMEPAGE="https://sidplay2.sourceforge.net/" SRC_URI="https://downloads.sourceforge.net/sidplay2/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" LICENSE="GPL-2" SLOT="2" @@ -33,8 +34,6 @@ PATCHES=( "${FILESDIR}"/${P}-clang16.patch ) -S="${WORKDIR}/${MY_P}" - src_prepare() { default diff --git a/media-libs/libsidplayfp/Manifest b/media-libs/libsidplayfp/Manifest index 08d58b73ea43..ad4b93c04a24 100644 --- a/media-libs/libsidplayfp/Manifest +++ b/media-libs/libsidplayfp/Manifest @@ -1,2 +1,2 @@ -DIST libsidplayfp-2.10.0.tar.gz 811416 BLAKE2B 5d81c1c74eccb5b4e176a82e1232eed7a5687bd6dd5c22b0941d414be438db54f0d303bb0c26445404beb94f9d01cf78ec57983e8a11dd265ec6f94947a71b2b SHA512 ebffc99d04e4e5ef309636c08105b42150c5b707bcb6ecd196ee6956f301ae152efdfdd86b14276e31a0936d97cc534caec4e2281249df6ba7571926a1daffeb -DIST libsidplayfp-2.9.0.tar.gz 807772 BLAKE2B 9ec5066a69f912c4183e98c4883875b646c9f6150ab4bd3c8d9a7110a9c75529cdb6f8aeac8d379ecacf2c0ec6181a8ee13ff93bcc53f296b8900b0e6c8d5281 SHA512 3d6b0b6ab5155da3ae4cface17a2fe85deb1dd8ab8076dba60f04e5df78b10dc9b756b408734a1012e254d3d24d8cfcf15b562fdb1f28edd756a5d63719595b0 +DIST libsidplayfp-2.10.1.tar.gz 812511 BLAKE2B 7c4a8c276a0adf75f96cebaf7931f314bdc097df8e682d2894b9903b574e2a6dd5d9b6619243aceb3458e70d29041c4549aaefe45fb37bb9312333d5d03322f8 SHA512 b8a15b34b0c834b037fc35ae9c968505322f9fb4971313ca59a0a8d22e31580354e18fda530246c0086079a9f9ff40e9c54f93279831817dc377fa9c9894bb20 +DIST libsidplayfp-2.11.0.tar.gz 813488 BLAKE2B 6bb8f37e5272c166ba5fe804395c676becb366fbf2adff0831236eaa46f889811f9173f99a7b0e67f986dfbc8e58b4957b27a39c7b7da2571a7014776bc92c1b SHA512 5f8c32d6964cdd651db0718b8f02d7fcbf829c58ed15bc8fa07f5cc0a452954ec93b041f54641744b597a8e67b6c723df6031b00685231e931f6388c294ea172 diff --git a/media-libs/libsidplayfp/libsidplayfp-2.9.0.ebuild b/media-libs/libsidplayfp/libsidplayfp-2.10.1.ebuild index 4eefc5282af5..4eefc5282af5 100644 --- a/media-libs/libsidplayfp/libsidplayfp-2.9.0.ebuild +++ b/media-libs/libsidplayfp/libsidplayfp-2.10.1.ebuild diff --git a/media-libs/libsidplayfp/libsidplayfp-2.10.0.ebuild b/media-libs/libsidplayfp/libsidplayfp-2.11.0.ebuild index bc7c3460f07e..bc7c3460f07e 100644 --- a/media-libs/libsidplayfp/libsidplayfp-2.10.0.ebuild +++ b/media-libs/libsidplayfp/libsidplayfp-2.11.0.ebuild diff --git a/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild b/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild index dc08adbb90a0..21634fd6b8ab 100644 --- a/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild +++ b/media-libs/libsndfile/libsndfile-1.2.2-r2.ebuild @@ -12,7 +12,7 @@ else SRC_URI="https://github.com/libsndfile/libsndfile/releases/download/${PV}/${P}.tar.xz" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" fi -inherit python-any-r1 multilib-minimal +inherit flag-o-matic python-any-r1 multilib-minimal DESCRIPTION="C library for reading and writing files containing sampled sound" HOMEPAGE="https://libsndfile.github.io/libsndfile/" @@ -49,8 +49,16 @@ src_prepare() { [[ ${PV} == *9999 ]] && eautoreconf } +src_configure() { + # https://github.com/libsndfile/libsndfile/issues/1049 (bug #943864) + append-cflags -std=gnu17 + + multilib-minimal_src_configure +} + multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ + # CONFIG_SHELL hack can be dropped >1.2.2 (bug #923921) + CONFIG_SHELL="${BROOT}"/bin/bash ECONF_SOURCE="${S}" econf \ --disable-octave \ --disable-static \ --disable-werror \ diff --git a/media-libs/libsndfile/libsndfile-1.2.2.ebuild b/media-libs/libsndfile/libsndfile-1.2.2.ebuild deleted file mode 100644 index 78f6380d464a..000000000000 --- a/media-libs/libsndfile/libsndfile-1.2.2.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} pypy3 ) - -if [[ ${PV} == *9999 ]]; then - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/libsndfile/libsndfile.git" -else - SRC_URI="https://github.com/libsndfile/libsndfile/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -fi -inherit python-any-r1 multilib-minimal - -DESCRIPTION="C library for reading and writing files containing sampled sound" -HOMEPAGE="https://libsndfile.github.io/libsndfile/" - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="alsa minimal sqlite test" -RESTRICT="!test? ( test )" - -RDEPEND=" - !minimal? ( - media-libs/flac:=[${MULTILIB_USEDEP}] - media-libs/libogg:=[${MULTILIB_USEDEP}] - media-libs/libvorbis:=[${MULTILIB_USEDEP}] - media-libs/opus:=[${MULTILIB_USEDEP}] - media-sound/lame:=[${MULTILIB_USEDEP}] - media-sound/mpg123:=[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib:= ) - sqlite? ( dev-db/sqlite )" -DEPEND="${RDEPEND}" -BDEPEND=" - ${PYTHON_DEPS} - virtual/pkgconfig" -if [[ ${PV} == *9999 ]]; then - BDEPEND+=" - sys-devel/autogen - " -fi - -src_prepare() { - default - - [[ ${PV} == *9999 ]] && eautoreconf -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - --disable-octave \ - --disable-static \ - --disable-werror \ - $(use_enable !minimal external-libs) \ - $(use_enable !minimal mpeg) \ - $(multilib_native_enable full-suite) \ - $(multilib_native_use_enable alsa) \ - $(multilib_native_use_enable sqlite) \ - PYTHON="${EPYTHON}" -} - -multilib_src_install_all() { - einstalldocs - - # no static archives - find "${ED}" -name '*.la' -delete || die -} diff --git a/media-libs/libsndfile/libsndfile-9999.ebuild b/media-libs/libsndfile/libsndfile-9999.ebuild index d75e3910471e..f32a95a3585c 100644 --- a/media-libs/libsndfile/libsndfile-9999.ebuild +++ b/media-libs/libsndfile/libsndfile-9999.ebuild @@ -12,7 +12,7 @@ else SRC_URI="https://github.com/libsndfile/libsndfile/releases/download/${PV}/${P}.tar.xz" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" fi -inherit python-any-r1 multilib-minimal +inherit flag-o-matic python-any-r1 multilib-minimal DESCRIPTION="C library for reading and writing files containing sampled sound" HOMEPAGE="https://libsndfile.github.io/libsndfile/" @@ -49,6 +49,13 @@ src_prepare() { [[ ${PV} == *9999 ]] && eautoreconf } +src_configure() { + # https://github.com/libsndfile/libsndfile/issues/1049 (bug #943864) + append-cflags -std=gnu17 + + multilib-minimal_src_configure +} + multilib_src_configure() { ECONF_SOURCE="${S}" econf \ --disable-octave \ diff --git a/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild b/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild index 3032ed6833b6..755ad2bcff63 100644 --- a/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild +++ b/media-libs/libtgvoip/libtgvoip-2.4.4_p20240706.ebuild @@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}-${LIBTGVOIP_COMMIT}" LICENSE="Unlicense" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv" IUSE="+dsp +alsa pulseaudio" DEPEND=" diff --git a/media-libs/libuninameslist/libuninameslist-20230916.ebuild b/media-libs/libuninameslist/libuninameslist-20230916.ebuild index 6b5f5eacb206..7aa13f4cf40e 100644 --- a/media-libs/libuninameslist/libuninameslist-20230916.ebuild +++ b/media-libs/libuninameslist/libuninameslist-20230916.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ SRC_URI="https://github.com/fontforge/libuninameslist/releases/download/${PV}/${ LICENSE="BSD" SLOT="0/1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" src_configure() { econf --enable-frenchlib diff --git a/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch b/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch new file mode 100644 index 000000000000..4cc3ee2017c4 --- /dev/null +++ b/media-libs/libva-intel-driver/files/2.4.1-Make-wl_drm-optional.patch @@ -0,0 +1,52 @@ +https://bugs.gentoo.org/941253 +https://github.com/intel/intel-vaapi-driver/pull/566 + +From 1c3c43371d45e1d072faa9a5cd850c1722a06569 Mon Sep 17 00:00:00 2001 +From: Simon Ser <contact@emersion.fr> +Date: Mon, 11 Mar 2024 23:48:17 +0100 +Subject: [PATCH] Make wl_drm optional + +Don't error out when vtable->wl_interface is NULL. + +Fetching wl_drm_interface from libEGL used to work but doesn't +anymore: it's now a private symbol (wayland-scanner private-code). +--- + src/i965_output_wayland.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/i965_output_wayland.c b/src/i965_output_wayland.c +index a6120b7..a002cae 100644 +--- a/src/i965_output_wayland.c ++++ b/src/i965_output_wayland.c +@@ -154,7 +154,7 @@ registry_handle_global( + struct va_wl_output * const wl_output = i965->wl_output; + struct wl_vtable * const wl_vtable = &wl_output->vtable; + +- if (strcmp(interface, "wl_drm") == 0) { ++ if (strcmp(interface, "wl_drm") == 0 && wl_vtable->drm_interface) { + wl_output->wl_drm_name = name; + wl_output->wl_drm = registry_bind(wl_vtable, wl_output->wl_registry, + name, wl_vtable->drm_interface, +@@ -472,6 +472,7 @@ i965_output_wayland_init(VADriverContextP ctx) + + wl_vtable = &i965->wl_output->vtable; + ++ /* drm_interface is optional */ + if (vtable->wl_interface) + wl_vtable->drm_interface = vtable->wl_interface; + else { +@@ -483,9 +484,8 @@ i965_output_wayland_init(VADriverContextP ctx) + } + + dso_handle = i965->wl_output->libegl_handle; +- if (!dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable), +- libegl_symbols)) +- goto error; ++ dso_get_symbols(dso_handle, wl_vtable, sizeof(*wl_vtable), ++ libegl_symbols); + } + + i965->wl_output->libwl_client_handle = dso_open(LIBWAYLAND_CLIENT_NAME); +-- +2.45.2 + diff --git a/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild b/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r6.ebuild index 4a0de8f43ac2..824e056d80f1 100644 --- a/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r4.ebuild +++ b/media-libs/libva-intel-driver/libva-intel-driver-2.4.1-r6.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 MY_PN="intel-vaapi-driver" if [[ ${PV} = *9999* ]] ; then # Live ebuild @@ -40,8 +40,12 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +PATCHES=( + "${FILESDIR}"/${PV}-Make-wl_drm-optional.patch +) + src_prepare() { - eapply_user + default sed -e 's/intel-gen4asm/\0diSaBlEd/g' -i configure.ac || die eautoreconf } diff --git a/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild b/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild index f59da31c7a3b..0ab23b553cf4 100644 --- a/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild +++ b/media-libs/libva-intel-driver/libva-intel-driver-9999.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 MY_PN="intel-vaapi-driver" if [[ ${PV} = *9999* ]] ; then # Live ebuild @@ -41,7 +41,7 @@ DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" src_prepare() { - eapply_user + default sed -e 's/intel-gen4asm/\0diSaBlEd/g' -i configure.ac || die eautoreconf } diff --git a/media-libs/libva-intel-media-driver/Manifest b/media-libs/libva-intel-media-driver/Manifest index 8e413054f817..5837caa181d6 100644 --- a/media-libs/libva-intel-media-driver/Manifest +++ b/media-libs/libva-intel-media-driver/Manifest @@ -1,7 +1,3 @@ -DIST intel-media-24.1.5.tar.gz 25834293 BLAKE2B 076731a57c7fbf6776df393c631e8abda7e07679b5babb28a8973b9919ce6522b3bfa92f9a1fcb173714a2c7dedec79a791a8e94d3e1962df072d1b2157692b9 SHA512 9c8121345f23153361f6458b638938896c42542c80efb0490847aa04c873a0726199985318ee6691f240def12d4f18e804971040dc1284b0cd46287756bb61ba -DIST intel-media-24.2.5.tar.gz 25860224 BLAKE2B 2d2cfe9b72a1271e98deae9b80321c4953e2dfa73db80156d09352f2420081fda4ece0f4d98a4cd9c36217a8808d4816451d041fcb4f46979efaa3c8ae1d84e5 SHA512 f283cf4b6536e2c05df9c169958668ab7ee96291473a203dfd2fe79888e297b0b12f2b75ea9dba988335139fc7a63c1d2a4908a5a7d2c68b807fa131cb29b7b4 -DIST intel-media-24.3.0.tar.gz 27035846 BLAKE2B cb1d8764f532234c8f853d8918f33be2ad31d807fc7b128acb2551e62004d3e8a431bbb7c38e534c0ad5b5f0c2e4e1917da0ea8e242d5785088e2a6a4ef9bc2d SHA512 2e9c21c93e8d842aef7785195c7c6ad4fceb384eccb79e4108d7305cd2ba9ce34e9785ecd227345ede1135678da61259d325f074e1e9c8d08b29da107f96bfdc -DIST intel-media-24.3.1.tar.gz 27087463 BLAKE2B 0c8519e5976e51cb6c854363f23f30bb98ea4a6e47a66e196a18a174ebde89bb71d36d21aa58a39f5dd3da76d225bd8902c1e983865ab1831dac3f7368d476fa SHA512 557fb40dcb409304f3209e0409d208648629f10bdeb2d9f4fe17f3c581bcc05c71d00cc9331c1d498e1981607b7fff7e4cad20a8f88b5b3605c7a606a5648828 -DIST intel-media-24.3.2.tar.gz 27086020 BLAKE2B 3a0dab661cd837075321657f495cd4c09e0226218fa64780777ba85d89a94624d69f383647c12786dcf776da2e04993882dbdeabe03cd9d15e1084dc7fc08042 SHA512 a6a29b07870b1f8288b01f100089026a68e6ca55908f00b1e3d1b579e29f96969f91c948eea2410a982588e8e47ad73ed3b8184acafb645811c5922e76cc0442 -DIST intel-media-24.3.3.tar.gz 27534326 BLAKE2B ab4adb5aded35387ead884cb385f1ce5dffa3a19d00e85095536077d4318e09e260f227b004a16a50faaaac735cb44ff3e7427bf2dba84c0415cd11107de9793 SHA512 73c637677216e3bb145b002d1ce5a4e799cfd0e33656152b8e12e290e893487131e49c01b31573e7b978da89cdb7d5663a1a6c6ad43ae3897e1778569f0c313f DIST intel-media-24.3.4.tar.gz 27623962 BLAKE2B 0f4eb4321db0b3f1ce05461d0321777918dbb7ac1e28dc916040ca252441c7682650c6af0224588c445ccb06cc1c28b8d5ff47b7a0b271e83b1a97cf3af6e67d SHA512 015915b4265fafa5cb619ac69e1cbd3f17ac22fc51dcb9455782cad097dd494c28cdcc9c4c184c739216b419a5b1ec5730ee19d9dedfc83e20761803a3e89d81 +DIST intel-media-24.4.2.tar.gz 27670782 BLAKE2B a89df89b15cb800fd9e90e8ffaee6ee76cdaa3b97d49feacb0c40e2ff7ac44db38dd2ef4fd65b25bdc4450d95c20559b1a9cb3f87e9f7916568ef7fdea631685 SHA512 63f68c2fec1608082b5e1892b7f0cfadbd9e7c2ccacf681e2e596d020d15dbd8dd95bbff353cf7e987dc9a2638b498594b42c36b366ba9bc8cdf5795f38b23fe +DIST intel-media-24.4.3.tar.gz 27695613 BLAKE2B 9f4201563d93a0bab5408161b5b418a163bca09f2c17734638817a4060444a321c06a95fbc81616140b55e46a2a1bf8267dba93e15c8f6a1368b8fd98497c4de SHA512 151416aa5e22c98a56d15a00cb8dd3a25cff4a8445b5106b77000d7cff4788736d0e0f4067121334bc3e7b4fba76e84a07b5ac318f12b0fa9a8f9c2317847ada diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild deleted file mode 100644 index 724fb1822753..000000000000 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.1.5.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib flag-o-matic - -if [[ ${PV} == *9999 ]] ; then - : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"} - if [[ ${PV%9999} != "" ]] ; then - : ${EGIT_BRANCH:="release/${PV%.9999}"} - fi - inherit git-r3 -else - MY_PV="${PV%_pre}" - SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz" - S="${WORKDIR}/media-driver-intel-media-${MY_PV}" - if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="amd64" - fi -fi - -DESCRIPTION="Intel Media Driver for VA-API (iHD)" -HOMEPAGE="https://github.com/intel/media-driver" - -LICENSE="MIT BSD redistributable? ( no-source-code )" -SLOT="0" -IUSE="+redistributable test X" - -RESTRICT="!test? ( test )" - -DEPEND=">=media-libs/gmmlib-22.3.14:=[${MULTILIB_USEDEP}] - >=media-libs/libva-2.20.0[X?,${MULTILIB_USEDEP}] -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch - "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch -) - -multilib_src_configure() { - # https://github.com/intel/media-driver/issues/356 - append-cxxflags -D_FILE_OFFSET_BITS=64 - - local mycmakeargs=( - -DMEDIA_BUILD_FATAL_WARNINGS=OFF - -DMEDIA_RUN_TEST_SUITE=$(usex test) - -DBUILD_TYPE=Release - -DPLATFORM=linux - -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X) - -DENABLE_NONFREE_KERNELS=$(usex redistributable) - -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now - ) - local CMAKE_BUILD_TYPE="Release" - cmake_src_configure -} diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild deleted file mode 100644 index 4acc0837e7aa..000000000000 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.2.5.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib flag-o-matic - -if [[ ${PV} == *9999 ]] ; then - : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"} - if [[ ${PV%9999} != "" ]] ; then - : ${EGIT_BRANCH:="release/${PV%.9999}"} - fi - inherit git-r3 -else - MY_PV="${PV%_pre}" - SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz" - S="${WORKDIR}/media-driver-intel-media-${MY_PV}" - if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="amd64" - fi -fi - -DESCRIPTION="Intel Media Driver for VA-API (iHD)" -HOMEPAGE="https://github.com/intel/media-driver" - -LICENSE="MIT BSD redistributable? ( no-source-code )" -SLOT="0" -IUSE="+redistributable test X" - -RESTRICT="!test? ( test )" - -DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}] - >=media-libs/libva-2.21.0[X?,${MULTILIB_USEDEP}] -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch - "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch -) - -multilib_src_configure() { - # https://github.com/intel/media-driver/issues/356 - append-cxxflags -D_FILE_OFFSET_BITS=64 - - local mycmakeargs=( - -DMEDIA_BUILD_FATAL_WARNINGS=OFF - -DMEDIA_RUN_TEST_SUITE=$(usex test) - -DBUILD_TYPE=Release - -DPLATFORM=linux - -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X) - -DENABLE_NONFREE_KERNELS=$(usex redistributable) - -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now - ) - local CMAKE_BUILD_TYPE="Release" - cmake_src_configure -} diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild deleted file mode 100644 index 343e7ed8c609..000000000000 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.0.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib flag-o-matic - -if [[ ${PV} == *9999 ]] ; then - : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"} - if [[ ${PV%9999} != "" ]] ; then - : ${EGIT_BRANCH:="release/${PV%.9999}"} - fi - inherit git-r3 -else - MY_PV="${PV%_pre}" - SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz" - S="${WORKDIR}/media-driver-intel-media-${MY_PV}" - if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~amd64" - fi -fi - -DESCRIPTION="Intel Media Driver for VA-API (iHD)" -HOMEPAGE="https://github.com/intel/media-driver" - -LICENSE="MIT BSD redistributable? ( no-source-code )" -SLOT="0" -IUSE="+redistributable test X" - -RESTRICT="!test? ( test )" - -DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}] - >=media-libs/libva-2.21.0[X?,${MULTILIB_USEDEP}] -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch - "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch -) - -multilib_src_configure() { - # https://github.com/intel/media-driver/issues/356 - append-cxxflags -D_FILE_OFFSET_BITS=64 - - local mycmakeargs=( - -DMEDIA_BUILD_FATAL_WARNINGS=OFF - -DMEDIA_RUN_TEST_SUITE=$(usex test) - -DBUILD_TYPE=Release - -DPLATFORM=linux - -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X) - -DENABLE_NONFREE_KERNELS=$(usex redistributable) - -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now - ) - local CMAKE_BUILD_TYPE="Release" - cmake_src_configure -} diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild deleted file mode 100644 index bc3be02793b7..000000000000 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.1-r1.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake-multilib flag-o-matic - -if [[ ${PV} == *9999 ]] ; then - : ${EGIT_REPO_URI:="https://github.com/intel/media-driver"} - if [[ ${PV%9999} != "" ]] ; then - : ${EGIT_BRANCH:="release/${PV%.9999}"} - fi - inherit git-r3 -else - MY_PV="${PV%_pre}" - SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz" - S="${WORKDIR}/media-driver-intel-media-${MY_PV}" - if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~amd64" - fi -fi - -DESCRIPTION="Intel Media Driver for VA-API (iHD)" -HOMEPAGE="https://github.com/intel/media-driver" - -LICENSE="MIT BSD redistributable? ( no-source-code )" -SLOT="0" -IUSE="+redistributable test X" - -RESTRICT="!test? ( test )" - -DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}] - >=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}] -" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-23.3.4-Remove-unwanted-CFLAGS.patch - "${FILESDIR}"/${PN}-23.3.4_testing_in_src_test.patch -) - -multilib_src_configure() { - # https://github.com/intel/media-driver/issues/356 - append-cxxflags -D_FILE_OFFSET_BITS=64 - - local mycmakeargs=( - -DMEDIA_BUILD_FATAL_WARNINGS=OFF - -DMEDIA_RUN_TEST_SUITE=$(usex test) - -DBUILD_TYPE=Release - -DPLATFORM=linux - -DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex !X) - -DENABLE_NONFREE_KERNELS=$(usex redistributable) - -DLATEST_CPP_NEEDED=ON # Seems to be the best option for now - ) - local CMAKE_BUILD_TYPE="Release" - cmake_src_configure -} diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild index bc3be02793b7..68e5df8b6f80 100644 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild +++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.4.ebuild @@ -16,7 +16,7 @@ else SRC_URI="https://github.com/intel/media-driver/archive/intel-media-${MY_PV}.tar.gz" S="${WORKDIR}/media-driver-intel-media-${MY_PV}" if [[ ${PV} != *_pre* ]] ; then - KEYWORDS="~amd64" + KEYWORDS="amd64" fi fi diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.2.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.2.ebuild index bc3be02793b7..42f6583e9710 100644 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.2.ebuild +++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.2.ebuild @@ -29,7 +29,7 @@ IUSE="+redistributable test X" RESTRICT="!test? ( test )" -DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}] +DEPEND=">=media-libs/gmmlib-22.5.0:=[${MULTILIB_USEDEP}] >=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}] " RDEPEND="${DEPEND}" diff --git a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.3.ebuild b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.3.ebuild index bc3be02793b7..42f6583e9710 100644 --- a/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.3.3.ebuild +++ b/media-libs/libva-intel-media-driver/libva-intel-media-driver-24.4.3.ebuild @@ -29,7 +29,7 @@ IUSE="+redistributable test X" RESTRICT="!test? ( test )" -DEPEND=">=media-libs/gmmlib-22.3.20:=[${MULTILIB_USEDEP}] +DEPEND=">=media-libs/gmmlib-22.5.0:=[${MULTILIB_USEDEP}] >=media-libs/libva-2.22.0[X?,${MULTILIB_USEDEP}] " RDEPEND="${DEPEND}" diff --git a/media-libs/libva/Manifest b/media-libs/libva/Manifest index bca1f5125751..f3bb4308d7a1 100644 --- a/media-libs/libva/Manifest +++ b/media-libs/libva/Manifest @@ -1,2 +1 @@ -DIST libva-2.21.0.tar.gz 281515 BLAKE2B bd430162b07987d8982d8f81296e94623efea68624f34b7e159ebefeb37a2b062f2c0d809e16e76c172d6c2df11b59691174fb9a1d65d0938949ac2a025b746c SHA512 93654bb892e0e269d7682a1344fe6f7298432d1f2b347396c63aa1bd84ac0f707af34950a93098fe86a9bc8986fc9f97f75f0f15d8495ffd2caf8cf0eed9612c DIST libva-2.22.0.tar.gz 301705 BLAKE2B b438c95613628b8eb1150238016bafdf2ef33fc01ed78742cd50768238cedf5475752a6dd7413ee217961a705abcd7628219ddf3f13c5aa77015b6bbb4e77929 SHA512 cd633e5e09eac1ed10f1fc12b0f664f836e0eda9e47c17e1295b746cfd643a18fd0564a06a148ced3cf1e2321aa4d21275918bcf8c717d3981e98a598179f370 diff --git a/media-libs/libva/files/libva-2.21.0-no-undefined-version.patch b/media-libs/libva/files/libva-2.21.0-no-undefined-version.patch deleted file mode 100644 index 007540bdb535..000000000000 --- a/media-libs/libva/files/libva-2.21.0-no-undefined-version.patch +++ /dev/null @@ -1,46 +0,0 @@ -From https://github.com/intel/libva/commit/17e07d17ba723a6b5822390afacdd3ccd976ecd2 Mon Sep 17 00:00:00 2001 -From: Violet Purcell <vimproved@inventati.org> -Date: Sun, 1 Oct 2023 16:34:19 -0400 -Subject: [PATCH] va: Fix -Wl,--version-script check with LLD 17 - -LLD 17 uses --no-undefined-version by default, so the check currently -fails due to vaCreateSurface being undefined. This commit replaces that -check with a generic check in the top level meson.build, using the -conftest.syms file. - -Signed-off-by: Violet Purcell <vimproved@inventati.org> ---- /dev/null -+++ b/conftest.syms -@@ -0,0 +1,6 @@ -+VERSION_1 { -+ global: -+ main; -+ local: -+ *; -+}; ---- a/meson.build -+++ b/meson.build -@@ -87,6 +87,12 @@ dl_dep = cc.find_library('dl', required : false) - WITH_DRM = not get_option('disable_drm') and (host_machine.system() != 'windows') - libdrm_dep = dependency('libdrm', version : '>= 2.4.60', required : (host_machine.system() != 'windows')) - -+ld_supports_version_script = cc.links( -+ 'int main() { return 0; }', -+ name : '-Wl,--version-script', -+ args : ['-shared', '-Wl,--version-script,' + '@0@/@1@'.format(meson.current_source_dir(), 'conftest.syms')] -+) -+ - WITH_X11 = false - if get_option('with_x11') != 'no' - x11_dep = dependency('x11', required : get_option('with_x11') == 'yes') ---- a/va/meson.build -+++ b/va/meson.build -@@ -60,7 +60,7 @@ libva_sym_arg = '-Wl,-version-script,' + '@0@/@1@'.format(meson.current_source_d - - libva_link_args = [] - libva_link_depends = [] --if cc.links('', name: '-Wl,--version-script', args: ['-shared', libva_sym_arg]) -+if ld_supports_version_script - libva_link_args = libva_sym_arg - libva_link_depends = libva_sym - endif diff --git a/media-libs/libva/libva-2.21.0.ebuild b/media-libs/libva/libva-2.21.0.ebuild deleted file mode 100644 index 55ff808ff96f..000000000000 --- a/media-libs/libva/libva-2.21.0.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson-multilib optfeature - -DESCRIPTION="Video Acceleration (VA) API for Linux" -HOMEPAGE="https://01.org/linuxmedia/vaapi" - -if [[ ${PV} = *9999 ]] ; then - inherit git-r3 - EGIT_BRANCH=master - EGIT_REPO_URI="https://github.com/intel/libva" -else - SRC_URI="https://github.com/intel/libva/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="MIT" -SLOT="0/$(ver_cut 1)" -IUSE="wayland X" - -RDEPEND=" - >=x11-libs/libdrm-2.4.60[${MULTILIB_USEDEP}] - wayland? ( - >=dev-libs/wayland-1.11[${MULTILIB_USEDEP}] - ) - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}] - x11-libs/libxcb:=[${MULTILIB_USEDEP}] - ) -" -DEPEND=" - ${RDEPEND} - X? ( x11-base/xorg-proto ) -" -BDEPEND=" - wayland? ( dev-util/wayland-scanner ) - virtual/pkgconfig -" - -MULTILIB_WRAPPED_HEADERS=( - /usr/include/va/va_x11.h - /usr/include/va/va_dri2.h - /usr/include/va/va_dricommon.h -) - -PATCHES=( - "${FILESDIR}/libva-2.21.0-no-undefined-version.patch" -) - -multilib_src_configure() { - local emesonargs=( - -Ddriverdir="${EPREFIX}/usr/$(get_libdir)/va/drivers" - -Ddisable_drm=false - -Dwith_x11=$(usex X) - -Dwith_glx=no - -Dwith_wayland=$(usex wayland) - -Denable_docs=false - ) - meson_src_configure -} - -pkg_postinst() { - optfeature_header - optfeature "Older Intel GPU support up to Gen8" media-libs/libva-intel-driver - optfeature "Newer Intel GPU support from Gen9+" media-libs/libva-intel-media-driver -} diff --git a/media-libs/libvisio/Manifest b/media-libs/libvisio/Manifest index 2d0862335acd..9b59b3200a77 100644 --- a/media-libs/libvisio/Manifest +++ b/media-libs/libvisio/Manifest @@ -1 +1,2 @@ DIST libvisio-0.1.7.tar.xz 854296 BLAKE2B db5dd96d769c237bc2926d52a43c2496adca50b74133ea3c81df7ba5a61824891623eb33b4801b463b27f5c03946ea7ffcf827b98c95139c9659b0a1b0f7b604 SHA512 c26f67a09fa6a6d0bf6f3fff5590d5cf16983630d4f7cfcf86d9461baec58dbdf7989fd934be6db0639ca043c160aac2d008275afb9e047766bc878ac579a9ea +DIST libvisio-0.1.8.tar.xz 1686344 BLAKE2B 5e852e96c6484990349e3fb93dafb1bb3a23f9f72fefc13ceaf56677e3e4aaf01384fcae423cf9f022fb9a91800dc967a89b3eced40a96fe17c756241fb88ad8 SHA512 f89e7cd08287f769936cfacdbdd95fe97a535cca63231c14e2637a8ee6a5e86c6de79b3858c08a5ab483e17cf06107af4fac9014f695b25fedad15f841efba53 diff --git a/media-libs/libvisio/libvisio-0.1.8.ebuild b/media-libs/libvisio/libvisio-0.1.8.ebuild new file mode 100644 index 000000000000..3b50dc5240e3 --- /dev/null +++ b/media-libs/libvisio/libvisio-0.1.8.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libvisio.git" + inherit autotools git-r3 +else + SRC_URI="https://dev-www.libreoffice.org/src/libvisio/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +DESCRIPTION="Library parsing the file format of MS Visio documents" +HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libvisio" + +LICENSE="|| ( GPL-2+ LGPL-2.1 MPL-1.1 )" +SLOT="0" +IUSE="doc test tools" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/icu:= + dev-libs/librevenge + dev-libs/libxml2 +" +DEPEND="${RDEPEND} + dev-libs/boost + dev-util/gperf + dev-build/libtool + test? ( dev-util/cppunit ) +" +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +src_prepare() { + default + [[ -d m4 ]] || mkdir "m4" || die + [[ ${PV} == *9999* ]] && eautoreconf +} + +src_configure() { + # bug 619688, 932496 + append-cxxflags -std=c++17 + + local myeconfargs=( + $(use_with doc docs) + $(use_enable test tests) + $(use_enable tools) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/media-libs/libvisio/libvisio-9999.ebuild b/media-libs/libvisio/libvisio-9999.ebuild index f9f22b09cf32..3b50dc5240e3 100644 --- a/media-libs/libvisio/libvisio-9999.ebuild +++ b/media-libs/libvisio/libvisio-9999.ebuild @@ -1,11 +1,11 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit flag-o-matic -if [[ ${PV} == 9999 ]]; then +if [[ ${PV} == *9999* ]]; then EGIT_REPO_URI="https://anongit.freedesktop.org/git/libreoffice/libvisio.git" inherit autotools git-r3 else @@ -18,14 +18,9 @@ HOMEPAGE="https://wiki.documentfoundation.org/DLP/Libraries/libvisio" LICENSE="|| ( GPL-2+ LGPL-2.1 MPL-1.1 )" SLOT="0" -IUSE="doc static-libs test tools" +IUSE="doc test tools" RESTRICT="!test? ( test )" -BDEPEND=" - dev-lang/perl - virtual/pkgconfig - doc? ( app-text/doxygen ) -" RDEPEND=" dev-libs/icu:= dev-libs/librevenge @@ -37,11 +32,16 @@ DEPEND="${RDEPEND} dev-build/libtool test? ( dev-util/cppunit ) " +BDEPEND=" + dev-lang/perl + virtual/pkgconfig + doc? ( app-text/doxygen ) +" src_prepare() { default - [[ -d m4 ]] || mkdir "m4" - [[ ${PV} == 9999 ]] && eautoreconf + [[ -d m4 ]] || mkdir "m4" || die + [[ ${PV} == *9999* ]] && eautoreconf } src_configure() { @@ -50,7 +50,6 @@ src_configure() { local myeconfargs=( $(use_with doc docs) - $(use_enable static-libs static) $(use_enable test tests) $(use_enable tools) ) @@ -59,5 +58,5 @@ src_configure() { src_install() { default - find "${D}" -name '*.la' -delete || die + find "${ED}" -name '*.la' -delete || die } diff --git a/media-libs/libvpl-tools/metadata.xml b/media-libs/libvpl-tools/metadata.xml index 33d1f718149c..fa93f977ac83 100644 --- a/media-libs/libvpl-tools/metadata.xml +++ b/media-libs/libvpl-tools/metadata.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> + <email>nowa@gentoo.org</email> + <name>Nowa Ammerlaan</name> </maintainer> <upstream> <remote-id type="github">intel/libvpl-tools</remote-id> diff --git a/media-libs/libvpl/libvpl-2.12.0.ebuild b/media-libs/libvpl/libvpl-2.12.0.ebuild index 915dea848836..a30f50707598 100644 --- a/media-libs/libvpl/libvpl-2.12.0.ebuild +++ b/media-libs/libvpl/libvpl-2.12.0.ebuild @@ -46,6 +46,6 @@ multilib_src_install() { pkg_postinst() { optfeature_header "This package provides only the dispatcher, to use it install one or more implementations" optfeature "CPUs" media-libs/oneVPL-cpu - optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/oneVPL-intel-gpu + optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/vpl-gpu-rt optfeature "Intel GPUs older then Intel Xe" media-libs/intel-mediasdk } diff --git a/media-libs/libvpl/libvpl-2.13.0.ebuild b/media-libs/libvpl/libvpl-2.13.0.ebuild index 915dea848836..a30f50707598 100644 --- a/media-libs/libvpl/libvpl-2.13.0.ebuild +++ b/media-libs/libvpl/libvpl-2.13.0.ebuild @@ -46,6 +46,6 @@ multilib_src_install() { pkg_postinst() { optfeature_header "This package provides only the dispatcher, to use it install one or more implementations" optfeature "CPUs" media-libs/oneVPL-cpu - optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/oneVPL-intel-gpu + optfeature "Intel GPUs newer then, and including, Intel Xe" media-libs/vpl-gpu-rt optfeature "Intel GPUs older then Intel Xe" media-libs/intel-mediasdk } diff --git a/media-libs/libvpl/metadata.xml b/media-libs/libvpl/metadata.xml index 3414bc8c7e63..cc06f95011b8 100644 --- a/media-libs/libvpl/metadata.xml +++ b/media-libs/libvpl/metadata.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>media-video@gentoo.org</email> </maintainer> <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> + <email>nowa@gentoo.org</email> + <name>Nowa Ammerlaan</name> </maintainer> <upstream> <remote-id type="github">intel/libvpl</remote-id> diff --git a/media-libs/libvpx/Manifest b/media-libs/libvpx/Manifest index e2578b126b3f..70220b7f6a22 100644 --- a/media-libs/libvpx/Manifest +++ b/media-libs/libvpx/Manifest @@ -1,6 +1,4 @@ DIST libvpx-1.13.1.tar.gz 5515662 BLAKE2B f7e2fa2880a11c7e40fed8ab5efe843346c351b8de8725aa6803cdebdf9c1253e26992fe3ffed3a68710674765b4d2aec2cce06d22885b722e728d03eaf916f7 SHA512 49706838563c92fab7334376848d0f374efcbc1729ef511e967c908fd2ecd40e8d197f1d85da6553b3a7026bdbc17e5a76595319858af26ce58cb9a4c3854897 -DIST libvpx-1.14.0.tar.gz 5606471 BLAKE2B 6204c060794e8265fe501f87bb269a37f62955cd848514e34e657be1d869a797661fc90ad28623e833c5369737d9970b0b86ad0c151a818c1e6d52000ef2b370 SHA512 724150c5cafa934e0a8dd9aebbab8afd25aa4f584734e0de37837ec2e8bdcbd9390acd7f883665be7ecdc27af93afda737a4dea7e3bd7531abffcc5bb7c2c7d2 DIST libvpx-1.14.1-testdata.tar.xz 547349520 BLAKE2B bec234e14bcba84138829c402cb5c7078d0ff0cf90cf4bbd2c1682e5ec71618b26d822a42446cd4826304b778cacc8703271118a1c90ba619ccae87b059e4d08 SHA512 2a43a6fcde74f4cd1b2d15768fcdfdea5d0868a953688edc7fd0ac6fea0128e578235e824a7a10c281dfdb329c65358dc3638f9b807418b8512c8ecbda2586df DIST libvpx-1.14.1.tar.gz 5614104 BLAKE2B 47b9e4f3864fe82a8d1c9cf81c4bdf42949ccd3ac0c21bdbb7a6898b1bcb5aabb801728aadd68e20e70c807917d9594c85f557e226f3a56de87da6aeb1c6cb4a SHA512 3e3bfad3d035c0bc3db7cb5a194d56d3c90f5963fb1ad527ae5252054e7c48ce2973de1346c97d94b59f7a95d4801bec44214cce10faf123f92b36fca79a8d1e DIST libvpx-testdata-1.13.1.tar.xz 495765552 BLAKE2B 4aba008653b645c1adbfc0f4e20f675712dbe2ee7cf89a240203b8254a463e0ed83f1e90ab49459ed5bf0489c94feeb12a307b6f05c876404393bb2ed2fe5e0f SHA512 16bfb947c83cb1a8bccbe5c0a533ed2f946c2b207640e0813dd28c1109177157f045ad5679e8a6146482fab48586e9dffccbfeff1cb05ab3dba02e48e9c31bd8 -DIST libvpx-testdata-1.14.0.tar.xz 571257860 BLAKE2B 88cbd11dc4078fcb586d1d2f0d78968f42a8324eb3379496d51ca511be1a30b4b2d4b46b5f68bab601b4b7e90e03bdd307fcd9deba19692c46f6d11cc20617e8 SHA512 ec05ad3b0661acc816caa4a438eda90b7ecee7ef161fb7d9b6bd1efb8134075d6e1bc74229121d3208a4e537367244f3a06b0544a86a00c165f59e57317e2872 diff --git a/media-libs/libvpx/libvpx-1.14.0.ebuild b/media-libs/libvpx/libvpx-1.14.0.ebuild deleted file mode 100644 index 55962805ff73..000000000000 --- a/media-libs/libvpx/libvpx-1.14.0.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo toolchain-funcs multilib-minimal - -# To create a new testdata tarball: -# 1. Unpack source tarball or checkout git tag -# 2. mkdir libvpx-testdata -# 3. export LIBVPX_TEST_DATA_PATH=libvpx-testdata -# 4. ./configure --enable-unit-tests --enable-vp9-highbitdepth -# 5. make testdata -# 6. tar -caf libvpx-testdata-${MY_PV}.tar.xz libvpx-testdata - -LIBVPX_TESTDATA_VER=1.14.0 - -DESCRIPTION="WebM VP8 and VP9 Codec SDK" -HOMEPAGE="https://www.webmproject.org" -SRC_URI=" - https://github.com/webmproject/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-testdata-${LIBVPX_TESTDATA_VER}.tar.xz - https://dev.gentoo.org/~juippis/distfiles/libvpx-testdata-${LIBVPX_TESTDATA_VER}.tar.xz ) -" - -LICENSE="BSD" -SLOT="0/9" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="cpu_flags_ppc_vsx3 doc +highbitdepth postproc static-libs test +threads" -REQUIRED_USE="test? ( threads )" -RESTRICT="!test? ( test )" - -BDEPEND=" - dev-lang/perl - abi_x86_32? ( dev-lang/yasm ) - abi_x86_64? ( dev-lang/yasm ) - abi_x86_x32? ( dev-lang/yasm ) - doc? ( - app-text/doxygen - dev-lang/php - ) -" - -PATCHES=( - # bug #501010 - "${FILESDIR}/${PN}-1.3.0-sparc-configure.patch" - "${FILESDIR}/${PN}-1.13.1-allow-fortify-source.patch" -) - -src_configure() { - # bug #384585, bug #465988 - # copied from php-pear-r1.eclass - addpredict /usr/share/snmp/mibs/.index - addpredict /var/lib/net-snmp/ - addpredict /var/lib/net-snmp/mib_indexes - addpredict /session_mm_cli0.sem - multilib-minimal_src_configure -} - -multilib_src_configure() { - # bug #357487 - unset CODECS - # bug #905986 - unset DIST_DIR - - # bug #498364: sse doesn't work without sse2 enabled, - local myconfargs=( - --prefix="${EPREFIX}"/usr - --libdir="${EPREFIX}"/usr/$(get_libdir) - --enable-pic - --enable-vp8 - --enable-vp9 - --enable-shared - --disable-optimizations - $(use_enable postproc) - $(use_enable static-libs static) - $(use_enable test unit-tests) - $(use_enable threads multithread) - $(use_enable highbitdepth vp9-highbitdepth) - ) - - # let the build system decide which AS to use (it honours $AS but - # then feeds it with yasm flags without checking...), bug #345161 - tc-export AS - case "${CHOST}" in - i?86*) export AS=yasm;; - x86_64*) export AS=yasm;; - esac - - # libvpx is fragile: both for tests at runtime. - # We force using the generic target unless we know things work to - # avoid runtime breakage on exotic arches. - if [[ ${ABI} == amd64 ]] ; then - myconfargs+=( --force-target=x86_64-linux-gcc ) - elif [[ ${ABI} == x86 ]] ; then - myconfargs+=( --force-target=x86-linux-gcc ) - elif [[ ${ABI} == arm64 ]] ; then - myconfargs+=( --force-target=arm64-linux-gcc ) - elif [[ ${ABI} == arm ]] && [[ ${CHOST} == *armv7* ]] ; then - myconfargs+=( --force-target=armv7-linux-gcc ) - elif [[ ${ABI} == ppc64 ]] && [[ $(tc-endian) != big ]] && use cpu_flags_ppc_vsx3; then - # only enable this target for at least power9 CPU running little-endian - myconfargs+=( --force-target=ppc64le-linux-gcc ) - else - myconfargs+=( --force-target=generic-gnu ) - fi - - # powerpc toolchain is not recognized anymore, bug #694368 - #[[ ${CHOST} == powerpc-* ]] && myconfargs+=( --force-target=generic-gnu ) - - # Build with correct toolchain. - tc-export CC CXX AR NM - # Link with gcc by default, the build system should override this if needed. - export LD="${CC}" - - if multilib_is_native_abi; then - myconfargs+=( $(use_enable doc install-docs) $(use_enable doc docs) ) - else - # Not needed for multilib and will be overwritten anyway. - myconfargs+=( --disable-examples --disable-install-docs --disable-docs ) - fi - - edo "${S}"/configure "${myconfargs[@]}" -} - -multilib_src_compile() { - # Build verbose by default and do not build examples that will not be installed - # Disable stripping of debug info, bug #752057 - # (only works as long as upstream does not use non-gnu strip) - emake verbose=yes GEN_EXAMPLES= HAVE_GNU_STRIP=no -} - -multilib_src_test() { - local -x LD_LIBRARY_PATH="${BUILD_DIR}" - local -x LIBVPX_TEST_DATA_PATH="${WORKDIR}/${PN}-testdata" - emake verbose=yes GEN_EXAMPLES= test -} - -multilib_src_install() { - emake verbose=yes GEN_EXAMPLES= DESTDIR="${D}" install - - multilib_is_native_abi && use doc && dodoc -r docs/html -} diff --git a/media-libs/libwebp/Manifest b/media-libs/libwebp/Manifest index e1c3ef2495d7..73a4c1c932d5 100644 --- a/media-libs/libwebp/Manifest +++ b/media-libs/libwebp/Manifest @@ -1,2 +1 @@ -DIST libwebp-1.3.2.tar.gz 4162949 BLAKE2B 12b3ff3aa9952dd32ce13656146556d5efb6a66860249a8676721980aee10253a1b0335685a769d995e9954cd305190a8ed1878ba4fefce9dcaf41a3976f9e3d SHA512 2b624d2ecfbff6b4db2719e38f146722638ae262acd96327073a04451dd05fb27ef70c5681187821d251df728a6be7e89209c861c561a13bfb786495a830bc20 DIST libwebp-1.4.0.tar.gz 4281370 BLAKE2B 022cef190284b69af781718a82b28ee9806d7e6b1e642ee0833e608f64f691ef918a83e99db02335fb9f60d24d6f0cfc58e7e05e99a3f13d2118719d40a71722 SHA512 1217363fbb5c860b17c2ba4612f240f121c74ced6e3e58e8aa61252a9022f59893c5874bfa433cc50a7e65bac1ae2bfa99fa2cede070183b7a467f148cebb0bd diff --git a/media-libs/libwebp/libwebp-1.3.2.ebuild b/media-libs/libwebp/libwebp-1.3.2.ebuild deleted file mode 100644 index da91a5f0e278..000000000000 --- a/media-libs/libwebp/libwebp-1.3.2.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools multilib-minimal - -MY_P="${P/_/-}" - -DESCRIPTION="A lossy image compression format" -HOMEPAGE="https://developers.google.com/speed/webp/download" -SRC_URI="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/${MY_P}.tar.gz" -S="${WORKDIR}/${MY_P}" - -LICENSE="BSD" -SLOT="0/7" # subslot = libwebp soname version -if [[ ${PV} != *_rc* ]] ; then - 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" -fi -IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 gif +jpeg opengl +png static-libs swap-16bit-csp tiff" - -# TODO: dev-lang/swig bindings in swig/ subdirectory -RDEPEND="gif? ( media-libs/giflib:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - opengl? ( - media-libs/freeglut - virtual/opengl - ) - png? ( media-libs/libpng:= ) - tiff? ( media-libs/tiff:= )" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-1.2.3-libpng-pkg-config.patch -) - -src_prepare() { - default - # Needed for pkg-config patch; use elibtoolize instead if that's ever dropped - eautoreconf -} - -multilib_src_configure() { - local args=( - --enable-libwebpmux - --enable-libwebpdemux - --enable-libwebpdecoder - $(use_enable static-libs static) - $(use_enable swap-16bit-csp) - $(use_enable jpeg) - $(use_enable png) - $(use_enable opengl gl) - $(use_enable tiff) - - $(use_enable cpu_flags_x86_sse2 sse2) - $(use_enable cpu_flags_x86_sse4_1 sse4.1) - $(use_enable cpu_flags_arm_neon neon) - - # Only used for gif2webp binary wrt bug #486646 - $(multilib_native_use_enable gif) - ) - - ECONF_SOURCE="${S}" econf "${args[@]}" -} - -multilib_src_install() { - emake DESTDIR="${D}" install -} - -multilib_src_install_all() { - find "${ED}" -type f -name "*.la" -delete || die - dodoc AUTHORS ChangeLog doc/*.txt NEWS README.md -} diff --git a/media-libs/libwebp/libwebp-1.4.0.ebuild b/media-libs/libwebp/libwebp-1.4.0.ebuild index adc970717512..8e5165f38fcf 100644 --- a/media-libs/libwebp/libwebp-1.4.0.ebuild +++ b/media-libs/libwebp/libwebp-1.4.0.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="BSD" SLOT="0/7" # subslot = libwebp soname version if [[ ${PV} != *_rc* ]] ; then - 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" fi IUSE="cpu_flags_arm_neon cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 gif +jpeg opengl +png static-libs swap-16bit-csp tiff" diff --git a/media-libs/libxmp/libxmp-4.6.0.ebuild b/media-libs/libxmp/libxmp-4.6.0.ebuild index ae61d7ce0174..780d3b51010e 100644 --- a/media-libs/libxmp/libxmp-4.6.0.ebuild +++ b/media-libs/libxmp/libxmp-4.6.0.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]] ; then EGIT_REPO_URI="https://github.com/libxmp/libxmp.git" else SRC_URI="https://github.com/libxmp/${PN}/releases/download/${P}/${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi # bzip2 depacker code is 0BSD diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 0a6a5d174a7a..7a171cb9146e 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -1,6 +1,12 @@ DIST mesa-24.1.7.tar.xz 29206724 BLAKE2B b3102fcf96c032d07826186c2d60dc93e5c17b26f725c20cf1e402d1cfbaaba9809bff7a04d3df0179d2ec8606bc9fb391761d17a148671b9270cf2aaca0324d SHA512 890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01 DIST mesa-24.2.3.tar.xz 29465732 BLAKE2B 3c480bd9f5948ae4d66a833cfc059b1b872fca989296a070deaa46aeb72298eaca6a3fa9d13574859623cec4a6af978f44d2c9562b9757be2257364c27600be6 SHA512 7a1ace23568d1907b778a2859f97c8988a414ba74e02e1fb5af6f95f768e1b1a2dfdaf412b0d655678ed915d28273953fd1236ebcd87553a1880f1a7f3ea4d44 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 mesa-24.2.8.tar.xz 29622208 BLAKE2B f71a1663f9637883b4c442ba8c68f7960c48c4f8a02412738404386bfb962052923b40c1412198bd29f2ab6cf11654f8c63d4c14a400b89d99229680bc96eaae SHA512 3aa1051a72e1428e42f9537d8f6a26f2ebddc78894e0f71d2cdcc9ed555ea4d6489ad8e74d4c59b8cdf7ea1c629fa725ac2fe1e385db5d3a582d8fe8186392d6 +DIST mesa-24.3.0-rc2.tar.xz 30490544 BLAKE2B 043ca1c90d87ec93788fea1c3911e8703cdd2aa8fbf14eafd3b56be1a8b5cdc25bc6c1fec5adeff10af937e2b2d584c1b44c7dda130c78654f390f4cdfc08db8 SHA512 6f47ad5a7d0d5d3cfb933275e566531c176078edffc582c638678ee5fab6cbece9e66ae92c099e8c494a79883b6728cb7deca9297c8d9b6095b7089401d64f1f +DIST mesa-24.3.0.tar.xz 30566304 BLAKE2B 43977028609e1be35849e5b72d5cdfbe2052ce959ec43dd649fbf2f3d0f262fbbc3f5194a56a33463eb0b0de8f7f32e4fd2b0dc06cc2f83b27d01bca611f26ec SHA512 20168ae4c278776a60d5febf53b3367cf08bffffb40ef2054821e68d7a8c37a07871d097ab17555f41a4fe716f0de7df95ad7d452b1ed57db6527838eb839ba4 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 diff --git a/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch b/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch new file mode 100644 index 000000000000..a0d3ef1af912 --- /dev/null +++ b/media-libs/mesa/files/24.2.6-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch @@ -0,0 +1,85 @@ +https://bugs.gentoo.org/939429 + +From e1098310da6b9fa7e66dc3fe382ae08d88fd1352 Mon Sep 17 00:00:00 2001 +From: Benjamin Herrenschmidt <benh@kernel.crashing.org> +Date: Mon, 4 Nov 2024 17:45:45 +1100 +Subject: [PATCH] dril: Fixup order of pixel formats in drilConfigs + +Having the RGB* formats before the BGR* formats in the table causes +problems where under some circumstances, some applications end up +with the wrong colors. + +The repro case for me is: Xvnc + mutter + chromium + +There was an existing comment in dri_fill_in_modes() which explained +the problem. This was lost when dril_target.c was created. + +Fixes: ec7afd2c24c ("dril: rework config creation") +Fixes: 3de62b2f9a6 ("gallium/dril: Compatibility stub for the legacy DRI loader interface") + +Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31950> +--- + src/gallium/targets/dril/dril_target.c | 36 +++++++++++++++++++------- + 1 file changed, 27 insertions(+), 9 deletions(-) + +diff --git ./src/gallium/targets/dril/dril_target.c ./src/gallium/targets/dril/dril_target.c +index 672d50a4182..583728e4093 100644 +--- ./src/gallium/targets/dril/dril_target.c ++++ ./src/gallium/targets/dril/dril_target.c +@@ -47,25 +47,43 @@ + CONFIG_ZS(color, PIPE_FORMAT_Z16_UNORM), \ + CONFIG_ZS(color, PIPE_FORMAT_NONE) \ + ++/* ++ * (copy of a comment in dri_screen.c:dri_fill_in_modes()) ++ * ++ * The 32-bit RGBA format must not precede the 32-bit BGRA format. ++ * Likewise for RGBX and BGRX. Otherwise, the GLX client and the GLX ++ * server may disagree on which format the GLXFBConfig represents, ++ * resulting in swapped color channels. ++ * ++ * The problem, as of 2017-05-30: ++ * When matching a GLXFBConfig to a __DRIconfig, GLX ignores the channel ++ * order and chooses the first __DRIconfig with the expected channel ++ * sizes. Specifically, GLX compares the GLXFBConfig's and __DRIconfig's ++ * __DRI_ATTRIB_{CHANNEL}_SIZE but ignores __DRI_ATTRIB_{CHANNEL}_MASK. ++ * ++ * EGL does not suffer from this problem. It correctly compares the ++ * channel masks when matching EGLConfig to __DRIconfig. ++ */ ++ + static const struct gl_config drilConfigs[] = { +- CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM), +- CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM), + CONFIG(PIPE_FORMAT_B8G8R8A8_UNORM), + CONFIG(PIPE_FORMAT_B8G8R8X8_UNORM), +- CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM), +- CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM), ++ CONFIG(PIPE_FORMAT_R8G8B8A8_UNORM), ++ CONFIG(PIPE_FORMAT_R8G8B8X8_UNORM), + CONFIG(PIPE_FORMAT_B10G10R10A2_UNORM), + CONFIG(PIPE_FORMAT_B10G10R10X2_UNORM), +- CONFIG(PIPE_FORMAT_R5G6B5_UNORM), +- CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM), +- CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM), +- CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM), +- CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM), ++ CONFIG(PIPE_FORMAT_R10G10B10A2_UNORM), ++ CONFIG(PIPE_FORMAT_R10G10B10X2_UNORM), + CONFIG(PIPE_FORMAT_B5G6R5_UNORM), + CONFIG(PIPE_FORMAT_B5G5R5A1_UNORM), + CONFIG(PIPE_FORMAT_B5G5R5X1_UNORM), + CONFIG(PIPE_FORMAT_B4G4R4A4_UNORM), + CONFIG(PIPE_FORMAT_B4G4R4X4_UNORM), ++ CONFIG(PIPE_FORMAT_R5G6B5_UNORM), ++ CONFIG(PIPE_FORMAT_R5G5B5A1_UNORM), ++ CONFIG(PIPE_FORMAT_R5G5B5X1_UNORM), ++ CONFIG(PIPE_FORMAT_R4G4B4A4_UNORM), ++ CONFIG(PIPE_FORMAT_R4G4B4X4_UNORM), + }; + + #define RGB UTIL_FORMAT_COLORSPACE_RGB +-- +2.45.2 + diff --git a/media-libs/mesa/mesa-24.1.7.ebuild b/media-libs/mesa/mesa-24.1.7-r1.ebuild index af5ee095a972..ebfcea5d7aac 100644 --- a/media-libs/mesa/mesa-24.1.7.ebuild +++ b/media-libs/mesa/mesa-24.1.7-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -154,7 +157,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -175,7 +178,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -291,6 +294,10 @@ pkg_setup() { 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() { diff --git a/media-libs/mesa/mesa-24.2.3.ebuild b/media-libs/mesa/mesa-24.2.3-r1.ebuild index a58a2652340e..3dd7cb3ad57b 100644 --- a/media-libs/mesa/mesa-24.2.3.ebuild +++ b/media-libs/mesa/mesa-24.2.3-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -156,7 +159,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -178,7 +181,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -295,6 +298,10 @@ pkg_setup() { 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() { diff --git a/media-libs/mesa/mesa-24.2.4.ebuild b/media-libs/mesa/mesa-24.2.4-r1.ebuild index a58a2652340e..3dd7cb3ad57b 100644 --- a/media-libs/mesa/mesa-24.2.4.ebuild +++ b/media-libs/mesa/mesa-24.2.4-r1.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -156,7 +159,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -178,7 +181,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -295,6 +298,10 @@ pkg_setup() { 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() { diff --git a/media-libs/mesa/mesa-24.2.5-r1.ebuild b/media-libs/mesa/mesa-24.2.5-r1.ebuild new file mode 100644 index 000000000000..3dd7cb3ad57b --- /dev/null +++ b/media-libs/mesa/mesa-24.2.5-r1.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-24.2.6-r2.ebuild b/media-libs/mesa/mesa-24.2.6-r2.ebuild new file mode 100644 index 000000000000..db88d34888ed --- /dev/null +++ b/media-libs/mesa/mesa-24.2.6-r2.ebuild @@ -0,0 +1,501 @@ +# 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 ) +" + +PATCHES=( + "${FILESDIR}"/${PV}-dril-Fixup-order-of-pixel-formats-in-drilConfigs.patch +) + +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-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-24.2.8.ebuild b/media-libs/mesa/mesa-24.2.8.ebuild new file mode 100644 index 000000000000..3dd7cb3ad57b --- /dev/null +++ b/media-libs/mesa/mesa-24.2.8.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-24.3.0.ebuild b/media-libs/mesa/mesa-24.3.0.ebuild new file mode 100644 index 000000000000..3c486c964f4c --- /dev/null +++ b/media-libs/mesa/mesa-24.3.0.ebuild @@ -0,0 +1,492 @@ +# 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 + 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} ) + 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.614.1[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.38 ) + 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 + + emesonargs+=(-Dvulkan-layers=device-select,overlay) + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + 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 + -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-24.3.0_rc2.ebuild b/media-libs/mesa/mesa-24.3.0_rc2.ebuild new file mode 100644 index 000000000000..3c486c964f4c --- /dev/null +++ b/media-libs/mesa/mesa-24.3.0_rc2.ebuild @@ -0,0 +1,492 @@ +# 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 + 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} ) + 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.614.1[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.38 ) + 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 + + emesonargs+=(-Dvulkan-layers=device-select,overlay) + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + 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 + -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 477f8e886fcc..3c486c964f4c 100644 --- a/media-libs/mesa/mesa-9999.ebuild +++ b/media-libs/mesa/mesa-9999.ebuild @@ -20,6 +20,9 @@ CRATES=" paste@1.0.14 " +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + inherit cargo DESCRIPTION="OpenGL-like graphic library for Linux" @@ -144,9 +147,9 @@ 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.34 ) + wayland? ( >=dev-libs/wayland-protocols-1.38 ) X? ( x11-libs/libXrandr[${MULTILIB_USEDEP}] x11-base/xorg-proto @@ -155,7 +158,7 @@ DEPEND="${RDEPEND} BDEPEND=" ${PYTHON_DEPS} opencl? ( - >=virtual/rust-1.62.0 + ${RUST_DEPEND} >=dev-util/bindgen-0.58.0 ) >=dev-build/meson-1.4.1 @@ -177,7 +180,7 @@ BDEPEND=" video_cards_nvk? ( >=dev-util/bindgen-0.68.1 >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 + ${RUST_DEPEND} ) ) wayland? ( dev-util/wayland-scanner ) @@ -294,6 +297,10 @@ pkg_setup() { 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() { diff --git a/media-libs/mlt/Manifest b/media-libs/mlt/Manifest index 24d0d7b25b88..46d7ce7f13a9 100644 --- a/media-libs/mlt/Manifest +++ b/media-libs/mlt/Manifest @@ -1 +1,2 @@ DIST mlt-7.24.0.tar.gz 1662552 BLAKE2B f6e83b3c3fd9e3bf64366a6f6165b1839003b0fd058e1368e0648e011eff6da1a9af9fa7652aff032bc4ed4465be4648b5f1ae25fc102397aa9ae2d19981643a SHA512 a9e7fd5dc04152e523456bad244416b4fdeb5961ee7cadb816dd1393277d1d801200db595dcd28e520d76e6b2caca17e65c39b0256beb7c42a58ef241b85471d +DIST mlt-7.28.0.tar.gz 1713069 BLAKE2B 5f9ec615324cd2095131a57b9dc0f79138d48eaa91b62574a028370be2d1c7ec6818ee2b5a9c123d35ec73993c8b2271c8dec4f039273a8443c2674c31e86fbf SHA512 a252da56b668968e56a7b0e81283b0b8e0ec8cd28502e3ab6e0aff67e22620ba61bf4feb88134e0d483884e31f2d18efe2d60b6badf0b6ffae4ad26ee646baf9 diff --git a/media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch b/media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch deleted file mode 100644 index 7349c5dc1a9d..000000000000 --- a/media-libs/mlt/files/mlt-7.24.0-musl-build-fix.patch +++ /dev/null @@ -1,54 +0,0 @@ -https://github.com/mltframework/mlt/pull/1009 -From: Brahmajit Das <brahmajit.xyz@gmail.com> -Date: Sat, 27 Jul 2024 14:51:47 +0000 -Subject: [PATCH 1/1] Fix building on musl libc - -Not every Linux distribution uses GLibc, hence the code under -``` -\#if defined(__linux__) || defined(__GLIBC__) -``` -is not evaluated properly on non GLibc Linux distributions resulting in -build errors such as: - -``` -/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c: In function 'mlt_properties_set_lcnumeric': -/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c:154:22: error: assignment to 'mlt_locale_t' {aka 'struct __locale_struct *'} from incompatible pointer type 'char *' [-Wincompatible-pointer-types] - 154 | list->locale = strdup(locale); - | ^ -/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c: In function 'mlt_properties_get_lcnumeric': -/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_properties.c:186:16: error: assignment to 'const char *' from incompatible pointer type 'mlt_locale_t' {aka 'struct __locale_struct *'} [-Wincompatible-pointer-types] - 186 | result = list->locale; - | ^ -[11/173] /usr/bin/x86_64-pc-linux-musl-gcc -DPREFIX_DATA=\"/usr/share/mlt-7\" -DPREFIX_LIB=\"/usr/lib/mlt-7\" -Dmlt_EXPORTS -I/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/.. -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -std=gnu11 -fPIC -mmmx -msse -msse2 -MD -MT src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -MF src/framework/CMakeFiles/mlt.dir/mlt_property.c.o.d -o src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -c /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c -FAILED: src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -/usr/bin/x86_64-pc-linux-musl-gcc -DPREFIX_DATA=\"/usr/share/mlt-7\" -DPREFIX_LIB=\"/usr/lib/mlt-7\" -Dmlt_EXPORTS -I/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/.. -O2 -march=x86-64 -pipe -pipe -frecord-gcc-switches -fno-diagnostics-color -fmessage-length=0 -std=gnu11 -fPIC -mmmx -msse -msse2 -MD -MT src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -MF src/framework/CMakeFiles/mlt.dir/mlt_property.c.o.d -o src/framework/CMakeFiles/mlt.dir/mlt_property.c.o -c /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c -/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c: In function 'time_clock_to_frames': -/var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c:331:31: error: passing argument 2 of 'setlocale' from incompatible pointer type [-Wincompatible-pointer-types] - 331 | setlocale(LC_NUMERIC, locale); - | ^~~~~~ - | | - | mlt_locale_t {aka struct __locale_struct *} -In file included from /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.h:34, - from /var/tmp/portage/media-libs/mlt-7.24.0/work/mlt-7.24.0/src/framework/mlt_property.c:28: -/usr/include/locale.h:55:23: note: expected 'const char *' but argument is of type 'mlt_locale_t' {aka 'struct __locale_struct *'} - 55 | char *setlocale (int, const char *); -``` - -Reported on Gentoo Linux with musl libc. -Please refer bug: https://bugs.gentoo.org/936747 for more details. - -Signed-off-by: Brahmajit Das <brahmajit.xyz@gmail.com> ---- a/src/framework/mlt_property.h -+++ b/src/framework/mlt_property.h -@@ -30,7 +30,7 @@ - #include <sys/param.h> - #endif - --#if defined(__linux__) || defined(__GLIBC__) -+#if defined(__GLIBC__) - #include <locale.h> - typedef locale_t mlt_locale_t; - #elif defined(__APPLE__) || (defined(__FreeBSD_version) && __FreeBSD_version >= 900506) --- -2.45.2 - diff --git a/media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch b/media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch new file mode 100644 index 000000000000..a56dffe2c75d --- /dev/null +++ b/media-libs/mlt/files/mlt-7.28.0-fix-32bit.patch @@ -0,0 +1,101 @@ +From 6f533e7b8999bc4017c1a6685bf2baea6570d44c Mon Sep 17 00:00:00 2001 +From: Dan Dennedy <dan@dennedy.org> +Date: Tue, 24 Sep 2024 09:47:46 -0700 +Subject: [PATCH 1/3] fix #1020 Mlt::Producer::set_creation_time() not exported + on i686 + +--- + src/mlt++/mlt++.vers | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/mlt++/mlt++.vers b/src/mlt++/mlt++.vers +index 1934decd..c47f017a 100644 +--- a/src/mlt++/mlt++.vers ++++ b/src/mlt++/mlt++.vers +@@ -540,7 +540,8 @@ MLTPP_6.14.0 { + "Mlt::Service::set_profile(mlt_profile_s*)"; + "Mlt::Playlist::reorder(int const*)"; + "Mlt::Transition::connect(Mlt::Service&, int, int)"; +- "Mlt::Producer::set_creation_time(long)"; ++# "Mlt::Producer::set_creation_time(long)"; ++ _ZN3Mlt8Producer17set_creation_timeE[lx]; + "Mlt::Producer::get_creation_time()"; + }; + } MLTPP_6.10.0; +-- +2.46.1 + + +From 2072c6b3596854f1a7165d7ddd5994204e741db8 Mon Sep 17 00:00:00 2001 +From: Dan Dennedy <dan@dennedy.org> +Date: Tue, 24 Sep 2024 10:00:51 -0700 +Subject: [PATCH 2/3] fix mlt++.vers #1020 + +--- + src/mlt++/mlt++.vers | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/mlt++/mlt++.vers b/src/mlt++/mlt++.vers +index c47f017a..2d8c1dda 100644 +--- a/src/mlt++/mlt++.vers ++++ b/src/mlt++/mlt++.vers +@@ -540,10 +540,10 @@ MLTPP_6.14.0 { + "Mlt::Service::set_profile(mlt_profile_s*)"; + "Mlt::Playlist::reorder(int const*)"; + "Mlt::Transition::connect(Mlt::Service&, int, int)"; +-# "Mlt::Producer::set_creation_time(long)"; +- _ZN3Mlt8Producer17set_creation_timeE[lx]; + "Mlt::Producer::get_creation_time()"; + }; ++# "Mlt::Producer::set_creation_time(long)"; ++ _ZN3Mlt8Producer17set_creation_timeE[lx]; + } MLTPP_6.10.0; + + MLTPP_6.18.0 { +-- +2.46.1 + + +From 63953cf7338181c82eb6eb9f93c8c9a11aaee5f7 Mon Sep 17 00:00:00 2001 +From: Dan Dennedy <dan@dennedy.org> +Date: Tue, 24 Sep 2024 10:55:16 -0700 +Subject: [PATCH 3/3] fix Mlt::Properties::set(int64_t) symbol version + +Related to #1020 +--- + src/mlt++/mlt++.vers | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/mlt++/mlt++.vers b/src/mlt++/mlt++.vers +index 2d8c1dda..19300de3 100644 +--- a/src/mlt++/mlt++.vers ++++ b/src/mlt++/mlt++.vers +@@ -310,7 +310,6 @@ MLTPP_0.8.8 { + "Mlt::Properties::set(char const*, char const*)"; + "Mlt::Properties::set(char const*, double)"; + "Mlt::Properties::set(char const*, int)"; +- "Mlt::Properties::set(char const*, long)"; + "Mlt::Properties::set(char const*, void*, int, void (*)(void*), char* (*)(void*, int))"; + "Mlt::Properties::set_lcnumeric(char const*)"; + "Mlt::Properties::setup_wait_for(char const*)"; +@@ -414,6 +413,8 @@ MLTPP_0.8.8 { + "Mlt::Transition::Transition(Mlt::Transition&)"; + "Mlt::Transition::Transition(mlt_transition_s*)"; + }; ++# "Mlt::Properties::set(char const*, int64_t)"; ++ _ZN3Mlt10Properties3setEPKc[lx]; + + local: *; + }; +@@ -542,7 +543,7 @@ MLTPP_6.14.0 { + "Mlt::Transition::connect(Mlt::Service&, int, int)"; + "Mlt::Producer::get_creation_time()"; + }; +-# "Mlt::Producer::set_creation_time(long)"; ++# "Mlt::Producer::set_creation_time(int64_t)"; + _ZN3Mlt8Producer17set_creation_timeE[lx]; + } MLTPP_6.10.0; + +-- +2.46.1 + diff --git a/media-libs/mlt/mlt-7.24.0-r1.ebuild b/media-libs/mlt/mlt-7.28.0-r1.ebuild index f29e65ccd11d..ee6fb6c20216 100644 --- a/media-libs/mlt/mlt-7.24.0-r1.ebuild +++ b/media-libs/mlt/mlt-7.28.0-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit python-single-r1 cmake flag-o-matic DESCRIPTION="Open source multimedia framework for television broadcasting" @@ -13,7 +13,7 @@ SRC_URI="https://github.com/mltframework/${PN}/releases/download/v${PV}/${P}.tar LICENSE="GPL-3" SLOT="0/7" KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" -IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt5 qt6 rtaudio rubberband sdl test vdpau vidstab xine xml" +IUSE="debug ffmpeg frei0r gtk jack libsamplerate opencv opengl python qt6 rtaudio rubberband sdl test vdpau vidstab xine xml" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" @@ -38,22 +38,18 @@ DEPEND=" virtual/jack ) libsamplerate? ( >=media-libs/libsamplerate-0.1.2 ) - opencv? ( >=media-libs/opencv-4.5.1:=[contrib] ) + opencv? ( + >=media-libs/opencv-4.5.1:=[contrib] + || ( + media-libs/opencv[ffmpeg] + media-libs/opencv[gstreamer] + ) + ) opengl? ( media-libs/libglvnd media-video/movit ) python? ( ${PYTHON_DEPS} ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtxml:5 - media-libs/libexif - x11-libs/libX11 - ) qt6? ( dev-qt/qt5compat:6 dev-qt/qtbase:6[gui,network,opengl,widgets,xml] @@ -65,7 +61,7 @@ DEPEND=" >=media-libs/rtaudio-4.1.2 kernel_linux? ( media-libs/alsa-lib ) ) - rubberband? ( media-libs/rubberband ) + rubberband? ( media-libs/rubberband:= ) sdl? ( media-libs/libsdl2[X,opengl,video] media-libs/sdl2-image @@ -93,7 +89,8 @@ PATCHES=( "${FILESDIR}"/${PN}-6.10.0-swig-underlinking.patch "${FILESDIR}"/${PN}-6.22.1-no_lua_bdepend.patch "${FILESDIR}"/${PN}-7.0.1-cmake-symlink.patch - "${FILESDIR}"/${PN}-7.24.0-musl-build-fix.patch + # in git master, https://github.com/mltframework/mlt/issues/1020 + "${FILESDIR}"/${P}-fix-32bit.patch ) pkg_setup() { @@ -119,29 +116,31 @@ src_configure() { -DCLANG_FORMAT=OFF -DGPL=ON -DGPL3=ON - -DBUILD_TESTING=$(usex test) + -DMOD_QT=OFF + -DMOD_GLAXNIMATE=OFF -DMOD_KDENLIVE=ON + -DMOD_PLUS=ON -DMOD_SDL1=OFF - -DMOD_SDL2=$(usex sdl) + -DMOD_SOX=OFF + -DMOD_SPATIALAUDIO=OFF # TODO: package libspatialaudio + -DUSE_LV2=OFF # TODO + -DUSE_VST2=OFF # TODO -DMOD_AVFORMAT=$(usex ffmpeg) - -DMOD_PLUS=ON -DMOD_FREI0R=$(usex frei0r) -DMOD_GDK=$(usex gtk) -DMOD_JACKRACK=$(usex jack) -DMOD_RESAMPLE=$(usex libsamplerate) -DMOD_OPENCV=$(usex opencv) - -DMOD_SPATIALAUDIO=OFF # TODO: package libspatialaudio -DMOD_MOVIT=$(usex opengl) - -DMOD_QT=$(usex qt5) - -DMOD_GLAXNIMATE=$(usex qt5) -DMOD_QT6=$(usex qt6) -DMOD_GLAXNIMATE_QT6=$(usex qt6) -DMOD_RTAUDIO=$(usex rtaudio) -DMOD_RUBBERBAND=$(usex rubberband) + -DMOD_SDL2=$(usex sdl) + -DBUILD_TESTING=$(usex test) -DMOD_VIDSTAB=$(usex vidstab) -DMOD_XINE=$(usex xine) -DMOD_XML=$(usex xml) - -DMOD_SOX=OFF ) # TODO: rework upstream CMake to allow controlling MMX/SSE/SSE2 diff --git a/media-libs/mutagen/mutagen-1.47.0.ebuild b/media-libs/mutagen/mutagen-1.47.0.ebuild index 52e68edf74b5..2bb0f543ea53 100644 --- a/media-libs/mutagen/mutagen-1.47.0.ebuild +++ b/media-libs/mutagen/mutagen-1.47.0.ebuild @@ -23,7 +23,7 @@ KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-li BDEPEND=" test? ( - dev-python/eyeD3[${PYTHON_USEDEP}] + dev-python/eyed3[${PYTHON_USEDEP}] dev-python/hypothesis[${PYTHON_USEDEP}] media-libs/flac[ogg] ) diff --git a/media-libs/nanosvg/nanosvg-20231202.ebuild b/media-libs/nanosvg/nanosvg-20231202.ebuild index 5ed44ccfc76b..89bfe4c41f5b 100644 --- a/media-libs/nanosvg/nanosvg-20231202.ebuild +++ b/media-libs/nanosvg/nanosvg-20231202.ebuild @@ -14,4 +14,4 @@ S="${WORKDIR}/${PN}-${MY_PV}" LICENSE="ZLIB" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 ~arm64 ~x86" diff --git a/media-libs/nas/files/nas-1.9.2-asneeded.patch b/media-libs/nas/files/nas-1.9.2-asneeded.patch deleted file mode 100644 index 8c588be136f2..000000000000 --- a/media-libs/nas/files/nas-1.9.2-asneeded.patch +++ /dev/null @@ -1,13 +0,0 @@ -http://bugs.gentoo.org/show_bug.cgi?id=247761 - ---- a/config/NetAudio.tmpl -+++ b/config/NetAudio.tmpl -@@ -162,7 +162,7 @@ - - AUDIODEPLIBS = $(DEPAULIB) $(DEPXTOOLLIB) $(DEPXLIB) - #ifndef WIN32 -- AUDIOLIBS = $(AULIB) $(XTOOLLIB) $(XLIB) -lm -+ AUDIOLIBS = $(AULIB) $(XTOOLLIB) $(XAUTHLIB) $(XLIB) -lm - #else /* WIN32 */ - AUDIOLIBS = $(AULIB) - #endif /* WIN32 */ diff --git a/media-libs/nas/files/nas-1.9.4-libfl.patch b/media-libs/nas/files/nas-1.9.4-libfl.patch deleted file mode 100644 index cea30f46ba69..000000000000 --- a/media-libs/nas/files/nas-1.9.4-libfl.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -pur nas-1.9.4-orig/server/Imakefile nas-1.9.4/server/Imakefile ---- a/server/Imakefile 2013-04-27 02:41:06.000000000 +0200 -+++ b/server/Imakefile 2017-03-14 18:58:27.445311356 +0100 -@@ -57,7 +57,7 @@ XCOMM $NCDId: @(#)Imakefile,v 1.17 1995/ - - # endif - #else -- SYSLIBS = -+ SYSLIBS = $(LEXLIB) - #endif - - #ifdef NetBSDArchitecture diff --git a/media-libs/nas/nas-1.9.5.ebuild b/media-libs/nas/nas-1.9.5.ebuild deleted file mode 100644 index 87a1fe0d13fc..000000000000 --- a/media-libs/nas/nas-1.9.5.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib multilib-minimal toolchain-funcs - -DESCRIPTION="Network Audio System" -HOMEPAGE="https://radscan.com/nas.html" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" - -LICENSE="HPND MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv sparc x86" -IUSE="doc static-libs" - -RDEPEND=" - x11-libs/libICE - x11-libs/libSM - x11-libs/libX11 - x11-libs/libXau[${MULTILIB_USEDEP}] - x11-libs/libXaw - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXpm - x11-libs/libXt[${MULTILIB_USEDEP}]" -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto" -BDEPEND=" - app-text/rman - app-alternatives/yacc - app-alternatives/lex - sys-devel/gcc - x11-misc/gccmakedep - riscv? ( x11-misc/xorg-cf-files ) - >=x11-misc/imake-1.0.8-r1" - -DOCS=( BUILDNOTES FAQ HISTORY README RELEASE TODO ) - -PATCHES=( - "${FILESDIR}/${PN}-1.9.2-asneeded.patch" - "${FILESDIR}/${PN}-1.9.4-libfl.patch" -) - -src_prepare() { - default - multilib_copy_sources -} - -multilib_src_configure() { - # Need to run econf so that config.guess is updated - pushd config || die - econf - popd || die - - local cpp=($(get_abi_CHOST ${DEFAULT_ABI})-gcc $(get_abi_CFLAGS) -E) #884203 - CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" \ - IMAKECPP="${IMAKECPP:-${cpp[*]}}" \ - xmkmf -a || die -} - -multilib_src_compile() { - # EXTRA_LDOPTIONS, SHLIBGLOBALSFLAGS #336564#c2 - local emakeopts=( - AR="$(tc-getAR) cq" - AS="$(tc-getAS)" - CC="$(tc-getCC)" - CDEBUGFLAGS="${CFLAGS}" - CXX="$(tc-getCXX)" - CXXDEBUFLAGS="${CXXFLAGS}" - EXTRA_LDOPTIONS="${LDFLAGS}" - LD="$(tc-getLD)" - MAKE="${MAKE:-gmake}" - RANLIB="$(tc-getRANLIB)" - SHLIBGLOBALSFLAGS="${LDFLAGS}" - WORLDOPTS= - ) - - if multilib_is_native_abi ; then - # dumb fix for parallel make issue wrt #446598, Imake sux - emake "${emakeopts[@]}" -C server/dia all - emake "${emakeopts[@]}" -C server/dda/voxware all - emake "${emakeopts[@]}" -C server/os all - else - sed -i \ - -e 's/SUBDIRS =.*/SUBDIRS = include lib config/' \ - Makefile || die - fi - - emake "${emakeopts[@]}" -} - -multilib_src_install() { - # ranlib is used at install phase too wrt #446600 - emake RANLIB="$(tc-getRANLIB)" \ - DESTDIR="${D}" USRLIBDIR=/usr/$(get_libdir) \ - install install.man -} - -multilib_src_install_all() { - einstalldocs - if use doc; then - docinto doc - dodoc doc/{actions,protocol.txt,README} - docinto pdf - dodoc doc/pdf/*.pdf - fi - - mv -vf "${D}"/etc/nas/nasd.conf{.eg,} || die - - newconfd "${FILESDIR}"/nas.conf.d nas - newinitd "${FILESDIR}"/nas.init.d nas - - if ! use static-libs; then - rm -f "${D}"/usr/lib*/libaudio.a || die - fi -} diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest index 082175906e9b..73a317b683e6 100644 --- a/media-libs/netpbm/Manifest +++ b/media-libs/netpbm/Manifest @@ -1,4 +1,2 @@ -DIST netpbm-11.2.10.tar.xz 3782160 BLAKE2B 22dab865106f48a83992ff780a3a3cb26e7fd279b4e22f622a5f6459f90aecf70ce85ce65fd9f14ebe9a148a92ac2b0eb35ca95b0feb88dc0cbe24d11921e4d3 SHA512 baa12b1aa5d66967d900f3d92ebd9cdf2bc936389fd943b995ed863b9f57977bdb6c1e92588252b6219d26d06085b7ea5e3400f1d9be688cb538c807b84293bf DIST netpbm-11.2.11.tar.xz 3782252 BLAKE2B 422b9cefee2a54a9c222236935291f0c8d1f13f064f4ebd277d0f92974b9ce3d7e3d9ae6a0410d767553704a03c2de14ca8456996a53fca0f95d61f9ae72605f SHA512 3d94c0c8c25873a16c78af960c964f5756b3e7a29463f001345956acc3bf1378b0b0b4fc0c57d7388dced0979ba4e8cee0def2200092544dd96fc7d04304660b -DIST netpbm-11.2.9.tar.xz 3782172 BLAKE2B b5acec8306c820e7b0ac2dec21ab5df8f2cdbec01d3d59f82b307d90111954e81e1b01ad7d8e25e8fbd0ea7cf61e8b023e3dfaed6d1cab71b51f7e367d792e56 SHA512 02961bb2ac4a4292e028ed5dbd05daf89ac795f50d36d97be67c49a61be0cbd977e954aa9266c4649d9a46de3fbe7c4b2b51c8363cc7bee322926dd4a9af2ab1 -DIST netpbm-11.8.0.tar.xz 3804048 BLAKE2B 8f838790a38decca5efdbd8b05c07a9e13f3d10093e118547674b84e053534f2f05ccb7a8c6e9e8a1ba5bb121036b7b1b3a88841ee28bc92a7d06865fd905481 SHA512 f7ce52bda45157d8b8ecac2076e3073b471b02cdeab3fe5e61862c5b79fa247d2109703a419098028eeb335d71441794708985f5f6c31b77da4daba04df23e80 +DIST netpbm-11.8.2.tar.xz 3804800 BLAKE2B 9b5bb460c2fbe73495cbb304ea0e1a2a4406838cbb4d0769d2b8147f9ee6156d93852ad36a5ea57a7437b9a1a3cc9f102271163bc4d6bbd004c42c7f81be2318 SHA512 b048b242891cbe56851b3da342de1717e1ab435a327b4eeebb83023e2e7ae57ae66a232df344b4d2b0fb12bc6abcf13d9cec392f19ff06951023ee4c002f9f17 diff --git a/media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch b/media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch new file mode 100644 index 000000000000..8f4d82994564 --- /dev/null +++ b/media-libs/netpbm/files/netpbm-11.2.11-fix-C23.patch @@ -0,0 +1,245 @@ +https://sourceforge.net/p/netpbm/code/4969/ +https://bugs.gentoo.org/943971 + +Backport files/netpbm-11.8.2-fix-C23.patch to 11.2.11 + +--- a/buildtools/libopt.c ++++ b/buildtools/libopt.c +@@ -85,18 +85,11 @@ + # define SHLIBPREFIXLIST "lib" + #endif + ++#include <stdbool.h> + #include <string.h> + #include <stdlib.h> + #include <stdio.h> + +-typedef unsigned char bool; +-#ifndef TRUE +-#define TRUE (1) +-#endif +-#ifndef FALSE +-#define FALSE (0) +-#endif +- + #ifdef DLLVERSTR + static const char * dllverstr = DLLVERSTR; + #else +@@ -105,9 +98,9 @@ static const char * dllverstr = ""; + + bool const explicit = + #ifdef EXPLICIT +-TRUE ++true + #else +-FALSE ++false + #endif + ; + +@@ -131,17 +124,17 @@ parse_prefixlist(const char * const prefixlist, + there is guaranteed always to be one null string at the end of the + array. + +- In case of error, return *errorP == TRUE and don't allocate any +- storage. Otherwise, return *errorP = FALSE. ++ In case of error, return *errorP == true and don't allocate any ++ storage. Otherwise, return *errorP = false. + -----------------------------------------------------------------------------*/ + char * prlist; + + prlist = strdup(prefixlist); + if (prlist == NULL) +- *errorP = TRUE; ++ *errorP = true; + else { +- if (strlen(prlist) <= 0) +- *errorP = TRUE; ++ if (strlen(prlist) <= 0) ++ *errorP = true; + else { + /* NOTE: Mac OS X, at least, does not have strtok_r(). + 2001.09.24 +@@ -155,18 +148,18 @@ parse_prefixlist(const char * const prefixlist, + } + num_tokens = 0; + token = strtok(prlist, " "); +- *errorP = FALSE; /* initial value */ ++ *errorP = false; /* initial value */ + while (token != NULL && num_tokens < MAX_PREFIXES && !*errorP) { + parsed_prefixes[num_tokens] = strdup (token); +- if (parsed_prefixes[num_tokens] == NULL) +- *errorP = TRUE; ++ if (parsed_prefixes[num_tokens] == NULL) ++ *errorP = true; + num_tokens++; + token = strtok(NULL, " "); + } + for (i = num_tokens; i < MAX_PREFIXES + 1 && !*errorP; i++) { + parsed_prefixes[i] = strdup(""); +- if (parsed_prefixes[i] == NULL) +- *errorP = TRUE; ++ if (parsed_prefixes[i] == NULL) ++ *errorP = true; + } + } + if (*errorP) { +@@ -194,7 +187,7 @@ parse_prefix(const char * const filename, + (The prefix always starts at the beginning of the filename). + + Iff we don't find a valid library name prefix, return *prefix_good_p +- == FALSE. ++ == false. + + The list of valid prefixes is compiled in as the blank-delimited + string which is the value of the SHLIBPREFIXLIST macro. +@@ -231,7 +224,7 @@ parse_prefix(const char * const filename, + i = 0; /* start with the first entry in shlibprefixlist[] */ + prefix_length = 0; /* initial value */ + prefix = shlibprefixlist[i]; +- prefix_good = FALSE; /* initial value */ ++ prefix_good = false; /* initial value */ + while ( (*prefix != '\0' ) && !prefix_good ) { + /* stop condition: shlibprefixlist has MAX_PREFIXES+1 entries. + * we only ever put tokens in the 0..MAX_PREFIXES-1 positions. +@@ -242,7 +235,7 @@ parse_prefix(const char * const filename, + */ + prefix_length = strlen(prefix); + if (strncmp(filename, prefix, prefix_length) == 0) { +- prefix_good = TRUE; ++ prefix_good = true; + /* at this point, prefix is pointing to the correct + * entry, and prefix_length has the correct value. + * When we bail out of the while loop because of the +@@ -279,16 +272,16 @@ parse_filename(const char * const filename, + + E.g. for "libxyz.so", return "xyz". + +- return *valid_library_p == TRUE iff 'filename' validly names a library ++ return *valid_library_p == true iff 'filename' validly names a library + that can be expressed in a -l linker option. + +- return *static_p == TRUE iff 'filename' indicates a static library. +- (but undefined if *valid_library_p != TRUE). ++ return *static_p == true iff 'filename' indicates a static library. ++ (but undefined if *valid_library_p != true). + +- return *error_p == TRUE iff some error such as out of memory prevents ++ return *error_p == true iff some error such as out of memory prevents + parsing. + +- Do not allocate any memory if *error_p == TRUE or *valid_library_p == FALSE. ++ Do not allocate any memory if *error_p == true or *valid_library_p == false. + -----------------------------------------------------------------------------*/ + char *lastdot; + /* Pointer to last period in 'filename'. Null if none */ +@@ -305,21 +298,21 @@ parse_filename(const char * const filename, + /* This filename doesn't have any suffix, so we don't understand + it as a library filename. + */ +- *valid_library_p = FALSE; +- *error_p = FALSE; ++ *valid_library_p = false; ++ *error_p = false; + } else { + unsigned int prefix_length; + bool prefix_good; + + if (strcmp(lastdot + 1, "a") == 0) +- *static_p = TRUE; ++ *static_p = true; + else +- *static_p = FALSE; ++ *static_p = false; + + parse_prefix(filename, &prefix_good, &prefix_length, error_p); + if (!*error_p) { + if (!prefix_good) { +- *valid_library_p = FALSE; ++ *valid_library_p = false; + } else { + /* Extract everything between <prefix> and "." as + the library name root. +@@ -328,7 +321,7 @@ parse_filename(const char * const filename, + + libname = strdup(filename + prefix_length); + if (libname == NULL) +- *error_p = TRUE; ++ *error_p = true; + else { + libname[lastdot - filename - prefix_length] = '\0'; + if (strlen(dllverstr) > 0) { +@@ -341,10 +334,10 @@ parse_filename(const char * const filename, + } + } + if (strlen(libname) == 0) { +- *valid_library_p = FALSE; ++ *valid_library_p = false; + strfree(libname); + } else +- *valid_library_p = TRUE; ++ *valid_library_p = true; + } + *libname_p = libname; + } +@@ -377,14 +370,14 @@ parse_filepath(const char * const filepath, + */ + *filename_p = strdup(filepath); + if (*filename_p == NULL) +- *error_p = TRUE; ++ *error_p = true; + else { + directory = strdup(""); + if (directory == NULL) { +- *error_p = TRUE; ++ *error_p = true; + strfree(*filename_p); + } else +- *error_p = FALSE; ++ *error_p = false; + } + } else { + /* Split the string at the slash we just found, into filename and +@@ -392,14 +385,14 @@ parse_filepath(const char * const filepath, + */ + *filename_p = strdup(lastslash+1); + if (*filename_p == NULL) +- *error_p = TRUE; ++ *error_p = true; + else { + directory = strdup(filepath); + if (directory == NULL) { +- *error_p = TRUE; ++ *error_p = true; + strfree(*filename_p); + } else { +- *error_p = FALSE; ++ *error_p = false; + directory[lastslash - filepath] = '\0'; + } + } +@@ -503,12 +496,12 @@ main(int argc, char **argv) { + char outputLine[1024]; + + strcpy(outputLine, ""); /* initial value */ +- runtime = FALSE; /* initial value */ +- error = FALSE; /* no error yet */ ++ runtime = false; /* initial value */ ++ error = false; /* no error yet */ + + for (arg = 1; arg < argc && !error; arg++) { + if (strcmp(argv[arg], "-runtime") == 0) +- runtime = TRUE; ++ runtime = true; + else if (strcmp(argv[arg], "-quiet") == 0) { + /* Doesn't do anything today */ + } else { +@@ -518,7 +511,7 @@ main(int argc, char **argv) { + if (!error) { + if (strlen(outputLine) + strlen(options) + 1 + 1 > + sizeof(outputLine)) +- error = TRUE; ++ error = true; + else { + strcat(outputLine, " "); + strcat(outputLine, options); diff --git a/media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch b/media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch new file mode 100644 index 000000000000..c6aaf0288261 --- /dev/null +++ b/media-libs/netpbm/files/netpbm-11.8.2-fix-C23.patch @@ -0,0 +1,241 @@ +https://sourceforge.net/p/netpbm/code/4969/ +https://bugs.gentoo.org/943971 + +--- a/buildtools/libopt.c ++++ b/buildtools/libopt.c +@@ -85,18 +85,11 @@ + # define SHLIBPREFIXLIST "lib" + #endif + ++#include <stdbool.h> + #include <string.h> + #include <stdlib.h> + #include <stdio.h> + +-typedef unsigned char bool; +-#ifndef TRUE +-#define TRUE (1) +-#endif +-#ifndef FALSE +-#define FALSE (0) +-#endif +- + #ifdef DLLVERSTR + static const char * dllverstr = DLLVERSTR; + #else +@@ -105,9 +98,9 @@ + + bool const explicit = + #ifdef EXPLICIT +-TRUE ++true + #else +-FALSE ++false + #endif + ; + +@@ -132,17 +125,17 @@ + there is guaranteed always to be one null string at the end of the + array. + +- In case of error, return *errorP == TRUE and don't allocate any +- storage. Otherwise, return *errorP = FALSE. ++ In case of error, return *errorP == true and don't allocate any ++ storage. Otherwise, return *errorP = false. + -----------------------------------------------------------------------------*/ + char * prlist; + + prlist = strdup(prefixlist); + if (prlist == NULL) +- *errorP = TRUE; ++ *errorP = true; + else { + if (strlen(prlist) <= 0) +- *errorP = TRUE; ++ *errorP = true; + else { + /* NOTE: Mac OS X, at least, does not have strtok_r(). + 2001.09.24 +@@ -156,11 +149,11 @@ + } + num_tokens = 0; + token = strtok(prlist, " "); +- *errorP = FALSE; /* initial value */ ++ *errorP = false; /* initial value */ + while (token != NULL && num_tokens < MAX_PREFIXES && !*errorP) { + parsed_prefixes[num_tokens] = strdup (token); + if (parsed_prefixes[num_tokens] == NULL) +- *errorP = TRUE; ++ *errorP = true; + num_tokens++; + token = strtok(NULL, " "); + } +@@ -167,7 +160,7 @@ + for (i = num_tokens; i < MAX_PREFIXES + 1 && !*errorP; i++) { + parsed_prefixes[i] = strdup(""); + if (parsed_prefixes[i] == NULL) +- *errorP = TRUE; ++ *errorP = true; + } + } + if (*errorP) { +@@ -195,7 +188,7 @@ + (The prefix always starts at the beginning of the filename). + + Iff we don't find a valid library name prefix, return *prefix_good_p +- == FALSE. ++ == false. + + The list of valid prefixes is compiled in as the blank-delimited + string which is the value of the SHLIBPREFIXLIST macro. +@@ -232,7 +225,7 @@ + i = 0; /* start with the first entry in shlibprefixlist[] */ + prefix_length = 0; /* initial value */ + prefix = shlibprefixlist[i]; +- prefix_good = FALSE; /* initial value */ ++ prefix_good = false; /* initial value */ + while ( (*prefix != '\0' ) && !prefix_good ) { + /* stop condition: shlibprefixlist has MAX_PREFIXES+1 entries. + * we only ever put tokens in the 0..MAX_PREFIXES-1 positions. +@@ -243,7 +236,7 @@ + */ + prefix_length = strlen(prefix); + if (strncmp(filename, prefix, prefix_length) == 0) { +- prefix_good = TRUE; ++ prefix_good = true; + /* at this point, prefix is pointing to the correct + * entry, and prefix_length has the correct value. + * When we bail out of the while loop because of the +@@ -280,16 +273,16 @@ + + E.g. for "libxyz.so", return "xyz". + +- return *valid_library_p == TRUE iff 'filename' validly names a library ++ return *valid_library_p == true iff 'filename' validly names a library + that can be expressed in a -l linker option. + +- return *static_p == TRUE iff 'filename' indicates a static library. +- (but undefined if *valid_library_p != TRUE). ++ return *static_p == true iff 'filename' indicates a static library. ++ (but undefined if *valid_library_p != true). + +- return *error_p == TRUE iff some error such as out of memory prevents ++ return *error_p == true iff some error such as out of memory prevents + parsing. + +- Do not allocate any memory if *error_p == TRUE or *valid_library_p == FALSE. ++ Do not allocate any memory if *error_p == true or *valid_library_p == false. + -----------------------------------------------------------------------------*/ + char *lastdot; + /* Pointer to last period in 'filename'. Null if none */ +@@ -306,21 +299,21 @@ + /* This filename doesn't have any suffix, so we don't understand + it as a library filename. + */ +- *valid_library_p = FALSE; +- *error_p = FALSE; ++ *valid_library_p = false; ++ *error_p = false; + } else { + unsigned int prefix_length; + bool prefix_good; + + if (strcmp(lastdot + 1, "a") == 0) +- *static_p = TRUE; ++ *static_p = true; + else +- *static_p = FALSE; ++ *static_p = false; + + parse_prefix(filename, &prefix_good, &prefix_length, error_p); + if (!*error_p) { + if (!prefix_good) { +- *valid_library_p = FALSE; ++ *valid_library_p = false; + } else { + /* Extract everything between <prefix> and "." as + the library name root. +@@ -329,7 +322,7 @@ + + libname = strdup(filename + prefix_length); + if (libname == NULL) +- *error_p = TRUE; ++ *error_p = true; + else { + libname[lastdot - filename - prefix_length] = '\0'; + if (strlen(dllverstr) > 0) { +@@ -342,10 +335,10 @@ + } + } + if (strlen(libname) == 0) { +- *valid_library_p = FALSE; ++ *valid_library_p = false; + strfree(libname); + } else +- *valid_library_p = TRUE; ++ *valid_library_p = true; + } + *libname_p = libname; + } +@@ -378,14 +371,14 @@ + */ + *filename_p = strdup(filepath); + if (*filename_p == NULL) +- *error_p = TRUE; ++ *error_p = true; + else { + directory = strdup(""); + if (directory == NULL) { +- *error_p = TRUE; ++ *error_p = true; + strfree(*filename_p); + } else +- *error_p = FALSE; ++ *error_p = false; + } + } else { + /* Split the string at the slash we just found, into filename and +@@ -393,14 +386,14 @@ + */ + *filename_p = strdup(lastslash+1); + if (*filename_p == NULL) +- *error_p = TRUE; ++ *error_p = true; + else { + directory = strdup(filepath); + if (directory == NULL) { +- *error_p = TRUE; ++ *error_p = true; + strfree(*filename_p); + } else { +- *error_p = FALSE; ++ *error_p = false; + directory[lastslash - filepath] = '\0'; + } + } +@@ -504,12 +497,12 @@ + char outputLine[1024]; + + strcpy(outputLine, ""); /* initial value */ +- runtime = FALSE; /* initial value */ +- error = FALSE; /* no error yet */ ++ runtime = false; /* initial value */ ++ error = false; /* no error yet */ + + for (arg = 1; arg < argc && !error; arg++) { + if (strcmp(argv[arg], "-runtime") == 0) +- runtime = TRUE; ++ runtime = true; + else if (strcmp(argv[arg], "-quiet") == 0) { + /* Doesn't do anything today */ + } else { +@@ -519,7 +512,7 @@ + if (!error) { + if (strlen(outputLine) + strlen(options) + 1 + 1 > + sizeof(outputLine)) +- error = TRUE; ++ error = true; + else { + strcat(outputLine, " "); + strcat(outputLine, options); diff --git a/media-libs/netpbm/metadata.xml b/media-libs/netpbm/metadata.xml index 1f5115348e89..3815c14b732e 100644 --- a/media-libs/netpbm/metadata.xml +++ b/media-libs/netpbm/metadata.xml @@ -8,6 +8,12 @@ <use> <flag name="rle">Build converters for the RLE format (utah raster toolkit)</flag> </use> + <slots> + <subslots> + 0/stable: the upstream stable branch, stabilized in Gentoo at 30+ days. + 0/advanced: the upstream advanced branch, never stabilized in Gentoo. + </subslots> + </slots> <upstream> <remote-id type="sourceforge">netpbm</remote-id> </upstream> diff --git a/media-libs/netpbm/netpbm-11.2.10.ebuild b/media-libs/netpbm/netpbm-11.2.11-r1.ebuild index 669c4ff4606b..2dda088e9c41 100644 --- a/media-libs/netpbm/netpbm-11.2.10.ebuild +++ b/media-libs/netpbm/netpbm-11.2.11-r1.ebuild @@ -19,7 +19,7 @@ SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz" LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain" SLOT="0/stable" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml" # app-text/ghostscript-gpl is really needed for postscript @@ -59,6 +59,8 @@ PATCHES=( "${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch "${FILESDIR}"/netpbm-11.2.7-fix-pnmcolormap2-test.patch "${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch + "${FILESDIR}"/netpbm-11.7.2-lto.patch + "${FILESDIR}"/netpbm-11.2.11-fix-C23.patch ) netpbm_libtype() { diff --git a/media-libs/netpbm/netpbm-11.2.11.ebuild b/media-libs/netpbm/netpbm-11.2.11.ebuild index 479210cdd749..5aadea28176f 100644 --- a/media-libs/netpbm/netpbm-11.2.11.ebuild +++ b/media-libs/netpbm/netpbm-11.2.11.ebuild @@ -19,7 +19,7 @@ SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz" LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain" SLOT="0/stable" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml" # app-text/ghostscript-gpl is really needed for postscript diff --git a/media-libs/netpbm/netpbm-11.8.0.ebuild b/media-libs/netpbm/netpbm-11.8.2.ebuild index 31d10bb8169f..98f2becc519a 100644 --- a/media-libs/netpbm/netpbm-11.8.0.ebuild +++ b/media-libs/netpbm/netpbm-11.8.2.ebuild @@ -59,6 +59,7 @@ PATCHES=( "${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch "${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch "${FILESDIR}"/netpbm-11.7.2-lto.patch + "${FILESDIR}"/netpbm-11.8.2-fix-C23.patch ) netpbm_libtype() { diff --git a/media-libs/netpbm/netpbm-11.2.9-r1.ebuild b/media-libs/netpbm/netpbm-9999.ebuild index 85aa017b7bfb..7f6949c9f55c 100644 --- a/media-libs/netpbm/netpbm-11.2.9-r1.ebuild +++ b/media-libs/netpbm/netpbm-9999.ebuild @@ -3,23 +3,17 @@ EAPI=8 -inherit flag-o-matic multilib toolchain-funcs - -# Upstream has 3 flavors of netpbm: super stable, stable and advanced. -# They only provide a tarball for super stable, but super stable is a bit lagging. -# So we package the stable branch of their svn (currently versions 11.2.xx) on SLOT "0/stable" -# and the advanced branch of their svn (currently versions 11.8.yy) on SLOT "0/advanced". -# The stable branch is stabilized according to usual Gentoo rules, while the -# advanced branch will not be stabilized. +inherit flag-o-matic multilib subversion toolchain-funcs + # A detailed explanation is here https://netpbm.sourceforge.net/release.html +# This is the development branch, used for testing only. It does not contain the man pages. DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats" HOMEPAGE="https://netpbm.sourceforge.net/" -SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}.tar.xz" +ESVN_REPO_URI="http://svn.code.sf.net/p/netpbm/code/trunk" LICENSE="Artistic BSD GPL-2 IJG LGPL-2.1 MIT public-domain" -SLOT="0/stable" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +SLOT="0/devel" IUSE="jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml" # app-text/ghostscript-gpl is really needed for postscript @@ -57,7 +51,6 @@ PATCHES=( "${FILESDIR}"/netpbm-10.86.21-build.patch "${FILESDIR}"/netpbm-11.0.0-misc-deps.patch "${FILESDIR}"/netpbm-11.1.0-fix-clang-O2.patch - "${FILESDIR}"/netpbm-11.2.7-fix-pnmcolormap2-test.patch "${FILESDIR}"/netpbm-11.6.1-incompatible-pointer-types.patch ) @@ -95,81 +88,74 @@ src_prepare() { default # make sure we use system libs - sed -i '/SUPPORT_SUBDIRS/s:urt::' GNUmakefile || die + sed '/SUPPORT_SUBDIRS/s:urt::' -i GNUmakefile || die rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die - # fix typo in a test - sed -i \ - -e 's:^o#! /bin/sh:#! /bin/sh:' \ - test/stdin-ppm3.test || die - # take care of the importinc stuff ourselves by only doing it once # at the top level and having all subdirs use that one set #149843 - sed -i \ + sed \ -e '/^importinc:/s|^|importinc:\nmanual_|' \ -e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\ - common.mk || die - sed -i \ + -i common.mk || die + sed \ -e '/%.c/s: importinc$::' \ - common.mk lib/Makefile lib/util/Makefile || die - sed -i \ + -i common.mk lib/Makefile lib/util/Makefile || die + sed \ -e 's:pkg-config:$(PKG_CONFIG):' \ - GNUmakefile converter/other/Makefile other/pamx/Makefile || die + -i GNUmakefile converter/other/Makefile other/pamx/Makefile || die # The postscript knob is currently bound up with a fork test. if ! use postscript ; then - sed -i \ + sed \ -e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \ - converter/other/Makefile generator/Makefile || die - sed -i -r \ + -i converter/other/Makefile generator/Makefile || die + sed -r \ -e 's:(pbmtextps|pnmtops|pstopnm).*::' \ - test/all-in-place.{ok,test} || die - sed -i \ + -i test/all-in-place.{ok,test} || die + sed \ -e 's:lps-roundtrip.*::' \ -e 's:pbmtextps-dump.*::' \ -e 's:pbmtextps.*::' \ - test/Test-Order || die - sed -i \ + -i test/Test-Order || die + sed \ -e '/^$/d' \ - test/all-in-place.ok || die - sed -i \ + -i test/all-in-place.ok || die + sed \ '2iexit 80' \ - test/ps-{alt-,flate-,}roundtrip.test || die + -i test/ps-{alt-,flate-,}roundtrip.test || die fi - # the new postscript test needs +x - chmod +x test/lps-roundtrip.test || die - # Do not test png if not built if ! use png ; then - sed -i -E \ + sed -E \ -e 's:(pamtopng|pngtopam|pnmtopng).*::' \ - test/all-in-place.{ok,test} || die - sed -i \ + -i test/all-in-place.{ok,test} || die + sed \ -e '/^$/d' \ - test/all-in-place.ok || die + -i test/all-in-place.ok || die - sed -i -E \ + sed -E \ -e 's:(pamrgbatopng|pngtopnm).*::' \ - test/legacy-names.{ok,test} || die - sed -i \ + -i test/legacy-names.{ok,test} || die + sed \ -e '/^$/d' \ - test/legacy-names.ok || die - sed -i \ + -i test/legacy-names.ok || die + sed \ -e 's:png-roundtrip.*::' \ -e 's:winicon-roundtrip.*::' \ - test/Test-Order || die + -i test/Test-Order || die fi # pbmtext-iso88591 requires LC_ALL=en_US.iso88591, not available on musl # pbmtext-utf8 requires locale, not available on musl - # ppmpat-random is broken on musl + # ppmpat-random and pnmindex are broken on musl # bug #907295 if use elibc_musl; then sed \ -e 's:pbmtext-iso88591.*::' \ -e 's:pbmtext-utf8.*::' \ -e 's:ppmpat-random.*::' \ + -e 's:pnmindex.*::' \ -i test/Test-Order || die fi } @@ -255,11 +241,9 @@ src_install() { dodir /usr/share mv "${ED}"/usr/misc "${ED}"/usr/share/netpbm || die - doman userguide/*.[0-9] dodoc README cd doc || die - dodoc HISTORY Netpbm.programming USERDOC + dodoc HISTORY USERDOC docinto html - dodoc -r ../userguide/*.html } diff --git a/media-libs/nvidia-vaapi-driver/Manifest b/media-libs/nvidia-vaapi-driver/Manifest index b01ce091e7c0..1235056b5716 100644 --- a/media-libs/nvidia-vaapi-driver/Manifest +++ b/media-libs/nvidia-vaapi-driver/Manifest @@ -1 +1,2 @@ DIST nvidia-vaapi-driver-0.0.12.tar.gz 183420 BLAKE2B bf3d2f92a0a38d209d3108893664a7b28657657b432cd43a016442b2192c10850ea4278a2a4a02dd53ba759cef38f39d36bdfa934b1fc3a229aed1ff7f7e0a55 SHA512 e586107d840fbcbce3f4f4f4397188d7df2beaeb763ec0ceaae6f4edb2a5638abed388816796e0a0b0665087cfb09fce2a4d83a3cdfd2279edf6b1be278f2ab2 +DIST nvidia-vaapi-driver-0.0.13.tar.gz 184099 BLAKE2B 73d4b6a205e05450864150b66c47fb4e7c3938e8abaac980c2ad86801d64fa6324347d6541e517b0e44dc497543bc0b97e120f4c3993e4ad8e17d9e720ea4aba SHA512 5e389d4ebc873766d138ba329503d89d4d45c668c5f20ff89a86ed094b107d3f63aee4044c49a25e78975309015c4c8da204b0131e7173d8ad7f951bb4985fcc diff --git a/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild b/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild new file mode 100644 index 000000000000..24f23d496823 --- /dev/null +++ b/media-libs/nvidia-vaapi-driver/nvidia-vaapi-driver-0.0.13.ebuild @@ -0,0 +1,32 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit meson-multilib + +DESCRIPTION="A VA-API implemention using NVIDIA's NVDEC" +HOMEPAGE="https://github.com/elFarto/nvidia-vaapi-driver" +SRC_URI="https://github.com/elFarto/nvidia-vaapi-driver/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="media-libs/gst-plugins-bad + media-libs/libglvnd + >=media-libs/libva-1.8.0 + >=x11-libs/libdrm-2.4.60" +DEPEND="${RDEPEND} + >=media-libs/nv-codec-headers-11.1.5.1" +BDEPEND="virtual/pkgconfig" + +pkg_postinst() { + # Source: https://github.com/elFarto/nvidia-vaapi-driver/blob/v0.0.12/src/backend-common.c#L13 + elog "If vaapi drivers fail to load, then make sure that you are" + elog "passing the correct parameters to the kernel." + elog "nvidia_drm.modeset should be set to 1." + + elog "Check the wiki page for more information: " + elog "https://wiki.gentoo.org/wiki/VAAPI" +} diff --git a/media-libs/oneVPL-cpu/metadata.xml b/media-libs/oneVPL-cpu/metadata.xml index 567e19798957..570d9c127e33 100644 --- a/media-libs/oneVPL-cpu/metadata.xml +++ b/media-libs/oneVPL-cpu/metadata.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>media-video@gentoo.org</email> </maintainer> <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> + <email>nowa@gentoo.org</email> + <name>Nowa Ammerlaan</name> </maintainer> <upstream> <remote-id type="github">oneapi-src/oneVPL-cpu</remote-id> diff --git a/media-libs/oneVPL-intel-gpu/Manifest b/media-libs/oneVPL-intel-gpu/Manifest deleted file mode 100644 index f06f2e9dbd4f..000000000000 --- a/media-libs/oneVPL-intel-gpu/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -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 diff --git a/media-libs/oneVPL-intel-gpu/metadata.xml b/media-libs/oneVPL-intel-gpu/metadata.xml deleted file mode 100644 index 6bcfa55e06ba..000000000000 --- a/media-libs/oneVPL-intel-gpu/metadata.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>media-video@gentoo.org</email> - </maintainer> - <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> - </maintainer> - <upstream> - <remote-id type="github">intel/vpl-gpu-rt</remote-id> - </upstream> -</pkgmetadata> diff --git a/media-libs/openal/Manifest b/media-libs/openal/Manifest index 782ee94423da..562cb5ddd905 100644 --- a/media-libs/openal/Manifest +++ b/media-libs/openal/Manifest @@ -1 +1,3 @@ DIST openal-soft-1.23.1.tar.bz2 699330 BLAKE2B 214eb5c6714f8beec711fbebb60725fb06daf77bcb62b14125ff3bc11ebe97365893a36652819bcde92d3714bb2a7ec2ac119a1f439a74fea56f65c7574f2c95 SHA512 0d40577cd27040dc8814c15bacc310a0ce1c98e084f0a37db9f66899265df42ea61ac672efba7445e495849c25b9ba5b086f43320a38965f6ee74081b2896819 +DIST openal-soft-1.24.0.tar.bz2 763289 BLAKE2B 44eaec7e7a0896928ce67b0b0ef6938c39122c36bd08e74c34fe2d085e6c369f70d7bb762c421fb4bec3ad4fdb2734d6dacf188844ac7309f0f0433c88800abb SHA512 f3e9f7a2729688092a77413bce3191b874bb898c80defc620754ce85ed079446f2b0cfe1b81846606357515e40f1c1fd035f0f64e9d9ce4f861b873f54d3a3e7 +DIST openal-soft-1.24.1.tar.bz2 991155 BLAKE2B 7fbf0e63a46a5f2eacee00bcc28746ded5b950aba580ae041825d3b47a33be757668faad5e7c3eced8983416f4a946dc7bddba69699a56470ace0d6ff6e3762c SHA512 1d2d17c94708b0a63a965b26ad960fe6f2201db2c729b6ba564dd0c2b50f0b1d0733c4448b0d2d1b3e22436fb2d7daf5f285071b7234511e3eb4abfe5fa1f223 diff --git a/media-libs/openal/openal-1.24.0.ebuild b/media-libs/openal/openal-1.24.0.ebuild new file mode 100644 index 000000000000..cb3f3789eddd --- /dev/null +++ b/media-libs/openal/openal-1.24.0.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# False positives because of REQUIRE vs BACKEND options() (conditionally set) +# See bug #809314 +CMAKE_WARN_UNUSED_CLI=no +inherit cmake-multilib + +MY_P="${PN}-soft-${PV}" + +DESCRIPTION="A software implementation of the OpenAL 3D audio API" +HOMEPAGE="https://www.openal-soft.org/" +SRC_URI="https://www.openal-soft.org/openal-releases/${MY_P}.tar.bz2" +S="${WORKDIR}"/${MY_P} + +# See https://github.com/kcat/openal-soft/blob/e0097c18b82d5da37248c4823fde48b6e0002cdd/BSD-3Clause +# Some components are under BSD +LICENSE="LGPL-2+ BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE=" + alsa coreaudio debug jack oss pipewire portaudio pulseaudio sdl sndio qt5 + cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 + cpu_flags_arm_neon +" + +# PipeWire: +# - See bug #863200 for PipeWire minimum version +# - PW is in DEPEND although not linked against because we need configure to +# find it anyway, but no :=. +RDEPEND=" + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + pipewire? ( media-video/pipewire[${MULTILIB_USEDEP}] ) + portaudio? ( media-libs/portaudio[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + oss? ( virtual/os-headers ) +" + +DOCS=( alsoftrc.sample docs/env-vars.txt docs/hrtf.txt ChangeLog README.md ) + +multilib_src_configure() { + local mycmakeargs=( + # See bug #809314 for getting both options for backends + -DALSOFT_{BACKEND,REQUIRE}_ALSA=$(usex alsa) + -DALSOFT_{BACKEND,REQUIRE}_COREAUDIO=$(usex coreaudio) + -DALSOFT_{BACKEND,REQUIRE}_JACK=$(usex jack) + -DALSOFT_{BACKEND,REQUIRE}_OSS=$(usex oss) + -DALSOFT_{BACKEND,REQUIRE}_PIPEWIRE=$(usex pipewire) + -DALSOFT_{BACKEND,REQUIRE}_PORTAUDIO=$(usex portaudio) + -DALSOFT_{BACKEND,REQUIRE}_PULSEAUDIO=$(usex pulseaudio) + -DALSOFT_{BACKEND,REQUIRE}_SDL2=$(usex sdl) + -DALSOFT_{BACKEND,REQUIRE}_SNDIO=$(usex sndio) + + -DALSOFT_UTILS=$(multilib_is_native_abi && echo "ON" || echo "OFF") + -DALSOFT_NO_CONFIG_UTIL=$(usex qt5 "$(multilib_is_native_abi && echo "OFF" || echo "ON")" ON) + # EXAMPLES=OFF to avoid FFmpeg dependency, bug #481670 + -DALSOFT_EXAMPLES=OFF + ) + + # Avoid unused variable warnings, bug #738240 + if use amd64 || use x86 ; then + mycmakeargs+=( + -DALSOFT_CPUEXT_SSE=$(usex cpu_flags_x86_sse) + -DALSOFT_CPUEXT_SSE2=$(usex cpu_flags_x86_sse2) + -DALSOFT_CPUEXT_SSE4_1=$(usex cpu_flags_x86_sse4_1) + ) + elif use arm || use arm64 ; then + mycmakeargs+=( + -DALSOFT_CPUEXT_NEON=$(usex cpu_flags_arm_neon) + ) + fi + + cmake_src_configure +} diff --git a/media-libs/openal/openal-1.24.1.ebuild b/media-libs/openal/openal-1.24.1.ebuild new file mode 100644 index 000000000000..cb3f3789eddd --- /dev/null +++ b/media-libs/openal/openal-1.24.1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# False positives because of REQUIRE vs BACKEND options() (conditionally set) +# See bug #809314 +CMAKE_WARN_UNUSED_CLI=no +inherit cmake-multilib + +MY_P="${PN}-soft-${PV}" + +DESCRIPTION="A software implementation of the OpenAL 3D audio API" +HOMEPAGE="https://www.openal-soft.org/" +SRC_URI="https://www.openal-soft.org/openal-releases/${MY_P}.tar.bz2" +S="${WORKDIR}"/${MY_P} + +# See https://github.com/kcat/openal-soft/blob/e0097c18b82d5da37248c4823fde48b6e0002cdd/BSD-3Clause +# Some components are under BSD +LICENSE="LGPL-2+ BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE=" + alsa coreaudio debug jack oss pipewire portaudio pulseaudio sdl sndio qt5 + cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 + cpu_flags_arm_neon +" + +# PipeWire: +# - See bug #863200 for PipeWire minimum version +# - PW is in DEPEND although not linked against because we need configure to +# find it anyway, but no :=. +RDEPEND=" + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + jack? ( virtual/jack[${MULTILIB_USEDEP}] ) + pipewire? ( media-video/pipewire[${MULTILIB_USEDEP}] ) + portaudio? ( media-libs/portaudio[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + ) + sdl? ( media-libs/libsdl2[${MULTILIB_USEDEP}] ) + sndio? ( media-sound/sndio:=[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + oss? ( virtual/os-headers ) +" + +DOCS=( alsoftrc.sample docs/env-vars.txt docs/hrtf.txt ChangeLog README.md ) + +multilib_src_configure() { + local mycmakeargs=( + # See bug #809314 for getting both options for backends + -DALSOFT_{BACKEND,REQUIRE}_ALSA=$(usex alsa) + -DALSOFT_{BACKEND,REQUIRE}_COREAUDIO=$(usex coreaudio) + -DALSOFT_{BACKEND,REQUIRE}_JACK=$(usex jack) + -DALSOFT_{BACKEND,REQUIRE}_OSS=$(usex oss) + -DALSOFT_{BACKEND,REQUIRE}_PIPEWIRE=$(usex pipewire) + -DALSOFT_{BACKEND,REQUIRE}_PORTAUDIO=$(usex portaudio) + -DALSOFT_{BACKEND,REQUIRE}_PULSEAUDIO=$(usex pulseaudio) + -DALSOFT_{BACKEND,REQUIRE}_SDL2=$(usex sdl) + -DALSOFT_{BACKEND,REQUIRE}_SNDIO=$(usex sndio) + + -DALSOFT_UTILS=$(multilib_is_native_abi && echo "ON" || echo "OFF") + -DALSOFT_NO_CONFIG_UTIL=$(usex qt5 "$(multilib_is_native_abi && echo "OFF" || echo "ON")" ON) + # EXAMPLES=OFF to avoid FFmpeg dependency, bug #481670 + -DALSOFT_EXAMPLES=OFF + ) + + # Avoid unused variable warnings, bug #738240 + if use amd64 || use x86 ; then + mycmakeargs+=( + -DALSOFT_CPUEXT_SSE=$(usex cpu_flags_x86_sse) + -DALSOFT_CPUEXT_SSE2=$(usex cpu_flags_x86_sse2) + -DALSOFT_CPUEXT_SSE4_1=$(usex cpu_flags_x86_sse4_1) + ) + elif use arm || use arm64 ; then + mycmakeargs+=( + -DALSOFT_CPUEXT_NEON=$(usex cpu_flags_arm_neon) + ) + fi + + cmake_src_configure +} diff --git a/media-libs/opencollada/opencollada-1.6.68.ebuild b/media-libs/opencollada/opencollada-1.6.68.ebuild index d11bbc826b9f..a6335f7755b5 100644 --- a/media-libs/opencollada/opencollada-1.6.68.ebuild +++ b/media-libs/opencollada/opencollada-1.6.68.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="https://github.com/KhronosGroup/OpenCOLLADA/archive/v${PV}.tar.gz -> ${ LICENSE="MIT" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" +KEYWORDS="amd64 arm arm64 ppc64 x86" IUSE="static-libs" RDEPEND=" diff --git a/media-libs/opencv/Manifest b/media-libs/opencv/Manifest index 0aa44ea95dab..75d70689375b 100644 --- a/media-libs/opencv/Manifest +++ b/media-libs/opencv/Manifest @@ -1,10 +1,14 @@ DIST NVIDIAOpticalFlowSDK-edb50da3cf849840d680249aa6dbef248ebce2ca.tar.gz 8771 BLAKE2B f579960448bdaf57fbefd5e88002d8f6f4dbb828429b0f3a0112916c03039d4e4de65263eb8464a4d62924c1b77f0a61c2d93b7307657439bfbf7d59785f1533 SHA512 85dfdc52260f54f62c980508f4b6ab384e44200bd1c13761c4947f9a898c08f0faed2d734a85a4ba7a46f8788ed58ee89f12f61cee97881b69ba626bbd04f655 DIST ade-0.1.2d.tar.gz 117027 BLAKE2B c544b769c7b289342a469950ed047fa13719bafba29aa41167b588cf4f24ed6e596159ec19b65e61e09519a461a5e82ac07d63e2ea493279ee182fe658810abb SHA512 46f2feee28d732a6940a5a95944f3283bde1b8c8e05466a8ca1c576623c54d1bed875ce2b24a941111d8976cb0c6ba5a4ac8408f042f5765debf1badf7d43348 +DIST opencv-4.10.0.tar.gz 94993429 BLAKE2B f16de226337ce1dabda4a52ae03257b0570af0e6212102c483dce61f2bcee1549150d0016b6ea20bae5d8c838e12db3d54bcb9c2ec5d3164639cdd56818f0b1b SHA512 b4f7248f89f1cd146dbbae7860a17131cd29bd3cb81db1e678abfcfbf2d8fa4a7633bfd0edbf50afae7b838c8700e8c0d0bb05828139d5cb5662df6bbf3eb92c DIST opencv-4.9.0.tar.gz 92788647 BLAKE2B 257478b0f5e19abca5b3676767dacd40765c645eb455080160b8b9dc54e66fba4880200b483829fc9050bc3f9b3e815f8ee784d7b41261877784536778fe3c96 SHA512 1598ae59849e7805b3cbec5260bb501006f26edff452343b366b9262a0f48a6e09f4b2e760209cb677f2a64a7b22f4e70bc6195c104bcea74cc9fe04031d0292 DIST opencv_3rdparty-34e4206aef44d50e6bbcd0ab06354b52e7466d26.tar.gz 397901 BLAKE2B 9adbe14ee3a2c90b890be694aa80d65b67e23a23f47ccabee4564e31eb9857d717b5a751df32004cfa5d6a53a9e1d8ea8d8943b705a0eaea5ca741169e2222f6 SHA512 8a92555aed2ac8752818586ab9762dd96ec128c5465cb87e402f15b15d16f7d371b3de045ef7295526e9ef99ec817766bb685a21d24dba29c650cf44e384a4e3 DIST opencv_3rdparty-8afa57abc8229d611c4937165d20e2a2d9fc5a12.tar.gz 63301261 BLAKE2B 923dc944edfda4c292d42207290bee414bfe21998f6ffe341ea3b38b6f2f581f3a243653e2c1fd3fa86084068ad6e7acd5ca73ab43094aa15f124d379833a5d8 SHA512 68cce870da0846cbd12a093ec7896b510e34590dad2b91699be1df5d4f72d343f9789d54c45c1b801784f7e57e0e80b19ba65dd99855225da99b4193dae97aaa DIST opencv_3rdparty-a8b69ccc738421293254aec5ddb38bd523503252.tar.gz 920403 BLAKE2B 5f834e8ccef9d88d0650f8ae5d215a2d07d0a356aaad4de1622068e0b2a7def88fccc84bc4397f0182732e836fcd6e363ae25a2cdeaa4d458a7d8ef9afc81da5 SHA512 5611b9db40477759213ab35320570c198f1f224f92ca801ca3accd1f7620faf3d44f306e44abefd10be118acee9b56da643ca82abaa7c4d2102fe92e5b298a6e DIST opencv_3rdparty-b2bfc75f6aea5b1f834ff0f0b865a7c18ff1459f.tar.gz 10036903 BLAKE2B c13559569808db24105049e2081bc466c0e8b6dab58bcc69001e49ff82e03ec4701e25648b5e542b7df2c8e522abfbd82c9825e66c37d6a673847b41bf6effae SHA512 3fc44f12802aa1dad0b12372d53242ae2134a2d74ca0b6d8e4639551623426106781a41d77ebfce79ac625a49aec26b0d7425e0d31f09bab6a15e3d43caef8bc DIST opencv_3rdparty-fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d.tar.gz 1470898 BLAKE2B f1794cc8f8684501f670db3d720c02f35c57ebe91f276cc21dea1f1c1426740d03569143fec74380e941703b5086db5f013ca913fb296eda99559115fd53ca30 SHA512 07118b9d688bf0ff34a6e4ca1548006124d80d11e7b48f08c9e1910b64249b1dad0ace460f50adda0ecb69b90871fc59cc25f451570c63f7c6d6ba2b92d8801c +DIST opencv_contrib-4.10.0-3607.patch 29870 BLAKE2B cf43afbd24d0b32817e908c55ac3bf0d5da8b82b2c459bc04ef31414e16285eefe334c46eeee730bd3cad2bbec062f5bc212a82bd7f2ac83baca231d711545d4 SHA512 3fdd08cee6d7da8edf36411f30c8d6230ebd86a1c896a08f1dc86d3a0982e1f1f99797066722bc51ce4b1a60a2db55853c348441b3e6edc0d318fcb7bd5cf944 +DIST opencv_contrib-4.10.0.tar.gz 55387316 BLAKE2B 5d6f884817b6d45b86833fcab1e31cd0fd7be19885698e0aefe300fa570f93c446d7f564567cc08099d559a98a65e9c3dd0fd35ceeca7e0e9a1e56edc74a0fe9 SHA512 480df862250692a97ce6431cba00dbecb70332307a19c1c04aa9d7444e6e74ab4f8c798548dce76d2319a9877624b82e361fb22a71df14b996087ade448be501 DIST opencv_contrib-4.9.0.tar.gz 59803362 BLAKE2B e6b90e9bd462f96ef010490d45105d7125622d6c49912653c0d387568ae7109b1cbcac4cc0f52c1f997a45ed75923caea90bf4ad9336e689a56742b029789038 SHA512 ebaee3b88bd7ae246727e65a98d9fbc1d9772a4181a1926f3af742410b78dc87d2386bcd96ac67d7fb1a3020c3717a2cdebdcf9304d6dfd9ea494004791cf043 +DIST opencv_extra-4.10.0.tar.gz 504349887 BLAKE2B 6e76860beb95cf00698980a19cfd2894e5bfe0d477d94352cbb2ff98688acbc1c404953cbc3baa95453588e7b9063175a067f24006c5d2719a6c75d15f2ef891 SHA512 1a581dad61bc1e5075af5afed2dd3d67793232a9e1219408448d08c518ae714cf0c4d5fec2c25791351a49a0d265fe051ea142b2170f82843e19e82f65abc8c6 DIST opencv_extra-4.9.0.tar.gz 502141517 BLAKE2B ed7351f29c6fb80d56d5ef383af68322fa805c7689132f7ca9bb43c9a1319c5876ce6d5c40d583c955eb255dd82b876c94ed42625cd71b13830ec94b2cc75dc2 SHA512 f05c1eaed491d15107c858af5b33d0d5856070dcb6f94491ba33a172b2f0caf34905eb5d1787e1247bc888626478647fce0db7f3ccbc6d6faba0ee43fd6b6bfa diff --git a/media-libs/opencv/files/opencv-4.10.0-26234.patch b/media-libs/opencv/files/opencv-4.10.0-26234.patch new file mode 100644 index 000000000000..fb155302af28 --- /dev/null +++ b/media-libs/opencv/files/opencv-4.10.0-26234.patch @@ -0,0 +1,73 @@ +https://github.com/opencv/opencv/pull/26234 +From 6a4be763b2db5f26684204ddc7d06c02325c3917 Mon Sep 17 00:00:00 2001 +From: Zach Lowry <zachlowry@canvas-inc.com> +Date: Tue, 1 Oct 2024 14:16:54 -0500 +Subject: [PATCH 1/2] move the gcc6 compatibility check to occur on a + per-directory basis, rather than exclude all include paths when the list of + paths contains /usr/include + +--- + cmake/OpenCVUtils.cmake | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake +index 94f87d9a1200..bb20a22f0606 100644 +--- a/cmake/OpenCVUtils.cmake ++++ b/cmake/OpenCVUtils.cmake +@@ -353,23 +353,23 @@ function(ocv_target_include_directories target) + #ocv_debug_message("ocv_target_include_directories(${target} ${ARGN})") + _ocv_fix_target(target) + set(__params "") +- if(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND +- ";${ARGN};" MATCHES "/usr/include;") +- return() # workaround for GCC 6.x bug +- endif() +- set(__params "") + set(__system_params "") + set(__var_name __params) + foreach(dir ${ARGN}) + if("${dir}" STREQUAL "SYSTEM") + set(__var_name __system_params) + else() +- get_filename_component(__abs_dir "${dir}" ABSOLUTE) +- ocv_is_opencv_directory(__is_opencv_dir "${dir}") +- if(__is_opencv_dir) +- list(APPEND ${__var_name} "${__abs_dir}") ++ if(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND ++ "${dir}" MATCHES "/usr/include$") ++ # workaround for GCC 6.x bug + else() +- list(APPEND ${__var_name} "${dir}") ++ get_filename_component(__abs_dir "${dir}" ABSOLUTE) ++ ocv_is_opencv_directory(__is_opencv_dir "${dir}") ++ if(__is_opencv_dir) ++ list(APPEND ${__var_name} "${__abs_dir}") ++ else() ++ list(APPEND ${__var_name} "${dir}") ++ endif() + endif() + endif() + endforeach() + +From fc01b270ee657e7afc2657b7a9e15766aa36faf0 Mon Sep 17 00:00:00 2001 +From: Zach Lowry <zachlowry@canvas-inc.com> +Date: Wed, 2 Oct 2024 13:28:57 -0500 +Subject: [PATCH 2/2] use `dir MATCHES ...` without variable unpacking + +--- + cmake/OpenCVUtils.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/OpenCVUtils.cmake b/cmake/OpenCVUtils.cmake +index bb20a22f0606..5886f4f3cb33 100644 +--- a/cmake/OpenCVUtils.cmake ++++ b/cmake/OpenCVUtils.cmake +@@ -360,7 +360,7 @@ function(ocv_target_include_directories target) + set(__var_name __system_params) + else() + if(CV_GCC AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0" AND +- "${dir}" MATCHES "/usr/include$") ++ dir MATCHES "/usr/include$") + # workaround for GCC 6.x bug + else() + get_filename_component(__abs_dir "${dir}" ABSOLUTE) diff --git a/media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch b/media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch new file mode 100644 index 000000000000..ed0f128b99c5 --- /dev/null +++ b/media-libs/opencv/files/opencv-4.10.0-cuda-fp16.patch @@ -0,0 +1,226 @@ +https://github.com/opencv/opencv/issues/25711 +https://github.com/opencv/opencv/pull/25880 + +From 5115dc62f8af616c6e75e4b3df3eb8f201298432 Mon Sep 17 00:00:00 2001 +From: Aliaksei Urbanski <aliaksei.urbanski@gmail.com> +Date: Tue, 9 Jul 2024 01:46:12 +0300 +Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=90=9B=20Fix=20CUDA=20for=20old=20GPU?= + =?UTF-8?q?s=20without=20FP16=20support?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- a/modules/dnn/src/cuda4dnn/init.hpp ++++ b/modules/dnn/src/cuda4dnn/init.hpp +@@ -15,7 +15,7 @@ + + namespace cv { namespace dnn { namespace cuda4dnn { + +- void checkVersions() ++ inline void checkVersions() + { + // https://docs.nvidia.com/deeplearning/cudnn/developer-guide/index.html#programming-model + // cuDNN API Compatibility +@@ -44,19 +44,19 @@ namespace cv { namespace dnn { namespace cuda4dnn { + } + } + +- int getDeviceCount() ++ inline int getDeviceCount() + { + return cuda::getCudaEnabledDeviceCount(); + } + +- int getDevice() ++ inline int getDevice() + { + int device_id = -1; + CUDA4DNN_CHECK_CUDA(cudaGetDevice(&device_id)); + return device_id; + } + +- bool isDeviceCompatible() ++ inline bool isDeviceCompatible() + { + int device_id = getDevice(); + if (device_id < 0) +@@ -76,7 +76,7 @@ namespace cv { namespace dnn { namespace cuda4dnn { + return false; + } + +- bool doesDeviceSupportFP16() ++ inline bool doesDeviceSupportFP16() + { + int device_id = getDevice(); + if (device_id < 0) +--- a/modules/dnn/src/registry.cpp ++++ b/modules/dnn/src/registry.cpp +@@ -18,6 +18,10 @@ + #include "backend.hpp" + #include "factory.hpp" + ++#ifdef HAVE_CUDA ++#include "cuda4dnn/init.hpp" ++#endif ++ + namespace cv { + namespace dnn { + CV__DNN_INLINE_NS_BEGIN +@@ -121,7 +125,8 @@ class BackendRegistry + if (haveCUDA()) + { + backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA)); +- backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA_FP16)); ++ if (cuda4dnn::doesDeviceSupportFP16()) ++ backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA_FP16)); + } + #endif + + +From cfb2bc34acd7699707110523f067a7452a404206 Mon Sep 17 00:00:00 2001 +From: Alexander Smorkalov <alexander.smorkalov@xperience.ai> +Date: Tue, 9 Jul 2024 11:21:58 +0300 +Subject: [PATCH 2/3] Added CUDA FP16 availability check for target management. + +--- a/modules/dnn/src/cuda4dnn/init.hpp ++++ b/modules/dnn/src/cuda4dnn/init.hpp +@@ -56,9 +56,11 @@ namespace cv { namespace dnn { namespace cuda4dnn { + return device_id; + } + +- inline bool isDeviceCompatible() ++ inline bool isDeviceCompatible(int device_id = -1) + { +- int device_id = getDevice(); ++ if (device_id < 0) ++ device_id = getDevice(); ++ + if (device_id < 0) + return false; + +@@ -76,9 +78,11 @@ namespace cv { namespace dnn { namespace cuda4dnn { + return false; + } + +- inline bool doesDeviceSupportFP16() ++ inline bool doesDeviceSupportFP16(int device_id = -1) + { +- int device_id = getDevice(); ++ if (device_id < 0) ++ device_id = getDevice(); ++ + if (device_id < 0) + return false; + +@@ -87,9 +91,7 @@ namespace cv { namespace dnn { namespace cuda4dnn { + CUDA4DNN_CHECK_CUDA(cudaDeviceGetAttribute(&minor, cudaDevAttrComputeCapabilityMinor, device_id)); + + int version = major * 10 + minor; +- if (version < 53) +- return false; +- return true; ++ return (version >= 53); + } + + }}} /* namespace cv::dnn::cuda4dnn */ +--- a/modules/dnn/src/net_impl_backend.cpp ++++ b/modules/dnn/src/net_impl_backend.cpp +@@ -10,6 +10,10 @@ + #include "backend.hpp" + #include "factory.hpp" + ++#ifdef HAVE_CUDA ++#include "cuda4dnn/init.hpp" ++#endif ++ + namespace cv { + namespace dnn { + CV__DNN_INLINE_NS_BEGIN +@@ -242,6 +246,16 @@ void Net::Impl::setPreferableTarget(int targetId) + #endif + } + ++ if (IS_DNN_CUDA_TARGET(targetId)) ++ { ++ preferableTarget = DNN_TARGET_CPU; ++#ifdef HAVE_CUDA ++ if (cuda4dnn::doesDeviceSupportFP16() && targetId == DNN_TARGET_CUDA_FP16) ++ preferableTarget = DNN_TARGET_CUDA_FP16; ++ else ++ preferableTarget = DNN_TARGET_CUDA; ++#endif ++ } + #if !defined(__arm64__) || !__arm64__ + if (targetId == DNN_TARGET_CPU_FP16) + { +--- a/modules/dnn/src/registry.cpp ++++ b/modules/dnn/src/registry.cpp +@@ -122,10 +122,24 @@ class BackendRegistry + #endif + + #ifdef HAVE_CUDA +- if (haveCUDA()) ++ cuda4dnn::checkVersions(); ++ ++ bool hasCudaCompatible = false; ++ bool hasCudaFP16 = false; ++ for (int i = 0; i < cuda4dnn::getDeviceCount(); i++) ++ { ++ if (cuda4dnn::isDeviceCompatible(i)) ++ { ++ hasCudaCompatible = true; ++ if (cuda4dnn::doesDeviceSupportFP16(i)) ++ hasCudaFP16 = true; ++ } ++ } ++ ++ if (hasCudaCompatible) + { + backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA)); +- if (cuda4dnn::doesDeviceSupportFP16()) ++ if (hasCudaFP16) + backends.push_back(std::make_pair(DNN_BACKEND_CUDA, DNN_TARGET_CUDA_FP16)); + } + #endif +--- a/modules/dnn/test/test_common.hpp ++++ b/modules/dnn/test/test_common.hpp +@@ -211,7 +211,7 @@ class DNNTestLayer : public TestWithParam<tuple<Backend, Target> > + if ((!l->supportBackend(backend) || l->preferableTarget != target) && !fused) + { + hasFallbacks = true; +- std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to has backend implementation" << endl; ++ std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to have backend implementation" << endl; + } + } + if (hasFallbacks && raiseError) +--- a/modules/dnn/test/test_onnx_conformance.cpp ++++ b/modules/dnn/test/test_onnx_conformance.cpp +@@ -1008,7 +1008,7 @@ class Test_ONNX_conformance : public TestWithParam<ONNXConfParams> + if ((!l->supportBackend(backend) || l->preferableTarget != target) && !fused) + { + hasFallbacks = true; +- std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to has backend implementation" << endl; ++ std::cout << "FALLBACK: Layer [" << l->type << "]:[" << l->name << "] is expected to have backend implementation" << endl; + } + } + return hasFallbacks; + +From cc9178903daff229bc396db718bf347c4eafd33b Mon Sep 17 00:00:00 2001 +From: Alexander Smorkalov <2536374+asmorkalov@users.noreply.github.com> +Date: Wed, 10 Jul 2024 09:06:09 +0300 +Subject: [PATCH 3/3] Update modules/dnn/src/registry.cpp + +Co-authored-by: Aliaksei Urbanski <aliaksei.urbanski@gmail.com> +--- a/modules/dnn/src/registry.cpp ++++ b/modules/dnn/src/registry.cpp +@@ -132,7 +132,10 @@ class BackendRegistry + { + hasCudaCompatible = true; + if (cuda4dnn::doesDeviceSupportFP16(i)) ++ { + hasCudaFP16 = true; ++ break; // we already have all we need here ++ } + } + } + diff --git a/media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch b/media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch new file mode 100644 index 000000000000..78ac162bef2d --- /dev/null +++ b/media-libs/opencv/files/opencv-4.10.0-cudnn-9.patch @@ -0,0 +1,32 @@ +https://github.com/opencv/opencv/issues/25711 +https://github.com/opencv/opencv/pull/25841 + +From 3d74d646d8c4c48e400e650fef9463f174414b96 Mon Sep 17 00:00:00 2001 +From: Alexander Smorkalov <alexander.smorkalov@xperience.ai> +Date: Mon, 1 Jul 2024 17:33:24 +0300 +Subject: [PATCH] Fixed CuDNN runtime version check for CuDNN 9+. + +--- a/modules/dnn/src/cuda4dnn/init.hpp ++++ b/modules/dnn/src/cuda4dnn/init.hpp +@@ -23,8 +23,19 @@ namespace cv { namespace dnn { namespace cuda4dnn { + // Any patch release x.y.z is forward or backward-compatible with applications built against another cuDNN patch release x.y.w (meaning, of the same major and minor version number, but having w!=z). + // cuDNN minor releases beginning with cuDNN 7 are binary backward-compatible with applications built against the same or earlier patch release (meaning, an application built against cuDNN 7.x is binary compatible with cuDNN library 7.y, where y>=x). + // Applications compiled with a cuDNN version 7.y are not guaranteed to work with 7.x release when y > x. +- auto cudnn_bversion = cudnnGetVersion(); +- auto cudnn_major_bversion = cudnn_bversion / 1000, cudnn_minor_bversion = cudnn_bversion % 1000 / 100; ++ int cudnn_bversion = cudnnGetVersion(); ++ int cudnn_major_bversion = 0, cudnn_minor_bversion = 0; ++ // CuDNN changed major version multiplier in 9.0 ++ if (cudnn_bversion >= 9*10000) ++ { ++ cudnn_major_bversion = cudnn_bversion / 10000; ++ cudnn_minor_bversion = cudnn_bversion % 10000 / 100; ++ } ++ else ++ { ++ cudnn_major_bversion = cudnn_bversion / 1000; ++ cudnn_minor_bversion = cudnn_bversion % 1000 / 100; ++ } + if (cudnn_major_bversion != CUDNN_MAJOR || cudnn_minor_bversion < CUDNN_MINOR) + { + std::ostringstream oss; diff --git a/media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch b/media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch new file mode 100644 index 000000000000..ca63bea5e46b --- /dev/null +++ b/media-libs/opencv/files/opencv-4.10.0-dnn-explicitly-include-abseil-cpp.patch @@ -0,0 +1,39 @@ +From 980dd32e52da10901094a7f8a5dbe5287a62a602 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Thu, 5 Sep 2024 15:53:36 +0200 +Subject: [PATCH] dnn: explicitly include abseil-cpp + +Linking against abseil-cpp depended on protobuf exporting all abseil-cpp +libraries via protobuf::libprotobuf public libraries. + +Explcitly finding abseil ourselves removes the need for that. + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/cmake/OpenCVFindProtobuf.cmake b/cmake/OpenCVFindProtobuf.cmake +index 9228b04..7d9f315 100644 +--- a/cmake/OpenCVFindProtobuf.cmake ++++ b/cmake/OpenCVFindProtobuf.cmake +@@ -32,6 +32,7 @@ else() + # we still need this for command PROTOBUF_GENERATE_CPP. + set(protobuf_MODULE_COMPATIBLE ON) + ++ find_package(absl CONFIG REQUIRED) + unset(Protobuf_VERSION CACHE) + find_package(Protobuf QUIET CONFIG) + if(NOT Protobuf_FOUND) +diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt +index 562b144..052c4f8 100644 +--- a/modules/dnn/CMakeLists.txt ++++ b/modules/dnn/CMakeLists.txt +@@ -144,6 +144,7 @@ list(APPEND libs ${Protobuf_LIBRARIES}) + if(NOT BUILD_PROTOBUF) + list(APPEND include_dirs ${Protobuf_INCLUDE_DIRS}) + endif() ++list(APPEND libs absl::check) + + set(sources_options "") + +-- +2.46.0 + diff --git a/media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch b/media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch new file mode 100644 index 000000000000..e808aec04547 --- /dev/null +++ b/media-libs/opencv/files/opencv-4.10.0-tbb-detection.patch @@ -0,0 +1,28 @@ +From 460bf0927fcc09e8c7a21d5bb48044fc923a8ee7 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Tue, 8 Oct 2024 00:31:52 +0200 +Subject: [PATCH] Fix tbb detection + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/cmake/OpenCVDetectTBB.cmake b/cmake/OpenCVDetectTBB.cmake +index c9ecc02..3db3ae0 100644 +--- a/cmake/OpenCVDetectTBB.cmake ++++ b/cmake/OpenCVDetectTBB.cmake +@@ -25,7 +25,12 @@ function(ocv_tbb_cmake_guess _found) + message(WARNING "No TBB::tbb target found!") + return() + endif() +- get_target_property(_lib TBB::tbb IMPORTED_LOCATION_RELEASE) ++ ++ # Get installed configuration of tbb ++ get_target_property (TARGET_TBB_IMPORT_CONFS TBB::tbb IMPORTED_CONFIGURATIONS) ++ list (GET TARGET_TBB_IMPORT_CONFS 0 CHOSEN_IMPORT_CONF) ++ ++ get_target_property(_lib TBB::tbb IMPORTED_LOCATION_${CHOSEN_IMPORT_CONF}) + message(STATUS "Found TBB (cmake): ${_lib}") + get_target_property(_inc TBB::tbb INTERFACE_INCLUDE_DIRECTORIES) + add_library(tbb INTERFACE IMPORTED) +-- +2.46.2 + diff --git a/media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch b/media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch new file mode 100644 index 000000000000..252ecdee6cb6 --- /dev/null +++ b/media-libs/opencv/files/opencv_contrib-4.10.0-CUDA-12.6-tuple_size.patch @@ -0,0 +1,53 @@ +https://github.com/opencv/opencv_contrib/pull/3785 +From 09eb618804588f77026924096d848800630c8d6f Mon Sep 17 00:00:00 2001 +From: Alexander Smorkalov <alexander.smorkalov@xperience.ai> +Date: Tue, 3 Sep 2024 13:47:48 +0300 +Subject: [PATCH] Workaround for CUDA 12.6 tuple_size issue #3773. + +--- + modules/cudaarithm/src/cuda/polar_cart.cu | 20 +++++--------------- + 1 file changed, 5 insertions(+), 15 deletions(-) + +diff --git a/modules/cudaarithm/src/cuda/polar_cart.cu b/modules/cudaarithm/src/cuda/polar_cart.cu +index 725f5741d8..c65b894bf6 100644 +--- a/modules/cudaarithm/src/cuda/polar_cart.cu ++++ b/modules/cudaarithm/src/cuda/polar_cart.cu +@@ -159,25 +159,15 @@ void cv::cuda::cartToPolar(InputArray _xy, OutputArray _mag, OutputArray _angle, + GpuMat_<float> magc(mag); + GpuMat_<float> anglec(angle); + ++ gridTransformUnary(globPtr<float2>(xy), globPtr<float>(magc), magnitude_interleaved_func<float2>(), stream); ++ + if (angleInDegrees) + { +- auto f1 = magnitude_interleaved_func<float2>(); +- auto f2 = direction_interleaved_func<float2, true>(); +- cv::cudev::tuple<decltype(f1), decltype(f2)> f12 = cv::cudev::make_tuple(f1, f2); +- gridTransformTuple(globPtr<float2>(xy), +- tie(magc, anglec), +- f12, +- stream); ++ gridTransformUnary(globPtr<float2>(xy), globPtr<float>(anglec), direction_interleaved_func<float2, true>(), stream); + } + else + { +- auto f1 = magnitude_interleaved_func<float2>(); +- auto f2 = direction_interleaved_func<float2, false>(); +- cv::cudev::tuple<decltype(f1), decltype(f2)> f12 = cv::cudev::make_tuple(f1, f2); +- gridTransformTuple(globPtr<float2>(xy), +- tie(magc, anglec), +- f12, +- stream); ++ gridTransformUnary(globPtr<float2>(xy), globPtr<float>(anglec), direction_interleaved_func<float2, false>(), stream); + } + + syncOutput(mag, _mag, stream); +@@ -191,7 +181,7 @@ void cv::cuda::cartToPolar(InputArray _xy, OutputArray _magAngle, bool angleInDe + CV_Assert( xy.type() == CV_32FC2 ); + + GpuMat magAngle = getOutputMat(_magAngle, xy.size(), CV_32FC2, stream); +- ++ + if (angleInDegrees) + { + gridTransformUnary(globPtr<float2>(xy), diff --git a/media-libs/opencv/metadata.xml b/media-libs/opencv/metadata.xml index 5979caa25015..b23fac5f689f 100644 --- a/media-libs/opencv/metadata.xml +++ b/media-libs/opencv/metadata.xml @@ -42,10 +42,13 @@ <flag name="tbb">Enable multithreading with the Intel Threads Building Block (<pkg>dev-cpp/tbb</pkg>)</flag> <flag name="tesseract">Use Google's OCR Engine</flag> <flag name="testprograms">Build and install programs for testing OpenCV (performance)</flag> + <flag name="truetype">Enable <pkg>media-libs/freetype</pkg> support for gapi module</flag> <flag name="video_cards_intel">Enable Video Acceleration API for hardware decoding for Intel cards</flag> <flag name="vtk">Build new 3D visualization module viz based on <pkg>sci-libs/vtk</pkg></flag> </use> <upstream> + <changelog>https://github.com/opencv/opencv/wiki/ChangeLog</changelog> + <doc>https://docs.opencv.org</doc> <remote-id type="cpe">cpe:/a:opencv:opencv</remote-id> <remote-id type="github">opencv/opencv</remote-id> <remote-id type="github">opencv/opencv_contrib</remote-id> diff --git a/media-libs/opencv/opencv-4.10.0.ebuild b/media-libs/opencv/opencv-4.10.0.ebuild new file mode 100644 index 000000000000..34bfb33194a0 --- /dev/null +++ b/media-libs/opencv/opencv-4.10.0.ebuild @@ -0,0 +1,1317 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cuda java-pkg-opt-2 cmake-multilib flag-o-matic multilib multiprocessing python-r1 toolchain-funcs virtualx + +DESCRIPTION="A collection of algorithms and sample code for various computer vision problems" +HOMEPAGE="https://opencv.org" + +# TODO +# - dnn: move module from opencv_contrib +# https://github.com/opencv/opencv/commit/93729784bb1c4e544e07ec27a43ef57c4f456cec + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}/${PN}.git" +else + # branch master + ADE_PV="0.1.2d" + # branch wechat_qrcode_20210119 + QRCODE_COMMIT="a8b69ccc738421293254aec5ddb38bd523503252" + # branch dnn_samples_face_detector_20170830 + DNN_SAMPLES_FACE_DETECTOR_COMMIT="b2bfc75f6aea5b1f834ff0f0b865a7c18ff1459f" + # branch contrib_xfeatures2d_boostdesc_20161012 + XFEATURES2D_BOOSTDESC_COMMIT="34e4206aef44d50e6bbcd0ab06354b52e7466d26" + # branch contrib_xfeatures2d_vgg_20160317 + XFEATURES2D_VGG_COMMIT="fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d" + # branch contrib_face_alignment_20170818 + FACE_ALIGNMENT_COMMIT="8afa57abc8229d611c4937165d20e2a2d9fc5a12" + # branch nvof_2_0_bsd + NVIDIA_OPTICAL_FLOW_COMMIT="edb50da3cf849840d680249aa6dbef248ebce2ca" + + SRC_URI=" + https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/opencv/ade/archive/v${ADE_PV}.tar.gz -> ade-${ADE_PV}.tar.gz + contrib? ( + https://github.com/${PN}/${PN}_contrib/archive/${PV}.tar.gz -> ${PN}_contrib-${PV}.tar.gz + dnnsamples? ( + https://github.com/${PN}/${PN}_3rdparty/archive/${QRCODE_COMMIT}.tar.gz -> ${PN}_3rdparty-${QRCODE_COMMIT}.tar.gz + https://github.com/${PN}/${PN}_3rdparty/archive/${DNN_SAMPLES_FACE_DETECTOR_COMMIT}.tar.gz + -> ${PN}_3rdparty-${DNN_SAMPLES_FACE_DETECTOR_COMMIT}.tar.gz + ) + contribxfeatures2d? ( + https://github.com/${PN}/${PN}_3rdparty/archive/${XFEATURES2D_BOOSTDESC_COMMIT}.tar.gz + -> ${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}.tar.gz + https://github.com/${PN}/${PN}_3rdparty/archive/${XFEATURES2D_VGG_COMMIT}.tar.gz + -> ${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}.tar.gz + ) + contribdnn? ( + https://github.com/${PN}/${PN}_3rdparty/archive/${FACE_ALIGNMENT_COMMIT}.tar.gz + -> ${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}.tar.gz + ) + cuda? ( + https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz + -> NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz + ) + https://github.com/${PN}/${PN}_contrib/commit/667a66ee0e99f3f3263c1ef2de1b90d9244b7bd4.patch + -> ${PN}_contrib-4.10.0-3607.patch + ) + test? ( + https://github.com/${PN}/${PN}_extra/archive/refs/tags/${PV}.tar.gz -> ${PN}_extra-${PV}.tar.gz + ) + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +LICENSE="Apache-2.0" +SLOT="0/${PV}" # subslot = libopencv* soname version + +# general options +IUSE="debug doc +eigen gflags glog java non-free opencvapps python test testprograms" + +# modules +IUSE+=" contrib contribcvv contribdnn contribfreetype contribhdf contribovis contribsfm contribxfeatures2d dnnsamples examples +features2d" +# hardware +IUSE+=" cuda cudnn opencl video_cards_intel" +# video +IUSE+=" +ffmpeg gstreamer xine vaapi v4l gphoto2 ieee1394" +# image +IUSE+=" avif gdal jasper jpeg jpeg2k openexr png quirc tesseract tiff webp" +# gui +IUSE+=" gtk3 qt6 opengl truetype vtk" +# parallel +IUSE+=" openmp tbb" +# lapack options +IUSE+=" atlas lapack mkl" + +# from cmake/OpenCVCompilerOptimizations.cmake +# TODO make this only relevant for binhost +CPU_FEATURES_MAP=( + cpu_flags_arm_neon:NEON + cpu_flags_arm_vfpv3:VFPV3 + + # cpu_flags_arm_fp:FP16 + + cpu_flags_arm_asimddp:NEON_DOTPROD + # cpu_flags_arm_neon_fp16:NEON_FP16 + # cpu_flags_arm_neon_bf16:NEON_BF16 + + # cpu_flags_loong_lsx:LSX + # cpu_flags_loong_lasx:LASX + + # cpu_flags_mips_msa:MSA + + cpu_flags_ppc_vsx:VSX # (always available on Power8) + cpu_flags_ppc_vsx3:VSX3 # (always available on Power9) + + # cpu_flags_riscv_rvv:RVV + + cpu_flags_x86_sse:SSE # (always available on 64-bit CPUs) + cpu_flags_x86_sse2:SSE2 # (always available on 64-bit CPUs) + + cpu_flags_x86_sse3:SSE3 + cpu_flags_x86_ssse3:SSSE3 + + cpu_flags_x86_sse4_1:SSE4_1 + cpu_flags_x86_popcnt:POPCNT + cpu_flags_x86_sse4_2:SSE4_2 + + cpu_flags_x86_f16c:FP16 + cpu_flags_x86_fma3:FMA3 + cpu_flags_x86_avx:AVX + cpu_flags_x86_avx2:AVX2 + cpu_flags_x86_avx512_bitalg:AVX_512BITALG + cpu_flags_x86_avx512_vbmi2:AVX_512VBMI2 + cpu_flags_x86_avx512_vnni:AVX_512VNNI + cpu_flags_x86_avx512_vpopcntdq:AVX_512VPOPCNTDQ + cpu_flags_x86_avx512bw:AVX_512BW + cpu_flags_x86_avx512cd:AVX_512CD + cpu_flags_x86_avx512dq:AVX_512DQ + cpu_flags_x86_avx512f:AVX_512F + cpu_flags_x86_avx512ifma:AVX_512IFMA + cpu_flags_x86_avx512vbmi:AVX_512VBMI + cpu_flags_x86_avx512vl:AVX_512VL + + # AVX512_KNL_EXTRA + cpu_flags_x86_avx512er:AVX_512ER + cpu_flags_x86_avx512pf:AVX_512PF + # AVX512_KNM_EXTRA + cpu_flags_x86_avx512_4fmaps:AVX_5124FMAPS + cpu_flags_x86_avx512_4vnniw:AVX_5124VNNIW + +) +IUSE+=" ${CPU_FEATURES_MAP[*]%:*}" + +REQUIRED_USE=" + amd64? ( + cpu_flags_x86_sse + cpu_flags_x86_sse2 + cpu_flags_x86_avx2? ( cpu_flags_x86_f16c ) + cpu_flags_x86_f16c? ( cpu_flags_x86_avx ) + cpu_flags_x86_avx512er? ( cpu_flags_x86_avx512pf ) + cpu_flags_x86_avx512pf? ( cpu_flags_x86_avx512er ) + cpu_flags_x86_avx512_4fmaps? ( cpu_flags_x86_avx512_4fmaps ) + cpu_flags_x86_avx512_4vnniw? ( cpu_flags_x86_avx512_4vnniw ) + ) + cuda? ( + contrib + ) + cudnn? ( cuda ) + dnnsamples? ( examples ) + gflags? ( contrib ) + glog? ( contrib ) + contribcvv? ( contrib qt6 ) + contribdnn? ( contrib ) + contribfreetype? ( contrib ) + contribhdf? ( contrib ) + contribovis? ( contrib ) + contribsfm? ( contrib eigen gflags glog ) + contribxfeatures2d? ( contrib ) + java? ( python ) + opengl? ( qt6 ) + jasper? ( !abi_x86_32 ) + python? ( ${PYTHON_REQUIRED_USE} ) + tesseract? ( contrib ) + ?? ( gtk3 qt6 ) + testprograms? ( test ) + test? ( || ( ffmpeg gstreamer ) jpeg png tiff features2d ) +" + +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + app-arch/bzip2[${MULTILIB_USEDEP}] + dev-libs/protobuf:=[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + avif? ( media-libs/libavif:=[${MULTILIB_USEDEP}] ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + cudnn? ( + dev-cpp/abseil-cpp:= + dev-libs/cudnn:= + ) + contribdnn? ( dev-libs/flatbuffers:= ) + contribhdf? ( sci-libs/hdf5:= ) + contribfreetype? ( + media-libs/freetype:2[${MULTILIB_USEDEP}] + media-libs/harfbuzz:=[${MULTILIB_USEDEP}] + ) + contribovis? ( >=dev-games/ogre-1.12:= ) + ffmpeg? ( media-video/ffmpeg:0=[${MULTILIB_USEDEP}] ) + truetype? ( media-libs/freetype:2[${MULTILIB_USEDEP}] ) + gdal? ( sci-libs/gdal:= ) + gflags? ( dev-cpp/gflags:=[${MULTILIB_USEDEP}] ) + glog? ( dev-cpp/glog:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] + ) + gtk3? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[${MULTILIB_USEDEP}] + ) + ieee1394? ( + media-libs/libdc1394:=[${MULTILIB_USEDEP}] + sys-libs/libraw1394[${MULTILIB_USEDEP}] + ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + jpeg2k? ( + jasper? ( media-libs/jasper:= ) + !jasper? ( media-libs/openjpeg:2=[${MULTILIB_USEDEP}] ) + ) + lapack? ( + atlas? ( sci-libs/atlas ) + mkl? ( sci-libs/mkl ) + !atlas? ( + !mkl? ( + virtual/cblas + >=virtual/lapack-3.10 + virtual/lapacke + ) + ) + ) + opencl? ( + virtual/opencl[${MULTILIB_USEDEP}] + dev-util/opencl-headers + ) + openexr? ( + dev-libs/imath:= + media-libs/openexr:= + ) + opengl? ( + virtual/opengl[${MULTILIB_USEDEP}] + virtual/glu[${MULTILIB_USEDEP}] + ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + dev-python/numpy:=[${PYTHON_USEDEP}] + ) + qt6? ( + dev-qt/qtbase:6[gui,widgets,concurrent,opengl?] + ) + quirc? ( media-libs/quirc ) + tesseract? ( app-text/tesseract[${MULTILIB_USEDEP}] ) + tbb? ( dev-cpp/tbb:=[${MULTILIB_USEDEP}] ) + tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] ) + v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] ) + vaapi? ( media-libs/libva[${MULTILIB_USEDEP}] ) + vtk? ( + sci-libs/vtk:=[rendering,cuda=] + || ( + ( + sci-libs/vtk[opencascade(+)] + sci-libs/opencascade[-ffmpeg] + ) + sci-libs/vtk[-opencascade(-)] + ) + ) + webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] ) + xine? ( media-libs/xine-lib ) +" +GST_TEST_DEPEND=" + media-plugins/gst-plugins-aom[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-mpeg2enc[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-openh264[${MULTILIB_USEDEP}] +" +DEPEND=" + ${COMMON_DEPEND} + eigen? ( >=dev-cpp/eigen-3.3.8-r1:3 ) + java? ( >=virtual/jdk-1.8:* ) + test? ( + gstreamer? ( + amd64? ( ${GST_TEST_DEPEND} ) + arm64? ( ${GST_TEST_DEPEND} ) + x86? ( ${GST_TEST_DEPEND} ) + arm? ( media-plugins/gst-plugins-openh264[${MULTILIB_USEDEP}] ) + media-plugins/gst-plugins-jpeg[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-libav[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-mpeg2dec[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-mpg123[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-x264[${MULTILIB_USEDEP}] + !ppc? ( !ppc64? ( + media-plugins/gst-plugins-vpx[${MULTILIB_USEDEP}] + ) ) + ) + ) +" +RDEPEND=" + ${COMMON_DEPEND} + java? ( >=virtual/jre-1.8:* ) +" +unset COMMON_DEPEND + +BDEPEND=" + dev-util/patchelf + virtual/pkgconfig + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + doc? ( + app-text/doxygen[dot] + python? ( + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + ) + ) + java? ( >=dev-java/ant-1.10.14-r3 ) +" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.1-cuda-add-relaxed-constexpr.patch" + "${FILESDIR}/${PN}-4.1.2-opencl-license.patch" + "${FILESDIR}/${PN}-4.4.0-disable-native-cpuflag-detect.patch" + "${FILESDIR}/${PN}-4.5.0-link-with-cblas-for-lapack.patch" + + "${FILESDIR}/${PN}-4.8.1-use-system-flatbuffers.patch" + "${FILESDIR}/${PN}-4.8.1-use-system-opencl.patch" + + "${FILESDIR}/${PN}-4.9.0-drop-python2-detection.patch" + "${FILESDIR}/${PN}-4.9.0-ade-0.1.2d.tar.gz.patch" + "${FILESDIR}/${PN}-4.9.0-cmake-cleanup.patch" + + "${FILESDIR}/${PN}-4.10.0-dnn-explicitly-include-abseil-cpp.patch" + "${FILESDIR}/${PN}-4.10.0-cudnn-9.patch" # 25841 + "${FILESDIR}/${PN}-4.10.0-cuda-fp16.patch" # 25880 + "${FILESDIR}/${PN}-4.10.0-26234.patch" # 26234 + "${FILESDIR}/${PN}-4.10.0-tbb-detection.patch" + + # TODO applied in src_prepare + # "${FILESDIR}/${PN}_contrib-4.8.1-rgbd.patch" + + # "${FILESDIR}/${PN}_contrib-4.8.1-NVIDIAOpticalFlowSDK-2.0.tar.gz.patch" + + # "${FILESDIR}/${PN}_contrib-4.10.0-CUDA-12.6-tuple_size.patch" # 3785 +) + +cuda_get_host_compiler() { + if [[ -n "${NVCC_CCBIN}" ]]; then + echo "${NVCC_CCBIN}" + return + fi + + if [[ -n "${CUDAHOSTCXX}" ]]; then + echo "${CUDAHOSTCXX}" + return + fi + + einfo "Trying to find working CUDA host compiler" + + if ! tc-is-gcc && ! tc-is-clang; then + die "$(tc-get-compiler-type) compiler is not supported" + fi + + local compiler compiler_type compiler_version + local package package_version + local -x NVCC_CCBIN + local NVCC_CCBIN_default + + compiler_type="$(tc-get-compiler-type)" + compiler_version="$("${compiler_type}-major-version")" + + # try the default compiler first + NVCC_CCBIN="$(tc-getCXX)" + NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" + + compiler="${NVCC_CCBIN/%-${compiler_version}}" + + # store the package so we can re-use it later + package="sys-devel/${compiler_type}" + package_version="${package}" + + ebegin "testing ${NVCC_CCBIN_default} (default)" + + while ! nvcc - -x cu <<<"int main(){}" &>/dev/null; do + eend 1 + + while true; do + # prepare next version + if ! package_version="<$(best_version "${package_version}")"; then + die "could not find a supported version of ${compiler}" + fi + + NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" + + [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break + done + ebegin "testing ${NVCC_CCBIN}" + done + eend $? + + echo "${NVCC_CCBIN}" + export NVCC_CCBIN +} + +cuda_get_host_native_arch() { + [[ -n ${CUDAARCHS} ]] && echo "${CUDAARCHS}" + + __nvcc_device_query || die "failed to query the native device" +} + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use cuda && [[ -z "${CUDA_GENERATION}" ]] && [[ -z "${CUDA_ARCH_BIN}" ]]; then # TODO CUDAARCHS + einfo "The target CUDA architecture can be set via one of:" + einfo " - CUDA_GENERATION set to one of Maxwell, Pascal, Volta, Turing, Ampere, Lovelace, Hopper, Auto" + einfo " - CUDA_ARCH_BIN, (and optionally CUDA_ARCH_PTX) in the form of x.y tuples." + einfo " You can specify multiple tuple separated by \";\"." + einfo "" + einfo "The CUDA architecture tuple for your device can be found at https://developer.nvidia.com/cuda-gpus." + fi + + # When building binpkgs you probably want to include all targets + if use cuda && [[ ${MERGE_TYPE} == "buildonly" ]] && [[ -n "${CUDA_GENERATION}" || -n "${CUDA_ARCH_BIN}" ]]; then + local info_message="When building a binary package it's recommended to unset CUDA_GENERATION and CUDA_ARCH_BIN" + einfo "$info_message so all available architectures are build." + fi +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + use java && java-pkg-opt-2_pkg_setup + + if use cuda && [[ ! -e /dev/nvidia-uvm ]]; then + # NOTE We try to load nvidia-uvm and nvidia-modeset here, + # so __nvcc_device_query does not fail later. + + nvidia-modprobe -m -u -c 0 || true + fi +} + +src_prepare() { + cmake_src_prepare + + # remove bundled stuff + rm -r 3rdparty || die "Removing 3rd party components failed" + sed -e '/add_subdirectory(.*3rdparty.*)/ d' \ + -i CMakeLists.txt cmake/*cmake || die + + sed \ + -e 's:truetype/wqy:wqy-microhei:g' \ + -i \ + modules/gapi/test/render/gapi_render_tests_ocv.cpp \ + modules/gapi/test/render/ftp_render_test.cpp \ + || die + + if use contrib; then + cd "${WORKDIR}/${PN}_contrib-${PV}" || die + eapply "${FILESDIR}/${PN}_contrib-4.8.1-rgbd.patch" + eapply "${FILESDIR}/${PN}_contrib-4.8.1-NVIDIAOpticalFlowSDK-2.0.tar.gz.patch" + if type -P nvcc &> /dev/null && ver_test "$(nvcc --version | tail -n 1 | cut -d '_' -f 2- | cut -d '.' -f 1-2)" -ge 12.4; then + eapply "${DISTDIR}/${PN}_contrib-4.10.0-3607.patch" + eapply "${FILESDIR}/${PN}_contrib-4.10.0-CUDA-12.6-tuple_size.patch" # 3785 + fi + + cd "${S}" || die + + ! use contribcvv && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/cvv" || die; } + ! use contribdnn && { rm -R "${S}/modules/dnn" || die; } + ! use contribfreetype && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/freetype" || die; } + ! use contribhdf && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/hdf" || die; } + ! use contribovis && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/ovis" || die; } + ! use contribsfm && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/sfm" || die; } + ! use contribxfeatures2d && { rm -R "${WORKDIR}/${PN}_contrib-${PV}/modules/xfeatures2d" || die; } + fi + + mkdir -p "${S}/.cache/ade" || die + cp \ + "${DISTDIR}/ade-${ADE_PV}.tar.gz" \ + "${S}/.cache/ade/$(md5sum "${DISTDIR}/ade-${ADE_PV}.tar.gz" | cut -f 1 -d " ")-v${ADE_PV}.tar.gz" || die + + if use dnnsamples; then + mkdir -p "${S}/.cache/wechat_qrcode" || die + for file in "detect.caffemodel" "detect.prototxt" "sr.prototxt" "sr.caffemodel"; do + mv \ + "${WORKDIR}/${PN}_3rdparty-${QRCODE_COMMIT}/${file}" \ + "${S}/.cache/wechat_qrcode/$( \ + md5sum "${WORKDIR}/${PN}_3rdparty-${QRCODE_COMMIT}/${file}" | cut -f 1 -d " " \ + )-${file}" || die + done + + mv \ + "${WORKDIR}/${PN}_3rdparty-${DNN_SAMPLES_FACE_DETECTOR_COMMIT}/res10_300x300_ssd_iter_140000.caffemodel" \ + "${S}/samples/dnn/" || die + fi + + if use contribxfeatures2d; then + cp \ + "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/"*.i \ + "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die + mkdir -p "${S}/.cache/xfeatures2d/boostdesc" || die + for file in "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/"*.i; do + mv \ + "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/$(basename "${file}")" \ + "${S}/.cache/xfeatures2d/boostdesc/$( \ + md5sum "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_BOOSTDESC_COMMIT}/$(basename "${file}")" | cut -f 1 -d " " \ + )-$(basename "${file}")" || die + done + + cp \ + "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/"*.i \ + "${WORKDIR}/${PN}_contrib-${PV}"/modules/xfeatures2d/src/ || die + mkdir -p "${S}/.cache/xfeatures2d/vgg" || die + for file in "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/"*.i; do + mv \ + "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/$(basename "${file}")" \ + "${S}/.cache/xfeatures2d/vgg/$( \ + md5sum "${WORKDIR}/${PN}_3rdparty-${XFEATURES2D_VGG_COMMIT}/$(basename "${file}")" | cut -f 1 -d " " \ + )-$(basename "${file}")" || die + done + fi + + if use contribdnn; then + mkdir -p "${S}/.cache/data" || die + mkdir -p "${WORKDIR}/${PN}_extra-${PV}/testdata/cv/face/" || die + file="face_landmark_model.dat" + cp \ + "${WORKDIR}/${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}/${file}" \ + "${WORKDIR}/${PN}_extra-${PV}/testdata/cv/face/" \ + || die + mv \ + "${WORKDIR}/${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}/${file}" \ + "${S}/.cache/data/$( \ + md5sum "${WORKDIR}/${PN}_3rdparty-${FACE_ALIGNMENT_COMMIT}/${file}" | cut -f 1 -d " " \ + )-${file}" || die + fi + + if use cuda; then + mkdir -p "${S}/.cache/nvidia_optical_flow" + cp \ + "${DISTDIR}/NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz" \ + "${S}/.cache/nvidia_optical_flow/$( \ + md5sum "${DISTDIR}/NVIDIAOpticalFlowSDK-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz" | cut -f 1 -d " " \ + )-${NVIDIA_OPTICAL_FLOW_COMMIT}.tar.gz" || die + fi + + if use java; then + java-pkg-opt-2_src_prepare + + # set encoding so even this cmake build will pick it up. + ANT_OPTS+=" -Dfile.encoding=iso-8859-1" + ANT_OPTS+=" -Dant.build.javac.source=$(java-pkg_get-source)" + ANT_OPTS+=" -Dant.build.javac.target=$(java-pkg_get-target)" + fi + + if multilib_native_use testprograms; then + sed \ + -e 's:share/OpenCV/testdata:@OPENCV_TEST_DATA_INSTALL_PATH@:g' \ + -i "${S}/cmake/templates/opencv_run_all_tests_unix.sh.in" || die + fi +} + +multilib_src_configure() { + # bug #919101 and https://github.com/opencv/opencv/issues/19020 + filter-lto + + if tc-is-gcc && [[ $(gcc-major-version) -ge 15 ]] && use contribdnn; then + append-cxxflags "-fno-tree-vectorize" + fi + + # please don't sort here, order is the same as in CMakeLists.txt + local mycmakeargs=( + -DMIN_VER_CMAKE=3.26 + + -DCMAKE_POLICY_DEFAULT_CMP0148="OLD" # FindPythonInterp + + # for protobuf + -DCMAKE_CXX_STANDARD=17 + + # Optional 3rd party components + # =================================================== + -DOPENCV_ENABLE_NONFREE="$(usex non-free)" + -DWITH_QUIRC="$(usex quirc)" + -DWITH_FLATBUFFERS="$(multilib_native_usex contribdnn)" + -DWITH_1394="$(usex ieee1394)" + # -DWITH_AVFOUNDATION="no" # IOS + -DWITH_VTK="$(multilib_native_usex vtk)" + -DWITH_EIGEN="$(usex eigen)" + -DWITH_VFW="no" # Video windows support + -DWITH_FFMPEG="$(usex ffmpeg)" + -DWITH_GSTREAMER="$(usex gstreamer)" + -DWITH_GTK="$(usex gtk3)" + -DWITH_GTK_2_X="no" # only want gtk3 nowadays + -DWITH_IPP="no" + -DWITH_JASPER="$(usex jpeg2k "$(multilib_native_usex jasper)")" + -DWITH_JPEG="$(usex jpeg)" + -DWITH_OPENJPEG="$(usex jpeg2k "$(multilib_native_usex !jasper)")" + -DWITH_WEBP="$(usex webp)" + -DWITH_OPENEXR="$(multilib_native_usex openexr)" + -DWITH_OPENGL="$(usex opengl)" + -DOpenGL_GL_PREFERENCE="GLVND" + -DWITH_OPENVX="no" + -DWITH_OPENNI="no" # Not packaged + -DWITH_OPENNI2="no" # Not packaged + -DWITH_PNG="$(usex png)" + -DWITH_GDCM="no" + -DWITH_PVAPI="no" + -DWITH_GIGEAPI="no" + -DWITH_ARAVIS="no" + -DWITH_WIN32UI="no" # Windows only + # -DWITH_QUICKTIME="no" + # -DWITH_QTKIT="no" + -DWITH_TBB="$(usex tbb)" + -DWITH_OPENMP="$(usex openmp)" + -DWITH_PTHREADS_PF="yes" + -DWITH_TIFF="$(usex tiff)" + -DWITH_UNICAP="no" # Not packaged + -DWITH_V4L="$(usex v4l)" + -DWITH_LIBV4L="$(usex v4l)" + # -DWITH_DSHOW="yes" # direct show supp + -DWITH_MSMF="no" + -DWITH_XIMEA="no" # Windows only + -DWITH_XINE="$(multilib_native_usex xine)" + -DWITH_CLP="no" + -DWITH_OPENCL="$(usex opencl)" + -DWITH_OPENCL_SVM="no" # "$(usex opencl)" + -DWITH_DIRECTX="no" + -DWITH_INTELPERC="no" + -DWITH_IPP_A="no" + -DWITH_MATLAB="no" + -DWITH_VA="$(usex vaapi)" + -DWITH_VA_INTEL="$(usex vaapi "$(usex video_cards_intel)")" + -DWITH_GDAL="$(multilib_native_usex gdal)" + -DWITH_GPHOTO2="$(usex gphoto2)" + -DWITH_LAPACK="$(multilib_native_usex lapack)" + -DWITH_ITT="no" # 3dparty libs itt_notify + + -DWITH_AVIF="$(usex avif)" + -DWITH_FREETYPE="$(usex truetype)" + # =================================================== + # CUDA build components: nvidia-cuda-toolkit + # =================================================== + -DWITH_CUDA="$(multilib_native_usex cuda)" + -DWITH_CUBLAS="$(multilib_native_usex cuda)" + -DWITH_CUFFT="$(multilib_native_usex cuda)" + -DWITH_CUDNN="$(multilib_native_usex cudnn)" + # NOTE set this via MYCMAKEARGS if needed + -DWITH_NVCUVID="no" # TODO needs NVIDIA Video Codec SDK + -DWITH_NVCUVENC="no" # TODO needs NVIDIA Video Codec SDK + -DCUDA_NPP_LIBRARY_ROOT_DIR="$(usex cuda "${CUDA_PATH:=${EPREFIX}/opt/cuda}" "")" + # =================================================== + # OpenCV build components + # =================================================== + -DBUILD_SHARED_LIBS="yes" + -DBUILD_JAVA="$(multilib_native_usex java)" # Ant needed, no compile flag + -DBUILD_ANDROID_EXAMPLES="no" + -DBUILD_opencv_apps="$(usex opencvapps)" + -DBUILD_DOCS="$(usex doc)" # Doesn't install anyways. + -DBUILD_EXAMPLES="$(multilib_native_usex examples)" + -DBUILD_TESTS="$(multilib_native_usex test "yes" "$(multilib_native_usex testprograms)")" + -DBUILD_PERF_TESTS="no" + + # -DBUILD_WITH_STATIC_CRT="no" + -DBUILD_WITH_DYNAMIC_IPP="no" + -DBUILD_FAT_JAVA_LIB="no" + # -DBUILD_ANDROID_SERVICE="no" + -DBUILD_CUDA_STUBS="$(multilib_native_usex cuda)" + -DOPENCV_EXTRA_MODULES_PATH="$(usex contrib "${WORKDIR}/${PN}_contrib-${PV}/modules" "")" + # =================================================== + # OpenCV installation options + # =================================================== + -DINSTALL_CREATE_DISTRIB="no" + -DINSTALL_BIN_EXAMPLES="$(multilib_native_usex examples)" + -DINSTALL_C_EXAMPLES="$(multilib_native_usex examples)" + -DINSTALL_TESTS="$(multilib_native_usex testprograms)" + # -DINSTALL_ANDROID_EXAMPLES="no" + -DINSTALL_TO_MANGLED_PATHS="no" + -DOPENCV_GENERATE_PKGCONFIG="yes" + # opencv uses both ${CMAKE_INSTALL_LIBDIR} and ${LIB_SUFFIX} + # to set its destination libdir + -DLIB_SUFFIX= + # =================================================== + # OpenCV build options + # =================================================== + -DENABLE_CCACHE="no" + # bug 733796, but PCH is a risky game in CMake anyway + -DBUILD_USE_SYMLINKS="yes" + -DENABLE_PRECOMPILED_HEADERS="no" + -DENABLE_SOLUTION_FOLDERS="no" + -DENABLE_PROFILING="no" + -DENABLE_COVERAGE="no" + -DOPENCV_DOWNLOAD_TRIES_LIST="0" + + -DHAVE_opencv_java="$(multilib_native_usex java)" + + -DBUILD_WITH_DEBUG_INFO="$(usex debug)" + -DOPENCV_ENABLE_MEMORY_SANITIZER="$(usex debug)" + -DCV_TRACE="$(usex debug)" + -DENABLE_NOISY_WARNINGS="$(usex debug)" + -DOPENCV_WARNINGS_ARE_ERRORS="no" + -DENABLE_IMPL_COLLECTION="no" + -DENABLE_INSTRUMENTATION="no" + -DGENERATE_ABI_DESCRIPTOR="no" + # =================================================== + # things we want to be hard off or not yet figured out + # =================================================== + -DBUILD_PACKAGE="no" + # =================================================== + # Not building protobuf but update files bug #631418 + # =================================================== + -DWITH_PROTOBUF="yes" + -DBUILD_PROTOBUF="no" + -DPROTOBUF_UPDATE_FILES="yes" + -DProtobuf_MODULE_COMPATIBLE="yes" + # =================================================== + # things we want to be hard enabled not worth useflag + # =================================================== + -DOPENCV_DOC_INSTALL_PATH="share/doc/${PF}" + -DOPENCV_SAMPLES_BIN_INSTALL_PATH="libexec/${PN}/bin/samples" + + -DBUILD_IPP_IW="no" + -DBUILD_ITT="no" + + # =================================================== + # configure modules to be build + # =================================================== + -DBUILD_opencv_gapi="$(usex ffmpeg yes "$(usex gstreamer)")" + -DBUILD_opencv_features2d="$(usex features2d)" + -DBUILD_opencv_java_bindings_generator="$(usex java)" + -DBUILD_opencv_js="no" + -DBUILD_opencv_js_bindings_generator="no" + -DBUILD_opencv_objc_bindings_generator="no" + -DBUILD_opencv_python2="no" + -DBUILD_opencv_ts="$(usex test)" + -DBUILD_opencv_video="$(usex ffmpeg yes "$(usex gstreamer)")" + -DBUILD_opencv_videoio="$(usex ffmpeg yes "$(usex gstreamer)")" + + -DBUILD_opencv_cudalegacy="no" + + # -DBUILD_opencv_world="yes" + + -DOPENCV_PLUGIN_VERSION=".$(ver_rs 1-2 '' "$(ver_cut 1-2)")" + -DOPENCV_PLUGIN_ARCH=".${ARCH}" + + -DDNN_PLUGIN_LIST="all" + -DHIGHGUI_ENABLE_PLUGINS="no" + ) + + local VIDEOIO_PLUGIN_LIST=() + if use ffmpeg; then + VIDEOIO_PLUGIN_LIST+=("ffmpeg") + fi + if use gstreamer; then + VIDEOIO_PLUGIN_LIST+=("gstreamer") + fi + + mycmakeargs+=( + -DVIDEOIO_PLUGIN_LIST="$(IFS=';'; echo "${VIDEOIO_PLUGIN_LIST[*]}")" + ) + + if use qt6; then + mycmakeargs+=( + -DWITH_QT="$(multilib_native_usex qt6)" + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5="yes" + ) + else + mycmakeargs+=( + -DWITH_QT="no" + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5="yes" + -DCMAKE_DISABLE_FIND_PACKAGE_Qt6="yes" + ) + fi + + # ================================================== + # cpu flags, should solve 633900 + #=================================================== + # TODO binhost https://github.com/opencv/opencv/wiki/CPU-optimizations-build-options + + local CPU_BASELINE="" + for i in "${CPU_FEATURES_MAP[@]}" ; do + if [[ ${ABI} != x86 || ${i%:*} != "cpu_flags_x86_avx2" ]]; then # workaround for Bug 747163 + local value + # These are merged into one flag internally + if [[ ${ABI} == amd64 ]]; then + case "${i%:*}" in + cpu_flags_x86_avx512er|cpu_flags_x86_avx512pf) + value="AVX512_KNL_EXTRA" + ;; + cpu_flags_x86_avx512_4fmaps|cpu_flags_x86_avx512_4vnniw) + value="AVX512_KNM_EXTRA" + ;; + *) + value="${i#*:}" + ;; + esac + else + value=${i#*:} + fi + + use "${i%:*}" && CPU_BASELINE="${CPU_BASELINE}${value};" + fi + done + unset CPU_FEATURES_MAP + + mycmakeargs+=( + -DCPU_BASELINE="${CPU_BASELINE}" + ) + if [[ ${MERGE_TYPE} != "buildonly" ]]; then + mycmakeargs+=( + -DOPENCV_CPU_OPT_IMPLIES_IGNORE="yes" + -DCPU_DISPATCH= + ) + fi + + # =================================================== + # OpenCV Contrib Modules + # =================================================== + # NOTE + # we remove unused modules, + # so we shouldn't need to disable options for unused modules + if use contrib; then + mycmakeargs+=( + -DBUILD_opencv_cvv="$(usex contribcvv)" + -DBUILD_opencv_dnn="$(usex contribdnn)" + -DOPENCV_DNN_OPENCL="$(usex opencl)" + -DOPENCV_DNN_CUDA="$(multilib_native_usex cudnn)" + + -DBUILD_opencv_freetype="$(usex contribfreetype)" + -DBUILD_opencv_hdf="$(multilib_native_usex contribhdf)" + -DBUILD_opencv_ovis="$(usex contribovis)" + -DBUILD_opencv_sfm="$(usex contribsfm)" + -DBUILD_opencv_xfeatures2d="$(usex contribxfeatures2d)" + ) + + if ! multilib_native_use tesseract; then + mycmakeargs+=( + -DCMAKE_DISABLE_FIND_PACKAGE_Tesseract="yes" + ) + fi + fi + + # workaround for bug 413429 + tc-export CC CXX + + if multilib_native_use cuda; then + cuda_add_sandbox -w + addwrite "/proc/self/task" + + if ! test -w /dev/nvidiactl; then + # eqawarn "Can't access the GPU at /dev/nvidiactl." + # eqawarn "User $(id -nu) is not in the group \"video\"." + if [[ -z "${CUDA_GENERATION}" ]] && [[ -z "${CUDA_ARCH_BIN}" ]]; then + # build all targets + mycmakeargs+=( + -DCUDA_GENERATION="" + ) + fi + else + local -x CUDAARCHS + : "${CUDAARCHS:="$(cuda_get_host_native_arch)"}" + fi + + local -x CUDAHOSTCXX CUDAHOSTLD + CUDAHOSTCXX="$(cuda_get_host_compiler)" + CUDAHOSTLD="$(tc-getCXX)" + + if tc-is-gcc; then + # Filter out IMPLICIT_LINK_DIRECTORIES picked up by CMAKE_DETERMINE_COMPILER_ABI(CUDA) + # See /usr/share/cmake/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst + CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES_EXCLUDE=$( + "${CUDAHOSTLD}" -E -v - <<<"int main(){}" |& \ + grep LIBRARY_PATH | cut -d '=' -f 2 | cut -d ':' -f 1 + ) + fi + + mycmakeargs+=( + -DENABLE_CUDA_FIRST_CLASS_LANGUAGE="yes" + ) + fi + + if use ffmpeg; then + mycmakeargs+=( + -DOPENCV_GAPI_GSTREAMER="no" + -DOPENCV_FFMPEG_DISABLE_MEDIASDK="yes" + ) + fi + + # according to modules/java/jar/CMakeLists.txt:23-26 + if use java; then + mycmakeargs+=( + -DOPENCV_JAVA_SOURCE_VERSION="$(java-pkg_get-source)" + -DOPENCV_JAVA_TARGET_VERSION="$(java-pkg_get-target)" + ) + fi + + if use mkl; then + mycmakeargs+=( + -DLAPACK_IMPL="MKL" + -DMKL_WITH_OPENMP="$(usex openmp)" + -DMKL_WITH_TBB="$(usex tbb)" + ) + fi + + # NOTE set this via MYCMAKEARGS if needed + if use opencl; then + if has_version sci-libs/clfft; then + mycmakeargs+=( -DWITH_OPENCLAMDFFT="yes" ) + else + mycmakeargs+=( -DWITH_OPENCLAMDFFT="no" ) + fi + if has_version sci-libs/clblas; then + mycmakeargs+=( -DWITH_OPENCLAMDBLAS="yes" ) + else + mycmakeargs+=( -DWITH_OPENCLAMDBLAS="no" ) + fi + else + mycmakeargs+=( + -DWITH_OPENCLAMDFFT="no" + -DWITH_OPENCLAMDBLAS="no" + ) + fi + + # NOTE due to multilib we can't do + # if multilib_native_use test; then + if use test; then + # opencv tests assume to be build in Release mode + local -x CMAKE_BUILD_TYPE="Release" + mycmakeargs+=( + -DOPENCV_TEST_DATA_PATH="${WORKDIR}/${PN}_extra-${PV}/testdata" + ) + if use vtk; then + mycmakeargs+=( + -DVTK_MPI_NUMPROCS="$(makeopts_jobs)" # TODO + ) + fi + fi + + if multilib_native_use testprograms; then + # NOTE do this so testprograms do not fail + mycmakeargs+=( + -DOPENCV_TEST_INSTALL_PATH="libexec/${PN}/bin/test" + ) + fi + + if multilib_native_use python; then + python_configure() { + # Set all python variables to load the correct Gentoo paths + local mycmakeargs=( + "${mycmakeargs[@]}" + # python_setup alters PATH and sets this as wrapper + # to the correct interpreter we are building for + -DBUILD_opencv_python3="yes" + -DBUILD_opencv_python_bindings_generator="yes" + -DBUILD_opencv_python_tests="$(usex test)" + -DPYTHON_DEFAULT_EXECUTABLE="${EPYTHON}" + -DINSTALL_PYTHON_EXAMPLES="$(usex examples)" + ) + cmake_src_configure + } + + python_foreach_impl python_configure + else + mycmakeargs+=( + -DPYTHON_EXECUTABLE="no" + -DINSTALL_PYTHON_EXAMPLES="no" + -DBUILD_opencv_python3="no" + -DBUILD_opencv_python_bindings_generator="no" + -DBUILD_opencv_python_tests="no" + ) + cmake_src_configure + fi +} + +multilib_src_compile() { + if multilib_native_use python; then + python_foreach_impl cmake_src_compile + else + cmake_src_compile + fi +} + +multilib_src_test() { + # no tests on ABI_X86_32 + ! multilib_is_native_abi && return + + # NOTE we don't run the tests + use testprograms && return + + declare -xA OPENCV_SKIP_TESTS + + local -x OPENCV_SKIP_TESTS_core=( + 'hal_intrin128.*32x4_CPP_EMULATOR' + 'hal_intrin128.*64x2_CPP_EMULATOR' + ) + + local -x OPENCV_SKIP_TESTS_gapi=( + 'AsyncAPICancelation/cancel/*.basic' + ) + + local -x OPENCV_SKIP_TESTS_videoio=( + '*mfx*' + 'videoio/videoio_bunny.frame_count/12' + ) + + local -x OPENCV_SKIP_TESTS_video=( + 'GOTURN.accuracy' + 'DaSiamRPN.accuracy' + 'NanoTrack.accuracy_NanoTrack_V1' + 'NanoTrack.accuracy_NanoTrack_V2' + 'Tracking/DistanceAndOverlap.GOTURN*' + ) + + if ! use gtk3 && ! use qt6; then + local -x OPENCV_SKIP_TESTS_highgui=( + 'Highgui_GUI.*' + ) + else + addpredict /dev/fuse + fi + + if multilib_native_use cuda; then + local -x OPENCV_SKIP_TESTS_cudaoptflow=( + 'CUDA_OptFlow/BroxOpticalFlow.Regression/0' + 'CUDA_OptFlow/BroxOpticalFlow.OpticalFlowNan/0' + 'CUDA_OptFlow/NvidiaOpticalFlow_1_0.Regression/0' + 'CUDA_OptFlow/NvidiaOpticalFlow_2_0.Regression/0' + ) + if use opengl; then + local -x OPENCV_SKIP_TESTS_cudaarithm=( + 'OpenGL/Buffer.MapDevice/*' + 'OpenGL/*Gpu*' + ) + fi + fi + + if use contribdnn; then + local -x OPENCV_SKIP_TESTS_dnn=( + 'Test_ONNX_layers.LSTM_cell_forward/*' + 'Test_ONNX_layers.LSTM_cell_bidirectional/*' + 'Test_TensorFlow_layers.Convolution3D/*' + 'Test_TensorFlow_layers.concat_3d/*' + ) + local -x OPENCV_SKIP_TESTS_objdetect=( + 'Objdetect_face_detection.regression' + 'Objdetect_face_recognition.regression' 'Objdetect_QRCode_Encode_Decode_Structured_Append.regression' + ) + else + local -x OPENCV_SKIP_TESTS_objdetect=( + 'Objdetect_face_detection.regression' + 'Objdetect_face_recognition.regression' + ) + + OPENCV_SKIP_TESTS_video+=( + 'vittrack.accuracy_vittrack' + ) + fi + if use dnnsamples; then + local -x OPENCV_SKIP_TESTS_wechat_qrcode=( + 'Objdetect_QRCode_points_position.rotate45' + 'Objdetect_QRCode_Big.regression' + 'Objdetect_QRCode_Tiny.regression' + 'Objdetect_QRCode_Multi.regression/*' + 'Objdetect_QRCode_Easy_Multi.regression/1' + ) + fi + + if multilib_native_use cuda; then + if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then + eerror "Can't access the GPU at /dev/nvidiactl." + eerror "User $(id -nu) is not in the group \"video\"." + local -x TEST_CUDA="false" + # local -x OPENCV_PARALLEL_BACKEND="threads" + # local -x DNN_BACKEND_OPENCV="cuda" + + local -x OPENCV_SKIP_TESTS_photo=( "CUDA_*" ) + local -x OPENCV_SKIP_TESTS_stitching=( "CUDA_*" ) + OPENCV_SKIP_TESTS_video+=( "CUDA_*" ) + else + cuda_add_sandbox -w + addwrite "/dev/dri/" + [[ -e /dev/udmabuf ]] && addwrite /dev/udmabuf + fi + fi + + opencv_test() { + cd "${BUILD_DIR}" || die + + # directories to search for _core_ plugins + local -x OPENCV_CORE_PLUGIN_PATH="${BUILD_DIR}/lib" + # directories to search for _dnn_ plugins + local -x OPENCV_DNN_PLUGIN_PATH="${BUILD_DIR}/lib" + # directories to search for _videoio_ plugins + local -x OPENCV_VIDEOIO_PLUGIN_PATH="${BUILD_DIR}/lib" + # # path to extra OpenVINO plugins + # local -x OPENCV_DNN_IE_EXTRA_PLUGIN_PATH="${BUILD_DIR}/lib" + + local -x OPENCV_TEMP_PATH="${T}" + + local -x OPENCV_TEST_DATA_PATH="${WORKDIR}/${PN}_extra-${PV}/testdata" + + local test_opts_base=( + --skip_unstable=1 + --test_threads="$(makeopts_jobs)" + ) + + local results=() + + local tests + readarray -t tests <<< "$(find "${BUILD_DIR}/bin" -name 'opencv_test_*')" + + for test in "${tests[@]}" ; do + + if [[ ${TEST_CUDA} == "false" && ${test} = *opencv_test_cu* ]] ; then + eqawarn "Skipping test ${test}" + continue + fi + + local test_opts=( + --gtest_color=yes + --gtest_output="json:${BUILD_DIR}/test-reports/$(basename "${test}").json" + ) + + local testname + testname="OPENCV_SKIP_TESTS_$(basename "${test//opencv_test_/}")[*]" + if [[ -n "${!testname}" ]]; then + test_opts+=( + --gtest_filter="-$(IFS=':'; echo "${!testname}")" + ) + fi + + einfo "${test} ${test_opts_base[*]} ${test_opts[*]}" + if ! "${test}" "${test_opts_base[@]}" "${test_opts[@]}"; then + results+=( "$(basename "${test}")" ) + + if [[ -z "${OPENCV_TEST_CONTINUE_ON_FAIL}" ]]; then + eerror "${results[*]} failed" + die + fi + fi + done + + if [[ -n "${results[*]}" ]]; then + eerror "failed: ${results[*]}" + die "${results[*]}" + fi + } + + if multilib_native_use python; then + python_foreach_impl virtx opencv_test + else + virtx opencv_test + fi +} + +multilib_src_install() { + if use abi_x86_64 && use abi_x86_32; then + MULTILIB_WRAPPED_HEADERS=( # {{{ + # [opencv4] + /usr/include/opencv4/opencv2/cvconfig.h + /usr/include/opencv4/opencv2/opencv_modules.hpp + + /usr/include/opencv4/opencv2/core_detect.hpp + + /usr/include/opencv4/opencv2/cudaarithm.hpp + /usr/include/opencv4/opencv2/cudabgsegm.hpp + /usr/include/opencv4/opencv2/cudacodec.hpp + /usr/include/opencv4/opencv2/cudafeatures2d.hpp + /usr/include/opencv4/opencv2/cudafilters.hpp + /usr/include/opencv4/opencv2/cudaimgproc.hpp + /usr/include/opencv4/opencv2/cudalegacy.hpp + /usr/include/opencv4/opencv2/cudalegacy/NCV.hpp + /usr/include/opencv4/opencv2/cudalegacy/NCVBroxOpticalFlow.hpp + /usr/include/opencv4/opencv2/cudalegacy/NCVHaarObjectDetection.hpp + /usr/include/opencv4/opencv2/cudalegacy/NCVPyramid.hpp + /usr/include/opencv4/opencv2/cudalegacy/NPP_staging.hpp + /usr/include/opencv4/opencv2/cudaobjdetect.hpp + /usr/include/opencv4/opencv2/cudaoptflow.hpp + /usr/include/opencv4/opencv2/cudastereo.hpp + /usr/include/opencv4/opencv2/cudawarping.hpp + # [cudev] + /usr/include/opencv4/opencv2/cudev.hpp + /usr/include/opencv4/opencv2/cudev/block/block.hpp + /usr/include/opencv4/opencv2/cudev/block/detail/reduce.hpp + /usr/include/opencv4/opencv2/cudev/block/detail/reduce_key_val.hpp + /usr/include/opencv4/opencv2/cudev/block/dynamic_smem.hpp + /usr/include/opencv4/opencv2/cudev/block/reduce.hpp + /usr/include/opencv4/opencv2/cudev/block/scan.hpp + /usr/include/opencv4/opencv2/cudev/block/vec_distance.hpp + /usr/include/opencv4/opencv2/cudev/common.hpp + /usr/include/opencv4/opencv2/cudev/expr/binary_func.hpp + /usr/include/opencv4/opencv2/cudev/expr/binary_op.hpp + /usr/include/opencv4/opencv2/cudev/expr/color.hpp + /usr/include/opencv4/opencv2/cudev/expr/deriv.hpp + /usr/include/opencv4/opencv2/cudev/expr/expr.hpp + /usr/include/opencv4/opencv2/cudev/expr/per_element_func.hpp + /usr/include/opencv4/opencv2/cudev/expr/reduction.hpp + /usr/include/opencv4/opencv2/cudev/expr/unary_func.hpp + /usr/include/opencv4/opencv2/cudev/expr/unary_op.hpp + /usr/include/opencv4/opencv2/cudev/expr/warping.hpp + /usr/include/opencv4/opencv2/cudev/functional/color_cvt.hpp + /usr/include/opencv4/opencv2/cudev/functional/detail/color_cvt.hpp + /usr/include/opencv4/opencv2/cudev/functional/functional.hpp + /usr/include/opencv4/opencv2/cudev/functional/tuple_adapter.hpp + /usr/include/opencv4/opencv2/cudev/grid/copy.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/copy.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/histogram.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/integral.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/minmaxloc.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/pyr_down.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/pyr_up.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/reduce.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/reduce_to_column.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/reduce_to_row.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/split_merge.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/transform.hpp + /usr/include/opencv4/opencv2/cudev/grid/detail/transpose.hpp + /usr/include/opencv4/opencv2/cudev/grid/histogram.hpp + /usr/include/opencv4/opencv2/cudev/grid/integral.hpp + /usr/include/opencv4/opencv2/cudev/grid/pyramids.hpp + /usr/include/opencv4/opencv2/cudev/grid/reduce.hpp + /usr/include/opencv4/opencv2/cudev/grid/reduce_to_vec.hpp + /usr/include/opencv4/opencv2/cudev/grid/split_merge.hpp + /usr/include/opencv4/opencv2/cudev/grid/transform.hpp + /usr/include/opencv4/opencv2/cudev/grid/transpose.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/constant.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/deriv.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/detail/gpumat.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/extrapolation.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/glob.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/gpumat.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/interpolation.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/lut.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/mask.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/remap.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/resize.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/texture.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/traits.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/transform.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/warping.hpp + /usr/include/opencv4/opencv2/cudev/ptr2d/zip.hpp + /usr/include/opencv4/opencv2/cudev/util/atomic.hpp + /usr/include/opencv4/opencv2/cudev/util/detail/tuple.hpp + /usr/include/opencv4/opencv2/cudev/util/detail/type_traits.hpp + /usr/include/opencv4/opencv2/cudev/util/limits.hpp + /usr/include/opencv4/opencv2/cudev/util/saturate_cast.hpp + /usr/include/opencv4/opencv2/cudev/util/simd_functions.hpp + /usr/include/opencv4/opencv2/cudev/util/tuple.hpp + /usr/include/opencv4/opencv2/cudev/util/type_traits.hpp + /usr/include/opencv4/opencv2/cudev/util/vec_math.hpp + /usr/include/opencv4/opencv2/cudev/util/vec_traits.hpp + /usr/include/opencv4/opencv2/cudev/warp/detail/reduce.hpp + /usr/include/opencv4/opencv2/cudev/warp/detail/reduce_key_val.hpp + /usr/include/opencv4/opencv2/cudev/warp/reduce.hpp + /usr/include/opencv4/opencv2/cudev/warp/scan.hpp + /usr/include/opencv4/opencv2/cudev/warp/shuffle.hpp + /usr/include/opencv4/opencv2/cudev/warp/warp.hpp + # [contribcvv] + /usr/include/opencv4/opencv2/cvv.hpp + /usr/include/opencv4/opencv2/cvv/call_meta_data.hpp + /usr/include/opencv4/opencv2/cvv/cvv.hpp + /usr/include/opencv4/opencv2/cvv/debug_mode.hpp + /usr/include/opencv4/opencv2/cvv/dmatch.hpp + /usr/include/opencv4/opencv2/cvv/filter.hpp + /usr/include/opencv4/opencv2/cvv/final_show.hpp + /usr/include/opencv4/opencv2/cvv/show_image.hpp + # [contribdnn] + /usr/include/opencv4/opencv2/dnn.hpp + /usr/include/opencv4/opencv2/dnn/all_layers.hpp + /usr/include/opencv4/opencv2/dnn/dict.hpp + /usr/include/opencv4/opencv2/dnn/dnn.hpp + /usr/include/opencv4/opencv2/dnn/dnn.inl.hpp + /usr/include/opencv4/opencv2/dnn/layer.details.hpp + /usr/include/opencv4/opencv2/dnn/layer.hpp + /usr/include/opencv4/opencv2/dnn/shape_utils.hpp + /usr/include/opencv4/opencv2/dnn/utils/debug_utils.hpp + /usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp + /usr/include/opencv4/opencv2/dnn/version.hpp + /usr/include/opencv4/opencv2/dnn_superres.hpp + # [contribhdf] + /usr/include/opencv4/opencv2/hdf.hpp + /usr/include/opencv4/opencv2/hdf/hdf5.hpp + + /usr/include/opencv4/opencv2/mcc.hpp + /usr/include/opencv4/opencv2/mcc/ccm.hpp + /usr/include/opencv4/opencv2/mcc/checker_detector.hpp + /usr/include/opencv4/opencv2/mcc/checker_model.hpp + + /usr/include/opencv4/opencv2/text.hpp + /usr/include/opencv4/opencv2/text/erfilter.hpp + /usr/include/opencv4/opencv2/text/ocr.hpp + /usr/include/opencv4/opencv2/text/swt_text_detection.hpp + /usr/include/opencv4/opencv2/text/textDetector.hpp + + # [qt6] + /usr/include/opencv4/opencv2/viz.hpp + /usr/include/opencv4/opencv2/viz/types.hpp + /usr/include/opencv4/opencv2/viz/viz3d.hpp + /usr/include/opencv4/opencv2/viz/vizcore.hpp + /usr/include/opencv4/opencv2/viz/widget_accessor.hpp + /usr/include/opencv4/opencv2/viz/widgets.hpp + + /usr/include/opencv4/opencv2/wechat_qrcode.hpp + ) # }}} + fi + + if multilib_native_use python; then + python_foreach_impl cmake_src_install + python_foreach_impl python_optimize + else + cmake_src_install + fi + + for plugin in "${ED}/usr/$(get_libdir)/libopencv_"*".$(ver_rs 1-2 '' "$(ver_cut 1-2)").${ARCH}"* ; do + patchelf --set-soname "$(basename "${plugin}" ".$(get_libname)")" "${plugin}" + done +} diff --git a/media-libs/opencv/opencv-4.9.0-r2.ebuild b/media-libs/opencv/opencv-4.9.0-r2.ebuild index eb231630bdf3..971d60f16ecb 100644 --- a/media-libs/opencv/opencv-4.9.0-r2.ebuild +++ b/media-libs/opencv/opencv-4.9.0-r2.ebuild @@ -218,7 +218,7 @@ COMMON_DEPEND=" ) ) quirc? ( media-libs/quirc ) - tesseract? ( app-text/tesseract[opencl=,${MULTILIB_USEDEP}] ) + tesseract? ( app-text/tesseract[opencl(+),${MULTILIB_USEDEP}] ) tbb? ( dev-cpp/tbb:=[${MULTILIB_USEDEP}] ) tiff? ( media-libs/tiff:=[${MULTILIB_USEDEP}] ) v4l? ( >=media-libs/libv4l-0.8.3[${MULTILIB_USEDEP}] ) @@ -804,7 +804,7 @@ multilib_src_test() { 'AsyncAPICancelation/cancel*basic' ) - if ! use gtk && ! use qt5 && ! use qt6; then + if ! use gtk3 && ! use qt5 && ! use qt6; then CMAKE_SKIP_TESTS+=( # these fail with parallism '^Highgui_*' diff --git a/media-libs/openfec/openfec-1.4.2.11.ebuild b/media-libs/openfec/openfec-1.4.2.11-r1.ebuild index cd6ad2b2f564..1b6adacdbebc 100644 --- a/media-libs/openfec/openfec-1.4.2.11.ebuild +++ b/media-libs/openfec/openfec-1.4.2.11-r1.ebuild @@ -12,8 +12,7 @@ SRC_URI="https://github.com/roc-streaming/openfec/archive/refs/tags/v${PV}.tar.g # See https://github.com/roc-streaming/openfec/blob/d87b258e3de3cdddf700b40e94c51ec9bd44a47f/CHANGELOG#L47. LICENSE="CeCILL-2 CeCILL-C" SLOT="0" -KEYWORDS="~amd64" -IUSE="cpu_flags_x86_sse" +KEYWORDS="amd64" PATCHES=( "${FILESDIR}"/${PN}-1.4.2.11-opt.patch @@ -21,7 +20,9 @@ PATCHES=( src_configure() { local mycmakeargs=( - -DASSEMBLY_SSE_OPT=$(usex cpu_flags_x86_sse) + # Causes crashes in media-libs/roc-toolkit (bug #941750) + # https://github.com/roc-streaming/openfec/issues/22 + -DASSEMBLY_SSE_OPT=OFF ) cmake_src_configure diff --git a/media-libs/openh264/Manifest b/media-libs/openh264/Manifest index 8848227b305f..b34a05fdcc6c 100644 --- a/media-libs/openh264/Manifest +++ b/media-libs/openh264/Manifest @@ -1,3 +1,4 @@ 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 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 +} diff --git a/media-libs/plotutils/plotutils-2.6-r3.ebuild b/media-libs/plotutils/plotutils-2.6-r3.ebuild index b672831c46b9..37fc0f56a857 100644 --- a/media-libs/plotutils/plotutils-2.6-r3.ebuild +++ b/media-libs/plotutils/plotutils-2.6-r3.ebuild @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/plotutils/${P}.tar.gz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="+png X" DEPEND=" diff --git a/media-libs/pulseaudio-qt/Manifest b/media-libs/pulseaudio-qt/Manifest index fa524c27ae74..bc9e3ac3eacb 100644 --- a/media-libs/pulseaudio-qt/Manifest +++ b/media-libs/pulseaudio-qt/Manifest @@ -1,2 +1,2 @@ -DIST pulseaudio-qt-1.5.0.tar.xz 36004 BLAKE2B ef61c70b1fdfc850c2cd0bde7621da9ff088347f1134b970eb2c5383b3f1dc2aa0d07a37d27b617c5647def3cda92fc745a847e9234826acc825d64d7e542426 SHA512 c0ce24c10b607b2866eb08bae14bac340de028bbf6ebfdd57ae8f9bd3bbb182cc681a124f20a4f309fd56c97598a33db07c6289d2c9801cc8f395cd424e588b8 DIST pulseaudio-qt-1.6.0.tar.xz 37232 BLAKE2B 6302ea3a2cedae8abe8b936b16766753c8995d3bc39c4217d1aeff3682d756191c2a82d3f04b4b40602de22e6cf8cecca2e28e4a9a528c1ccc472a6f5a9834b1 SHA512 4bf612efc5caf51cd177d26ebaba0bd11f9513ac65d0bece86c8171745ec824dc924cbb067d440b711be6eaf5ebcf84e9996286944de352df5fc7cf91142ac77 +DIST pulseaudio-qt-1.6.1.tar.xz 38072 BLAKE2B 2d25c05ecc3f401ce4881ae1902f4b1798586bb61c758a7fcb150225c1223bc38c4a053db4502e7ff813d73cc4d34b4887a7f24c7d352893c0da02166768d66c SHA512 7bb79bdc77d2fd8d8be569f692fa0f63b3f000fe5db605c38220a572878120ebe505edc272c43f4a3b22c70f44ee2d8cd0a0be3015c3d7660764258eca62b459 diff --git a/media-libs/pulseaudio-qt/pulseaudio-qt-1.5.0.ebuild b/media-libs/pulseaudio-qt/pulseaudio-qt-1.6.1.ebuild index 46af9297856c..50417aaad3b8 100644 --- a/media-libs/pulseaudio-qt/pulseaudio-qt-1.5.0.ebuild +++ b/media-libs/pulseaudio-qt/pulseaudio-qt-1.6.1.ebuild @@ -6,7 +6,7 @@ EAPI=8 ECM_HANDBOOK="forceoptional" ECM_QTHELP="true" ECM_TEST="true" -KFMIN=6.0.0 +KFMIN=6.3.0 QTMIN=6.6.2 inherit ecm kde.org @@ -15,7 +15,7 @@ HOMEPAGE="https://invent.kde.org/libraries/pulseaudio-qt" if [[ ${KDE_BUILD_TYPE} = release ]]; then SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" fi LICENSE="LGPL-2.1" diff --git a/media-libs/quarter/Manifest b/media-libs/quarter/Manifest index ca729b80d38e..63414d7498a5 100644 --- a/media-libs/quarter/Manifest +++ b/media-libs/quarter/Manifest @@ -1 +1,2 @@ DIST quarter-1.2.1-src.tar.gz 737236 BLAKE2B 91b332eb36ac1911449b923aabf6913a1901306c258f8e430f0c589774d1ad5991916863f14d6c3d35898a9756f7c68bd30287defe5deb04036f2dce4b8f135f SHA512 454e99ae8f65c9d8e425aaabc02f218357db4e4447a481680f75301d4102864c77da58a48144f2a9211d4de0bd9962b394ad48a832e89674291b94778e5ff96d +DIST quarter-1.2.2-src.tar.gz 6709135 BLAKE2B 7294236c446ba4389cc89987cf0c461a1414405142a7d943faf8fd215f3ad103994b2cee600b9b8fad56102a7046b3d59de5b6accb748924f8bac604d5ca180c SHA512 a8e0edf1ce6155aef52392a94dbc0f9692c98e295124ac2e7465bde5398f0716822e606b924194251091f7ae3dd39dd134d5a3fdd8a745f22a94c159553271a1 diff --git a/media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch b/media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch new file mode 100644 index 000000000000..b031ff8c6c41 --- /dev/null +++ b/media-libs/quarter/files/quarter-1.2.2-find-qhelpgenerator.patch @@ -0,0 +1,20 @@ +--- a/CMakeLists.txt 2024-02-05 00:29:17.000000000 +0100 ++++ b/CMakeLists.txt 2024-10-13 17:20:53.412858588 +0200 +@@ -239,13 +239,10 @@ + endif() + endif() + if(QUARTER_BUILD_DOC_QTHELP) +- find_program(QHG_LOCATION NAMES qhelpgenerator qhelpgenerator-qt5 DOC "Qt qhelpgenerator") +- if(NOT QHG_LOCATION) +- message(FATAL_ERROR "Missing program Qt qhelpgenerator") +- else() +- set(GENERATE_QHP YES) +- mark_as_advanced(QHG_LOCATION) +- endif() ++ find_package(Qt6Tools REQUIRED Help) ++ get_target_property(QHG_LOCATION Qt6::qhelpgenerator LOCATION) ++ set(GENERATE_QHP YES) ++ mark_as_advanced(QHG_LOCATION) + endif() + + set(DOXYGEN_INTERNAL_DOCS NO) diff --git a/media-libs/quarter/metadata.xml b/media-libs/quarter/metadata.xml index 356911f89686..d0938058334e 100644 --- a/media-libs/quarter/metadata.xml +++ b/media-libs/quarter/metadata.xml @@ -21,6 +21,7 @@ </longdescription> <use> <flag name="designer">Install plugin for <pkg>dev-qt/designer</pkg></flag> + <flag name="qch">Install API documentation in QCH format</flag> <flag name="qthelp">Build API documentation in QtHelp format</flag> </use> <upstream> diff --git a/media-libs/quarter/quarter-1.2.2.ebuild b/media-libs/quarter/quarter-1.2.2.ebuild new file mode 100644 index 000000000000..fe3b085f07dc --- /dev/null +++ b/media-libs/quarter/quarter-1.2.2.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake flag-o-matic + +DESCRIPTION="GUI binding for using Coin/Open Inventor with Qt" +HOMEPAGE="https://github.com/coin3d/coin/wiki" +SRC_URI="https://github.com/coin3d/quarter/releases/download/v${PV}/${P}-src.tar.gz" +S="${WORKDIR}/quarter" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug designer doc qch" + +REQUIRED_USE="qch? ( doc )" + +RDEPEND=" + dev-qt/qtbase:6[gui,opengl,widgets] + dev-qt/qttools:6[widgets] + media-libs/coin + virtual/opengl + designer? ( dev-qt/qttools:6[designer] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + qch? ( dev-qt/qttools:6[assistant] ) + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.2.1-cmake.patch + "${FILESDIR}"/${P}-find-qhelpgenerator.patch # bug 933432 +) + +DOCS=( AUTHORS NEWS README.md ) + +src_prepare() { + cmake_src_prepare + sed -e 's|/lib$|/lib@LIB_SUFFIX@|' \ + -i Quarter.pc.cmake.in || die +} + +src_configure() { + use debug && append-cppflags -DQUARTER_DEBUG=1 + local mycmakeargs=( + -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + -DQUARTER_BUILD_SHARED_LIBS=ON + -DQUARTER_BUILD_PLUGIN=$(usex designer) + -DQUARTER_BUILD_EXAMPLES=OFF + -DQUARTER_BUILD_DOCUMENTATION=$(usex doc) + -DQUARTER_BUILD_AWESOME_DOCUMENTATION=$(usex doc) + -DQUARTER_BUILD_DOC_MAN=$(usex doc) + -DQUARTER_BUILD_INTERNAL_DOCUMENTATION=OFF + -DQUARTER_BUILD_DOC_QTHELP=$(usex qch) + -DQUARTER_BUILD_DOC_CHM=OFF + -DQUARTER_USE_QT6=ON + ) + use doc && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) + cmake_src_configure +} diff --git a/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild b/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild index 07d0f1cf8321..7499832df477 100644 --- a/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild +++ b/media-libs/rnnoise/rnnoise-0.4.1_p20210122-r1.ebuild @@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${COMMIT}" LICENSE="BSD" SLOT="0" KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" -IUSE="doc" +IUSE="doc examples" # NOTE: Documentation currently empty (version 0.4.1_p20210122) BDEPEND=" @@ -36,8 +36,8 @@ src_prepare() { src_configure() { local myeconfargs=( - --disable-examples $(use_enable doc) + $(use_enable examples) ) econf "${myeconfargs[@]}" } @@ -46,4 +46,5 @@ src_install() { default rm "${ED}/usr/share/doc/${PF}/COPYING" || die find "${ED}" -name '*.la' -delete || die + use examples && dobin examples/.libs/rnnoise_demo } diff --git a/media-libs/rtaudio/Manifest b/media-libs/rtaudio/Manifest index e013a5f891ac..7a2c42468df9 100644 --- a/media-libs/rtaudio/Manifest +++ b/media-libs/rtaudio/Manifest @@ -1 +1,2 @@ DIST rtaudio-5.2.0.tar.gz 247110 BLAKE2B 1949885c3cbb2846e083fd25ec06ed5ca716563dd4c121f6985e2487488d88b9ffb62078185fe2f4261083c8c1ed4c3e8502d25614767d70d2ab316d77f51eeb SHA512 34e78522778db13d95d4465d7c6a808a63b34d4e1bd0b88113b6390f7b192017e405d0d9ac8fbb1151129627688626d17569dc47da420f7b4631892eb1adff11 +DIST rtaudio-6.0.1.tar.gz 254664 BLAKE2B 17a3893023147b2d68bdb1c827e41b721066cf1759ef1a904d3178ff28b54ba288831e96ad20e23308644800b14d81f9133727efb6012cf9cd01aa80c7ffea02 SHA512 085feb2673185460717ba45fc87254961e477823759e11281092c1ba13301303de1cd36aa9efeba0710cbf2c70f2e2f7f9e41173cf372ded528c41612b19acd5 diff --git a/media-libs/rtaudio/rtaudio-6.0.1.ebuild b/media-libs/rtaudio/rtaudio-6.0.1.ebuild new file mode 100644 index 000000000000..4e50eaea0cbd --- /dev/null +++ b/media-libs/rtaudio/rtaudio-6.0.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A set of cross-platform C++ classes for realtime audio I/O" +HOMEPAGE="https://www.music.mcgill.ca/~gary/rtaudio/" +SRC_URI="https://github.com/thestk/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0/7" +KEYWORDS="~amd64 arm64 ~ppc64 ~riscv x86" +IUSE="+alsa doc jack pulseaudio static-libs" +REQUIRED_USE="|| ( alsa jack pulseaudio )" + +RDEPEND="alsa? ( media-libs/alsa-lib ) + jack? ( + media-libs/alsa-lib + virtual/jack + ) + pulseaudio? ( media-libs/libpulse )" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( app-text/doxygen ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.1.0-cflags.patch +) + +src_prepare() { + default + + # don't rebuild docs + export ac_cv_prog_DOXYGEN= + + eautoreconf +} + +src_configure() { + # OSS support requires OSSv4 + local myconf=( + $(use_enable static-libs static) + $(use_with jack) + $(use_with alsa) + $(use_with pulseaudio pulse) + --without-oss + ) + + econf "${myconf[@]}" +} + +src_compile() { + emake + + if use doc; then + pushd doc + doxygen || die + popd + fi +} + +src_install() { + emake DESTDIR="${D}" install + + dodoc README.md doc/release.txt + if use doc; then + dodoc -r doc/html + dodoc -r doc/images + fi + + find "${D}" -name "*.la" -delete +} diff --git a/media-libs/rubberband/Manifest b/media-libs/rubberband/Manifest index bc7b9091b0c9..19e32cd97076 100644 --- a/media-libs/rubberband/Manifest +++ b/media-libs/rubberband/Manifest @@ -1 +1 @@ -DIST rubberband-3.3.0.tar.bz2 223408 BLAKE2B 2dccdbadbb8a24f837e82e2399f3ca1f09e25bf332fc745252ef8d5b6c80f422a2708227690cc81d0cf10ea22c9f11b21f985c738079e3c80e9d97536758f0fd SHA512 0216c33a250d52d539ad7a0ec28ea94e6d4684a308a9cb62509221b3861f74717021bd79196a1f58a7715799757491f32e0475ad2ddb7884683bb9130c676591 +DIST rubberband-4.0.0.tar.bz2 236705 BLAKE2B 4de34fd67e1e9188177d2cf7c67ff69b9134e754b13a0a791eef788bd032ee8c306d249c08aae320bd64ad6da6cd1ff1a4cd2c0aee54be2caca5cac95b6a9a1e SHA512 975ceead691c9fb9cb8b876d00d5661986d85ba59a97bb3c17bc8a835e8aeaf0bc324dd43ffa20f2854e019572b404d37d5e4868a99076d422f279359c44a7b4 diff --git a/media-libs/rubberband/rubberband-3.3.0-r1.ebuild b/media-libs/rubberband/rubberband-4.0.0-r1.ebuild index 4da6a6ced588..f2fdb557964f 100644 --- a/media-libs/rubberband/rubberband-3.3.0-r1.ebuild +++ b/media-libs/rubberband/rubberband-4.0.0-r1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://www.breakfastquay.com/rubberband/" SRC_URI="https://breakfastquay.com/files/releases/${P}.tar.bz2" LICENSE="GPL-2" -SLOT="0" +SLOT="0/3" KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" IUSE="ladspa lv2 jni static-libs +programs test vamp" RESTRICT="!test? ( test )" diff --git a/media-libs/shaderc/Manifest b/media-libs/shaderc/Manifest index d1b2543dcc54..6df60c02308b 100644 --- a/media-libs/shaderc/Manifest +++ b/media-libs/shaderc/Manifest @@ -1 +1,2 @@ DIST shaderc-2024.1.tar.gz 227211 BLAKE2B a4c9790cb117e4cf2d528ed294ef0599dc3c17ac367a4f658254ff9e161f82b3338a2d70a033fabcdb7a2925c2f4668ee89cfff0d4b88cd2b22fcfb3f2786ea9 SHA512 017d8625c66da7eb5b431f595b27a4ddf146aaa12ef56777cb8c3f7f0f15eb01c3286e5905c5268de55d07cc19d5ffae4d4c08987d105b0a6be74616a467b736 +DIST shaderc-2024.3.tar.gz 227490 BLAKE2B 0f9df6251b1a107c89a4e509c7a36f4035b5282f11e0b00cb7a1603b3212917894e805337d2404509b839dd9ac40aa19d8aa23bf6666b330dae2cfdabc18c9c6 SHA512 ba990054b3e50bd1c3e7decaca80b80dfade0f15505f6e89c455b7a114b8507931dff2c570ca81fd38882472e7d7014c417ca8f4c1117fc0e6825ea9f669222a diff --git a/media-libs/shaderc/shaderc-2024.3.ebuild b/media-libs/shaderc/shaderc-2024.3.ebuild new file mode 100644 index 000000000000..9201b5cc10bb --- /dev/null +++ b/media-libs/shaderc/shaderc-2024.3.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib python-any-r1 + +DESCRIPTION="Collection of tools, libraries and tests for shader compilation" +HOMEPAGE="https://github.com/google/shaderc" +EGIT_COMMIT="${PV}" +SRC_URI="https://github.com/google/${PN}/archive/v${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${EGIT_COMMIT}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv x86" +IUSE="doc" + +RDEPEND=" + >=dev-util/glslang-1.3.296.0:=[${MULTILIB_USEDEP}] + >=dev-util/spirv-tools-1.3.296.0[${MULTILIB_USEDEP}] +" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-util/spirv-headers-1.3.296.0" + +BDEPEND="doc? ( dev-ruby/asciidoctor )" + +PATCHES=( + "${FILESDIR}"/${PN}-2020.4-fix-build.patch +) + +# https://github.com/google/shaderc/issues/470 +RESTRICT=test + +src_prepare() { + cmake_comment_add_subdirectory examples + + # Unbundle glslang, spirv-headers, spirv-tools + cmake_comment_add_subdirectory third_party + sed -i \ + -e "s|\$<TARGET_FILE:spirv-dis>|${EPREFIX}/usr/bin/spirv-dis|" \ + glslc/test/CMakeLists.txt || die + + # Disable git versioning + sed -i -e '/build-version/d' glslc/CMakeLists.txt || die + + # Manually create build-version.inc as we disabled git versioning + cat <<- EOF > glslc/src/build-version.inc || die + "${P}\n" + "$(best_version dev-util/spirv-tools)\n" + "$(best_version dev-util/glslang)\n" + EOF + + cmake_src_prepare +} + +multilib_src_configure() { + local mycmakeargs=( + -DSHADERC_SKIP_TESTS="true" + -DSHADERC_ENABLE_WERROR_COMPILE="false" + ) + cmake_src_configure +} + +multilib_src_compile() { + if multilib_is_native_abi && use doc; then + cmake_src_compile glslc_doc_README + fi + cmake_src_compile +} + +multilib_src_install() { + if multilib_is_native_abi; then + use doc && local HTML_DOCS=( "${BUILD_DIR}/glslc/README.html" ) + fi + cmake_src_install +} diff --git a/media-libs/simage/simage-1.8.3-r1.ebuild b/media-libs/simage/simage-1.8.3-r1.ebuild new file mode 100644 index 000000000000..73298867eca3 --- /dev/null +++ b/media-libs/simage/simage-1.8.3-r1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Image and video texturing library" +HOMEPAGE="https://github.com/coin3d/simage/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/coin3d/simage.git" +else + SRC_URI="https://github.com/coin3d/simage/releases/download/v${PV}/${P}-src.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 ~sparc x86" + S="${WORKDIR}/${PN}" +fi + +LICENSE="BSD-1" +SLOT="0" +IUSE="gif jpeg png qt6 sndfile test tiff vorbis zlib" +RESTRICT="!test? ( test )" + +RDEPEND=" + gif? ( media-libs/giflib:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + png? ( media-libs/libpng:= ) + qt6? ( dev-qt/qtbase:6[gui] ) + sndfile? ( + media-libs/libsndfile + media-libs/flac:= + ) + tiff? ( + media-libs/tiff:=[lzma,zstd] + app-arch/xz-utils + app-arch/zstd:= + ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + media-libs/opus + ) + zlib? ( sys-libs/zlib:= ) +" +DEPEND="${RDEPEND}" +BDEPEND="test? ( media-libs/libsndfile )" + +PATCHES=( + "${FILESDIR}"/${PN}-1.8.1-0001-Gentoo-specific-remove-RELEASE-flag-from-pkg-config.patch +) + +DOCS=( AUTHORS ChangeLog NEWS README ) + +src_configure() { + local mycmakeargs=( + -DSIMAGE_BUILD_SHARED_LIBS=ON + -DSIMAGE_BUILD_EXAMPLES=OFF + -DSIMAGE_BUILD_TESTS=$(usex test) + -DSIMAGE_BUILD_DOCUMENTATION=OFF + -DSIMAGE_USE_AVIENC=OFF # Windows only + -DSIMAGE_USE_GDIPLUS=OFF # Windows + -DSIMAGE_USE_CGIMAGE=OFF # OS X only + -DSIMAGE_USE_QUICKTIME=OFF # OS X only + -DSIMAGE_USE_QIMAGE=$(usex qt6) + -DSIMAGE_USE_QT5=OFF + -DSIMAGE_USE_QT6=$(usex qt6) + -DSIMAGE_USE_CPACK=OFF + -DSIMAGE_USE_STATIC_LIBS=OFF + -DSIMAGE_LIBJASPER_SUPPORT=OFF + -DSIMAGE_LIBSNDFILE_SUPPORT=$(usex sndfile) + -DSIMAGE_OGGVORBIS_SUPPORT=$(usex vorbis) + -DSIMAGE_EPS_SUPPORT=ON + -DSIMAGE_MPEG2ENC_SUPPORT=ON + -DSIMAGE_PIC_SUPPORT=ON + -DSIMAGE_RGB_SUPPORT=ON + -DSIMAGE_TGA_SUPPORT=ON + -DSIMAGE_XWD_SUPPORT=ON + -DSIMAGE_ZLIB_SUPPORT=$(usex zlib) + -DSIMAGE_GIF_SUPPORT=$(usex gif) + -DSIMAGE_JPEG_SUPPORT=$(usex jpeg) + -DSIMAGE_PNG_SUPPORT=$(usex png) + -DSIMAGE_TIFF_SUPPORT=$(usex tiff) + ) + cmake_src_configure +} diff --git a/media-libs/simage/simage-9999.ebuild b/media-libs/simage/simage-9999.ebuild index fce11a8bd619..73fd53ca3009 100644 --- a/media-libs/simage/simage-9999.ebuild +++ b/media-libs/simage/simage-9999.ebuild @@ -8,7 +8,7 @@ inherit cmake DESCRIPTION="Image and video texturing library" HOMEPAGE="https://github.com/coin3d/simage/" -if [[ ${PV} = *9999 ]]; then +if [[ ${PV} = *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/coin3d/simage.git" else @@ -50,7 +50,7 @@ PATCHES=( "${FILESDIR}"/${PN}-1.8.1-0001-Gentoo-specific-remove-RELEASE-flag-from-pkg-config.patch ) -DOCS=(AUTHORS ChangeLog NEWS README) +DOCS=( AUTHORS ChangeLog NEWS README ) src_configure() { local mycmakeargs=( @@ -63,7 +63,6 @@ src_configure() { -DSIMAGE_USE_CGIMAGE=OFF # OS X only -DSIMAGE_USE_QUICKTIME=OFF # OS X only -DSIMAGE_USE_QIMAGE=$(usex qt6) - -DSIMAGE_USE_QT4=OFF -DSIMAGE_USE_QT5=OFF -DSIMAGE_USE_QT6=$(usex qt6) -DSIMAGE_USE_CPACK=OFF diff --git a/media-libs/soxr/soxr-0.1.3-r1.ebuild b/media-libs/soxr/soxr-0.1.3-r2.ebuild index ec602f3abda1..68d93c60de26 100644 --- a/media-libs/soxr/soxr-0.1.3-r1.ebuild +++ b/media-libs/soxr/soxr-0.1.3-r2.ebuild @@ -1,14 +1,15 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 +MY_P="${P}-Source" inherit cmake-multilib -MY_P="${P}-Source" DESCRIPTION="SoX Resampler library" HOMEPAGE="https://sourceforge.net/p/soxr/wiki/Home/" SRC_URI="https://downloads.sourceforge.net/soxr/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" LICENSE="LGPL-2.1" SLOT="0" @@ -19,8 +20,6 @@ IUSE="examples test" REQUIRED_USE="test? ( examples )" RESTRICT="!test? ( test )" -S="${WORKDIR}/${MY_P}" - PATCHES=( "${FILESDIR}/${PN}-0.1.1-nodoc.patch" "${FILESDIR}/${P}-fix-pkgconfig.patch" diff --git a/media-libs/svt-av1/svt-av1-2.1.2.ebuild b/media-libs/svt-av1/svt-av1-2.1.2.ebuild index 49270aedb7db..6ba513e8db9a 100644 --- a/media-libs/svt-av1/svt-av1-2.1.2.ebuild +++ b/media-libs/svt-av1/svt-av1-2.1.2.ebuild @@ -13,7 +13,7 @@ if [[ ${PV} = 9999 ]]; then EGIT_REPO_URI="https://gitlab.com/AOMediaCodec/SVT-AV1.git" else SRC_URI="https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${PV}/SVT-AV1-v${PV}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv sparc x86" S="${WORKDIR}/SVT-AV1-v${PV}" fi diff --git a/media-libs/svt-hevc/metadata.xml b/media-libs/svt-hevc/metadata.xml index 8d78ba1412a6..4beaa38e37d8 100644 --- a/media-libs/svt-hevc/metadata.xml +++ b/media-libs/svt-hevc/metadata.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> <email>media-video@gentoo.org</email> diff --git a/media-libs/t1lib/t1lib-5.1.2-r5.ebuild b/media-libs/t1lib/t1lib-5.1.2-r5.ebuild index 867cd9e5ab78..994e1de47827 100644 --- a/media-libs/t1lib/t1lib-5.1.2-r5.ebuild +++ b/media-libs/t1lib/t1lib-5.1.2-r5.ebuild @@ -50,6 +50,8 @@ src_prepare() { } src_configure() { + # bug #943882 + append-cflags -std=gnu17 # lto-type-mismatch filter-lto diff --git a/media-libs/tg_owt/tg_owt-0_pre20240804-r1.ebuild b/media-libs/tg_owt/tg_owt-0_pre20240804-r2.ebuild index 59214057bbec..0c0d80f929dc 100644 --- a/media-libs/tg_owt/tg_owt-0_pre20240804-r1.ebuild +++ b/media-libs/tg_owt/tg_owt-0_pre20240804-r2.ebuild @@ -19,7 +19,7 @@ S="${WORKDIR}/${PN}-${TG_OWT_COMMIT}" LICENSE="BSD" SLOT="0/${PV##*pre}" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv" IUSE="screencast +X" # This package's USE flags may change the ABI and require a rebuild of @@ -44,7 +44,7 @@ RDEPEND=" dev-libs/crc32c screencast? ( dev-libs/glib:2 - media-video/pipewire:= + >=media-video/pipewire-1.0.7:= ) X? ( x11-libs/libX11 diff --git a/media-libs/tiff/tiff-4.7.0-r1.ebuild b/media-libs/tiff/tiff-4.7.0-r1.ebuild new file mode 100644 index 000000000000..a859e56d7d45 --- /dev/null +++ b/media-libs/tiff/tiff-4.7.0-r1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Release signer can vary per version but not clear if others will be doing +# them in future, so gone with Even Rouault for now as he does other geosci +# stuff too like PROJ, GDAL. Previous release manager of TIFF was +# GraphicsMagick maintainer Bob Friesenhahn. Please be careful when verifying +# who made releases. +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rouault.asc +inherit libtool multilib-minimal verify-sig flag-o-matic + +MY_P="${P/_rc/rc}" +DESCRIPTION="Tag Image File Format (TIFF) library" +HOMEPAGE="http://libtiff.maptools.org" +SRC_URI="https://download.osgeo.org/libtiff/${MY_P}.tar.xz" +SRC_URI+=" verify-sig? ( https://download.osgeo.org/libtiff/${MY_P}.tar.xz.sig )" +S="${WORKDIR}/${PN}-$(ver_cut 1-3)" + +LICENSE="libtiff" +SLOT="0/6" +if [[ ${PV} != *_rc* ]] ; then + 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" +fi +IUSE="+cxx jbig jpeg lerc lzma opengl static-libs test webp zlib zstd" +RESTRICT="!test? ( test )" + +# bug #483132 +REQUIRED_USE="test? ( jpeg )" + +RDEPEND=" + jbig? ( >=media-libs/jbigkit-2.1:=[${MULTILIB_USEDEP}] ) + jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] ) + lerc? ( media-libs/lerc:=[${MULTILIB_USEDEP}] ) + lzma? ( >=app-arch/xz-utils-5.0.5-r1[${MULTILIB_USEDEP}] ) + opengl? ( media-libs/freeglut ) + webp? ( media-libs/libwebp:=[${MULTILIB_USEDEP}] ) + zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] ) + zstd? ( >=app-arch/zstd-1.3.7-r1:=[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND}" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-evenrouault )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/tiffconf.h +) + +src_prepare() { + default + + # Added to fix cross-compilation + elibtoolize +} + +multilib_src_configure() { + append-lfs-flags + + local myeconfargs=( + --disable-sphinx + --with-docdir="${EPREFIX}"/usr/share/doc/${PF} + $(use_enable cxx) + $(use_enable jbig) + $(use_enable jpeg) + $(multilib_native_use_enable opengl) + $(use_enable lerc) + $(use_enable lzma) + $(use_enable static-libs static) + $(use_enable test tests) + $(use_enable webp) + $(use_enable zlib) + $(use_enable zstd) + --disable-libdeflate # bug #930111 + + $(multilib_native_enable docs) + $(multilib_native_enable contrib) + $(multilib_native_enable tools) + ) + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + find "${ED}" -type f -name '*.la' -delete || die + rm "${ED}"/usr/share/doc/${PF}/{README*,RELEASE-DATE,TODO,VERSION} || die +} diff --git a/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild b/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild index 3e006595e3cb..5876e17ef719 100644 --- a/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild +++ b/media-libs/vamp-plugin-sdk/vamp-plugin-sdk-2.10.ebuild @@ -29,6 +29,8 @@ src_prepare() { } multilib_src_configure() { + MAKEOPTS+=" -j1" # bug #943866 + # multilib for default search paths sed -i -e "s:/usr/lib/vamp:${EPREFIX}/usr/$(get_libdir)/vamp:" \ src/vamp-hostsdk/PluginHostAdapter.cpp || die diff --git a/media-libs/vips/Manifest b/media-libs/vips/Manifest index 493b42a00edc..8f82163298c6 100644 --- a/media-libs/vips/Manifest +++ b/media-libs/vips/Manifest @@ -1,2 +1,3 @@ DIST vips-8.15.2.tar.xz 18653840 BLAKE2B fa46d58d77ec835cbb7036764bcc40554a72c2d6a854adee31905d04cb189de131340f990b432293935bc8563236816d14fa45c08ba858de6b1be5ee3ea148ec SHA512 f746e4590f0105cb40dbb4ee35fe4b177acbf09d7fc4202f623812018030b9cfdfcbe585742724b35f40ef9b68717ebd015243f3db293086621d9eac3d89a5b2 -DIST vips-8.15.4.tar.xz 18655032 BLAKE2B ea4bb5af7bf34bda688ea937456ec6c1cff0dfa21e87fd843611cd8b3fb16df8fd1793d8327d40bbf937995466a4cfd417d9fe68f02010e260cf6b68f8c725c5 SHA512 b44fb3d57e356f3f0c4177f8385c0a6e5932ac22af8bd4ef312961d98bec4336bd3fb914a659a51a83a9da8b3bceb1593492a45e433b45a21cc6094aada6f1ac +DIST vips-8.15.5.tar.xz 18652672 BLAKE2B bebd8078cb6cedffb4aee98aab17f62538439f81378b4953085ec0cd6e9ce2c6fb17831e77113980bc91c0ed4355d765c2008232b1cf64246467a9cd936e2245 SHA512 d8f87292fa395e108f36769accc64b67ea49aadbea4a6bd97fc457f340c0f78c0365a43ae4b14ac5f154e696a8b2abc100078a8c5ac58aae2dd1b04347fbf4d8 +DIST vips-8.16.0.tar.xz 29542092 BLAKE2B d285e27858b3c2d68edff4acad3e8e7744708071e5e2eb637bcabc66af9226ed72b2a6c72cd9a52e171e37e36c6c4429d3efacd9df7f67ba317f9efcc26e78bb SHA512 4035c6c08a19cb281ec0d901f8d0c2077e3312a79c1191b5b070aa411e5de0176d7d4e246da8f40c50cd93cf89433ac330b3ee618c1a996a79d58d1d66ec57f4 diff --git a/media-libs/vips/vips-8.15.5.ebuild b/media-libs/vips/vips-8.15.5.ebuild new file mode 100644 index 000000000000..96a0a1bdc164 --- /dev/null +++ b/media-libs/vips/vips-8.15.5.ebuild @@ -0,0 +1,167 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +inherit flag-o-matic meson python-single-r1 toolchain-funcs vala + +DESCRIPTION="VIPS Image Processing Library" +HOMEPAGE="https://libvips.github.io/libvips/" +SRC_URI="https://github.com/libvips/libvips/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="LGPL-2.1+ MIT" +SLOT="0/42" # soname +KEYWORDS="amd64 ~arm64 ~x86" +IUSE=" + archive deprecated doc exif fftw fits fontconfig graphicsmagick + gtk-doc heif +highway imagemagick imagequant +introspection +jpeg + jpeg2k jpegxl lcms matio openexr orc pango pdf +png python svg + test tiff vala webp +" +REQUIRED_USE=" + fontconfig? ( pango ) + graphicsmagick? ( imagemagick ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( jpeg png webp ) + vala? ( introspection ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/glib:2 + dev-libs/expat + virtual/libintl + archive? ( app-arch/libarchive:= ) + exif? ( media-libs/libexif ) + fftw? ( sci-libs/fftw:3.0= ) + fits? ( sci-libs/cfitsio:= ) + fontconfig? ( media-libs/fontconfig ) + heif? ( media-libs/libheif:= ) + highway? ( >=dev-cpp/highway-1.0.5 ) + !highway? ( + orc? ( dev-lang/orc ) + ) + imagemagick? ( + graphicsmagick? ( media-gfx/graphicsmagick:= ) + !graphicsmagick? ( media-gfx/imagemagick:= ) + ) + imagequant? ( media-gfx/libimagequant ) + introspection? ( dev-libs/gobject-introspection ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpeg2k? ( media-libs/openjpeg:= ) + jpegxl? ( media-libs/libjxl:= ) + lcms? ( media-libs/lcms:2 ) + matio? ( sci-libs/matio:= ) + openexr? ( media-libs/openexr:= ) + pango? ( + x11-libs/cairo + x11-libs/pango + ) + pdf? ( + app-text/poppler[cairo] + x11-libs/cairo + ) + png? ( media-libs/libpng:= ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep 'dev-python/pycairo[${PYTHON_USEDEP}]') + ) + svg? ( + gnome-base/librsvg:2 + sys-libs/zlib:= + x11-libs/cairo + ) + tiff? ( media-libs/tiff:= ) + webp? ( media-libs/libwebp:= ) +" +DEPEND=" + ${RDEPEND} + pango? ( x11-base/xorg-proto ) + pdf? ( x11-base/xorg-proto ) + svg? ( x11-base/xorg-proto ) + test? ( + tiff? ( media-libs/tiff[jpeg] ) + ) +" +BDEPEND=" + dev-util/glib-utils + sys-devel/gettext + doc? ( + app-text/doxygen + media-gfx/graphviz + ) + gtk-doc? ( dev-util/gtk-doc ) + python? ( ${PYTHON_DEPS} ) + vala? ( $(vala_depend) ) +" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + use vala && vala_setup + + sed -i "s/'vips-doc'/'${PF}'/" cplusplus/meson.build || die + + sed -i "/subdir('fuzz')/d" meson.build || die +} + +src_configure() { + # workaround for bug in lld (bug #921728) + tc-ld-is-lld && filter-lto + + local emesonargs=( + $(meson_use deprecated) + $(meson_use doc doxygen) + -Dexamples=false + $(meson_use gtk-doc gtk_doc) + $(meson_use vala vapi) + -Dcgif=disabled # not packaged, and not used to view gif (only saving) + $(meson_feature archive) + $(meson_feature exif) + $(meson_feature fftw) + $(meson_feature fits cfitsio) + $(meson_feature fontconfig) + $(meson_feature heif) + $(meson_feature highway) + $(meson_feature imagemagick magick) + -Dmagick-package=$(usex graphicsmagick GraphicsMagick MagickCore) + $(meson_feature imagequant) + $(meson_feature introspection) + $(meson_feature jpeg) + $(meson_feature jpeg2k openjpeg) + $(meson_feature jpegxl jpeg-xl) + $(meson_feature lcms) + $(meson_feature matio) + -Dnifti=disabled # not packaged + $(meson_feature openexr) + -Dopenslide=disabled # not packaged + $(meson_feature orc) # no-op if USE=highway is set + $(meson_feature pango pangocairo) + -Dpdfium=disabled # not packaged, can use poppler instead + $(meson_feature png) + $(meson_feature pdf poppler) + -Dquantizr=disabled # not packaged, can use imagequant instead + -Dspng=disabled # not packaged, can use libpng instead + $(meson_feature svg rsvg) + $(meson_feature tiff) + $(meson_feature webp) + $(meson_feature svg zlib) # zlib is currently only used by svgload.c + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + if use python; then + python_fix_shebang "${ED}"/usr/bin/vipsprofile + else + rm -- "${ED}"/usr/{bin/vipsprofile,share/man/man1/vipsprofile.1} || die + fi +} diff --git a/media-libs/vips/vips-8.15.4.ebuild b/media-libs/vips/vips-8.16.0.ebuild index 1a70de46d0d2..d95b054a4b0f 100644 --- a/media-libs/vips/vips-8.15.4.ebuild +++ b/media-libs/vips/vips-8.16.0.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://libvips.github.io/libvips/" SRC_URI="https://github.com/libvips/libvips/releases/download/v${PV}/${P}.tar.xz" LICENSE="LGPL-2.1+ MIT" -SLOT="0/${PV}" +SLOT="0/42" # soname KEYWORDS="~amd64 ~arm64 ~x86" IUSE=" archive deprecated doc exif fftw fits fontconfig graphicsmagick diff --git a/media-libs/vpl-gpu-rt/Manifest b/media-libs/vpl-gpu-rt/Manifest new file mode 100644 index 000000000000..435902cce164 --- /dev/null +++ b/media-libs/vpl-gpu-rt/Manifest @@ -0,0 +1,3 @@ +DIST vpl-gpu-rt-24.2.5.tar.gz 9063523 BLAKE2B 1d993c5f8fc460323b3630af4068e49c8222c685288f32a3500d9bc646ef99ef1273854422d34831739bbe13750993a9f23b1a8e4ed827b28e0712422b06786f SHA512 a7aa37d27e4f2429634382d55074a014d96fa15ff2c5c40539f753888152f42dd46c9e5b0899021099091167f7a611016e79792ed8808935276adf34199113bf +DIST vpl-gpu-rt-24.3.4.tar.gz 9193620 BLAKE2B 9a1804bdf4ce8624bf57d38a7f0f349770ac743b50dc513fa2569bf233aabf3972d8bbd0081e00dbf2dc6e5127cdc4372b68b3b65c9b44f0dce67b4f29f1991e SHA512 586094dc531ff4ca952f6682a7a6148d77bca0beaaff7a8411d942ca23bd1c4e70969d4354b3afe65af92fdb42816cd93fe757c4dc21b52bafde14346ac6296a +DIST vpl-gpu-rt-24.4.2.tar.gz 9181545 BLAKE2B fb71d94710b4414a6f7c5eac9e194fdc24687f3250546dad91cb901f2e02322aa09d6b899b7e43038fbf199a46174a687f2f278184651db734933280d22e015a SHA512 800081e87a4d4d4fa161007ab2ea3031c096e82bb70d4e0aa784e9c4b9713a35bbb6343af3782525f702131f15063b757110f23a9e65adea67524fe776e6c05b diff --git a/media-libs/vpl-gpu-rt/metadata.xml b/media-libs/vpl-gpu-rt/metadata.xml new file mode 100644 index 000000000000..087a3b8eb4b9 --- /dev/null +++ b/media-libs/vpl-gpu-rt/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>media-video@gentoo.org</email> + </maintainer> + <maintainer type="person"> + <email>nowa@gentoo.org</email> + <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.2.5.ebuild b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.2.5.ebuild index 1e9794bab839..8eba3560671e 100644 --- a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.2.5.ebuild +++ b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.2.5.ebuild @@ -5,10 +5,10 @@ EAPI=8 inherit cmake -DESCRIPTION="oneAPI Video Processing Library Intel GPU implementation" +DESCRIPTION="Intel Video Processing Library GPU Runtime" HOMEPAGE="https://github.com/intel/vpl-gpu-rt/" -SRC_URI="https://github.com/intel/vpl-gpu-rt/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/vpl-gpu-rt-intel-onevpl-${PV}" +SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-intel-onevpl-${PV}" LICENSE="MIT" SLOT="0" diff --git a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.3.4.ebuild index 1e9794bab839..861810f2ef94 100644 --- a/media-libs/oneVPL-intel-gpu/oneVPL-intel-gpu-24.3.4.ebuild +++ b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.3.4.ebuild @@ -1,14 +1,17 @@ # 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 -DESCRIPTION="oneAPI Video Processing Library Intel GPU implementation" +DESCRIPTION="Intel Video Processing Library GPU Runtime" HOMEPAGE="https://github.com/intel/vpl-gpu-rt/" -SRC_URI="https://github.com/intel/vpl-gpu-rt/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz" -S="${WORKDIR}/vpl-gpu-rt-intel-onevpl-${PV}" +SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-intel-onevpl-${PV}" LICENSE="MIT" SLOT="0" diff --git a/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild new file mode 100644 index 000000000000..861810f2ef94 --- /dev/null +++ b/media-libs/vpl-gpu-rt/vpl-gpu-rt-24.4.2.ebuild @@ -0,0 +1,49 @@ +# 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 + +DESCRIPTION="Intel Video Processing Library GPU Runtime" +HOMEPAGE="https://github.com/intel/vpl-gpu-rt/" +SRC_URI="https://github.com/intel/${PN}/archive/refs/tags/intel-onevpl-${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-intel-onevpl-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + media-libs/libva + x11-libs/libdrm[video_cards_intel] +" +# At runtime we need a dispatcher, libvpl is preferred but mediasdk also works +RDEPEND="${DEPEND} + >=media-libs/libva-intel-media-driver-${PV} + || ( + media-libs/libvpl + media-libs/intel-mediasdk + ) +" +BDEPEND="virtual/pkgconfig" + +src_configure() { + local mycmakeargs=( + -DBUILD_RUNTIME=ON + # To build the kernels we need to package the cm-compiler, use pre-built instead + -DBUILD_KERNELS=OFF + -DBUILD_TESTS="$(usex test)" + # This only seems to do something if we BUILD_KERNELS=ON + #-DBUILD_TOOLS="$(usex tools)" + # OpenCL only has an effect if we build kernels + -DENABLE_OPENCL=OFF + ) + cmake_src_configure +} diff --git a/media-libs/vulkan-layers/Manifest b/media-libs/vulkan-layers/Manifest index d56bfbb145af..e67afc60055f 100644 --- a/media-libs/vulkan-layers/Manifest +++ b/media-libs/vulkan-layers/Manifest @@ -1 +1,2 @@ DIST vulkan-layers-1.3.290.0.tar.gz 5270142 BLAKE2B cdd22f6dd3b4da9433cba1c0d0ace16961bad2d61279efca3a0d7e5ad885766f25377036f3418ba3ed4e93beeff717b8b45fc772e9e2ad8750a8aac0aec731d2 SHA512 9f1d512b4bafbcef586789e933f903c383bbb9644d0a978a390da16e03ee2395c39c9c7b622e437e1c74880409df0a3cfc3a44b066cc0efeaee8d1edb9349d26 +DIST vulkan-layers-1.3.296.0.tar.gz 5529046 BLAKE2B 42d321cff2cf7f6c0377b5deff298df60811026a4121dc3315610d53059e5db435494c138dfef5844d71e51536572bd8601dc496e88362f3c68ae0562680ac4f SHA512 457edee35a347456391c9b36bdf5d457f05210b6a8889d0623498582d3385bed474fbd7dae66406d20f70d96238ca752414eaa844b86b431ec7f8cf721d46d08 diff --git a/media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild b/media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild new file mode 100644 index 000000000000..c794a9e6533f --- /dev/null +++ b/media-libs/vulkan-layers/vulkan-layers-1.3.296.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=Vulkan-ValidationLayers +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake-multilib python-any-r1 + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git" + EGIT_SUBMODULES=() + inherit git-r3 +else + SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/vulkan-sdk-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86" + S="${WORKDIR}"/${MY_PN}-vulkan-sdk-${PV} +fi + +DESCRIPTION="Vulkan Validation Layers" +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-ValidationLayers" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="wayland X" + +RDEPEND="~dev-util/spirv-tools-${PV}[${MULTILIB_USEDEP}]" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-cpp/robin-hood-hashing-3.11.5-r2 + ~dev-util/glslang-${PV}:=[${MULTILIB_USEDEP}] + ~dev-util/spirv-headers-${PV} + ~dev-util/vulkan-headers-${PV} + ~dev-util/vulkan-utility-libraries-${PV}:=[${MULTILIB_USEDEP}] + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) + X? ( + x11-libs/libX11:=[${MULTILIB_USEDEP}] + x11-libs/libXrandr:=[${MULTILIB_USEDEP}] + ) +" + +QA_SONAME="/usr/lib[^/]*/libVkLayer_khronos_validation.so" + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG" + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" + -DCMAKE_SKIP_RPATH=ON + -DBUILD_WERROR=OFF + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) + -DBUILD_WSI_XCB_SUPPORT=$(usex X) + -DBUILD_WSI_XLIB_SUPPORT=$(usex X) + -DBUILD_TESTS=OFF + ) + cmake_src_configure +} + +multilib_src_install_all() { + find "${ED}" -type f -name \*.a -delete || die +} diff --git a/media-libs/vulkan-loader/Manifest b/media-libs/vulkan-loader/Manifest index 74ee71015fbb..a50167832bd5 100644 --- a/media-libs/vulkan-loader/Manifest +++ b/media-libs/vulkan-loader/Manifest @@ -1 +1,2 @@ DIST vulkan-loader-1.3.290.0.tar.gz 1711013 BLAKE2B 72c55f07537df0e0ad0fedb4a3b913cde9b6d5038370c0e92bf15ad9ee881f5910842a1b5ee00d370b93341aefbd141414b77e7ac8823d101a861829cd9f338b SHA512 42ecf05e498f6422cea9d6ef70df5a936536524c1ff4d8cb391b5c55dd409082a6b2fc2eee5b395306c782ca32a7344faceef3e5385b382fb5a7e6564cfce4b5 +DIST vulkan-loader-1.3.296.0.tar.gz 1719284 BLAKE2B 5e31e490b8e301ba7b8f0fe589e3056434701bac2897fe9b1b72651d7ac0268b9b63b72003664a30f20646c7c54987c75c765ab4e39fa994603ff56fea8be3fc SHA512 535b7f324348e9edf44ff6a6a6e9eabe6e3a4bfad79bef789d1dc0cbbe3de36b6495a05236323d155631b081b89c18bb8668c79d1f735b59fc85ebee555aa682 diff --git a/media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild b/media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild new file mode 100644 index 000000000000..87dd8a1239f1 --- /dev/null +++ b/media-libs/vulkan-loader/vulkan-loader-1.3.296.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=Vulkan-Loader +inherit flag-o-matic cmake-multilib toolchain-funcs + +if [[ ${PV} == *9999* ]]; then + EGIT_REPO_URI="https://github.com/KhronosGroup/${MY_PN}.git" + EGIT_SUBMODULES=() + inherit git-r3 +else + SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/vulkan-sdk-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv x86" + S="${WORKDIR}"/${MY_PN}-vulkan-sdk-${PV} +fi + +DESCRIPTION="Vulkan Installable Client Driver (ICD) Loader" +HOMEPAGE="https://github.com/KhronosGroup/Vulkan-Loader" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="layers wayland X" + +DEPEND=" + ~dev-util/vulkan-headers-${PV} + wayland? ( dev-libs/wayland:=[${MULTILIB_USEDEP}] ) + X? ( + x11-base/xorg-proto + x11-libs/libX11:=[${MULTILIB_USEDEP}] + x11-libs/libXrandr:=[${MULTILIB_USEDEP}] + ) +" +PDEPEND="layers? ( media-libs/vulkan-layers[${MULTILIB_USEDEP}] )" + +multilib_src_configure() { + # Integrated clang assembler doesn't work with x86 - Bug #698164 + if tc-is-clang && [[ ${ABI} == x86 ]]; then + append-cflags -fno-integrated-as + fi + + local mycmakeargs=( + -DCMAKE_C_FLAGS="${CFLAGS} -DNDEBUG" + -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" + -DCMAKE_SKIP_RPATH=ON + -DBUILD_TESTS=OFF + -DBUILD_WSI_WAYLAND_SUPPORT=$(usex wayland) + -DBUILD_WSI_XCB_SUPPORT=$(usex X) + -DBUILD_WSI_XLIB_SUPPORT=$(usex X) + -DVULKAN_HEADERS_INSTALL_DIR="${ESYSROOT}/usr" + ) + cmake_src_configure +} + +multilib_src_install() { + keepdir /etc/vulkan/icd.d + + cmake_src_install +} diff --git a/media-libs/vulkan-loader/vulkan-loader-9999.ebuild b/media-libs/vulkan-loader/vulkan-loader-9999.ebuild index 54f748200e95..837b7b745e47 100644 --- a/media-libs/vulkan-loader/vulkan-loader-9999.ebuild +++ b/media-libs/vulkan-loader/vulkan-loader-9999.ebui |