Update to the non-deprecated 0.99.beta18, with help from jgoamakf's

pkgsrc-wip entry. From the changelog:

 - new "cacaclock" utility
 - improved FIGlet support
 - improved Python and Ruby bindings
 - numerous improvements and bugfixes
 - new dirty rectangle framework for accelerated rendering
 - new <conio.h> compatible header for old DOS software porting
 - XCode and Visual Studio build improvements
 - Unicode support in the X11 driver
 - triangle texture mapping
 - improved HTML output
 - new troff output
 - improved Ruby and .NET bindings
 - new comprehensive PHP bindings
 - new Java bindings
 - Cocoa driver enhancements
 - support for ANSI colour in FIGlet and TOIlet fonts
 - documentation updates
 - numerous improvements and bugfixes
 - many build fixes, especially for nonstandard platforms
 - libcucul was merged back into libcaca for more clarity
 - internal FIGlet font support
 - use C99 types in public headers
 - runtime support for output drivers
 - BBcode export support
 - device-dependent cursor support
 - event API rewrite
 - minor API improvements and extensions
 - img2txt improvements
 - Ruby bindings
 - Massive C# bindings improvements
 - Python sample code
 - Visual Studio build solution
 - support for 90-degree canvas rotation
 - better behaviour when trying to output Unicode on an ASCII terminal
 - the built-in font now supports the Geometric Shapes, Halfwidth and Fullwidth
   Forms and Miscellaneous Symbols Unicode blocks
 - new rotozoom effect in cacademo
 - Cocoa output driver for Mac OS X
 - preliminary .NET bindings
 - many bugfixes and documentation changes
 - fixed compilation of the C++ bindings
 - fixed bugs in cucul_import_memory(), cucul_set_canvas_size()
 - implemented caca_set_display_title() for ncurses and S-Lang
 - minor bugfixes
 - new debug mode
 - blitting canvases now makes use of the canvas' handle coordinates
 - import functions can read streamed data
 - attribute to colorspace transformations
 - added katakana and hiragana glyphs to the built-in font
 - many bugfixes and documentation changes
 - support for blink, bold, italics and underline attributes
 - allow to import and export zero-sized canvases
 - fixed Imlib2 support in cacaview
 - fixed buffer overlows in the file importer
 - big documentation updates
 - allow to build the X11 and GL drivers as separate plugins
 - support for fullwidth Unicode characters
 - improved cucul_flip() and cucul_rotate()
 - minor bugfixes and documentation updates
 - transparency support in the UTF-8 importer and exporter
 - optimised triangle fill routine
 - updated C++ bindings
 - ANSI importer now handles transparency and UTF-8
 - Unicode support was broken for about 10% of the set
 - various memory leaks were fixed
 - implemented cucul_getchar() and cucul_get_color()
 - handle transparency in the IRC export
 - new cropping and expanding filters
 - full Unicode support in the OpenGL driver
 - portability fixes for 64-bit architectures, Win32 and MS-DOS
 - all demos except cacafire were merged into cacademo
 - added a compatibility layer for pre-1.x libcaca applications
 - fixed manpage generation
 - minor bugfixes and documentation updates
 - libcaca functions use errno for error reporting
 - updated C++ bindings
 - minor improvements, bugfixes and documentation updates
 - ANSI importer
 - functions use errno for error reporting
 - updated C++ bindings
 - .NET bindings
 - cacadraw, an ANSI viewer that will evolve into an editor
 - Unicode input and output support for SLang and ncurses
 - built-in fonts work on Win32
 - license switched to WTFPL
 - libcaca was split into libcucul, a standalone text manipulation backend,
    and libcaca, the display and user input frontend
 - Unicode support
 - TrueColor (more than 16 colours) support
 - Floyd-Steinberg dithering
 - gamma correction
 - export functions for HTML, IRC, ANSI, SVG, PostScript, TGA...
 - builtin fonts for device-independent bitmap output
 - various text transformation routines (rotation, horizontal flip...)
 - OpenGL renderer
 - kernel mode to build libcaca programs into a bootable x86 kernel
 - cacaserver, a telnet server that can be hooked to libcaca applications
 - img2irc, an image to IRC conversion utility
This commit is contained in:
schmonz 2014-02-23 00:35:32 +00:00
parent 0b538b7626
commit 0313f6b06d
10 changed files with 61 additions and 135 deletions

View file

@ -1,19 +1,8 @@
The libcaca library is a graphics library that outputs text instead
of pixels, so that it can work on older video cards or text terminals.
It is not unlike the famous AAlib library. libcaca needs a terminal
to work, thus it should work on all Unix systems (including Mac OS
X) using either the slang library or the ncurses library.
libcaca is a graphics library that outputs text instead of pixels,
so that it can work on older video cards or text terminals. It is
not unlike the famous AAlib library, with the following improvements:
The differences with AAlib are the following:
* 16 available colours for character output (256 colour pairs)
* dithering of colour images
* basic sprite primitives
But libcaca also has the following limitations:
* no support for brightness, contrast, gamma
* unefficient character-choosing algorithms
* no alternate fonts
* no raw keyboard support
* no custom output drivers a la AA-on-X
* Unicode support
* 2048 available colours (some devices can only handle 16)
* dithering of colour images
* advanced text canvas operations (blitting, rotations)

View file

@ -1,20 +1,24 @@
# $NetBSD: Makefile,v 1.28 2013/07/05 13:29:35 ryoon Exp $
#
# $NetBSD: Makefile,v 1.29 2014/02/23 00:35:32 schmonz Exp $
DISTNAME= libcaca-0.9
PKGREVISION= 11
DISTNAME= libcaca-0.99.beta18
PKGNAME= ${DISTNAME:S/beta//}
CATEGORIES= graphics
MASTER_SITES= http://caca.zoy.org/files/libcaca/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://caca.zoy.org/
COMMENT= Graphics library that outputs text instead of pixels, in colour
# LICENSE= wtfpl
USE_LIBTOOL= yes
USE_LANGUAGES= c c++
USE_TOOLS+= pkg-config
USE_PKGLOCALEDIR= yes
GNU_CONFIGURE= yes
INCOMPAT_CURSES= NetBSD-1.5*-* NetBSD-1.6[-_.]*-* NetBSD-1.6[A-Q]-*
PKGCONFIG_OVERRIDE+= caca/caca.pc.in
CHECK_FILES_SKIP+= ${PREFIX}/lib/libcucul.*
.include "options.mk"

View file

@ -1,22 +1,26 @@
@comment $NetBSD: PLIST,v 1.4 2009/06/14 17:59:20 joerg Exp $
@comment $NetBSD: PLIST,v 1.5 2014/02/23 00:35:32 schmonz Exp $
bin/caca-config
bin/cacaball
bin/cacaclock
bin/cacademo
bin/cacafire
bin/cacamoir
bin/cacaplas
bin/cacaplay
bin/cacaserver
bin/cacaview
bin/img2txt
include/caca.h
lib/libcaca.a
lib/libcaca_pic.a
include/caca0.h
include/caca_conio.h
include/caca_types.h
include/cucul.h
lib/libcaca.la
lib/libcucul.la
lib/pkgconfig/caca.pc
lib/pkgconfig/cucul.pc
man/man1/caca-config.1
man/man1/cacademo.1
man/man1/cacafire.1
man/man1/cacaplay.1
man/man1/cacaserver.1
man/man1/cacaview.1
share/doc/libcaca-dev/AUTHORS
share/doc/libcaca-dev/BUGS
share/doc/libcaca-dev/NEWS
share/doc/libcaca-dev/NOTES
share/doc/libcaca-dev/README
share/doc/libcaca-dev/THANKS
share/doc/libcaca-dev/TODO
man/man1/img2txt.1
share/libcaca/caca.txt

View file

@ -1,4 +1,4 @@
# $NetBSD: buildlink3.mk,v 1.2 2013/04/06 13:46:33 rodent Exp $
# $NetBSD: buildlink3.mk,v 1.3 2014/02/23 00:35:32 schmonz Exp $
BUILDLINK_TREE+= libcaca
@ -7,7 +7,7 @@ LIBCACA_BUILDLINK3_MK:=
BUILDLINK_DEPMETHOD.libcaca?= build
BUILDLINK_API_DEPENDS.libcaca+= libcaca>=0.9nb3
BUILDLINK_API_DEPENDS.libcaca+= libcaca>=0.99.18
BUILDLINK_PKGSRCDIR.libcaca?= ../../graphics/libcaca
.endif # LIBCACA_BUILDLINK3_MK

View file

@ -1,8 +1,6 @@
$NetBSD: distinfo,v 1.6 2006/11/28 13:58:42 rillig Exp $
$NetBSD: distinfo,v 1.7 2014/02/23 00:35:32 schmonz Exp $
SHA1 (libcaca-0.9.tar.bz2) = 55428c11427e8a411062a2699149f912b251d7a6
RMD160 (libcaca-0.9.tar.bz2) = 433216f6446d397d4a5f1894f08c2715b94f120d
Size (libcaca-0.9.tar.bz2) = 171854 bytes
SHA1 (patch-aa) = e289d72faafd370301256d870933c9af47839d93
SHA1 (patch-ab) = 72b0ab0ac7783a339a700da2352e7d97c26b4ef9
SHA1 (patch-ac) = 560ced171aae8d17d80780bc6e05aa2dad498014
SHA1 (libcaca-0.99.beta18.tar.gz) = 0cbf8075c01d59b53c3cdfec7df9818696a41128
RMD160 (libcaca-0.99.beta18.tar.gz) = e7fe45bce798926789e48662038f1eb3ad2bece1
Size (libcaca-0.99.beta18.tar.gz) = 1168552 bytes
SHA1 (patch-caca_caca.h) = 758527c49aa6f27eb82fa645bd80e8a87f4f4b96

View file

@ -1,4 +1,4 @@
# $NetBSD: options.mk,v 1.3 2007/09/14 07:39:31 wiz Exp $
# $NetBSD: options.mk,v 1.4 2014/02/23 00:35:32 schmonz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.libcaca
PKG_SUPPORTED_OPTIONS= imlib2
@ -38,3 +38,8 @@ CONFIGURE_ARGS+= --x-libraries=${BUILDLINK_PREFIX.libX11}/lib
.else
CONFIGURE_ARGS+= --disable-x11
.endif
# could be made into options if desired
.for i in gl cocoa network vga csharp java cxx python ruby cppunit zzuf
CONFIGURE_ARGS+= --disable-${i}
.endfor

View file

@ -1,46 +0,0 @@
$NetBSD: patch-aa,v 1.1 2004/08/15 12:40:07 wiz Exp $
--- src/caca.c.orig 2004-02-02 04:00:19.000000000 +0100
+++ src/caca.c
@@ -70,7 +70,8 @@ static void caca_init_terminal(void);
enum caca_driver _caca_driver;
#endif
-#if defined(USE_NCURSES)
+/* #define MOUSE_SUPPORT 1 */
+#if defined(USE_NCURSES) && defined(MOUSE_SUPPORT)
static mmask_t oldmask;
#endif
@@ -89,7 +90,7 @@ static CONSOLE_CURSOR_INFO cci;
*/
int caca_init(void)
{
-#if defined(USE_NCURSES)
+#if defined(USE_NCURSES) && defined(MOUSE_SUPPORT)
mmask_t newmask;
#endif
@@ -147,10 +148,12 @@ int caca_init(void)
nodelay(stdscr, TRUE);
curs_set(0);
+#if defined(MOUSE_SUPPORT)
/* Activate mouse */
newmask = REPORT_MOUSE_POSITION | ALL_MOUSE_EVENTS;
mousemask(newmask, &oldmask);
mouseinterval(-1); /* No click emulation */
+#endif
/* Set the escape delay to a ridiculously low value */
ESCDELAY = 10;
@@ -385,7 +388,9 @@ void caca_end(void)
#if defined(USE_NCURSES)
if(_caca_driver == CACA_DRIVER_NCURSES)
{
+#if defined(MOUSE_SUPPORT)
mousemask(oldmask, NULL);
+#endif
curs_set(1);
noraw();
endwin();

View file

@ -1,20 +0,0 @@
$NetBSD: patch-ab,v 1.1 2004/08/15 12:40:07 wiz Exp $
--- src/event.c.orig 2004-02-02 04:00:19.000000000 +0100
+++ src/event.c
@@ -387,6 +387,7 @@ static unsigned int _lowlevel_event(void
return CACA_EVENT_KEY_PRESS | intkey;
}
+#if defined(MOUSE_SUPPORT)
if(intkey == KEY_MOUSE)
{
MEVENT mevent;
@@ -515,6 +516,7 @@ static unsigned int _lowlevel_event(void
return CACA_EVENT_MOUSE_MOTION | (mouse_x << 12) | mouse_y;
}
+#endif
event = CACA_EVENT_KEY_PRESS;

View file

@ -1,23 +0,0 @@
$NetBSD: patch-ac,v 1.2 2006/11/28 13:58:42 rillig Exp $
--- src/graphics.c.orig 2004-02-02 04:00:19.000000000 +0100
+++ src/graphics.c 2006-11-28 14:57:29.239917980 +0100
@@ -79,6 +79,9 @@ typedef unsigned char uint8_t;
#if defined(HAVE_SYS_IOCTL_H)
# include <sys/ioctl.h>
#endif
+#if defined(__sun)
+# include <termios.h>
+#endif
#include "caca.h"
#include "caca_internals.h"
@@ -1309,7 +1312,7 @@ static void caca_handle_resize(void)
{
_caca_width = size.ws_col;
_caca_height = size.ws_row;
- resize_term(_caca_height, _caca_width);
+ resizeterm(_caca_height, _caca_width);
wrefresh(curscr);
}
}

View file

@ -0,0 +1,15 @@
$NetBSD: patch-caca_caca.h,v 1.1 2014/02/23 00:35:32 schmonz Exp $
Build with clang on Darwin, from upstream: http://caca.zoy.org/ticket/90
--- caca/caca.h.orig 2012-04-06 20:21:48.000000000 +0000
+++ caca/caca.h
@@ -683,7 +683,7 @@ typedef struct cucul_buffer cucul_buffer
# define CACA_DEPRECATED
# endif
-# if defined __GNUC__ && __GNUC__ > 3
+# if !defined __APPLE__ && defined __GNUC__ && __GNUC__ > 3
# define CACA_ALIAS(x) __attribute__ ((weak, alias(#x)))
# else
# define CACA_ALIAS(x)