64993e416d
- Refresh spec-file via spec-cleaner. - Add Requires:toilet for caca-utils, because need for cacaclock. - Add Bug1143286_libcaca_configure_ac_chg_for_lto.patch bypass boo#1143286 - 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] - 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] - 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] - 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. - 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 - 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 - 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 - Require imlib2-loaders in caca-utils package. All of the utilities fail to load any image without the dependency. - 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. - 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" - Update libcaca-ruby_vendor_install.patch: Use RbConfig::CONFIG instead of Config::Config to be compatible with ruby 2.2. - Update to version 0.99beta19 * No changelog available - Remove automake-1.12.patch; fixed on upstream release - Remove __DATE__ usage from cacaclock - Add baselibs.conf as source to make factory-auto bot happy - Cleanup buildRequires, remove use of xorg-x11-* - remove SUSE prefix from license - fix build with different versions of ruby - add buildconditional to build optionally without mono - license update: SUSE-WTFPL-2.0 SPDX format (choose from http://www.spdx.org/licenses or the list linked at license.opensuse.org) - fix build with automake-12.1 - Use autoreconf instead of ./bootstrap since (a) that works, (b) avoids the inflexible handcrafted automake version check - 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 - add libtool as explicit buildrequire to avoid implicit dependency from prjconf - Add 32bit compatibility libraries - Fix libcaca-devel Requires: libcaca-plugins to correct Requires: libcaca0-plugins. - 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. - disable pdf API reference documentation, it fails to build with newer doxygen and the html documentation should be enough for the package - Do not include build date in binaries - updated patches to apply with fuzz=0 - 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 - remove "la" files - added patch to remove badwords because of bnc#441358 - Build dynamic libraries, disable creation of static ones. - Compile with OpenGL support. - Install ruby bindings in vendorarch/vendorlib. - Fix file list. - 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 - use texlive for building - Add ncurses-devel BuildRequires. - Adapt to new X11 paths. - Fix BuildRequires. - Add X11 devel files to BuildRequires. - converted neededforbuild to BuildRequires - added missing manpage symlinks to filelist - Initial package. - undef clashing acs_map from slang.h - don't try to install non-existing man3 pages - install documentation to different directory OBS-URL: https://build.opensuse.org/request/show/779545 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcaca?expand=0&rev=52
232 lines
6.9 KiB
RPMSpec
232 lines
6.9 KiB
RPMSpec
#
|
|
# spec file for package libcaca
|
|
#
|
|
# Copyright (c) 2020 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/
|
|
#
|
|
|
|
|
|
#
|
|
%define _rev da28e9684ef445ac8d42745644336b8a75c01855
|
|
Name: libcaca
|
|
Version: 0.99.beta19.git20171003
|
|
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}/archive/%{_rev}.tar.gz#/%{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
|
|
Patch11: libcaca-variable-type.patch
|
|
Patch12: Bug1120502-add_cast_to_prevent_overflow.patch
|
|
Patch13: Bug1143286_libcaca_configure_ac_chg_for_lto.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 -n %{name}-%{_rev}
|
|
%patch2
|
|
%patch4
|
|
%patch5
|
|
%patch7
|
|
%patch9
|
|
%patch1
|
|
%patch10 -p1
|
|
%patch11 -p1
|
|
%patch12 -p1
|
|
%patch13 -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 ChangeLog 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
|