libcaca/libcaca.spec

341 lines
9.2 KiB
RPMSpec

#
# spec file for package libcaca
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
%define withjava 0
%define withpython 1
%bcond_without mono
Name: libcaca
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: freetype2-devel
BuildRequires: imlib2-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
BuildRequires: slang-devel
BuildRequires: xorg-x11
BuildRequires: xorg-x11-devel
#texlive-latex
BuildRequires: freeglut-devel
BuildRequires: ftgl-devel
BuildRequires: gcc-c++
BuildRequires: java-devel
%if %{with mono}
BuildRequires: mono-devel
%endif
BuildRequires: python-devel
BuildRequires: ruby-devel
BuildRequires: xorg-x11-libs
Version: 0.99.beta18
Release: 0
Summary: Library for Colour ASCII Art, text mode graphics
License: WTFPL
Group: Development/Languages/C and C++
Url: http://sam.zoy.org/projects/libcaca/
Source0: http://caca.zoy.org/files/libcaca/%{name}-%{version}.tar.gz
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: automake-1.12.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define rb_vendorarch %{_libdir}/ruby/vendor_ruby/%{rb_ver}/%{rb_arch}
%define rb_vendorlib %{_libdir}/ruby/vendor_ruby/%{rb_ver}
%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}
%if 0%{?suse_version} <= 1110
%define python_sitelib %_libdir/python2.6/site-packages
%endif
%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.
%if "%(pkg-config --variable prefix x11 || echo /usr/X11R6)" == "/usr"
%define _xorg7libs %{_libdir}
%else
%define _xorg7libs /usr/X11R6/%{_lib}
%endif
%package devel
Summary: Library for Colour ASCII Art, text mode graphics
Group: Development/Languages/C and C++
#yes, nothing else is required to link other applications with "libcaca"
Requires: %{name} = %{version}
Requires: %{name}0-plugins = %{version}
%if 0%{?withjava} == 1
Requires: %{name}0-java = %{version}
%endif
%description devel
This package contains the header files and static libraries needed to
compile applications or shared objects that use libcaca.
%if %{with mono}
%package csharp
Summary: C# support for libcaca
Group: Development/Languages/Mono
Requires: %{name} = %{version}
Requires: mono
%description csharp
This package contains all that is needed to use libcaca from C# code.
%endif
%if 0%{?withjava} == 1
%package -n libcaca0-java
Summary: Java support for libcaca
Group: Development/Languages/Java
Requires: %{name} = %{version}
Requires: java
%description -n libcaca0-java
This package contains all that is needed to use libcaca from java.
%endif
%if 0%{?withpython} == 1
%package python
Summary: Python support for libcaca
Group: Development/Languages/Python
Requires: %{name} = %{version}
Requires: python-base = %{py_ver}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description python
This package contains all that is needed to use libcaca from python.
%endif
%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
%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
chmod 0644 %{S:0}
%setup -q -n libcaca-%{version}
%patch2
%patch4
%patch5
%patch7
%patch9
%patch1
%patch10 -p1
RUBY="ruby-`echo %{rb_ver} | sed 's|\.[^\.]*$||'`"
find . -type f -exec sed -i "s|ruby-1.9|$RUBY|" \{\} \;
%build
autoreconf -fi
export CFLAGS="$CFLAGS %{optflags} -I../caca/"
export CXXFLAGS="$CXXFLAGS %{optflags}"
%configure --with-pic \
--program-prefix="%{?_program_prefix}" \
--enable-slang \
--enable-ncurses \
--enable-x11 \
--x-libraries=%{_xorg7libs} \
--enable-imlib2 \
--enable-gl \
--enable-csharp \
--enable-doc \
--enable-shared=yes \
--enable-static=no \
--enable-conio=no \
--enable-plugins \
%if 0%{?withjava} == 1
--enable-java
%else
--enable-java=no
%endif
make %{?_smp_mflags}
%install
%makeinstall
%{__rm} -f %{buildroot}%{_libdir}/*.la
%{__rm} -f %{buildroot}%{_libdir}/caca/*.la
%if 0%{?withjava} == 1
%{__rm} -f %{buildroot}%{_libdir}/jni/libcaca-java.la
%endif
%fdupes -s %{buildroot}%{python_sitelib}/caca/
%fdupes -s %{buildroot}%{_mandir}/
%if %{with mono}
%fdupes -s %{buildroot}%{_libdir}/mono
%endif
%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
%if 0%{?withjava} == 1
%post -n libcaca0-java -p /sbin/ldconfig
%postun -n libcaca0-java -p /sbin/ldconfig
%endif
%files -n libcaca0
%defattr(-, root, root, 0755)
%doc AUTHORS ChangeLog COPYING NEWS NOTES README THANKS
%{_libdir}/*.so.*
%files devel
%defattr(-, root, root, 0755)
%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*
%{_mandir}/man3/*
%{_datadir}/doc/libcucul-dev
%{_datadir}/doc/libcaca-dev
%if 0%{?withjava} == 1
%{_libdir}/jni/libcaca-java.so
%endif
%if %{with mono}
%files csharp
%defattr(-, root, root, 0755)
%{_libdir}/mono
%endif
%files ruby
%defattr(-, root, root, 0755)
%{rb_vendorarch}/*
%{rb_vendorlib}/caca.rb
%if 0%{?withjava} == 1
%files -n libcaca0-java
%defattr(-, root, root, 0755)
%{_libdir}/jni/libcaca-java.so.0
%{_libdir}/jni/libcaca-java.so.0.0.0
%{_datadir}/java/libjava.jar
%endif
%if 0%{?withpython} == 1
%files python
%defattr(-, root, root, 0755)
%dir %{python_sitelib}/caca
%{python_sitelib}/caca/__init__.py
%{python_sitelib}/caca/__init__.pyc
%{python_sitelib}/caca/__init__.pyo
%{python_sitelib}/caca/canvas.py
%{python_sitelib}/caca/canvas.pyc
%{python_sitelib}/caca/canvas.pyo
%{python_sitelib}/caca/common.py
%{python_sitelib}/caca/common.pyc
%{python_sitelib}/caca/common.pyo
%{python_sitelib}/caca/display.py
%{python_sitelib}/caca/display.pyc
%{python_sitelib}/caca/display.pyo
%{python_sitelib}/caca/dither.py
%{python_sitelib}/caca/dither.pyc
%{python_sitelib}/caca/dither.pyo
%{python_sitelib}/caca/font.py
%{python_sitelib}/caca/font.pyc
%{python_sitelib}/caca/font.pyo
%endif
%files -n libcaca0-plugins
%defattr(-, root, root, 0755)
%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
%defattr(-, root, root, 0755)
%{_bindir}/cacademo
%{_bindir}/cacafire
%{_bindir}/cacaview
%{_bindir}/cacaplay
%{_bindir}/cacaclock
%{_bindir}/cacaserver
%{_bindir}/img2txt
%{_datadir}/libcaca
%{_mandir}/man1/cacademo.1*
%{_mandir}/man1/cacafire.1*
%{_mandir}/man1/cacaview.1*
%{_mandir}/man1/cacaplay.1*
%{_mandir}/man1/cacaserver.1*
%{_mandir}/man1/img2txt.1*
%changelog