3 %bcond_without dotnet # C#/Mono binding
4 %bcond_without java # Java binding
5 %bcond_without ruby # Ruby binding
6 %bcond_without python # Python binding
8 %ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
17 Summary: Graphics library that outputs text instead of pixels
18 Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli
21 Release: 0.%{subver}.%{rel}
24 Source0: http://caca.zoy.org/raw-attachment/wiki/libcaca/%{name}-%{version}.%{subver}.tar.gz
25 # Source0-md5: a3d4441cdef488099f4a92f4c6c1da00
26 Patch0: %{name}-monodir.patch
27 Patch1: ruby-vendordir.patch
28 URL: http://caca.zoy.org/
29 BuildRequires: OpenGL-devel
30 BuildRequires: autoconf >= 2.50
31 BuildRequires: automake
32 BuildRequires: doxygen
33 BuildRequires: freeglut-devel >= 2.0.0
35 #BuildRequires: ftgl-devel >= 2.1.3
36 BuildRequires: imlib2-devel
37 BuildRequires: libstdc++-devel
38 BuildRequires: libtool >= 2:1.5
39 BuildRequires: pkgconfig
40 BuildRequires: rpmbuild(macros) >= 1.533
41 BuildRequires: rpmbuild(monoautodeps)
42 BuildRequires: sed >= 4.0
43 BuildRequires: slang-devel >= 2.0.0
44 #BuildRequires: texlive-fonts-jknappen
45 #BuildRequires: texlive-format-pdflatex
46 #BuildRequires: texlive-latex-ams
47 #BuildRequires: texlive-makeindex
48 BuildRequires: xorg-lib-libX11-devel
49 BuildRequires: zlib-devel
51 BuildRequires: mono-csharp
55 BuildRequires: rpm-javaprov
56 # org_zoy_caca_Attribute.c:14:18: fatal error: caca.h: No such file or directory
57 BuildRequires: libcaca-devel
60 BuildRequires: python-devel >= 2.2
61 BuildRequires: rpm-pythonprov
64 BuildRequires: rpm-rubyprov
65 BuildRequires: ruby-devel
67 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
69 %define specflags -fomit-frame-pointer
72 The libcaca library is a graphics library that outputs text instead of
73 pixels, so that it can work on older video cards or text terminals. It
74 is not unlike the famous AAlib library.
76 The differences with AAlib are the following:
77 - 16 available colours for character output (256 colour pairs)
78 - dithering of colour images
79 - basic sprite primitives
81 But libcaca also has the following limitations:
82 - no support for brightness, contrast, gamma
83 - unefficient character-choosing algorithms
84 - no raw keyboard support
86 %description -l pl.UTF-8
87 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
88 pikseli, dzięki czemu może działać na starszych kartach graficznych
89 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
92 Różnice w stosunku do AAlib są następujące:
93 - 16 dostępnych kolorów dla znaków (256 par kolorów)
94 - dithering kolorowych obrazów
95 - proste kształty duszków (sprites)
97 Ale libcaca ma także następujące ograniczenia:
98 - brak obsługi jasności, kontrastu, korekcji gamma
99 - mało wydajne algorytmy wyboru znaków
100 - brak obsługi klawiatury w trybie surowym
103 Summary: GL plugin for libcaca library
104 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
106 Requires: %{name} = %{version}-%{release}
107 Requires: freeglut >= 2.0.0
109 %description plugin-GL
110 GL plugin for libcaca library.
112 %description plugin-GL -l pl.UTF-8
113 Wtyczka GL dla biblioteki libcaca.
116 Summary: X11 plugin for libcaca library
117 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
119 Requires: %{name} = %{version}-%{release}
121 %description plugin-X11
122 X11 plugin for libcaca library.
124 %description plugin-X11 -l pl.UTF-8
125 Wtyczka X11 dla biblioteki libcaca.
128 Summary: libcaca-based image viewer and converter
129 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
130 Group: Applications/Graphics
133 libcaca-based image viewer and converter. They use imlib2 to load
136 %description img -l pl.UTF-8
137 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
138 obrazków używają biblioteki imlib2.
141 Summary: Header files for libcaca library
142 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
143 Group: Development/Libraries
144 Requires: %{name} = %{version}-%{release}
145 Requires: slang-devel >= 2.0.0
148 Header files for libcaca library.
150 %description devel -l pl.UTF-8
151 Pliki nagłówkowe biblioteki libcaca.
154 Summary: Static libcaca library
155 Summary(pl.UTF-8): Statyczna biblioteka libcaca
156 Group: Development/Libraries
157 Requires: %{name}-devel = %{version}-%{release}
160 Static libcaca library.
162 %description static -l pl.UTF-8
163 Statyczna biblioteka libcaca.
166 Summary: C++ bindings for libcaca
167 Summary(pl.UTF-8): Wiązania C++ do libcaca
169 Requires: %{name} = %{version}-%{release}
172 C++ bindings for libcaca.
174 %description c++ -l pl.UTF-8
175 Wiązania C++ do libcaca.
178 Summary: C++ bindings for libcaca - header files
179 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
180 Group: Development/Libraries
181 Requires: %{name}-c++ = %{version}-%{release}
182 Requires: %{name}-devel = %{version}-%{release}
183 Requires: libstdc++-devel
185 %description c++-devel
186 C++ bindings for libcaca - header files.
188 %description c++-devel -l pl.UTF-8
189 Wiązania C++ do libcaca - pliki nagłówkowe.
192 Summary: C++ bindings for libcaca - static libraries
193 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
194 Group: Development/Libraries
195 Requires: %{name}-c++-devel = %{version}-%{release}
197 %description c++-static
198 C++ bindings for libcaca - static libraries.
200 %description c++-static -l pl.UTF-8
201 Wiązania C++ do libcaca - biblioteki statyczne.
203 %package -n dotnet-caca-sharp
204 Summary: C# bindings for libcaca
205 Summary(pl.UTF-8): Wiązania C# do libcaca
207 Requires: %{name} = %{version}-%{release}
210 %description -n dotnet-caca-sharp
211 C# bindings for libcaca.
213 %description -n dotnet-caca-sharp -l pl.UTF-8
214 Wiązania C# do libcaca.
216 %package -n java-caca
217 Summary: Java bindings for libcaca
218 Summary(pl.UTF-8): Wiązania Javy do libcaca
219 Group: Libraries/Java
220 Requires: %{name} = %{version}-%{release}
223 %description -n java-caca
224 Java bindings for libcaca.
226 %description -n java-caca -l pl.UTF-8
227 Wiązania Javy do libcaca.
229 %package -n python-caca
230 Summary: Python bindings for libcaca
231 Summary(pl.UTF-8): Wiązania Pythona do libcaca
232 Group: Development/Languages/Python
233 Requires: %{name} = %{version}-%{release}
235 Requires: python-modules
237 %description -n python-caca
238 Python bindings for libcaca.
240 %description -n python-caca -l pl.UTF-8
241 Wiązania Pythona do libcaca.
243 %package -n ruby-caca
244 Summary: Ruby bindings for libcaca
245 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
246 Group: Development/Languages
247 Requires: %{name} = %{version}-%{release}
249 %description -n ruby-caca
250 Ruby bindings for libcaca.
252 %description -n ruby-caca -l pl.UTF-8
253 Wiązania języka Ruby do libcaca.
256 %setup -q -n %{name}-%{version}.%{subver}
266 # NOTE: ncurses driver builds, but there's no color when linked against
267 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
268 # NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
269 # KPSEWHICH hack to disable PDF documentation.
271 KPSEWHICH=/nonexisting \
272 %{?with_dotnet:CSC=/usr/bin/dmcs} \
273 --enable-csharp%{!?with_dotnet:=no} \
276 --enable-java%{!?with_java:=no} \
282 # --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
283 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
284 %{__make} %{?with_java:-j1} \
285 CLASSPATH=$(pwd)/java \
291 rm -rf $RPM_BUILD_ROOT
294 DESTDIR=$RPM_BUILD_ROOT \
297 # replace symlink by groff include
298 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
299 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
302 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
303 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.la
305 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca-java.la
307 # man3 pages have too common base names to be included
308 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
309 # packaged as %doc in -devel
310 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
315 rm -rf $RPM_BUILD_ROOT
317 %post -p /sbin/ldconfig
318 %postun -p /sbin/ldconfig
320 %post c++ -p /sbin/ldconfig
321 %postun c++ -p /sbin/ldconfig
323 %post -n java-caca -p /sbin/ldconfig
324 %postun -n java-caca -p /sbin/ldconfig
327 %defattr(644,root,root,755)
328 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
329 %attr(755,root,root) %{_bindir}/cacaclock
330 %attr(755,root,root) %{_bindir}/cacademo
331 %attr(755,root,root) %{_bindir}/cacafire
332 %attr(755,root,root) %{_bindir}/cacaplay
333 %attr(755,root,root) %{_bindir}/cacaserver
334 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
335 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
338 %{_mandir}/man1/cacademo.1*
339 %{_mandir}/man1/cacafire.1*
340 %{_mandir}/man1/cacaplay.1*
341 %{_mandir}/man1/cacaserver.1*
344 %defattr(644,root,root,755)
345 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
348 %defattr(644,root,root,755)
349 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_bindir}/cacaview
354 %attr(755,root,root) %{_bindir}/img2txt
355 %{_mandir}/man1/cacaview.1*
356 %{_mandir}/man1/img2txt.1*
359 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_bindir}/caca-config
362 %attr(755,root,root) %{_libdir}/libcaca.so
363 %{_libdir}/libcaca.la
364 %{_includedir}/caca.h
365 %{_includedir}/caca0.h
366 %{_includedir}/caca_conio.h
367 %{_includedir}/caca_types.h
368 %{_pkgconfigdir}/caca.pc
369 %{_mandir}/man1/caca-config.1*
370 # man3 pages have too common base names to be included
373 %defattr(644,root,root,755)
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
379 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_libdir}/libcaca++.so
384 %{_libdir}/libcaca++.la
385 %{_includedir}/caca++.h
386 %{_pkgconfigdir}/caca++.pc
389 %defattr(644,root,root,755)
390 %{_libdir}/libcaca++.a
393 %files -n dotnet-caca-sharp
394 %defattr(644,root,root,755)
395 %{_prefix}/lib/mono/caca-sharp-0.0
396 %{_prefix}/lib/mono/gac/caca-sharp
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
403 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
404 %attr(755,root,root) %{_libdir}/libcaca-java.so
405 %{_javadir}/libjava.jar
408 %files -n python-caca
409 %defattr(644,root,root,755)
410 %dir %{py_sitescriptdir}/caca
411 %{py_sitescriptdir}/caca/*.py[co]
414 %defattr(644,root,root,755)
415 %{ruby_vendorlibdir}/caca.rb
416 %attr(755,root,root) %{ruby_vendorarchdir}/caca.so