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
7 %bcond_without ncurses # ncurses driver
8 %bcond_without slang # slang driver
10 %ifnarch %{ix86} %{x8664} alpha %{arm} hppa ia64 mips ppc s390 s390x sparc sparcv9
19 Summary: Graphics library that outputs text instead of pixels
20 Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli
23 Release: 0.%{subver}.%{rel}
26 #Source0Download: https://github.com/cacalabs/libcaca/releases
27 Source0: https://github.com/cacalabs/libcaca/releases/download/v%{version}.%{subver}/%{name}-%{version}.%{subver}.tar.bz2
28 # Source0-md5: 019c036ef038e7b5727b46f07fda739b
29 Patch0: %{name}-monodir.patch
30 Patch1: ruby-vendordir.patch
31 Patch2: %{name}-sh.patch
32 Patch3: %{name}-plugins.patch
33 URL: http://caca.zoy.org/wiki/libcaca
34 BuildRequires: OpenGL-devel
35 BuildRequires: autoconf >= 2.50
36 BuildRequires: automake
37 BuildRequires: doxygen
38 BuildRequires: freeglut-devel >= 2.0.0
40 #BuildRequires: ftgl-devel >= 2.1.3
41 BuildRequires: imlib2-devel
42 BuildRequires: libstdc++-devel
43 BuildRequires: libtool >= 2:1.5
44 %{?with_ncurses:BuildRequires: ncurses-devel >= 5}
45 BuildRequires: pkgconfig
46 BuildRequires: rpm-build >= 4.6
47 BuildRequires: rpmbuild(macros) >= 1.533
48 BuildRequires: rpmbuild(monoautodeps)
49 BuildRequires: sed >= 4.0
50 %{?with_slang:BuildRequires: slang-devel >= 2.0.0}
51 #BuildRequires: texlive-fonts-jknappen
52 #BuildRequires: texlive-format-pdflatex
53 #BuildRequires: texlive-latex-ams
54 #BuildRequires: texlive-makeindex
55 BuildRequires: xorg-lib-libX11-devel
56 BuildRequires: zlib-devel
58 BuildRequires: mono-csharp
62 BuildRequires: rpm-javaprov
63 # org_zoy_caca_Attribute.c:14:18: fatal error: caca.h: No such file or directory
64 BuildRequires: libcaca-devel
67 BuildRequires: python-devel >= 2.2
68 BuildRequires: rpm-pythonprov
71 BuildRequires: rpm-rubyprov
72 BuildRequires: ruby-devel
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 %define specflags -fomit-frame-pointer
79 The libcaca library is a graphics library that outputs text instead of
80 pixels, so that it can work on older video cards or text terminals. It
81 is not unlike the famous AAlib library.
83 The differences with AAlib are the following:
84 - 16 available colours for character output (256 colour pairs)
85 - dithering of colour images
86 - basic sprite primitives
88 But libcaca also has the following limitations:
89 - no support for brightness, contrast, gamma
90 - unefficient character-choosing algorithms
91 - no raw keyboard support
93 %description -l pl.UTF-8
94 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
95 pikseli, dzięki czemu może działać na starszych kartach graficznych
96 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
99 Różnice w stosunku do AAlib są następujące:
100 - 16 dostępnych kolorów dla znaków (256 par kolorów)
101 - dithering kolorowych obrazów
102 - proste kształty duszków (sprites)
104 Ale libcaca ma także następujące ograniczenia:
105 - brak obsługi jasności, kontrastu, korekcji gamma
106 - mało wydajne algorytmy wyboru znaków
107 - brak obsługi klawiatury w trybie surowym
110 Summary: GL plugin for libcaca library
111 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
113 Requires: %{name} = %{version}-%{release}
114 Requires: freeglut >= 2.0.0
116 %description plugin-GL
117 GL plugin for libcaca library.
119 %description plugin-GL -l pl.UTF-8
120 Wtyczka GL dla biblioteki libcaca.
123 Summary: X11 plugin for libcaca library
124 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
126 Requires: %{name} = %{version}-%{release}
128 %description plugin-X11
129 X11 plugin for libcaca library.
131 %description plugin-X11 -l pl.UTF-8
132 Wtyczka X11 dla biblioteki libcaca.
135 Summary: libcaca-based image viewer and converter
136 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
137 Group: Applications/Graphics
140 libcaca-based image viewer and converter. They use imlib2 to load
143 %description img -l pl.UTF-8
144 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
145 obrazków używają biblioteki imlib2.
148 Summary: Header files for libcaca library
149 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
150 Group: Development/Libraries
151 Requires: %{name} = %{version}-%{release}
152 Requires: slang-devel >= 2.0.0
155 Header files for libcaca library.
157 %description devel -l pl.UTF-8
158 Pliki nagłówkowe biblioteki libcaca.
161 Summary: Static libcaca library
162 Summary(pl.UTF-8): Statyczna biblioteka libcaca
163 Group: Development/Libraries
164 Requires: %{name}-devel = %{version}-%{release}
167 Static libcaca library.
169 %description static -l pl.UTF-8
170 Statyczna biblioteka libcaca.
173 Summary: C++ bindings for libcaca
174 Summary(pl.UTF-8): Wiązania C++ do libcaca
176 Requires: %{name} = %{version}-%{release}
179 C++ bindings for libcaca.
181 %description c++ -l pl.UTF-8
182 Wiązania C++ do libcaca.
185 Summary: C++ bindings for libcaca - header files
186 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
187 Group: Development/Libraries
188 Requires: %{name}-c++ = %{version}-%{release}
189 Requires: %{name}-devel = %{version}-%{release}
190 Requires: libstdc++-devel
192 %description c++-devel
193 C++ bindings for libcaca - header files.
195 %description c++-devel -l pl.UTF-8
196 Wiązania C++ do libcaca - pliki nagłówkowe.
199 Summary: C++ bindings for libcaca - static libraries
200 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
201 Group: Development/Libraries
202 Requires: %{name}-c++-devel = %{version}-%{release}
204 %description c++-static
205 C++ bindings for libcaca - static libraries.
207 %description c++-static -l pl.UTF-8
208 Wiązania C++ do libcaca - biblioteki statyczne.
211 Summary: API documentation for libcaca library
212 Summary(pl.UTF-8): Dokumentacja API biblioteki libcaca
217 API documentation for libcaca library.
219 %description apidocs -l pl.UTF-8
220 Dokumentacja API biblioteki libcaca.
222 %package -n dotnet-caca-sharp
223 Summary: C# bindings for libcaca
224 Summary(pl.UTF-8): Wiązania C# do libcaca
226 Requires: %{name} = %{version}-%{release}
229 %description -n dotnet-caca-sharp
230 C# bindings for libcaca.
232 %description -n dotnet-caca-sharp -l pl.UTF-8
233 Wiązania C# do libcaca.
235 %package -n java-caca
236 Summary: Java bindings for libcaca
237 Summary(pl.UTF-8): Wiązania Javy do libcaca
238 Group: Libraries/Java
239 Requires: %{name} = %{version}-%{release}
242 %description -n java-caca
243 Java bindings for libcaca.
245 %description -n java-caca -l pl.UTF-8
246 Wiązania Javy do libcaca.
248 %package -n python-caca
249 Summary: Python bindings for libcaca
250 Summary(pl.UTF-8): Wiązania Pythona do libcaca
251 Group: Development/Languages/Python
252 Requires: %{name} = %{version}-%{release}
254 Requires: python-modules
256 %description -n python-caca
257 Python bindings for libcaca.
259 %description -n python-caca -l pl.UTF-8
260 Wiązania Pythona do libcaca.
262 %package -n ruby-caca
263 Summary: Ruby bindings for libcaca
264 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
265 Group: Development/Languages
266 Requires: %{name} = %{version}-%{release}
268 %description -n ruby-caca
269 Ruby bindings for libcaca.
271 %description -n ruby-caca -l pl.UTF-8
272 Wiązania języka Ruby do libcaca.
275 %setup -q -n %{name}-%{version}.%{subver}
287 # NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
288 # KPSEWHICH hack to disable PDF documentation.
290 %{?with_dotnet:CSC=/usr/bin/dmcs} \
291 KPSEWHICH=/nonexisting \
293 --enable-csharp%{!?with_dotnet:=no} \
296 --enable-java%{!?with_java:=no} \
297 --enable-ncurses%{!?with_ncurses:=no} \
299 --enable-slang%{!?with_slang:=no} \
302 # --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
303 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
304 %{__make} %{?with_java:-j1} \
305 CLASSPATH=$(pwd)/java \
311 rm -rf $RPM_BUILD_ROOT
314 DESTDIR=$RPM_BUILD_ROOT \
317 # replace symlink by groff include
318 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
319 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
322 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
323 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.la
324 # obsoleted by pkg-config
325 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca*.la
326 # man3 pages have too common base names to be included
327 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
328 # packaged as %doc in -devel
329 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
334 rm -rf $RPM_BUILD_ROOT
336 %post -p /sbin/ldconfig
337 %postun -p /sbin/ldconfig
339 %post c++ -p /sbin/ldconfig
340 %postun c++ -p /sbin/ldconfig
342 %post -n java-caca -p /sbin/ldconfig
343 %postun -n java-caca -p /sbin/ldconfig
346 %defattr(644,root,root,755)
347 %doc AUTHORS COPYING NEWS NOTES README THANKS
348 %attr(755,root,root) %{_bindir}/cacaclock
349 %attr(755,root,root) %{_bindir}/cacademo
350 %attr(755,root,root) %{_bindir}/cacafire
351 %attr(755,root,root) %{_bindir}/cacaplay
352 %attr(755,root,root) %{_bindir}/cacaserver
353 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
354 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
357 %{_mandir}/man1/cacademo.1*
358 %{_mandir}/man1/cacafire.1*
359 %{_mandir}/man1/cacaplay.1*
360 %{_mandir}/man1/cacaserver.1*
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
367 %defattr(644,root,root,755)
368 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
371 %defattr(644,root,root,755)
372 %attr(755,root,root) %{_bindir}/cacaview
373 %attr(755,root,root) %{_bindir}/img2txt
374 %{_mandir}/man1/cacaview.1*
375 %{_mandir}/man1/img2txt.1*
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_bindir}/caca-config
380 %attr(755,root,root) %{_libdir}/libcaca.so
381 %{_includedir}/caca.h
382 %{_includedir}/caca0.h
383 %{_includedir}/caca_conio.h
384 %{_includedir}/caca_types.h
385 %{_pkgconfigdir}/caca.pc
386 %{_mandir}/man1/caca-config.1*
387 # man3 pages have too common base names to be included
390 %defattr(644,root,root,755)
394 %defattr(644,root,root,755)
395 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
396 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_libdir}/libcaca++.so
401 %{_includedir}/caca++.h
402 %{_pkgconfigdir}/caca++.pc
405 %defattr(644,root,root,755)
406 %{_libdir}/libcaca++.a
409 %defattr(644,root,root,755)
413 %files -n dotnet-caca-sharp
414 %defattr(644,root,root,755)
415 %{_prefix}/lib/mono/caca-sharp-0.0
416 %{_prefix}/lib/mono/gac/caca-sharp
421 %defattr(644,root,root,755)
422 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
423 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
424 %attr(755,root,root) %{_libdir}/libcaca-java.so
425 %{_javadir}/libjava.jar
428 %files -n python-caca
429 %defattr(644,root,root,755)
430 %dir %{py_sitescriptdir}/caca
431 %{py_sitescriptdir}/caca/*.py[co]
434 %defattr(644,root,root,755)
435 %{ruby_vendorlibdir}/caca.rb
436 %attr(755,root,root) %{ruby_vendorarchdir}/caca.so