fix broken shared library symlinks [release 78.8.0-2mamba;Tue Mar 16 2021]

This commit is contained in:
Silvan Calarco 2024-01-06 07:19:16 +01:00
parent c1cd22be65
commit 47f4eff566
12 changed files with 1116 additions and 0 deletions

View File

@ -1,2 +1,4 @@
# mozjs78 # mozjs78
SpiderMonkey JavaScript library.

View File

@ -0,0 +1,77 @@
From: Takuro Ashie <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

View File

@ -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.

View File

@ -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 <tuple>
+#include <cstring>
namespace mozilla {

View File

@ -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 <sys/user.h>
#endif

View File

@ -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 \

View File

@ -0,0 +1,38 @@
From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
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

View File

@ -0,0 +1,61 @@
From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
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

View File

@ -0,0 +1,26 @@
From d21c7cb9343d8c495d987e71be0f35887574c820 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
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

View File

@ -0,0 +1,629 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Tree - rpms/mozjs78 - src.fedoraproject.org</title>
<link rel="shortcut icon" type="image/vnd.microsoft.icon"
href="/theme/static/favicon.ico?version=5.13.2"/>
<link href="/theme/static/fedora-bootstrap-1.3.0/fedora-bootstrap.min.css?version=5.13.2"
type="text/css" rel="stylesheet" />
<link href="/theme/static/fonts/fonts.css?version=5.13.2"
rel="stylesheet" type="text/css" />
<link href="/theme/static/fonts/hack_fonts/css/hack-extended.min.css?version=5.13.2"
type="text/css" rel="stylesheet" />
<link href="/theme/static/theme.css?version=5.13.2"
type="text/css" rel="stylesheet" />
<link type="text/css" rel="stylesheet" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" href="/static/vendor/font-awesome/font-awesome.css?version=5.13.2"/>
<link type="text/css" rel="stylesheet" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" href="/static/pagure.css?version=5.13.2"/>
<link nonce="dajrglbEQ6NWMUj2XHBQjaG5N" rel="stylesheet" href="/static/vendor/highlight.js/styles/github.css?version=5.13.2"/>
<link nonce="dajrglbEQ6NWMUj2XHBQjaG5N" rel="stylesheet" href="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.css?version=5.13.2"/>
<style nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
.hljs {
background: #fff;
}
</style>
</head>
<body id="home">
<!-- start masthead -->
<nav class="navbar navbar-light masthead p-0 navbar-expand">
<div class="container">
<a href="/" class="navbar-brand">
<img height=40px src="/theme/static/pagure-logo.png?version=5.13.2"
alt="pagure Logo" id="pagureLogo"/>
</a>
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="btn btn-primary" href="/login/?next=https://src.fedoraproject.org/rpms/mozjs78/blob/rawhide/f/init_patch.patch">Log In</a>
</li>
</ul>
</div>
</nav>
<!-- close masthead-->
<div class="bodycontent">
<div class="bg-light border border-bottom pt-3">
<div class="container">
<div class="row mb-3">
<div class="col-6">
<div class="row">
<div class="col-auto pr-0">
<h3>
<i class="fa fa-archive text-muted"></i></h3>
</div>
<div class="col-auto pl-2">
<h3 class="mb-0">
<a href="/projects/rpms/%2A">rpms</a>&nbsp;/&nbsp;<a href="/rpms/mozjs78"><strong>mozjs78</strong></a>
</h3>
</div>
</div>
</div>
<div class="col-6 text-right">
<div class="btn-group">
<div class="btn-group">
<a href="#"
class="btn btn-sm dropdown-toggle btn-outline-primary"
data-toggle="dropdown" id="watch-button">
<i class="fa fa-clone fa-fw"></i>
<span>Clone</span>
</a>
<div class="dropdown-menu dropdown-menu-right">
<div class="m-3" id="source-dropdown" class="pointer">
<div>
<h5><strong>Source Code</strong></h5>
<div class="form-group">
<div class="input-group input-group-sm">
<div class="input-group-prepend"><span class="input-group-text">GIT</span></div>
<input class="form-control bg-white select-on-focus" type="text" value="https://src.fedoraproject.org/rpms/mozjs78.git" readonly>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<ul class="nav nav-tabs nav-small border-bottom-0">
<li class="nav-item mr-2 text-dark">
<a class="nav-link active" href="/rpms/mozjs78">
<i class="fa fa-code fa-fw text-muted"></i>
<span class="d-none d-md-inline">Source</span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&product=Fedora&product=Fedora EPEL&component=mozjs78">
<i class="fa fa-fw text-muted fa-exclamation-circle"></i>
<span class="d-none d-md-inline">Issues&nbsp;</span>
<span class="fa fa-external-link"></span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="/rpms/mozjs78/pull-requests">
<i class="fa fa-fw text-muted fa-arrow-circle-down"></i>
<span class="d-none d-md-inline">Pull Requests&nbsp;</span>
<span class="badge badge-secondary py-0 d-none d-md-inline">
0
</span>
</a>
</li>
<li class="nav-item mr-2 text-dark">
<a class="nav-link" href="/rpms/mozjs78/stats">
<i class="fa fa-line-chart fa-fw text-muted"></i>
<span class="d-none d-md-inline">Stats</span>
</a>
</li>
</ul>
</div>
</div>
<div class="container pt-5 repo-body-container">
<div class="row">
<div class="col-2">
<nav class="nav nav-tabs nav-sidetabs flex-column">
<a class=
"nav-link nowrap
"
href="/rpms/mozjs78">
<i class="fa fa-home text-muted fa-fw"></i>&nbsp;<span class="d-none d-md-inline">Overview</span>
</a>
<a class=
"nav-link nowrap
active"
href="/rpms/mozjs78/tree/rawhide">
<i class="fa fa-file-code-o text-muted fa-fw"></i>&nbsp;Files
</a>
<a class=
"nav-link nowrap
"
href="/rpms/mozjs78/commits/rawhide">
<i class="fa fa-list-alt text-muted fa-fw" data-glyph="spreadsheet"></i>&nbsp;Commits
</a>
<a class=
"nav-link nowrap
"
href="/rpms/mozjs78/branches?branchname=rawhide">
<i class="fa fa-random text-muted fa-fw"></i>&nbsp;Branches
</a>
<a class=
"nav-link nowrap
"
href="/rpms/mozjs78/forks">
<i class="fa fa-code-fork text-muted fa-fw"></i>&nbsp;Forks
</a>
<a class=
"nav-link nowrap
"
href="/rpms/mozjs78/releases">
<i class="fa fa-tags text-muted fa-fw"></i>&nbsp;Releases
</a>
<div class="col-xs-2 line-height-1"></div>
<h6>Monitoring status:</h6>
<div class="btn-group">
<button title="Monitoring status" class="btn btn-sm btn-outline-primary disabled"
id="monitoring-button">
<i id="monitoring-icon" class="fa fa-fw fa-eye"></i>
<span id="monitoring-label" class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></span>
</button>
</div>
<div class="col-xs-2 line-height-1"></div>
<div id="orphan-section" class="pt-3">
<div class="col-xs-2 line-height-1"></div>
</div>
<div class="pt-3">
<div class="col-xs-2 line-height-1">
<h6>Bugzilla Assignee:</h6>
<dl>
<dt>Fedora: </dt>
<dd id="fedora_assignee_txt">
frantisekz
</dd>
<dt>EPEL: </dt>
<dd id="epel_assignee_txt">
frantisekz
</dd>
</dl>
</div>
</div>
<div class="modal fade" id="modal_assignee" tabindex="-1"
role="dialog" aria-labelledby="Bugzilla assignee" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Bugzilla Assignee</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
</div>
<form id="change_assignees">
<div class="modal-body">
<label for="fedora_assignee">Fedora</label>
<input title="Default assignee for Fedora in bugzilla - Empty input resets to default"
class="form-control" name="fedora_assignee" id="fedora_assignee" value="frantisekz"/>
<label for="epel_assignee">EPEL</label>
<input title="Default assignee for EPEL in bugzilla (if applicable) - Empty input resets to default"
class="form-control" name="epel_assignee" id="epel_assignee" value="frantisekz" />
<p class="pt-2">
These two fields allow to specify a different default assignee for ticket opened against
this package in bugzilla. Note: The EPEL field is
always displayed for packages in the 'rpms' namespace regardless of whether it
is used in bugzilla or not. </p>
</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" title="Update bugzilla overrides" id="reset_assignees">
Reset to defaults
</button>
<button class="btn btn-primary" type="submit" title="Update bugzilla overrides" id="update_assignees">
Update
</button>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="modal_orphan" tabindex="-1"
role="dialog" aria-labelledby="Orphan this package" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Orphan package</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
<span class="sr-only">Close</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="reason_menu">Reason</label>
<select id="reason_menu" class="form-control">
<option id="lack_of_time_option_button">Lack of time</option>
<option id="do_not_use_it_option_button">Do not use it anymore</option>
<option id="unmaintained_option_button">Unmaintained upstream</option>
<option id="fails_to_build_option_button">Fails to build from source</option>
<option id="not_fixed_option_button">Important bug not fixed</option>
<option id="other_option_button">Other</option>
</select>
</div>
<label for="orphan_reason_info">Additional info</label>
<input title="Additional info for orphaning reason"
class="form-control" name="orphan_reason_info" id="orphan_reason_info" value=""/>
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="submit" title="Orphan this package" id="orphan_button">
Update
</button>
</div>
</div>
</div>
</div>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
window.addEventListener('load', function() {
set_up_monitoring = function(status){
var _label = "Disabled"
if (status === "monitoring") {
_label = "Monitoring";
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else if (status === "monitoring-with-scratch") {
_label = "Scratch builds"
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
} else {
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye-slash")
}
$("#monitoring-label").text(_label);
$("#monitoring-label").removeClass("fa fa-circle-o-notch fa-spin fa-1x fa-fw");
}
$.ajax({
url: "/_dg/anitya/rpms/mozjs78",
type: 'GET',
dataType: 'json',
success: function(res) {
console.log(res);
set_up_monitoring(res.monitoring)
}
});
$("#reset_assignees").on('click', function(){
$('#fedora_assignee').val('');
$('#epel_assignee').val('');
$("#change_assignees").submit();
return false;
});
$("#change_assignees").on('submit', function(){
$('html').css('cursor', 'progress');
$('#reset_assignees').attr('disabled', true);
$('#update_assignees').attr('disabled', true);
$('#update_assignees').text('Updating...');
$.ajax({
url: "/_dg/bzoverrides/rpms/mozjs78",
type: 'POST',
dataType: 'json',
data: {
'epel_assignee': $('#epel_assignee').val(),
'fedora_assignee': $('#fedora_assignee').val()
},
success: function(res) {
$("#fedora_assignee_txt").text(res.fedora_assignee);
$("#epel_assignee_txt").text(res.epel_assignee);
$('#modal_assignee').modal('hide');
$('#reset_assignees').attr('disabled', false);
$('#update_assignees').attr('disabled', false);
$('#update_assignees').text('Update');
$('html').css('cursor', 'default');
console.log("Successfully changed the bugzilla assignees");
return false;
},
error: function(res) {
var msg = '';
if(res.responseJSON.errors){
msg = ': ' + res.responseJSON.errors.join(', ');
}
alert("Unable to update the bugzilla assignee(s)" + msg);
$('html').css('cursor', 'default');
$('#reset_assignees').attr('disabled', false);
$('#update_assignees').attr('disabled', false);
$('#update_assignees').text('Update');
return false;
}
})
return false;
});
$.ajax({
url: "/_dg/actived/rpms/mozjs78",
type: 'GET',
dataType: 'json',
success: function(res) {
var _btn = $("#take_orphan_button");
if (!res.active){
_btn.off("click");
_btn.click(function(){
window.open(
"https://pagure.io/releng/new_issue?title="
+ "Unretire rpms/mozjs78"
+ "&amp;template=package_unretiremet");
});
_btn.prop( "title", "Package retired - Open a releng ticket to adopt it" );
_btn.html("Retired");
}
_btn.removeClass('disabled');
}
});
$("#orphan_button").click(function(){
$("#orphan_button").attr("disabled", true);
$.ajax({
url: "/_dg/orphan/rpms/mozjs78",
type: 'POST',
dataType: 'json',
data: {
'orphan_reason': $('#reason_menu').val(),
'orphan_reason_info': $('#orphan_reason_info').val()
},
success: function(res) {
$("#point_of_contact_div").html("Package is currently unmaintained");
$("#orphan_button").attr("disabled", false);
$('#modal_orphan').modal('hide');
$('#orphan-section').html('');
},
error: function(res) {
if (res.responseJSON.errors) {
alert('Unable to orphan the package: ' + res.responseJSON.errors);
} else {
alert('Unable to orphan the package: ' + res.responseJSON.error);
}
$("#orphan_button").attr("disabled", false);
}
});
});
});
</script>
</nav> </div>
<div class="col-10">
<div class="row mb-1">
<div class="col-sm-6">
<h3>
Files
</h3>
</div>
<div class="col-sm-6">
<div class="float-right">
<div class="btn-group">
<a href="#" class="btn btn-outline-light border-secondary text-dark btn-sm dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="fa fa-random fa-fw"></span> Branch: <span class="font-weight-bold">rawhide</span>
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item pl-1 " href="/rpms/mozjs78/tree/f32">
<span class="fa fa-random fa-fw"></span> <span class="">f32</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/mozjs78/tree/f33">
<span class="fa fa-random fa-fw"></span> <span class="">f33</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/mozjs78/tree/f34">
<span class="fa fa-random fa-fw"></span> <span class="">f34</span>
</a>
<a class="dropdown-item pl-1 " href="/rpms/mozjs78/tree/main">
<span class="fa fa-random fa-fw"></span> <span class="">main</span>
</a>
<a class="dropdown-item pl-1 active" href="/rpms/mozjs78/tree/rawhide">
<span class="fa fa-random fa-fw"></span> <span class="font-weight-bold">rawhide</span>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-3">
<div class="card-header">
<ol class="breadcrumb p-0 bg-transparent mb-0">
<li class="breadcrumb-item">
<a href="/rpms/mozjs78/tree/rawhide">
<span class="fa fa-random">
</span>&nbsp; rawhide
</a>
</li>
<li class="active breadcrumb-item">
<span class="fa fa-file" data-glyph="">
</span>&nbsp; init_patch.patch
</li>
</ol>
</div>
<div class="card-body p-0">
<div class="bg-light border text-right pr-2">
<form class="btn btn-sm" method="POST" name="fork_project"
action="/fork_edit/rpms/mozjs78/edit/rawhide/f/init_patch.patch">
<button class="btn btn-sm btn-secondary fork_project_btn">
Fork and Edit
</button>
</form>
<a class="btn btn-secondary btn-sm" href="/rpms/mozjs78/blob/rawhide/f/init_patch.patch" title="View as blob">Blob</a>
<a class="btn btn-secondary btn-sm" href="/rpms/mozjs78/blame/init_patch.patch?identifier=rawhide" title="View git blame">Blame</a>
<a class="btn btn-secondary btn-sm" href="/rpms/mozjs78/history/init_patch.patch?identifier=rawhide" title="View git log for this file">History</a>
<a class="btn btn-secondary btn-sm" href="/rpms/mozjs78/raw/rawhide/f/init_patch.patch" title="View as raw">Raw</a>
</div>
<pre class="syntaxhighlightblock"><code class="lang-diff">--- a/python/mozbuild/mozbuild/configure/__init__.py
+++ b/python/mozbuild/mozbuild/configure/__init__.py
@@ -473,8 +473,8 @@
msg = &#39;Unknown option: %s&#39; % 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:
</code></pre>
</div>
</div> <!-- end .card-->
</div>
</div>
</div>
</div>
<div class="footer pt-4 text-white">
<div class="container">
<div class="d-flex align-items-center">
<div>
<div>Powered by <a href="https://pagure.io/pagure" class="notblue">Pagure</a> 5.13.2</div>
<div>
<a href="https://docs.pagure.org/pagure/usage/index.html" class="notblue">Documentation</a> &bull;
<a href="https://pagure.io/pagure/new_issue" class="notblue">File an Issue</a> &bull;
<a href="/about">About this Instance</a> &bull;
<a href="/ssh_info" class="notblue">SSH Hostkey/Fingerprint</a>
</div>
</div>
<div class="ml-auto text-right">
<div>&copy; Red Hat, Inc. and others.</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" src="/static/vendor/jquery/jquery.min.js?version=5.13.2"></script>
<script src="/static/vendor/bootstrap/bootstrap.bundle.min.js?version=5.13.2"></script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
$('[data-toggle="tooltip"]').tooltip({placement : 'bottom'});
$(".cancel_btn").click(function() {
history.back();
});
</script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" src="/static/vendor/lazyload/lazyload.min.js?version=5.13.2"></script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
window.addEventListener("load", function(event) {
lazyload();
});
</script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
$("#giturl-toggle").on('click', function(event){
event.stopPropagation();
$("#giturl-more").toggle();
$("#giturl-toggle").hide();
})
$(".fork_project_btn").click(function() {
$('#fork_project').submit();
});
$(".select-on-focus").on("focus", function() {
$(this).select();
});
</script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" src="/static/vendor/highlight.js/highlight.pack.js?version=5.13.2"></script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" src="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.js?version=5.13.2"></script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N" src="/static/vendor/highlight.js/spec.js?version=5.13.2"></script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
$(document).ready(function() {
$('.fork_project_btn').click($("[name=fork_project]").submit);
$('pre.syntaxhighlightblock code').each(function(i, block) {
hljs.highlightBlock(block);
hljs.lineNumbersBlock(block);
});
var cls = "highlighted-line";
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
if (! isNaN(lines[0]))
{
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
$('#_' + i).parent().parent().addClass(cls);
}
setTimeout(function(){
$("#_" + lines[0]).get(0).scrollIntoView({behavior: "instant", block: "start", inline: "nearest"});
}, 50);
}
});
</script>
<script type="text/javascript" nonce="dajrglbEQ6NWMUj2XHBQjaG5N">
function updateHighlight() {
var cls = "highlighted-line";
$('.' + cls).removeClass(cls)
if (location.hash !== '') {
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
$('[data-line-number=' + i + ']').closest('tr').addClass(cls);
}
return lines;
}
return [];
}
$(window).on('hashchange', updateHighlight);
var selected = [];
$("[data-line-number]").click(function (ev) {
var line = $(this).attr('data-line-number');
if (ev.shiftKey) {
selected = selected.slice(-1).concat(line);
} else {
selected = [line];
}
var hash = '_' + selected[0];
if (selected.length === 2) {
hash = '_' + Math.min(selected[0], selected[1]) + '-' + Math.max(selected[0], selected[1]);
}
window.location.hash = hash;
return false;
});
</script>
</body>
</html>

View File

@ -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")

216
mozjs78.spec Normal file
View File

@ -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 <silvan.calarco@mambasoft.it>
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 <<EOF
#ifndef JS_CONFIG_H_MULTILIB
#define JS_CONFIG_H_MULTILIB
#include <bits/wordsize.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 <silvan.calarco@mambasoft.it> 78.8.0-2mamba
- fix broken shared library symlinks
* Mon Mar 15 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 78.8.0-1mamba
- update to 78.8.0
* Sun Mar 22 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 68.4.2-1mamba
- update to 68.4.2
* Sat Jul 06 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 60.1.0-1mamba
- update to 60.1.0
* Tue Dec 11 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 52.6.0-1mamba
- update to 52.6.0
* Mon Dec 10 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 52.2.1-2mamba
- arm: rebuilt
* Mon Aug 13 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 52.2.1-1mamba
- update to 52.2.1
* Thu Jun 19 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 24.2.0-1mamba
- package created from mozjs185