Accepting request 634813 from GNOME:Next
OBS-URL: https://build.opensuse.org/request/show/634813 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gjs?expand=0&rev=155
This commit is contained in:
parent
87f20a2a90
commit
168582a143
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:ce21d8a83f6077b011b8834c4936281be65b2b62387f0745c3eb9adf780996fc
|
|
||||||
size 626512
|
|
3
gjs-1.54.0.tar.xz
Normal file
3
gjs-1.54.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e22c63f4dbf243d7a5a6660f6443ca3e5768695a48fc9fdf078bce7cf7aa657d
|
||||||
|
size 647552
|
@ -1,91 +0,0 @@
|
|||||||
From 090298512b12e76929bf8bd14dccbfd355f78dce Mon Sep 17 00:00:00 2001
|
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
|
||||||
Date: Fri, 30 Mar 2018 21:37:37 -0300
|
|
||||||
Subject: [PATCH] context: Add API to force GC schedule
|
|
||||||
|
|
||||||
There are situations where we cannot run the
|
|
||||||
GC right away, but we also cannot ignore the
|
|
||||||
need of running it.
|
|
||||||
|
|
||||||
For those cases, add a new private function
|
|
||||||
that forces GC to happen on idle.
|
|
||||||
---
|
|
||||||
gjs/context-private.h | 2 ++
|
|
||||||
gjs/context.cpp | 29 +++++++++++++++++++++++++----
|
|
||||||
2 files changed, 27 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gjs/context-private.h b/gjs/context-private.h
|
|
||||||
index 6dbe669..c45c8d0 100644
|
|
||||||
--- a/gjs/context-private.h
|
|
||||||
+++ b/gjs/context-private.h
|
|
||||||
@@ -36,6 +36,8 @@ bool _gjs_context_destroying (GjsContext *js_context);
|
|
||||||
|
|
||||||
void _gjs_context_schedule_gc_if_needed (GjsContext *js_context);
|
|
||||||
|
|
||||||
+void _gjs_context_schedule_gc (GjsContext *js_context);
|
|
||||||
+
|
|
||||||
void _gjs_context_exit(GjsContext *js_context,
|
|
||||||
uint8_t exit_code);
|
|
||||||
|
|
||||||
diff --git a/gjs/context.cpp b/gjs/context.cpp
|
|
||||||
index c509943..77d7eaa 100644
|
|
||||||
--- a/gjs/context.cpp
|
|
||||||
+++ b/gjs/context.cpp
|
|
||||||
@@ -90,6 +90,7 @@ struct _GjsContext {
|
|
||||||
uint8_t exit_code;
|
|
||||||
|
|
||||||
guint auto_gc_id;
|
|
||||||
+ bool force_gc;
|
|
||||||
|
|
||||||
std::array<JS::PersistentRootedId*, GJS_STRING_LAST> const_strings;
|
|
||||||
|
|
||||||
@@ -592,22 +593,42 @@ trigger_gc_if_needed (gpointer user_data)
|
|
||||||
{
|
|
||||||
GjsContext *js_context = GJS_CONTEXT(user_data);
|
|
||||||
js_context->auto_gc_id = 0;
|
|
||||||
- gjs_gc_if_needed(js_context->context);
|
|
||||||
+
|
|
||||||
+ if (js_context->force_gc)
|
|
||||||
+ JS_GC(js_context->context);
|
|
||||||
+ else
|
|
||||||
+ gjs_gc_if_needed(js_context->context);
|
|
||||||
+
|
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
}
|
|
||||||
|
|
||||||
-void
|
|
||||||
-_gjs_context_schedule_gc_if_needed (GjsContext *js_context)
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+_gjs_context_schedule_gc_internal (GjsContext *js_context,
|
|
||||||
+ bool force_gc)
|
|
||||||
{
|
|
||||||
if (js_context->auto_gc_id > 0)
|
|
||||||
- return;
|
|
||||||
+ g_source_remove(js_context->auto_gc_id);
|
|
||||||
|
|
||||||
+ js_context->force_gc = force_gc;
|
|
||||||
js_context->auto_gc_id = g_idle_add_full(G_PRIORITY_LOW,
|
|
||||||
trigger_gc_if_needed,
|
|
||||||
js_context, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
+_gjs_context_schedule_gc (GjsContext *js_context)
|
|
||||||
+{
|
|
||||||
+ _gjs_context_schedule_gc_internal(js_context, true);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
+_gjs_context_schedule_gc_if_needed (GjsContext *js_context)
|
|
||||||
+{
|
|
||||||
+ _gjs_context_schedule_gc_internal(js_context, false);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void
|
|
||||||
_gjs_context_exit(GjsContext *js_context,
|
|
||||||
uint8_t exit_code)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
libgit2 0.27.0
|
|
||||||
|
|
@ -1,123 +0,0 @@
|
|||||||
From e9e969553866b0dd29e78b41c0e372569405f46c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
|
||||||
Date: Wed, 28 Mar 2018 19:21:52 -0300
|
|
||||||
Subject: [PATCH] object: Queue a forced GC when toggling down
|
|
||||||
|
|
||||||
During a GC, the collector asks each object which other
|
|
||||||
objects that it wants to hold on to so if there's an entire
|
|
||||||
section of the heap graph that's not connected to anything
|
|
||||||
else, and not reachable from the root set, then it can be
|
|
||||||
trashed all at once.
|
|
||||||
|
|
||||||
GObjects, however, don't work like that, there's only a
|
|
||||||
reference count but no notion of who owns the reference so,
|
|
||||||
a JS object that's proxying a GObject is unconditionally held
|
|
||||||
alive as long as the GObject has >1 references.
|
|
||||||
|
|
||||||
Since we cannot know how many more wrapped GObjects are going
|
|
||||||
be marked for garbage collection after the owner is destroyed,
|
|
||||||
always queue a garbage collection when a toggle reference goes
|
|
||||||
down.
|
|
||||||
|
|
||||||
Issue: #140
|
|
||||||
---
|
|
||||||
gi/object.cpp | 22 ++++++++++++++++++++++
|
|
||||||
gjs/context-private.h | 2 +-
|
|
||||||
gjs/context.cpp | 14 ++++++++------
|
|
||||||
3 files changed, 31 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gi/object.cpp b/gi/object.cpp
|
|
||||||
index 3fdfced..606a918 100644
|
|
||||||
--- a/gi/object.cpp
|
|
||||||
+++ b/gi/object.cpp
|
|
||||||
@@ -1001,8 +1001,30 @@ handle_toggle_down(GObject *gobj)
|
|
||||||
* collected by the GC
|
|
||||||
*/
|
|
||||||
if (priv->keep_alive.rooted()) {
|
|
||||||
+ GjsContext *context;
|
|
||||||
+
|
|
||||||
gjs_debug_lifecycle(GJS_DEBUG_GOBJECT, "Unrooting object");
|
|
||||||
priv->keep_alive.switch_to_unrooted();
|
|
||||||
+
|
|
||||||
+ /* During a GC, the collector asks each object which other
|
|
||||||
+ * objects that it wants to hold on to so if there's an entire
|
|
||||||
+ * section of the heap graph that's not connected to anything
|
|
||||||
+ * else, and not reachable from the root set, then it can be
|
|
||||||
+ * trashed all at once.
|
|
||||||
+ *
|
|
||||||
+ * GObjects, however, don't work like that, there's only a
|
|
||||||
+ * reference count but no notion of who owns the reference so,
|
|
||||||
+ * a JS object that's proxying a GObject is unconditionally held
|
|
||||||
+ * alive as long as the GObject has >1 references.
|
|
||||||
+ *
|
|
||||||
+ * Since we cannot know how many more wrapped GObjects are going
|
|
||||||
+ * be marked for garbage collection after the owner is destroyed,
|
|
||||||
+ * always queue a garbage collection when a toggle reference goes
|
|
||||||
+ * down.
|
|
||||||
+ */
|
|
||||||
+ context = gjs_context_get_current();
|
|
||||||
+ if (!_gjs_context_destroying(context))
|
|
||||||
+ _gjs_context_schedule_gc(context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/gjs/context-private.h b/gjs/context-private.h
|
|
||||||
index c45c8d0..49c0cf9 100644
|
|
||||||
--- a/gjs/context-private.h
|
|
||||||
+++ b/gjs/context-private.h
|
|
||||||
@@ -36,7 +36,7 @@ bool _gjs_context_destroying (GjsContext *js_context);
|
|
||||||
|
|
||||||
void _gjs_context_schedule_gc_if_needed (GjsContext *js_context);
|
|
||||||
|
|
||||||
-void _gjs_context_schedule_gc (GjsContext *js_context);
|
|
||||||
+void _gjs_context_schedule_gc(GjsContext *js_context);
|
|
||||||
|
|
||||||
void _gjs_context_exit(GjsContext *js_context,
|
|
||||||
uint8_t exit_code);
|
|
||||||
diff --git a/gjs/context.cpp b/gjs/context.cpp
|
|
||||||
index 77d7eaa..a2ce34a 100644
|
|
||||||
--- a/gjs/context.cpp
|
|
||||||
+++ b/gjs/context.cpp
|
|
||||||
@@ -599,31 +599,33 @@ trigger_gc_if_needed (gpointer user_data)
|
|
||||||
else
|
|
||||||
gjs_gc_if_needed(js_context->context);
|
|
||||||
|
|
||||||
+ js_context->force_gc = false;
|
|
||||||
+
|
|
||||||
return G_SOURCE_REMOVE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
-_gjs_context_schedule_gc_internal (GjsContext *js_context,
|
|
||||||
- bool force_gc)
|
|
||||||
+_gjs_context_schedule_gc_internal(GjsContext *js_context,
|
|
||||||
+ bool force_gc)
|
|
||||||
{
|
|
||||||
if (js_context->auto_gc_id > 0)
|
|
||||||
- g_source_remove(js_context->auto_gc_id);
|
|
||||||
+ return;
|
|
||||||
|
|
||||||
- js_context->force_gc = force_gc;
|
|
||||||
+ js_context->force_gc |= force_gc;
|
|
||||||
js_context->auto_gc_id = g_idle_add_full(G_PRIORITY_LOW,
|
|
||||||
trigger_gc_if_needed,
|
|
||||||
js_context, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
-_gjs_context_schedule_gc (GjsContext *js_context)
|
|
||||||
+_gjs_context_schedule_gc(GjsContext *js_context)
|
|
||||||
{
|
|
||||||
_gjs_context_schedule_gc_internal(js_context, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
-_gjs_context_schedule_gc_if_needed (GjsContext *js_context)
|
|
||||||
+_gjs_context_schedule_gc_if_needed(GjsContext *js_context)
|
|
||||||
{
|
|
||||||
_gjs_context_schedule_gc_internal(js_context, false);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
libgit2 0.27.0
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
From c0420db97ea574afe80664d3835995fba0c1e47b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Wed, 25 Apr 2018 13:39:12 +0200
|
|
||||||
Subject: [PATCH] context: Ensure force_gc flag is not lost if the idle is scheduled
|
|
||||||
|
|
||||||
If the first caller that triggers the idle happens to be non-forcing,
|
|
||||||
all later forcing calls would be ignored.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gjs/issues/150
|
|
||||||
|
|
||||||
Closes: #150
|
|
||||||
---
|
|
||||||
gjs/context.cpp | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/gjs/context.cpp b/gjs/context.cpp
|
|
||||||
index a2ce34a..e66a9f8 100644
|
|
||||||
--- a/gjs/context.cpp
|
|
||||||
+++ b/gjs/context.cpp
|
|
||||||
@@ -609,10 +609,11 @@ static void
|
|
||||||
_gjs_context_schedule_gc_internal(GjsContext *js_context,
|
|
||||||
bool force_gc)
|
|
||||||
{
|
|
||||||
+ js_context->force_gc |= force_gc;
|
|
||||||
+
|
|
||||||
if (js_context->auto_gc_id > 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
- js_context->force_gc |= force_gc;
|
|
||||||
js_context->auto_gc_id = g_idle_add_full(G_PRIORITY_LOW,
|
|
||||||
trigger_gc_if_needed,
|
|
||||||
js_context, NULL);
|
|
||||||
--
|
|
||||||
libgit2 0.27.0
|
|
||||||
|
|
112
gjs.changes
112
gjs.changes
@ -1,3 +1,113 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 9 07:16:38 UTC 2018 - antoine.belvire@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 1.54.0:
|
||||||
|
+ Compatibility fix for byte arrays: the legacy toString()
|
||||||
|
behaviour of byte arrays returned from GObject-introspected
|
||||||
|
functions is now restored. If you use the functionality, a
|
||||||
|
warning will be logged asking you to upgrade your code
|
||||||
|
(glgo#GNOME/gjs#227).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 31 03:31:25 UTC 2018 - luc14n0@linuxmail.org
|
||||||
|
|
||||||
|
- Update to version 1.53.92:
|
||||||
|
+ Technology preview of a GNOME 3.32 feature: native Promises for
|
||||||
|
GIO-style asynchronous operations. Since this is a technology
|
||||||
|
preview, we do not guarantee API stability with the version
|
||||||
|
coming in GNOME 3.32. These APIs are marked with underscores to
|
||||||
|
emphasize that they are not stable yet. Use them at your own
|
||||||
|
risk.
|
||||||
|
+ Closed bugs and merge requests:
|
||||||
|
- Added promisify to GJS GIO overrides (glgo#GNOME/gjs!225).
|
||||||
|
- Temporary fix for Gio.File.prototype (glgo#GNOME/gjs!226).
|
||||||
|
- Changes from version 1.53.91:
|
||||||
|
+ Closed bugs and merge requests:
|
||||||
|
- Fix example eslint errors;
|
||||||
|
- Fix more "lost" GInterface properties.
|
||||||
|
- Changes from version 1.53.90:
|
||||||
|
+ GJS includes a simple debugger now.
|
||||||
|
+ New API for programs that embed GJS:
|
||||||
|
gjs_context_setup_debugger_console().
|
||||||
|
+ New JavaScript features! This version of GJS is based on
|
||||||
|
SpiderMonkey 60, an upgrade from the previous ESR (Extended
|
||||||
|
Support Release) of SpiderMonkey 52.
|
||||||
|
+ Fixed bugs: glgo#GNOME/gjs#178, glgo#GNOME/gjs#179,
|
||||||
|
glgo#GNOME/gjs#185, glgo#GNOME/gjs#110, CWE-126
|
||||||
|
(glgo#GNOME/gjs#174), glgo#GNOME/gjs#149, glgo#GNOME/gjs#132,
|
||||||
|
glgo#GNOME/gjs#161, glgo#GNOME/gjs#5, glgo#GNOME/gjs#186.
|
||||||
|
- Changes from version 1.53.4:
|
||||||
|
+ Refactored the way GObject properties are accessed. This should
|
||||||
|
be a bit more efficient, as property info (GParamSpec) is now
|
||||||
|
cached for every object type. There may still be some
|
||||||
|
regressions from this; please be on the lookout so we can fix
|
||||||
|
them in the next release.
|
||||||
|
+ The memory usage for each object instance has been reduced,
|
||||||
|
resulting in several dozens of megabytes less memory usage in
|
||||||
|
GNOME Shell.
|
||||||
|
+ Fixed bugs: glgo#GNOME/gjs#160, glgo#GNOME/gjs#24,
|
||||||
|
glgo#GNOME/gjs#173, glgo#GNOME/gjs#165, glgo#GNOME/gjs#171,
|
||||||
|
glgo#GNOME/gjs#177, glgo#GNOME/gjs#172, glgo#GNOME/gjs#182.
|
||||||
|
- Changes from version 1.53.3:
|
||||||
|
+ Closed bugs and merge requests:
|
||||||
|
- Adding multiple ESLint rules for spacing.
|
||||||
|
- Various maintenance.
|
||||||
|
- Add pkgconfig(mozjs-60) BuildRequires while dropping its
|
||||||
|
predecessor pkgconfig(mozjs-52) and mozjs52-devel to reflect
|
||||||
|
upstream changes.
|
||||||
|
- Conditionalize the use of systemtap/dtrace: they are currently
|
||||||
|
failing.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 8 01:53:03 UTC 2018 - luc14n0@linuxmail.org
|
||||||
|
|
||||||
|
- Update to version 1.53.3:
|
||||||
|
+ Adding multiple ESLint rules for spacing.
|
||||||
|
+ Various small fixes.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 8 01:53:02 UTC 2018 - luc14n0@linuxmail.org
|
||||||
|
|
||||||
|
- Update to version 1.53.2:
|
||||||
|
+ The `Template` parameter passed to `GObject.registerClass()`
|
||||||
|
now accepts file:/// URIs as well as resource:/// URIs and byte
|
||||||
|
arrays.
|
||||||
|
+ New API: `gjs_get_js_version()` returns a string identifying
|
||||||
|
the version of the underlying SpiderMonkey JS engine. The
|
||||||
|
interpreter executable has also gained a `--jsversion` argument
|
||||||
|
which will print this string.
|
||||||
|
+ Several fixes for memory efficiency and performance.
|
||||||
|
+ Fixed bugs:
|
||||||
|
- Reduce memory overhead of g_object_weak_ref()
|
||||||
|
(glgo#GNOME/gjs#144).
|
||||||
|
- Use compacting GC on RSS size growth (glgo#GNOME/gjs#151).
|
||||||
|
- Segfault on enumeration of GjSFileImporter properties when a
|
||||||
|
searchpath entry contains a symlink.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Jul 8 01:53:01 UTC 2018 - luc14n0@linuxmail.org
|
||||||
|
|
||||||
|
- Update to version 1.53.1:
|
||||||
|
+ Improvements to garbage collection performance.
|
||||||
|
+ Now, when building a class from a UI template file signals
|
||||||
|
defined in the UI template file will be automatically
|
||||||
|
connected.
|
||||||
|
+ Fixed bugs:
|
||||||
|
- Tweener: Add min/max properties;
|
||||||
|
- `ARGV` encoding issues (glgo#GNOME/gjs#22);
|
||||||
|
- Make GC much more aggressive (glgo#GNOME/gjs#62);
|
||||||
|
- Queue GC when a GObject reference is toggled down
|
||||||
|
(glgo#GNOME/gjs#140);
|
||||||
|
- overrides: support Gtk template callbacks;
|
||||||
|
- Ensure not to miss the force_gc flag (glgo#GNOME/gjs#150).
|
||||||
|
- Append LGPL-2.0-or-later to the License tag to conform to due
|
||||||
|
source code licenses. And set LPGL-2.0-or-later License tag for
|
||||||
|
libgjs library subpackage.
|
||||||
|
- Drop fixed upstream patches:
|
||||||
|
+ gjs-Add-API-to-force-GC-schedule.patch and
|
||||||
|
+ gjs-Queue-forced-GC.patch.
|
||||||
|
+ gjs-ensure-force_gc-flag-use.patch.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jul 5 20:00:00 UTC 2018 - bjorn.lie@gmail.com
|
Thu Jul 5 20:00:00 UTC 2018 - bjorn.lie@gmail.com
|
||||||
|
|
||||||
@ -198,7 +308,7 @@ Tue Oct 31 22:54:17 UTC 2017 - luc14n0@linuxmail.org
|
|||||||
+ Minor bugfixes.
|
+ Minor bugfixes.
|
||||||
- Update Url to https://wiki.gnome.org/Projects/Gjs: current Gjs'
|
- Update Url to https://wiki.gnome.org/Projects/Gjs: current Gjs'
|
||||||
project web page.
|
project web page.
|
||||||
- Alignment BuildRequires with configure:
|
- Align BuildRequires with configure:
|
||||||
+ Add pkgconfig(*): cairo-gobject, gio-2.0, gobject-2.0 and
|
+ Add pkgconfig(*): cairo-gobject, gio-2.0, gobject-2.0 and
|
||||||
gthread-2.0.
|
gthread-2.0.
|
||||||
+ Drop pkgconfig(libmozjs-52) and libxml2-tools.
|
+ Drop pkgconfig(libmozjs-52) and libxml2-tools.
|
||||||
|
26
gjs.spec
26
gjs.spec
@ -16,22 +16,19 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: systemtap/dtrace is currently (1.53.91) failing, when
|
||||||
|
# https://gitlab.gnome.org/GNOME/gjs/issues/196 gets fixed and released,
|
||||||
|
# remove all conditional macros and enable systemtap.
|
||||||
|
%bcond_with systemtap
|
||||||
Name: gjs
|
Name: gjs
|
||||||
Version: 1.52.3
|
Version: 1.54.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: JavaScript bindings based on gobject-introspection and Mozilla
|
Summary: JavaScript bindings based on gobject-introspection and Mozilla
|
||||||
License: MIT
|
License: MIT AND LGPL-2.0-or-later
|
||||||
Group: Development/Libraries/GNOME
|
Group: Development/Libraries/GNOME
|
||||||
URL: https://wiki.gnome.org/Projects/Gjs
|
URL: https://wiki.gnome.org/Projects/Gjs
|
||||||
Source0: http://download.gnome.org/sources/gjs/1.52/%{name}-%{version}.tar.xz
|
Source0: http://download.gnome.org/sources/gjs/1.54/%{name}-%{version}.tar.xz
|
||||||
# PATCH-FIX-UPSTREAM gjs-Add-API-to-force-GC-schedule.patch -- context: Add API to force GC schedule
|
|
||||||
Patch0: gjs-Add-API-to-force-GC-schedule.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gjs-Queue-forced-GC.patch -- object: Queue a forced GC when toggling down
|
|
||||||
Patch1: gjs-Queue-forced-GC.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gjs-ensure-force_gc-flag-use.patch -- context: Ensure force_gc flag is not lost if the idle is scheduled
|
|
||||||
Patch2: gjs-ensure-force_gc-flag-use.patch
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: mozjs52-devel
|
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
@ -47,7 +44,7 @@ BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.53.4
|
|||||||
BuildRequires: pkgconfig(gthread-2.0) >= 2.50.0
|
BuildRequires: pkgconfig(gthread-2.0) >= 2.50.0
|
||||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.20
|
BuildRequires: pkgconfig(gtk+-3.0) >= 3.20
|
||||||
BuildRequires: pkgconfig(libffi)
|
BuildRequires: pkgconfig(libffi)
|
||||||
#BuildRequires: pkgconfig(mozjs-52)
|
BuildRequires: pkgconfig(mozjs-60)
|
||||||
Requires: libgjs0 = %{version}
|
Requires: libgjs0 = %{version}
|
||||||
ExcludeArch: s390
|
ExcludeArch: s390
|
||||||
|
|
||||||
@ -57,6 +54,7 @@ Mozilla SpiderMonkey JavaScript engine.
|
|||||||
|
|
||||||
%package -n libgjs0
|
%package -n libgjs0
|
||||||
Summary: JavaScript bindings based on gobject-introspection and Mozilla
|
Summary: JavaScript bindings based on gobject-introspection and Mozilla
|
||||||
|
License: LGPL-2.0-or-later
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Provides: libgjs-0 = %{version}
|
Provides: libgjs-0 = %{version}
|
||||||
Obsoletes: libgjs-0 < %{version}
|
Obsoletes: libgjs-0 < %{version}
|
||||||
@ -68,6 +66,7 @@ Mozilla SpiderMonkey JavaScript engine.
|
|||||||
%package -n typelib-1_0-GjsPrivate-1_0
|
%package -n typelib-1_0-GjsPrivate-1_0
|
||||||
Summary: Introspection bindings for the GJS library
|
Summary: Introspection bindings for the GJS library
|
||||||
# The tyeplib was renamed in gnome 3.6, to reflect it is a private lib.
|
# The tyeplib was renamed in gnome 3.6, to reflect it is a private lib.
|
||||||
|
License: MIT AND LGPL-2.0-or-later
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Obsoletes: typelib-1_0-GjsDBus-1_0 < %{version}
|
Obsoletes: typelib-1_0-GjsDBus-1_0 < %{version}
|
||||||
|
|
||||||
@ -77,6 +76,7 @@ Mozilla SpiderMonkey JavaScript engine.
|
|||||||
|
|
||||||
%package -n libgjs-devel
|
%package -n libgjs-devel
|
||||||
Summary: Development files for the GJS library
|
Summary: Development files for the GJS library
|
||||||
|
License: MIT AND LGPL-2.0-or-later
|
||||||
Group: Development/Libraries/GNOME
|
Group: Development/Libraries/GNOME
|
||||||
Requires: %{name} = %{version}
|
Requires: %{name} = %{version}
|
||||||
Requires: libgjs0 = %{version}
|
Requires: libgjs0 = %{version}
|
||||||
@ -94,7 +94,7 @@ Mozilla SpiderMonkey JavaScript engine.
|
|||||||
%build
|
%build
|
||||||
%configure \
|
%configure \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
--enable-systemtap
|
--%{?with_systemtap:enable}%{!?with_systemtap:disable}-systemtap
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -124,6 +124,8 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
%{_datadir}/%{name}-1.0/
|
%{_datadir}/%{name}-1.0/
|
||||||
|
%if %{with systemtap}
|
||||||
%{_datadir}/systemtap/tapset/*.stp
|
%{_datadir}/systemtap/tapset/*.stp
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user