www-client/chromium: add ppc64 glue
authorGeorgy Yakovlev <gyakovlev@gentoo.org>
Sun, 19 Apr 2020 07:52:16 +0000 (00:52 -0700)
committerMike Gilbert <floppym@gentoo.org>
Wed, 22 Apr 2020 14:48:31 +0000 (10:48 -0400)
no keywords, but this allows users do download patches
and use gentoo ebuild to install chromium on ppc64le machines

patch downloader script available at:
https://gist.github.com/gyakovlev/d9dee9a554f5f1ff086b15e6f927ebf7

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
www-client/chromium/chromium-81.0.4044.113.ebuild
www-client/chromium/chromium-83.0.4103.14.ebuild

index 71890ea048b00abf2863fe15d9ed7f10f9bfa50f..551aed9bd1d88ca2e4b9319760bcaa25ebe5da55 100644 (file)
@@ -89,9 +89,6 @@ DEPEND="${COMMON_DEPEND}
 BDEPEND="
        ${PYTHON_DEPS}
        >=app-arch/gzip-1.7
-       !arm? (
-               dev-lang/yasm
-       )
        dev-lang/perl
        dev-util/gn
        dev-vcs/git
@@ -101,8 +98,12 @@ BDEPEND="
        sys-apps/hwids[usb(+)]
        >=sys-devel/bison-2.4.3
        sys-devel/flex
-       closure-compile? ( virtual/jre )
        virtual/pkgconfig
+       closure-compile? ( virtual/jre )
+       !system-libvpx? (
+               amd64? ( dev-lang/yasm )
+               x86? ( dev-lang/yasm )
+       )
 "
 
 : ${CHROMIUM_FORCE_CLANG=no}
@@ -403,6 +404,15 @@ src_prepare() {
        if ! use system-libvpx; then
                keeplibs+=( third_party/libvpx )
                keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
+
+               # we need to generate ppc64 stuff because upstream does not ship it yet
+               # it has to be done before unbundling.
+               if use ppc64; then
+                       pushd third_party/libvpx >/dev/null || die
+                       mkdir -p source/config/linux/ppc64 || die
+                       ./generate_gni.sh || die
+                       popd >/dev/null || die
+               fi
        fi
        if use tcmalloc; then
                keeplibs+=( third_party/tcmalloc )
@@ -569,6 +579,9 @@ src_configure() {
        elif [[ $myarch = arm ]] ; then
                myconf_gn+=" target_cpu=\"arm\""
                ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+       elif [[ $myarch = ppc64 ]] ; then
+               myconf_gn+=" target_cpu=\"ppc64\""
+               ffmpeg_target_arch=ppc64
        else
                die "Failed to determine target arch, got '$myarch'."
        fi
index 94c94ec2ffe83606ef33d99e3f7bf6c5f130aef0..831d1ba21f82900ed20465e044af798e9a381f20 100644 (file)
@@ -91,9 +91,6 @@ BDEPEND="
        ${PYTHON_DEPS}
        >=app-arch/gzip-1.7
        app-arch/unzip
-       !arm? (
-               dev-lang/yasm
-       )
        dev-lang/perl
        >=dev-util/gn-0.1726
        dev-vcs/git
@@ -103,8 +100,12 @@ BDEPEND="
        sys-apps/hwids[usb(+)]
        >=sys-devel/bison-2.4.3
        sys-devel/flex
-       closure-compile? ( virtual/jre )
        virtual/pkgconfig
+       closure-compile? ( virtual/jre )
+       !system-libvpx? (
+               amd64? ( dev-lang/yasm )
+               x86? ( dev-lang/yasm )
+       )
 "
 
 : ${CHROMIUM_FORCE_CLANG=no}
@@ -419,6 +420,15 @@ src_prepare() {
        if ! use system-libvpx; then
                keeplibs+=( third_party/libvpx )
                keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
+
+               # we need to generate ppc64 stuff because upstream does not ship it yet
+               # it has to be done before unbundling.
+               if use ppc64; then
+                       pushd third_party/libvpx >/dev/null || die
+                       mkdir -p source/config/linux/ppc64 || die
+                       ./generate_gni.sh || die
+                       popd >/dev/null || die
+               fi      
        fi
        if use tcmalloc; then
                keeplibs+=( third_party/tcmalloc )
@@ -586,6 +596,9 @@ src_configure() {
        elif [[ $myarch = arm ]] ; then
                myconf_gn+=" target_cpu=\"arm\""
                ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm)
+       elif [[ $myarch = ppc64 ]] ; then
+               myconf_gn+=" target_cpu=\"ppc64\""
+               ffmpeg_target_arch=ppc64
        else
                die "Failed to determine target arch, got '$myarch'."
        fi