From f87f55b75da5f2764efcf62961aa8f52934967da Mon Sep 17 00:00:00 2001 From: David Michael Date: Sat, 29 May 2021 09:01:23 -0400 Subject: [PATCH] media-libs/libjpeg-turbo: fix SIMD This adds CPU flags for each supported SIMD implementation. arm: neon ppc: altivec x86: 3dnow avx2 mmx sse2 MIPS also has mmi and dspr2 support, but Gentoo doesn't have flags for those. This also drops the obsolete x32 workaround, and it fixes assembler package detection to use BROOT. Closes: https://bugs.gentoo.org/792810 Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: David Michael --- .../libjpeg-turbo-2.1.0-r2.ebuild | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 media-libs/libjpeg-turbo/libjpeg-turbo-2.1.0-r2.ebuild diff --git a/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.0-r2.ebuild b/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.0-r2.ebuild new file mode 100644 index 00000000000..66d5f79e60f --- /dev/null +++ b/media-libs/libjpeg-turbo/libjpeg-turbo-2.1.0-r2.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake +inherit cmake-multilib java-pkg-opt-2 + +DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library" +HOMEPAGE="https://libjpeg-turbo.org/ https://sourceforge.net/projects/libjpeg-turbo/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz + mirror://gentoo/libjpeg8_8d-2.debian.tar.gz" + +LICENSE="BSD IJG ZLIB" +SLOT="0/0.2" +if [[ "$(ver_cut 3)" -lt 90 ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris ~x86-solaris" +fi +IUSE="cpu_flags_arm_neon cpu_flags_ppc_altivec cpu_flags_x86_3dnow cpu_flags_x86_avx2 cpu_flags_x86_mmx cpu_flags_x86_sse2 java static-libs" + +ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )" + +COMMON_DEPEND="!media-libs/jpeg:0 + !media-libs/jpeg:62" + +BDEPEND=">=dev-util/cmake-3.16.5 + amd64? ( ${ASM_DEPEND} ) + x86? ( ${ASM_DEPEND} ) + amd64-fbsd? ( ${ASM_DEPEND} ) + x86-fbsd? ( ${ASM_DEPEND} ) + amd64-linux? ( ${ASM_DEPEND} ) + x86-linux? ( ${ASM_DEPEND} ) + x64-macos? ( ${ASM_DEPEND} ) + x64-cygwin? ( ${ASM_DEPEND} )" + +DEPEND="${COMMON_DEPEND} + java? ( >=virtual/jdk-1.8:* )" + +RDEPEND="${COMMON_DEPEND} + java? ( >=virtual/jre-1.8:* )" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h ) + +src_prepare() { + local FILE + ln -snf ../debian/extra/*.c . || die + + for FILE in ../debian/extra/*.c; do + FILE=${FILE##*/} + cat >> CMakeLists.txt <> CMakeLists.txt <> CMakeLists.txt <