summaryrefslogtreecommitdiff
path: root/dev-libs/gjs
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/gjs')
-rw-r--r--dev-libs/gjs/Manifest9
-rw-r--r--dev-libs/gjs/files/gjs-1.64.5-gcc-11-support.patch129
-rw-r--r--dev-libs/gjs/gjs-1.64.4.ebuild47
-rw-r--r--dev-libs/gjs/gjs-1.64.5.ebuild2
-rw-r--r--dev-libs/gjs/gjs-1.70.1.ebuild51
-rw-r--r--dev-libs/gjs/gjs-1.72.0.ebuild16
6 files changed, 148 insertions, 106 deletions
diff --git a/dev-libs/gjs/Manifest b/dev-libs/gjs/Manifest
index 9bb10acc5114..ef771c1bb753 100644
--- a/dev-libs/gjs/Manifest
+++ b/dev-libs/gjs/Manifest
@@ -1,9 +1,6 @@
-DIST gjs-1.64.4.tar.xz 422496 BLAKE2B a96211f7240336dbb30c6965e405f59ee72e4288842837da8da8c6d3c59b7e04ebb6c7a8b0b02d38601c162ffdf1a1fef9f13e4db720c4c483f4a39dffd5dbb4 SHA512 21a15d7106ad6584fb1f02cb0a0a4cab211a3540adb8f2c03d35c211e3946b81935000a52351fedd95a18a7ff6b7f96e665fcafa3c411ff79f2b6cb332c82b42
+AUX gjs-1.64.5-gcc-11-support.patch 5254 BLAKE2B 77ca0c06f8214bc4a61d4e6df2371776c086738d19164d94913b0c55f795078d29c83a1f61ebd435f8977e853f2f7bbd9d442888f9ebef4e6a4fc11575734e16 SHA512 291bd7c518286af2018602a3794b2cdc4b39ea169c527af4e2ee97f9021fad56b361fc5aa65e0d4cac0d33921a97330ef50fbf03ec1d2fe04896c881c4b080ce
DIST gjs-1.64.5.tar.xz 422548 BLAKE2B dcc0b7327cbc6a1108be031c8807e61ebd3c8392916750078aaa0d82cb3bf9f7ff0e1876c250e5ddf6e9d7bb6a17d9d1fe34c1c77ff534b7ec1dd54fa05a2d1b SHA512 41a3c79888792674b2bccbf254507ed02497eb571c8ca7f47aab406d2ee29b73c98b1c7d59c33ed33bad90c6989df944d78b86d2f7e9824d598b62e29769b6dc
-DIST gjs-1.70.1.tar.xz 598444 BLAKE2B 7d5f1b82e9edd20b9b3d3b03511d3cb8e19715d5dcaaa5375867c1c8754895db33089c41e17f28b732183ce510fff868399cd2174062684e0b3072cd599bc12b SHA512 194d8efeb37ecf7f3ea65c0bf0bbe2120524a11448423888d0785868297ebdea12b0ea4b28cb49d2596c7a3d73f13eb216072db8dca5e209193ba3dbbad78b6b
DIST gjs-1.72.0.tar.xz 620296 BLAKE2B 33665e66d548c6017bdc9ddb7409e1a21b07c9257bfa23ef35b58131037eefcf8ec5c8ffddbb1968db374f22729a6da873b85a022a2f3ed00168cba00acc7923 SHA512 224934eed511052d013cc7c2a29ccf79b14e5ed8c01db8071f07858387d7794b9156abd43ac494a13294248d9b6f2956d21c4e9581a41f5161043dff374f72f9
-EBUILD gjs-1.64.4.ebuild 1121 BLAKE2B 98e74cb7ab03be98f02cd62a684c804ea40dff1df80632b13ef2ce357ecd5cd3030a3816258317977e1fce9021e87650d6128d71f773704b7340b6319c419f5b SHA512 229e77055f686debdebdd32e667ad59e706a77346772c8fa6164425bd3e60cb4947d477af9925aa4da8f90eaf55807ebea6c05c85acc594367bb4745f73a576a
-EBUILD gjs-1.64.5.ebuild 1182 BLAKE2B b9b3ac973aa78bfcf7093fdcd01820094e055b5a52368788521cb9eebecf0ea36fe0deb74bd9bac314303cea3c9f24e1cb1438c20abf035a9e86160560557ae9 SHA512 6a4b489a7bb48db88d22a5c2f847d6c6c469af609fa877f95fc1e62ac6c1db0bf5c2b3782d5c31b13538536dae44da27c106e7b54f6e52652c11b20dd1c80305
-EBUILD gjs-1.70.1.ebuild 1189 BLAKE2B f5d195a50c4fb8f270368d87cac25c50ed74fb13ff2f6d9213de4c1ac940a86c9a9a693b539f2a4320e11bd50613c899879fcabbef0a41182b62b8e4a4e194bc SHA512 c3d2524695c7f58d78f3e58f0e7f260b497e6783446bd216a0c1f0abfab91e423f7959d492507abd5b820d7296d5f7d4e235f58c7f7ebe4686a82fef776717be
-EBUILD gjs-1.72.0.ebuild 1194 BLAKE2B ee77ef8ec4e07d76eb007f7d0a798e0cff09cd6d6cab2fe9bb87f31b04fe512307fe8cdcd5a95f36435a34a5d99dc62594b6d55a4304d44e04bc869609520146 SHA512 f712110a9d9c6d0f68b9827390453f8abe6e9ea0c894e040cd3e158f044106bf0e078a64dcc0132fc2e8e6e9f04550424eef80c4d9172d9b11a7c6124cdc3cad
+EBUILD gjs-1.64.5.ebuild 1182 BLAKE2B ba36f6e0485dc507cba57a163eb835d5857e00e6f9dc46e6659bdd4e3b35965f10d8808c3a0220e7369f29c3c0552351ebdff4d590932bf916a11b2ae26ab8bf SHA512 d2be5b242e3249e7a718f7ea595ab3b44a83645f553d7ad42cc5a2b766b96a335b86f182a718fc1544e0817ade4b2d6229a0b0a41f9c4ab5f5ab0af49fc96bde
+EBUILD gjs-1.72.0.ebuild 1885 BLAKE2B 472680725a8ac3fc8f95831135755ff14a111b4491ceada68851fe8754b5e380308524d5d1b5760581cafb2e827a2a74ea449f5d55526d4515ce8358b0e479ea SHA512 b30afd4b9b05e09b4e864f70accc355bfc0fde823cd4cc41decf88732c5a06679167187de2f55df4fbca958367f8c399e5689926c5bdf35e7edd645be6bb5d25
MISC metadata.xml 389 BLAKE2B 68d318dc917f5072b08e83506e14d0f4b8f25bdb90b95701013466112f8fdd77c2cc193257eee82fbce517e41056eeff61cd20137b697f6d1d688d943bafb8cc SHA512 bc4b0c94d58f3f67cbe481c45fdedb5d601e3ca40b5dcc88ef8c7ad9b214e7cd0d5c47d94599f85c11cd1c21dfd57770fd64d442f4b3f960ebc70a8e16f8e8eb
diff --git a/dev-libs/gjs/files/gjs-1.64.5-gcc-11-support.patch b/dev-libs/gjs/files/gjs-1.64.5-gcc-11-support.patch
new file mode 100644
index 000000000000..3808b6d7862b
--- /dev/null
+++ b/dev-libs/gjs/files/gjs-1.64.5-gcc-11-support.patch
@@ -0,0 +1,129 @@
+From 757d42d87e8a3b52a0782bc9cbd33c788ecc34e4 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 1/2] 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
+(cherry picked from commit 989ac9ac723dc1c8b6b8961292f236c558f5c0f0)
+---
+ 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 20a732d5..f7f3189a 100644
+--- a/libgjs-private/gjs-util.c
++++ b/libgjs-private/gjs-util.c
+@@ -57,8 +57,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", "collate" },
+@@ -72,9 +72,9 @@ 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;
+ }
+
+ /**
+--
+2.35.1
+
+From dade6ee66e07a1865dc380060abe921eaeeae763 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 2/2] 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
+(cherry picked from commit f02eaf3a9d3465915eb849428c2d9615e2184a4c)
+---
+ gjs/error-types.cpp | 32 +++++++++++++-------------------
+ 1 file changed, 13 insertions(+), 19 deletions(-)
+
+diff --git a/gjs/error-types.cpp b/gjs/error-types.cpp
+index 86cb8789..5eba61b2 100644
+--- a/gjs/error-types.cpp
++++ b/gjs/error-types.cpp
+@@ -31,24 +31,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;
+-
+- 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;
+ }
+--
+2.35.1
+
diff --git a/dev-libs/gjs/gjs-1.64.4.ebuild b/dev-libs/gjs/gjs-1.64.4.ebuild
deleted file mode 100644
index 8c6b028bbd65..000000000000
--- a/dev-libs/gjs/gjs-1.64.4.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit gnome.org meson virtualx
-
-DESCRIPTION="Javascript bindings for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
-
-LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
-SLOT="0"
-IUSE="+cairo examples gtk readline +sysprof test"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 sparc x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.58.0
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.61.2:=
- dev-lang/spidermonkey:68
- cairo? ( x11-libs/cairo[X] )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.33.2:3 )
- virtual/pkgconfig
- test? ( sys-apps/dbus
- >=x11-libs/gtk+-3.20:3[introspection] )
-"
-
-src_configure() {
- # FIXME: add systemtap/dtrace support, like in glib:2
- local emesonargs=(
- $(meson_feature cairo)
- $(meson_feature readline)
- $(meson_feature sysprof profiler)
- -Dinstalled_tests=false
- $(meson_use !test skip_dbus_tests)
- $(meson_use !test skip_gtk_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/gjs/gjs-1.64.5.ebuild b/dev-libs/gjs/gjs-1.64.5.ebuild
index c8a26722b31f..60973ef2fa78 100644
--- a/dev-libs/gjs/gjs-1.64.5.ebuild
+++ b/dev-libs/gjs/gjs-1.64.5.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
SLOT="0"
IUSE="+cairo examples gtk readline +sysprof test"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 sparc x86"
RESTRICT="!test? ( test )"
RDEPEND="
diff --git a/dev-libs/gjs/gjs-1.70.1.ebuild b/dev-libs/gjs/gjs-1.70.1.ebuild
deleted file mode 100644
index 4e9dda763169..000000000000
--- a/dev-libs/gjs/gjs-1.70.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic gnome.org meson virtualx
-
-DESCRIPTION="Javascript bindings for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
-
-LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
-SLOT="0"
-IUSE="+cairo examples gtk readline sysprof test"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.66.0
- dev-libs/libffi:=
- >=dev-libs/gobject-introspection-1.66.1:=
- >=dev-lang/spidermonkey-78.2.0:78
- cairo? ( x11-libs/cairo[X,glib,svg] )
- readline? ( sys-libs/readline:0= )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.40.1:4 )
- test? ( sys-apps/dbus
- >=x11-libs/gtk+-3.20:3[introspection] )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_configure() {
- append-cppflags -DG_DISABLE_CAST_CHECKS
-
- # FIXME: add systemtap/dtrace support, like in glib:2
- local emesonargs=(
- $(meson_feature cairo)
- $(meson_feature readline)
- $(meson_feature sysprof profiler)
- -Dinstalled_tests=false
- $(meson_use !test skip_dbus_tests)
- $(meson_use !test skip_gtk_tests)
- )
- meson_src_configure
-}
-
-src_test() {
- virtx meson_src_test
-}
diff --git a/dev-libs/gjs/gjs-1.72.0.ebuild b/dev-libs/gjs/gjs-1.72.0.ebuild
index 35fcadb1f5d4..6a6738cf344c 100644
--- a/dev-libs/gjs/gjs-1.72.0.ebuild
+++ b/dev-libs/gjs/gjs-1.72.0.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Gjs"
LICENSE="MIT || ( MPL-1.1 LGPL-2+ GPL-2+ )"
SLOT="0"
IUSE="+cairo examples gtk readline sysprof test"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -34,6 +34,20 @@ BDEPEND="
src_configure() {
append-cppflags -DG_DISABLE_CAST_CHECKS
+ # On musl, it's required that either gjs, pixman or gnome-shell to be built
+ # with a larger stack otherwise librsvg fails to render a particular SVG, as
+ # a result we fail to get gdm or gnome-shell running (greeted with a fail
+ # whale screen). The bug has been reported to librsvg. This is ideally just
+ # a temporary workaround until we understand what exactly needs a larger
+ # stack size, as it's not sufficient to do just librsvg.
+ #
+ # Please refer to:
+ # https://gitlab.gnome.org/GNOME/librsvg/-/issues/686
+ # https://gitlab.gnome.org/GNOME/librsvg/-/issues/874
+ #
+ # TODO: Find an actual fix instead of increasing the stack
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
# FIXME: add systemtap/dtrace support, like in glib:2
local emesonargs=(
$(meson_feature cairo)