summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPascal Jäger <pascal.jaeger@leimstift.de>2022-11-11 14:34:38 +0100
committerSam James <sam@gentoo.org>2022-11-15 02:38:56 +0000
commit7736f1c577d6233b1c8aa0fbeab639e1dd13241a (patch)
tree3891f6974aff741ab19ccf6f0c79d6ac20791ea4 /x11-misc
parentx11-plugins/pidgin-otr: fix clang16 configure (diff)
downloadgentoo-7736f1c577d6233b1c8aa0fbeab639e1dd13241a.tar.gz
gentoo-7736f1c577d6233b1c8aa0fbeab639e1dd13241a.tar.bz2
gentoo-7736f1c577d6233b1c8aa0fbeab639e1dd13241a.zip
x11-misc/gtkdialog: revbump, fix build for clang16
Closes: https://bugs.gentoo.org/875704 Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de> Closes: https://github.com/gentoo/gentoo/pull/28223 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-misc')
-rw-r--r--x11-misc/gtkdialog/files/gtkdialog-0.8.3-fix-build-for-clang16.patch202
-rw-r--r--x11-misc/gtkdialog/gtkdialog-0.8.3_p20200202-r1.ebuild56
-rw-r--r--x11-misc/gtkdialog/gtkdialog-99999.ebuild23
3 files changed, 272 insertions, 9 deletions
diff --git a/x11-misc/gtkdialog/files/gtkdialog-0.8.3-fix-build-for-clang16.patch b/x11-misc/gtkdialog/files/gtkdialog-0.8.3-fix-build-for-clang16.patch
new file mode 100644
index 000000000000..fd6ff011f810
--- /dev/null
+++ b/x11-misc/gtkdialog/files/gtkdialog-0.8.3-fix-build-for-clang16.patch
@@ -0,0 +1,202 @@
+Clang16 will not allow implicit function declarations and implicit integers etc.
+This patch overhauls the source code for modern C.
+
+Bug: https://bugs.gentoo.org/875704
+Upstream PR: https://github.com/oshazard/gtkdialog/pull/81
+
+Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
+
+--- a/src/actions.c
++++ b/src/actions.c
+@@ -36,6 +36,7 @@
+ #include "attributes.h"
+ #include "variables.h"
+ #include "tag_attributes.h"
++#include "gtkdialog_parser.h"
+
+ extern gchar *option_include_file;
+
+--- a/src/automaton.c
++++ b/src/automaton.c
+@@ -35,6 +35,7 @@
+ */
+
+ #include <gtk/gtk.h>
++#include <glib/gprintf.h>
+
+ #include "config.h"
+ #include "gtkdialog.h"
+@@ -87,6 +88,8 @@
+ #undef TOOLTIPS
+
+ extern gboolean option_no_warning;
++extern void push_widget(GtkWidget * widget, int widgettype);
++int instruction_execute(instruction command);
+
+ instruction *program = NULL;
+ int instruction_counter = 0; /* The first available memory cell */
+@@ -323,8 +326,7 @@ void print_command(instruction command)
+ fflush(stdout);
+ }
+
+-void
+-print_program()
++void print_program()
+ {
+ gint pc;
+ instruction command;
+@@ -580,8 +582,7 @@ finalize:
+ }
+
+
+-int
+-instruction_execute(instruction command)
++int instruction_execute(instruction command)
+ {
+ GList *element;
+ token Token;
+@@ -911,9 +912,11 @@ gboolean widget_moved(GtkWidget *widget,
+ //gtk_widget_set_usize(window,
+ // configure->width -20,
+ // configure->height);
++#if HAVE_GTK==2
+ gtk_widget_set_uposition(GTK_WIDGET(window),
+ configure->x,
+ configure->y);
++#endif
+ }
+
+ fflush(stderr);
+--- a/src/gtkdialog.h
++++ b/src/gtkdialog.h
+@@ -65,5 +65,6 @@ gint get_program_from_variable(gchar *name);
+ void set_program_name(gchar *name);
+ gchar *get_program_name(void);
+ void load_styles_file(gchar *filename);
++int getnextchar(void);
+
+ #endif
+--- a/src/gtkdialog_parser.h
++++ b/src/gtkdialog_parser.h
+@@ -385,3 +385,8 @@ typedef union YYSTYPE
+ extern YYSTYPE gtkdialog_lval;
+
+
++extern int gtkdialog_error(char *c);
++extern void run_program(void);
++extern void print_program();
++extern int gtkdialog_lex (void);
++extern int gtkdialog_parse (void);
+--- a/src/printing.c
++++ b/src/printing.c
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <gtk/gtk.h>
++#include <glib/gprintf.h>
+ #include "gtkdialog.h"
+ #include "printing.h"
+
+--- a/src/signals.c
++++ b/src/signals.c
+@@ -40,6 +40,8 @@
+ //#define DEBUG_CONTENT
+ //#define DEBUG_TRANSITS
+
++extern gboolean variables_is_avail_by_name(const char *name);
++
+ /* Local variables */
+ char *condexpr[] = {
+ "active_is_true(", "active_is_false(", "active_is_true (", "active_is_false (",
+--- a/src/stringman.c
++++ b/src/stringman.c
+@@ -30,6 +30,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <ctype.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <gtk/gtk.h>
+--- a/src/variables.c
++++ b/src/variables.c
+@@ -59,6 +59,7 @@
+ #endif
+
+ extern gboolean option_no_warning;
++extern int yywarning(char *c);
+
+ /* Local function prototypes */
+ #ifdef DEBUG
+--- a/src/widget_notebook.c
++++ b/src/widget_notebook.c
+@@ -28,6 +28,7 @@
+ #include "automaton.h"
+ #include "widgets.h"
+ #include "tag_attributes.h"
++#include "signals.h"
+
+ /* Defines */
+ //#define DEBUG_CONTENT
+--- a/src/widget_timer.c
++++ b/src/widget_timer.c
+@@ -28,6 +28,7 @@
+ #include "automaton.h"
+ #include "widgets.h"
+ #include "tag_attributes.h"
++#include "signals.h"
+
+ /* Defines */
+ //#define DEBUG_CONTENT
+--- a/src/widgets.h
++++ b/src/widgets.h
+@@ -38,6 +38,38 @@
+ #include "variables.h"
+ #include "automaton.h"
+
++#include "widget_window.h"
++#include "widget_vbox.h"
++#include "widget_tree.h"
++#include "widget_timer.h"
++#include "widget_text.h"
++#include "widget_terminal.h"
++#include "widget_template.h"
++#include "widget_table.h"
++#include "widget_statusbar.h"
++#include "widget_spinbutton.h"
++#include "widget_radiobutton.h"
++#include "widget_progressbar.h"
++#include "widget_pixmap.h"
++#include "widget_notebook.h"
++#include "widget_menuitem.h"
++#include "widget_menubar.h"
++#include "widget_list.h"
++#include "widget_hseparator.h"
++#include "widget_hscale.h"
++#include "widget_hbox.h"
++#include "widget_frame.h"
++#include "widget_fontbutton.h"
++#include "widget_expander.h"
++#include "widget_eventbox.h"
++#include "widget_entry.h"
++#include "widget_edit.h"
++#include "widget_comboboxtext.h"
++#include "widget_combobox.h"
++#include "widget_colorbutton.h"
++#include "widget_checkbox.h"
++#include "widget_button.h"
++
+ char *widget_get_text_value(GtkWidget *widget, int type);
+ FILE *widget_opencommand(const char *command);
+ char *widgets_to_str(int itype);
+--- a/src/gtkdialog.c
++++ b/src/gtkdialog.c
+@@ -345,7 +345,7 @@ get_program_from_file(char *name)
+ * required because the #! is not included in the language.
+ */
+ program_src = NULL;
+- result = getline(&program_src, &tmp, sourcefile);
++ result = getline(&program_src, (size_t*)&tmp, sourcefile);
+ if (program_src[0] != '#') {
+ fclose(sourcefile);
+ sourcefile = fopen(name, "r");
diff --git a/x11-misc/gtkdialog/gtkdialog-0.8.3_p20200202-r1.ebuild b/x11-misc/gtkdialog/gtkdialog-0.8.3_p20200202-r1.ebuild
new file mode 100644
index 000000000000..f8c30fc9385a
--- /dev/null
+++ b/x11-misc/gtkdialog/gtkdialog-0.8.3_p20200202-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools xdg
+
+if [[ "${PV}" == "99999" ]]; then
+ EGIT_REPO_URI="https://github.com/oshazard/gtkdialog"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.xz"
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+
+DESCRIPTION="A small utility for fast and easy GUI building"
+HOMEPAGE="https://github.com/oshazard/gtkdialog"
+LICENSE="GPL-2"
+
+SLOT="0"
+RDEPEND="
+ x11-libs/gtk+:3
+ x11-libs/vte:2.91=
+"
+DEPEND="
+ ${RDEPEND}
+ sys-apps/texinfo
+ sys-devel/flex
+ virtual/pkgconfig
+ virtual/yacc
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.3-fno-common.patch
+ "${FILESDIR}"/${PN}-0.8.3-do_variables_count_widgets.patch
+ "${FILESDIR}"/${PN}-0.8.3-fix-build-for-clang16.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --enable-gtk3
+}
+
+src_compile() {
+ emake -C doc stamp-vti
+ default
+}
+
+src_install() {
+ # Stop make install from running gtk-update-icon-cache
+ emake DESTDIR="${D}" UPDATE_ICON_CACHE=true install
+ einstalldocs
+}
diff --git a/x11-misc/gtkdialog/gtkdialog-99999.ebuild b/x11-misc/gtkdialog/gtkdialog-99999.ebuild
index 471ce7d9bc93..f8c30fc9385a 100644
--- a/x11-misc/gtkdialog/gtkdialog-99999.ebuild
+++ b/x11-misc/gtkdialog/gtkdialog-99999.ebuild
@@ -3,31 +3,36 @@
EAPI=8
-inherit autotools git-r3 xdg
+inherit autotools xdg
-DESCRIPTION="Small utility for fast and easy GUI building"
-HOMEPAGE="https://github.com/oshazard/gtkdialog"
-EGIT_REPO_URI="https://github.com/oshazard/gtkdialog"
+if [[ "${PV}" == "99999" ]]; then
+ EGIT_REPO_URI="https://github.com/oshazard/gtkdialog"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~jsmolic/distfiles/${P}.tar.xz"
+ KEYWORDS="~amd64 ~ppc ~x86"
+fi
+DESCRIPTION="A small utility for fast and easy GUI building"
+HOMEPAGE="https://github.com/oshazard/gtkdialog"
LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
+SLOT="0"
RDEPEND="
x11-libs/gtk+:3
x11-libs/vte:2.91=
"
-DEPEND="${RDEPEND}"
-BDEPEND="
+DEPEND="
+ ${RDEPEND}
sys-apps/texinfo
sys-devel/flex
virtual/pkgconfig
virtual/yacc
"
-
PATCHES=(
"${FILESDIR}"/${PN}-0.8.3-fno-common.patch
"${FILESDIR}"/${PN}-0.8.3-do_variables_count_widgets.patch
+ "${FILESDIR}"/${PN}-0.8.3-fix-build-for-clang16.patch
)
src_prepare() {