40ffe9
Summary:	JavaScript interpreter and libraries
40ffe9
Name:		mozjs17
40ffe9
Version:	17.0.0
bf349c
Release:	20%{?dist}
40ffe9
License:	GPLv2+ or LGPLv2+ or MPLv1.1
40ffe9
Group:		Development/Languages
40ffe9
URL:		http://www.mozilla.org/js/
40ffe9
Source0:	http://ftp.mozilla.org/pub/mozilla.org/js/mozjs%{version}.tar.gz
40ffe9
BuildRequires:	pkgconfig(nspr)
40ffe9
BuildRequires:	readline-devel
40ffe9
BuildRequires:	/usr/bin/zip
40ffe9
BuildRequires:	/usr/bin/python
40ffe9
BuildRequires:	/usr/bin/autoconf-2.13
40ffe9
40ffe9
Patch0:		js17-build-fixes.patch
40ffe9
# makes mozjs to match js from xul 21
40ffe9
Patch1:		js17-jsval.patch
40ffe9
Patch2:         mozbug746112-no-decommit-on-large-pages.patch
a80b73
Patch3:         0001-Move-JS_BYTES_PER_WORD-out-of-config.h.patch
f9ffef
Patch4:         mozjs17-aarch64.patch
f9ffef
Patch5:		mozjs17-aarch64-support-64K-pages.patch
bf349c
Patch6:         mozjs17-48-bit-VA-fix.patch
40ffe9
40ffe9
%description
40ffe9
JavaScript is the Netscape-developed object scripting language used in millions
40ffe9
of web pages and server applications worldwide. Netscape's JavaScript is a
40ffe9
superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
40ffe9
with only mild differences from the published standard.
40ffe9
40ffe9
%package devel
40ffe9
Summary: Header files, libraries and development documentation for %{name}
40ffe9
Group: Development/Libraries
40ffe9
Requires: %{name} = %{version}-%{release}
40ffe9
40ffe9
%description devel
40ffe9
This package contains the header files, static libraries and development
40ffe9
documentation for %{name}. If you like to develop programs using %{name},
40ffe9
you will need to install %{name}-devel.
40ffe9
40ffe9
%prep
40ffe9
%setup -q -n mozjs%{version}
40ffe9
# Delete bundled sources
40ffe9
rm js/src/editline -rf
40ffe9
rm js/src/ctypes/libffi -rf
40ffe9
%patch0 -p1
40ffe9
%patch1 -p1
40ffe9
%patch2 -p1
a80b73
%patch3 -p1
f9ffef
%patch4 -p1
f9ffef
%patch5 -p1
d95eb4
%patch6 -p1
40ffe9
40ffe9
%build
f9ffef
chmod a+x configure
f9ffef
(cd js/src && autoconf-2.13)
40ffe9
%configure --disable-static --with-system-nspr --enable-threadsafe --enable-readline
40ffe9
make %{?_smp_mflags}
40ffe9
40ffe9
%check
40ffe9
cat > js/src/config/find_vanilla_new_calls << EOF
40ffe9
#!/bin/bash
40ffe9
exit 0
40ffe9
EOF
40ffe9
make -C js/src check
40ffe9
40ffe9
%install
40ffe9
make install DESTDIR=%{buildroot}
40ffe9
# For some reason the headers and pkg-config file are executable
40ffe9
find %{buildroot}%{_includedir} -type f -exec chmod a-x {} \;
40ffe9
chmod a-x  %{buildroot}%{_libdir}/pkgconfig/*.pc
40ffe9
# Upstream does not honor --disable-static yet
40ffe9
rm -f %{buildroot}%{_libdir}/*.a
40ffe9
# This is also statically linked; once that is fixed that we could
40ffe9
# consider shipping it.
40ffe9
rm -f %{buildroot}%{_bindir}/js17
40ffe9
40ffe9
# However, delete js-config since everything should use
40ffe9
# the pkg-config file.
40ffe9
rm -f %{buildroot}%{_bindir}/js17-config
40ffe9
40ffe9
%post -p /sbin/ldconfig
40ffe9
40ffe9
%postun -p /sbin/ldconfig
40ffe9
40ffe9
%files
40ffe9
%doc LICENSE README
40ffe9
%{_libdir}/*.so
40ffe9
40ffe9
%files devel
40ffe9
%{_libdir}/pkgconfig/*.pc
40ffe9
%{_includedir}/js-17.0
40ffe9
40ffe9
%changelog
bf349c
* Tue Mar 28 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 17.0.0-20
bf349c
- Switch to upstream aarch64 48bit VA patch
bf349c
  This reverts the previous API/ABI break on aarch64, so dependencies
bf349c
  must be rebuilt again.
bf349c
- Resolves: #1393548
bf349c
d95eb4
* Thu May 26 2016 Colin Walters <walters@redhat.com> - 17.0.0-16
d95eb4
- Add patch for aarch64 48bit VA limits
d95eb4
  This changes the API/ABI only on aarch64, and hence we also bump
d95eb4
  the soname solely on those architectures.  We do retain the same pkg-config
d95eb4
  file name though, so dependencies should only need a rebuild.
d95eb4
- Resolves: #1324216 
d95eb4
f9ffef
* Fri Jul 11 2014 Colin Walters <walters@redhat.com> - 17.0.0-12
f9ffef
- Add patch for aarch64
f9ffef
- Fix for aarch64 64k pagesize. BZ#1076181 (Mark Salter <msalter@redhat.com>)
f9ffef
- Resolves: #1027067
f9ffef
a80b73
* Tue Mar 18 2014 Colin Walters <walters@redhat.com> - 17.0.0-10
a80b73
- Add patch to fix multilib conflict with -devel packages
a80b73
- Resolves: #1076420
a80b73
a80b73
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 17.0.0-9
a80b73
- Mass rebuild 2014-01-24
a80b73
a80b73
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 17.0.0-8
a80b73
- Mass rebuild 2013-12-27
a80b73
40ffe9
* Mon Jun 17 2013 Dennis Gilmore <dennis@ausil.us> 17.0.0-7
40ffe9
- disable failing find_vanilla_new_calls test 
40ffe9
40ffe9
* Fri Jun 07 2013 Colin Walters <walters@verbum.org> 17.0.0-6
40ffe9
- Add patch for ppc/ppc64: https://bugzilla.redhat.com/show_bug.cgi?id=971519
40ffe9
40ffe9
* Fri Jun 07 2013 Colin Walters <walters@verbum.org> 17.0.0-5
40ffe9
- Enable check: https://bugzilla.redhat.com/show_bug.cgi?id=971519
40ffe9
40ffe9
* Fri May 17 2013 Dan HorĂ¡k <dan[at]danny.cz> - 17.0.0-4
40ffe9
- fix build on 64-bit big-endians
40ffe9
40ffe9
* Mon Apr 15 2013 Colin Walters <walters@verbum.org> 17.0.0-3
40ffe9
- Delete js17, it is not used
40ffe9
40ffe9
* Sun Apr 14 2013 Peter Robinson <pbrobinson@fedoraproject.org> 17.0.0-2
40ffe9
- Add disttag
40ffe9
40ffe9
* Mon Apr 01 2013 Colin Walters <walters@verbum.org> - 17.0.0-1
40ffe9
- Spec file inherited from js.spec