%define MAJver %(echo %version | cut -d. -f1) %define majver %(echo %version | cut -d. -f1-2) Name: mozjs91 Version: 91.9.0 Release: 1mamba Summary: Mozilla stand-alone library implementing JavaScript 24 Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://www.mozilla.org/en-US/ Source: https://archive.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz Patch0: mozjs-91.8.0-fix-soname.patch Patch1: mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch Patch2: mozjs-68.4.2-arm-disable_emulate_arm_unaligned_fp_access.patch Patch3: mozjs-68.4.2-gcc-10.0.patch Patch4: mozjs-91.8.0-copy-headers.patch Patch5: mozjs-91.8.0-tests-increase-timeout.patch Patch6: mozjs-91.8.0-icu_sources_data.py-Decouple-from-Mozilla-build-system.patch Patch7: mozjs-91.8.0-icu_sources_data-Write-command-output-to-our-stderr.patch Patch8: mozjs-91.8.0-emitter.patch Patch9: mozjs-91.8.0-tests-Use-native-TemporaryDirectory.patch Patch10: mozjs-91.8.0-init_patch.patch Patch11: mozjs-91.8.0-remove-sloppy-m4-detection-from-bundled-autoconf.patch Patch12: mozjs-91.8.0-spidermonkey_checks_disable.patch Patch13: mozjs91-91.8.0-x86-double_t-fix.patch # Only GPL because linking to readline License: GPL #License: MPL, GPL, LGPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libgcc BuildRequires: libicu-devel BuildRequires: libreadline-devel BuildRequires: libstdc++6-devel BuildRequires: libz-devel ## AUTOBUILDREQ-END BuildRequires: pkg-config BuildRequires: autoconf2.13 Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires(post): %{__install_info} Requires(preun): %{__install_info} %description Mozilla stand-alone library implementing JavaScript 24. %package -n lib%{name} Group: System/Libraries Summary: Mozilla stand-alone library implementing JavaScript 24 %description -n lib%{name} Mozilla stand-alone library implementing JavaScript 24. %package -n lib%{name}-devel Group: Development/Libraries Summary: Development files for %{name} Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: pkg-config %description -n lib%{name}-devel This package contains libraries and header files for developing applications that use %{name}. %debug_package %prep %setup -q -c -a0 cd firefox-%{version} #-D -T #:<< _EOF %patch0 -p1 -b .fix-soname #%ifarch arm #%patch1 -p1 #%patch2 -p1 #%endif #%patch3 -p1 %patch4 -p1 -b .copy-headers %patch5 -p1 -b .tests-increase-timeout %patch6 -p1 -b .icu_sources_data.py-Decouple-from-Mozilla-build-system %patch7 -p1 -b .icu_sources_data-Write-command-output-to-our-stderr %patch8 -p1 -b .emitter %patch9 -p1 -b .tests-Use-native-TemporaryDirectory %patch10 -p1 -b .init_patch %patch11 -p1 -b .remove-sloppy-m4-detection-from-bundled-autoconf %patch12 -p1 -b .spidermonkey_checks_disable %ifarch %{ix86} arm %patch13 -p1 -b .x86-double_t-fix %endif %build cd firefox-%{version}/js/src #:<< _EOF # NOTE: taken from Fedora # Prefer GCC for now export CC=gcc export CXX=g++ # Workaround # error: options `-C embed-bitcode=no` and `-C lto` are incompatible # error: could not compile `jsrust`. # https://github.com/japaric/cargo-call-stack/issues/25 export RUSTFLAGS="-C embed-bitcode" # https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd export CARGO_PROFILE_RELEASE_LTO=true export CFLAGS="%{optflags}" export CXXFLAGS="$CFLAGS" export LINKFLAGS="%{?build_ldflags}" export PYTHON="%{python3}" # Use bundled autoconf export M4=m4 export AWK=awk export AC_MACRODIR=%{_builddir}/%{name}-%{version}/firefox-%{version}/build/autoconf/ sh ../../build/autoconf/autoconf.sh --localdir=%{_builddir}/firefox-%{version}/js/src configure.in > configure chmod +x configure %ifarch arm sed -i "s|armv4t|arm|" ../../build/moz.configure/rust.configure %endif %configure \ %ifarch %{ix86} --host=i686-unknown-linux-gnu \ %endif %ifarch arm --host=arm-unknown-linux-gnueabi \ %endif --with-system-icu \ --with-system-zlib \ --disable-tests \ --disable-strip \ --with-intl-api \ --enable-readline \ --enable-shared-js \ --enable-optimize \ --disable-debug \ --enable-pie \ --disable-jemalloc %make %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall -C firefox-%{version}/js/src # Fix permissions chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc # Remove unneeded files rm %{buildroot}%{_bindir}/js%{MAJver}-config rm %{buildroot}%{_libdir}/libjs_static.ajs # Rename library and create symlinks, following fix-soname.patch mv %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so \ %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so.0.0.0 ln -s libmozjs-%{MAJver}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so.0 ln -s libmozjs-%{MAJver}.so.0 %{buildroot}%{_libdir}/libmozjs-%{MAJver}.so %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post -n lib%{name} -p /sbin/ldconfig %postun -n lib%{name} -p /sbin/ldconfig %files -n lib%{name} %defattr(-,root,root) %{_libdir}/libmozjs-%{MAJver}.so.* #%{_libdir}/libjs_static.ajs %doc firefox-%{version}/LICENSE %files -n lib%{name}-devel %defattr(-,root,root) %{_bindir}/js%{MAJver} #%{_bindir}/js%{MAJver}-config %dir %{_includedir}/mozjs-%{MAJver}/ %{_includedir}/mozjs-%{MAJver}/* %{_libdir}/libmozjs-%{MAJver}.so %{_libdir}/pkgconfig/mozjs-%{MAJver}.pc %changelog * Mon May 09 2022 Automatic Build System 91.9.0-1mamba - automatic version update by autodist * Sat Apr 16 2022 Silvan Calarco 91.8.0-2mamba - fix wrong so library links * Fri Apr 15 2022 Silvan Calarco 91.8.0-1mamba - update to 91.8.0 * Sun Mar 22 2020 Silvan Calarco 68.4.2-1mamba - update to 68.4.2 * Sat Jul 06 2019 Silvan Calarco 60.1.0-1mamba - update to 60.1.0 * Tue Dec 11 2018 Silvan Calarco 52.6.0-1mamba - update to 52.6.0 * Mon Dec 10 2018 Silvan Calarco 52.2.1-2mamba - arm: rebuilt * Mon Aug 13 2018 Silvan Calarco 52.2.1-1mamba - update to 52.2.1 * Thu Jun 19 2014 Silvan Calarco 24.2.0-1mamba - package created from mozjs185