<pre style='margin:0'>
Ken (kencu) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/95316b555098a78b9ae5e9fe70b2a47695e63218">https://github.com/macports/macports-ports/commit/95316b555098a78b9ae5e9fe70b2a47695e63218</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 95316b555098a78b9ae5e9fe70b2a47695e63218
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Jan 31 00:00:17 2021 -0800
<span style='display:block; white-space:pre;color:#404040;'> x265: use three part build
</span><span style='display:block; white-space:pre;color:#404040;'> replicates multilib.sh using MacPorts tcl commands
</span><span style='display:block; white-space:pre;color:#404040;'> default to highdepth if possible
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> at present, highdepth conflicts with universal
</span><span style='display:block; white-space:pre;color:#404040;'> although that might be fixable if we can see
</span><span style='display:block; white-space:pre;color:#404040;'> a way to do the multi-build-folder tweak such
</span><span style='display:block; white-space:pre;color:#404040;'> that the muniversal portgroup will be happy
</span>---
multimedia/x265/Portfile | 62 ++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 57 insertions(+), 5 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/x265/Portfile b/multimedia/x265/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8e1702ae70f..17c5562b4e1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/x265/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/x265/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,6 +33,8 @@ homepage https://www.videolan.org/developers/x265.html
</span> github.tarball_from archive
worksrcdir ${name}-${version}/source
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# nasm is only needed to compile Intel code I believe, so investigate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# whether this dep can be restricted to Intel builds
</span> depends_build-append \
port:gmake \
port:nasm
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,11 +56,61 @@ if {${universal_possible} && [variant_isset universal]} {
</span> configure.ldflags-append -Wl,-read_only_relocs,suppress
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant main10 description {Enable 10-bit encoding} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DHIGH_BIT_DEPTH=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # TODO: explore how this variant is supported on other archs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants +highdepth
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant main12 description {Cannot be used with 10-bit} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.args-append -DHIGH_BIT_DEPTH=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- -DMAIN12=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant highdepth conflicts universal description {Enable 10-bit and 12-bit encoding} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # this builds the recommended multi-library interface
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://x265.readthedocs.io/en/master/api.html#multi-library-interface
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # with the default ABI being the standard 8bit ABI as always
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # we need to explore how to use the method below with the muniversal PG.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ universal_variant no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:libtool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "mkdir ${workpath}/10bit"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system "mkdir ${workpath}/12bit"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set configure.dir ${workpath}/10bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portconfigure::configure_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set configure.dir ${workpath}/12bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portconfigure::configure_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set configure.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args -DEXTRA_LIB="x265_main10.a\;x265_main12.a" -DEXTRA_LINK_FLAGS=-L. -DLINKED_10BIT=ON -DLINKED_12BIT=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portconfigure::configure_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build.dir ${workpath}/10bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portbuild::build_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build.dir ${workpath}/12bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portbuild::build_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln ${workpath}/10bit/libx265.a ${workpath}/build/libx265_main10.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln ${workpath}/12bit/libx265.a ${workpath}/build/libx265_main12.a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set build.dir ${workpath}/build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ portbuild::build_main
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${workpath}/build "mv libx265.a libx265_main.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${workpath}/build "libtool -static -o libx265.a libx265_main.a libx265_main10.a libx265_main12.a"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
</pre><pre style='margin:0'>
</pre>