The package rpms/0ad.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/0ad.git/commit/?id=8bf98b6de987be....
Change:
+%ifarch %{ix86}
Thanks.
Full change:
============
commit 8bf98b6de987be4d0e7893f49a96aeb8b93857e8
Author: pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com>
Date: Mon Sep 30 18:00:37 2019 -0300
Add patches previously only on mozjs38 package
The patch corrects some known issues, and hopefully will reduce
user reports of problems.
diff --git a/0ad-mozjs38.patch b/0ad-mozjs38.patch
new file mode 100644
index 0000000..7d2e6c4
--- /dev/null
+++ b/0ad-mozjs38.patch
@@ -0,0 +1,21 @@
+diff -up 0ad-0.0.23b-alpha/libraries/source/spidermonkey/build.sh.orig
0ad-0.0.23b-alpha/libraries/source/spidermonkey/build.sh
+--- 0ad-0.0.23b-alpha/libraries/source/spidermonkey/build.sh.orig 2019-09-30
15:33:27.690089303 -0300
++++ 0ad-0.0.23b-alpha/libraries/source/spidermonkey/build.sh 2019-09-30
15:47:16.201374941 -0300
+@@ -27,7 +27,7 @@ fi
+
+ MAKE_OPTS="${JOBS}"
+
+-CONF_OPTS="--enable-shared-js --disable-tests --without-intl-api"
++CONF_OPTS="--enable-shared-js --disable-tests --without-intl-api
--disable-optimize"
+
+ # Bug 1269319
+ # When compiled with GCC 6 (or later), SpiderMonkey 38 (and versions up to 49) is
+@@ -37,7 +37,7 @@ if [ "${OS}" != "Windows_NT" ]
+ then
+ if [ "`${CXX:=g++} -dumpversion | cut -f1 -d.`" -ge "6" ]
+ then
+- CXXFLAGS="${CXXFLAGS} -fno-schedule-insns2
-fno-delete-null-pointer-checks"
++ CXXFLAGS="${CXXFLAGS} -fpermissive -fno-tree-vrp -fno-strict-aliasing
-fno-schedule-insns2 -fno-delete-null-pointer-checks"
+ fi
+ fi
+
diff --git a/0ad.spec b/0ad.spec
index cbebc15..c1a6846 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -133,6 +133,13 @@ Patch3: %{name}-valgrind.patch
# Fix build on ppc64le with patches from
https://wiki.raptorcs.com/wiki/Porting/0ad
Patch5: %{name}-ppc64.patch
+# Due to significant reports matching:
+#
https://trac.wildfiregames.com/ticket/4053
+# [[PATCH] Building spidermonkey on GCC 6 results in segfaults in the Garbage Collector]
+# Basically reinstantiate:
+#
https://src.fedoraproject.org/rpms/mozjs38/c/761399aba092bcb1299bb4fccfd6...
+Patch6: %{name}-mozjs38.patch
+
%description
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
real-time strategy (RTS) game of ancient warfare. In short, it is a
@@ -154,6 +161,13 @@ hobbyist game developers, since 2001.
%endif
%patch3 -p1
%patch5 -p1
+%patch6 -p1
+# Related to 0ad-mozjs38.patch
+%ifarch %{ix86}
+sed -i "s/\(-fno-delete-null-pointer-checks\)/\1 -O0/" \
+ libraries/source/spidermonkey/build.sh
+%endif
+#end Related to 0ad-mozjs38.patch
%if %{with system_nvtt}
rm -fr libraries/source/nvtt
commit e587ab95b50a1b9ce8c747c240c85426dfcf5899
Author: pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com>
Date: Mon Sep 30 15:25:15 2019 -0300
Add build conditional for system mozjs38
This should work as a template whenever there is a new mozjs.
Also merged my local changes in the install of bundled mozjs.
diff --git a/0ad.spec b/0ad.spec
index cd467df..cbebc15 100644
--- a/0ad.spec
+++ b/0ad.spec
@@ -10,6 +10,8 @@
%global dbg %{nil}
%endif
+%bcond_with system_mozjs38
+
# Remember to rerun licensecheck after every update:
#
https://bugzilla.redhat.com/show_bug.cgi?id=818401#c46
#
http://trac.wildfiregames.com/ticket/1682
@@ -23,7 +25,7 @@
Name: 0ad
Version: 0.0.23b
-Release: 9%{?dist}
+Release: 10%{?dist}
# BSD License:
# build/premake/*
# libraries/source/miniupnpc/* (not built/used)
@@ -102,12 +104,14 @@ BuildRequires: wxGTK3-devel
BuildRequires: /usr/bin/appstream-util
BuildRequires: /usr/bin/python
+%if %{without system_mozjs38}
# bundled mozjs
BuildRequires: pkgconfig(nspr)
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(zlib)
BuildRequires: readline-devel
BuildRequires: /usr/bin/zip
+%endif
# bundled mozjs: For build time tests only
BuildRequires: python2-devel
@@ -115,7 +119,9 @@ BuildRequires: perl-devel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
+%if %{without system_mozjs38}
Provides: bundled(mozjs) = 38
+%endif
# Only do fcollada debug build with enabling debug maintainer mode
# It also prevents assumption there that it is building in x86
@@ -164,6 +170,9 @@ build/workspaces/update-workspaces.sh \
--bindir=%{_bindir} \
--datadir=%{_datadir}/%{name} \
--libdir=%{_libdir}/%{name} \
+%if %{with system_mozjs38}
+ --with-system-mozjs38 \
+%endif
%if %{with system_nvtt}
--with-system-nvtt \
%endif
@@ -191,10 +200,13 @@ for name in nvcore nvimage nvmath nvtt; do
done
%endif
+%if %{without system_mozjs38}
%if %{with debug}
- install -p -m 755 binaries/system/libmozjs38-ps-debug.so
%{buildroot}%{_libdir}/%{name}/libmozjs38-ps-debug.so
+name=mozjs38-ps-debug
%else
- install -p -m 755 binaries/system/libmozjs38-ps-release.so
%{buildroot}%{_libdir}/%{name}/libmozjs38-ps-release.so
+name=mozjs38-ps-release
+%endif
+install -p -m 755 binaries/system/lib${name}.so
%{buildroot}%{_libdir}/%{name}/lib${name}.so
%endif
install -d -m 755 %{buildroot}%{_datadir}/metainfo
@@ -244,6 +256,9 @@ desktop-file-validate
%{buildroot}%{_datadir}/applications/0ad.desktop
%{_mandir}/man6/*.6*
%changelog
+* Mon Sep 30 2019 pcpa <paulo.cesar.pereira.de.andrade(a)gmail.com> - 0.0.23b-10
+- Add build conditional for system mozjs38
+
* Wed Sep 11 2019 Kalev Lember <klember(a)redhat.com> - 0.0.23b-9
- Correctly install bundled mozjs38 (#1751250)
- Exclude private libraries from autogenerated provides and requires