summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Bos2018-05-27 15:17:14 +0100
committerCharles Bos2018-05-27 15:17:14 +0100
commit447cab243d0cd02fbcf2033b6614d105b43167c3 (patch)
tree5954e1f01ba996e5d4507845073c05a752be1986
parent65773226b3324e1c5e1e55a1d6e4aaa652c0924b (diff)
downloadaur-olvwm.tar.gz
Use debian source and patchset as the debian patchset is more up to date. Add my own patch for the missing rpc.h header file. Use gcc 5.4 as compiling with gcc 8 causes a stack smash on startup
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD32
-rw-r--r--disable_rpc_compile.patch50
-rw-r--r--notify-wait-force-int-status.patch172
-rw-r--r--use-gcc54.patch29
-rw-r--r--virtual_c-regexp-fix.patch35
6 files changed, 105 insertions, 232 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 56aea9359bc0..3d994eb8dd54 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,23 +1,22 @@
-# Generated by mksrcinfo v8
-# Sat Mar 25 16:21:42 UTC 2017
pkgbase = olvwm
pkgdesc = Open Look Virtual Window Manager
pkgver = 4.4
- pkgrel = 5
+ pkgrel = 6
url = https://en.wikipedia.org/wiki/Olwm
arch = i686
arch = x86_64
license = custom
makedepends = imake
+ makedepends = gcc54
depends = libxpm
- source = http://archive.ubuntu.com/ubuntu/pool/universe/x/xview/xview_3.2p1.4.orig.tar.gz
- source = http://archive.ubuntu.com/ubuntu/pool/universe/x/xview/xview_3.2p1.4-28.1.debian.tar.gz
- source = virtual_c-regexp-fix.patch
- source = notify-wait-force-int-status.patch
+ source = http://http.debian.net/debian/pool/main/x/xview/xview_3.2p1.4.orig.tar.gz
+ source = http://http.debian.net/debian/pool/main/x/xview/xview_3.2p1.4-28.2.debian.tar.xz
+ source = disable_rpc_compile.patch
+ source = use-gcc54.patch
sha256sums = fcc88f884a6cb05789ed800edea24d9c4cf1f60cb7d61f3ce7f10de677ef9e8d
- sha256sums = b0dcf9904f50b580ee408e93107674d77799b2126374b3d4a1db73d0e7e24cbe
- sha256sums = d2f5012f004322902844ffd92e92a3722c16e08c16c790bbe2653311139c3ae4
- sha256sums = b70ebc91bcf04d95b5a20ad730b054dcc3ff21082bafef1009f396342e032761
+ sha256sums = c84f18a588b848a95f2fed08c3d0514e96792408ebf8120e53e585efd3045f96
+ sha256sums = 4b5e6171a7894597c1e05554df51eb4a9dc56c040728438d69834c962f7b35fd
+ sha256sums = ef5aef39ea7e270a96149e37c5214eeecc7d86a47713fffa107fef4124054b02
pkgname = olvwm
diff --git a/PKGBUILD b/PKGBUILD
index 710d0561157c..76c81e151ef1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,21 +4,22 @@ pkgname=olvwm
pkgver=4.4
_srcname=xview
_srcver=3.2p1.4
-pkgrel=5
+_patchset=28.2
+pkgrel=6
pkgdesc="Open Look Virtual Window Manager"
arch=('i686' 'x86_64')
url=https://en.wikipedia.org/wiki/Olwm
license=('custom')
depends=('libxpm')
-makedepends=('imake')
-source=(http://archive.ubuntu.com/ubuntu/pool/universe/x/${_srcname}/${_srcname}_${_srcver}.orig.tar.gz
- http://archive.ubuntu.com/ubuntu/pool/universe/x/${_srcname}/${_srcname}_${_srcver}-28.1.debian.tar.gz
- virtual_c-regexp-fix.patch
- notify-wait-force-int-status.patch)
+makedepends=('imake' 'gcc54')
+source=(http://http.debian.net/debian/pool/main/x/${_srcname}/${_srcname}_${_srcver}.orig.tar.gz
+ http://http.debian.net/debian/pool/main/x/${_srcname}/${_srcname}_${_srcver}-${_patchset}.debian.tar.xz
+ disable_rpc_compile.patch
+ use-gcc54.patch)
sha256sums=('fcc88f884a6cb05789ed800edea24d9c4cf1f60cb7d61f3ce7f10de677ef9e8d'
- 'b0dcf9904f50b580ee408e93107674d77799b2126374b3d4a1db73d0e7e24cbe'
- 'd2f5012f004322902844ffd92e92a3722c16e08c16c790bbe2653311139c3ae4'
- 'b70ebc91bcf04d95b5a20ad730b054dcc3ff21082bafef1009f396342e032761')
+ 'c84f18a588b848a95f2fed08c3d0514e96792408ebf8120e53e585efd3045f96'
+ '4b5e6171a7894597c1e05554df51eb4a9dc56c040728438d69834c962f7b35fd'
+ 'ef5aef39ea7e270a96149e37c5214eeecc7d86a47713fffa107fef4124054b02')
prepare() {
cd ${srcdir}/${_srcname}-${_srcver}
@@ -28,17 +29,18 @@ prepare() {
patch -Np1 -i ${srcdir}/debian/patches/${x};
done
+ # Build fix for rpc.h which is no longer included in glibc
+ patch -Np1 -i "${srcdir}/disable_rpc_compile.patch"
+
# Fix imake path
sed -i 's@/usr/bin/X11/imake@/usr/bin/imake@g' imake
-
+
# Fix install dirs
sed -i 's@OPENWINHOME=/usr/openwin@OPENWINHOME=/usr@g' Build-LinuxXView.bash
- # Fix for regex functions missing from glibc 2.23
- patch -Np1 -i "${srcdir}/virtual_c-regexp-fix.patch"
-
- # Build fix for notify-wait code - force int *status instead of union wait *status
- patch -Np1 -i "${srcdir}/notify-wait-force-int-status.patch"
+ # Use gcc 5.4 as compiling with gcc 8 seems to cause a stack
+ # smash error on startup
+ patch -Np1 -i "${srcdir}/use-gcc54.patch"
chmod 755 Build-LinuxXView.bash
}
diff --git a/disable_rpc_compile.patch b/disable_rpc_compile.patch
new file mode 100644
index 000000000000..c229b43494e8
--- /dev/null
+++ b/disable_rpc_compile.patch
@@ -0,0 +1,50 @@
+diff -Nur original/lib/libxview/notify/ndet_loop.c modified/lib/libxview/notify/ndet_loop.c
+--- original/lib/libxview/notify/ndet_loop.c 2018-05-26 11:58:01.743212918 +0100
++++ modified/lib/libxview/notify/ndet_loop.c 2018-05-26 12:10:47.513469585 +0100
+@@ -37,7 +37,6 @@
+ #include <sys/ucontext.h>
+ #endif /* SVR4 */
+ #include <stdio.h> /* For temp debugging */
+-#include <rpc/rpc.h>
+
+ extern int errno;
+
+@@ -185,8 +184,6 @@
+ ndis_clients != NTFY_CLIENT_NULL) ?
+ &ndet_polling_tv : NTFY_TIMEVAL_NULL;
+ ibits = ndet_ibits;
+- if (do_rpc)
+- (void) ntfy_fd_cpy_or (&ibits, &svc_fdset);
+ obits = ndet_obits;
+ ebits = ndet_ebits;
+ NTFY_END_CRITICAL;
+@@ -310,18 +307,11 @@
+ if (ntfy_fd_anyset(&ibits)) {
+ fd_set rpc_bits;
+
+- if (do_rpc) {
+- rpc_bits = svc_fdset;
+- (void) ntfy_fd_cpy_and (&rpc_bits, &ibits);
+- (void) ntfy_fd_cpy_and (&ibits, &ndet_ibits);
+- }
+ if (ntfy_new_enum_conditions(ntfy_cndtbl[(int) NTFY_INPUT],
+ ndet_fd_send, (NTFY_ENUM_DATA) & enum_send) ==
+ (int) NTFY_ENUM_TERM)
+ goto Protected_Error;
+ /* micropriority to UI events over network */
+- if (do_rpc)
+- svc_getreqset (&rpc_bits);
+ }
+ if (ntfy_fd_anyset(&obits))
+ if (ntfy_new_enum_conditions(ntfy_cndtbl[(int) NTFY_OUTPUT],
+diff -Nur original/lib/libxview/sel/sel_svc.h modified/lib/libxview/sel/sel_svc.h
+--- original/lib/libxview/sel/sel_svc.h 2018-05-26 11:58:01.683242918 +0100
++++ modified/lib/libxview/sel/sel_svc.h 2018-05-26 12:09:26.977091251 +0100
+@@ -23,7 +23,6 @@
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <X11/Xatom.h>
+-#include <rpc/rpc.h>
+
+ /*
+ ***********************************************************************
diff --git a/notify-wait-force-int-status.patch b/notify-wait-force-int-status.patch
deleted file mode 100644
index 5b344819b1c9..000000000000
--- a/notify-wait-force-int-status.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-diff -Nur original/clients/olvwm-4.1/olwm.c modified/clients/olvwm-4.1/olwm.c
---- original/clients/olvwm-4.1/olwm.c 2017-03-25 14:52:51.349818000 +0000
-+++ modified/clients/olvwm-4.1/olwm.c 2017-03-25 16:10:57.578386068 +0000
-@@ -708,23 +708,13 @@
- void
- ReapChildren()
- {
--#ifdef SYSV
- pid_t pid;
- int status;
--#else
-- int oldmask;
-- int pid;
-- union wait status;
--#endif
-
- if (!deadChildren)
- return;
-
--#ifdef SYSV
- sighold(SIGCHLD);
--#else
-- oldmask = sigblock(sigmask(SIGCHLD));
--#endif
-
- /* clean up children until there are no more to be cleaned up */
-
-@@ -757,11 +747,7 @@
-
- deadChildren = False;
-
--#ifdef SYSV
- sigrelse(SIGCHLD);
--#else
-- (void) sigsetmask(oldmask);
--#endif
- }
-
-
-diff -Nur original/lib/libxview/notify/ndisd_wait.c modified/lib/libxview/notify/ndisd_wait.c
---- original/lib/libxview/notify/ndisd_wait.c 2017-03-25 14:52:51.389817000 +0000
-+++ modified/lib/libxview/notify/ndisd_wait.c 2017-03-25 15:51:44.872208709 +0000
-@@ -22,11 +22,7 @@
- notify_default_wait3(client, pid, status, rusage)
- Notify_client client;
- int pid;
--#ifndef SVR4
-- union wait *status;
--#else /* SVR4 */
- int *status;
--#endif /* SVR4 */
- struct rusage *rusage;
- {
- return (NOTIFY_IGNORED);
-diff -Nur original/lib/libxview/notify/nintn_wait.c modified/lib/libxview/notify/nintn_wait.c
---- original/lib/libxview/notify/nintn_wait.c 2017-03-25 14:52:51.393150000 +0000
-+++ modified/lib/libxview/notify/nintn_wait.c 2017-03-25 15:51:44.872208709 +0000
-@@ -22,11 +22,7 @@
- notify_next_wait3_func(nclient, pid, status, rusage)
- Notify_client nclient;
- int pid;
--#ifndef SVR4
-- union wait *status;
--#else /* SVR4 */
- int *status;
--#endif /* SVR4 */
- struct rusage *rusage;
- {
- Notify_func func;
-diff -Nur original/lib/libxview/notify/notify.h modified/lib/libxview/notify/notify.h
---- original/lib/libxview/notify/notify.h 2017-03-25 14:52:51.386484000 +0000
-+++ modified/lib/libxview/notify/notify.h 2017-03-25 15:51:44.872208709 +0000
-@@ -224,12 +224,8 @@
-
- #ifndef _NOTIFY_MIN_SYMBOLS
-
--#ifdef SYSV_WAIT
- EXTERN_FUNCTION (Notify_value notify_default_wait3, (Notify_client nclient, int pid, int *status, struct rusage *rusage));
- #define notify_default_waitpid notify_default_wait3
--#else
--EXTERN_FUNCTION (Notify_value notify_default_wait3, (Notify_client nclient, int pid, union wait *status, struct rusage *rusage));
--#endif
-
- EXTERN_FUNCTION (Notify_error notify_dispatch, (void));
- EXTERN_FUNCTION (Notify_error notify_do_dispatch, (void));
-@@ -244,9 +240,7 @@
- EXTERN_FUNCTION (Notify_func notify_set_output_func, (Notify_client nclient, Notify_func func, int fd));
- EXTERN_FUNCTION (Notify_func notify_set_signal_func, (Notify_client nclient, Notify_func func, int sig, Notify_signal_mode mode));
- EXTERN_FUNCTION (Notify_func notify_set_wait3_func, (Notify_client nclient, Notify_func func, int pid));
--#ifdef SYSV_WAIT
- #define notify_set_waitpid_func notify_set_wait3_func
--#endif
- EXTERN_FUNCTION (Notify_error notify_start, (void));
- EXTERN_FUNCTION (Notify_error notify_stop, (void));
- EXTERN_FUNCTION (Notify_error notify_veto_destroy, (Notify_client nclient));
-@@ -288,9 +282,7 @@
-
- EXTERN_FUNCTION (Notify_func notify_get_signal_func, (Notify_client nclient, int signal, Notify_signal_mode mode));
- EXTERN_FUNCTION (Notify_func notify_get_wait3_func, (Notify_client nclient, int pid));
--#ifdef SYSV_WAIT
- #define notify_get_waitpid_func notify_get_wait3_func
--#endif
- EXTERN_FUNCTION (Notify_error notify_input, (Notify_client nclient, int fd));
- EXTERN_FUNCTION (Notify_error notify_interpose_destroy_func, (Notify_client nclient, Notify_func func));
- EXTERN_FUNCTION (Notify_error notify_interpose_event_func, (Notify_client nclient, Notify_func func, Notify_event_type when));
-@@ -300,9 +292,7 @@
- EXTERN_FUNCTION (Notify_error notify_interpose_output_func, (Notify_client nclient, Notify_func func, int fd));
- EXTERN_FUNCTION (Notify_error notify_interpose_signal_func, (Notify_client nclient, Notify_func func, int signal, Notify_signal_mode mode));
- EXTERN_FUNCTION (Notify_error notify_interpose_wait3_func, (Notify_client nclient, Notify_func func, int pid));
--#ifdef SYSV_WAIT
- #define notify_interpose_waitpid_func notify_interpose_wait3_func
--#endif
- EXTERN_FUNCTION (Notify_error notify_itimer, (Notify_client nclient, int which));
- EXTERN_FUNCTION (Notify_value notify_next_exception_func, (Notify_client nclient, int fd));
- EXTERN_FUNCTION (Notify_value notify_next_input_func, (Notify_client nclient, int fd));
-@@ -310,12 +300,8 @@
- EXTERN_FUNCTION (Notify_value notify_next_output_func, (Notify_client nclient, int fd));
- EXTERN_FUNCTION (Notify_value notify_next_signal_func, (Notify_client nclient, int signal, Notify_signal_mode mode));
-
--#ifdef SYSV_WAIT
- EXTERN_FUNCTION (Notify_value notify_next_wait3_func, (Notify_client nclient, int pid, int *status, struct rusage *rusage));
- #define notify_next_waitpid_func notify_next_wait3_func
--#else
--EXTERN_FUNCTION (Notify_value notify_next_wait3_func, (Notify_client nclient, int pid, union wait *status, struct rusage *rusage));
--#endif
-
- EXTERN_FUNCTION (Notify_value notify_nop, (void));
- EXTERN_FUNCTION (Notify_error notify_output, (Notify_client nclient, int fd));
-@@ -333,16 +319,12 @@
- EXTERN_FUNCTION (Notify_error notify_remove_output_func, (Notify_client nclient, Notify_func func, int fd));
- EXTERN_FUNCTION (Notify_error notify_remove_signal_func, (Notify_client nclient, Notify_func func, int signal, Notify_signal_mode mode));
- EXTERN_FUNCTION (Notify_error notify_remove_wait3_func, (Notify_client nclient, Notify_func func, int pid));
--#ifdef SYSV_WAIT
- #define notify_remove_waitpid_func notify_remove_wait3_func
--#endif
- EXTERN_FUNCTION (Notify_func notify_set_prioritizer_func, (Notify_client nclient, Notify_func func));
- EXTERN_FUNCTION (Notify_func notify_set_scheduler_func, (Notify_func nclient));
- EXTERN_FUNCTION (Notify_error notify_signal, (Notify_client nclient, int sig));
- EXTERN_FUNCTION (Notify_error notify_wait3, (Notify_client nclient));
--#ifdef SYSV_WAIT
- #define notify_waitpid notify_wait3
--#endif
-
- extern Notify_error notify_errno;
-
-diff -Nur original/lib/libxview/ttysw/tty.c modified/lib/libxview/ttysw/tty.c
---- original/lib/libxview/ttysw/tty.c 1993-06-29 06:17:12.000000000 +0100
-+++ modified/lib/libxview/ttysw/tty.c 2017-03-25 15:51:44.872208709 +0000
-@@ -534,11 +534,7 @@
- tty_quit_on_death(client, pid, status, rusage)
- caddr_t client;
- int pid;
--#ifndef SVR4
-- union wait *status;
--#else
- int *status;
--#endif
- struct rusage *rusage;
- {
- Ttysw_folio ttysw = (Ttysw_folio) client;
-@@ -586,11 +582,7 @@
- tty_handle_death(tty_folio_private, pid, status, rusage)
- Ttysw_folio tty_folio_private;
- int pid;
--#ifndef SVR4
-- union wait *status;
--#else
- int *status;
--#endif
- struct rusage *rusage;
- {
- if (!(WIFSTOPPED(*status))) {
diff --git a/use-gcc54.patch b/use-gcc54.patch
new file mode 100644
index 000000000000..d732238ad513
--- /dev/null
+++ b/use-gcc54.patch
@@ -0,0 +1,29 @@
+diff -Nur original/clients/olvwm-4.1/Imakefile modified/clients/olvwm-4.1/Imakefile
+--- original/clients/olvwm-4.1/Imakefile 2018-05-27 10:38:39.597085999 +0100
++++ modified/clients/olvwm-4.1/Imakefile 2018-05-27 15:07:46.342667666 +0100
+@@ -78,6 +78,8 @@
+
+ #include <XView.tmpl>
+
++CC=gcc-5
++
+ XCOMM # Link libolgx static
+ OLGXLIB = -Wl,-Bstatic -lolgx -Wl,-Bdynamic
+
+diff -Nur original/config/XView.tmpl modified/config/XView.tmpl
+--- original/config/XView.tmpl 2018-05-27 10:38:39.620419333 +0100
++++ modified/config/XView.tmpl 2018-05-27 15:06:50.799334333 +0100
+@@ -459,10 +459,10 @@
+
+ /* This is just needed here because X11 is installed with gcc as
+ a default compiler.
+- lumpi@dobag.in-berlin.de
++ lumpi@dobag.in-berlin.de */
+
+ #undef CcCmd
+-#define CcCmd cc
+-#define LibraryCcCmd cc */
++#define CcCmd gcc-5
++#define LibraryCcCmd gcc-5
+ #include <XView.rules>
+ #endif /* XViewTmpl */
diff --git a/virtual_c-regexp-fix.patch b/virtual_c-regexp-fix.patch
deleted file mode 100644
index 2959da5ff87e..000000000000
--- a/virtual_c-regexp-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -Nur original/clients/olvwm-4.1/virtual.c modified/clients/olvwm-4.1/virtual.c
---- original/clients/olvwm-4.1/virtual.c 2016-03-18 10:20:02.455991000 +0000
-+++ modified/clients/olvwm-4.1/virtual.c 2016-03-18 10:38:59.218645857 +0000
-@@ -58,10 +58,11 @@
- #define TRUE 1
- #define FALSE 0
-
--#include <regexp.h>
-+#include <regex.h>
- #ifdef REGEXP
- regexp *expbuf;
- #endif
-+regex_t re;
-
- #ifdef IDENT
- #ident "@(#)virtual.c 1.6 olvwm version 07 Jan 1994"
-@@ -2152,8 +2153,8 @@
- rexMatch(string)
- char *string;
- {
--#ifdef REGEXP
-- return regexec(expbuf, string);
-+#ifdef _REGEX_H
-+ return regexec(&re, string, (size_t) 0, NULL, 0);
- #else
- return step(string,expbuf);
- #endif
-@@ -2199,6 +2200,6 @@
- */
- /* sp = newPattern;*/
- #endif
-- compile(newPattern, expbuf, &expbuf[256], '\0');
-+ //compile(newPattern, expbuf, &expbuf[256], '\0');
- #endif
- }