Summary: JavaScript interpreter and libraries Name: mozjs24 Version: 24.2.0 Release: 7%{?dist} License: MPLv2.0 Group: Development/Languages URL: http://www.mozilla.org/js/ Source0: http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-%{version}.tar.bz2 BuildRequires: pkgconfig(nspr) BuildRequires: readline-devel BuildRequires: /usr/bin/zip BuildRequires: /usr/bin/python Patch0: js17-build-fixes.patch Patch1: mozjs24-0001-Add-AArch64-support.patch Patch2: mozjs24-48-bit-VA-fix.patch %description JavaScript is the Netscape-developed object scripting language used in millions of web pages and server applications worldwide. Netscape's JavaScript is a super set of the ECMA-262 Edition 3 (ECMAScript) standard scripting language, with only mild differences from the published standard. %package devel Summary: Header files, libraries and development documentation for %{name} Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package contains the header files, static libraries and development documentation for %{name}. If you like to develop programs using %{name}, you will need to install %{name}-devel. %prep %setup -q -n mozjs-%{version} # Delete bundled sources rm js/src/editline -rf rm js/src/ctypes/libffi -rf %patch0 -p1 %patch1 -p1 %patch2 -p1 chmod a+x configure %build %configure \ --disable-static \ --with-system-nspr \ --enable-threadsafe \ --enable-readline \ --enable-xterm-updates make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} # For some reason the headers and pkg-config file are executable find %{buildroot}%{_includedir} -type f -exec chmod a-x {} \; chmod a-x %{buildroot}%{_libdir}/pkgconfig/*.pc # Fix multilib devel conflicts... function install_file() { genheader=$* mv ${genheader}.h ${genheader}%{__isa_bits}.h cat > ${genheader}.h << EOF /* This file exists to fix multilib conflicts */ #include #if __WORDSIZE == 64 #include "${genheader}64.h" #else #include "${genheader}32.h" #endif EOF } pushd $RPM_BUILD_ROOT/%{_includedir}/mozjs-24 install_file "js-config" popd # Upstream does not honor --disable-static yet rm -f %{buildroot}%{_libdir}/*.a # This is also statically linked; once that is fixed that we could # consider shipping it. rm -f %{buildroot}%{_bindir}/js24 # However, delete js-config since everything should use # the pkg-config file. rm -f %{buildroot}%{_bindir}/js24-config %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %doc LICENSE README %{_libdir}/*.so %files devel %{_libdir}/pkgconfig/*.pc %{_includedir}/mozjs-24 %changelog * Tue Mar 28 2017 Yaakov Selkowitz - 24.2.0-7 - Fix crash with 48-bit VA on aarch64 (#1340183) * Wed May 27 2015 Martin Stransky 24.2.0-6 - Added generic 64/32 bit check * Thu May 21 2015 Martin Stransky 24.2.0-5 - Rebuild * Thu May 21 2015 Martin Stransky 24.2.0-4 - Fixed multilib issue * Wed Jan 22 2014 Peter Robinson 24.2.0-3 - Add patch to fix FTBFS on aarch64 * Fri Jan 10 2014 Debarshi Ray 24.2.0-2 - Fix a spelling mistake * Thu Jan 09 2014 Debarshi Ray 24.2.0-1 - Initial spec