commit:     815ab784f5f549e0f4cb803bbd813199d2c94c90
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 12 20:18:08 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 12 20:18:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=815ab784

games-strategy/0ad: revert to bundled libraries

* SpiderMonkey changes the consumed interfaces
  even within minor versions, so using
  the system version is a no go.

* nvtt is abandoned upstream and using the
  system version results in segfaults.

  Use 0ad's version which has fixes instead.

Bug: https://bugs.gentoo.org/735352
Bug: https://bugs.gentoo.org/689124
Closes: https://bugs.gentoo.org/768840
Closes: https://bugs.gentoo.org/759934
Closes: https://bugs.gentoo.org/768930
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...> 0ad-0.0.24_alpha_pre20210116040036-r1.ebuild} | 28 ++++++++++++++++++----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild 
b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r1.ebuild
similarity index 81%
rename from games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild
rename to games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r1.ebuild
index aff130d91e0..a138651fac2 100644
--- a/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036.ebuild
+++ b/games-strategy/0ad/0ad-0.0.24_alpha_pre20210116040036-r1.ebuild
@@ -36,7 +36,6 @@ RESTRICT="test"
 BDEPEND="virtual/pkgconfig
        test? ( dev-lang/perl )"
 DEPEND="
-       >=dev-lang/spidermonkey-78.6:78
        dev-libs/boost:=
        dev-libs/icu:=
        dev-libs/libfmt:0=
@@ -78,14 +77,11 @@ pkg_setup() {
 src_prepare() {
        default
 
-       # Delete check for minor version of dev-lang/spidermonkey.
-       sed -e "/^#if MOZJS_MINOR_VERSION != [[:digit:]]\+$/,/^#endif$/d" -i 
source/scriptinterface/ScriptTypes.h || die
+       sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die
 }
 
 src_configure() {
        local myconf=(
-               --with-system-mozjs
-               --with-system-nvtt
                --minimal-flags
                $(usex nvtt "" "--without-nvtt")
                $(usex pch "" "--without-pch")
@@ -124,9 +120,31 @@ src_compile() {
        tc-export AR
 
        # build 3rd party fcollada
+       einfo "Building bundled fcollada"
        emake -C libraries/source/fcollada/src
 
+       # build bundled nvtt
+       # nvtt is abandoned upstream and 0ad have forked it
+       # and added fixes. Use their copy.
+       # bug #768930
+       if use nvtt ; then
+               cd libraries/source/nvtt || die
+               elog "Building bundled nvtt (bug #768930)"
+               ./build.sh || die "Failed to build bundled nvtt"
+               cd "${S}" || die
+       fi
+
+       # build bundled spidermonkey
+       # We genuinely can't use the system SpiderMonkey right now.
+       # Breakages occur even on minor bumps in upstream SM,
+       # e.g. bug #768840.
+       cd libraries/source/spidermonkey || die
+       elog "Building bundled SpiderMonkey (bug #768840)"
+       XARGS="${EPREFIX}/usr/bin/xargs" ./build.sh || die "Failed to build 
bundled SpiderMonkey"
+       cd "${S}" || die
+
        # build 0ad
+       elog "Building 0ad"
        emake -C build/workspaces/gcc verbose=1
 }
 

Reply via email to