Merge pull request #15187 from Rmys/master

aalib rebuild
This commit is contained in:
Rmys
2024-10-23 13:27:08 +03:00
committed by GitHub
11 changed files with 302 additions and 8 deletions
@@ -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])))];
@@ -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;
}
@@ -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);
@@ -0,0 +1,17 @@
--- aalib-config.in.libflag 2008-03-24 20:42:47.000000000 -0700
+++ aalib-config.in 2008-03-24 20:44:24.000000000 -0700
@@ -49,12 +49,12 @@ while test $# -gt 0; do
;;
@ENABLE_SHARED_TRUE@ --libs)
@ENABLE_SHARED_TRUE@ libdirs=""
-@ENABLE_SHARED_TRUE@ echo $libdirs @AALIB_LIBS@
+@ENABLE_SHARED_TRUE@ echo $libdirs -laa
@ENABLE_SHARED_TRUE@ ;;
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
@ENABLE_STATIC_TRUE@ libdirs=""
-@ENABLE_STATIC_TRUE@ echo $libdirs @AALIB_LIBS@
+@ENABLE_STATIC_TRUE@ echo $libdirs -laa
@ENABLE_STATIC_TRUE@ ;;
*)
echo "${usage}" 1>&2
@@ -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;
@@ -0,0 +1,40 @@
--- aalib-1.4.0/configure.in~ 2006-07-23 09:29:19.000000000 +0200
+++ aalib-1.4.0/configure.in 2006-07-23 09:29:19.000000000 +0200
@@ -371,17 +371,6 @@
;;
esac
-# Set runtime shared library paths as needed
-
-if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi; then
- AALIB_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
-fi
-
-if test $ARCH = solaris; then
- AALIB_RLD_FLAGS="-R\${exec_prefix}/lib"
-fi
-
-
dnl Expand the cflags and libraries needed by apps using AALIB
AC_SUBST(AALIB_CFLAGS)
AC_SUBST(AALIB_LIBS)
--- aalib-1.4.0/configure~ 2006-07-23 09:29:18.000000000 +0200
+++ aalib-1.4.0/configure 2006-07-23 09:29:18.000000000 +0200
@@ -4313,17 +4313,6 @@
;;
esac
-# Set runtime shared library paths as needed
-
-if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi; then
- AALIB_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
-fi
-
-if test $ARCH = solaris; then
- AALIB_RLD_FLAGS="-R\${exec_prefix}/lib"
-fi
-
-
@@ -0,0 +1,13 @@
--- aalib-1.4.0/configure.in.X_LIBS 2007-12-12 17:48:53.000000000 -0800
+++ aalib-1.4.0/configure.in 2007-12-12 17:49:11.000000000 -0800
@@ -103,8 +103,8 @@ AC_PATH_XTRA
if test "x$no_x" = x; then
x_driver=true
AC_DEFINE(X11_DRIVER)
- LIBS="$LIBS $X_EXTRA_LIBS $X_LIBS -lX11"
- AALIB_LIBS="$AALIB_LIBS $X_EXTRA_LIBS $X_LIBS -lX11"
+ LIBS="$LIBS $X_EXTRA_LIBS -lX11"
+ AALIB_LIBS="$AALIB_LIBS $X_EXTRA_LIBS -lX11"
CFLAGS="$CFLAGS $X_CFLAGS"
fi
@@ -0,0 +1,108 @@
Add additional system header #include directives for more
function prototypes. This avoids implicit function declarations
and build failures with future compilers.
Submitted upstream: <https://sourceforge.net/p/aa-project/bugs/10/>
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"
@@ -0,0 +1,17 @@
--- aalib-config.in~ 2001-04-26 17:37:31.000000000 +0300
+++ aalib-config.in 2004-07-16 01:33:03.740515009 +0300
@@ -48,12 +48,12 @@
echo -I@includedir@ @AALIB_CFLAGS@
;;
@ENABLE_SHARED_TRUE@ --libs)
-@ENABLE_SHARED_TRUE@ libdirs="-L@libdir@ @AALIB_RLD_FLAGS@"
+@ENABLE_SHARED_TRUE@ libdirs=""
@ENABLE_SHARED_TRUE@ echo $libdirs @AALIB_LIBS@
@ENABLE_SHARED_TRUE@ ;;
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
-@ENABLE_STATIC_TRUE@ libdirs="-L@libdir@ @AALIB_RLD_FLAGS@"
+@ENABLE_STATIC_TRUE@ libdirs=""
@ENABLE_STATIC_TRUE@ echo $libdirs @AALIB_LIBS@
@ENABLE_STATIC_TRUE@ ;;
*)
@@ -0,0 +1,19 @@
--- aalib-1.4.0/ltconfig.foo 2007-05-04 08:47:13.000000000 -0400
+++ aalib-1.4.0/ltconfig 2007-05-04 08:48:26.000000000 -0400
@@ -1994,16 +1994,6 @@ linux-gnu*)
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
deplibs_check_method=pass_all
-
- if test -f /lib/ld.so.1; then
- dynamic_linker='GNU ld.so'
- else
- # Only the GNU ld.so supports shared libraries on MkLinux.
- case "$host_cpu" in
- powerpc*) dynamic_linker=no ;;
- *) dynamic_linker='Linux ld.so' ;;
- esac
- fi
;;
netbsd*)
+14 -8
View File
@@ -1,29 +1,37 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>aalib</Name>
<Homepage>https://aa-project.sourceforge.net/aalib/</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Name>Pisilinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>library</IsA>
<Summary>An ASCII-graphics Library</Summary>
<Description>Aalib is an ASCII-graphics library generating ASCII character outputs.</Description>
<Archive sha1sum="a23269e950a249d2ef93625837cace45ddbce03b" type="targz">mirrors://sourceforge/aa-project/aalib-1.4rc5.tar.gz</Archive>
<BuildDependencies>
<Dependency>gpm</Dependency>
<Dependency>ncurses-devel</Dependency>
</BuildDependencies>
<Archive type="targz" sha1sum="a23269e950a249d2ef93625837cace45ddbce03b">mirrors://sourceforge/aa-project/aalib-1.4rc5.tar.gz</Archive>
<Patches>
<Patch level="1">fedora/aalib-1.4_rc5-fix-aarender.patch</Patch>
<Patch level="1">fedora/aalib-1.4_rc5-free-offset-pointer.patch</Patch>
<Patch level="1">fedora/aalib-1.4rc5-bug149361.patch</Patch>
<Patch level="1">fedora/aalib-1.4rc5-libflag.patch</Patch>
<Patch level="1">fedora/aalib-1.4rc5-opaque-ncurses-fix.patch</Patch>
<Patch level="1">fedora/aalib-1.4rc5-rpath.patch</Patch>
<Patch level="1">fedora/aalib-1.4rc5-x_libs.patch</Patch>
<Patch level="1">fedora/aalib-c99.patch</Patch>
<Patch level="1">fedora/aalib-config-rpath.patch</Patch>
<Patch level="1">fedora/aalib-ppc.patch</Patch>
<Patch level="1">m4.patch</Patch>
</Patches>
</Source>
<Package>
<Name>aalib</Name>
<Summary>Development files for aalib</Summary>
<RuntimeDependencies>
<Dependency>gpm</Dependency>
<Dependency>ncurses</Dependency>
@@ -36,7 +44,6 @@
<Path fileType="man">/usr/share/man</Path>
</Files>
</Package>
<Package>
<Name>aalib-devel</Name>
<Summary>Development files for aalib</Summary>
@@ -44,12 +51,11 @@
<Dependency release="current">aalib</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="data">/usr/share/aclocal</Path>
<Path fileType="header">/usr/include</Path>
<Path fileType="data">/usr/share/aclocal</Path>
<Path fileType="man">/usr/share/man/man3</Path>
</Files>
</Package>
<History>
<Update release="6">
<Date>2022-01-17</Date>