3 %bcond_without dotnet # C#/Mono binding
4 %bcond_without java # Java binding
6 %ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
15 %{?with_dotnet:%include /usr/lib/rpm/macros.mono}
16 Summary: Graphics library that outputs text instead of pixels
17 Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli
20 Release: 0.%{subver}.%{rel}
23 Source0: http://caca.zoy.org/raw-attachment/wiki/libcaca/%{name}-%{version}.%{subver}.tar.gz
24 # Source0-md5: a3d4441cdef488099f4a92f4c6c1da00
25 Patch0: %{name}-monodir.patch
26 URL: http://caca.zoy.org/
27 BuildRequires: OpenGL-devel
28 BuildRequires: autoconf >= 2.50
29 BuildRequires: automake
30 BuildRequires: doxygen
31 BuildRequires: freeglut-devel >= 2.0.0
33 #BuildRequires: ftgl-devel >= 2.1.3
34 BuildRequires: imlib2-devel
35 %{?with_java:BuildRequires: jdk}
36 BuildRequires: libstdc++-devel
37 BuildRequires: libtool >= 2:1.5
38 %{?with_dotnet:BuildRequires: mono-csharp}
39 BuildRequires: pkgconfig
40 BuildRequires: python-devel >= 2.2
41 BuildRequires: rpmbuild(macros) >= 1.533
42 BuildRequires: rpmbuild(monoautodeps)
43 BuildRequires: ruby-devel
44 BuildRequires: sed >= 4.0
45 BuildRequires: slang-devel >= 2.0.0
46 #BuildRequires: texlive-fonts-jknappen
47 #BuildRequires: texlive-format-pdflatex
48 #BuildRequires: texlive-latex-ams
49 #BuildRequires: texlive-makeindex
50 BuildRequires: xorg-lib-libX11-devel
51 BuildRequires: zlib-devel
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 %define specflags -fomit-frame-pointer
57 The libcaca library is a graphics library that outputs text instead of
58 pixels, so that it can work on older video cards or text terminals. It
59 is not unlike the famous AAlib library.
61 The differences with AAlib are the following:
62 - 16 available colours for character output (256 colour pairs)
63 - dithering of colour images
64 - basic sprite primitives
66 But libcaca also has the following limitations:
67 - no support for brightness, contrast, gamma
68 - unefficient character-choosing algorithms
69 - no raw keyboard support
71 %description -l pl.UTF-8
72 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
73 pikseli, dzięki czemu może działać na starszych kartach graficznych
74 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
77 Różnice w stosunku do AAlib są następujące:
78 - 16 dostępnych kolorów dla znaków (256 par kolorów)
79 - dithering kolorowych obrazów
80 - proste kształty duszków (sprites)
82 Ale libcaca ma także następujące ograniczenia:
83 - brak obsługi jasności, kontrastu, korekcji gamma
84 - mało wydajne algorytmy wyboru znaków
85 - brak obsługi klawiatury w trybie surowym
88 Summary: GL plugin for libcaca library
89 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
91 Requires: %{name} = %{version}-%{release}
92 Requires: freeglut >= 2.0.0
94 %description plugin-GL
95 GL plugin for libcaca library.
97 %description plugin-GL -l pl.UTF-8
98 Wtyczka GL dla biblioteki libcaca.
101 Summary: X11 plugin for libcaca library
102 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
104 Requires: %{name} = %{version}-%{release}
106 %description plugin-X11
107 X11 plugin for libcaca library.
109 %description plugin-X11 -l pl.UTF-8
110 Wtyczka X11 dla biblioteki libcaca.
113 Summary: libcaca-based image viewer and converter
114 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
115 Group: Applications/Graphics
118 libcaca-based image viewer and converter. They use imlib2 to load
121 %description img -l pl.UTF-8
122 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
123 obrazków używają biblioteki imlib2.
126 Summary: Header files for libcaca library
127 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
128 Group: Development/Libraries
129 Requires: %{name} = %{version}-%{release}
130 Requires: slang-devel >= 2.0.0
133 Header files for libcaca library.
135 %description devel -l pl.UTF-8
136 Pliki nagłówkowe biblioteki libcaca.
139 Summary: Static libcaca library
140 Summary(pl.UTF-8): Statyczna biblioteka libcaca
141 Group: Development/Libraries
142 Requires: %{name}-devel = %{version}-%{release}
145 Static libcaca library.
147 %description static -l pl.UTF-8
148 Statyczna biblioteka libcaca.
151 Summary: C++ bindings for libcaca
152 Summary(pl.UTF-8): Wiązania C++ do libcaca
154 Requires: %{name} = %{version}-%{release}
157 C++ bindings for libcaca.
159 %description c++ -l pl.UTF-8
160 Wiązania C++ do libcaca.
163 Summary: C++ bindings for libcaca - header files
164 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
165 Group: Development/Libraries
166 Requires: %{name}-c++ = %{version}-%{release}
167 Requires: %{name}-devel = %{version}-%{release}
168 Requires: libstdc++-devel
170 %description c++-devel
171 C++ bindings for libcaca - header files.
173 %description c++-devel -l pl.UTF-8
174 Wiązania C++ do libcaca - pliki nagłówkowe.
177 Summary: C++ bindings for libcaca - static libraries
178 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
179 Group: Development/Libraries
180 Requires: %{name}-c++-devel = %{version}-%{release}
182 %description c++-static
183 C++ bindings for libcaca - static libraries.
185 %description c++-static -l pl.UTF-8
186 Wiązania C++ do libcaca - biblioteki statyczne.
188 %package -n dotnet-caca-sharp
189 Summary: C# bindings for libcaca
190 Summary(pl.UTF-8): Wiązania C# do libcaca
192 Requires: %{name} = %{version}-%{release}
195 %description -n dotnet-caca-sharp
196 C# bindings for libcaca.
198 %description -n dotnet-caca-sharp -l pl.UTF-8
199 Wiązania C# do libcaca.
201 %package -n java-caca
202 Summary: Java bindings for libcaca
203 Summary(pl.UTF-8): Wiązania Javy do libcaca
204 Group: Libraries/Java
205 Requires: %{name} = %{version}-%{release}
208 %description -n java-caca
209 Java bindings for libcaca.
211 %description -n java-caca -l pl.UTF-8
212 Wiązania Javy do libcaca.
214 %package -n python-caca
215 Summary: Python bindings for libcaca
216 Summary(pl.UTF-8): Wiązania Pythona do libcaca
217 Group: Development/Languages/Python
218 Requires: %{name} = %{version}-%{release}
220 Requires: python-modules
222 %description -n python-caca
223 Python bindings for libcaca.
225 %description -n python-caca -l pl.UTF-8
226 Wiązania Pythona do libcaca.
228 %package -n ruby-caca
229 Summary: Ruby bindings for libcaca
230 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
231 Group: Development/Languages
232 Requires: %{name} = %{version}-%{release}
233 %{?ruby_ver_requires_eq}
235 %description -n ruby-caca
236 Ruby bindings for libcaca.
238 %description -n ruby-caca -l pl.UTF-8
239 Wiązania języka Ruby do libcaca.
242 %setup -q -n %{name}-%{version}.%{subver}
251 # NOTE: ncurses driver builds, but there's no color when linked against
252 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
253 # NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
254 # KPSEWHICH hack to disable PDF documentation.
256 KPSEWHICH=/nonexisting \
257 --enable-csharp%{!?with_dotnet:=no} \
260 --enable-java%{!?with_java:=no} \
266 # --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
267 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
268 %{__make} %{?with_java:-j1} \
269 CLASSPATH=$(pwd)/java \
275 rm -rf $RPM_BUILD_ROOT
278 DESTDIR=$RPM_BUILD_ROOT \
281 # replace symlink by groff include
282 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
283 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
286 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
287 %{__rm} $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.la
289 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca-java.la
291 # man3 pages have too common base names to be included
292 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
293 # packaged as %doc in -devel
294 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
299 rm -rf $RPM_BUILD_ROOT
301 %post -p /sbin/ldconfig
302 %postun -p /sbin/ldconfig
304 %post c++ -p /sbin/ldconfig
305 %postun c++ -p /sbin/ldconfig
307 %post -n java-caca -p /sbin/ldconfig
308 %postun -n java-caca -p /sbin/ldconfig
311 %defattr(644,root,root,755)
312 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
313 %attr(755,root,root) %{_bindir}/cacaclock
314 %attr(755,root,root) %{_bindir}/cacademo
315 %attr(755,root,root) %{_bindir}/cacafire
316 %attr(755,root,root) %{_bindir}/cacaplay
317 %attr(755,root,root) %{_bindir}/cacaserver
318 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
319 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
322 %{_mandir}/man1/cacademo.1*
323 %{_mandir}/man1/cacafire.1*
324 %{_mandir}/man1/cacaplay.1*
325 %{_mandir}/man1/cacaserver.1*
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
336 %defattr(644,root,root,755)
337 %attr(755,root,root) %{_bindir}/cacaview
338 %attr(755,root,root) %{_bindir}/img2txt
339 %{_mandir}/man1/cacaview.1*
340 %{_mandir}/man1/img2txt.1*
343 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_bindir}/caca-config
346 %attr(755,root,root) %{_libdir}/libcaca.so
347 %{_libdir}/libcaca.la
348 %{_includedir}/caca.h
349 %{_includedir}/caca0.h
350 %{_includedir}/caca_conio.h
351 %{_includedir}/caca_types.h
352 %{_pkgconfigdir}/caca.pc
353 %{_mandir}/man1/caca-config.1*
354 # man3 pages have too common base names to be included
357 %defattr(644,root,root,755)
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
363 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/libcaca++.so
368 %{_libdir}/libcaca++.la
369 %{_includedir}/caca++.h
370 %{_pkgconfigdir}/caca++.pc
373 %defattr(644,root,root,755)
374 %{_libdir}/libcaca++.a
377 %files -n dotnet-caca-sharp
378 %defattr(644,root,root,755)
379 %{_prefix}/lib/mono/caca-sharp-0.0
380 %{_prefix}/lib/mono/gac/caca-sharp
381 %{_javadir}/libjava.jar
386 %defattr(644,root,root,755)
387 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
388 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
389 %attr(755,root,root) %{_libdir}/libcaca-java.so
392 %files -n python-caca
393 %defattr(644,root,root,755)
394 %dir %{py_sitescriptdir}/caca
395 %{py_sitescriptdir}/caca/*.py[co]
398 %defattr(644,root,root,755)
399 %{ruby_sitelibdir}/caca.rb
400 %attr(755,root,root) %{ruby_sitearchdir}/caca.so