public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alexis Ballier" <aballier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/
Date: Mon, 26 Aug 2019 15:33:59 +0000 (UTC)	[thread overview]
Message-ID: <1566833634.b2ec483688f1a28df945e5c220330da2f96ecc21.aballier@gentoo> (raw)

commit:     b2ec483688f1a28df945e5c220330da2f96ecc21
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 26 15:33:36 2019 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Mon Aug 26 15:33:54 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2ec4836

media-libs/x265: bump to 3.1.2

Package-Manager: Portage-2.3.73, Repoman-2.3.17
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

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

diff --git a/media-libs/x265/Manifest b/media-libs/x265/Manifest
index 2d278838d13..c1987c739fd 100644
--- a/media-libs/x265/Manifest
+++ b/media-libs/x265/Manifest
@@ -1,4 +1,5 @@
 DIST x265_2.8.tar.gz 1379551 BLAKE2B c124864a08492739cdde89e44d72c84ad94a0b236d2c59d995e53a26d1a5fb9ec1557a03640a3065a727be69bfb0c0633b50351dc875c9706a1550f488c8ee24 SHA512 c2a8eaec64aa022badcbcd2a96304a9abd9d08489300b6a9c4c9d76066f3d9848e6948238c84ae16ea91bff0b2fac528a67ee29950d94dcd0ea7c0e9e7baa714
 DIST x265_2.9.tar.gz 1385848 BLAKE2B ff14eba55cea0646ad0ffc12f9032c9033d23c9d805939fc3a049911ebae459eee097349f074dcd224bef97d6140dbc37ee9bd3db54c5473b158e135784d2179 SHA512 270818c7fd84947fde371e32bef225c1880cfb0bcd95378d95b51f50577a134d7cd585fcdfa43b103a24d76c5ad826b09509a07eb9e208e8f2b56f2f77365cf3
 DIST x265_3.0.tar.gz 1398519 BLAKE2B e3ac28b01e89ce8a428f294c759644a8177e1b79941aba5e1b53033c236e3445f9afeea96f8adf7e5cdcfff8c790ca9fcadcc8b2de6c31ba3fe9ba87321a8ca8 SHA512 bb7665194ddd4bccbb91c16337463ad4ef32111a1e7779e4cc16964df0992aa99e578cb74fef0edbf41119105e4085574247f60541b0558cc36730ea12d2c6ba
+DIST x265_3.1.2.tar.gz 1419864 BLAKE2B 1eeb210e58d6977f9a048b84e924d690868aa350b6e736f577b5c1a62b9c5b71cfb2b03f004f26839ea44b9db871313bc9888af95999a576dcc167e79d297c61 SHA512 00fc2d8460657c0d2edcc54fd8c4521785c632f8811b74d0cd0a3efa0f06f1fb8cdd6233ad4917c1f40b3c1f1660a6c97ad947e656b7c3e9a51f8ae84afef65a
 DIST x265_3.1.tar.gz 1419649 BLAKE2B b9151f136fdc6c0512f481af6c8d4d575ce4c75ef8891b42ca24ddfd1f4802bfe8cd47bb07dfc1834243560a8d36ddd5ca4d79d7b9f140fbd411b5b80ea6b8d4 SHA512 81905b6286a61fada7cb1632d7f8461295a28e8d53ccd53d3c26c60c7d8091df47a1b694de28caa721f632d66940f5ceeb44d3405dc3b079edd17d21c30e7a7d

diff --git a/media-libs/x265/x265-3.1.2.ebuild b/media-libs/x265/x265-3.1.2.ebuild
new file mode 100644
index 00000000000..599c1341251
--- /dev/null
+++ b/media-libs/x265/x265-3.1.2.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2019 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/176"
+IUSE="+10bit +12bit cpu_flags_arm_neon numa pic power8 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:[~2019-08-26 15:34 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-26 15:33 Alexis Ballier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-28 15:07 [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/ Arthur Zamarin
2024-11-25 23:34 Sam James
2024-11-24 11:02 Sam James
2024-11-23 17:19 Sam James
2024-11-23 16:44 Michał Górny
2024-09-22 11:08 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-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-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=1566833634.b2ec483688f1a28df945e5c220330da2f96ecc21.aballier@gentoo \
    --to=aballier@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