New package: extension-manager-0.4.2
This commit is contained in:
parent
fbf2ac0a6b
commit
05ac8a473c
|
@ -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 <glib/gi18n.h>
|
||||
-#include <signal.h>
|
||||
|
||||
#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
|
||||
+)
|
|
@ -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 <chrysostom349@gmail.com>"
|
||||
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
|
||||
}
|
Loading…
Reference in New Issue