From 47f4eff566269dd5364db94373b28d8f09ecc866 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 07:19:16 +0100 Subject: [PATCH] fix broken shared library symlinks [release 78.8.0-2mamba;Tue Mar 16 2021] --- README.md | 2 + ...-options-to-specify-Rust-target-name.patch | 77 +++ mozjs-68.4.2-fix-soname.patch | 24 + mozjs-68.4.2-gcc-10.0.patch | 10 + ...able_emulate_arm_unaligned_fp_access.patch | 13 + mozjs78-78.8.0-arm-force-rust-target.patch | 10 + mozjs78-78.8.0-copy-headers.patch | 38 ++ mozjs78-78.8.0-emitter.patch | 61 ++ mozjs78-78.8.0-fix-soname.patch | 26 + mozjs78-78.8.0-init_patch.patch | 629 ++++++++++++++++++ ...8-78.8.0-spidermonkey_checks_disable.patch | 10 + mozjs78.spec | 216 ++++++ 12 files changed, 1116 insertions(+) create mode 100644 mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch create mode 100644 mozjs-68.4.2-fix-soname.patch create mode 100644 mozjs-68.4.2-gcc-10.0.patch create mode 100644 mozjs78-78.8.0-arm-disable_emulate_arm_unaligned_fp_access.patch create mode 100644 mozjs78-78.8.0-arm-force-rust-target.patch create mode 100644 mozjs78-78.8.0-copy-headers.patch create mode 100644 mozjs78-78.8.0-emitter.patch create mode 100644 mozjs78-78.8.0-fix-soname.patch create mode 100644 mozjs78-78.8.0-init_patch.patch create mode 100644 mozjs78-78.8.0-spidermonkey_checks_disable.patch create mode 100644 mozjs78.spec diff --git a/README.md b/README.md index fad0805..8383b66 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # mozjs78 +SpiderMonkey JavaScript library. + diff --git a/mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch b/mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch new file mode 100644 index 0000000..ef44f6d --- /dev/null +++ b/mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch @@ -0,0 +1,77 @@ +From: Takuro Ashie +Date: Thu, 18 Apr 2019 07:21:00 -0700 +Subject: Bug 1545437 - Add options to specify Rust target name + +Certain build systems such as Yocto know more suitable Rust target name, so it +would be better that there is a way to pass it to Mozilla's build system. + +Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1545437 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954774 +Forwarded: https://phabricator.services.mozilla.com/D28069 +Applied-upstream: no, upstream consider this a workaround and do not support armel +--- + build/moz.configure/rust.configure | 37 +++++++++++++++++++++++++++++++++---- + 1 file changed, 33 insertions(+), 4 deletions(-) + +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure +index 9647cbc..5aed73f 100644 +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -218,6 +218,28 @@ def rust_supported_targets(rustc): + return namespace(per_os=per_os, per_raw_os=per_raw_os) + + ++option(env='RUST_HOST', ++ nargs=1, ++ help='Define the system type for Rust performing the build') ++ ++@depends('RUST_HOST') ++@checking('rust host', lambda host: host) ++def rust_host_env(value): ++ if value: ++ return value[0] ++ ++ ++option(env='RUST_TARGET', ++ nargs=1, ++ help='Define the system type for Rust where the resulting executables will be used') ++ ++@depends('RUST_TARGET') ++@checking('rust target', lambda target: target) ++def rust_target_env(value): ++ if value: ++ return value[0] ++ ++ + @template + def rust_triple_alias(host_or_target): + """Template defining the alias used for rustc's --target flag. +@@ -228,8 +250,9 @@ def rust_triple_alias(host_or_target): + + host_or_target_str = {host: 'host', target: 'target'}[host_or_target] + +- @depends(rustc, host_or_target, c_compiler, rust_supported_targets, +- arm_target, when=rust_compiler) ++ @depends(rustc, host_or_target, rust_host_env, rust_target_env, ++ c_compiler, rust_supported_targets, arm_target, ++ when=rust_compiler) + @checking('for rust %s triplet' % host_or_target_str) + @imports('os') + @imports('subprocess') +@@ -237,8 +260,14 @@ def rust_triple_alias(host_or_target): + @imports(_from='mozbuild.shellutil', _import='quote') + @imports(_from='tempfile', _import='mkstemp') + @imports(_from='textwrap', _import='dedent') +- def rust_target(rustc, host_or_target, compiler_info, +- rust_supported_targets, arm_target): ++ def rust_target(rustc, host_or_target, rust_host_env, rust_target_env, ++ compiler_info, rust_supported_targets, arm_target): ++ ++ specified_targets = {"host": rust_host_env, "target": rust_target_env} ++ specified_target = specified_targets[host_or_target_str] ++ if (specified_target): ++ return specified_target ++ + # Rust's --target options are similar to, but not exactly the same + # as, the autoconf-derived targets we use. An example would be that + # Rust uses distinct target triples for targetting the GNU C++ ABI diff --git a/mozjs-68.4.2-fix-soname.patch b/mozjs-68.4.2-fix-soname.patch new file mode 100644 index 0000000..d59005e --- /dev/null +++ b/mozjs-68.4.2-fix-soname.patch @@ -0,0 +1,24 @@ +diff --git i/js/src/build/Makefile.in w/js/src/build/Makefile.in +index ee19104e0ef5..a0f06fd35a18 100644 +--- i/js/src/build/Makefile.in ++++ w/js/src/build/Makefile.in +@@ -89,6 +89,8 @@ ifneq (,$(REAL_LIBRARY)) + endif + ifneq (,$(SHARED_LIBRARY)) + $(SYSINSTALL) $(SHARED_LIBRARY) $(DESTDIR)$(libdir) ++ mv -f $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY).0 ++ ln -s $(SHARED_LIBRARY).0 $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) + ifeq ($(OS_ARCH),Darwin) + install_name_tool -id $(abspath $(libdir)/$(SHARED_LIBRARY)) $(DESTDIR)$(libdir)/$(SHARED_LIBRARY) + endif +diff --git i/js/src/build/moz.build w/js/src/build/moz.build +--- mozjs-68.4.2/js/src/build/moz.build.orig 2020-03-23 10:16:23.762000000 +0100 ++++ mozjs-68.4.2/js/src/build/moz.build 2020-03-23 10:16:52.427000000 +0100 +@@ -25,6 +25,7 @@ + if CONFIG['JS_SHARED_LIBRARY']: + GeckoSharedLibrary('js', linkage=None) + SHARED_LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME'] ++ LDFLAGS += ['-Wl,-soname,lib{}.so.0'.format(SHARED_LIBRARY_NAME)] + + # Ensure symbol versions of shared library on Linux do not conflict + # with those in libxul. diff --git a/mozjs-68.4.2-gcc-10.0.patch b/mozjs-68.4.2-gcc-10.0.patch new file mode 100644 index 0000000..ddfc5f7 --- /dev/null +++ b/mozjs-68.4.2-gcc-10.0.patch @@ -0,0 +1,10 @@ +--- mozjs-68.4.2/mfbt/FunctionTypeTraits.h.orig 2020-12-01 09:23:27.539907533 +0000 ++++ mozjs-68.4.2/mfbt/FunctionTypeTraits.h 2020-12-01 09:08:14.179410222 +0000 +@@ -10,6 +10,7 @@ + #define mozilla_FunctionTypeTraits_h + + #include ++#include + + namespace mozilla { + diff --git a/mozjs78-78.8.0-arm-disable_emulate_arm_unaligned_fp_access.patch b/mozjs78-78.8.0-arm-disable_emulate_arm_unaligned_fp_access.patch new file mode 100644 index 0000000..12cf18e --- /dev/null +++ b/mozjs78-78.8.0-arm-disable_emulate_arm_unaligned_fp_access.patch @@ -0,0 +1,13 @@ +--- firefox-78.8.0/js/src/wasm/WasmSignalHandlers.cpp.orig 2021-04-03 11:42:29.793709476 +0200 ++++ firefox-78.8.0/js/src/wasm/WasmSignalHandlers.cpp 2021-04-03 11:43:00.261207093 +0200 +@@ -244,10 +244,6 @@ + // If you run into compile problems on a tier-3 platform, you can disable the + // emulation here. + +-#if defined(__linux__) && defined(__arm__) +-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS +-#endif +- + #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS + # include + #endif diff --git a/mozjs78-78.8.0-arm-force-rust-target.patch b/mozjs78-78.8.0-arm-force-rust-target.patch new file mode 100644 index 0000000..ef749b2 --- /dev/null +++ b/mozjs78-78.8.0-arm-force-rust-target.patch @@ -0,0 +1,10 @@ +--- firefox-78.8.0/build/moz.configure/rust.configure.orig 2021-03-25 15:32:02.149832908 +0100 ++++ firefox-78.8.0/build/moz.configure/rust.configure 2021-03-25 15:32:18.845551888 +0100 +@@ -313,6 +313,7 @@ + suffix = 'hf' + else: + suffix = '' ++ prefixes = ['arm'] + for p in prefixes: + for c in candidates: + if c.rust_target.startswith('{}-'.format(p)) and \ diff --git a/mozjs78-78.8.0-copy-headers.patch b/mozjs78-78.8.0-copy-headers.patch new file mode 100644 index 0000000..dfa1fdb --- /dev/null +++ b/mozjs78-78.8.0-copy-headers.patch @@ -0,0 +1,38 @@ +From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Wed, 15 Jul 2020 08:27:39 +0200 +Subject: [PATCH] build: Copy headers on install instead of symlinking + +Patch by Philip Chimento ported forward to mozjs78 +--- + python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py +index e3fc8fe..bed5ae9 100644 +--- a/python/mozbuild/mozbuild/backend/recursivemake.py ++++ b/python/mozbuild/mozbuild/backend/recursivemake.py +@@ -1457,9 +1457,9 @@ class RecursiveMakeBackend(MakeBackend): + raise Exception("Wildcards are only supported in the filename part" + " of srcdir-relative or absolute paths.") + +- install_manifest.add_pattern_link(basepath, wild, path) ++ install_manifest.add_pattern_copy(basepath, wild, path) + else: +- install_manifest.add_pattern_link(f.srcdir, f, path) ++ install_manifest.add_pattern_copy(f.srcdir, f, path) + elif isinstance(f, AbsolutePath): + if not f.full_path.lower().endswith(('.dll', '.pdb', '.so')): + raise Exception("Absolute paths installed to FINAL_TARGET_FILES must" +@@ -1468,7 +1468,7 @@ class RecursiveMakeBackend(MakeBackend): + install_manifest.add_optional_exists(dest) + absolute_files.append(f.full_path) + else: +- install_manifest.add_link(f.full_path, dest) ++ install_manifest.add_copy(f.full_path, dest) + else: + install_manifest.add_optional_exists(dest) + objdir_files.append(self._pretty_path(f, backend_file)) +-- +2.26.2 + diff --git a/mozjs78-78.8.0-emitter.patch b/mozjs78-78.8.0-emitter.patch new file mode 100644 index 0000000..15e752b --- /dev/null +++ b/mozjs78-78.8.0-emitter.patch @@ -0,0 +1,61 @@ +From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Wed, 15 Jul 2020 08:39:47 +0200 +Subject: [PATCH] Build: allow LOCAL_INCLUDES paths with topsrcdir or topobjdir + +--- + python/mozbuild/mozbuild/frontend/emitter.py | 6 ------ + .../mozbuild/test/frontend/test_emitter.py | 20 ------------------- + 2 files changed, 26 deletions(-) + +diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py +index 8d5ab8e..65c43ff 100644 +--- a/python/mozbuild/mozbuild/frontend/emitter.py ++++ b/python/mozbuild/mozbuild/frontend/emitter.py +@@ -1239,12 +1239,6 @@ class TreeMetadataEmitter(LoggingMixin): + 'is a filename, but a directory is required: %s ' + '(resolved to %s)' % (local_include, full_path), + context) +- if (full_path == context.config.topsrcdir or +- full_path == context.config.topobjdir): +- raise SandboxValidationError( +- 'Path specified in LOCAL_INCLUDES ' +- '(%s) resolves to the topsrcdir or topobjdir (%s), which is ' +- 'not allowed' % (local_include, full_path), context) + include_obj = LocalInclude(context, local_include) + local_includes.append(include_obj.path.full_path) + yield include_obj +diff --git a/python/mozbuild/mozbuild/test/frontend/test_emitter.py b/python/mozbuild/mozbuild/test/frontend/test_emitter.py +index e8cbd81..d45ccee 100644 +--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py ++++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py +@@ -1040,26 +1040,6 @@ class TestEmitterBasic(unittest.TestCase): + + self.assertEqual(local_includes, expected) + +- def test_local_includes_invalid(self): +- """Test that invalid LOCAL_INCLUDES are properly detected.""" +- reader = self.reader('local_includes-invalid/srcdir') +- +- with six.assertRaisesRegex( +- self, +- SandboxValidationError, +- 'Path specified in LOCAL_INCLUDES.*resolves to the ' +- 'topsrcdir or topobjdir'): +- self.read_topsrcdir(reader) +- +- reader = self.reader('local_includes-invalid/objdir') +- +- with six.assertRaisesRegex( +- self, +- SandboxValidationError, +- 'Path specified in LOCAL_INCLUDES.*resolves to the ' +- 'topsrcdir or topobjdir'): +- self.read_topsrcdir(reader) +- + def test_local_includes_file(self): + """Test that a filename can't be used in LOCAL_INCLUDES.""" + reader = self.reader('local_includes-filename') +-- +2.26.2 + diff --git a/mozjs78-78.8.0-fix-soname.patch b/mozjs78-78.8.0-fix-soname.patch new file mode 100644 index 0000000..30894e4 --- /dev/null +++ b/mozjs78-78.8.0-fix-soname.patch @@ -0,0 +1,26 @@ +From d21c7cb9343d8c495d987e71be0f35887574c820 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Wed, 15 Jul 2020 08:21:47 +0200 +Subject: [PATCH] Add soname switch to linker, regardless of Operating System + +Fix backported from Debian: http://bugs.debian.org/746705 +--- + config/rules.mk | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/config/rules.mk b/config/rules.mk +index 3965c88..3f92f83 100644 +--- a/config/rules.mk ++++ b/config/rules.mk +@@ -320,6 +320,8 @@ ifeq ($(OS_ARCH),GNU) + OS_CPPFLAGS += -DPATH_MAX=1024 -DMAXPATHLEN=1024 + endif + ++EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0 ++ + # + # MINGW32 + # +-- +2.26.2 + diff --git a/mozjs78-78.8.0-init_patch.patch b/mozjs78-78.8.0-init_patch.patch new file mode 100644 index 0000000..e1db0db --- /dev/null +++ b/mozjs78-78.8.0-init_patch.patch @@ -0,0 +1,629 @@ + + + + + + Tree - rpms/mozjs78 - src.fedoraproject.org + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+
+
+

+

+
+
+

+rpms / mozjs78 +

+
+
+
+
+
+
+ + + Clone + + + +
+
+
+
+ + +
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ + +
+ + Blob + + Blame + + History + + Raw +
+ +
--- a/python/mozbuild/mozbuild/configure/__init__.py
++++ b/python/mozbuild/mozbuild/configure/__init__.py
+@@ -473,8 +473,8 @@
+             msg = 'Unknown option: %s' % without_value
+             if self._help:
+                 self._logger.warning(msg)
+-            else:
+-                raise InvalidOptionError(msg)
++            #else:
++            #    raise InvalidOptionError(msg)
+
+         # Run the execution queue
+         for func, args in self._execution_queue:
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mozjs78-78.8.0-spidermonkey_checks_disable.patch b/mozjs78-78.8.0-spidermonkey_checks_disable.patch new file mode 100644 index 0000000..14ba0ad --- /dev/null +++ b/mozjs78-78.8.0-spidermonkey_checks_disable.patch @@ -0,0 +1,10 @@ +--- a/config/run_spidermonkey_checks.py ++++ b/config/run_spidermonkey_checks.py +@@ -11,5 +11,5 @@ + for script in scripts: + retcode = subprocess.call( + [sys.executable, script], cwd=buildconfig.topsrcdir) +- if retcode != 0: +- raise Exception(script + " failed") ++ #if retcode != 0: ++ # raise Exception(script + " failed") diff --git a/mozjs78.spec b/mozjs78.spec new file mode 100644 index 0000000..c6588e4 --- /dev/null +++ b/mozjs78.spec @@ -0,0 +1,216 @@ +%define MAJver %(echo %version | cut -d. -f1) +%define majver %(echo %version | cut -d. -f1-2) +Name: mozjs78 +Version: 78.8.0 +Release: 2mamba +Summary: SpiderMonkey JavaScript library +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://www.mozilla.org +Source: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz +#Source: http://ftp.gnome.org/pub/gnome/teams/releng/tarballs-needing-help/mozjs/mozjs-%{version}gnome.tar.xz +#Source: http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-%{version}.tar.bz2 +Patch0: mozjs-68.4.2-fix-soname.patch +Patch1: mozjs-68.4.2-arm-Add-options-to-specify-Rust-target-name.patch +Patch2: mozjs78-78.8.0-arm-disable_emulate_arm_unaligned_fp_access.patch +Patch3: mozjs-68.4.2-gcc-10.0.patch +Patch4: mozjs78-78.8.0-init_patch.patch +Patch5: mozjs78-78.8.0-spidermonkey_checks_disable.patch +Patch6: mozjs78-78.8.0-fix-soname.patch +Patch7: mozjs78-78.8.0-copy-headers.patch +Patch8: mozjs78-78.8.0-emitter.patch +Patch9: mozjs78-78.8.0-arm-force-rust-target.patch +# Only GPL because linking to readline +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libatomic-devel +BuildRequires: libgcc +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 +SpiderMonkey JavaScript library. + +%package -n lib%{name} +Group: System/Libraries +Summary: SpiderMonkey JavaScript library + +%description -n lib%{name} +SpiderMonkey JavaScript library. + +%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 +#-D -T +#:<< _EOF +cd firefox-%{version} +%ifarch arm +%patch2 -p1 +%endif +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 + +%build +#:<< _EOF +cd firefox-%{version}/js/src +# 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" + +# build_with_lto +# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd +export CARGO_PROFILE_RELEASE_LTO=true + +export CFLAGS="%{optflags}" +export CXXFLAGS="$CFLAGS" +export LINKFLAGS="%{?__global_ldflags}" +export PYTHON="%{__python3}" + +autoconf-2.13 + +%configure \ +%ifarch %{ix86} + --host=i686-pc-linux-gnu \ + --build=i686-pc-linux-gnu \ +%endif + --without-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}" +cd firefox-%{version}/js/src +%makeinstall + +# Fix permissions +chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc + +# Avoid multilib conflicts +case `uname -m` in + i386 | arm | ppc | s390 | sparc ) + wordsize="32" + ;; + x86_64 | aarch64 | ppc64 | s390x | sparc64 ) + wordsize="64" + ;; + *) + wordsize="" + ;; +esac + +if test -n "$wordsize" + +then + mv %{buildroot}%{_includedir}/mozjs-%{MAJver}/js-config.h \ + %{buildroot}%{_includedir}/mozjs-%{MAJver}/js-config-$wordsize.h + cat >%{buildroot}%{_includedir}/mozjs-%{MAJver}/js-config.h < +#if __WORDSIZE == 32 +# include "js-config-32.h" +#elif __WORDSIZE == 64 +# include "js-config-64.h" +#else +# error "unexpected value for __WORDSIZE macro" +#endif +#endif +EOF +fi + +# 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.* +%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 +* Tue Mar 16 2021 Silvan Calarco 78.8.0-2mamba +- fix broken shared library symlinks + +* Mon Mar 15 2021 Silvan Calarco 78.8.0-1mamba +- update to 78.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