3 %bcond_without dotnet # don't build mono plugin
5 %ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
12 %{?with_dotnet:%include /usr/lib/rpm/macros.mono}
13 Summary: Graphics library that outputs text instead of pixels
14 Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli
18 Release: 0.%{subver}.1
21 Source0: http://libcaca.zoy.org/files/libcaca/%{name}-%{version}.%{subver}.tar.gz
22 # Source0-md5: 790d6e26b7950e15909fdbeb23a7ea87
24 Patch1: %{name}-ruby1.9.patch
25 URL: http://libcaca.zoy.org/
26 BuildRequires: OpenGL-devel
27 BuildRequires: autoconf >= 2.50
28 BuildRequires: automake
29 BuildRequires: doxygen
30 BuildRequires: freeglut-devel >= 2.0.0
31 BuildRequires: imlib2-devel
32 BuildRequires: libstdc++-devel
33 BuildRequires: libtool
34 %{?with_dotnet:BuildRequires: mono-csharp}
35 BuildRequires: pkgconfig
36 BuildRequires: rpmbuild(macros) >= 1.533
37 BuildRequires: rpmbuild(monoautodeps)
38 BuildRequires: ruby-devel
39 BuildRequires: sed >= 4.0
40 BuildRequires: slang-devel >= 2.0.0
41 # shouldn't these be in doxygen requirements?
42 BuildRequires: tetex-fonts-jknappen
43 BuildRequires: tetex-makeindex
44 BuildRequires: tetex-metafont
45 BuildRequires: xorg-lib-libX11-devel
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define specflags -fomit-frame-pointer
51 The libcaca library is a graphics library that outputs text instead of
52 pixels, so that it can work on older video cards or text terminals. It
53 is not unlike the famous AAlib library.
55 The differences with AAlib are the following:
56 - 16 available colours for character output (256 colour pairs)
57 - dithering of colour images
58 - basic sprite primitives
60 But libcaca also has the following limitations:
61 - no support for brightness, contrast, gamma
62 - unefficient character-choosing algorithms
63 - no raw keyboard support
65 %description -l pl.UTF-8
66 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
67 pikseli, dzięki czemu może działać na starszych kartach graficznych
68 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
71 Różnice w stosunku do AAlib są następujące:
72 - 16 dostępnych kolorów dla znaków (256 par kolorów)
73 - dithering kolorowych obrazów
74 - proste kształty duszków (sprites)
76 Ale libcaca ma także następujące ograniczenia:
77 - brak obsługi jasności, kontrastu, korekcji gamma
78 - mało wydajne algorytmy wyboru znaków
79 - brak obsługi klawiatury w trybie surowym
82 Summary: GL plugin for libcaca library
83 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
85 Requires: %{name} = %{version}-%{release}
86 Requires: freeglut >= 2.0.0
88 %description plugin-GL
89 GL plugin for libcaca library.
91 %description plugin-GL -l pl.UTF-8
92 Wtyczka GL dla biblioteki libcaca.
95 Summary: X11 plugin for libcaca library
96 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
98 Requires: %{name} = %{version}-%{release}
100 %description plugin-X11
101 X11 plugin for libcaca library.
103 %description plugin-X11 -l pl.UTF-8
104 Wtyczka X11 dla biblioteki libcaca.
107 Summary: libcaca-based image viewer and converter
108 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
109 Group: Applications/Graphics
112 libcaca-based image viewer and converter. They use imlib2 to load
115 %description img -l pl.UTF-8
116 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
117 obrazków używają biblioteki imlib2.
120 Summary: Header files for libcaca library
121 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
122 Group: Development/Libraries
123 Requires: %{name} = %{version}-%{release}
124 Requires: slang-devel >= 2.0.0
127 Header files for libcaca library.
129 %description devel -l pl.UTF-8
130 Pliki nagłówkowe biblioteki libcaca.
133 Summary: Static libcaca library
134 Summary(pl.UTF-8): Statyczna biblioteka libcaca
135 Group: Development/Libraries
136 Requires: %{name}-devel = %{version}-%{release}
139 Static libcaca library.
141 %description static -l pl.UTF-8
142 Statyczna biblioteka libcaca.
145 Summary: C++ bindings for libcaca
146 Summary(pl.UTF-8): Wiązania C++ do libcaca
148 Requires: %{name} = %{version}-%{release}
151 C++ bindings for libcaca.
153 %description c++ -l pl.UTF-8
154 Wiązania C++ do libcaca.
157 Summary: C++ bindings for libcaca - header files
158 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
159 Group: Development/Libraries
160 Requires: %{name}-c++ = %{version}-%{release}
161 Requires: %{name}-devel = %{version}-%{release}
162 Requires: libstdc++-devel
164 %description c++-devel
165 C++ bindings for libcaca - header files.
167 %description c++-devel -l pl.UTF-8
168 Wiązania C++ do libcaca - pliki nagłówkowe.
171 Summary: C++ bindings for libcaca - static libraries
172 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
173 Group: Development/Libraries
174 Requires: %{name}-c++-devel = %{version}-%{release}
176 %description c++-static
177 C++ bindings for libcaca - static libraries.
179 %description c++-static -l pl.UTF-8
180 Wiązania C++ do libcaca - biblioteki statyczne.
182 %package -n dotnet-caca-sharp
183 Summary: C# bindings for libcaca
184 Summary(pl.UTF-8): Wiązania C# do libcaca
186 Requires: %{name} = %{version}-%{release}
189 %description -n dotnet-caca-sharp
190 C# bindings for libcaca.
192 %description -n dotnet-caca-sharp -l pl.UTF-8
193 Wiązania C# do libcaca.
195 %package -n ruby-caca
196 Summary: Ruby bindings for libcaca
197 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
198 Group: Development/Languages
199 Requires: %{name} = %{version}-%{release}
200 %{?ruby_ver_requires_eq}
202 %description -n ruby-caca
203 Ruby bindings for libcaca.
205 %description -n ruby-caca -l pl.UTF-8
206 Wiązania języka Ruby do libcaca.
209 %setup -q -n %{name}-%{version}.%{subver}
220 # NOTE: ncurses driver builds, but there's no color when linked against
221 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
224 --%{!?with_dotnet:dis}%{?with_dotnet:en}able-csharp \
233 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
238 rm -rf $RPM_BUILD_ROOT
241 DESTDIR=$RPM_BUILD_ROOT
243 # replace symlink by groff include
244 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
245 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
247 rm -f $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
248 rm -f $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.{a,la}
249 # man3 pages have too common base names to be included
250 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
251 rm -rf $RPM_BUILD_ROOT%{_docdir}/libcucul-dev
253 cd $RPM_BUILD_ROOT%{_libdir}
254 for i in libcaca*.so.*.*.*; do
255 ln -sf $i $(echo $i |sed 's/caca/cucul/')
257 ln -sf libcaca.a $RPM_BUILD_ROOT%{_libdir}/libcucul.a
258 ln -sf libcaca.la $RPM_BUILD_ROOT%{_libdir}/libcucul.la
259 ln -sf libcaca.so $RPM_BUILD_ROOT%{_libdir}/libcucul.so
260 ln -sf libcaca.so.0 $RPM_BUILD_ROOT%{_libdir}/libcucul.so.0
261 ln -sf libcaca++.a $RPM_BUILD_ROOT%{_libdir}/libcucul++.a
262 ln -sf libcaca++.la $RPM_BUILD_ROOT%{_libdir}/libcucul++.la
263 ln -sf libcaca++.so $RPM_BUILD_ROOT%{_libdir}/libcucul++.so
264 ln -sf libcaca++.so.0 $RPM_BUILD_ROOT%{_libdir}/libcucul++.so.0
265 ln -sf caca-sharp $RPM_BUILD_ROOT%{_libdir}/cucul-sharp
266 ln -sf caca++.h $RPM_BUILD_ROOT%{_includedir}/cucul++.h
267 ln -sf caca_types.h $RPM_BUILD_ROOT%{_includedir}/cucul_types.h
268 #ln -sf caca_types++.h $RPM_BUILD_ROOT%{_includedir}/cucul_types++.h
269 ln -sf caca.so $RPM_BUILD_ROOT%{ruby_sitearchdir}/cucul.so
272 rm -rf $RPM_BUILD_ROOT
274 %post -p /sbin/ldconfig
275 %postun -p /sbin/ldconfig
277 %post c++ -p /sbin/ldconfig
278 %postun c++ -p /sbin/ldconfig
281 %defattr(644,root,root,755)
282 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
283 %attr(755,root,root) %{_bindir}/cacademo
284 %attr(755,root,root) %{_bindir}/cacafire
285 %attr(755,root,root) %{_bindir}/cacaplay
286 %attr(755,root,root) %{_bindir}/cacaserver
287 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
288 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
289 %attr(755,root,root) %{_libdir}/libcucul.so.*.*.*
290 %attr(755,root,root) %ghost %{_libdir}/libcucul.so.0
293 %{_mandir}/man1/cacademo.1*
294 %{_mandir}/man1/cacafire.1*
295 %{_mandir}/man1/cacaplay.1*
296 %{_mandir}/man1/cacaserver.1*
299 %defattr(644,root,root,755)
300 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
303 %defattr(644,root,root,755)
304 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
307 %defattr(644,root,root,755)
308 %attr(755,root,root) %{_bindir}/cacaview
309 %attr(755,root,root) %{_bindir}/img2txt
310 %{_mandir}/man1/cacaview.1*
311 %{_mandir}/man1/img2txt.1*
314 %defattr(644,root,root,755)
316 %attr(755,root,root) %{_bindir}/caca-config
317 %attr(755,root,root) %{_libdir}/libcaca.so
318 %attr(755,root,root) %{_libdir}/libcucul.so
319 %{_libdir}/libcaca.la
320 %{_libdir}/libcucul.la
321 %{_includedir}/caca.h
322 %{_includedir}/caca0.h
323 %{_includedir}/caca_types.h
324 %{_includedir}/cucul.h
325 %{_includedir}/cucul_types.h
326 %{_pkgconfigdir}/caca.pc
327 %{_pkgconfigdir}/cucul.pc
328 %{_mandir}/man1/caca-config.1*
329 # man3 pages have too common base names to be included
332 %defattr(644,root,root,755)
334 %{_libdir}/libcucul.a
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
339 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
340 %attr(755,root,root) %{_libdir}/libcucul++.so.*.*.*
341 %attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_libdir}/libcaca++.so
346 %attr(755,root,root) %{_libdir}/libcucul++.so
347 %{_libdir}/libcaca++.la
348 %{_libdir}/libcucul++.la
349 %{_includedir}/caca++.h
350 %{_includedir}/cucul++.h
351 %{_pkgconfigdir}/caca++.pc
352 %{_pkgconfigdir}/cucul++.pc
355 %defattr(644,root,root,755)
356 %{_libdir}/libcaca++.a
357 %{_libdir}/libcucul++.a
360 %files -n dotnet-caca-sharp
361 %defattr(644,root,root,755)
362 %{_libdir}/caca-sharp
363 %{_libdir}/cucul-sharp
367 %defattr(644,root,root,755)
368 %{ruby_sitelibdir}/caca.rb
369 %attr(755,root,root) %{ruby_sitearchdir}/caca.so
370 %attr(755,root,root) %{ruby_sitearchdir}/cucul.so