fix FTBFS, cleanups, gentoo patches

This commit is contained in:
Tom Callaway 2024-02-10 06:39:21 -05:00
commit 39b0b93615
4 changed files with 89 additions and 11 deletions

View file

@ -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])))];

View file

@ -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;
}

View file

@ -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;

View file

@ -3,8 +3,8 @@
Summary: ASCII art library
Name: aalib
Version: 1.4.0
Release: 0.49.%{rc_subver}%{?dist}
License: LGPLv2+
Release: 0.50.%{rc_subver}%{?dist}
License: LGPL-2.1-or-later
URL: http://aa-project.sourceforge.net/aalib/
Source0: http://download.sourceforge.net/aa-project/%{name}-1.4%{rc_subver}.tar.gz
Patch0: aalib-aclocal.patch
@ -13,10 +13,16 @@ Patch2: aalib-1.4rc5-bug149361.patch
Patch3: aalib-1.4rc5-rpath.patch
Patch4: aalib-1.4rc5-x_libs.patch
Patch5: aalib-1.4rc5-libflag.patch
Patch6: aalib-c99.patch
Patch6: aalib-c99.patch
Patch7: https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/aalib/files/aalib-1.4_rc5-free-offset-pointer.patch
Patch8: https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/aalib/files/aalib-1.4_rc5-fix-aarender.patch
# Modern ncurses has an opaque WINDOW structure (you cannot address its members directly)
# Use the getmaxx() and getmaxy() functions provided by ncurses instead.
Patch9: aalib-1.4rc5-opaque-ncurses-fix.patch
BuildRequires: slang-devel libXt-devel gpm-devel ncurses-devel
BuildRequires: autoconf libtool
BuildRequires: make
BuildRequires: make
%description
AA-lib is a low level gfx library just as many other libraries are. The
@ -41,13 +47,16 @@ with aalib.
%prep
%setup -q
%patch0 -p0
%patch1 -p0
%patch2 -p1 -b .bug149361
%patch3 -p1 -b .rpath
%patch4 -p1 -b .x_libs
%patch5 -p0 -b .libflag
%patch6 -p1
%patch -P0 -p0
%patch -P1 -p0
%patch -P2 -p1 -b .bug149361
%patch -P3 -p1 -b .rpath
%patch -P4 -p1 -b .x_libs
%patch -P5 -p0 -b .libflag
%patch -P6 -p1
%patch -P7 -p1 -b .free-offset-pointer
%patch -P8 -p1 -b .fix-aarender
%patch -P9 -p1 -b .opaque-ncurses-fix
# included libtool is too old, we need to rebuild
autoreconf -v -f -i
@ -87,6 +96,13 @@ touch -r NEWS $RPM_BUILD_ROOT%{_bindir}/aalib-config $RPM_BUILD_ROOT%{_datadir}/
%{_datadir}/aclocal/aalib.m4
%changelog
* Sat Feb 10 2024 Tom Callaway <spot@fedoraproject.org> - 1.4.0-0.50.rc5
- apply two fixes from gentoo
- fix aalib to handle opaque WINDOW in ncurses
- fix license tag
- fix patch macro syntax
- fixes FTBFS
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-0.49.rc5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild