diff options
author | Sergey Torokhov <torokhov-s-a@yandex.ru> | 2022-07-13 22:36:56 +0300 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-07-14 03:45:54 +0100 |
commit | c46124b30e8e1c5d9ce6a9f017c024116c34c5af (patch) | |
tree | 04f9160e5946577a5428231c4d27d140ac5e6e66 /media-libs/babl | |
parent | media-libs/libmtp: fix -fuse-ld filtering (diff) | |
download | gentoo-c46124b30e8e1c5d9ce6a9f017c024116c34c5af.tar.gz gentoo-c46124b30e8e1c5d9ce6a9f017c024116c34c5af.tar.bz2 gentoo-c46124b30e8e1c5d9ce6a9f017c024116c34c5af.zip |
media-libs/babl: 0.1.92-r1. Fix universal_nonlinear_rgb_u8_converter_sse2
Thanks-to: Alexander Bezrukov <phmagic@mail.ru>
Closes: https://bugs.gentoo.org/857708
Signed-off-by: Sergey Torokhov <torokhov-s-a@yandex.ru>
Closes: https://github.com/gentoo/gentoo/pull/26393
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/babl')
-rw-r--r-- | media-libs/babl/babl-0.1.92-r1.ebuild | 68 | ||||
-rw-r--r-- | media-libs/babl/files/babl-0.1.92_universal_nonlinear_rgb_u8_converter_sse2.patch | 17 |
2 files changed, 85 insertions, 0 deletions
diff --git a/media-libs/babl/babl-0.1.92-r1.ebuild b/media-libs/babl/babl-0.1.92-r1.ebuild new file mode 100644 index 000000000000..b3532109b4db --- /dev/null +++ b/media-libs/babl/babl-0.1.92-r1.ebuild @@ -0,0 +1,68 @@ +# Copyright 1999-2022 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://ftp.gimp.org/pub/${PN}/${PV:0:3}/${P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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.32:= ) + lcms? ( >=media-libs/lcms-2.8:2 ) +" +DEPEND="${RDEPEND}" + +PATCHES=( + "${FILESDIR}/${P}_universal_nonlinear_rgb_u8_converter_sse2.patch" # Bug 857708 +) + +src_prepare() { + default + gnome2_environment_reset + + sed -i -e 's/Description/description/' meson.build || die # bug 843266 +} + +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 +} diff --git a/media-libs/babl/files/babl-0.1.92_universal_nonlinear_rgb_u8_converter_sse2.patch b/media-libs/babl/files/babl-0.1.92_universal_nonlinear_rgb_u8_converter_sse2.patch new file mode 100644 index 000000000000..79ff6ab7843a --- /dev/null +++ b/media-libs/babl/files/babl-0.1.92_universal_nonlinear_rgb_u8_converter_sse2.patch @@ -0,0 +1,17 @@ +Fix alignment of vector of floats in babl-rgb-converter.c +Bug: https://bugs.gentoo.org/857708 +Signed-off-by: Alexander Bezrukov <phmagic@mail.ru> + +diff -ur a/babl/base/babl-rgb-converter.c b/babl/base/babl-rgb-converter.c +--- a/babl/base/babl-rgb-converter.c ++++ b/babl/base/babl-rgb-converter.c +@@ -306,7 +306,8 @@ + uint8_t *rgb_in_u8 = (void*)src_char; + uint8_t *rgb_out_u8 = (void*)dst_char; + +- float rgba_out[4*samples]; ++ // The alignment is necessary for SIMD intrinsics in babl_matrix_mul_vectorff_buf4_sse2() ++ float __attribute__ ((aligned (16))) rgba_out[4*samples]; + + for (i = 0; i < samples; i++) + { |