public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/
Date: Sun, 24 May 2020 20:25:11 +0000 (UTC)	[thread overview]
Message-ID: <1590351825.eaa562a9de31977fcf6f01360a21f7ef56058a9c.whissi@gentoo> (raw)

commit:     eaa562a9de31977fcf6f01360a21f7ef56058a9c
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sat May 23 23:08:38 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun May 24 20:23:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eaa562a9

media-libs/x265: bump to v3.3

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 media-libs/x265/Manifest        |   1 +
 media-libs/x265/x265-3.3.ebuild | 196 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 197 insertions(+)

diff --git a/media-libs/x265/Manifest b/media-libs/x265/Manifest
index 28249212eef..7fdf4137f63 100644
--- a/media-libs/x265/Manifest
+++ b/media-libs/x265/Manifest
@@ -5,3 +5,4 @@ DIST x265_3.1.2.tar.gz 1419864 BLAKE2B 1eeb210e58d6977f9a048b84e924d690868aa350b
 DIST x265_3.1.tar.gz 1419649 BLAKE2B b9151f136fdc6c0512f481af6c8d4d575ce4c75ef8891b42ca24ddfd1f4802bfe8cd47bb07dfc1834243560a8d36ddd5ca4d79d7b9f140fbd411b5b80ea6b8d4 SHA512 81905b6286a61fada7cb1632d7f8461295a28e8d53ccd53d3c26c60c7d8091df47a1b694de28caa721f632d66940f5ceeb44d3405dc3b079edd17d21c30e7a7d
 DIST x265_3.2.1.tar.gz 1426255 BLAKE2B 4184cfa290b36f497c5f3a5e3b597bf44e52dd20ba6af21c665d98709c9b984122a339d93aae572756a94549c0c1a293ee195c6c1d34902d298664ecf016f896 SHA512 5cb29b9d4475c1f686f6e31e47ccddde3db1639d5dcf9c058513389a9fdeb35a83b14e30e59498a76dec74bb0b410b6d8f5b1b45d18927be9811bb6a40d8d568
 DIST x265_3.2.tar.gz 1425689 BLAKE2B 58da4aa52381ec89b0aea1dc896fef92d9ec9fc781fd279acd0a338cd872f52482c81c558dde749c1205dbc13341a9851c381d01e2f312f5e2b4712d2242b7d3 SHA512 08c779026fe4c03797efef9d6a898b16c308355311e167c81b976345eb78039725a31294c77a60b76b4ef648d8720e16b2d6524e7108755531a5375231f5313e
+DIST x265_3.3.tar.gz 1438685 BLAKE2B 43806915c3b22fabff71c307dc53e9a3408262528f8ec01bf81168826eee26b468b0e68c738e3c0371f6de6121a3ac090bfaeed0cbfca0a3b8c57710d7f25ad0 SHA512 3d56900ecd58e83d2ecc93d956524e3b0e622dbe3c74a137c7b21f98599245547403401e9ec7f679996fd09fca788aa10272bf17e58a68fce449c8cb555ad7c0

diff --git a/media-libs/x265/x265-3.3.ebuild b/media-libs/x265/x265-3.3.ebuild
new file mode 100644
index 00000000000..ca3553d0293
--- /dev/null
+++ b/media-libs/x265/x265-3.3.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit cmake-utils multilib-minimal multilib multibuild flag-o-matic
+
+if [[ ${PV} = 9999* ]]; then
+	inherit mercurial
+	EHG_REPO_URI="https://bitbucket.org/multicoreware/x265"
+else
+	SRC_URI="https://bitbucket.org/multicoreware/x265/downloads/${PN}_${PV}.tar.gz"
+	KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="Library for encoding video streams into the H.265/HEVC format"
+HOMEPAGE="http://x265.org/"
+
+LICENSE="GPL-2"
+# subslot = libx265 soname
+SLOT="0/188"
+IUSE="+10bit +12bit cpu_flags_arm_neon numa pic power8 test"
+RESTRICT="!test? ( test )"
+
+ASM_DEPEND=">=dev-lang/yasm-1.2.0"
+RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	abi_x86_32? ( ${ASM_DEPEND} )
+	abi_x86_64? ( ${ASM_DEPEND} )"
+
+PATCHES=(
+	"${FILESDIR}/arm.patch"
+	"${FILESDIR}/neon.patch"
+	"${FILESDIR}/ppc64.patch"
+)
+
+src_unpack() {
+	if [[ ${PV} = 9999* ]]; then
+		mercurial_src_unpack
+		# Can't set it at global scope due to mercurial.eclass limitations...
+		export S=${WORKDIR}/${P}/source
+	else
+		unpack ${A}
+		export S="$(echo "${WORKDIR}/${PN}_"*"/source")"
+	fi
+}
+
+# By default, the library and the encoder is configured for only one output bit
+# depth. Meaning, one has to rebuild libx265 if (s)he wants to produce HEVC
+# files with a different bit depth, which is annoying. However, upstream
+# supports proper namespacing for 8bits, 10bits & 12bits HEVC and linking all
+# that together so that the resulting library can produce all three of them
+# instead of only one.
+# The API requires the bit depth parameter, so that libx265 can then chose which
+# variant of the encoder to use.
+# To achieve this, we have to build one (static) library for each non-main
+# variant, and link it into the main library.
+# Upstream documents using the 8bit variant as main library, hence we do not
+# allow disabling it: "main" *MUST* come last in the following list.
+
+x265_get_variants() {
+	local variants=""
+	use 12bit && variants+="main12 "
+	use 10bit && variants+="main10 "
+	variants+="main"
+	echo "${variants}"
+}
+
+x265_variant_src_configure() {
+	mkdir -p "${BUILD_DIR}" || die
+	pushd "${BUILD_DIR}" >/dev/null || die
+
+	local mycmakeargs=( "${myabicmakeargs[@]}" )
+	case "${MULTIBUILD_VARIANT}" in
+		"main12")
+			mycmakeargs+=(
+				-DHIGH_BIT_DEPTH=ON
+				-DEXPORT_C_API=OFF
+				-DENABLE_SHARED=OFF
+				-DENABLE_CLI=OFF
+				-DMAIN12=ON
+			)
+			if [[ ${ABI} = x86 ]] ; then
+				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+			fi
+			if [[ ${ABI} = arm ]] ; then
+				# 589674
+				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+			fi
+			if [[ ${ABI} = ppc64 ]] ; then
+				# https://bugs.gentoo.org/show_bug.cgi?id=607802#c5
+				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF )
+			fi
+			;;
+		"main10")
+			mycmakeargs+=(
+				-DHIGH_BIT_DEPTH=ON
+				-DEXPORT_C_API=OFF
+				-DENABLE_SHARED=OFF
+				-DENABLE_CLI=OFF
+			)
+			if [[ ${ABI} = x86 ]] ; then
+				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+			fi
+			if [[ ${ABI} = arm ]] ; then
+				# 589674
+				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+			fi
+			if [[ ${ABI} = ppc64 ]] ; then
+				# https://bugs.gentoo.org/show_bug.cgi?id=607802#c5
+				mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF )
+			fi
+			;;
+		"main")
+			if (( "${#MULTIBUILD_VARIANTS[@]}" > 1 )) ; then
+				local myvariants=( "${MULTIBUILD_VARIANTS[@]}" )
+				unset myvariants[${#MULTIBUILD_VARIANTS[@]}-1]
+				local liblist=""
+				for v in "${myvariants[@]}" ; do
+					ln -s "${BUILD_DIR%-*}-${v}/libx265.a" "libx265_${v}.a" ||	die
+					liblist+="libx265_${v}.a;"
+				done
+				mycmakeargs+=(
+					-DEXTRA_LIB="${liblist}"
+					-DEXTRA_LINK_FLAGS=-L.
+					-DLINKED_10BIT=$(usex 10bit)
+					-DLINKED_12BIT=$(usex 12bit)
+				)
+			fi
+			;;
+		*)
+			die "Unknown variant: ${MULTIBUILD_VARIANT}";;
+	esac
+	cmake-utils_src_configure
+	popd >/dev/null || die
+}
+
+multilib_src_configure() {
+	append-cflags -fPIC
+	append-cxxflags -fPIC
+	local myabicmakeargs=(
+		$(cmake-utils_use_enable test TESTS)
+		$(multilib_is_native_abi || echo "-DENABLE_CLI=OFF")
+		-DENABLE_LIBNUMA=$(usex numa ON OFF)
+		-DCPU_POWER8=$(usex power8 ON OFF)
+		-DENABLE_ALTIVEC=$(usex power8 ON OFF)
+		-DLIB_INSTALL_DIR="$(get_libdir)"
+	)
+
+	if [[ ${ABI} = x86 ]] ; then
+		# Bug #528202
+		if use pic ; then
+			ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it."
+			myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+		fi
+	elif [[ ${ABI} = x32 ]] ; then
+		# bug #510890
+		myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
+	elif [[ ${ABI} = arm ]] ; then
+		myabicmakeargs+=( -DENABLE_ASSEMBLY=$(usex pic OFF $(usex cpu_flags_arm_neon ON OFF)) )
+		use cpu_flags_arm_neon && use pic && ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it."
+	fi
+
+	local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
+	multibuild_foreach_variant x265_variant_src_configure
+}
+
+multilib_src_compile() {
+	local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
+	multibuild_foreach_variant cmake-utils_src_compile
+}
+
+x265_variant_src_test() {
+	if [ -x "${BUILD_DIR}/test/TestBench" ] ; then
+		"${BUILD_DIR}/test/TestBench" || die
+	else
+		einfo "Unit tests check only assembly."
+		einfo "You do not seem to have any for ABI=${ABI}, x265 variant=${MULTIBUILD_VARIANT}"
+		einfo "Skipping tests."
+	fi
+}
+
+multilib_src_test() {
+	local MULTIBUILD_VARIANTS=( $(x265_get_variants) )
+	multibuild_foreach_variant x265_variant_src_test
+}
+
+multilib_src_install() {
+	# Install only "main" variant since the others are already linked into it.
+	local MULTIBUILD_VARIANTS=( "main" )
+	multibuild_foreach_variant cmake-utils_src_install
+}
+
+multilib_src_install_all() {
+	dodoc -r "${S}/../doc/"*
+}


             reply	other threads:[~2020-05-24 20:25 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-24 20:25 Thomas Deutschmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-22 11:08 [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/ Sam James
2024-08-26  7:15 Sam James
2024-08-25 15:44 Sam James
2024-03-18  7:20 Sam James
2024-03-18  7:20 Sam James
2023-12-21 16:01 Arthur Zamarin
2023-12-21 15:15 Sam James
2023-12-21 14:12 Arthur Zamarin
2023-12-21 14:12 Arthur Zamarin
2023-12-21 12:56 Sam James
2023-12-21 11:55 Sam James
2023-12-21  9:57 Sam James
2023-03-25  3:32 Sam James
2023-03-10  7:45 Sam James
2023-03-03  6:28 Viorel Munteanu
2022-11-28  7:58 WANG Xuerui
2022-11-12 17:48 Matt Turner
2022-03-09 23:46 Sam James
2022-02-20  9:14 Agostino Sarubbo
2022-02-20  1:48 Sam James
2022-02-20  1:48 Sam James
2022-02-19 14:27 Jakov Smolić
2022-02-19 14:27 Jakov Smolić
2022-02-19  7:19 Arthur Zamarin
2022-02-19  3:38 Sam James
2022-02-19  3:38 Sam James
2021-10-06  1:02 Sam James
2021-09-25  3:43 Ionen Wolkens
2021-08-03  7:35 Alexis Ballier
2020-09-07  8:47 Sergei Trofimovich
2020-09-07  8:20 Sergei Trofimovich
2020-09-06  7:49 Sergei Trofimovich
2020-09-04  4:54 Sam James
2020-09-04  0:21 Sam James
2020-09-04  0:21 Sam James
2020-09-03 14:38 Thomas Deutschmann
2020-08-25 12:37 Alexis Ballier
2020-06-08 19:34 Georgy Yakovlev
2020-06-08 18:23 Georgy Yakovlev
2020-06-07 23:24 Georgy Yakovlev
2020-06-07 12:42 Alexis Ballier
2020-06-05 15:21 Alexis Ballier
2020-06-05 15:21 Alexis Ballier
2020-05-25  5:11 Georgy Yakovlev
2020-05-25  5:11 Georgy Yakovlev
2020-05-24 20:59 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-05-24 20:25 Thomas Deutschmann
2020-01-20 17:43 Alexis Ballier
2019-12-29 19:34 Mike Gilbert
2019-10-04 17:28 Alexis Ballier
2019-09-29  2:56 Mike Gilbert
2019-08-26 15:33 Alexis Ballier
2019-07-02 17:13 Alexis Ballier
2019-05-05 19:05 Mike Gilbert
2019-02-06 13:56 Alexis Ballier
2018-11-11 22:58 Andreas Sturmlechner
2018-10-15 18:12 Markus Meier
2018-10-11 16:28 Alexis Ballier
2018-10-07 21:27 Matt Turner
2018-10-07 21:27 Matt Turner
2018-10-06 22:08 Sergei Trofimovich
2018-10-01  0:07 Thomas Deutschmann
2018-09-30 21:38 Sergei Trofimovich
2018-09-28  8:01 Mikle Kolyada
2018-06-19 13:41 Alexis Ballier
2018-04-18 13:12 Mikle Kolyada
2018-04-12 14:43 Sergei Trofimovich
2018-04-03  6:26 Sergei Trofimovich
2018-02-25 18:21 Thomas Deutschmann
2018-02-24 11:06 Sergei Trofimovich
2018-02-24  7:20 Jason Zaman
2018-02-23 23:17 Sergei Trofimovich
2018-02-22 13:40 Alexis Ballier
2018-02-22 13:40 Alexis Ballier
2017-12-09 18:41 Craig Andrews
2017-11-30 13:57 Alexis Ballier
2017-08-31 12:37 Tim Harder
2017-08-31 12:37 Tim Harder
2017-07-16 12:17 Alexis Ballier
2017-07-16 12:17 Alexis Ballier
2017-06-17 15:08 Sergei Trofimovich
2017-06-17 15:08 Sergei Trofimovich
2017-06-16  9:36 Alexis Ballier
2017-06-16  9:36 Alexis Ballier
2017-04-23 15:12 Alexis Ballier
2017-03-12 11:39 Alexis Ballier
2017-02-24  8:30 Michael Weber
2017-02-17 11:10 Alexis Ballier
2017-02-16  5:00 Alexis Ballier
2017-02-07 11:51 Alexis Ballier
2017-02-07 11:51 Alexis Ballier
2017-02-04 15:21 Agostino Sarubbo
2017-02-04 12:12 Jeroen Roovers
2017-01-04 12:08 Alexis Ballier
2017-01-01 12:43 Agostino Sarubbo
2016-12-26 16:45 Alexis Ballier
2016-09-27 10:25 Alexis Ballier
2016-02-03 20:40 Markus Meier
2016-01-29 19:00 Alexis Ballier
2016-01-27 15:06 Jeroen Roovers
2016-01-25 10:25 Agostino Sarubbo
2016-01-25 10:25 Agostino Sarubbo
2015-11-08  7:22 Jeroen Roovers
2015-10-16  5:17 Jeroen Roovers
2015-10-15 16:40 Alexis Ballier
2015-10-15 14:41 Alexis Ballier
2015-10-15 14:28 Alexis Ballier
2015-10-15 14:13 Alexis Ballier
2015-10-11 11:48 Alexis Ballier
2015-10-11 11:29 Alexis Ballier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1590351825.eaa562a9de31977fcf6f01360a21f7ef56058a9c.whissi@gentoo \
    --to=whissi@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox