source: projects/specs/trunk/m/mozjs68/mozjs68-vl.spec @ 12446

Revision 12446, 8.9 KB checked in by tomop, 4 years ago (diff)

updated 92 packages

ModemManager?-1.14.0-1

accountsservice-0.6.55-1

adwaita-icon-theme-3.36.1-1

cheese-3.34.0-1

clutter-gst3-3.0.27-1

clutter-gtk-1.8.4-2

clutter-1.26.4-1

cogl-1.22.8-1

colord-gtk-0.2.0-1

colord-1.4.4-1

control-center-3.36.4-1

eog-plugins-3.26.5-1

eog-3.36.3-1

evince-3.36.7-1

evolution-data-server-3.36.4-1

evolution-3.36.4-1

folks-0.14.0-1

fuse3-3.9.2-2

gcr-3.36.0-1

gdm-3.36.3-1

geocode-glib-3.26.2-1

gjs-1.64.4-1

glade3-3.36.0-1

gnome-applets-3.36.4-1

gnome-autoar-0.2.4-1

gnome-bluetooth-3.34.1-1

gnome-books-3.34.0-3

gnome-clocks-3.36.2-1

gnome-color-manager-3.36.0-1

gnome-contacts-3.36.2-1

gnome-desktop3-3.36.4-1

gnome-documents-3.34.0-1

gnome-flashback-3.36.3-1

gnome-font-viewer-3.34.0-1

gnome-keyring-3.36.0-1

gnome-menus-3.36.0-1

gnome-online-accounts-3.36.0-1

gnome-panel-3.36.2-1

gnome-session-3.36.0-1

gnome-settings-daemon-3.36.1-1

gnome-shell-3.36.4-1

gnome-software-3.36.1-1

gnome-themes-extra-3.28-2

gnome-tweaks-3.34.0-1

gnome-video-effects-0.5.0-1

gom-0.4-1

graphene-1.10.2-2

grilo-plugins-0.3.11-1

grilo-0.3.12-1

gsettings-desktop-schemas-3.36.1-1

gsound-1.0.2-3

gvfs-1.44.1-1

libaccounts-glib-1.25-1

libappindicator-12.10.0-1

libchamplain-0.12.20-1

libdbusmenu-16.04.0-1

libgdata-0.17.12-1

libgepub-0.6.0-4

libgphoto2-2.5.25-1

libgweather-3.36.1-1

libgxps-0.3.1-1

libhandy0-0.0.13-6

libical-3.0.8-2

libindicator-12.10.1-2

libmtp-1.1.17-1

libnma-1.8.30-2

liboauth-1.0.3-2

libsecret-0.20.3-1

libspectre-0.2.9-1

libwacom-1.4.1-1

libwnck3-3.36.0-1

libxmlb-0.1.15-3

metacity-3.36.1-1

mm-common-1.0.1-3

mobile-broadband-provider-info-0.20190618-1

mozjs68-68.11.0-1

mutter-3.36.4-1

nautilus-3.36.3-1

network-manager-applet-1.18.0-1

pipewire-0.3.8-1

python-dbusmock-0.18.3-6

python-mallard-ducktype-1.0.2-8

startup-notification-0.12-4

totem-pl-parser-3.26.5-1

totem-3.34.1-1

vala-0.48.8-1

xdg-desktop-portal-gtk-1.7.1-1

xdg-desktop-portal-1.7.2-1

yelp-tools-3.32.2-1

yelp-xsl-3.36.0-1

yelp-3.36.0-1

zenity-3.32.0-1

Line 
1%global major 68
2
3# LTO - Enable in Release builds, but consider disabling for development as it increases compile time
4%global build_with_lto    1
5
6# Require tests to pass?
7%global require_tests     0
8
9# typedarray-arg-set-values-same-buffer-other-type.js is failing on s390x
10%ifarch s390x s390
11%global require_tests     0
12%endif
13
14%if 0%{?build_with_lto}
15%global optflags        %{optflags} -flto
16%global build_ldflags   %{build_ldflags} -flto
17%endif
18
19# Require libatomic for ppc
20%ifarch ppc
21%global system_libatomic 1
22%endif
23
24# Big endian platforms
25%ifarch ppc ppc64 s390 s390x
26%global big_endian 1
27%endif
28
29Name:           mozjs%{major}
30Version:        68.11.0
31Release:        1%{?_dist_release}
32Summary:        SpiderMonkey JavaScript library
33Vendor:         Project Vine
34Distribution:   Vine Linux
35
36License:        MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2+ and AFL and ASL 2.0
37URL:            https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
38Source0:        https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz
39
40# Patches from Debian mozjs60, rebased for mozjs68:
41Patch01:        fix-soname.patch
42Patch02:        copy-headers.patch
43Patch03:        tests-increase-timeout.patch
44Patch09:        icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
45Patch10:        icu_sources_data-Write-command-output-to-our-stderr.patch
46
47# Build fixes - https://hg.mozilla.org/mozilla-central/rev/ca36a6c4f8a4a0ddaa033fdbe20836d87bbfb873
48Patch12:        emitter.patch
49Patch13:        emitter_test.patch
50
51# Build fixes
52Patch14:        init_patch.patch
53# TODO: Check with mozilla for cause of these fails and re-enable spidermonkey compile time checks if needed
54Patch15:        spidermonkey_checks_disable.patch
55Patch16:        Remove-unused-LLVM-and-Rust-build-dependencies.patch
56
57# armv7 fixes
58Patch17:        armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
59
60# s390x fixes, TODO: file bug report upstream?
61Patch18:        spidermonkey_style_check_disable_s390x.patch
62Patch19:        Don-t-run-non262-extensions-clone-errors.js-on-s390x.patch
63
64# Patches from Fedora firefox package:
65Patch26:        build-icu-big-endian.patch
66
67# Support Python 3 in js tests
68Patch30:        jstests_python-3.patch
69
70BuildRequires:  autoconf213
71BuildRequires:  cargo
72BuildRequires:  clang-devel
73BuildRequires:  gcc
74BuildRequires:  gcc-c++
75BuildRequires:  perl
76BuildRequires:  pkgconfig(libffi)
77BuildRequires:  pkgconfig(zlib)
78# Build requires Python 2, tests are patched to run with Python 3
79BuildRequires:  python-devel
80BuildRequires:  python3-devel
81BuildRequires:  python3-rpm-macros
82BuildRequires:  python3-six
83BuildRequires:  readline-devel
84BuildRequires:  zip
85%if 0%{?system_libatomic}
86BuildRequires:  libatomic
87%endif
88
89%description
90SpiderMonkey is the code-name for Mozilla Firefox's C++ implementation of
91JavaScript. It is intended to be embedded in other applications
92that provide host environments for JavaScript.
93
94
95%package        devel
96Summary:        Development files for %{name}
97Requires:       %{name}%{?_isa} = %{version}-%{release}
98
99%description    devel
100The %{name}-devel package contains libraries and header files for
101developing applications that use %{name}.
102
103
104%debug_package
105
106
107%prep
108%setup -q -n firefox-%{version}/js/src
109
110pushd ../..
111%patch01 -p1
112%patch02 -p1
113%patch03 -p1
114%patch09 -p1
115%patch10 -p1
116
117%patch12 -p1
118%patch13 -p1
119%patch14 -p1
120%patch15 -p1
121%patch16 -p1
122
123%ifarch armv7hl
124# Disable WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS as it causes the compilation to fail
125# https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
126%patch17 -p1
127%endif
128
129%ifarch s390x
130%patch18 -p1
131%patch19 -p1
132%endif
133
134# Patch for big endian platforms only
135%if 0%{?big_endian}
136%patch26 -p1 -b .icu
137%endif
138
139# Execute tests with Python 3
140%patch30 -p1
141
142# make sure we don't ever accidentally link against bundled security libs
143rm -rf security/
144popd
145
146# Remove zlib directory (to be sure using system version)
147rm -rf ../../modules/zlib
148
149
150%build
151export LANG=ja_JP.UTF-8
152# Prefer GCC, because clang doesn't support -fstack-clash-protection yet
153export CC=gcc
154export CXX=g++
155
156%if 0%{?build_with_lto}
157export AR=%{_bindir}/gcc-ar
158export RANLIB=%{_bindir}/gcc-ranlib
159export NM=%{_bindir}/gcc-nm
160%endif
161
162export CFLAGS="%{optflags}"
163export CXXFLAGS="$CFLAGS"
164export LINKFLAGS="%{?__global_ldflags}"
165export PYTHON="%{__python}"
166
167autoconf-2.13
168%configure \
169  --without-system-icu \
170  --enable-posix-nspr-emulation \
171  --with-system-zlib \
172  --disable-tests \
173  --disable-strip \
174  --with-intl-api \
175  --enable-readline \
176  --enable-shared-js \
177  --disable-optimize \
178  --enable-pie \
179  --disable-jemalloc \
180  --enable-unaligned-private-values
181
182%if 0%{?big_endian}
183echo "Generate big endian version of config/external/icu/data/icud58l.dat"
184pushd ../..
185  ./mach python intl/icu_sources_data.py .
186  ls -l config/external/icu/data
187  rm -f config/external/icu/data/icudt*l.dat
188popd
189%endif
190
191%make_build
192
193
194%install
195export LANG=ja_JP.UTF-8
196rm -rf %{buildroot}
197%make_install
198
199# Fix permissions
200chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
201
202# Avoid multilib conflicts
203case `uname -i` in
204  i386 | ppc | s390 | sparc )
205    wordsize="32"
206    ;;
207  x86_64 | ppc64 | s390x | sparc64 )
208    wordsize="64"
209    ;;
210  *)
211    wordsize=""
212    ;;
213esac
214
215if test -n "$wordsize"
216then
217  mv %{buildroot}%{_includedir}/mozjs-%{major}/js-config.h \
218     %{buildroot}%{_includedir}/mozjs-%{major}/js-config-$wordsize.h
219
220  cat >%{buildroot}%{_includedir}/mozjs-%{major}/js-config.h <<EOF
221#ifndef JS_CONFIG_H_MULTILIB
222#define JS_CONFIG_H_MULTILIB
223
224#include <bits/wordsize.h>
225
226#if __WORDSIZE == 32
227# include "js-config-32.h"
228#elif __WORDSIZE == 64
229# include "js-config-64.h"
230#else
231# error "unexpected value for __WORDSIZE macro"
232#endif
233
234#endif
235EOF
236
237fi
238
239# Remove unneeded files
240rm %{buildroot}%{_bindir}/js%{major}-config
241rm %{buildroot}%{_libdir}/libjs_static.ajs
242
243# Rename library and create symlinks, following fix-soname.patch
244mv %{buildroot}%{_libdir}/libmozjs-%{major}.so \
245   %{buildroot}%{_libdir}/libmozjs-%{major}.so.0.0.0
246ln -s libmozjs-%{major}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so.0
247ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so
248
249
250%check
251export LANG=ja_JP.UTF-8
252# Run SpiderMonkey tests
253%if 0%{?require_tests}
254PYTHONPATH=tests/lib %{__python3} tests/jstests.py -d -s -t 1800 --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major}
255%else
256PYTHONPATH=tests/lib %{__python3} tests/jstests.py -d -s -t 1800 --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major} || :
257%endif
258
259# Run basic JIT tests
260%if 0%{?require_tests}
261PYTHONPATH=tests/lib %{__python3} jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/dist/bin/js%{major} basic
262%else
263PYTHONPATH=tests/lib %{__python3} jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/dist/bin/js%{major} basic || :
264%endif
265
266
267%post -p /sbin/ldconfig
268%postun -p /sbin/ldconfig
269
270
271%files
272%doc README.html
273%{_libdir}/libmozjs-%{major}.so.0*
274
275%files devel
276%{_bindir}/js%{major}
277%{_libdir}/libmozjs-%{major}.so
278%{_libdir}/pkgconfig/*.pc
279%{_includedir}/mozjs-%{major}/
280
281
282%changelog
283* Tue Aug 04 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 68.11.0-1
284- initial build for Vine Linux.
285- new upstream release.
286
287* Tue Jun 30 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.10.0-1
288- Update to 68.10.0
289
290* Tue Jun 02 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.9.0-1
291- Update to 68.9.0
292- Drop llvm and rust deps
293
294* Wed May 06 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.8.0-1
295- Update to 68.8.0
296
297* Tue Apr 07 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.7.0-1
298- Update to 68.7.0
299
300* Tue Mar 17 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.6.0-2
301- Rebuild with GCC 10
302- Nuke check_spidermonkey_style.py on s390x
303
304* Wed Mar 11 2020 Kalev Lember <klember@redhat.com> - 68.6.0-1
305- Update to 68.6.0
306
307* Mon Feb 10 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.5.0-1
308- Update to 68.5.0
309
310* Mon Feb 03 2020 Kalev Lember <klember@redhat.com> - 68.4.2-3
311- Build with --enable-unaligned-private-values
312
313* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 68.4.2-2
314- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
315
316* Wed Jan 22 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.4.2-1
317- Update to 68.4.2
318
319* Tue Jan 07 2020 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.4.0-1
320- Update to 68.4.0
321
322* Sat Dec 07 2019 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.3.0-1
323- Update to 68.3.0
324
325* Wed Nov 20 2019 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.2.0-5
326- Don't enforce tests to pass on s390 and s390x again
327
328* Tue Nov 19 2019 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.2.0-4
329- Enable LTO
330- Enforce SpiderMonkey tests in check section on all architectures
331
332* Sun Nov 17 2019 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.2.0-3
333- Fix armv7 build
334
335* Thu Nov 14 2019 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.2.0-2
336- Fix s390x build
337- Exclude armv7 for now, see comment up in the spec
338
339* Mon Nov 04 2019 Frantisek Zatloukal <fzatlouk@redhat.com> - 68.2.0-1
340- Initial mozjs68 package based on mozjs60
Note: See TracBrowser for help on using the repository browser.