From a1c55a7e2f400a6170fd3df167bfdc299c05e2db Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 24 Feb 2023 21:49:24 +0000 Subject: gentoo auto-resync : 24:02:2023 - 21:49:24 --- media-libs/Manifest.gz | Bin 68219 -> 68218 bytes media-libs/aalib/Manifest | 4 +- media-libs/aalib/aalib-1.4_rc5-r10.ebuild | 68 +++ media-libs/aalib/aalib-1.4_rc5-r9.ebuild | 4 +- .../files/aalib-1.4_rc5-free-offset-pointer.patch | 14 + media-libs/babl/Manifest | 2 + media-libs/babl/babl-0.1.100.ebuild | 69 +++ media-libs/gegl/Manifest | 4 +- media-libs/gegl/gegl-0.4.42.ebuild | 171 ++++++++ media-libs/gegl/gegl-9999.ebuild | 3 +- media-libs/mesa/Manifest | 4 + media-libs/mesa/mesa-22.3.6.ebuild | 465 +++++++++++++++++++++ media-libs/mesa/mesa-23.0.0.ebuild | 465 +++++++++++++++++++++ 13 files changed, 1268 insertions(+), 5 deletions(-) create mode 100644 media-libs/aalib/aalib-1.4_rc5-r10.ebuild create mode 100644 media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch create mode 100644 media-libs/babl/babl-0.1.100.ebuild create mode 100644 media-libs/gegl/gegl-0.4.42.ebuild create mode 100644 media-libs/mesa/mesa-22.3.6.ebuild create mode 100644 media-libs/mesa/mesa-23.0.0.ebuild (limited to 'media-libs') diff --git a/media-libs/Manifest.gz b/media-libs/Manifest.gz index b371e950e9ca..bfc220c834c2 100644 Binary files a/media-libs/Manifest.gz and b/media-libs/Manifest.gz differ diff --git a/media-libs/aalib/Manifest b/media-libs/aalib/Manifest index 3b872b2f100f..aab9955aae08 100644 --- a/media-libs/aalib/Manifest +++ b/media-libs/aalib/Manifest @@ -2,9 +2,11 @@ AUX aalib-1.4_rc4-gentoo.patch 1245 BLAKE2B 59451b7cad10881b27d5eb13211106c278d8 AUX aalib-1.4_rc4-m4.patch 241 BLAKE2B 0fc63b7936334bfa171cdafdb0d8813ce499d3dfe29f32b59e8ca1873d5ca55f1154a3f2e1aa5c187b5ea8f5c138c60992378b4e7ba8e1fb4e646bd6ea85200d SHA512 bea8e769596ec8d529d67a2b6081d2a7c1e47d9089551a31356f8b15a4dbfd36fdc97839754ef188621d8870628707b274f2183cebffc219ea0f3784fa12d8f1 AUX aalib-1.4_rc5-fix-aarender.patch 1354 BLAKE2B e9456d951d0ac69685dc79243d1f17abbc304acbe247390a832208c5d9ea691ace9383dd0ce34b8edad254d95857ed729db6f26f16dc82765542981a3f73ef00 SHA512 4e30144ce0df3e1f063fc1bef34690ffc88719f3f52fa62f25f4d2e28a22b59713b5ea23f14c07f0fec5b3988a093572b3e9886ef052cbba48a028f84eb84588 AUX aalib-1.4_rc5-fix-protos.patch 2105 BLAKE2B 4b701691a61a400a52a7ab7cdc213f0e47bb47c7f7d5f72ea862b7744641df5b510b434e85f0b5bfcc2c88f864ee6d651441d41571283661a9008018068c7e0c SHA512 e46268f5fb972500851f5489cc6311171a07a8b1a7a564bdafe5760008db72787650ad74e5144cbdb30b7fef027ee646e5534dd2eabddbd057bef1b27229af37 +AUX aalib-1.4_rc5-free-offset-pointer.patch 404 BLAKE2B dee15643e51c9d6c481215b5d8135a3e0b31ebb061432fc36bd6d45992b36cd767aa44d262d8ebfd7ca8c600b9418843eb384d4c3ed4de5255df39c6b177ce24 SHA512 57d92c401057cd5ba8e034378ab137d1eff777dfaf51bde4281bb4882459b2e47d374f20b7520ca0b0d17371cb0942de75d9faca16a56aab7f47dfa0ac7b3c72 AUX aalib-1.4_rc5-key-down-OOB.patch 504 BLAKE2B 1742e3d22889e7faabaf0fcacecc7db4dff4d126361f02d0311e11a93a2a1445de78f1e5a38cb43860bee1809c8350829715b843b52f7354f2ffe22cd21e7e1a SHA512 e3a79459024e25180b5407b92031c1b675659038289daff5a62485a01dc79afd8223652f9bd3e521a975158ecaa8210e35e536dfe3719259f2631a87d83e19b7 AUX aalib-1.4_rc5-more-protos.patch 1499 BLAKE2B abf425195f87f83dc019ded382c365f1f780c37f5d5282c27985ef064e53221d369974c3147634b1bfb1af6df7232088a71fdd12230e587c475c5817180a602c SHA512 c2b723af88a0ca70505086bc7436e5c213d2f52698b293392be2a6b18ef26ef285a09e460577a4a60b328df45b1d61c50064f3ba1f3df43a844082f2c5da25b2 AUX aalib-1.4_rc5-tinfo.patch 709 BLAKE2B fb7dd0eb1e39046c66de0466b0411f97fa948d9da03719fcd759a7331c7da0a6cfcba92353ef5363cf651501d73ce4fd29a5baf94897f10f0518284ebb4db10c SHA512 2abab613af549f4c24f7d617cf65de773e7850ec8485dfa23de2405ed59cf14f7cb70c2f1b701e27ae541e5f75302f4d28c3f866303bfc901a96074c9d9d534b DIST aalib-1.4rc5.tar.gz 391028 BLAKE2B fd527716c0484d45fa3b75712a24301bd485fab8191ac1d5c6d35f8af093a00e11f0f8d2797ddcc32f4d87a39649fd50145dcc557e5ba98e67336cff2bb79002 SHA512 3e4506eccce3b81ccbbb79a4a1b90abd39e2259e6043fde90f70b9ca279bd4c37758a047167267b97c4ec92f64fb17c7c8f548114f0d0c6e78ddb9463b5f1299 -EBUILD aalib-1.4_rc5-r9.ebuild 1948 BLAKE2B 201794aa10275d9f503dd3ea21df8ccd0b252cdd627d62442177976ab12cc55f44dcd9b6d1e4344e79f3caf4d6d8a42e237d944d567419d2fa3ea1b0516ebc04 SHA512 30d0b14f423481a0a987164e7e63923a40cd0a952285281f7ebd25bd9ec5b5fa474af497e3069d91073af5293da4e01689a7e526ee7a7ba43b7ff53cf3e3b104 +EBUILD aalib-1.4_rc5-r10.ebuild 1943 BLAKE2B 1c52e7e4ba10479137e4132b34a2762867cd41bf817670eedf20ac492a19371d5e739660f6bec5c92976285f2c92842f7addada1cfce63e7215fffdc555427f6 SHA512 e5ffdeae8e0cedec1b856a638eda8bc72888b3379c77d6c9015d469224fda05af1dec8ef539286c15acfb8cbd5fd6219b8049f3dc866ddad246db522b3ffdb20 +EBUILD aalib-1.4_rc5-r9.ebuild 1949 BLAKE2B 83585440398d08ba7905f6b8e716c92f3c111b281f00f6194e413f0c5064448946324d04441af427c5c804f4365e6b0bb0f1c9f34e0ee30a9edcf4252a7c1e5e SHA512 b533c7d386c1aaf72484b7cdd6262b3bfe7234c87e5c803a0a7e220cd12543f0bdf5ebaf07cbaab399d6cf2970ea01576a3d36994ac655999f4060dddd4f400a MISC metadata.xml 410 BLAKE2B 2f08a7a6bcc149aafd7d9493ea4f87945b3c38fae8e79a80991fb8b23506b7c503d7a0f4c3acd815537a823b0f2f6f49d727d0d34d1476b988811acfa6e89905 SHA512 b35f23f666eb8225269db37aeadf96af19d464b3835933d8fbae839c574cff6ff71bc9553260e383a2a77ca798063eb2529452c99057c4fbd0a0c028ccf86cdd diff --git a/media-libs/aalib/aalib-1.4_rc5-r10.ebuild b/media-libs/aalib/aalib-1.4_rc5-r10.ebuild new file mode 100644 index 000000000000..366beee3347f --- /dev/null +++ b/media-libs/aalib/aalib-1.4_rc5-r10.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools multilib-minimal toolchain-funcs + +MY_P="${P/_/}" +S="${WORKDIR}/${PN}-1.4.0" + +DESCRIPTION="A ASCII-Graphics Library" +HOMEPAGE="https://aa-project.sourceforge.net/aalib/" +SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 +) + +DOCS=( ANNOUNCE AUTHORS ChangeLog NEWS README ) + +src_prepare() { + default + + sed -i -e 's:#include :#include :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() { + 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/aalib-1.4_rc5-r9.ebuild b/media-libs/aalib/aalib-1.4_rc5-r9.ebuild index 53a76ebdff1c..509be2da5485 100644 --- a/media-libs/aalib/aalib-1.4_rc5-r9.ebuild +++ b/media-libs/aalib/aalib-1.4_rc5-r9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ MY_P="${P/_/}" S="${WORKDIR}/${PN}-1.4.0" DESCRIPTION="A ASCII-Graphics Library" -HOMEPAGE="http://aa-project.sourceforge.net/aalib/" +HOMEPAGE="https://aa-project.sourceforge.net/aalib/" SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz" LICENSE="GPL-2" diff --git a/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch b/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch new file mode 100644 index 000000000000..3ae697e3189c --- /dev/null +++ b/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch @@ -0,0 +1,14 @@ +--- a/src/aarender.c ++++ b/src/aarender.c +@@ -63,10 +63,10 @@ void aa_renderpalette(aa_context * c, __ + errors[0] = calloc(1, (x2 + 5) * sizeof(int)); + if (errors[0] == NULL) + dither = AA_ERRORDISTRIB; +- errors[0] += 3; + errors[1] = calloc(1, (x2 + 5) * sizeof(int)); + if (errors[1] == NULL) + free(errors[0]), dither = AA_ERRORDISTRIB; ++ errors[0] += 3; + errors[1] += 3; + cur = 0; + } diff --git a/media-libs/babl/Manifest b/media-libs/babl/Manifest index ad40b7d4cfd8..fcb18f71b32e 100644 --- a/media-libs/babl/Manifest +++ b/media-libs/babl/Manifest @@ -1,4 +1,6 @@ +DIST babl-0.1.100.tar.xz 313808 BLAKE2B 068693717d6b9535b1e562d014350e7fb9e891cbb2aab54b6a146acb3c202c54add4b6599624e200c872f6fc44756b62c6e4daf06f806a03abbc5faee61f61a3 SHA512 19d2f656b2c758f7b4b5ac090c08689617db0eb8c304ef501ff002ca32e9ddd7eeb99d5d9aeaba79c34c4c551bda936f5a1b209fad20cd73db85b0ddea82f9da DIST babl-0.1.98.tar.xz 312516 BLAKE2B c12626e4b8127a5b2e17507e20cf6ce324834a58d64fa54b80fbe00ef2468d3d29c870d44a22f08f7e74404cf6f47321084c854a4ba017cf0c8c199d8210849f SHA512 33b2e3f8fbcd6602bb82d6242dd2911bb2232e69350f7a0e70e14b1472052e27b0e2a1fa6a2b6d0449fc9796353336e311c8d4007c532447cd61f95b684a3120 +EBUILD babl-0.1.100.ebuild 1972 BLAKE2B ce5bd512818ecd7d830b07f0112a8b60c4a9ad0f4f67fc5555934ecf50b7f91e1a78ac7cdfd95a7ff1fadf43c4f84161608be3c3041a30be314cf1e8cc5324e7 SHA512 98d6529f426ee91271c0d38b8e9f9a85058ba83dc1308806179efe7228a9dd8e3c4bbb713f04ee340c43ecc2dc4800c1866b8811522672aafc53b43b6b8a5c65 EBUILD babl-0.1.98.ebuild 1916 BLAKE2B f2448dfba8c3d8e7ecadd672c4dfff367188231cf6d029206e25a2238d9189f3a2183e12e6213fc8a788824a5b62bc6e856fa2691b7671ac005e5aa119f8ce2a SHA512 35fc9ed03e73b78cf7ef943263ec1b4f7dd33200fbdccd9df1925c3bcf8863d315a2b52f02c17ae85824cadadabf94079512a8ed5ba9eeaba59a9e7ab2524469 EBUILD babl-9999.ebuild 1768 BLAKE2B 06e15bedd34ca86198a759f664afd31fc6abf3609da2ea8f685b9c319c9a6ab58b1ba49d21a21f19a32e9d3fd084ab5228d80469fb2827f6b65fafd555832ba9 SHA512 1ce5acb7bd4d2b9f2995628ab03833d05047463629456ba64f4d3f9af6b85929a2127d5d8d5ed184a4986d833b18e43db9879a59e4657692d16eb24d0cb5b962 MISC metadata.xml 482 BLAKE2B b87a2ff4b72fc2aeed91042dd7b6a65032aa4608c7079fbc94c1d1f85e681bc446aa1fcad5f14cba510febe1430b290417cd498ff09c797ec8b28c84e6451e4e SHA512 3345414f92106c39f8364c1554e0325cfd45cbf94f84315d809bb305faf4093b3b971c79f7c32ea998a8fd0c6c9369c249ce10063a1521690a624860e20de995 diff --git a/media-libs/babl/babl-0.1.100.ebuild b/media-libs/babl/babl-0.1.100.ebuild new file mode 100644 index 000000000000..fa71efb6d66d --- /dev/null +++ b/media-libs/babl/babl-0.1.100.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2023 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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv -sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-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/gegl/Manifest b/media-libs/gegl/Manifest index 3bd3096e4eeb..1732cd0f2cf5 100644 --- a/media-libs/gegl/Manifest +++ b/media-libs/gegl/Manifest @@ -1,6 +1,8 @@ AUX gegl-0.4.40-libraw-0.21.patch 936 BLAKE2B af0030e4d069f75751cbe7d9eef2e2ea4b26c685a13ee1d15939f89993ec21ecb436a1914a724c3308c36b3290061dcf645dcfe39575ad704bc9f5d8b86a4b22 SHA512 5481f781594c868e5191fedb15fdcdd1deb32e7c1db3484c0331531e4f38d5cc34e8a0e8b157feb11d9e6598926a11bd220cfc009bad19379021892af97db836 AUX gegl-0.4.40-strict-prototypes.patch 2555 BLAKE2B a377756270ea1cae19a5d890305c1075144389937294c23ec0cff6454742551b6e3bba72bce97d429c39f56517451597a564a19805d2bc19fc08d675c2a9e558 SHA512 8e8e223414bbf8499b622213ac73bb4566cb6d1b4d982eb63785a79a45038392b36c30cb328a6e89ae218d40813479b0b7fbba6dd980f050055990832e51b2fd DIST gegl-0.4.40.tar.xz 5784744 BLAKE2B c4466a76ec4f7939161e9ead6980b8a701f3fc459c40c3de3e09caa688aae12fb1f4a9979ca82e95011437f229532ba07012590d00aeb97b610b69968faa454f SHA512 99ace5f1b916e56f31483b60a38f885d0e09652c834122390bba4439d9bb1a137d84770e1518187330c44f3491e53393cfb8802ba9ede20658e1c8122e798888 +DIST gegl-0.4.42.tar.xz 5787100 BLAKE2B 6ae3ec98e72b1057b9d84551f56b675edb511994a73979bfccf559e24d3d636ba915aab10d3b3a1b38989d69c63692d3f312c621819700332c8cc1a4b3e86875 SHA512 29ccd93faa6127b6a9b1180eeba47f1b6f9bc06da8a5c9d68315d7474b77ff19d1084a6f4e7b218666b355329b17bc562f5906a334aa2baf93840d7caa0adf57 EBUILD gegl-0.4.40-r1.ebuild 5056 BLAKE2B 70db81c565564ce7330f36d1435b7abd2c368ac5e967cdb684784537e1752cc2f95453826fdb30d01d93bec5f5a5a94a1fe78cf8e1c57579aef56326d20d0f2d SHA512 3ce0f2aac7baaa4d654d7eaef917ff6c94fa2a4eca16ace26be6423c23facefce5de1e14e82496b9b32c20d12574aab62a3093d328b04308746117b6832b3fcf -EBUILD gegl-9999.ebuild 4728 BLAKE2B eee2f69b1252c29c77a4b64e5b0e35b13153a579b6e3ca669232877678c935c22a90ef34ec630e30661ed6ad3664725204e07efb339910e0e27847fada96839e SHA512 2cfb14b0357749cb37bc193e2829ab8c2a3e34b18ec412c5f5e4233f57ab52d69dd4a64c736121af9baeb718d5f244406d5cb8f05b4583626abecc7282188467 +EBUILD gegl-0.4.42.ebuild 5036 BLAKE2B 83435d2c777534f13f75db6bbded832d94210624a529dd701854bc42ab5da641d6ba336bde4ff48e0f1f231ab726bd31be32a61d6237e0d642f3c6808d024d8d SHA512 bd752860e8817d5e07b4d3136e4b5c224dc4e70dfd40a7344e366ee2f4e03977bb8ba5e0b972914b072b496c006fb015da554c065d9c2e21538ad4946db3e7b2 +EBUILD gegl-9999.ebuild 4749 BLAKE2B f9c275c0ce0223df7af16be825474e687a6447dc78d19342a3cc90504a76aa3c98d65cf9609e6628e7d9fd650c99251be19c283c2f1fbe7be84571420a7096b6 SHA512 a7f6d89d928ce2e7850bbac75bc4af7d7c7d9e2a06724477c83281a4310418782ea340ec1caf9b7d904bc4dbbc3cae8e759a1031344cf7e5c1ec64801c7e69b8 MISC metadata.xml 761 BLAKE2B fa74f6ff5ae13c05793505d0a27b7bc8587748ad356fa4f3ec5b48bd2919c6197788ab02bdc02fbdbdfe2f376d93222b600e30915e50f4ee4643e973ce054d86 SHA512 8cf93e9c5130a017bb864144e88cd2a4f2eff17b5543514a3ca84066b90e394dda6ee64a5e49d8db3b48eb905df5eef815f3b2689bc2be9772a01dcd2cecad30 diff --git a/media-libs/gegl/gegl-0.4.42.ebuild b/media-libs/gegl/gegl-0.4.42.ebuild new file mode 100644 index 000000000000..89deb6434997 --- /dev/null +++ b/media-libs/gegl/gegl-0.4.42.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) +# 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 ~ia64 ~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.100[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-util/gtk-doc-am-1 + >=sys-devel/gettext-0.19.8 + >=sys-devel/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 ) + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.40-strict-prototypes.patch +) + +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 +} + +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/gegl/gegl-9999.ebuild b/media-libs/gegl/gegl-9999.ebuild index 95d76e51ce43..e0cc3086c9da 100644 --- a/media-libs/gegl/gegl-9999.ebuild +++ b/media-libs/gegl/gegl-9999.ebuild @@ -62,7 +62,8 @@ RDEPEND=" v4l? ( >=media-libs/libv4l-1.0.1 ) webp? ( >=media-libs/libwebp-0.5.0:= ) " -DEPEND="${RDEPEND}" +DEPEND="${RDEPEND} + x11-base/xorg-proto" BDEPEND=" ${PYTHON_DEPS} dev-lang/perl diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest index 84ea05941aad..adbd2b6bf43e 100644 --- a/media-libs/mesa/Manifest +++ b/media-libs/mesa/Manifest @@ -2,12 +2,16 @@ DIST mesa-22.2.5.tar.xz 16524904 BLAKE2B 5891e76e818dcd665ebac6dadbf223f38238020 DIST mesa-22.3.2.tar.xz 16988720 BLAKE2B 8fdadd77a7bcac1b0ba6955b452a89cf823650ad3296128b82471888da666a33407e6ea2784ccf3f49c04a34fecfcd6a172372828fd2200e74d7dcf97e9c5938 SHA512 32934dd23cfcd6165c365597d9a469da0b806b72ea98a200f499344c3b47815db3bf78875b4ea766d2d28d9c70b50c1615d2d3fcbfd4769447fe0a9d3b32951f DIST mesa-22.3.3.tar.xz 17009624 BLAKE2B 2d5381b21268ed616f0adf1f479958492d812ac9f4a5dbe96df0c37ac778fc24f8522bf13a1d8da9c8062b04e642b0929f3a376738c6ccd5442c98d39e241ec5 SHA512 dcf166bc7c80e6ad09337e0188219e5ea4bdc558bc4b4ca35ce30d5421568f6b5328e5508b3175a2696521214e466354d8652ade22468ce448d9f61d5709c8a1 DIST mesa-22.3.5.tar.xz 17069488 BLAKE2B a24e1c93d08e045e9a5d3b4105ed7190c621479494e778411048f96419c2acd9f2cd0278155db23d4bcfcc56cc71fca2602cf3eedac2ae5ce2afe5033a6e8017 SHA512 a4cad9b7e6501678fac279bd88a37e522633c7128afa8df04982f469c930e3557bb1d05b4b0f5ae16704d8d04e50c90a7489943a48861df17dd947704c329b85 +DIST mesa-22.3.6.tar.xz 17099008 BLAKE2B 36928135568129f21c87afd6c43af805096215d5922e52ec56fc8e562a88b45f3d556b285e80139ecb682071b8a6d0699d4a328c10d780c3fd736f7c821e4d01 SHA512 506fc69ace128504fe45b7ca0b6b1d1d2a33837d74bff7ae7310fef5100b162136ca77ee6a50745a5bda270d0b8cb1ee99ecc19190eddd83cc78039bd02b1bb7 DIST mesa-23.0.0-rc3.tar.xz 17427732 BLAKE2B dfa4f77b7e43ed505c6cb00806965fa4a809831888baa270f3f05bccdfa560fbd19d150fca68fba4b7653d284d72dcec6f016eea2ee36de589e5c4b875a121ef SHA512 adad86189ae27eb5cf89d7b6e0626a78f49f5a72cdea0f4eb59d76aae74c657251d07c3142c578e1e13edef73947d4807c25eebf9598b8a0e16a70c584916ce5 DIST mesa-23.0.0-rc4.tar.xz 17440412 BLAKE2B 879619965527a7e80edf05ef7431344590f4d67cc462bbce1db207420d7613e986ac96a504beabafa98cfab743ae18ca6d2d84bc2ae7feacbc11e72fb62a0438 SHA512 463dad021bffd1b6cae8eb540ea0f51da8753e5f5295f5d1ab6398ed6eb140ccef7ba62b458c099cc19a26d6dcb4b620280893425572fae75fe7e880d8e3a403 +DIST mesa-23.0.0.tar.xz 17492236 BLAKE2B f543856c9d85411c86b4ce28cfd412762726c60a3381c7e3f81f70479ff8c01a597279b6a18225b41db51cf5e8786f6955cd3127c8c3244422bc1bca4bc0dfa8 SHA512 127e2759a2a31cacd65a0891719ab7bb4a9188844022b4bccaebbedce9c550b9ccb160ad519178ea0d851c4bcb8f0f56febda248ed2ba82b5ddf804855e4694b EBUILD mesa-22.2.5.ebuild 12662 BLAKE2B e7fec8b5b563e96173125e559fe4bc8222e59f8371217a32a76768906fbe1a5cc6d13d4830ed37ba7eb8b07689f2d33970533a6db89a9f00926921da98c44fac SHA512 de9088f4d19d360be2516360da5b6fa21f2aa659b856f025917efe68dc5815c7bc3cea6f5d5957f562cc0cc15839fe9226d3a70ed69e90fbdfc043e89cd9e8c2 EBUILD mesa-22.3.2.ebuild 12462 BLAKE2B d43a4976f031cf9de1095665f70d2a4a6973ba29ee101412f088fa6246411aa35d73aebbcdcb24b413d14a7184980ce584b5061d3a626fcfa32049f13fd4f55e SHA512 593dbf8c3343ec14e8505b18f6883d709b22ec2e5b9d4b92dac9f4c7ca6b6dab9bc0ebcfc65eade4b1cb28211b92e73f64f0d4d1788482c7eb9d14804adb35b6 EBUILD mesa-22.3.3.ebuild 12462 BLAKE2B d43a4976f031cf9de1095665f70d2a4a6973ba29ee101412f088fa6246411aa35d73aebbcdcb24b413d14a7184980ce584b5061d3a626fcfa32049f13fd4f55e SHA512 593dbf8c3343ec14e8505b18f6883d709b22ec2e5b9d4b92dac9f4c7ca6b6dab9bc0ebcfc65eade4b1cb28211b92e73f64f0d4d1788482c7eb9d14804adb35b6 EBUILD mesa-22.3.5.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128 +EBUILD mesa-22.3.6.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128 +EBUILD mesa-23.0.0.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128 EBUILD mesa-23.0.0_rc3.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128 EBUILD mesa-23.0.0_rc4.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128 EBUILD mesa-9999.ebuild 12382 BLAKE2B 883a782e0d028cd6834b116a1f925a9ebe6caadc6b84e13ac4292bf01856b08d72a5abb9e1f3aa7f45ed79cf1fe99ad54b9f8504839816cc84785e559c2e1234 SHA512 05ae527c57274805e81b0bd73560bc11e4b0caadeafd4a2ad82d6c6737243411463e51ccdbcff38b594fbcc16b4a10b040b5fadbd4ae4d48124a95c9c2312128 diff --git a/media-libs/mesa/mesa-22.3.6.ebuild b/media-libs/mesa/mesa-22.3.6.ebuild new file mode 100644 index 000000000000..e85c95eeb1ec --- /dev/null +++ b/media-libs/mesa/mesa-22.3.6.ebuild @@ -0,0 +1,465 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit llvm meson-multilib python-any-r1 linux-info + +MY_P="${P/_/-}" + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="MIT" +SLOT="0" +RESTRICT="!test? ( test )" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm + lm-sensors opencl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa zink +zstd" + +REQUIRED_USE=" + d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) ) + vulkan? ( video_cards_radeonsi? ( llvm ) ) + vulkan-overlay? ( vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_radeonsi? ( llvm ) + xa? ( X ) + zink? ( vulkan ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + video_cards_radeonsi? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3[${MULTILIB_USEDEP}] + dev-libs/libclc + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + ) + zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling one than more slot +# simultaneously. +# +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 10. +# 3. Specify LLVM_MAX_SLOT, e.g. 9. +LLVM_MAX_SLOT="16" +LLVM_DEPSTR=" + || ( + sys-devel/llvm:16[${MULTILIB_USEDEP}] + sys-devel/llvm:15[${MULTILIB_USEDEP}] + ) + =dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") + vulkan? ( dev-util/glslang ) + wayland? ( dev-util/wayland-scanner ) +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +QA_WX_LOAD=" +x86? ( + usr/lib*/libglapi.so.0.0.0 + usr/lib*/libGLESv1_CM.so.1.1.0 + usr/lib*/libGLESv2.so.2.0.0 + usr/lib*/libGL.so.1.2.0 + usr/lib*/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +llvm_check_deps() { + local flags=${MULTILIB_USEDEP} + if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi + then + flags+=",llvm_targets_AMDGPU(-)" + fi + + if use opencl; then + has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1 + fi + has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]" +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_radeonsi && + ! use video_cards_v3d; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" + fi + fi + + if use opencl; then + if ! use video_cards_r600 && + ! use video_cards_radeonsi; then + ewarn "Ignoring USE=opencl since VIDEO_CARDS does not contain r600 or radeonsi" + fi + fi + + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_nouveau; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_r300 && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_nouveau; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + if use llvm; then + llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +multilib_src_configure() { + local emesonargs=() + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_intel || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + if use video_cards_freedreno || + use video_cards_lima || + use video_cards_panfrost || + use video_cards_v3d || + use video_cards_vc4 || + use video_cards_vivante; then + gallium_enable -- kmsro + fi + + gallium_enable -- swrast + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && \ + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + # opencl stuff + emesonargs+=( + -Dgallium-opencl="$(usex opencl icd disabled)" + ) + + if use vulkan; then + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + # In LLVM 16, we've switched to building LLVM with EH/RTTI disabled + # to match upstream defaults. Mesa requires being built the same way. + # https://bugs.gentoo.org/883955 + if [[ ${LLVM_SLOT} -ge 16 ]]; then + emesonargs+=( + -Dcpp_rtti=false + ) + fi + + emesonargs+=( + $(meson_use test build-tests) + -Dglx=$(usex X dri disabled) + -Dshared-glapi=enabled + -Ddri3=enabled + -Degl=enabled + -Dgbm=enabled + -Dglvnd=true + $(meson_feature gles1) + $(meson_feature gles2) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + --buildtype $(usex debug debug plain) + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-23.0.0.ebuild b/media-libs/mesa/mesa-23.0.0.ebuild new file mode 100644 index 000000000000..e85c95eeb1ec --- /dev/null +++ b/media-libs/mesa/mesa-23.0.0.ebuild @@ -0,0 +1,465 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit llvm meson-multilib python-any-r1 linux-info + +MY_P="${P/_/-}" + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="MIT" +SLOT="0" +RESTRICT="!test? ( test )" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lima nouveau panfrost v3d vc4 virgl vivante vmware" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm + lm-sensors opencl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa zink +zstd" + +REQUIRED_USE=" + d3d9? ( || ( video_cards_intel video_cards_r300 video_cards_r600 video_cards_radeonsi video_cards_nouveau video_cards_vmware ) ) + vulkan? ( video_cards_radeonsi? ( llvm ) ) + vulkan-overlay? ( vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_radeonsi? ( llvm ) + xa? ( X ) + zink? ( vulkan ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.110" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.8[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + video_cards_radeonsi? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3[${MULTILIB_USEDEP}] + dev-libs/libclc + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + ) + zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling one than more slot +# simultaneously. +# +# How to use it: +# 1. List all the working slots (with min versions) in ||, newest first. +# 2. Update the := to specify *max* version, e.g. < 10. +# 3. Specify LLVM_MAX_SLOT, e.g. 9. +LLVM_MAX_SLOT="16" +LLVM_DEPSTR=" + || ( + sys-devel/llvm:16[${MULTILIB_USEDEP}] + sys-devel/llvm:15[${MULTILIB_USEDEP}] + ) + =dev-python/mako-0.8.0[\${PYTHON_USEDEP}]") + vulkan? ( dev-util/glslang ) + wayland? ( dev-util/wayland-scanner ) +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +QA_WX_LOAD=" +x86? ( + usr/lib*/libglapi.so.0.0.0 + usr/lib*/libGLESv1_CM.so.1.1.0 + usr/lib*/libGLESv2.so.2.0.0 + usr/lib*/libGL.so.1.2.0 + usr/lib*/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +llvm_check_deps() { + local flags=${MULTILIB_USEDEP} + if use video_cards_r600 || use video_cards_radeon || use video_cards_radeonsi + then + flags+=",llvm_targets_AMDGPU(-)" + fi + + if use opencl; then + has_version "sys-devel/clang:${LLVM_SLOT}[${flags}]" || return 1 + fi + has_version "sys-devel/llvm:${LLVM_SLOT}[${flags}]" +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_radeonsi && + ! use video_cards_v3d; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, radeonsi, or v3d" + fi + fi + + if use opencl; then + if ! use video_cards_r600 && + ! use video_cards_radeonsi; then + ewarn "Ignoring USE=opencl since VIDEO_CARDS does not contain r600 or radeonsi" + fi + fi + + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_nouveau; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_r300 && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_nouveau; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + if use llvm; then + llvm_pkg_setup + fi + python-any-r1_pkg_setup +} + +multilib_src_configure() { + local emesonargs=() + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_intel || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_nouveau; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + if use video_cards_freedreno || + use video_cards_lima || + use video_cards_panfrost || + use video_cards_v3d || + use video_cards_vc4 || + use video_cards_vivante; then + gallium_enable -- kmsro + fi + + gallium_enable -- swrast + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && \ + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + # opencl stuff + emesonargs+=( + -Dgallium-opencl="$(usex opencl icd disabled)" + ) + + if use vulkan; then + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + # In LLVM 16, we've switched to building LLVM with EH/RTTI disabled + # to match upstream defaults. Mesa requires being built the same way. + # https://bugs.gentoo.org/883955 + if [[ ${LLVM_SLOT} -ge 16 ]]; then + emesonargs+=( + -Dcpp_rtti=false + ) + fi + + emesonargs+=( + $(meson_use test build-tests) + -Dglx=$(usex X dri disabled) + -Dshared-glapi=enabled + -Ddri3=enabled + -Degl=enabled + -Dgbm=enabled + -Dglvnd=true + $(meson_feature gles1) + $(meson_feature gles2) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "h264dec,h264enc,h265dec,h265enc,vc1dec" "") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + --buildtype $(usex debug debug plain) + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} -- cgit v1.2.3