Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/gjs.git#d10a3db8950f2253aa7d8c20dae9807044c3aa78
This commit is contained in:
parent
baaac057f9
commit
c034103608
1
.gitignore
vendored
1
.gitignore
vendored
@ -115,3 +115,4 @@ gjs-0.7.1.tar.gz
|
||||
/gjs-1.66.1.tar.xz
|
||||
/gjs-1.66.2.tar.xz
|
||||
/gjs-1.67.1.tar.xz
|
||||
/gjs-1.67.2.tar.xz
|
||||
|
274
gjs-gcc11.patch
274
gjs-gcc11.patch
@ -1,26 +1,264 @@
|
||||
From 0b8d5fa865603c43ff4bdc682cb004fefecb336d Mon Sep 17 00:00:00 2001
|
||||
From: Philip Chimento <philip.chimento@gmail.com>
|
||||
Date: Sun, 14 Feb 2021 12:09:38 -0800
|
||||
Subject: [PATCH 1/3] GjsPrivate: Fix indentation in function
|
||||
|
||||
Adding preprocessor directives to this code in a subsequent commit will
|
||||
cause clang-format to reformat parts of it, so just do it all at once.
|
||||
---
|
||||
libgjs-private/gjs-util.c | 43 ++++++++++++++++++++-------------------
|
||||
1 file changed, 22 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/libgjs-private/gjs-util.c b/libgjs-private/gjs-util.c
|
||||
index 6599567d..88a575b9 100644
|
||||
--- a/libgjs-private/gjs-util.c
|
||||
+++ b/libgjs-private/gjs-util.c
|
||||
@@ -36,27 +36,28 @@ gjs_format_int_alternative_output(int n)
|
||||
#endif
|
||||
}
|
||||
|
||||
-GType
|
||||
-gjs_locale_category_get_type(void)
|
||||
-{
|
||||
- static volatile size_t g_define_type_id__volatile = 0;
|
||||
- if (g_once_init_enter(&g_define_type_id__volatile)) {
|
||||
- static const GEnumValue v[] = {
|
||||
- { GJS_LOCALE_CATEGORY_ALL, "GJS_LOCALE_CATEGORY_ALL", "all" },
|
||||
- { GJS_LOCALE_CATEGORY_COLLATE, "GJS_LOCALE_CATEGORY_COLLATE", "collate" },
|
||||
- { GJS_LOCALE_CATEGORY_CTYPE, "GJS_LOCALE_CATEGORY_CTYPE", "ctype" },
|
||||
- { GJS_LOCALE_CATEGORY_MESSAGES, "GJS_LOCALE_CATEGORY_MESSAGES", "messages" },
|
||||
- { GJS_LOCALE_CATEGORY_MONETARY, "GJS_LOCALE_CATEGORY_MONETARY", "monetary" },
|
||||
- { GJS_LOCALE_CATEGORY_NUMERIC, "GJS_LOCALE_CATEGORY_NUMERIC", "numeric" },
|
||||
- { GJS_LOCALE_CATEGORY_TIME, "GJS_LOCALE_CATEGORY_TIME", "time" },
|
||||
- { 0, NULL, NULL }
|
||||
- };
|
||||
- GType g_define_type_id =
|
||||
- g_enum_register_static(g_intern_static_string("GjsLocaleCategory"), v);
|
||||
-
|
||||
- g_once_init_leave(&g_define_type_id__volatile, g_define_type_id);
|
||||
- }
|
||||
- return g_define_type_id__volatile;
|
||||
+GType gjs_locale_category_get_type(void) {
|
||||
+ static volatile size_t g_define_type_id__volatile = 0;
|
||||
+ if (g_once_init_enter(&g_define_type_id__volatile)) {
|
||||
+ static const GEnumValue v[] = {
|
||||
+ {GJS_LOCALE_CATEGORY_ALL, "GJS_LOCALE_CATEGORY_ALL", "all"},
|
||||
+ {GJS_LOCALE_CATEGORY_COLLATE, "GJS_LOCALE_CATEGORY_COLLATE",
|
||||
+ "collate"},
|
||||
+ {GJS_LOCALE_CATEGORY_CTYPE, "GJS_LOCALE_CATEGORY_CTYPE", "ctype"},
|
||||
+ {GJS_LOCALE_CATEGORY_MESSAGES, "GJS_LOCALE_CATEGORY_MESSAGES",
|
||||
+ "messages"},
|
||||
+ {GJS_LOCALE_CATEGORY_MONETARY, "GJS_LOCALE_CATEGORY_MONETARY",
|
||||
+ "monetary"},
|
||||
+ {GJS_LOCALE_CATEGORY_NUMERIC, "GJS_LOCALE_CATEGORY_NUMERIC",
|
||||
+ "numeric"},
|
||||
+ {GJS_LOCALE_CATEGORY_TIME, "GJS_LOCALE_CATEGORY_TIME", "time"},
|
||||
+ {0, NULL, NULL}};
|
||||
+ GType g_define_type_id = g_enum_register_static(
|
||||
+ g_intern_static_string("GjsLocaleCategory"), v);
|
||||
+
|
||||
+ g_once_init_leave(&g_define_type_id__volatile, g_define_type_id);
|
||||
+ }
|
||||
+ return g_define_type_id__volatile;
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 989ac9ac723dc1c8b6b8961292f236c558f5c0f0 Mon Sep 17 00:00:00 2001
|
||||
From: Philip Chimento <philip.chimento@gmail.com>
|
||||
Date: Mon, 15 Feb 2021 20:40:43 -0800
|
||||
Subject: [PATCH 2/3] GjsPrivate: Remove volatile from g_once_init_enter flag
|
||||
|
||||
On platforms where g_once_init_enter() is defined to use C11 atomic
|
||||
builtins, passing a pointer to a volatile value will generate a warning
|
||||
in GCC 11 and later.
|
||||
|
||||
More info about the GCC change:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95378
|
||||
https://gcc.gnu.org/pipermail/gcc-patches/2020-June/548283.html
|
||||
|
||||
More info about changes made in GLib:
|
||||
https://gitlab.gnome.org/GNOME/glib/-/issues/600
|
||||
|
||||
See: #376
|
||||
---
|
||||
libgjs-private/gjs-util.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libgjs-private/gjs-util.c b/libgjs-private/gjs-util.c
|
||||
index 88a575b9..4fd268cd 100644
|
||||
--- a/libgjs-private/gjs-util.c
|
||||
+++ b/libgjs-private/gjs-util.c
|
||||
@@ -37,8 +37,8 @@ gjs_format_int_alternative_output(int n)
|
||||
}
|
||||
|
||||
GType gjs_locale_category_get_type(void) {
|
||||
- static volatile size_t g_define_type_id__volatile = 0;
|
||||
- if (g_once_init_enter(&g_define_type_id__volatile)) {
|
||||
+ static size_t gjs_locale_category_get_type = 0;
|
||||
+ if (g_once_init_enter(&gjs_locale_category_get_type)) {
|
||||
static const GEnumValue v[] = {
|
||||
{GJS_LOCALE_CATEGORY_ALL, "GJS_LOCALE_CATEGORY_ALL", "all"},
|
||||
{GJS_LOCALE_CATEGORY_COLLATE, "GJS_LOCALE_CATEGORY_COLLATE",
|
||||
@@ -55,9 +55,9 @@ GType gjs_locale_category_get_type(void) {
|
||||
GType g_define_type_id = g_enum_register_static(
|
||||
g_intern_static_string("GjsLocaleCategory"), v);
|
||||
|
||||
- g_once_init_leave(&g_define_type_id__volatile, g_define_type_id);
|
||||
+ g_once_init_leave(&gjs_locale_category_get_type, g_define_type_id);
|
||||
}
|
||||
- return g_define_type_id__volatile;
|
||||
+ return gjs_locale_category_get_type;
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From f02eaf3a9d3465915eb849428c2d9615e2184a4c Mon Sep 17 00:00:00 2001
|
||||
From: Philip Chimento <philip.chimento@gmail.com>
|
||||
Date: Sun, 14 Feb 2021 12:20:09 -0800
|
||||
Subject: [PATCH 3/3] maint: Avoid g_once_init_enter error in GCC 11
|
||||
|
||||
On platforms where g_once_init_enter() is defined to use C11 atomic
|
||||
builtins, passing a pointer to a volatile value is an error in GCC 11 and
|
||||
later, in C++.
|
||||
|
||||
More info about the GCC change:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95378
|
||||
https://gcc.gnu.org/pipermail/gcc-patches/2020-June/548283.html
|
||||
|
||||
However, it's my understanding that in modern C++ there is no longer a
|
||||
need to guard the initialization of these variables. Since C++11, static
|
||||
local variables in a function are guaranteed to be initialized only once,
|
||||
the first time control passes through that function. So we can just remove
|
||||
the g_once_init_enter guard.
|
||||
|
||||
More info:
|
||||
https://en.cppreference.com/w/cpp/language/storage_duration#Static_local_variables
|
||||
|
||||
Stack Overflow answers with quotations from the C++ standard:
|
||||
https://stackoverflow.com/a/58804/172999
|
||||
https://stackoverflow.com/a/8102145/172999
|
||||
|
||||
Closes: #376
|
||||
---
|
||||
gjs/error-types.cpp | 32 +++++++++++++-------------------
|
||||
gjs/objectbox.cpp | 31 +++++++++++++------------------
|
||||
gjs/objectbox.h | 3 +++
|
||||
3 files changed, 29 insertions(+), 37 deletions(-)
|
||||
|
||||
diff --git a/gjs/error-types.cpp b/gjs/error-types.cpp
|
||||
index 86cb878..7045260 100644
|
||||
index cdfd7fa3..4c652da4 100644
|
||||
--- a/gjs/error-types.cpp
|
||||
+++ b/gjs/error-types.cpp
|
||||
@@ -31,7 +31,7 @@ G_DEFINE_QUARK(gjs-js-error-quark, gjs_js_error)
|
||||
@@ -12,24 +12,18 @@ G_DEFINE_QUARK(gjs-js-error-quark, gjs_js_error)
|
||||
// clang-format on
|
||||
|
||||
GType gjs_js_error_get_type(void) {
|
||||
- static volatile GType g_type_id;
|
||||
+ static GType g_type_id;
|
||||
-
|
||||
- if (g_once_init_enter(&g_type_id)) {
|
||||
- static GEnumValue errors[] = {
|
||||
- { GJS_JS_ERROR_ERROR, "Error", "error" },
|
||||
- { GJS_JS_ERROR_EVAL_ERROR, "EvalError", "eval-error" },
|
||||
- { GJS_JS_ERROR_INTERNAL_ERROR, "InternalError", "internal-error" },
|
||||
- { GJS_JS_ERROR_RANGE_ERROR, "RangeError", "range-error" },
|
||||
- { GJS_JS_ERROR_REFERENCE_ERROR, "ReferenceError", "reference-error" },
|
||||
- { GJS_JS_ERROR_STOP_ITERATION, "StopIteration", "stop-iteration" },
|
||||
- { GJS_JS_ERROR_SYNTAX_ERROR, "SyntaxError", "syntax-error" },
|
||||
- { GJS_JS_ERROR_TYPE_ERROR, "TypeError", "type-error" },
|
||||
- { GJS_JS_ERROR_URI_ERROR, "URIError", "uri-error" },
|
||||
- { 0, nullptr, nullptr }
|
||||
- };
|
||||
-
|
||||
- g_type_id = g_enum_register_static("GjsJSError", errors);
|
||||
- }
|
||||
-
|
||||
+ static const GEnumValue errors[] = {
|
||||
+ {GJS_JS_ERROR_ERROR, "Error", "error"},
|
||||
+ {GJS_JS_ERROR_EVAL_ERROR, "EvalError", "eval-error"},
|
||||
+ {GJS_JS_ERROR_INTERNAL_ERROR, "InternalError", "internal-error"},
|
||||
+ {GJS_JS_ERROR_RANGE_ERROR, "RangeError", "range-error"},
|
||||
+ {GJS_JS_ERROR_REFERENCE_ERROR, "ReferenceError", "reference-error"},
|
||||
+ {GJS_JS_ERROR_STOP_ITERATION, "StopIteration", "stop-iteration"},
|
||||
+ {GJS_JS_ERROR_SYNTAX_ERROR, "SyntaxError", "syntax-error"},
|
||||
+ {GJS_JS_ERROR_TYPE_ERROR, "TypeError", "type-error"},
|
||||
+ {GJS_JS_ERROR_URI_ERROR, "URIError", "uri-error"},
|
||||
+ {0, nullptr, nullptr}};
|
||||
+ // Initialization of static local variable guaranteed only once in C++11
|
||||
+ static GType g_type_id = g_enum_register_static("GjsJSError", errors);
|
||||
return g_type_id;
|
||||
}
|
||||
diff --git a/gjs/objectbox.cpp b/gjs/objectbox.cpp
|
||||
index 3c60c05e..2ad6cddc 100644
|
||||
--- a/gjs/objectbox.cpp
|
||||
+++ b/gjs/objectbox.cpp
|
||||
@@ -4,8 +4,6 @@
|
||||
|
||||
if (g_once_init_enter(&g_type_id)) {
|
||||
static GEnumValue errors[] = {
|
||||
diff --git a/libgjs-private/gjs-util.c b/libgjs-private/gjs-util.c
|
||||
index d4f7470..e420c78 100644
|
||||
--- a/libgjs-private/gjs-util.c
|
||||
+++ b/libgjs-private/gjs-util.c
|
||||
@@ -56,7 +56,7 @@ gjs_format_int_alternative_output(int n)
|
||||
GType
|
||||
gjs_locale_category_get_type(void)
|
||||
{
|
||||
- static volatile size_t g_define_type_id__volatile = 0;
|
||||
+ static size_t g_define_type_id__volatile = 0;
|
||||
if (g_once_init_enter(&g_define_type_id__volatile)) {
|
||||
static const GEnumValue v[] = {
|
||||
{ GJS_LOCALE_CATEGORY_ALL, "GJS_LOCALE_CATEGORY_ALL", "all" },
|
||||
#include <config.h>
|
||||
|
||||
-#include <stddef.h> // for size_t
|
||||
-
|
||||
#include <algorithm> // for find
|
||||
|
||||
#include <glib.h>
|
||||
@@ -114,24 +112,21 @@ JSObject* ObjectBox::object_for_c_ptr(JSContext* cx, ObjectBox* box) {
|
||||
return box->m_impl->m_root.get();
|
||||
}
|
||||
|
||||
-GType ObjectBox::gtype() {
|
||||
- static volatile size_t type_id = 0;
|
||||
+void* ObjectBox::boxed_copy(void* boxed) {
|
||||
+ auto* box = static_cast<ObjectBox*>(boxed);
|
||||
+ box->m_impl->ref();
|
||||
+ return box;
|
||||
+}
|
||||
|
||||
- if (g_once_init_enter(&type_id)) {
|
||||
- auto objectbox_copy = [](void* boxed) -> void* {
|
||||
- auto* box = static_cast<ObjectBox*>(boxed);
|
||||
- box->m_impl->ref();
|
||||
- return box;
|
||||
- };
|
||||
- auto objectbox_free = [](void* boxed) {
|
||||
- auto* box = static_cast<ObjectBox*>(boxed);
|
||||
- box->m_impl->unref();
|
||||
- };
|
||||
- GType type = g_boxed_type_register_static("JSObject", objectbox_copy,
|
||||
- objectbox_free);
|
||||
- g_once_init_leave(&type_id, type);
|
||||
- }
|
||||
+void ObjectBox::boxed_free(void* boxed) {
|
||||
+ auto* box = static_cast<ObjectBox*>(boxed);
|
||||
+ box->m_impl->unref();
|
||||
+}
|
||||
|
||||
+GType ObjectBox::gtype() {
|
||||
+ // Initialization of static local variable guaranteed only once in C++11
|
||||
+ static GType type_id = g_boxed_type_register_static(
|
||||
+ "JSObject", &ObjectBox::boxed_copy, &ObjectBox::boxed_free);
|
||||
return type_id;
|
||||
}
|
||||
|
||||
diff --git a/gjs/objectbox.h b/gjs/objectbox.h
|
||||
index 276fd5b8..b2d3f349 100644
|
||||
--- a/gjs/objectbox.h
|
||||
+++ b/gjs/objectbox.h
|
||||
@@ -32,6 +32,9 @@ struct ObjectBox {
|
||||
private:
|
||||
explicit ObjectBox(JSObject*);
|
||||
|
||||
+ static void* boxed_copy(void*);
|
||||
+ static void boxed_free(void*);
|
||||
+
|
||||
struct impl;
|
||||
std::unique_ptr<impl> m_impl;
|
||||
};
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
15
gjs.spec
15
gjs.spec
@ -1,11 +1,11 @@
|
||||
%global glib2_version 2.58.0
|
||||
%global gobject_introspection_version 1.61.2
|
||||
%global gtk3_version 3.20
|
||||
%global mozjs78_version 78.7.0-1
|
||||
%global mozjs78_version 78.8.0-1
|
||||
|
||||
Name: gjs
|
||||
Version: 1.67.1
|
||||
Release: 3%{?dist}
|
||||
Version: 1.67.2
|
||||
Release: 2%{?dist}
|
||||
Summary: Javascript Bindings for GNOME
|
||||
|
||||
# The following files contain code from Mozilla which
|
||||
@ -73,7 +73,10 @@ the functionality of the installed gjs package.
|
||||
%meson_install
|
||||
|
||||
%check
|
||||
%ifnarch i686
|
||||
# One test times out on i686
|
||||
xvfb-run -s "-screen 0 1600x1200x24" eval "%meson_test"
|
||||
%endif
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
@ -98,6 +101,12 @@ xvfb-run -s "-screen 0 1600x1200x24" eval "%meson_test"
|
||||
%{_datadir}/installed-tests/
|
||||
|
||||
%changelog
|
||||
* Tue Feb 23 2021 Frantisek Zatloukal <fzatlouk@redhat.com> - 1.67.2-2
|
||||
- Rebuild against mozjs78-78.8.0-1
|
||||
|
||||
* Wed Feb 17 2021 Kalev Lember <klember@redhat.com> - 1.67.2-1
|
||||
- Update to 1.67.2
|
||||
|
||||
* Tue Jan 26 2021 Kalev Lember <klember@redhat.com> - 1.67.1-3
|
||||
- Simplify xvfb-run invocation
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gjs-1.67.1.tar.xz) = b4e570855e256fa4de20399be5869031c422992e104c6741610ca48dd638ef779a5432f648515f2260ac2a63b318354c6c33452657934e97c090f55b1685a7d4
|
||||
SHA512 (gjs-1.67.2.tar.xz) = accdb003e5acd6ddb317410f598e7c146e3c7a9e056021aee79ae21f3e424713b89b337a48e4292a6b3676f80de1509eca7d3fe0955b893da398bb992f237d23
|
||||
|
Loading…
Reference in New Issue
Block a user