Switch to new package format
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
name: aalib
|
||||
description: Portable ascii art GFX library
|
||||
version: 1.4rc5
|
||||
revision: 2
|
||||
url: https://aa-project.sourceforge.net/aalib/
|
||||
license: LGPL2-or-later
|
||||
maintainers:
|
||||
- [email protected]
|
||||
architecture: any
|
||||
type: source
|
||||
depends:
|
||||
- glibc
|
||||
- gpm
|
||||
- libx11
|
||||
- ncurses
|
||||
- slang
|
||||
optional_depends:
|
||||
- xorg-mkfontscale
|
||||
downloads:
|
||||
- url: https://downloads.sourceforge.net/project/aa-project/aa-lib/${BPM_PKG_VERSION}/aalib-${BPM_PKG_VERSION}.tar.gz
|
||||
extract_to: ${BPM_SOURCE}
|
||||
extract_strip_components: 1
|
||||
checksum: fbddda9230cf6ee2a4f5706b4b11e2190ae45f5eda1f0409dc4f99b35e0a70ee
|
||||
@@ -1,9 +0,0 @@
|
||||
name: aalib
|
||||
description: Portable ascii art GFX library
|
||||
version: 1.4rc5
|
||||
url: https://aa-project.sourceforge.net/aalib/
|
||||
license: LGPL2-or-later
|
||||
architecture: any
|
||||
depends: ["glibc","gpm","libx11","ncurses","slang"]
|
||||
optional_depends: ["xorg-mkfontscale"]
|
||||
type: source
|
||||
@@ -0,0 +1,50 @@
|
||||
# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package
|
||||
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
||||
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
||||
|
||||
# The prepare function is executed in the root of the temp directory
|
||||
# This function is used for downloading files and putting them into the correct location
|
||||
prepare() {
|
||||
cd "$BPM_SOURCE"
|
||||
# Fix warning about underquoted definition of AM_PATH_AALIB
|
||||
# https://sourceforge.net/p/aa-project/patches/5/
|
||||
patch -Np0 -i ../aclocal-fixes.patch
|
||||
# Fix --with-aalib-prefix argument
|
||||
# https://sourceforge.net/p/aa-project/patches/9/
|
||||
patch -Np0 -i ../aalib-m4.patch
|
||||
# Fix builtin-declaration-mismatch compiler warnings
|
||||
# https://sourceforge.net/p/aa-project/bugs/10/
|
||||
patch -Np1 -i ../aalib-c99.patch
|
||||
# Fix free-nonheap-object compiler warning
|
||||
patch -Np1 -i ../aalib-free-offset-pointer.patch
|
||||
# Fix aggressive-loop-optimizations compiler warning
|
||||
patch -Np1 -i ../aalib-key-down-OOB.patch
|
||||
# Fix 'return' with no value compiler warning
|
||||
patch -Np1 -i ../aalib-aalinuxkbd-return.patch
|
||||
# Fix build for ncurses built with opaque-curses option
|
||||
patch -Np1 -i ../aalib-opaque-ncurses-fix.patch
|
||||
# Fix rendering with custom aspect ratio
|
||||
patch -Np1 -i ../aalib-fix-aarender.patch
|
||||
# Fix typo for KEY_MOUSE condition
|
||||
patch -Np1 -i ../aalib-mouse.patch
|
||||
# Fix build (too many arguments)
|
||||
sed -i 's/Gpm_Wgetch(stdscr)/Gpm_Wgetch()/' src/aacurkbd.c
|
||||
|
||||
autoreconf -fi
|
||||
}
|
||||
|
||||
# The build function is executed in the source directory
|
||||
# This function is used to compile the source code
|
||||
build() {
|
||||
|
||||
./configure --prefix=/usr --with-curses-driver --disable-static
|
||||
make
|
||||
}
|
||||
|
||||
# The package function is executed in the source directory
|
||||
# This function is used to move the compiled files into the output directory
|
||||
package() {
|
||||
make DESTDIR="$BPM_OUTPUT" install
|
||||
|
||||
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/aalib/COPYING
|
||||
}
|
||||
@@ -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,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"
|
||||
@@ -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,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
--- aalib.m4 3 May 2001 14:56:44 -0000 1.2
|
||||
+++ 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"
|
||||
@@ -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
|
||||
@@ -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,11 @@
|
||||
--- aalib.m4.orig 2006-03-05 13:58:21.000000000 +0000
|
||||
+++ 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
|
||||
@@ -1,39 +0,0 @@
|
||||
# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package
|
||||
# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE
|
||||
# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT
|
||||
|
||||
DOWNLOAD="https://downloads.sourceforge.net/aa-project/aalib-${BPM_PKG_VERSION}.tar.gz"
|
||||
FILENAME="${DOWNLOAD##*/}"
|
||||
|
||||
# The prepare function is executed in the root of the temp directory
|
||||
# This function is used for downloading files and putting them into the correct location
|
||||
prepare() {
|
||||
wget "$DOWNLOAD"
|
||||
tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE"
|
||||
}
|
||||
|
||||
# The build function is executed in the source directory
|
||||
# This function is used to compile the source code
|
||||
build() {
|
||||
# Fixes
|
||||
sed -i -e '/AM_PATH_AALIB,/s/AM_PATH_AALIB/[&]/' aalib.m4
|
||||
sed -e 's/8x13bold/-*-luxi mono-bold-r-normal--13-120-*-*-m-*-*-*/' -i src/aax.c
|
||||
sed 's/stdscr->_max\([xy]\) + 1/getmax\1(stdscr)/' -i src/aacurses.c
|
||||
sed -i '1i#include <stdlib.h>' src/aa{fire,info,lib,linuxkbd,savefont,test,regist}.c
|
||||
sed -i '1i#include <string.h>' src/aa{kbdreg,moureg,test,regist}.c
|
||||
sed -i '/X11_KBDDRIVER/a#include <X11/Xutil.h>' src/aaxkbd.c
|
||||
sed -i '/rawmode_init/,/^}/s/return;/return 0;/' src/aalinuxkbd.c
|
||||
|
||||
autoconf
|
||||
|
||||
./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --with-ncurses=/usr --disable-static
|
||||
make
|
||||
}
|
||||
|
||||
# The package function is executed in the source directory
|
||||
# This function is used to move the compiled files into the output directory
|
||||
package() {
|
||||
make DESTDIR="$BPM_OUTPUT" install
|
||||
|
||||
install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/aalib/COPYING
|
||||
}
|
||||
Reference in New Issue
Block a user