Saturday, January 30, 2021

Re: [update] x11/xvkbd (Re: Build failures from -fno-common)

> Thank you. Unfortunately your mailer has garbled the attachment.
> Can you resend it?

wow, sorry. it seems my cvs usage was bad...
I created another bare diff output here.

x---x---x---x---x---x---x---x---x---x---x---x---x---x---x---x---x

diff -Nur Makefile.orig Makefile
--- Makefile.orig Sat Jul 13 05:51:31 2019
+++ Makefile Sun Jan 31 03:50:15 2021
@@ -2,7 +2,7 @@

COMMENT= virtual keyboard for X Window System

-DISTNAME= xvkbd-3.9
+DISTNAME= xvkbd-4.1
CATEGORIES= x11
HOMEPAGE= http://t-sato.in.coocan.jp/xvkbd/

@@ -11,13 +11,12 @@
# GPLv2
PERMIT_PACKAGE= Yes

-WANTLIB += ICE SM X11 Xau Xaw3d Xdmcp Xext Xmu Xpm Xt Xtst c
+WANTLIB += X11 Xaw3d Xmu Xt Xtst c

MASTER_SITES= ${HOMEPAGE}

LIB_DEPENDS= x11/Xaw3d

-CONFIGURE_STYLE= imake
-NO_TEST= Yes
+CONFIGURE_STYLE= gnu

.include <bsd.port.mk>
diff -Nur distinfo.orig xvkbd/distinfo
--- distinfo.orig Mon Apr 1 20:54:14 2019
+++ distinfo Sat Jan 30 23:28:53 2021
@@ -1,2 +1,2 @@
-SHA256 (xvkbd-3.9.tar.gz) = uBw33ft7eJk9rRXTBPj9eOVA1XwKcvfjMW/UX7qRmp0=
-SIZE (xvkbd-3.9.tar.gz) = 88440
+SHA256 (xvkbd-4.1.tar.gz) = lS0H3w/h5FKGUgt8mLT9AP1g2/Pj6P9h4Swln3ajvvQ=
+SIZE (xvkbd-4.1.tar.gz) = 408704
diff -Nur patches/patch-Makefile_in.orig patches/patch-Makefile_in
--- patches/patch-Makefile_in.orig Thu Jan 1 09:00:00 1970
+++ patches/patch-Makefile_in Sun Jan 31 02:05:29 2021
@@ -0,0 +1,35 @@
+$OpenBSD$
+
+installation directories specified using LOCALBASE, and
+avoid "$<" to make "make" happy (-:
+
+Index: Makefile.in
+--- Makefile.in.orig
++++ Makefile.in
+@@ -325,7 +325,7 @@ bindir = @bindir@
+ build_alias = @build_alias@
+ builddir = @builddir@
+ datadir = @datadir@
+-datarootdir = $(shell pkg-config --variable=datarootdir xt)
++datarootdir = ${LOCALBASE}/share
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+@@ -353,7 +353,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+-appdefaultdir = $(shell pkg-config --variable=appdefaultdir xt)
++appdefaultdir = ${LOCALBASE}/lib/X11/app-defaults
+ SUBDIRS = .
+ man_MANS = xvkbd.1
+ xvkbd_SOURCES = xvkbd.c findwidget.c resources.h XVkbd-common.h
+@@ -982,7 +982,7 @@ uninstall-man: uninstall-man1
+
+ xvkbd.1: xvkbd.man
+ [ ! -e $@ ] || rm $@
+- -ln -s $< $@
++ -ln -s xvkbd.man $@
+
+ XVkbd-common.h: XVkbd-common.ad
+ [ which ad2c > /dev/null ] || ad2c XVkbd-common.ad > XVkbd-common.h
diff -Nur patches/patch-resources_h.orig patches/patch-resources_h
--- patches/patch-resources_h.orig Thu Jan 1 09:00:00 1970
+++ patches/patch-resources_h Sun Jan 31 02:07:38 2021
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+the variables should be long enabling conversion to pointers.
+
+Index: resources.h
+--- resources.h.orig
++++ resources.h
+@@ -103,8 +103,8 @@ struct appres_struct {
+ float max_height_ratio;
+ int text_delay;
+ int key_click_pitch;
+- int key_click_duration;
+- int autoclick_delay;
++ long key_click_duration;
++ long autoclick_delay;
+
+ int save_private_dict_interval;
+ float private_dict_decay;
diff -Nur patches/patch-xvkbd_c.orig patches/patch-xvkbd_c
--- patches/patch-xvkbd_c.orig Mon Apr 1 20:54:14 2019
+++ patches/patch-xvkbd_c Sun Jan 31 02:08:52 2021
@@ -1,23 +1,94 @@
-$OpenBSD: patch-xvkbd_c,v 1.3 2019/04/01 11:54:14 naddy Exp $
+$OpenBSD$

+the variables should be long enabling conversion to pointers,
+and one indentation fix.
+
Index: xvkbd.c
--- xvkbd.c.orig
+++ xvkbd.c
-@@ -1114,7 +1114,7 @@ static void SendKeyPressedEvent(KeySym keysym, unsigne
- for (inx = (keycode - min_keycode) * keysym_per_keycode;
- inx < (keycode - min_keycode + 1) * keysym_per_keycode;
- inx++)
-- fprintf(stderr, " 0x%x (%s)",
-+ fprintf(stderr, " 0x%lx (%s)",
- keysym_table[inx], keysym_table[inx] ? XKeysymToString(keysym_table[inx]) : "null");
- fprintf(stderr, "\n");
- } else
-@@ -1964,7 +1964,7 @@ static void SetWindowManagerHint(Boolean initial)
- FALSE, SubstructureNotifyMask | SubstructureRedirectMask,
- (XEvent *)&ev);
- if (appres.debug)
-- fprintf(stderr, "SetWindowManagerHint: _NET_WM_STATE_ABOVE = %d\n", ev.data.l[0]);
-+ fprintf(stderr, "SetWindowManagerHint: _NET_WM_STATE_ABOVE = %ld\n", ev.data.l[0]);
- }
- }
+@@ -1730,7 +1730,7 @@ static void SendString(const char *str)
+ const char *cp, *cp2;
+ char key[50];
+ int len;
+- int val;
++ long val;
+ Window target_root, child, junk_w;
+ int junk_i;
+ unsigned junk_u;
+@@ -1828,7 +1828,7 @@ static void SendString(const char *str)
+ break;
+ case 'x':
+ case 'y': /* move mouse pointer */
+- sscanf(cp + 1, "%d", &val);
++ sscanf(cp + 1, "%ld", &val);
+ target_root = RootWindow(target_dpy, DefaultScreen(target_dpy));
+ XQueryPointer(target_dpy, target_root, &junk_w, &child,
+ &cur_x, &cur_y, &junk_i, &junk_i, &junk_u);
+@@ -2354,8 +2354,8 @@ static void PropsItemToggled(Widget w, char *key, char
+ XtVaGetValues(XtNameToWidget(props_panel, "*integrate_completion_panel"),
+ XtNstate, &appres.integrate_completion_panel, NULL);

+- appres.key_click_duration = (int)XawToggleGetCurrent(click_buttons);
+- appres.autoclick_delay = (int)XawToggleGetCurrent(autoclick_buttons);
++ appres.key_click_duration = (long)XawToggleGetCurrent(click_buttons);
++ appres.autoclick_delay = (long)XawToggleGetCurrent(autoclick_buttons);
+
+ SaveProperty();
+ SetWindowManagerHint(FALSE);
+@@ -2427,7 +2427,7 @@ static void PopupPropsPanel(void)
+ Widget label, button;
+ Widget form, w;
+ int i;
+- int val;
++ long val;
+
+ props_panel = XtVaCreatePopupShell("props_panel", transientShellWidgetClass,
+ toplevel, NULL);
+@@ -2452,7 +2452,7 @@ static void PopupPropsPanel(void)
+ click_buttons = button;
+ for (val = 1; val <= 50; val *= 2) {
+ char s1[15];
+- snprintf(s1, sizeof(s1), "%dms", val);
++ snprintf(s1, sizeof(s1), "%ldms", val);
+ button = XtVaCreateManagedWidget(s1, toggleWidgetClass,
+ form, XtNfromVert, w, XtNfromHoriz, button,
+ XtNradioData, (XtPointer)val,
+@@ -2474,7 +2474,7 @@ static void PopupPropsPanel(void)
+ autoclick_buttons = button;
+ for (val = 500; val <= 1000; val += 100) {
+ char s1[10];
+- snprintf(s1, sizeof(s1), "%dms", val);
++ snprintf(s1, sizeof(s1), "%ldms", val);
+ button = XtVaCreateManagedWidget(s1, toggleWidgetClass,
+ form, XtNfromVert, w, XtNfromHoriz, button,
+ XtNradioData, (XtPointer)val,
+@@ -2972,7 +2972,8 @@ static void KeyPressed(Widget w, char *key, char *data
+ default:
+ if (keysym == NoSymbol || !appres.auto_add_keysym)
+ fprintf(stderr, "%s: no such key: %s\n",
+- PROGRAM_NAME, key1); break;
++ PROGRAM_NAME, key1);
++ break;
+ }
+ }
+ SendKeyPressedEvent(keysym, cur_shift, 0);
+@@ -3700,8 +3701,8 @@ static void SaveProperty(void)
+ fprintf(fp, "#shift_lock %d\n", appres.shift_lock);
+ fprintf(fp, "#altgr_lock %d\n", appres.altgr_lock);
+ fprintf(fp, "#modifiers_lock %d\n", appres.modifiers_lock);
+- fprintf(fp, "#key_click %d\n", appres.key_click_duration);
+- fprintf(fp, "#autoclick %d\n", appres.autoclick_delay);
++ fprintf(fp, "#key_click %ld\n", appres.key_click_duration);
++ fprintf(fp, "#autoclick %ld\n", appres.autoclick_delay);
+ fprintf(fp, "#always_on_top %d\n", appres.always_on_top);
+ fprintf(fp, "#wm_toolbar %d\n", appres.wm_toolbar);
+ fprintf(fp, "#jump_pointer %d\n", appres.jump_pointer);
+@@ -3888,7 +3889,7 @@ static void ShowBalloon(Widget w, XEvent *event, Strin
+ autoclick_id = XtAppAddTimeOut(app_con, (long)appres.autoclick_delay,
+ (XtTimerCallbackProc)Autoclick, (XtPointer)w);
+
+- if (appres.debug) fprintf(stderr, "xvkbd: ShowBalloon: auto click triggerd: %lx, %d\n",
++ if (appres.debug) fprintf(stderr, "xvkbd: ShowBalloon: auto click triggerd: %lx, %ld\n",
+ (long)autoclick_id, appres.autoclick_delay);
+ }
+ value = FindFunctionKeyValue(w, XtName(w), TRUE);
diff -Nur pkg/DESCR.orig pkg/DESCR
--- pkg/DESCR.orig Sun Jan 31 13:10:39 2021
+++ pkg/DESCR Sun Jan 31 03:23:26 2021
@@ -4,3 +4,8 @@
may be used for systems without a hardware keyboard such as kiosk
terminals or handheld devices. This program also has facility to
send characters specified as the command line option to another client.
+
+you need to enable XTEST extension on your X server.
+when you use macOS xquartz, enable XTEST extension by
+"defaults write org.xquartz.x11 enable_test_extentions -boolean true".
+see Xquartz(1).
diff -Nur pkg/PLIST.orig xvkbd/pkg/PLIST
--- pkg/PLIST.orig Sun Jan 31 13:10:39 2021
+++ pkg/PLIST Sun Jan 31 01:38:01 2021
@@ -29,3 +29,5 @@
lib/X11/app-defaults/XVkbd-turkishF
lib/X11/app-defaults/XVkbd-uk
@man man/man1/xvkbd.1
+share/xvkbd/
+share/xvkbd/words.english

x---x---x---x---x---x---x---x---x---x---x---x---x---x---x---x---x

-- yozo.

No comments:

Post a Comment