Skip to content

Commit

Permalink
fix(main/aalib): update patches to match Arch Linux
Browse files Browse the repository at this point in the history
Fixes "`error: incomplete definition of type 'struct _win_st'`" during
build.

Progress on termux#21130

Copied and pasted from https://gitlab.archlinux.org/archlinux/packaging/packages/aalib/-/commit/05e22fdc66114a51ac0a6ff07f3c156356439c63

`0005-aalib-m4.patch`: Fix --with-aalib-prefix argument

`0006-aalib-c99.patch`: Fix builtin-declaration-mismatch compiler warnings

`0007-aalib-free-offset-pointer.patch`: Fix free-nonheap-object compiler warning

`0008-aalib-key-down-OOB.patch`: Fix aggressive-loop-optimizations compiler warning

`0009-aalib-aalinuxkbd-return.patch`: Fix 'return' with no value compiler warning

`0010-aalib-opaque-ncurses-fix.patch`: Fix build for ncurses built with opaque-curses option

`0011-aalib-fix-aarender.patch`: Fix rendering with custom aspect ratio

`0012-aalib-mouse.patch`: Fix typo for KEY_MOUSE condition
  • Loading branch information
robertkirkman committed Dec 18, 2024
1 parent 52d272d commit d73ec7a
Show file tree
Hide file tree
Showing 16 changed files with 270 additions and 130 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
--- ./aalib.m4.orig 2006-03-05 13:58:21.000000000 +0000
+++ ,/aalib.m4 2006-03-05 13:58:32.000000000 +0000
--- a/aalib.m4 2006-03-05 13:58:21.000000000 +0000
+++ b/aalib.m4 2006-03-05 13:58:32.000000000 +0000
@@ -9,7 +9,7 @@
dnl AM_PATH_AALIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for AALIB, and define AALIB_CFLAGS and AALIB_LIBS
Expand Down
25 changes: 25 additions & 0 deletions packages/aalib/0005-aalib-m4.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Index: aalib.m4
===================================================================
RCS file: /cvsroot/aa-project/aalib/aalib.m4,v
retrieving revision 1.2
diff -u -r1.2 aalib.m4
--- a/aalib.m4 3 May 2001 14:56:44 -0000 1.2
+++ b/aalib.m4 28 Mar 2017 08:36:42 -0000
@@ -40,14 +40,14 @@
if test "$AALIB_CONFIG" = "no" ; then
no_aalib=yes
else
- AALIB_CFLAGS=`$AALIB_CONFIG $aalibconf_args --cflags`
- AALIB_LIBS=`$AALIB_CONFIG $aalibconf_args --libs`
+ AALIB_CFLAGS=`$AALIB_CONFIG $aalib_args --cflags`
+ AALIB_LIBS=`$AALIB_CONFIG $aalib_args --libs`

aalib_major_version=`$AALIB_CONFIG $aalib_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
aalib_minor_version=`$AALIB_CONFIG $aalib_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- aalib_micro_version=`$AALIB_CONFIG $aalib_config_args --version | \
+ aalib_micro_version=`$AALIB_CONFIG $aalib_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_aalibtest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
106 changes: 106 additions & 0 deletions packages/aalib/0006-aalib-c99.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
Add additional system header #include directives for more
function prototypes. This avoids implicit function declarations
and build failures with future compilers.

diff --git a/src/aafire.c b/src/aafire.c
index 4f36149aa84fba57..a59b5c5fa58e085b 100644
--- a/src/aafire.c
+++ b/src/aafire.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
#include "aalib.h"

#define XSIZ aa_imgwidth(context)
diff --git a/src/aainfo.c b/src/aainfo.c
index d3f6d50f34590638..f4250ee37ae46134 100644
--- a/src/aainfo.c
+++ b/src/aainfo.c
@@ -1,3 +1,4 @@
+#include <stdlib.h>

#include "aalib.h"
#include "aaint.h"
diff --git a/src/aakbdreg.c b/src/aakbdreg.c
index def65fe25646d75a..682616313c1b6ebd 100644
--- a/src/aakbdreg.c
+++ b/src/aakbdreg.c
@@ -1,4 +1,5 @@
#include <malloc.h>
+#include <string.h>
#include "config.h"
#include "aalib.h"
#include "aaint.h"
diff --git a/src/aalib.c b/src/aalib.c
index 11fecc8fe8ef6b59..1ef12c0dfa9026a4 100644
--- a/src/aalib.c
+++ b/src/aalib.c
@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include "aalib.h"
diff --git a/src/aalinuxkbd.c b/src/aalinuxkbd.c
index c7f388abfe9e8c7f..ea988154518dfc8e 100644
--- a/src/aalinuxkbd.c
+++ b/src/aalinuxkbd.c
@@ -8,6 +8,7 @@
*/

#include "config.h"
+#include <stdlib.h>
#ifdef LINUX_DRIVER
#include <sys/time.h>
#include <sys/types.h>
diff --git a/src/aamoureg.c b/src/aamoureg.c
index 03808289eb59b928..6d807416ae0d3dc2 100644
--- a/src/aamoureg.c
+++ b/src/aamoureg.c
@@ -1,4 +1,5 @@
#include <malloc.h>
+#include <string.h>
#include "config.h"
#include "aalib.h"
#include "aaint.h"
diff --git a/src/aaregist.c b/src/aaregist.c
index 54abec0b9797533a..768b8ce29e286b00 100644
--- a/src/aaregist.c
+++ b/src/aaregist.c
@@ -1,4 +1,5 @@
#include <malloc.h>
+#include <string.h>
#include "config.h"
#include "aalib.h"
#include "aaint.h"
diff --git a/src/aasavefont.c b/src/aasavefont.c
index b00e1e6d7f181952..864ba225d5ef626c 100644
--- a/src/aasavefont.c
+++ b/src/aasavefont.c
@@ -1,3 +1,4 @@
+#include <stdlib.h>
#include "aalib.h"
int main(int argc, char **argv)
{
diff --git a/src/aatest.c b/src/aatest.c
index 9816f5d855134894..89933cfba6344270 100644
--- a/src/aatest.c
+++ b/src/aatest.c
@@ -1,3 +1,5 @@
+#include <stdlib.h>
+#include <string.h>
#include "aalib.h"
int main(int argc, char **argv)
{
diff --git a/src/aaxkbd.c b/src/aaxkbd.c
index f16afc63bb565512..44b91458b4bef3bc 100644
--- a/src/aaxkbd.c
+++ b/src/aaxkbd.c
@@ -7,6 +7,7 @@
#include <X11/Xlib.h>
#include <X11/keysymdef.h>
#include <X11/keysym.h>
+#include <X11/Xutil.h>
#include "aalib.h"
#include "aaint.h"
#include "aaxint.h"
14 changes: 14 additions & 0 deletions packages/aalib/0007-aalib-free-offset-pointer.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--- a/src/aarender.c
+++ b/src/aarender.c
@@ -63,10 +63,10 @@ void aa_renderpalette(aa_context * c, __
errors[0] = calloc(1, (x2 + 5) * sizeof(int));
if (errors[0] == NULL)
dither = AA_ERRORDISTRIB;
- errors[0] += 3;
errors[1] = calloc(1, (x2 + 5) * sizeof(int));
if (errors[1] == NULL)
free(errors[0]), dither = AA_ERRORDISTRIB;
+ errors[0] += 3;
errors[1] += 3;
cur = 0;
}
23 changes: 23 additions & 0 deletions packages/aalib/0008-aalib-key-down-OOB.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
diff -Naur a/src/aalinuxkbd.c b/src/aalinuxkbd.c
--- a/src/aalinuxkbd.c 2016-12-19 12:40:26.660039735 +0100
+++ b/src/aalinuxkbd.c 2016-12-19 12:42:21.692045971 +0100
@@ -114,6 +114,7 @@
static int vtswitch_allowed;

static char key_down[128];
+static size_t key_down_size = 128;
static int closed = 1;
static int mypid;

@@ -165,10 +166,7 @@

static void blank_key_down(void)
{
- int f;
-
- for (f = 0; f < NR_KEYS; f++)
- key_down[f] = 0;
+ memset(key_down, 0, key_down_size);
}


12 changes: 12 additions & 0 deletions packages/aalib/0009-aalib-aalinuxkbd-return.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff -Nur aalib-1.4.0-orig/src/aalinuxkbd.c aalib-1.4.0/src/aalinuxkbd.c
--- aalib-1.4.0-orig/src/aalinuxkbd.c 2001-04-26 16:37:31.000000000 +0200
+++ aalib-1.4.0/src/aalinuxkbd.c 2005-07-01 22:57:59.000000000 +0200
@@ -200,7 +200,7 @@
static int rawmode_init(void)
{
if (!closed)
- return;
+ return 1;
mypid = getpid();
if (tty_fd == -1) {
tty_fd = fileno(stdin);
14 changes: 14 additions & 0 deletions packages/aalib/0010-aalib-opaque-ncurses-fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
diff -up aalib-1.4.0/src/aacurses.c.opaque-ncurses-fix aalib-1.4.0/src/aacurses.c
--- aalib-1.4.0/src/aacurses.c.opaque-ncurses-fix 2024-02-10 06:32:32.008267145 -0500
+++ aalib-1.4.0/src/aacurses.c 2024-02-10 06:33:38.648245270 -0500
@@ -71,8 +71,8 @@ static void curses_getsize(aa_context *
{
if (__resized_curses)
curses_uninit(c), curses_init(&c->params, NULL,&c->driverparams, NULL), __resized_curses = 0;
- *width = stdscr->_maxx + 1;
- *height = stdscr->_maxy + 1;
+ *width = getmaxx(stdscr);
+ *height = getmaxy(stdscr);
#ifdef GPM_MOUSEDRIVER
gpm_mx = *width;
gpm_my = *height;
34 changes: 34 additions & 0 deletions packages/aalib/0011-aalib-fix-aarender.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
This bug can be seen very clearly with e.g. mplayer -vo aa -monitoraspect 3
in which case a big part of the picture is missing or there is even completely
black output.

The reason for this is, when drawing only a part of the picture via aarender()
the first X coordinate is used for the loop count, but it is not applied to the
destination and source image index, thus instead of (re)drawing the middle part
of the image, it draws always the left part.

Actual Results:
only the left part of the image is draw (depending on the video, only the left
black bar might be draw, so you will see nothing at all - if so use a slightly
smaller value for -monitoraspect).

Expected Results:
All of the image should be drawn, and -monitoraspect should only squeeze the
image, not cause part of it to miss.

Gentoo-bug: http://bugs.gentoo.org/id=214142
Reported-by: Reimar Döffinger
Fixed-by: Reimar Döffinger
--- a/src/aarender.c.orig 2008-03-18 23:55:32.000000000 +0100
+++ b/src/aarender.c 2008-03-18 23:55:50.000000000 +0100
@@ -94,8 +94,8 @@
gamma = randomval / 2;
mval = (c->parameters[c->filltable[255]].p[4]);
for (y = y1; y < y2; y++) {
- pos = 2 * y * wi;
- pos1 = y * aa_scrwidth(c);
+ pos = 2 * (y * wi + x1);
+ pos1 = y * aa_scrwidth(c) + x1;
esum = 0;
for (x = x1; x < x2; x++) {
i1 = table[((((int) c->imagebuffer[pos])))];
39 changes: 39 additions & 0 deletions packages/aalib/0012-aalib-mouse.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
From 6125c3438e6cf30e1ebd70ca6ac3f1e04481c7a7 Mon Sep 17 00:00:00 2001
From: Gergely Nagy <[email protected]>
Date: Sat, 30 Jun 2012 13:08:13 +0200
Subject: [PATCH] Typo fix: KEY_MOUDE => KEY_MOUSE

Patch by Sam Hocevar <[email protected]> 17 Nov 2003

Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=221243
---
src/aacurkbd.c | 2 +-
src/aastdin.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/aacurkbd.c b/src/aacurkbd.c
index 801897b..418b6a3 100644
--- a/src/aacurkbd.c
+++ b/src/aacurkbd.c
@@ -112,7 +112,7 @@ static int curses_getchar(aa_context * c1, int wait)
return (AA_UP);
case KEY_DOWN:
return (AA_DOWN);
-#ifdef KEY_MOUDE
+#ifdef KEY_MOUSE
case KEY_MOUSE:
#ifdef GPM_MOUSEDRIVER
if (!__curses_usegpm)
diff --git a/src/aastdin.c b/src/aastdin.c
index 696d87b..e2dabe4 100644
--- a/src/aastdin.c
+++ b/src/aastdin.c
@@ -88,7 +88,7 @@ static int stdin_getchar(aa_context * c1, int wait)
if (c > 0 && c < 127 && c != 127)
return (c);
switch (c) {
-#ifdef KEY_MOUDE
+#ifdef KEY_MOUSE
case KEY_MOUSE:
return AA_MOUSE
#endif
59 changes: 0 additions & 59 deletions packages/aalib/aalib-1.4_rc5-fix-protos.patch

This file was deleted.

Loading

0 comments on commit d73ec7a

Please sign in to comment.