Sync from SUSE:SLFO:Main libcaca revision a7ef5fff8f494d77741938e6f9b87a3d

This commit is contained in:
Adrian Schröter 2024-05-03 14:39:00 +02:00
commit 3e0e68b50a
16 changed files with 981 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,36 @@
From: Michel Normand <normand@linux.vnet.ibm.com>
Subject: Bug1143286 libcaca configure ac chg for lto
Date: Thu, 01 Aug 2019 11:43:35 +0200
Bug1143286 libcaca configure ac chg for lto
bypass to avoid PowerPC/ARM build failures
now that LTO is default build option for openSUSE.
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: libcaca-0.99.beta20/configure.ac
===================================================================
--- libcaca-0.99.beta20.orig/configure.ac
+++ libcaca-0.99.beta20/configure.ac
@@ -146,7 +146,7 @@ AC_COMPILE_IFELSE(
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for fsin/fcos)
-AC_COMPILE_IFELSE(
+AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[]],
[[double x; asm volatile("fsin; fcos":"=t"(x):);]])],
@@ -155,7 +155,7 @@ AC_COMPILE_IFELSE(
[AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for fldln2/fxch/fyl2x)
-AC_COMPILE_IFELSE(
+AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[]],
[[double x; asm volatile("fldln2; fldln2; fxch; fyl2x":"=t"(x):);]])],

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libcaca0
libcaca0-plugins

View File

@ -0,0 +1,52 @@
Index: libcaca-0.99.beta20/caca/codec/export.c
===================================================================
--- libcaca-0.99.beta20.orig/caca/codec/export.c
+++ libcaca-0.99.beta20/caca/codec/export.c
@@ -969,22 +969,22 @@ static void *export_tga(caca_canvas_t co
cur = data = malloc(*bytes);
/* ID Length */
- cur += write_u8(cur, 0);
+ *cur++ = 0;
/* Color Map Type: no colormap */
- cur += write_u8(cur, 0);
+ *cur++ = 0;
/* Image Type: uncompressed truecolor */
- cur += write_u8(cur, 2);
+ *cur++ = 2;
/* Color Map Specification: no color map */
memset(cur, 0, 5); cur += 5;
/* Image Specification */
- cur += sprintf(cur, "%c%c", 0, 0); /* X Origin */
- cur += sprintf(cur, "%c%c", 0, 0); /* Y Origin */
- cur += sprintf(cur, "%c%c", w & 0xff, w >> 8); /* Width */
- cur += sprintf(cur, "%c%c", h & 0xff, h >> 8); /* Height */
- cur += write_u8(cur, 32); /* Pixel Depth */
- cur += write_u8(cur, 40); /* Image Descriptor */
-
+ *cur++ = 0; *cur++ = 0; /* X Origin */
+ *cur++ = 0; *cur++ = 0; /* Y Origin */
+ *cur++ = w & 0xff; *cur++ = w >> 8; /* Width */
+ *cur++ = h & 0xff; *cur++ = h >> 8; /* Height */
+ *cur++ = 32; /* Pixel Depth */
+ *cur++ = 40; /* Image Descriptor */
+
/* Image ID: no ID */
/* Color Map Data: no colormap */
@@ -1020,9 +1020,13 @@ static void *export_troff(caca_canvas_t
* + 4 bytes = 33
* Each line has a \n (1) and maybe 0xc2 0xa0 (2)
* Header has .nf\n (3)
+ * Kludge alert:
+ * The sprintf functions all append a NUL byte, so
+ * add one byte for any terminating NUL byte,
+ * but don't tell the caller.
*/
*bytes = 3 + cv->height * 3 + (cv->width * cv->height * 33);
- cur = data = malloc(*bytes);
+ cur = data = malloc(*bytes + 1); /* Add space for a terminating NUL byte */
cur += write_string(cur, ".nf\n");

View File

@ -0,0 +1,28 @@
Index: libcaca-da28e9684ef445ac8d42745644336b8a75c01855/src/img2txt.c
===================================================================
--- libcaca-da28e9684ef445ac8d42745644336b8a75c01855.orig/src/img2txt.c
+++ libcaca-da28e9684ef445ac8d42745644336b8a75c01855/src/img2txt.c
@@ -177,7 +177,13 @@ int main(int argc, char **argv)
}
/* Assume a 6×10 font */
- if(!cols && !lines)
+ if(!i->w || !i->h)
+ {
+ fprintf(stderr, "%s: image size is 0\n", argv[0]);
+ lines = 0;
+ cols = 0;
+ }
+ else if(!cols && !lines)
{
cols = 60;
lines = cols * i->h * font_width / i->w / font_height;
@@ -214,7 +220,7 @@ int main(int argc, char **argv)
export = caca_export_canvas_to_memory(cv, format?format:"ansi", &len);
if(!export)
{
- fprintf(stderr, "%s: Can't export to format '%s'\n", argv[0], format);
+ fprintf(stderr, "%s: Can't export to format '%s'\n", argv[0], format?format:"ansi");
}
else
{

47
caca-no-build-date.patch Normal file
View File

@ -0,0 +1,47 @@
---
src/cacaclock.c | 4 ++--
src/img2txt.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
Index: src/cacaclock.c
===================================================================
--- src/cacaclock.c.orig
+++ src/cacaclock.c
@@ -40,14 +40,14 @@ static void version(void)
{
printf(
"cacaclock Copyright 2011-2012 Jean-Yves Lamoureux\n"
- "Internet: <jylam@lnxscene.org> Version: %s (libcaca %s), date: %s\n"
+ "Internet: <jylam@lnxscene.org> Version: %s (libcaca %s)\n"
"\n"
"cacaclock, along with its documentation, may be freely copied and distributed.\n"
"\n"
"The latest version of cacaclock is available from the web site,\n"
" http://caca.zoy.org/wiki/libcaca in the libcaca package.\n"
"\n",
- CACACLOCKVERSION, caca_get_version(), __DATE__);
+ CACACLOCKVERSION, caca_get_version());
}
Index: src/img2txt.c
===================================================================
--- src/img2txt.c.orig
+++ src/img2txt.c
@@ -67,14 +67,14 @@ static void version(void)
{
printf(
"img2txt Copyright 2006-2007 Sam Hocevar and Jean-Yves Lamoureux\n"
- "Internet: <sam@hocevar.net> <jylam@lnxscene.org> Version: %s, date: %s\n"
+ "Internet: <sam@hocevar.net> <jylam@lnxscene.org> Version: %s\n"
"\n"
"img2txt, along with its documentation, may be freely copied and distributed.\n"
"\n"
"The latest version of img2txt is available from the web site,\n"
" http://caca.zoy.org/wiki/libcaca in the libcaca package.\n"
"\n",
- caca_get_version(), __DATE__);
+ caca_get_version());
}
int main(int argc, char **argv)
{

View File

@ -0,0 +1,13 @@
Index: doc/doxygen.cfg.in
===================================================================
--- doc/doxygen.cfg.in.orig
+++ doc/doxygen.cfg.in
@@ -1891,7 +1891,7 @@ USE_PDFLATEX = YES
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
-LATEX_BATCHMODE = YES
+LATEX_BATCHMODE = NO
# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
# index chapters (such as File Index, Compound Index, etc.) in the output.

View File

@ -0,0 +1,13 @@
Index: caca/Makefile.am
===================================================================
--- caca/Makefile.am.orig
+++ caca/Makefile.am
@@ -58,7 +58,7 @@ libcaca_la_DEPENDENCIES = \
$(NULL)
libcaca_la_CPPFLAGS = $(AM_CPPFLAGS) @CACA_CFLAGS@ -D__LIBCACA__
libcaca_la_LDFLAGS = -no-undefined -version-number @LT_VERSION@
-libcaca_la_LIBADD = @CACA_LIBS@ $(ZLIB_LIBS) $(GETOPT_LIBS)
+libcaca_la_LIBADD = @CACA_LIBS@ $(ZLIB_LIBS) $(GETOPT_LIBS) -lGLU
codec_source = \
codec/import.c \

BIN
libcaca-0.99.beta20.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

13
libcaca-X11_test.patch Normal file
View File

@ -0,0 +1,13 @@
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -225,7 +225,7 @@ if test "${enable_x11}" != "no"; then
AC_CHECK_LIB(X11, XOpenDisplay,
[ac_cv_my_have_x11="yes"
if test -n "${x_includes}"; then X_CFLAGS="-I${x_includes}"; fi
- if test -n "${x_libraries}"; then X_LIBS="-L${x_libraries}"; fi
+ if test -n "${x_libraries}" -a "${x_libraries}" != "/usr"; then X_LIBS="-L${x_libraries}"; fi
AC_DEFINE(USE_X11, 1, Define to 1 to activate the X11 backend driver)
CPPFLAGS="${CPPFLAGS} ${X_CFLAGS}"
X11_LIBS="${X11_LIBS} -lX11 ${X_LIBS}"

View File

@ -0,0 +1,12 @@
Index: libcaca-0.99.beta20/configure.ac
===================================================================
--- libcaca-0.99.beta20.orig/configure.ac
+++ libcaca-0.99.beta20/configure.ac
@@ -1,6 +1,6 @@
AC_INIT([libcaca],[0.99.beta20])
-AC_PREREQ([2.71])
+AC_PREREQ([2.69])
AC_CONFIG_AUX_DIR(.auto)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([foreign no-define tar-ustar silent-rules subdir-objects])

16
libcaca-ncurses6.patch Normal file
View File

@ -0,0 +1,16 @@
Index: libcaca-0.99.beta20/caca/driver/ncurses.c
===================================================================
--- libcaca-0.99.beta20.orig/caca/driver/ncurses.c
+++ libcaca-0.99.beta20/caca/driver/ncurses.c
@@ -268,11 +268,7 @@ static int ncurses_init_graphics(caca_di
mouseinterval(-1); /* No click emulation */
/* Set the escape delay to a ridiculously low value */
-#if defined set_escdelay
set_escdelay(10);
-#else
- ESCDELAY = 10;
-#endif
/* Activate colour */
start_color();

View File

@ -0,0 +1,13 @@
Index: ruby/Makefile.am
===================================================================
--- ruby/Makefile.am.orig
+++ ruby/Makefile.am
@@ -12,7 +12,7 @@ TESTS = test
endif
endif
-CFLAGS += -Wno-strict-prototypes -Wno-missing-prototypes
+AM_CFLAGS = -Wno-strict-prototypes -Wno-missing-prototypes
caca_la_CPPFLAGS = -I$(top_srcdir)/caca -I../caca $(RUBY_CFLAGS)
caca_la_SOURCES = caca.c \

View File

@ -0,0 +1,47 @@
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -489,14 +489,17 @@ ac_cv_my_have_ruby_minitest="no"
if test "${enable_ruby}" != "no"; then
AC_PATH_PROG(RUBY, ruby, no)
if test "${RUBY}" != "no"; then
- RUBY_CFLAGS="$("${RUBY}" -r mkmf -e 'conf = RbConfig::CONFIG.merge("hdrdir" => $hdrdir, "arch_hdrdir" => $arch_hdrdir); print RbConfig::expand("#$INCFLAGS", conf)')"
+ RUBY_CFLAGS=$(pkg-config --cflags ruby-1.9)
+ if test -z "$RUBY_CFLAGS"; then
+ RUBY_CFLAGS="-I$(ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"archdir"@:>@')"
+ fi
RUBY_LIBS="-L$("${RUBY}" -r rbconfig -e 'print RbConfig::CONFIG@<:@"libdir"@:>@') -l$("${RUBY}" -r rbconfig -e 'print RbConfig::CONFIG@<:@"RUBY_SO_NAME"@:>@')"
- RUBY_SITEARCHDIR=`"${RUBY}" -r rbconfig -e 'print RbConfig::CONFIG@<:@"sitearchdir"@:>@'`
- RUBY_SITELIBDIR=`"${RUBY}" -r rbconfig -e 'print RbConfig::CONFIG@<:@"sitelibdir"@:>@'`
+ RUBY_VENDORARCHDIR=`ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"vendorarchdir"@:>@'`
+ RUBY_VENDORLIBDIR=`ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"vendorlibdir"@:>@'`
AC_SUBST(RUBY_CFLAGS)
AC_SUBST(RUBY_LIBS)
- AC_SUBST(RUBY_SITEARCHDIR)
- AC_SUBST(RUBY_SITELIBDIR)
+ AC_SUBST(RUBY_VENDORARCHDIR)
+ AC_SUBST(RUBY_VENDORLIBDIR)
CPPFLAGS="${CPPFLAGS} ${RUBY_CFLAGS}"
AC_CHECK_HEADERS([ruby.h],
[ac_cv_my_have_ruby="yes"
Index: ruby/Makefile.am
===================================================================
--- ruby/Makefile.am.orig
+++ ruby/Makefile.am
@@ -1,12 +1,12 @@
include $(top_srcdir)/build/autotools/common.am
-rubylibdir = $(RUBY_SITEARCHDIR)
-rubysitedir = $(RUBY_SITELIBDIR)
+rubylibdir = $(RUBY_VENDORARCHDIR)
+rubyvendordir = $(RUBY_VENDORLIBDIR)
if USE_RUBY
rubylib_LTLIBRARIES = caca.la
-rubysite_DATA = lib/caca.rb
+rubyvendor_DATA = lib/caca.rb
if USE_RUBY_MINITEST
TESTS = test
endif

431
libcaca.changes Normal file
View File

@ -0,0 +1,431 @@
-------------------------------------------------------------------
Mon Nov 14 15:32:39 UTC 2022 - Valentin Lefebvre <valentin.lefebvre@suse.com>
- add patch [libcaca-autoconf-2.69.patch]
* Don't force autoconf to be at version 2.71
-------------------------------------------------------------------
Mon Nov 14 14:07:25 UTC 2022 - Valentin Lefebvre <valentin.lefebvre@suse.com>
- Upgrade to 0.99.beta20
* IPv6 support in cacaserver
* fixed a bug from 2004 that caused PDF documentation generation to fail
* memory allocation functions are now more robust
* numerous fixes for memory leaks and invalid memory accesses:
* CVE-2021-30498
* CVE-2021-30499
* CVE-2021-3410
* CVE-2018-20546
* CVE-2018-20547
* CVE-2018-20545
* CVE-2018-20548
* CVE-2018-20549
- Dropped upstream fixed patches
* libcaca-bsc1182731-prevent-overflow.patch
* libcaca-variable-type.patch
* Bug1120502-add_cast_to_prevent_overflow.patch
-------------------------------------------------------------------
Mon Mar 14 13:36:16 UTC 2022 - Josef Möllers <josef.moellers@suse.com>
- When a zero-width or zero-height image is given, a divide-by-zero
occurs. This patch checks for this and produces a zero-sized
output.
[bsc1197028-correctly-handle-zero-width-or-height-images.patch,
CVE-2022-0856, bsc#1197028]
-------------------------------------------------------------------
Fri Apr 16 15:57:48 UTC 2021 - Josef Möllers <josef.moellers@suse.com>
- The problem is due to the fact that the images in the POC have
a size of 0x0 and thus, when exporting, no data is written for
the image bits.
However, space is allocated for the header only, not taking
into account that sprintf appends a NUL byte.
[CVE-2021-30498, CVE-2021-30499, bsc#1184751, bsc#1184752,
bsc1184751-add-space-for-NUL-byte.patch]
-------------------------------------------------------------------
Fri Feb 26 13:58:41 UTC 2021 - Josef Möllers <josef.moellers@suse.com>
- More overflow prevention of multiplying large ints
[bsc#1182731, CVE-2021-3410, libcaca-bsc1182731-prevent-overflow.patch]
-------------------------------------------------------------------
Tue Mar 10 15:20:55 UTC 2020 - Josef Möllers <josef.moellers@suse.com>
- The contents of libcaca-prevent-overflow.patch
have been moved to Bug1120502-add_cast_to_prevent_overflow.patch
and libcaca-variable-type.patch
[libcaca-prevent-overflow.patch]
-------------------------------------------------------------------
Wed Feb 26 16:47:50 UTC 2020 - Илья Индиго <ilya@ilya.pp.ua>
- Refresh spec-file via spec-cleaner.
- Add Requires:toilet for caca-utils, because need for cacaclock.
-------------------------------------------------------------------
Thu Aug 1 09:46:57 UTC 2019 - Michel Normand <normand@linux.vnet.ibm.com>
- Add Bug1143286_libcaca_configure_ac_chg_for_lto.patch
bypass boo#1143286
-------------------------------------------------------------------
Mon Jan 21 13:01:52 UTC 2019 - josef.moellers@suse.com
- Cast intermediate results to 64 bits to prevent overflow of
calculations with 32-bit quentities.
[CVE-2018-20544, bsc#1120502,
Bug1120502-add_cast_to_prevent_overflow.patch]
-------------------------------------------------------------------
Mon Jan 21 12:39:30 UTC 2019 - josef.moellers@suse.com
- Fix the size of width and height to be of size_t rather than
int in struct caca_dither. Re-using existing patch.
[CVE-2018-20546, bsc#1120503, CVE-2018-20547,
bsc#1120504, libcaca-variable-type.patch]
-------------------------------------------------------------------
Tue Jan 15 15:03:38 UTC 2019 - josef.moellers@suse.com
- Fix the size of width and height to be of size_t rather than
unsigned int which may be too small on 64 bit architectures.
This fixes three CVS and associated bugs.
[CVE-2018-20545, bsc#1120584, CVE-2018-20548, bsc#1120589,
CVE-2018-20549, bsc#1120470, libcaca-variable-type.patch]
-------------------------------------------------------------------
Tue Jan 30 11:03:56 UTC 2018 - davejplater@gmail.com
- Deleted _service and use spec file to download git version.
- Shorten version field to joliet usable length.
- Change python headers to allow bindings to build normally with
python3.
- Use %license for license document.
-------------------------------------------------------------------
Tue Jan 23 18:32:31 UTC 2018 - tchvatal@suse.com
- Drop the py2 bindings they fail to build using rpm macros and
somehow ingnore LD_LIBRARY_PATH, anyway provide py3 variant and
stick with that
-------------------------------------------------------------------
Tue Jan 23 10:18:53 UTC 2018 - tchvatal@suse.com
- Switch to git repack service in order to get all the latest fixes
* like python3 porting of the bindings
- Update to version 0.99.beta19+git20171002.da28e96:
* img2text.c: fix width arg case in example
* ruby: require 'caca' instead of 'caca.so'
* Only fail the check-copyright test if more than 10 files are affected.
* Try to run Coverity from Travis CI.
* Add some missing breaks (thanks coverity)
* Fix header copyright.
* Fix a bug into the autorepeat trigger.
- Refresh patches:
* libcaca-ruby_am_cflags.patch
* libcaca-ruby_vendor_install.patch
-------------------------------------------------------------------
Mon Jan 22 18:49:24 UTC 2018 - tchvatal@suse.com
- Fix URL
- Mention github repo containing more changes
- Format with spec-cleaner
- Remove support for older distros lets stick with latest only
- Remove for years disabled mono and java integration code snippets
- Use python macros to build python instead of waiting for autotools
- Convert to pkgconfig style dependencies
-------------------------------------------------------------------
Fri Mar 11 09:19:33 UTC 2016 - hguo@suse.com
- Require imlib2-loaders in caca-utils package.
All of the utilities fail to load any image without the dependency.
-------------------------------------------------------------------
Wed Sep 2 07:14:17 UTC 2015 - dimstar@opensuse.org
- Add libcaca-ncurses6.patch: defined against a function name never
worked, so set_escdelay was actually never used. With curses 6.0,
though, ESCDELAY is no longer 'a variable', but a reference to a
function, so we can't assign anything to it. We just assume that
we always use a recent enough version of ncurses to have
set_escdelay avaialble.
-------------------------------------------------------------------
Fri Mar 20 15:50:59 UTC 2015 - dvlaeev@suse.com
- Build without Mono by default
coolo says: "We don't want mono in Factory, if somebody needs it
it should be set explicit (with_mono) per prjconf"
-------------------------------------------------------------------
Thu Mar 12 09:52:22 UTC 2015 - dimstar@opensuse.org
- Update libcaca-ruby_vendor_install.patch: Use RbConfig::CONFIG
instead of Config::Config to be compatible with ruby 2.2.
-------------------------------------------------------------------
Tue Feb 17 03:37:09 UTC 2015 - p.drouand@gmail.com
- Update to version 0.99beta19
* No changelog available
- Remove automake-1.12.patch; fixed on upstream release
-------------------------------------------------------------------
Thu Jan 15 13:35:26 UTC 2015 - olaf@aepfle.de
- Remove __DATE__ usage from cacaclock
-------------------------------------------------------------------
Fri Oct 3 17:23:00 UTC 2014 - crrodriguez@opensuse.org
- Add baselibs.conf as source to make factory-auto bot happy
-------------------------------------------------------------------
Wed Oct 1 21:28:07 UTC 2014 - crrodriguez@opensuse.org
- Cleanup buildRequires, remove use of xorg-x11-*
-------------------------------------------------------------------
Thu Feb 20 14:27:28 UTC 2014 - coolo@suse.com
- remove SUSE prefix from license
-------------------------------------------------------------------
Wed May 29 14:39:16 CEST 2013 - mhrusecky@suse.cz
- fix build with different versions of ruby
-------------------------------------------------------------------
Sun Mar 17 21:53:40 UTC 2013 - dmueller@suse.com
- add buildconditional to build optionally without mono
-------------------------------------------------------------------
Wed Jun 6 10:09:07 UTC 2012 - cfarrell@suse.com
- license update: SUSE-WTFPL-2.0
SPDX format (choose from http://www.spdx.org/licenses or the list linked
at license.opensuse.org)
-------------------------------------------------------------------
Tue May 29 14:00:53 UTC 2012 - puzel@suse.com
- fix build with automake-12.1
-------------------------------------------------------------------
Tue May 29 10:33:39 UTC 2012 - jengelh@inai.de
- Use autoreconf instead of ./bootstrap since (a) that works,
(b) avoids the inflexible handcrafted automake version check
-------------------------------------------------------------------
Mon May 14 09:29:06 UTC 2012 - coolo@suse.com
- update to libcaca-0.99beta18
- new "cacaclock" utility
- improved FIGlet support
- improved Python and Ruby bindings
- numerous improvements and bugfixes
- fix build with ruby 1.9 and re-enable python support
-------------------------------------------------------------------
Sun Nov 13 09:14:01 UTC 2011 - coolo@suse.com
- add libtool as explicit buildrequire to avoid implicit dependency
from prjconf
-------------------------------------------------------------------
Tue Apr 12 16:25:52 UTC 2011 - toddrme2178@gmail.com
- Add 32bit compatibility libraries
-------------------------------------------------------------------
Wed Jan 26 20:40:12 UTC 2011 - davejplater@gmail.com
- Fix libcaca-devel Requires: libcaca-plugins to correct
Requires: libcaca0-plugins.
-------------------------------------------------------------------
Sat Nov 20 01:21:36 UTC 2010 - davejplater@gmail.com
- Update to libcaca-0.99beta17
- Removed patches: libcaca-no_slang_acsmap.patch for < 10.1
libcaca-no_man3_pages.patch - pending investigation
remove_badwords.patch - waiting for confirmation about bad words
libcaca-0.99.beta16-libtool.patch - libtool method changed.
- Fixed patches : libcaca-ruby_am_cflags.patch,
libcaca-ruby_vendor_install.patch, caca-no-build-date.patch
and libcaca-0.99.beta16-missing-GLU.patch.
- Upstream changes : (See Changelog for more)
* Add triangle texture mapping to NEWS and update ChangeLog.
* Disable set_dither_palette until we really use it.
* Fix distribution of Java source.
* Large source code cleanup, getting rid of spaces, tabs, and svn keywords.
* Nicer make check output for our custom tests.
* Add missing ruby/test file to the distributed tarball.
* Update logo in the PHP bindings.
* Replace the old caca texture with a copy of our new logo.
* Add #undef __extern at the end of caca0.h. Thanks to Carlo Bramini for
* fixing this in #48.
* Only define CACA_ALIAS with gcc > 3 (instead of >= 3). Patch courtesy of
* Carlo Bramini. Addresses #48.
* Add brief documentation to figfont functions.
* Split check-build into check-doygen, check-source and check-win32.
* Document file functions and fix a few issues here and there.
* Move some configuration stuff from build-kernel into configure.ac.
* Activate colour toilet font support.
* Don't fail the check-build test if documentation was not built.
* Simpler and more accurate troff colour selection.
* Always draw all background in troff output, on beginning of lines too
* Fix the source code to reduce testsuite errors.
* Always draw all background in troff output
* Fix check-build verbosity.
* Fix shrext_cmds usage in configure.ac.
* Map colors to the ones known by groff, defining mines don't work
* Improve a bit troff export
* Fix libcaca.a linkage (was off by one argument), fill memory with 0xCACA.
-------------------------------------------------------------------
Fri Nov 19 12:51:39 UTC 2010 - coolo@novell.com
- disable pdf API reference documentation, it fails to build
with newer doxygen and the html documentation should be enough
for the package
-------------------------------------------------------------------
Mon Aug 30 20:36:35 UTC 2010 - cristian.rodriguez@opensuse.org
- Do not include build date in binaries
-------------------------------------------------------------------
Tue Nov 3 19:09:25 UTC 2009 - coolo@novell.com
- updated patches to apply with fuzz=0
-------------------------------------------------------------------
Mon Mar 16 14:28:30 CET 2009 - crrodriguez@suse.de
- fix build, missing -lGLU
- Update to version 0.99.beta16
- 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
-------------------------------------------------------------------
Wed Jan 28 14:38:21 CET 2009 - crrodriguez@suse.de
- remove "la" files
-------------------------------------------------------------------
Thu Dec 4 13:01:06 CET 2008 - cfarrell@suse.de
- added patch to remove badwords because of bnc#441358
-------------------------------------------------------------------
Thu Jun 12 19:19:15 CEST 2008 - pth@suse.de
- Build dynamic libraries, disable creation of static ones.
- Compile with OpenGL support.
- Install ruby bindings in vendorarch/vendorlib.
- Fix file list.
-------------------------------------------------------------------
Wed Feb 13 12:39:11 CET 2008 - pth@suse.de
- Update to 0.99beta13:
- device-dependent cursor support
- event API rewrite
- Ruby bindings
- Massive C# bindings improvements
- Python sample code
- 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
- preliminary .NET bindings
- 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
- support for blink, bold, italics and underline attributes
- fixed Imlib2 support in cacaview
- fixed buffer overflows in the file importer
- support for fullwidth Unicode characters
- transparency support in the UTF-8 importer and exporter
- ANSI importer now handles transparency and UTF-8
- 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
- all demos except cacafire were merged into cacademo
- added a compatibility layer for pre-1.x libcaca applications
- libcaca functions use errno for error reporting
- ANSI importer
- cacadraw, an ANSI viewer that will evolve into an editor
- Unicode input and output support for SLang and ncurses
- license switched to WTFPL
- libcaca was split into libcucul, a standalone text manipulation backend,
and libcaca, the display and user input frontend
- 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
-------------------------------------------------------------------
Sun Apr 22 23:10:09 CEST 2007 - ro@suse.de
- use texlive for building
-------------------------------------------------------------------
Fri Mar 30 11:57:12 CEST 2007 - rguenther@suse.de
- Add ncurses-devel BuildRequires.
-------------------------------------------------------------------
Fri Aug 4 11:14:21 CEST 2006 - pth@suse.de
- Adapt to new X11 paths.
-------------------------------------------------------------------
Wed Mar 29 18:04:58 CEST 2006 - pth@suse.de
- Fix BuildRequires.
-------------------------------------------------------------------
Wed Mar 29 16:08:00 CEST 2006 - pth@suse.de
- Add X11 devel files to BuildRequires.
-------------------------------------------------------------------
Wed Jan 25 21:37:23 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Mon Dec 19 15:04:33 CET 2005 - ro@suse.de
- added missing manpage symlinks to filelist
-------------------------------------------------------------------
Fri Nov 25 13:52:49 CET 2005 - pth@suse.de
- Initial package.
- undef clashing acs_map from slang.h
- don't try to install non-existing man3 pages
- install documentation to different directory

232
libcaca.spec Normal file
View File

@ -0,0 +1,232 @@
#
# spec file for package libcaca
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libcaca
Version: 0.99.beta20
Release: 0
Summary: Library for Colour ASCII Art, text mode graphics
License: WTFPL
Group: Development/Languages/C and C++
URL: http://caca.zoy.org
Source0: https://github.com/cacalabs/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: baselibs.conf
Patch1: libcaca-0.99-texbuild.patch
Patch2: libcaca-X11_test.patch
Patch4: libcaca-ruby_am_cflags.patch
Patch5: libcaca-ruby_vendor_install.patch
Patch7: libcaca-0.99.beta16-missing-GLU.patch
Patch9: caca-no-build-date.patch
Patch10: libcaca-ncurses6.patch
Patch13: Bug1143286_libcaca_configure_ac_chg_for_lto.patch
Patch99: bsc1184751-add-space-for-NUL-byte.patch
# PATCH-FIX-UPSTREAM correctly-handle-zero-width-or-height-images.patch bsc#1197028
Patch100: bsc1197028-correctly-handle-zero-width-or-height-images.patch
Patch101: libcaca-autoconf-2.69.patch
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: freeglut-devel
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: python3-setuptools
BuildRequires: ruby-devel
BuildRequires: pkgconfig(ftgl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(imlib2)
BuildRequires: pkgconfig(slang)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(zlib)
%description
libcaca is the Colour AsCii Art library. It provides high level
functions for colour text drawing, simple primitives for line, polygon
and ellipse drawing, as well as powerful image to text conversion
routines.
%package -n libcaca0
Summary: Library for Colour ASCII Art, text mode graphics
Group: Development/Languages/C and C++
Provides: libcaca = %{version}
Obsoletes: libcaca < %{version}
%description -n libcaca0
libcaca is the Colour AsCii Art library. It provides high level
functions for colour text drawing, simple primitives for line, polygon
and ellipse drawing, as well as powerful image to text conversion
routines.
%package devel
Summary: Library for Colour ASCII Art, text mode graphics
Group: Development/Languages/C and C++
Requires: %{name} = %{version}
Requires: %{name}0-plugins = %{version}
%description devel
This package contains the header files and static libraries needed to
compile applications or shared objects that use libcaca.
%package -n python3-caca
Summary: Python3 support for libcaca
Group: Development/Languages/Python
Requires: %{name} = %{version}
BuildArch: noarch
%description -n python3-caca
This package contains all that is needed to use libcaca from python3.
%package -n libcaca0-plugins
Summary: Plugins for libcaca
Group: Development/Languages/C and C++
Requires: %{name} = %{version}
%description -n libcaca0-plugins
This package contains gl and x11 plugins for caca.
%package ruby
Summary: Ruby bindings for libcaca
Group: Development/Languages/Ruby
Requires: %{name} = %{version}
Requires: ruby
%description ruby
All that is needed to use libcaca from ruby code.
%package -n caca-utils
Summary: Colour ASCII Art Text mode graphics utilities based on libcaca
Group: Amusements/Toys/Graphics
Requires: imlib2-loaders
Requires: toilet
%description -n caca-utils
This package contains utilities and demonstration programs for libcaca,
the Colour AsCii Art library.
cacaview is a simple image viewer for the terminal. It opens most image
formats such as JPEG, PNG, GIF etc. and renders them on the terminal
using ASCII art. The user can zoom and scroll the image, set the
dithering method or enable anti-aliasing.
cacaball is a tiny graphic program that renders animated ASCII
metaballs on the screen, cacafire is a port of AALib's aafire and
displays burning ASCII art flames, and cacademo is a simple application
that shows the libcaca rendering features such as line and ellipses
drawing, triangle filling and sprite blitting.
%prep
%setup -q
%patch2
%patch4
%patch5
%patch7
%patch9
%patch1
%patch10 -p1
%patch13 -p1
%patch99 -p1
%patch100 -p1
%patch101 -p1
RUBY="ruby-`echo %{rb_ver} | sed 's|\.[^\.]*$||'`"
find . -type f -exec sed -i "s|ruby-1.9|$RUBY|" \{\} \;
pushd python
#Change python script headers to python3
for i in `grep -rl "/usr/bin/env python"`;do sed -i '1s/^#!.*/#!\/usr\/bin\/python3/' ${i} ;done
popd
%build
autoreconf -fvi
export CFLAGS="$CFLAGS %{optflags} -I../caca/"
export CXXFLAGS="$CXXFLAGS %{optflags}"
%configure \
--enable-slang \
--enable-ncurses \
--enable-x11 \
--enable-imlib2 \
--enable-gl \
--enable-csharp=no \
--enable-doc \
--enable-shared=yes \
--enable-static=no \
--enable-conio=no \
--enable-plugins \
--enable-java=no \
--enable-python
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%fdupes -s %{buildroot}%{_mandir}/
%fdupes -s %{buildroot}%{python3_sitelib}
%post -n libcaca0 -p /sbin/ldconfig
%postun -n libcaca0 -p /sbin/ldconfig
%post -n libcaca0-plugins -p /sbin/ldconfig
%postun -n libcaca0-plugins -p /sbin/ldconfig
%files -n libcaca0
%doc AUTHORS NEWS NOTES README THANKS
%license COPYING
%{_libdir}/*.so.*
%files devel
%{_datadir}/doc/libcaca-dev
%dir %{_libdir}/caca
%{_libdir}/*.so
%{_libdir}/caca/libx11_plugin.so
%{_libdir}/caca/libgl_plugin.so
%{_bindir}/caca-config
%{_libdir}/pkgconfig/*.pc
%{_includedir}/*
%{_mandir}/man1/caca-config.1%{?ext_man}
%{_mandir}/man3/*
%files ruby
%{rb_vendorarch}/*
%{rb_vendorlib}/caca.rb
%files -n python3-caca
%{python3_sitelib}/*
%files -n libcaca0-plugins
%dir %{_libdir}/caca
%{_libdir}/caca/libgl_plugin.so.0
%{_libdir}/caca/libgl_plugin.so.0.0.0
%{_libdir}/caca/libx11_plugin.so.0
%{_libdir}/caca/libx11_plugin.so.0.0.0
%files -n caca-utils
%{_bindir}/cacademo
%{_bindir}/cacafire
%{_bindir}/cacaview
%{_bindir}/cacaplay
%{_bindir}/cacaclock
%{_bindir}/cacaserver
%{_bindir}/img2txt
%{_datadir}/libcaca
%{_mandir}/man1/cacademo.1%{?ext_man}
%{_mandir}/man1/cacafire.1%{?ext_man}
%{_mandir}/man1/cacaview.1%{?ext_man}
%{_mandir}/man1/cacaplay.1%{?ext_man}
%{_mandir}/man1/cacaserver.1%{?ext_man}
%{_mandir}/man1/img2txt.1%{?ext_man}
%changelog