commit:     5a1d55a8b08d254bb337e8b0615cfcbf2d4eabbd
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 12 16:59:41 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Sep 12 17:00:05 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a1d55a8

media-libs/lcms: fix configure tests with Clang 15

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/lcms-2.13.1-clang-15-configure.patch     | 29 +++++++++++
 media-libs/lcms/lcms-2.13.1-r1.ebuild              | 58 ++++++++++++++++++++++
 2 files changed, 87 insertions(+)

diff --git a/media-libs/lcms/files/lcms-2.13.1-clang-15-configure.patch 
b/media-libs/lcms/files/lcms-2.13.1-clang-15-configure.patch
new file mode 100644
index 000000000000..e723d1f4b3c7
--- /dev/null
+++ b/media-libs/lcms/files/lcms-2.13.1-clang-15-configure.patch
@@ -0,0 +1,29 @@
+https://github.com/mm2/Little-CMS/pull/338
+
+From 61493b49b91740a84dea61b72a8ce7dc40afa766 Mon Sep 17 00:00:00 2001
+From: Sam James <s...@gentoo.org>
+Date: Mon, 12 Sep 2022 17:56:31 +0100
+Subject: [PATCH] configure.ac: fix configure tests broken with Clang 15
+ (-Wimplicit-int)
+
+Clang 15 makes -Wimplicit-int an error by default.
+
+Before this fix, configure would think SSE2 support is not present
+when it is:
+```
+checking whether compiler supports SSE2... no
+```
+
+Signed-off-by: Sam James <s...@gentoo.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -212,7 +212,7 @@ AC_LANG_PUSH([C])
+ AC_MSG_CHECKING([whether compiler supports SSE2])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+     #include <emmintrin.h>
+-    main() { __m128i n = _mm_set1_epi8(42); }]])],
++    int main() { __m128i n = _mm_set1_epi8(42); }]])],
+   [ac_compiler_supports_sse2=yes], [ac_compiler_supports_sse2=no])
+ AC_MSG_RESULT([$ac_compiler_supports_sse2])
+ AS_IF([test "x$ac_compiler_supports_sse2" != "xyes"],
+

diff --git a/media-libs/lcms/lcms-2.13.1-r1.ebuild 
b/media-libs/lcms/lcms-2.13.1-r1.ebuild
new file mode 100644
index 000000000000..b75acfc8ad46
--- /dev/null
+++ b/media-libs/lcms/lcms-2.13.1-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="A lightweight, speed optimized color management engine"
+HOMEPAGE="http://www.littlecms.com/";
+SRC_URI="https://github.com/mm2/Little-CMS/releases/download/lcms${PV}/${PN}2-${PV}.tar.gz";
+S="${WORKDIR}/lcms2-${PV}"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc jpeg static-libs test +threads tiff zlib"
+REQUIRED_USE="tiff? ( zlib )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
+       tiff? ( >=media-libs/tiff-4.0.3-r6:=[${MULTILIB_USEDEP}] )
+       zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.13.1-fix-configure-bashisms.patch
+       "${FILESDIR}"/${PN}-2.13.1-clang-15-configure.patch
+)
+
+src_prepare() {
+       default
+
+       # TODO: Swap back to elibtoolize once dropped eautoreconf (for bashism 
patch)
+       # for Prefix/Solaris
+       #elibtoolize
+       eautoreconf
+}
+
+multilib_src_configure() {
+       local myeconfargs=(
+               $(use_with jpeg)
+               $(use_enable static-libs static)
+               $(use_with threads)
+               $(use_with tiff)
+               $(use_with zlib)
+       )
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_install_all() {
+       find "${ED}" -type f -name "*.la" -delete || die
+
+       use doc && dodoc doc/*.pdf
+}

Reply via email to