diff --git a/recipes-graphics/aalib/aalib/aalib-aalinuxkbd-return.patch b/recipes-graphics/aalib/aalib/aalib-aalinuxkbd-return.patch new file mode 100644 index 0000000..40f1f49 --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-aalinuxkbd-return.patch @@ -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); diff --git a/recipes-graphics/aalib/aalib/aalib-c99.patch b/recipes-graphics/aalib/aalib/aalib-c99.patch new file mode 100644 index 0000000..2e01fee --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-c99.patch @@ -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 ++#include + #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 + + #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 ++#include + #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 ++#include + #include + #include + #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 + #ifdef LINUX_DRIVER + #include + #include +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 ++#include + #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 ++#include + #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 + #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 ++#include + #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 + #include + #include ++#include + #include "aalib.h" + #include "aaint.h" + #include "aaxint.h" diff --git a/recipes-graphics/aalib/aalib/aalib-fix-aarender.patch b/recipes-graphics/aalib/aalib/aalib-fix-aarender.patch new file mode 100644 index 0000000..2c3d5bf --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-fix-aarender.patch @@ -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])))]; diff --git a/recipes-graphics/aalib/aalib/aalib-free-offset-pointer.patch b/recipes-graphics/aalib/aalib/aalib-free-offset-pointer.patch new file mode 100644 index 0000000..3ae697e --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-free-offset-pointer.patch @@ -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; + } diff --git a/recipes-graphics/aalib/aalib/aalib-key-down-OOB.patch b/recipes-graphics/aalib/aalib/aalib-key-down-OOB.patch new file mode 100644 index 0000000..8078aa5 --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-key-down-OOB.patch @@ -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); + } + + diff --git a/recipes-graphics/aalib/aalib/aalib-m4.patch b/recipes-graphics/aalib/aalib/aalib-m4.patch new file mode 100644 index 0000000..7a9015e --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-m4.patch @@ -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" diff --git a/recipes-graphics/aalib/aalib/aalib-mouse.patch b/recipes-graphics/aalib/aalib/aalib-mouse.patch new file mode 100644 index 0000000..99b07c5 --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-mouse.patch @@ -0,0 +1,39 @@ +From 6125c3438e6cf30e1ebd70ca6ac3f1e04481c7a7 Mon Sep 17 00:00:00 2001 +From: Gergely Nagy +Date: Sat, 30 Jun 2012 13:08:13 +0200 +Subject: [PATCH] Typo fix: KEY_MOUDE => KEY_MOUSE + +Patch by Sam Hocevar 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 diff --git a/recipes-graphics/aalib/aalib/aalib-opaque-ncurses-fix.patch b/recipes-graphics/aalib/aalib/aalib-opaque-ncurses-fix.patch new file mode 100644 index 0000000..42c430c --- /dev/null +++ b/recipes-graphics/aalib/aalib/aalib-opaque-ncurses-fix.patch @@ -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; diff --git a/recipes-graphics/aalib/aalib/aclocal-fixes.patch b/recipes-graphics/aalib/aalib/aclocal-fixes.patch new file mode 100644 index 0000000..2a8bca1 --- /dev/null +++ b/recipes-graphics/aalib/aalib/aclocal-fixes.patch @@ -0,0 +1,11 @@ +--- 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 + dnl +-AC_DEFUN(AM_PATH_AALIB, ++AC_DEFUN([AM_PATH_AALIB], + [dnl + dnl Get the cflags and libraries from the aalib-config script + dnl diff --git a/recipes-graphics/aalib/aalib_1.4.0.bb b/recipes-graphics/aalib/aalib_1.4.0.bb index 1aa3dbe..b6d8c49 100644 --- a/recipes-graphics/aalib/aalib_1.4.0.bb +++ b/recipes-graphics/aalib/aalib_1.4.0.bb @@ -9,10 +9,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" S = "${WORKDIR}/aalib-1.4.0" -SRC_URI = "${SOURCEFORGE_MIRROR}/projects/aa-project/files/aa-lib/1.4rc5/aalib-1.4rc5.tar.gz" +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/projects/aa-project/files/aa-lib/1.4rc5/aalib-1.4rc5.tar.gz \ + file://aalib-aalinuxkbd-return.patch \ + file://aalib-free-offset-pointer.patch \ + file://aalib-key-down-OOB.patch \ + file://aalib-opaque-ncurses-fix.patch \ + file://aclocal-fixes.patch \ + file://aalib-c99.patch \ + file://aalib-fix-aarender.patch \ + file://aalib-m4.patch \ + file://aalib-mouse.patch \ +" SRC_URI[sha256sum] = "fbddda9230cf6ee2a4f5706b4b11e2190ae45f5eda1f0409dc4f99b35e0a70ee" inherit autotools -CFLAGS:append = " -fPIC " -