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 %{?with_dotnet:%include /usr/lib/rpm/macros.mono}
18 Summary: Graphics library that outputs text instead of pixels
19 Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli
22 Release: 0.%{subver}.%{rel}
25 Source0: http://caca.zoy.org/raw-attachment/wiki/libcaca/%{name}-%{version}.%{subver}.tar.gz
26 # Source0-md5: a3d4441cdef488099f4a92f4c6c1da00
27 Patch0: %{name}-monodir.patch
28 Patch1: ruby-vendordir.patch
29 URL: http://caca.zoy.org/
30 BuildRequires: OpenGL-devel
31 BuildRequires: autoconf >= 2.50
32 BuildRequires: automake
33 BuildRequires: doxygen
34 BuildRequires: freeglut-devel >= 2.0.0
36 #BuildRequires: ftgl-devel >= 2.1.3
37 BuildRequires: imlib2-devel
38 BuildRequires: libstdc++-devel
39 BuildRequires: libtool >= 2:1.5
40 BuildRequires: pkgconfig
41 BuildRequires: rpmbuild(macros) >= 1.533
42 BuildRequires: rpmbuild(monoautodeps)
43 BuildRequires: sed >= 4.0
44 BuildRequires: slang-devel >= 2.0.0
45 #BuildRequires: texlive-fonts-jknappen
46 #BuildRequires: texlive-format-pdflatex
47 #BuildRequires: texlive-latex-ams
48 #BuildRequires: texlive-makeindex
49 BuildRequires: xorg-lib-libX11-devel
50 BuildRequires: zlib-devel
52 BuildRequires: mono-csharp
56 BuildRequires: rpm-javaprov
57 # org_zoy_caca_Attribute.c:14:18: fatal error: caca.h: No such file or directory
58 BuildRequires: libcaca-devel
61 BuildRequires: python-devel >= 2.2
62 BuildRequires: rpm-pythonprov
65 BuildRequires: rpm-rubyprov
66 BuildRequires: ruby-devel
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70 %define specflags -fomit-frame-pointer
73 The libcaca library is a graphics library that outputs text instead of
74 pixels, so that it can work on older video cards or text terminals. It
75 is not unlike the famous AAlib library.
77 The differences with AAlib are the following:
78 - 16 available colours for character output (256 colour pairs)
79 - dithering of colour images
80 - basic sprite primitives
82 But libcaca also has the following limitations:
83 - no support for brightness, contrast, gamma
84 - unefficient character-choosing algorithms
85 - no raw keyboard support
87 %description -l pl.UTF-8
88 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
89 pikseli, dzięki czemu może działać na starszych kartach graficznych
90 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
93 Różnice w stosunku do AAlib są następujące:
94 - 16 dostępnych kolorów dla znaków (256 par kolorów)
95 - dithering kolorowych obrazów
96 - proste kształty duszków (sprites)
98 Ale libcaca ma także następujące ograniczenia:
99 - brak obsługi jasności, kontrastu, korekcji gamma
100 - mało wydajne algorytmy wyboru znaków
101 - brak obsługi klawiatury w trybie surowym
104 Summary: GL plugin for libcaca library
105 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
107 Requires: %{name} = %{version}-%{release}
108 Requires: freeglut >= 2.0.0
110 %description plugin-GL
111 GL plugin for libcaca library.
113 %description plugin-GL -l pl.UTF-8
114 Wtyczka GL dla biblioteki libcaca.
117 Summary: X11 plugin for libcaca library
118 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
120 Requires: %{name} = %{version}-%{release}
122 %description plugin-X11
123 X11 plugin for libcaca library.
125 %description plugin-X11 -l pl.UTF-8
126 Wtyczka X11 dla biblioteki libcaca.
129 Summary: libcaca-based image viewer and converter
130 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
131 Group: Applications/Graphics
134 libcaca-based image viewer and converter. They use imlib2 to load
137 %description img -l pl.UTF-8
138 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
139 obrazków używają biblioteki imlib2.
142 Summary: Header files for libcaca library
143 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
144 Group: Development/Libraries
145 Requires: %{name} = %{version}-%{release}
146 Requires: slang-devel >= 2.0.0
149 Header files for libcaca library.
151 %description devel -l pl.UTF-8
152 Pliki nagłówkowe biblioteki libcaca.
155 Summary: Static libcaca library
156 Summary(pl.UTF-8): Statyczna biblioteka libcaca
157 Group: Development/Libraries
158 Requires: %{name}-devel = %{version}-%{release}
161 Static libcaca library.
163 %description static -l pl.UTF-8
164 Statyczna biblioteka libcaca.
167 Summary: C++ bindings for libcaca
168 Summary(pl.UTF-8): Wiązania C++ do libcaca
170 Requires: %{name} = %{version}-%{release}
173 C++ bindings for libcaca.
175 %description c++ -l pl.UTF-8
176 Wiązania C++ do libcaca.
179 Summary: C++ bindings for libcaca - header files
180 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
181 Group: Development/Libraries
182 Requires: %{name}-c++ = %{version}-%{release}
183 Requires: %{name}-devel = %{version}-%{release}
184 Requires: libstdc++-devel
186 %description c++-devel
187 C++ bindings for libcaca - header files.
189 %description c++-devel -l pl.UTF-8
190 Wiązania C++ do libcaca - pliki nagłówkowe.
193 Summary: C++ bindings for libcaca - static libraries
194 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
195 Group: Development/Libraries
196 Requires: %{name}-c++-devel = %{version}-%{release}
198 %description c++-static
199 C++ bindings for libcaca - static libraries.
201 %description c++-static -l pl.UTF-8
202 Wiązania C++ do libcaca - biblioteki statyczne.
204 %package -n dotnet-caca-sharp
205 Summary: C# bindings for libcaca
206 Summary(pl.UTF-8): Wiązania C# do libcaca
208 Requires: %{name} = %{version}-%{release}
211 %description -n dotnet-caca-sharp
212 C# bindings for libcaca.
214 %description -n dotnet-caca-sharp -l pl.UTF-8
215 Wiązania C# do libcaca.
217 %package -n java-caca
218 Summary: Java bindings for libcaca
219 Summary(pl.UTF-8): Wiązania Javy do libcaca
220 Group: Libraries/Java
221 Requires: %{name} = %{version}-%{release}
224 %description -n java-caca
225 Java bindings for libcaca.
227 %description -n java-caca -l pl.UTF-8
228 Wiązania Javy do libcaca.
230 %package -n python-caca
231 Summary: Python bindings for libcaca
232 Summary(pl.UTF-8): Wiązania Pythona do libcaca
233 Group: Development/Languages/Python
234 Requires: %{name} = %{version}-%{release}
236 Requires: python-modules
238 %description -n python-caca
239 Python bindings for libcaca.
241 %description -n python-caca -l pl.UTF-8
242 Wiązania Pythona do libcaca.
244 %package -n ruby-caca
245 Summary: Ruby bindings for libcaca
246 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
247 Group: Development/Languages
248 Requires: %{name} = %{version}-%{release}
250 %description -n ruby-caca
251 Ruby bindings for libcaca.
253 %description -n ruby-caca -l pl.UTF-8
254 Wiązania języka Ruby do libcaca.
257 %setup -q -n %{name}-%{version}.%{subver}
267 # NOTE: ncurses driver builds, but there's no color when linked against
268 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
269 # NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
270 # KPSEWHICH hack to disable PDF documentation.
272 KPSEWHICH=/nonexisting \
273 %{?with_dotnet:CSC=/usr/bin/dmcs} \
274 --enable-csharp%{!?with_dotnet:=no} \
277 --enable-java%{!?with_java:=no} \
283 # --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
284 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
285 %{__make} %{?with_java:-j1} \
286 CLASSPATH=$(pwd)/java \
292 rm -rf $RPM_BUILD_ROOT
295 DESTDIR=$RPM_BUILD_ROOT \
298 # replace symlink by groff include
299 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
300 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
303 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
304 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.la
306 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca-java.la
308 # man3 pages have too common base names to be included
309 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
310 # packaged as %doc in -devel
311 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
316 rm -rf $RPM_BUILD_ROOT
318 %post -p /sbin/ldconfig
319 %postun -p /sbin/ldconfig
321 %post c++ -p /sbin/ldconfig
322 %postun c++ -p /sbin/ldconfig
324 %post -n java-caca -p /sbin/ldconfig
325 %postun -n java-caca -p /sbin/ldconfig
328 %defattr(644,root,root,755)
329 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
330 %attr(755,root,root) %{_bindir}/cacaclock
331 %attr(755,root,root) %{_bindir}/cacademo
332 %attr(755,root,root) %{_bindir}/cacafire
333 %attr(755,root,root) %{_bindir}/cacaplay
334 %attr(755,root,root) %{_bindir}/cacaserver
335 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
336 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
339 %{_mandir}/man1/cacademo.1*
340 %{_mandir}/man1/cacafire.1*
341 %{_mandir}/man1/cacaplay.1*
342 %{_mandir}/man1/cacaserver.1*
345 %defattr(644,root,root,755)
346 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_bindir}/cacaview
355 %attr(755,root,root) %{_bindir}/img2txt
356 %{_mandir}/man1/cacaview.1*
357 %{_mandir}/man1/img2txt.1*
360 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_bindir}/caca-config
363 %attr(755,root,root) %{_libdir}/libcaca.so
364 %{_libdir}/libcaca.la
365 %{_includedir}/caca.h
366 %{_includedir}/caca0.h
367 %{_includedir}/caca_conio.h
368 %{_includedir}/caca_types.h
369 %{_pkgconfigdir}/caca.pc
370 %{_mandir}/man1/caca-config.1*
371 # man3 pages have too common base names to be included
374 %defattr(644,root,root,755)
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{_libdir}/libcaca++.so
385 %{_libdir}/libcaca++.la
386 %{_includedir}/caca++.h
387 %{_pkgconfigdir}/caca++.pc
390 %defattr(644,root,root,755)
391 %{_libdir}/libcaca++.a
394 %files -n dotnet-caca-sharp
395 %defattr(644,root,root,755)
396 %{_prefix}/lib/mono/caca-sharp-0.0
397 %{_prefix}/lib/mono/gac/caca-sharp
402 %defattr(644,root,root,755)
403 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
404 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
405 %attr(755,root,root) %{_libdir}/libcaca-java.so
406 %{_javadir}/libjava.jar
409 %files -n python-caca
410 %defattr(644,root,root,755)
411 %dir %{py_sitescriptdir}/caca
412 %{py_sitescriptdir}/caca/*.py[co]
415 %defattr(644,root,root,755)
416 %{ruby_vendorlibdir}/caca.rb
417 %attr(755,root,root) %{ruby_vendorarchdir}/caca.so