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}.2
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: pkgconfig
35 BuildRequires: rpmbuild(macros) >= 1.533
36 BuildRequires: rpmbuild(monoautodeps)
37 BuildRequires: ruby-devel
38 BuildRequires: sed >= 4.0
39 BuildRequires: slang-devel >= 2.0.0
40 # shouldn't these be in doxygen requirements?
41 BuildRequires: tetex-fonts-jknappen
42 BuildRequires: tetex-makeindex
43 BuildRequires: tetex-metafont
44 BuildRequires: xorg-lib-libX11-devel
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 %define specflags -fomit-frame-pointer
50 The libcaca library is a graphics library that outputs text instead of
51 pixels, so that it can work on older video cards or text terminals. It
52 is not unlike the famous AAlib library.
54 The differences with AAlib are the following:
55 - 16 available colours for character output (256 colour pairs)
56 - dithering of colour images
57 - basic sprite primitives
59 But libcaca also has the following limitations:
60 - no support for brightness, contrast, gamma
61 - unefficient character-choosing algorithms
62 - no raw keyboard support
64 %description -l pl.UTF-8
65 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
66 pikseli, dzięki czemu może działać na starszych kartach graficznych
67 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
70 Różnice w stosunku do AAlib są następujące:
71 - 16 dostępnych kolorów dla znaków (256 par kolorów)
72 - dithering kolorowych obrazów
73 - proste kształty duszków (sprites)
75 Ale libcaca ma także następujące ograniczenia:
76 - brak obsługi jasności, kontrastu, korekcji gamma
77 - mało wydajne algorytmy wyboru znaków
78 - brak obsługi klawiatury w trybie surowym
81 Summary: GL plugin for libcaca library
82 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
84 Requires: %{name} = %{version}-%{release}
85 Requires: freeglut >= 2.0.0
87 %description plugin-GL
88 GL plugin for libcaca library.
90 %description plugin-GL -l pl.UTF-8
91 Wtyczka GL dla biblioteki libcaca.
94 Summary: X11 plugin for libcaca library
95 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
97 Requires: %{name} = %{version}-%{release}
99 %description plugin-X11
100 X11 plugin for libcaca library.
102 %description plugin-X11 -l pl.UTF-8
103 Wtyczka X11 dla biblioteki libcaca.
106 Summary: libcaca-based image viewer and converter
107 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
108 Group: Applications/Graphics
111 libcaca-based image viewer and converter. They use imlib2 to load
114 %description img -l pl.UTF-8
115 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
116 obrazków używają biblioteki imlib2.
119 Summary: Header files for libcaca library
120 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
121 Group: Development/Libraries
122 Requires: %{name} = %{version}-%{release}
123 Requires: slang-devel >= 2.0.0
126 Header files for libcaca library.
128 %description devel -l pl.UTF-8
129 Pliki nagłówkowe biblioteki libcaca.
132 Summary: Static libcaca library
133 Summary(pl.UTF-8): Statyczna biblioteka libcaca
134 Group: Development/Libraries
135 Requires: %{name}-devel = %{version}-%{release}
138 Static libcaca library.
140 %description static -l pl.UTF-8
141 Statyczna biblioteka libcaca.
144 Summary: C++ bindings for libcaca
145 Summary(pl.UTF-8): Wiązania C++ do libcaca
147 Requires: %{name} = %{version}-%{release}
150 C++ bindings for libcaca.
152 %description c++ -l pl.UTF-8
153 Wiązania C++ do libcaca.
156 Summary: C++ bindings for libcaca - header files
157 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
158 Group: Development/Libraries
159 Requires: %{name}-c++ = %{version}-%{release}
160 Requires: %{name}-devel = %{version}-%{release}
161 Requires: libstdc++-devel
163 %description c++-devel
164 C++ bindings for libcaca - header files.
166 %description c++-devel -l pl.UTF-8
167 Wiązania C++ do libcaca - pliki nagłówkowe.
170 Summary: C++ bindings for libcaca - static libraries
171 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
172 Group: Development/Libraries
173 Requires: %{name}-c++-devel = %{version}-%{release}
175 %description c++-static
176 C++ bindings for libcaca - static libraries.
178 %description c++-static -l pl.UTF-8
179 Wiązania C++ do libcaca - biblioteki statyczne.
181 %package -n dotnet-caca-sharp
182 Summary: C# bindings for libcaca
183 Summary(pl.UTF-8): Wiązania C# do libcaca
185 Requires: %{name} = %{version}-%{release}
188 %description -n dotnet-caca-sharp
189 C# bindings for libcaca.
191 %description -n dotnet-caca-sharp -l pl.UTF-8
192 Wiązania C# do libcaca.
194 %package -n ruby-caca
195 Summary: Ruby bindings for libcaca
196 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
197 Group: Development/Languages
198 Requires: %{name} = %{version}-%{release}
199 %{?ruby_ver_requires_eq}
201 %description -n ruby-caca
202 Ruby bindings for libcaca.
204 %description -n ruby-caca -l pl.UTF-8
205 Wiązania języka Ruby do libcaca.
208 %setup -q -n %{name}-%{version}.%{subver}
218 # NOTE: ncurses driver builds, but there's no color when linked against
219 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
222 --%{!?with_dotnet:dis}%{?with_dotnet:en}able-csharp \
230 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
235 rm -rf $RPM_BUILD_ROOT
238 DESTDIR=$RPM_BUILD_ROOT
240 # replace symlink by groff include
241 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
242 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
244 rm -f $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
245 rm -f $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.{a,la}
246 # man3 pages have too common base names to be included
247 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
248 rm -rf $RPM_BUILD_ROOT%{_docdir}/libcucul-dev
250 cd $RPM_BUILD_ROOT%{_libdir}
251 for i in libcaca*.so.*.*.*; do
252 ln -sf $i $(echo $i |sed 's/caca/cucul/')
254 ln -sf libcaca.a $RPM_BUILD_ROOT%{_libdir}/libcucul.a
255 ln -sf libcaca.la $RPM_BUILD_ROOT%{_libdir}/libcucul.la
256 ln -sf libcaca.so $RPM_BUILD_ROOT%{_libdir}/libcucul.so
257 ln -sf libcaca.so.0 $RPM_BUILD_ROOT%{_libdir}/libcucul.so.0
258 ln -sf libcaca++.a $RPM_BUILD_ROOT%{_libdir}/libcucul++.a
259 ln -sf libcaca++.la $RPM_BUILD_ROOT%{_libdir}/libcucul++.la
260 ln -sf libcaca++.so $RPM_BUILD_ROOT%{_libdir}/libcucul++.so
261 ln -sf libcaca++.so.0 $RPM_BUILD_ROOT%{_libdir}/libcucul++.so.0
262 ln -sf caca-sharp $RPM_BUILD_ROOT%{_libdir}/cucul-sharp
263 ln -sf caca++.h $RPM_BUILD_ROOT%{_includedir}/cucul++.h
264 ln -sf caca_types.h $RPM_BUILD_ROOT%{_includedir}/cucul_types.h
265 #ln -sf caca_types++.h $RPM_BUILD_ROOT%{_includedir}/cucul_types++.h
266 ln -sf caca.so $RPM_BUILD_ROOT%{ruby_sitearchdir}/cucul.so
269 rm -rf $RPM_BUILD_ROOT
271 %post -p /sbin/ldconfig
272 %postun -p /sbin/ldconfig
274 %post c++ -p /sbin/ldconfig
275 %postun c++ -p /sbin/ldconfig
278 %defattr(644,root,root,755)
279 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
280 %attr(755,root,root) %{_bindir}/cacademo
281 %attr(755,root,root) %{_bindir}/cacafire
282 %attr(755,root,root) %{_bindir}/cacaplay
283 %attr(755,root,root) %{_bindir}/cacaserver
284 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
285 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
286 %attr(755,root,root) %{_libdir}/libcucul.so.*.*.*
287 %attr(755,root,root) %ghost %{_libdir}/libcucul.so.0
290 %{_mandir}/man1/cacademo.1*
291 %{_mandir}/man1/cacafire.1*
292 %{_mandir}/man1/cacaplay.1*
293 %{_mandir}/man1/cacaserver.1*
296 %defattr(644,root,root,755)
297 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
300 %defattr(644,root,root,755)
301 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
304 %defattr(644,root,root,755)
305 %attr(755,root,root) %{_bindir}/cacaview
306 %attr(755,root,root) %{_bindir}/img2txt
307 %{_mandir}/man1/cacaview.1*
308 %{_mandir}/man1/img2txt.1*
311 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_bindir}/caca-config
314 %attr(755,root,root) %{_libdir}/libcaca.so
315 %attr(755,root,root) %{_libdir}/libcucul.so
316 %{_libdir}/libcaca.la
317 %{_libdir}/libcucul.la
318 %{_includedir}/caca.h
319 %{_includedir}/caca0.h
320 %{_includedir}/caca_types.h
321 %{_includedir}/cucul.h
322 %{_includedir}/cucul_types.h
323 %{_pkgconfigdir}/caca.pc
324 %{_pkgconfigdir}/cucul.pc
325 %{_mandir}/man1/caca-config.1*
326 # man3 pages have too common base names to be included
329 %defattr(644,root,root,755)
331 %{_libdir}/libcucul.a
334 %defattr(644,root,root,755)
335 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
336 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
337 %attr(755,root,root) %{_libdir}/libcucul++.so.*.*.*
338 %attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0
341 %defattr(644,root,root,755)
342 %attr(755,root,root) %{_libdir}/libcaca++.so
343 %attr(755,root,root) %{_libdir}/libcucul++.so
344 %{_libdir}/libcaca++.la
345 %{_libdir}/libcucul++.la
346 %{_includedir}/caca++.h
347 %{_includedir}/cucul++.h
348 %{_pkgconfigdir}/caca++.pc
349 %{_pkgconfigdir}/cucul++.pc
352 %defattr(644,root,root,755)
353 %{_libdir}/libcaca++.a
354 %{_libdir}/libcucul++.a
357 %files -n dotnet-caca-sharp
358 %defattr(644,root,root,755)
359 %{_libdir}/caca-sharp
360 %{_libdir}/cucul-sharp
364 %defattr(644,root,root,755)
365 %{ruby_sitelibdir}/caca.rb
366 %attr(755,root,root) %{ruby_sitearchdir}/caca.so
367 %attr(755,root,root) %{ruby_sitearchdir}/cucul.so