diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 22ca719..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: aalib -# $Id$ -NAME := aalib -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/aalib-1.4_rc5-fix-aarender.patch b/aalib-1.4_rc5-fix-aarender.patch new file mode 100644 index 0000000..2c3d5bf --- /dev/null +++ b/aalib-1.4_rc5-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/aalib-1.4_rc5-free-offset-pointer.patch b/aalib-1.4_rc5-free-offset-pointer.patch new file mode 100644 index 0000000..3ae697e --- /dev/null +++ b/aalib-1.4_rc5-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/aalib-1.4rc5-opaque-ncurses-fix.patch b/aalib-1.4rc5-opaque-ncurses-fix.patch new file mode 100644 index 0000000..42c430c --- /dev/null +++ b/aalib-1.4rc5-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/aalib-c99.patch b/aalib-c99.patch new file mode 100644 index 0000000..2a65cc2 --- /dev/null +++ b/aalib-c99.patch @@ -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: + +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/aalib.spec b/aalib.spec index 4519dda..f43ae9c 100644 --- a/aalib.spec +++ b/aalib.spec @@ -1,22 +1,33 @@ -%define rc_subver rc5 +%global rc_subver rc5 +%global optflags %{optflags} -std=gnu17 Summary: ASCII art library Name: aalib Version: 1.4.0 -Release: 0.18.%{rc_subver}%{?dist} -License: LGPLv2+ -Group: System Environment/Libraries +Release: 0.57.%{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 Patch1: aalib-config-rpath.patch 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 -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: slang-devel libXt-devel gpm-devel ncurses-devel -BuildRequires: autoconf libtool +Patch4: aalib-1.4rc5-x_libs.patch +Patch5: aalib-1.4rc5-libflag.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: autoconf +BuildRequires: gpm-devel +BuildRequires: libtool +BuildRequires: libXt-devel +BuildRequires: make +BuildRequires: ncurses-devel +BuildRequires: slang-devel %description AA-lib is a low level gfx library just as many other libraries are. The @@ -27,17 +38,12 @@ is designed to be similar to other graphics libraries. %package libs Summary: Library files for aalib -Group: System/Libraries -Obsoletes: aalib < 1.4.0-0.14 %description libs This package contains library files for aalib. %package devel Summary: Development files for aalib -Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -Requires(post): /sbin/install-info -Requires(postun): /sbin/install-info %description devel This package contains header files and other files needed to develop @@ -46,50 +52,35 @@ 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 +%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 %build %configure --disable-static --with-curses-driver=yes --with-ncurses -make %{?_smp_mflags} +%make_build %install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" +%make_install rm -f $RPM_BUILD_ROOT{%{_libdir}/libaa.la,%{_infodir}/dir} # clean up multilib conflicts touch -r NEWS $RPM_BUILD_ROOT%{_bindir}/aalib-config $RPM_BUILD_ROOT%{_datadir}/aclocal/aalib.m4 - - -%clean -rm -rf $RPM_BUILD_ROOT - - -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig - -%post devel -/sbin/install-info %{_infodir}/libaa.info %{_infodir}/dir 2>/dev/null || : - -%preun devel -if [ $1 -eq 0 ]; then - /sbin/install-info --delete %{_infodir}/libaa.info %{_infodir}/dir \ - 2>/dev/null || : -fi - +%ldconfig_scriptlets libs %files -%defattr(-,root,root,-) %{_bindir}/aafire %{_bindir}/aainfo %{_bindir}/aasavefont @@ -97,12 +88,11 @@ fi %{_mandir}/man1/aafire.1* %files libs -%defattr(-,root,root,-) -%doc README COPYING ChangeLog NEWS -%{_libdir}/libaa.so.* +%doc README ChangeLog NEWS +%license COPYING +%{_libdir}/libaa.so.1* %files devel -%defattr(-,root,root,-) %{_bindir}/aalib-config %{_mandir}/man3/* %{_libdir}/libaa.so @@ -111,6 +101,130 @@ fi %{_datadir}/aclocal/aalib.m4 %changelog +* Fri Jan 16 2026 Fedora Release Engineering - 1.4.0-0.57.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Wed Jul 23 2025 Fedora Release Engineering - 1.4.0-0.56.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Mar 3 2025 Tom Callaway - 1.4.0-0.55.rc5 +- force std=gnu17 (it does not support C23) +- fixes FTBFS + +* Thu Jan 16 2025 Fedora Release Engineering - 1.4.0-0.54.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jan 03 2025 Xavier Bachelot - 1.4.0-0.53.rc5 +- Re-enable gpm on EL10 + +* Fri Oct 04 2024 Xavier Bachelot - 1.4.0-0.52.rc5 +- Do not BuildRequires gpm-devel on EL10 +- Specfile clean up + +* Wed Jul 17 2024 Fedora Release Engineering - 1.4.0-0.51.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Feb 10 2024 Tom Callaway - 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 - 1.4.0-0.49.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 1.4.0-0.48.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 1.4.0-0.47.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Apr 06 2023 Florian Weimer - 1.4.0-0.46.rc5 +- Port to C99 + +* Wed Jan 18 2023 Fedora Release Engineering - 1.4.0-0.45.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 1.4.0-0.44.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 1.4.0-0.43.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 1.4.0-0.42.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jan 25 2021 Fedora Release Engineering - 1.4.0-0.41.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jul 31 2020 Fedora Release Engineering - 1.4.0-0.40.rc5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.4.0-0.39.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 1.4.0-0.38.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 1.4.0-0.37.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.4.0-0.36.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 1.4.0-0.35.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 1.4.0-0.34.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Feb 04 2018 Igor Gnatenko - 1.4.0-0.33.rc5 +- Switch to %%ldconfig_scriptlets + +* Wed Aug 02 2017 Fedora Release Engineering - 1.4.0-0.32.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.4.0-0.31.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.4.0-0.30.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 1.4.0-0.29.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Tom Callaway - 1.4.0-0.28.rc5 +- spec cleanups + +* Tue Jun 16 2015 Fedora Release Engineering - 1.4.0-0.27.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Aug 15 2014 Fedora Release Engineering - 1.4.0-0.26.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 06 2014 Fedora Release Engineering - 1.4.0-0.25.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Aug 28 2013 Tom Callaway - 1.4.0-0.24.rc5 +- rebuild to drop ancient obsoletes + +* Sat Aug 03 2013 Fedora Release Engineering - 1.4.0-0.23.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Feb 13 2013 Fedora Release Engineering - 1.4.0-0.22.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 1.4.0-0.21.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1.4.0-0.20.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Feb 07 2011 Fedora Release Engineering - 1.4.0-0.19.rc5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Fri Jul 24 2009 Fedora Release Engineering - 1.4.0-0.18.rc5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild