From d188869f11287b2a013bfe1f3b89e1d31dcc04bc Mon Sep 17 00:00:00 2001 From: chrysos349 Date: Mon, 26 Jun 2023 00:58:44 +0300 Subject: [PATCH 1/2] New package: text-engine-0.1.1 --- common/shlibs | 1 + srcpkgs/text-engine-demo | 1 + srcpkgs/text-engine-devel | 1 + .../patches/meson-set-soversion.patch | 23 ++++++++++++++ srcpkgs/text-engine/template | 31 +++++++++++++++++++ 5 files changed, 57 insertions(+) create mode 120000 srcpkgs/text-engine-demo create mode 120000 srcpkgs/text-engine-devel create mode 100644 srcpkgs/text-engine/patches/meson-set-soversion.patch create mode 100644 srcpkgs/text-engine/template diff --git a/common/shlibs b/common/shlibs index 1cc1b6815e7f..39c868b03148 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4278,3 +4278,4 @@ libgsoapssl++-2.8.124.so gsoap-2.8.124_1 libjxl.so.0.8 libjxl-0.8.2_1 libjxl_dec.so.0.8 libjxl-0.8.2_1 libjxl_threads.so.0.8 libjxl-0.8.2_1 +libtext-engine-0.1.so.0 text-engine-0.1.1_1 diff --git a/srcpkgs/text-engine-demo b/srcpkgs/text-engine-demo new file mode 120000 index 000000000000..272d32cfd5a0 --- /dev/null +++ b/srcpkgs/text-engine-demo @@ -0,0 +1 @@ +text-engine \ No newline at end of file diff --git a/srcpkgs/text-engine-devel b/srcpkgs/text-engine-devel new file mode 120000 index 000000000000..272d32cfd5a0 --- /dev/null +++ b/srcpkgs/text-engine-devel @@ -0,0 +1 @@ +text-engine \ No newline at end of file diff --git a/srcpkgs/text-engine/patches/meson-set-soversion.patch b/srcpkgs/text-engine/patches/meson-set-soversion.patch new file mode 100644 index 000000000000..6935d0c0b9ea --- /dev/null +++ b/srcpkgs/text-engine/patches/meson-set-soversion.patch @@ -0,0 +1,23 @@ +From: Jeremy Bicha +Date: Wed, 20 Apr 2022 12:39:45 -0400 +Subject: meson: set soversion + +This sets up the symlinked shared library as expected + +https://github.com/mjakeman/text-engine/pull/9 +--- + src/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/meson.build b/src/meson.build +index faff7ad..92e0a0b 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -47,6 +47,7 @@ text_engine_deps = [ + text_engine_lib = shared_library('text-engine-' + api_version, + text_engine_sources, + dependencies: text_engine_deps, ++ soversion: 0, + install: true, + ) + diff --git a/srcpkgs/text-engine/template b/srcpkgs/text-engine/template new file mode 100644 index 000000000000..fe201dfd92f3 --- /dev/null +++ b/srcpkgs/text-engine/template @@ -0,0 +1,31 @@ +# Template file for 'text-engine' +pkgname=text-engine +version=0.1.1 +revision=1 +build_style=meson +hostmakedepends="pkg-config glib-devel" +makedepends="libadwaita-devel" +short_desc="Lightweight rich text framework for GTK" +maintainer="chrysos349 " +license="LGPL-2.1-or-later" +homepage="https://github.com/mjakeman/text-engine" +distfiles="https://github.com/mjakeman/text-engine/archive/v${version}.tar.gz" +checksum=cf540d2c0150a46e8ec81c4532550357707c5d07b6116dc52e3869b1902f515f + +text-engine-devel_package() { + depends="gtk4-devel ${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove "usr/lib/*.so" + vmove usr/include + vmove usr/lib/pkgconfig + } +} + +text-engine-demo_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - demonstration application" + pkg_install() { + vmove usr/bin/text-engine-demo + } +} From 17561e5b85d2c804f4b8897f5c533b54b256db52 Mon Sep 17 00:00:00 2001 From: chrysos349 Date: Mon, 26 Jun 2023 01:00:11 +0300 Subject: [PATCH 2/2] New package: extension-manager-0.4.2 --- .../patches/disable-backtrace.patch | 198 ++++++++++++++++++ srcpkgs/extension-manager/template | 21 ++ 2 files changed, 219 insertions(+) create mode 100644 srcpkgs/extension-manager/patches/disable-backtrace.patch create mode 100644 srcpkgs/extension-manager/template diff --git a/srcpkgs/extension-manager/patches/disable-backtrace.patch b/srcpkgs/extension-manager/patches/disable-backtrace.patch new file mode 100644 index 000000000000..9f67a043388a --- /dev/null +++ b/srcpkgs/extension-manager/patches/disable-backtrace.patch @@ -0,0 +1,198 @@ +diff -ru a/src/main.c b/src/main.c +--- a/src/main.c 2023-05-02 04:01:31.000000000 +0300 ++++ b/src/main.c 2023-05-25 03:19:55.506674695 +0300 +@@ -17,77 +17,21 @@ + */ + + #include +-#include + + #include "exm-config.h" + #include "exm-application.h" + +-#include "exm-backtrace.h" +-#include "exm-error-dialog.h" +- +-#define APP_URL "https://github.com/mjakeman/extension-manager" +- +-static int pipe_fd[2]; +- +-void +-handler (int sig) +-{ +- const char *backtrace; +- +- g_print ("A fatal error has occurred.\n"); +- g_print ("Please report this to '%s' and attach the following crash report:\n\n", APP_URL); +- +- g_print ("START BACKTRACE\n\n"); +- backtrace = exm_backtrace_print (); +- g_print ("%s\n", backtrace); +- g_print ("END BACKTRACE\n\n"); +- +- if (backtrace) +- { +- // Send backtrace string over pipe +- write (pipe_fd[1], backtrace, strlen (backtrace)); +- } +- +- close (pipe_fd[1]); +- +- // Terminate process +- signal (sig, SIG_DFL); +- kill (getpid (), sig); +-} +- +-static void +-run_crash_reporter (const char *error_text) +-{ +- adw_init (); +- +- // Setup CSS +- GdkDisplay *display = gdk_display_get_default (); +- GtkCssProvider *provider = gtk_css_provider_new (); +- gtk_css_provider_load_from_resource (provider, "/com/mattjakeman/ExtensionManager/style.css"); +- gtk_style_context_add_provider_for_display (display, GTK_STYLE_PROVIDER (provider), +- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +- +- // Show error dialog with provided string +- ExmErrorDialog *err_dialog; +- err_dialog = exm_error_dialog_new (error_text); +- +- gtk_window_present (GTK_WINDOW (err_dialog)); +- +- // Iterate main loop until closed +- while (g_list_model_get_n_items (gtk_window_get_toplevels ()) > 0) +- g_main_context_iteration (NULL, TRUE); +-} +- +-static int +-run_app (int argc, +- char *argv[]) ++int ++main (int argc, ++ char *argv[]) + { + g_autoptr(ExmApplication) app = NULL; +- int ret; ++ int ret; + +- /* Setup backtrace service */ +- exm_backtrace_init (argv[0]); +- signal (SIGSEGV, handler); ++ /* Set up gettext translations */ ++ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); ++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); ++ textdomain (GETTEXT_PACKAGE); + + /* + * Create a new GtkApplication. The application manages our main loop, +@@ -110,74 +54,3 @@ + + return ret; + } +- +-int +-main (int argc, +- char *argv[]) +-{ +- gboolean use_crash_reporter; +- int pid; +- +- // Either side of the pipe +- +- use_crash_reporter = TRUE; +- +- // Set up gettext translations +- bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); +- bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); +- textdomain (GETTEXT_PACKAGE); +- +- // Attempt to create the pipe +- if (pipe (pipe_fd) == -1) +- use_crash_reporter = FALSE; +- +- // Run app normally +- if (!use_crash_reporter) +- return run_app (argc, argv); +- +- // Run the GUI as a subprocess of the crash reporter. Depending +- // on the exit code, we can display the crash dialog. +- pid = fork(); +- +- // Child process +- if (pid == 0) +- { +- // Close reading end of pipe +- close (pipe_fd[0]); +- +- // Run app normally +- return run_app (argc, argv); +- } +- +- // Parent process +- else +- { +- char ch; +- GString *string_builder; +- char *error_text; +- +- // Close the writing end of pipe +- close (pipe_fd [1]); +- +- string_builder = g_string_new (""); +- +- while (read (pipe_fd[0], &ch, 1) != 0) +- g_string_append_c (string_builder, ch); +- +- // Wait for child to finish +- waitpid (pid, 0, 0); +- close (pipe_fd[0]); +- +- error_text = g_string_free (string_builder, FALSE); +- +- if (strlen (error_text) > 0) +- { +- // An error has occurred +- run_crash_reporter (error_text); +- g_free (error_text); +- return -1; +- } +- +- return 0; +- } +-} +diff -ru a/src/meson.build b/src/meson.build +--- a/src/meson.build 2023-05-02 04:01:31.000000000 +0300 ++++ b/src/meson.build 2023-05-25 03:13:52.478385702 +0300 +@@ -24,12 +24,12 @@ + 'exm-upgrade-assistant.c', + 'exm-upgrade-result.c', + 'exm-install-button.c', +- 'exm-backtrace.c', ++ #'exm-backtrace.c', + 'exm-utils.c' + ] + + cc = meson.get_compiler('c') +-libbacktrace_dep = cc.find_library('backtrace', required: true) ++#libbacktrace_dep = cc.find_library('backtrace', required: true) + + exm_deps = [ + dependency('gtk4'), +@@ -38,7 +38,7 @@ + dependency('json-glib-1.0'), + dependency('libsoup-3.0'), + dependency('text-engine-0.1'), +- libbacktrace_dep ++ #libbacktrace_dep + ] + + gnome = import('gnome') +@@ -78,4 +78,4 @@ + executable('extension-manager', exm_sources, + dependencies: exm_deps, + install: true, +-) +\ No newline at end of file ++) diff --git a/srcpkgs/extension-manager/template b/srcpkgs/extension-manager/template new file mode 100644 index 000000000000..34d373819941 --- /dev/null +++ b/srcpkgs/extension-manager/template @@ -0,0 +1,21 @@ +# Template file for 'extension-manager' +pkgname=extension-manager +version=0.4.2 +revision=1 +build_style=meson +hostmakedepends="pkg-config gettext blueprint-compiler desktop-file-utils + glib-devel gtk-update-icon-cache" +makedepends="libadwaita-devel text-engine-devel" +short_desc="Utility for browsing and installing GNOME Shell Extensions" +maintainer="chrysos349 " +license="GPL-3.0-or-later" +homepage="https://github.com/mjakeman/extension-manager" +changelog="https://raw.githubusercontent.com/mjakeman/extension-manager/master/NEWS" +distfiles="https://github.com/mjakeman/extension-manager/archive/v${version}.tar.gz" +checksum=c9443755aab4340b6bb31b9ab18d49fdf65d14391bce80e6262cc7ba27e5eab0 + +pre_build() { + if [ "$CROSS_BUILD" ]; then + export GI_TYPELIB_PATH="${XBPS_CROSS_BASE}/usr/lib/girepository-1.0" + fi +}