aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2019-05-29 15:44:55 -0300
committerFrancesco Colista <fcolista@alpinelinux.org>2019-05-29 21:10:41 +0000
commit78651dab7e64c4fff4000a9ebf34b69fae81d5fa (patch)
treec353907b048349e0a7a8f4d89448f1a68b3e0237
parent254dbc9f0b4813396b262586a4481541756853a1 (diff)
downloadaports-78651dab7e64c4fff4000a9ebf34b69fae81d5fa.tar.gz
aports-78651dab7e64c4fff4000a9ebf34b69fae81d5fa.tar.bz2
aports-78651dab7e64c4fff4000a9ebf34b69fae81d5fa.tar.xz
main/motif: upgrade to 2.3.8
-rw-r--r--main/motif/01-fix-autoconf.patch47
-rw-r--r--main/motif/12-fix_buffer_overrun_in_libxm.patch17
-rw-r--r--main/motif/14-fix_ac_find_xft.patch91
-rw-r--r--main/motif/18-updated-fix-1565.patch431
-rw-r--r--main/motif/APKBUILD70
5 files changed, 36 insertions, 620 deletions
diff --git a/main/motif/01-fix-autoconf.patch b/main/motif/01-fix-autoconf.patch
deleted file mode 100644
index 325707a18b..0000000000
--- a/main/motif/01-fix-autoconf.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Description: Update build system to satisfy latest automake/autoconf
- This is part of the patch submitted by Adam Sampson,
- so we can build without having to provide AUTHORS and NEWS files
- .
- Adam licensed his patch under MIT license (whatever that means ;) )
-Forwarded: http://bugs.motifzone.net/show_bug.cgi?id=1571
-Author: Adam Sampson <ats-motif@offog.org>
-Author: Graham Inggs <graham@nerve.org.za>
-Last-Update: 2012-12-25
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,8 +1,13 @@
- dnl Process this file with autoconf to produce a configure script.
--AC_INIT
-+AC_PREREQ(2.59)
-+AC_INIT([motif], [2.3.4])
- AC_CONFIG_SRCDIR([lib/Xm/Form.c])
--AC_PREREQ(2.52)
- AC_CONFIG_AUX_DIR(.)
-+AC_CANONICAL_TARGET
-+
-+AM_INIT_AUTOMAKE([foreign no-define])
-+dnl AM_MAINTAINER_MODE
-+
- AC_CHECK_FILE(/usr/X/include/X11/X.h,
- AC_PREFIX_DEFAULT(/usr/X),
- AC_PREFIX_DEFAULT(/usr))
-@@ -10,9 +15,6 @@
- AC_PREFIX_DEFAULT(/usr/X11R6),
- AC_PREFIX_DEFAULT(/usr))
-
--dnl AM_MAINTAINER_MODE
--AC_CANONICAL_TARGET
--
- dnl The version of the Motif libraries
- CURRENT=4
- REVISION=4
-@@ -21,9 +23,6 @@
- AC_SUBST(REVISION)
- AC_SUBST(AGE)
-
--dnl This is really dumb but it seems to be bug
--AM_INIT_AUTOMAKE(motif,2.3.4,no-define)
--
- LIBTOOL_VERSION=$CURRENT:$REVISION:$AGE
-
- dnl
diff --git a/main/motif/12-fix_buffer_overrun_in_libxm.patch b/main/motif/12-fix_buffer_overrun_in_libxm.patch
deleted file mode 100644
index 227b1c57a3..0000000000
--- a/main/motif/12-fix_buffer_overrun_in_libxm.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Description: Fix buffer overrun in libXm (FontS.c)
-Origin: upstream commit dada5ff7f93cb48afaec2469f5dde24178d8d6da
-Bug: http://bugs.motifzone.net/show_bug.cgi?id=1568
-Author: Arthur Haas <ahaas@impactweather.com>
-Author: Graham Inggs <graham@nerve.org.za>
-Last-Update: 2013-02-19
---- a/lib/Xm/FontS.c
-+++ b/lib/Xm/FontS.c
-@@ -1879,7 +1879,7 @@
- String params[1];
- Cardinal num = 1;
-
-- params[1] = new_font;
-+ params[0] = new_font;
- dbg(); _XmWarningMsg((Widget) fsw, XmNbadXlfdFont,
- XmNbadXlfdFontMsg, params, num);
- }
diff --git a/main/motif/14-fix_ac_find_xft.patch b/main/motif/14-fix_ac_find_xft.patch
deleted file mode 100644
index 76c23183e8..0000000000
--- a/main/motif/14-fix_ac_find_xft.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-Description: Fix ac_find_xft.m4
- ac_find_xft.m4 fails tests required to enable building with Xft anti-aliased fonts.
- We also need to add -lfontconfig to LIBS to prevent underlinking of libXm.
- .
- This patch fixes these. Build-depends on libfontconfig1-dev, libfreetype6-dev and
- libxrender-dev can be dropped as they are all dependencies of libxft-dev.
-Author: Graham Inggs <graham@nerve.org.za>
-Forwarded: http://bugs.motifzone.net/show_bug.cgi?id=1591
-Last-Update: 2013-03-13
---- a/ac_find_xft.m4
-+++ b/ac_find_xft.m4
-@@ -54,28 +54,28 @@
-
- case "$freetype_lib" in
- no)
-- freetype_lib=""
-+ FREETYPE_LIBS=""
- ;;
- yes)
- case "$ft_config" in
- no)
-- freetype_lib=""
-+ FREETYPE_LIBS="-lfreetype"
- ;;
- *)
-- freetype_lib="`$ft_config --libs`"
-+ FREETYPE_LIBS="`$ft_config --libs`"
- ;;
- esac
- ;;
- *)
-- freetype_lib="-L$freetype_lib -lfreetype"
-+ FREETYPE_LIBS="-L$freetype_lib -lfreetype"
- ;;
- esac
-
- saved_LIBS="$LIBS"
--LIBS="$LIBS $freetype_lib"
-+LIBS="$LIBS $FREETYPE_LIBS"
- saved_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $FREETYPE_CFLAGS"
--AC_CHECK_HEADERS(freetype/freetype.h)
-+AC_CHECK_HEADERS(freetype/freetype.h,,,[#include <ft2build.h>])
-
- FINDXFT_HAVE_FREETYPE="no"
- case "$ac_cv_header_freetype_freetype_h" in
-@@ -94,6 +94,7 @@
- FINDXFT_HAVE_FREETYPE="yes"
- AC_DEFINE(HAVE_FREETYPE, 1, Means we have discovered the FreeType library)
- AC_SUBST(FREETYPE_CFLAGS)
-+ AC_SUBST(FREETYPE_LIBS)
- ;;
- esac
- ;;
-@@ -134,8 +135,19 @@
- FINDXFT_HAVE_XRENDER="no"
- case "$have_x" in
- yes)
-- XRENDER_CFLAGS="-I$x_includes"
-- XRENDER_LIBS="-L$x_libraries -lXft -lXrender"
-+ if test x$x_includes = x
-+ then
-+ XRENDER_CFLAGS=""
-+ else
-+ XRENDER_CFLAGS="-I$x_includes"
-+ fi
-+
-+ if test x$x_libraries = x
-+ then
-+ XRENDER_LIBS="-lXft -lXrender"
-+ else
-+ XRENDER_LIBS="-I$x_libraries -lXft -lXrender"
-+ fi
-
- saved_LIBS="$LIBS"
- LIBS="$LIBS $XRENDER_LIBS"
-@@ -203,12 +215,12 @@
-
- case "$fontconfig_lib" in
- no)
-- fontconfig_lib=""
-+ FONTCONFIG_LIBS=""
- ;;
- yes)
- case "$fc_config" in
- no)
-- fontconfig_lib=""
-+ FONTCONFIG_LIBS="-lfontconfig"
- ;;
- *)
- FONTCONFIG_LIBS="`$fc_config --libs`"
diff --git a/main/motif/18-updated-fix-1565.patch b/main/motif/18-updated-fix-1565.patch
deleted file mode 100644
index 850a6e2fbd..0000000000
--- a/main/motif/18-updated-fix-1565.patch
+++ /dev/null
@@ -1,431 +0,0 @@
-Description: Updated fix for upstream bug #1565
- This patch fixes the problem introduced by fix #1565, included in
- Motif 2.3.4, which breaks keyboard navigation in menus.
-Author: Olexiy Chernyavskyy <ochern@ics.com>
-Origin: upstream, http://bugs.motifzone.net/show_bug.cgi?id=1565
-Bug: http://bugs.motifzone.net/show_bug.cgi?id=1630
-Bug-Debian: http://bugs.debian.org/730026
-Last-Update: 2013-11-29
---- a/lib/Xm/ComboBox.c
-+++ b/lib/Xm/ComboBox.c
-@@ -3164,6 +3164,9 @@
- Arg args[4];
- ArgList merged_args;
- Cardinal n;
-+#ifdef FIX_1565
-+ XmGrabShellWidget grabsh;
-+#endif
-
- n = 0;
- XtSetArg(args[n], XmNlayoutDirection, LayoutM(parent)), n++;
-@@ -3175,6 +3178,11 @@
- merged_args, n + *num_args);
- XtFree((char*)merged_args);
-
-+#ifdef FIX_1565
-+ grabsh = (XmGrabShellWidget) shell;
-+ grabsh->grab_shell.set_input_focus = False;
-+#endif
-+
- return shell;
- }
-
---- a/lib/Xm/DropDown.c
-+++ b/lib/Xm/DropDown.c
-@@ -2027,6 +2027,9 @@
- Arg *new_list, largs[10];
- Cardinal num_largs;
- Widget sb;
-+#ifdef FIX_1565
-+ XmGrabShellWidget grabsh;
-+#endif
-
- num_largs = 0;
- XtSetArg(largs[num_largs], XmNoverrideRedirect, True); num_largs++;
-@@ -2040,6 +2043,10 @@
- xmGrabShellWidgetClass, w,
- new_list,
- num_largs + num_args);
-+#ifdef FIX_1565
-+ grabsh = (XmGrabShellWidget) XmDropDown_popup_shell(cbw);
-+ grabsh->grab_shell.set_input_focus = False;
-+#endif
- XtFree((char *) new_list);
-
- #ifdef FIX_1446
---- a/lib/Xm/GrabShell.c
-+++ b/lib/Xm/GrabShell.c
-@@ -283,6 +283,10 @@
-
- /* CR 9920: Popdown may be requested before MapNotify. */
- grabsh->grab_shell.mapped = False;
-+
-+#ifdef FIX_1565
-+ grabsh->grab_shell.set_input_focus = True;
-+#endif
- }
-
- /*
-@@ -395,8 +399,16 @@
- XGetInputFocus(XtDisplay(shell), &grabshell->grab_shell.old_focus,
- &grabshell->grab_shell.old_revert_to);
- old_handler = XSetErrorHandler(IgnoreXErrors);
-- XSetInputFocus(XtDisplay(shell), XtWindow(shell), RevertToParent, time);
-- XSync(XtDisplay(shell), False);
-+#ifdef FIX_1565
-+ if (! grabshell->grab_shell.set_input_focus) {
-+ XmForceGrabKeyboard(shell, time);
-+ } else {
-+#endif
-+ XSetInputFocus(XtDisplay(shell), XtWindow(shell), RevertToParent, time);
-+ XSync(XtDisplay(shell), False);
-+#ifdef FIX_1565
-+ }
-+#endif
- XSetErrorHandler(old_handler);
- }
-
---- a/lib/Xm/GrabShellP.h
-+++ b/lib/Xm/GrabShellP.h
-@@ -30,6 +30,7 @@
- #include <Xm/GrabShell.h>
- #include <Xm/XmP.h>
- #include <X11/ShellP.h>
-+#include "XmI.h"
-
- #ifdef __cplusplus
- extern "C" {
-@@ -55,6 +56,9 @@
- Boolean mapped;
- Window old_focus;
- int old_revert_to;
-+#ifdef FIX_1565
-+ Boolean set_input_focus;
-+#endif
- } XmGrabShellPart;
-
-
---- a/lib/Xm/MenuShell.c
-+++ b/lib/Xm/MenuShell.c
-@@ -1514,9 +1514,7 @@
-
- /** the real grab ***/
- _XmMenuGrabKeyboardAndPointer((Widget)rowcol, _time);
--#ifndef FIX_1565
- _XmMenuFocus(XtParent(rowcol), XmMENU_BEGIN, _time);
--#endif
-
- /* To support menu replay, keep the pointer in sync mode */
- XAllowEvents(XtDisplay(rowcol), SyncPointer, CurrentTime);
---- a/lib/Xm/MenuUtil.c
-+++ b/lib/Xm/MenuUtil.c
-@@ -1053,11 +1053,7 @@
-
- register int status =
- (_XmGrabKeyboard(widget,
--#ifdef FIX_1565
-- False,
--#else
- True,
--#endif
- GrabModeSync,
- GrabModeAsync,
- time) != GrabSuccess);
---- a/lib/Xm/RCMenu.c
-+++ b/lib/Xm/RCMenu.c
-@@ -85,6 +85,9 @@
- #include "TraversalI.h"
- #include "UniqueEvnI.h"
- #include "VendorSI.h"
-+#ifdef FIX_1565
-+#include <Xm/GrabShell.h>
-+#endif
-
- #define FIX_1535
-
-@@ -943,6 +946,13 @@
- XmMenuState mst = _XmGetMenuState((Widget)w);
- Window tmpWindow;
- int tmpRevert;
-+#ifdef FIX_1565
-+ Widget shell;
-+
-+ shell = w;
-+ while (! XtIsSubclass(shell, shellWidgetClass))
-+ shell = XtParent(shell);
-+#endif
-
- if (_time == CurrentTime)
- _time = XtLastTimestampProcessed(XtDisplay(w));
-@@ -983,6 +993,11 @@
- shell.popped_up))
- **/
- {
-+#ifdef FIX_1565
-+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
-+ XmForceGrabKeyboard(w, _time);
-+ else
-+#endif
- SetInputFocus(XtDisplay(w), mst->RC_menuFocus.oldFocus,
- mst->RC_menuFocus.oldRevert,
- mst->RC_menuFocus.oldTime);
-@@ -996,6 +1011,11 @@
- */
- else
- {
-+#ifdef FIX_1565
-+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
-+ XmForceGrabKeyboard(w, _time);
-+ else
-+#endif
- SetInputFocus(XtDisplay(w), mst->RC_menuFocus.oldFocus,
- mst->RC_menuFocus.oldRevert,
- mst->RC_menuFocus.oldTime);
-@@ -1014,6 +1034,11 @@
- RC_menuFocus.oldFocus);
- mst->RC_menuFocus.oldTime = _time - 1;
-
-+#ifdef FIX_1565
-+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
-+ XmForceGrabKeyboard(w, _time);
-+ else
-+#endif
- SetInputFocus(XtDisplay(w), XtWindow(w), mst->RC_menuFocus.oldRevert,
- mst->RC_menuFocus.oldTime);
-
-@@ -1027,6 +1052,11 @@
- XGetInputFocus(XtDisplay(w), &tmpWindow, &tmpRevert);
- if (tmpWindow != XtWindow(w))
- {
-+#ifdef FIX_1565
-+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
-+ XmForceGrabKeyboard(w, _time);
-+ else
-+#endif
- SetInputFocus(XtDisplay(w), XtWindow(w), tmpRevert, _time);
-
- mst->RC_menuFocus.oldRevert = tmpRevert;
-@@ -1048,6 +1078,11 @@
-
- break;
- case XmMENU_MIDDLE:
-+#ifdef FIX_1565
-+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
-+ XmForceGrabKeyboard(w, _time);
-+ else
-+#endif
- SetInputFocus(XtDisplay(w), XtWindow(w),
- mst->RC_menuFocus.oldRevert,
- mst->RC_menuFocus.oldTime);
-@@ -1062,6 +1097,11 @@
- if ((tmpWindow != XtWindow(w)) &&
- (_time > mst->RC_menuFocus.oldTime))
- {
-+#ifdef FIX_1565
-+ if (XtIsSubclass(shell, xmGrabShellWidgetClass) || XtIsSubclass(shell, xmMenuShellWidgetClass))
-+ XmForceGrabKeyboard(w, _time);
-+ else
-+#endif
- SetInputFocus(XtDisplay(w), XtWindow(w), tmpRevert, _time);
-
- mst->RC_menuFocus.oldRevert = tmpRevert;
---- a/lib/Xm/Xm.c
-+++ b/lib/Xm/Xm.c
-@@ -40,6 +40,10 @@
- #ifdef FIX_345
- #include <X11/keysym.h>
- #endif
-+#ifdef FIX_1565
-+#include <Xm/GrabShell.h>
-+#include <Xm/MenuShell.h>
-+#endif
-
-
- /**************************************************************************
-@@ -530,3 +534,173 @@
- return p;
- }
- #endif
-+
-+#ifdef FIX_1565
-+
-+typedef struct _GrabData GrabData;
-+struct _GrabData {
-+ Widget w;
-+ GrabData *next;
-+};
-+
-+static void _XmSendFocusEvent(Widget child, int type);
-+static void _XmStartDispatcher(Display *display);
-+static Boolean _XmEventDispatcher(XEvent *event);
-+static void UnmapHandler(Widget w, XtPointer client_data, XEvent *event, Boolean *cont);
-+static Boolean _UngrabKeyboard(Widget w);
-+
-+static GrabData *grabw_top = NULL;
-+static int xm_dispatcher_on = 0;
-+static XtEventDispatchProc saved_dispatcher_proc = NULL;
-+static XtEventDispatchProc xt_dispatcher_proc = NULL;
-+
-+/*
-+ XmForceGrabKeyboard function is defined to be a substitutor of XSetInputFocus calls
-+ for popup and pulldown menus that should grab keyboard focus yet main window at the
-+ same time should visually stay in focus for window manager. This resolves focus flip
-+ issue when popup or pulldown menu is raised. ~ochern
-+ */
-+void XmForceGrabKeyboard(Widget w, Time time)
-+{
-+ GrabData *grabw;
-+
-+ if (!w)
-+ return;
-+
-+ while (! XtIsSubclass(w, shellWidgetClass))
-+ w = XtParent(w);
-+
-+ if (! (XtIsSubclass(w, xmGrabShellWidgetClass) || XtIsSubclass(w, xmMenuShellWidgetClass)))
-+ return;
-+
-+ _XmStartDispatcher(XtDisplay(w));
-+
-+ _UngrabKeyboard(w);
-+
-+ grabw = (GrabData *) XtMalloc(sizeof(GrabData));
-+ grabw->w = w;
-+ _XmProcessLock();
-+ grabw->next = grabw_top;
-+ grabw_top = grabw;
-+ _XmProcessUnlock();
-+
-+ XtInsertEventHandler(w, StructureNotifyMask, False, UnmapHandler, NULL, XtListHead);
-+
-+ _XmSendFocusEvent(w, FocusIn);
-+
-+ /* Following the XSetInputFocus behaviour we force sending FocusOut (see XGrabKeyboard(3))
-+ event to a previous keyboard holder */
-+ XtGrabKeyboard(w, True, GrabModeAsync, GrabModeAsync, time);
-+}
-+
-+static void _XmStartDispatcher(Display *display)
-+{
-+ if (!display)
-+ return;
-+
-+ _XmProcessLock();
-+
-+ if (xm_dispatcher_on) {
-+ _XmProcessUnlock();
-+ return;
-+ }
-+
-+ saved_dispatcher_proc = XtSetEventDispatcher(display, KeyPress, _XmEventDispatcher);
-+ if (! xt_dispatcher_proc)
-+ xt_dispatcher_proc = saved_dispatcher_proc;
-+ XtSetEventDispatcher(display, KeyRelease, _XmEventDispatcher);
-+ xm_dispatcher_on = 1;
-+
-+ _XmProcessUnlock();
-+}
-+
-+static Boolean _XmEventDispatcher(XEvent *event)
-+{
-+ _XmProcessLock();
-+ if (grabw_top) {
-+ if (event->type == KeyPress || event->type == KeyRelease)
-+ event->xany.window = XtWindow(grabw_top->w);
-+ }
-+ _XmProcessUnlock();
-+
-+ if (saved_dispatcher_proc) {
-+ return (*saved_dispatcher_proc)(event);
-+ } else if (xt_dispatcher_proc) {
-+ return (*xt_dispatcher_proc)(event);
-+ } else {
-+ if (grabw_top)
-+ XtSetEventDispatcher(XtDisplay(grabw_top->w), event->type, NULL);
-+ return XtDispatchEvent(event);
-+ }
-+}
-+
-+static void UnmapHandler(Widget w, XtPointer client_data, XEvent *event, Boolean *cont)
-+{
-+ if (event->type == UnmapNotify)
-+ _UngrabKeyboard(w);
-+ if (! grabw_top) {
-+ XtSetEventDispatcher(XtDisplay(w), KeyPress, saved_dispatcher_proc);
-+ XtSetEventDispatcher(XtDisplay(w), KeyRelease, saved_dispatcher_proc);
-+ xm_dispatcher_on = 0;
-+ }
-+
-+ /* we do not call XtUngrabKeyboard since X server automatically performs an
-+ UngrabKeyboard request if the event window for an active keyboard grab becomes
-+ not viewable. ~ochern */
-+}
-+
-+static Boolean _UngrabKeyboard(Widget w)
-+{
-+ GrabData *grabw, *grabw_prev;
-+
-+ _XmProcessLock();
-+ if (! grabw_top) {
-+ _XmProcessUnlock();
-+ return False;
-+ }
-+
-+ grabw = grabw_top;
-+ grabw_prev = NULL;
-+ while(grabw && grabw->w != w) {
-+ grabw_prev = grabw;
-+ grabw = grabw->next;
-+ }
-+ if (grabw) {
-+ if (grabw_prev)
-+ grabw_prev->next = grabw->next;
-+ else
-+ grabw_top = grabw->next;
-+ XtFree((char*) grabw);
-+
-+ _XmProcessUnlock();
-+ return True;
-+ }
-+
-+ _XmProcessUnlock();
-+ return False;
-+}
-+
-+static void _XmSendFocusEvent(Widget child, int type)
-+{
-+ child = XtIsWidget(child) ? child : _XtWindowedAncestor(child);
-+ if (XtIsSensitive(child) && !child->core.being_destroyed
-+ && XtIsRealized(child) && (XtBuildEventMask(child) & FocusChangeMask))
-+ {
-+ XFocusChangeEvent event;
-+ Display* dpy = XtDisplay (child);
-+
-+ event.type = type;
-+ event.serial = LastKnownRequestProcessed(dpy);
-+ event.send_event = True;
-+ event.display = dpy;
-+ event.window = XtWindow(child);
-+ event.mode = NotifyNormal;
-+ event.detail = NotifyAncestor;
-+ if (XFilterEvent((XEvent*)&event, XtWindow(child)))
-+ return;
-+ XtDispatchEventToWidget(child, (XEvent*)&event);
-+ }
-+}
-+
-+#endif
-+
---- a/lib/Xm/XmI.h
-+++ b/lib/Xm/XmI.h
-@@ -242,7 +242,9 @@
- extern XChar2b* _XmUtf8ToUcs2(char *draw_text,
- size_t seg_len,
- size_t *ret_str_len);
--
-+#ifdef FIX_1565
-+extern void XmForceGrabKeyboard(Widget w, Time time);
-+#endif
-
- /******** End Private Function Declarations ********/
-
diff --git a/main/motif/APKBUILD b/main/motif/APKBUILD
index 54bf3e7439..3785428cc9 100644
--- a/main/motif/APKBUILD
+++ b/main/motif/APKBUILD
@@ -1,45 +1,49 @@
# Contributor: Isaac Dunham <ibid.ag@gmail.com>
# Maintainer: Isaac Dunham <ibid.ag@gmail.com>
pkgname=motif
-pkgver=2.3.4
-pkgrel=2
+pkgver=2.3.8
+pkgrel=0
pkgdesc="The Motif library"
-url="http://motif.ics.com/"
+url="https://motif.ics.com/"
arch="all"
options="!check" # Tests are interactive and require X11.
license="LGPL-2.1-or-later"
-depends=""
depends_dev="libx11-dev libxft-dev libxt-dev libxpm-dev libxext-dev xbitmaps"
-makedepends="$depends_dev libtool autoconf automake flex flex-libs flex-dev bison"
-install=""
+makedepends="$depends_dev automake autoconf libtool flex flex-libs flex-dev bison"
subpackages="mwm $pkgname-dev $pkgname-doc"
-source="https://downloads.sourceforge.net/$pkgname/Motif%20$pkgver%20Source%20Code/motif-$pkgver-src.tgz
-01-fix-autoconf.patch
-02-fix-format-security.patch
-03-no-demos.patch
-06-cast-size_t-to-int.patch
-07-fix_lintian_reported_manpage_typos.patch
-08-fix_hyphen_in_man_pages.patch
-09-fix_typo_in_libxm.patch
-10-fix_manpage-has-bad-whatis-entry.patch
-11-fix_underlinking.patch
-12-fix_buffer_overrun_in_libxm.patch
-13-fix_hardcoded_x11rgb_path.patch
-14-fix_ac_find_xft.patch
-15-link_uil_against_libuil.patch
-16-fix-undefined-use-of-sprintf.patch
-17-switch-to-system-iswspace.patch
-18-updated-fix-1565.patch"
+source="
+ https://downloads.sourceforge.net/project/motif/Motif%20$pkgver%20Source%20Code/motif-$pkgver.tar.gz
+ 02-fix-format-security.patch
+ 03-no-demos.patch
+ 06-cast-size_t-to-int.patch
+ 07-fix_lintian_reported_manpage_typos.patch
+ 08-fix_hyphen_in_man_pages.patch
+ 09-fix_typo_in_libxm.patch
+ 10-fix_manpage-has-bad-whatis-entry.patch
+ 11-fix_underlinking.patch
+ 13-fix_hardcoded_x11rgb_path.patch
+ 15-link_uil_against_libuil.patch
+ 16-fix-undefined-use-of-sprintf.patch
+ 17-switch-to-system-iswspace.patch
+ "
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ touch NEWS AUTHORS
+ autoreconf -fi
+}
build() {
# reasons for --disable- flags:
-#png, jpeg: most programs that use png and jpeg use the libraries directly;
+# png, jpeg: most programs that use png and jpeg use the libraries directly;
# enabling these mainly matters if you want to point the resources at a
# png/jpeg image.
-#printing: this is Xprint support; only CDE uses this, others print directly.
-#demos: one of the demos can break the build
+# printing: this is Xprint support; only CDE uses this, others print directly.
+# demos: one of the demos can break the build
cd "$builddir"
- ./autogen.sh \
+ export LDFLAGS="$LDFLAGS -lX11"
+ ./configure \
--build=$CBUILD \
--host=$CHOST \
--disable-demos \
@@ -50,7 +54,8 @@ build() {
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --localstatedir=/var
+ --localstatedir=/var \
+ --disable-static
make
}
@@ -60,6 +65,7 @@ package() {
}
mwm() {
+ pkgdesc="Motif Window Manager"
mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib/X11
mv "$pkgdir"/usr/bin/mwm "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/xmbind "$subpkgdir"/usr/bin
@@ -68,8 +74,7 @@ mwm() {
}
-sha512sums="fb1033caa68f25b93282fa6700d5b7856be217b3651072d86e7c93a747df5b31219230998eb93deae22a8fa698e816b1a30e52b3ae88ae1c01c1f0aac59a2af2 motif-2.3.4-src.tgz
-6ca24c74233552a4ce3ebb72f17ed277a3feca10bfa50c4680ed1eff917a11bf1f0bd39bcfdaaef1104466065c25c70251ba450f884bca637bc935565d0cdd9d 01-fix-autoconf.patch
+sha512sums="1ab8e8eece25ef97e948592b5fa3e19d98e932695290a18b7a8e90f1aa2766bc4f082bdbc3999dff5660e684821178a149040f76bb477163e53ca06474d02b55 motif-2.3.8.tar.gz
aff5be25bd25666e6134bc18faaffd54914cc390ca4d89a498efae5aa6dd175ac2b17dc719f7b8d27cff5db2f17b714ddfd5a163f219cad5f5c949cf5eb4786d 02-fix-format-security.patch
a54e0bbf95b7af1a2ba3a6031b3d4f36b6516d4b30d97804158c20b7cccda5df9628ed9a3c84ddda7cbd7779781ad065b0a16d39115184eff9fa509f6ec75ec6 03-no-demos.patch
605f3cc868c179c74ada49bd4ed40a39364f5d883866c99a9e8ffdb1c559e5e06ebf92a776b6a10df516b7f82a186b0084e55a9be1076498f5b742ca9376febc 06-cast-size_t-to-int.patch
@@ -78,10 +83,7 @@ fc955d88cc5c64655ec642786449968e2241c92653fec00bcf8a722d2c206a2ebad16e42529d4ba1
9157f68bf111b081811e08e43b0b67f31364230fd480381668750e130e264867697d3fc461d2011117ee267ebf3801c39d04b24d4c213433ac4a213b6ad8683a 09-fix_typo_in_libxm.patch
8081bddd444423cfe34995cef6c52eebf98d98616f34e9f9eae6240cfbfe8269cab2bdfbac7f85be85371a6f7375452471b32082d4a2dd0cffee242afe115c2f 10-fix_manpage-has-bad-whatis-entry.patch
18c155c13a21df3c95e94d15a8f31def6f40257baadc2ec9e29eef3e10197343824adeef54b75863cd9de25b5f46c4dc88e1e1f991f75c59048fc483a1ea1b43 11-fix_underlinking.patch
-666d0e0fe1ac9b63942224b4f49711e2590a99409fbf8893570f9b87b6e4f8f80e14c780fd2c4cdd664c6f130ee929b89bb20e189338c73dc7daf2750aa0c382 12-fix_buffer_overrun_in_libxm.patch
21dd0ba7fd9ed234d5115ad24547961592dd35c3d4843856800a564ff380482af0c5a35e3ce60d3258e4e9a47cb537435b4f08f460064e130d4327a4955b9975 13-fix_hardcoded_x11rgb_path.patch
-fcb28b3527821c6f4dce0aa86e864f21bf7261ed8a88766858b6f5d4a9ad7affcf94e49c586ae0e87a324a92404fea5965bff2959b2482035e49983d07b5ea45 14-fix_ac_find_xft.patch
8a726e253fa6ed8d14914fd2e2eb0bce8f240051a5fefc04ff56899f908a26300ad3292507b71c1ce65f57e7889e4067e35d0ab4ce15123bffccb606dfd9067f 15-link_uil_against_libuil.patch
2230f0af607111d014b0a648b807df18676a4a1421f10978c59a0a29b02dda38060163619bc54fda19a5186315f98fc8597b2ef6eb8ab7bedb6bd6972a77b38d 16-fix-undefined-use-of-sprintf.patch
-0cb0fa3a02a452f067649e02e855d6d3d728e4904bad009aebda9250de0c9fb76d352b6d9a857fcd1f920c5dfc6183f9b12886505c5570164fe92e99e97eea15 17-switch-to-system-iswspace.patch
-15cbb37beebf4b06b65a09612a05e4a5b2eaab09d23860332c90aec02cf8a59e0d351dce831eb98a774cb98d15c2ecf695669e5b5e6d0dcce77ce6b2658a8a84 18-updated-fix-1565.patch"
+0cb0fa3a02a452f067649e02e855d6d3d728e4904bad009aebda9250de0c9fb76d352b6d9a857fcd1f920c5dfc6183f9b12886505c5570164fe92e99e97eea15 17-switch-to-system-iswspace.patch"