commit 3e0e68b50aada645ec67cbe49a482c519d96aa1af702c51425e0d8f91a141bca Author: Adrian Schröter Date: Fri May 3 14:39:00 2024 +0200 Sync from SUSE:SLFO:Main libcaca revision a7ef5fff8f494d77741938e6f9b87a3d diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/Bug1143286_libcaca_configure_ac_chg_for_lto.patch b/Bug1143286_libcaca_configure_ac_chg_for_lto.patch new file mode 100644 index 0000000..b001e13 --- /dev/null +++ b/Bug1143286_libcaca_configure_ac_chg_for_lto.patch @@ -0,0 +1,36 @@ +From: Michel Normand +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 +--- + 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):);]])], diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..6df3079 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,2 @@ +libcaca0 +libcaca0-plugins diff --git a/bsc1184751-add-space-for-NUL-byte.patch b/bsc1184751-add-space-for-NUL-byte.patch new file mode 100644 index 0000000..b56fc34 --- /dev/null +++ b/bsc1184751-add-space-for-NUL-byte.patch @@ -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"); + diff --git a/bsc1197028-correctly-handle-zero-width-or-height-images.patch b/bsc1197028-correctly-handle-zero-width-or-height-images.patch new file mode 100644 index 0000000..7fa1fdc --- /dev/null +++ b/bsc1197028-correctly-handle-zero-width-or-height-images.patch @@ -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 + { diff --git a/caca-no-build-date.patch b/caca-no-build-date.patch new file mode 100644 index 0000000..15c247e --- /dev/null +++ b/caca-no-build-date.patch @@ -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: Version: %s (libcaca %s), date: %s\n" ++ "Internet: 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: Version: %s, date: %s\n" ++ "Internet: 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) + { diff --git a/libcaca-0.99-texbuild.patch b/libcaca-0.99-texbuild.patch new file mode 100644 index 0000000..5965dc7 --- /dev/null +++ b/libcaca-0.99-texbuild.patch @@ -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. diff --git a/libcaca-0.99.beta16-missing-GLU.patch b/libcaca-0.99.beta16-missing-GLU.patch new file mode 100644 index 0000000..8e3ff7c --- /dev/null +++ b/libcaca-0.99.beta16-missing-GLU.patch @@ -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 \ diff --git a/libcaca-0.99.beta20.tar.gz b/libcaca-0.99.beta20.tar.gz new file mode 100644 index 0000000..debe3c1 --- /dev/null +++ b/libcaca-0.99.beta20.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ad74babc63bf665b0b2378d95b4da65b7493c11bd9f3ac600517085b0c4acf2 +size 1099916 diff --git a/libcaca-X11_test.patch b/libcaca-X11_test.patch new file mode 100644 index 0000000..32f6c67 --- /dev/null +++ b/libcaca-X11_test.patch @@ -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}" diff --git a/libcaca-autoconf-2.69.patch b/libcaca-autoconf-2.69.patch new file mode 100644 index 0000000..b9b8e0c --- /dev/null +++ b/libcaca-autoconf-2.69.patch @@ -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]) diff --git a/libcaca-ncurses6.patch b/libcaca-ncurses6.patch new file mode 100644 index 0000000..add7540 --- /dev/null +++ b/libcaca-ncurses6.patch @@ -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(); diff --git a/libcaca-ruby_am_cflags.patch b/libcaca-ruby_am_cflags.patch new file mode 100644 index 0000000..a4f9abe --- /dev/null +++ b/libcaca-ruby_am_cflags.patch @@ -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 \ diff --git a/libcaca-ruby_vendor_install.patch b/libcaca-ruby_vendor_install.patch new file mode 100644 index 0000000..476926a --- /dev/null +++ b/libcaca-ruby_vendor_install.patch @@ -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 diff --git a/libcaca.changes b/libcaca.changes new file mode 100644 index 0000000..f2d4397 --- /dev/null +++ b/libcaca.changes @@ -0,0 +1,431 @@ +------------------------------------------------------------------- +Mon Nov 14 15:32:39 UTC 2022 - Valentin Lefebvre + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 - Илья Индиго + +- 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 + +- 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 diff --git a/libcaca.spec b/libcaca.spec new file mode 100644 index 0000000..fb42f18 --- /dev/null +++ b/libcaca.spec @@ -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