Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/x265/
Date: Sun, 24 May 2020 20:25:17
Message-Id: 1590351830.eba596db8a926adb18595549c89294ed0a1e929e.whissi@gentoo
1 commit: eba596db8a926adb18595549c89294ed0a1e929e
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 24 15:07:04 2020 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Sun May 24 20:23:50 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eba596db
7
8 media-libs/x265: rework assembly support
9
10 Closes: https://bugs.gentoo.org/681878
11 Package-Manager: Portage-2.3.99, Repoman-2.3.22
12 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
13
14 media-libs/x265/metadata.xml | 1 +
15 media-libs/x265/x265-3.3.ebuild | 66 ++++++++++++++++++++---------------------
16 2 files changed, 34 insertions(+), 33 deletions(-)
17
18 diff --git a/media-libs/x265/metadata.xml b/media-libs/x265/metadata.xml
19 index 22a07293b83..c585d553631 100644
20 --- a/media-libs/x265/metadata.xml
21 +++ b/media-libs/x265/metadata.xml
22 @@ -5,6 +5,7 @@
23 <email>media-video@g.o</email>
24 </maintainer>
25 <use>
26 + <flag name="asm">Enable x86_64 assembly optimizations.</flag>
27 <flag name="10bit">Add support for producing 10bits HEVC.</flag>
28 <flag name="12bit">Add support for producing 12bits HEVC.</flag>
29 <flag name="numa">Build with support for NUMA nodes.</flag>
30
31 diff --git a/media-libs/x265/x265-3.3.ebuild b/media-libs/x265/x265-3.3.ebuild
32 index 9fc0159bc00..f5c4fee6d97 100644
33 --- a/media-libs/x265/x265-3.3.ebuild
34 +++ b/media-libs/x265/x265-3.3.ebuild
35 @@ -19,15 +19,17 @@ HOMEPAGE="http://x265.org/ https://bitbucket.org/multicoreware/x265/wiki/Home"
36 LICENSE="GPL-2"
37 # subslot = libx265 soname
38 SLOT="0/188"
39 -IUSE="+10bit +12bit cpu_flags_arm_neon numa pic power8 test"
40 +IUSE="+asm +10bit +12bit cpu_flags_arm_neon numa pic power8 test"
41
42 # Test suite requires assembly support and is known to be broken
43 RESTRICT="test"
44
45 ASM_DEPEND=">=dev-lang/yasm-1.2.0"
46
47 -BDEPEND="abi_x86_32? ( ${ASM_DEPEND} )
48 - abi_x86_64? ( ${ASM_DEPEND} )"
49 +BDEPEND="asm? (
50 + abi_x86_32? ( ${ASM_DEPEND} )
51 + abi_x86_64? ( ${ASM_DEPEND} )
52 + )"
53
54 RDEPEND="numa? ( >=sys-process/numactl-2.0.10-r1[${MULTILIB_USEDEP}] )"
55
56 @@ -85,17 +87,6 @@ x265_variant_src_configure() {
57 -DENABLE_CLI=OFF
58 -DMAIN12=ON
59 )
60 - if [[ ${ABI} = x86 ]] ; then
61 - mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
62 - fi
63 - if [[ ${ABI} = arm ]] ; then
64 - # 589674
65 - mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
66 - fi
67 - if [[ ${ABI} = ppc64 ]] ; then
68 - # https://bugs.gentoo.org/show_bug.cgi?id=607802#c5
69 - mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF )
70 - fi
71 ;;
72 "main10")
73 mycmakeargs+=(
74 @@ -104,17 +95,6 @@ x265_variant_src_configure() {
75 -DENABLE_SHARED=OFF
76 -DENABLE_CLI=OFF
77 )
78 - if [[ ${ABI} = x86 ]] ; then
79 - mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
80 - fi
81 - if [[ ${ABI} = arm ]] ; then
82 - # 589674
83 - mycmakeargs+=( -DENABLE_ASSEMBLY=OFF )
84 - fi
85 - if [[ ${ABI} = ppc64 ]] ; then
86 - # https://bugs.gentoo.org/show_bug.cgi?id=607802#c5
87 - mycmakeargs+=( -DENABLE_ASSEMBLY=OFF -DENABLE_ALTIVEC=OFF )
88 - fi
89 ;;
90 "main")
91 if (( "${#MULTIBUILD_VARIANTS[@]}" > 1 )) ; then
92 @@ -146,7 +126,6 @@ multilib_src_configure() {
93 append-cxxflags -fPIC
94
95 local myabicmakeargs=(
96 - -DENABLE_TESTS=$(usex test ON OFF)
97 $(multilib_is_native_abi || echo "-DENABLE_CLI=OFF")
98 -DENABLE_LIBNUMA=$(usex numa ON OFF)
99 -DCPU_POWER8=$(usex power8 ON OFF)
100 @@ -154,18 +133,39 @@ multilib_src_configure() {
101 -DLIB_INSTALL_DIR="$(get_libdir)"
102 )
103
104 + local supports_asm=yes
105 +
106 if [[ ${ABI} = x86 ]] ; then
107 - # Bug #528202
108 - if use pic ; then
109 + if use asm && use pic ; then
110 + # Bug #528202
111 ewarn "PIC has been requested but x86 asm is not PIC-safe, disabling it."
112 - myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
113 + supports_asm=no
114 fi
115 elif [[ ${ABI} = x32 ]] ; then
116 - # bug #510890
117 - myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
118 + if use asm ; then
119 + # bug #510890
120 + ewarn "x32 ABI doesn't support asm"
121 + supports_asm=no
122 + fi
123 elif [[ ${ABI} = arm ]] ; then
124 - myabicmakeargs+=( -DENABLE_ASSEMBLY=$(usex pic OFF $(usex cpu_flags_arm_neon ON OFF)) )
125 - use cpu_flags_arm_neon && use pic && ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it."
126 + if use asm && use pic ; then
127 + ewarn "PIC has been requested but arm neon asm is not PIC-safe, disabling it."
128 + supports_asm=no
129 + elif use asm && use cpu_flags_arm_neon ; then
130 + supports_asm=yes
131 + elif use asm ; then
132 + supports_asm=no
133 + fi
134 + fi
135 +
136 + if [[ "${supports_asm}" = yes ]] && use asm ; then
137 + myabicmakeargs+=( -DENABLE_ASSEMBLY=ON )
138 +
139 + if multilib_is_native_abi ; then
140 + myabicmakeargs+=( -DENABLE_TESTS=$(usex test ON OFF) )
141 + fi
142 + else
143 + myabicmakeargs+=( -DENABLE_ASSEMBLY=OFF )
144 fi
145
146 local MULTIBUILD_VARIANTS=( $(x265_get_variants) )