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: 3953bf4a803747b63a99f50125563151
24 URL: http://libcaca.zoy.org/
25 BuildRequires: OpenGL-devel
26 BuildRequires: autoconf >= 2.50
27 BuildRequires: automake
28 BuildRequires: doxygen
29 BuildRequires: freeglut-devel >= 2.0.0
30 BuildRequires: imlib2-devel
31 BuildRequires: libstdc++-devel
32 BuildRequires: libtool
33 %{?with_dotnet:BuildRequires: mono-csharp}
34 BuildRequires: rpmbuild(macros) >= 1.272
35 BuildRequires: rpmbuild(monoautodeps)
36 BuildRequires: ruby-devel
37 BuildRequires: slang-devel >= 2.0.0
38 # shouldn't these be in doxygen requirements?
39 BuildRequires: tetex-fonts-jknappen
40 BuildRequires: tetex-makeindex
41 BuildRequires: tetex-metafont
42 BuildRequires: xorg-lib-libX11-devel
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45 %define specflags -fomit-frame-pointer
48 The libcaca library is a graphics library that outputs text instead of
49 pixels, so that it can work on older video cards or text terminals. It
50 is not unlike the famous AAlib library.
52 The differences with AAlib are the following:
53 - 16 available colours for character output (256 colour pairs)
54 - dithering of colour images
55 - basic sprite primitives
57 But libcaca also has the following limitations:
58 - no support for brightness, contrast, gamma
59 - unefficient character-choosing algorithms
60 - no raw keyboard support
62 %description -l pl.UTF-8
63 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst
64 zamiast pikseli, dzięki czemu może działać na starszych kartach
65 graficznych oraz terminalach tekstowych. Pod tym względem jest
66 podobna do słynnej biblioteki AAlib.
68 Różnice w stosunku do AAlib są następujące:
69 - 16 dostępnych kolorów dla znaków (256 par kolorów)
70 - dithering kolorowych obrazów
71 - proste kształty duszków (sprites)
73 Ale libcaca ma także następujące ograniczenia:
74 - brak obsługi jasności, kontrastu, korekcji gamma
75 - mało wydajne algorytmy wyboru znaków
76 - brak obsługi klawiatury w trybie surowym
79 Summary: GL plugin for libcaca library
80 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
82 Requires: %{name} = %{version}-%{release}
83 Requires: freeglut >= 2.0.0
85 %description plugin-GL
86 GL plugin for libcaca library.
88 %description plugin-GL -l pl.UTF-8
89 Wtyczka GL dla biblioteki libcaca.
92 Summary: X11 plugin for libcaca library
93 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
95 Requires: %{name} = %{version}-%{release}
97 %description plugin-X11
98 X11 plugin for libcaca library.
100 %description plugin-X11 -l pl.UTF-8
101 Wtyczka X11 dla biblioteki libcaca.
104 Summary: libcaca-based image viewer and converter
105 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
106 Group: Applications/Graphics
109 libcaca-based image viewer and converter. They use imlib2 to load
112 %description img -l pl.UTF-8
113 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
114 obrazków używają biblioteki imlib2.
117 Summary: Header files for libcaca library
118 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
119 Group: Development/Libraries
120 Requires: %{name} = %{version}-%{release}
121 Requires: slang-devel >= 2.0.0
124 Header files for libcaca library.
126 %description devel -l pl.UTF-8
127 Pliki nagłówkowe biblioteki libcaca.
130 Summary: Static libcaca library
131 Summary(pl.UTF-8): Statyczna biblioteka libcaca
132 Group: Development/Libraries
133 Requires: %{name}-devel = %{version}-%{release}
136 Static libcaca library.
138 %description static -l pl.UTF-8
139 Statyczna biblioteka libcaca.
142 Summary: C++ bindings for libcaca
143 Summary(pl.UTF-8): Wiązania C++ do libcaca
145 Requires: %{name} = %{version}-%{release}
148 C++ bindings for libcaca.
150 %description c++ -l pl.UTF-8
151 Wiązania C++ do libcaca.
154 Summary: C++ bindings for libcaca - header files
155 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
156 Group: Development/Libraries
157 Requires: %{name}-c++ = %{version}-%{release}
158 Requires: %{name}-devel = %{version}-%{release}
159 Requires: libstdc++-devel
161 %description c++-devel
162 C++ bindings for libcaca - header files.
164 %description c++-devel -l pl.UTF-8
165 Wiązania C++ do libcaca - pliki nagłówkowe.
168 Summary: C++ bindings for libcaca - static libraries
169 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
170 Group: Development/Libraries
171 Requires: %{name}-c++-devel = %{version}-%{release}
173 %description c++-static
174 C++ bindings for libcaca - static libraries.
176 %description c++-static -l pl.UTF-8
177 Wiązania C++ do libcaca - biblioteki statyczne.
179 %package -n dotnet-caca-sharp
180 Summary: C# bindings for libcaca
181 Summary(pl.UTF-8): Wiązania C# do libcaca
183 Requires: %{name} = %{version}-%{release}
186 %description -n dotnet-caca-sharp
187 C# bindings for libcaca.
189 %description -n dotnet-caca-sharp -l pl.UTF-8
190 Wiązania C# do libcaca.
192 %package -n ruby-caca
193 Summary: Ruby bindings for libcaca
194 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
195 Group: Development/Languages
196 Requires: %{name} = %{version}-%{release}
197 %{?ruby_ver_requires_eq}
199 %description -n ruby-caca
200 Ruby bindings for libcaca.
202 %description -n ruby-caca -l pl.UTF-8
203 Wiązania języka Ruby do libcaca.
206 %setup -q -n %{name}-%{version}.%{subver}
215 # NOTE: ncurses driver builds, but there's no color when linked against
216 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
219 --%{!?with_dotnet:dis}%{?with_dotnet:en}able-csharp \
227 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
232 rm -rf $RPM_BUILD_ROOT
235 DESTDIR=$RPM_BUILD_ROOT
237 # replace symlink by groff include
238 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
239 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
241 rm -f $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
242 rm -f $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.{a,la}
243 # man3 pages have too common base names to be included
244 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
245 rm -rf $RPM_BUILD_ROOT%{_docdir}/libcucul-dev
247 cd $RPM_BUILD_ROOT%{_libdir}
248 for i in libcaca*.so.*.*.*; do
249 ln -sf $i $(echo $i |sed 's/caca/cucul/')
251 ln -sf libcaca.a $RPM_BUILD_ROOT%{_libdir}/libcucul.a
252 ln -sf libcaca.la $RPM_BUILD_ROOT%{_libdir}/libcucul.la
253 ln -sf libcaca.so $RPM_BUILD_ROOT%{_libdir}/libcucul.so
254 ln -sf libcaca.so.0 $RPM_BUILD_ROOT%{_libdir}/libcucul.so.0
255 ln -sf libcaca++.a $RPM_BUILD_ROOT%{_libdir}/libcucul++.a
256 ln -sf libcaca++.la $RPM_BUILD_ROOT%{_libdir}/libcucul++.la
257 ln -sf libcaca++.so $RPM_BUILD_ROOT%{_libdir}/libcucul++.so
258 ln -sf libcaca++.so.0 $RPM_BUILD_ROOT%{_libdir}/libcucul++.so.0
259 ln -sf caca-sharp $RPM_BUILD_ROOT%{_libdir}/cucul-sharp
260 ln -sf caca++.h $RPM_BUILD_ROOT%{_includedir}/cucul++.h
261 ln -sf caca_types.h $RPM_BUILD_ROOT%{_includedir}/cucul_types.h
262 #ln -sf caca_types++.h $RPM_BUILD_ROOT%{_includedir}/cucul_types++.h
263 ln -sf caca.so $RPM_BUILD_ROOT%{ruby_sitearchdir}/cucul.so
266 rm -rf $RPM_BUILD_ROOT
268 %post -p /sbin/ldconfig
269 %postun -p /sbin/ldconfig
271 %post c++ -p /sbin/ldconfig
272 %postun c++ -p /sbin/ldconfig
275 %defattr(644,root,root,755)
276 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
277 %attr(755,root,root) %{_bindir}/cacademo
278 %attr(755,root,root) %{_bindir}/cacafire
279 %attr(755,root,root) %{_bindir}/cacaplay
280 %attr(755,root,root) %{_bindir}/cacaserver
281 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
282 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
283 %attr(755,root,root) %{_libdir}/libcucul.so.*.*.*
284 %attr(755,root,root) %ghost %{_libdir}/libcucul.so.0
287 %{_mandir}/man1/cacademo.1*
288 %{_mandir}/man1/cacafire.1*
289 %{_mandir}/man1/cacaplay.1*
290 %{_mandir}/man1/cacaserver.1*
293 %defattr(644,root,root,755)
294 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
297 %defattr(644,root,root,755)
298 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
301 %defattr(644,root,root,755)
302 %attr(755,root,root) %{_bindir}/cacaview
303 %attr(755,root,root) %{_bindir}/img2txt
304 %{_mandir}/man1/cacaview.1*
305 %{_mandir}/man1/img2txt.1*
308 %defattr(644,root,root,755)
310 %attr(755,root,root) %{_bindir}/caca-config
311 %attr(755,root,root) %{_libdir}/libcaca.so
312 %attr(755,root,root) %{_libdir}/libcucul.so
313 %{_libdir}/libcaca.la
314 %{_libdir}/libcucul.la
315 %{_includedir}/caca.h
316 %{_includedir}/caca0.h
317 %{_includedir}/caca_types.h
318 %{_includedir}/cucul.h
319 %{_includedir}/cucul_types.h
320 %{_pkgconfigdir}/caca.pc
321 %{_pkgconfigdir}/cucul.pc
322 %{_mandir}/man1/caca-config.1*
323 # man3 pages have too common base names to be included
326 %defattr(644,root,root,755)
328 %{_libdir}/libcucul.a
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
333 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
334 %attr(755,root,root) %{_libdir}/libcucul++.so.*.*.*
335 %attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/libcaca++.so
340 %attr(755,root,root) %{_libdir}/libcucul++.so
341 %{_libdir}/libcaca++.la
342 %{_libdir}/libcucul++.la
343 %{_includedir}/caca++.h
344 %{_includedir}/cucul++.h
345 %{_pkgconfigdir}/caca++.pc
346 %{_pkgconfigdir}/cucul++.pc
349 %defattr(644,root,root,755)
350 %{_libdir}/libcaca++.a
351 %{_libdir}/libcucul++.a
354 %files -n dotnet-caca-sharp
355 %defattr(644,root,root,755)
356 %{_libdir}/caca-sharp
357 %{_libdir}/cucul-sharp
361 %defattr(644,root,root,755)
362 %{ruby_sitelibdir}/caca.rb
363 %attr(755,root,root) %{ruby_sitearchdir}/caca.so
364 %attr(755,root,root) %{ruby_sitearchdir}/cucul.so