3 %bcond_without dotnet # C#/Mono binding
4 %bcond_without java # Java binding
6 %ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
13 %{?with_dotnet:%include /usr/lib/rpm/macros.mono}
14 Summary: Graphics library that outputs text instead of pixels
15 Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli
19 Release: 0.%{subver}.1
22 Source0: http://caca.zoy.org/raw-attachment/wiki/libcaca/%{name}-%{version}.%{subver}.tar.gz
23 # Source0-md5: a3d4441cdef488099f4a92f4c6c1da00
24 Patch0: %{name}-monodir.patch
25 URL: http://caca.zoy.org/
26 BuildRequires: OpenGL-devel
27 BuildRequires: autoconf >= 2.50
28 BuildRequires: automake
29 BuildRequires: doxygen
30 BuildRequires: freeglut-devel >= 2.0.0
32 #BuildRequires: ftgl-devel >= 2.1.3
33 BuildRequires: imlib2-devel
34 %{?with_java:BuildRequires: jdk}
35 BuildRequires: libstdc++-devel
36 BuildRequires: libtool >= 2:1.5
37 %{?with_dotnet:BuildRequires: mono-csharp}
38 BuildRequires: python-devel >= 2.2
39 BuildRequires: pkgconfig
40 BuildRequires: rpmbuild(macros) >= 1.533
41 BuildRequires: rpmbuild(monoautodeps)
42 BuildRequires: ruby-devel
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-makeindex
48 #BuildRequires: texlive-latex-ams
49 BuildRequires: xorg-lib-libX11-devel
50 BuildRequires: zlib-devel
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 %define specflags -fomit-frame-pointer
56 The libcaca library is a graphics library that outputs text instead of
57 pixels, so that it can work on older video cards or text terminals. It
58 is not unlike the famous AAlib library.
60 The differences with AAlib are the following:
61 - 16 available colours for character output (256 colour pairs)
62 - dithering of colour images
63 - basic sprite primitives
65 But libcaca also has the following limitations:
66 - no support for brightness, contrast, gamma
67 - unefficient character-choosing algorithms
68 - no raw keyboard support
70 %description -l pl.UTF-8
71 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
72 pikseli, dzięki czemu może działać na starszych kartach graficznych
73 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
76 Różnice w stosunku do AAlib są następujące:
77 - 16 dostępnych kolorów dla znaków (256 par kolorów)
78 - dithering kolorowych obrazów
79 - proste kształty duszków (sprites)
81 Ale libcaca ma także następujące ograniczenia:
82 - brak obsługi jasności, kontrastu, korekcji gamma
83 - mało wydajne algorytmy wyboru znaków
84 - brak obsługi klawiatury w trybie surowym
87 Summary: GL plugin for libcaca library
88 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
90 Requires: %{name} = %{version}-%{release}
91 Requires: freeglut >= 2.0.0
93 %description plugin-GL
94 GL plugin for libcaca library.
96 %description plugin-GL -l pl.UTF-8
97 Wtyczka GL dla biblioteki libcaca.
100 Summary: X11 plugin for libcaca library
101 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
103 Requires: %{name} = %{version}-%{release}
105 %description plugin-X11
106 X11 plugin for libcaca library.
108 %description plugin-X11 -l pl.UTF-8
109 Wtyczka X11 dla biblioteki libcaca.
112 Summary: libcaca-based image viewer and converter
113 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
114 Group: Applications/Graphics
117 libcaca-based image viewer and converter. They use imlib2 to load
120 %description img -l pl.UTF-8
121 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
122 obrazków używają biblioteki imlib2.
125 Summary: Header files for libcaca library
126 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
127 Group: Development/Libraries
128 Requires: %{name} = %{version}-%{release}
129 Requires: slang-devel >= 2.0.0
132 Header files for libcaca library.
134 %description devel -l pl.UTF-8
135 Pliki nagłówkowe biblioteki libcaca.
138 Summary: Static libcaca library
139 Summary(pl.UTF-8): Statyczna biblioteka libcaca
140 Group: Development/Libraries
141 Requires: %{name}-devel = %{version}-%{release}
144 Static libcaca library.
146 %description static -l pl.UTF-8
147 Statyczna biblioteka libcaca.
150 Summary: C++ bindings for libcaca
151 Summary(pl.UTF-8): Wiązania C++ do libcaca
153 Requires: %{name} = %{version}-%{release}
156 C++ bindings for libcaca.
158 %description c++ -l pl.UTF-8
159 Wiązania C++ do libcaca.
162 Summary: C++ bindings for libcaca - header files
163 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
164 Group: Development/Libraries
165 Requires: %{name}-c++ = %{version}-%{release}
166 Requires: %{name}-devel = %{version}-%{release}
167 Requires: libstdc++-devel
169 %description c++-devel
170 C++ bindings for libcaca - header files.
172 %description c++-devel -l pl.UTF-8
173 Wiązania C++ do libcaca - pliki nagłówkowe.
176 Summary: C++ bindings for libcaca - static libraries
177 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
178 Group: Development/Libraries
179 Requires: %{name}-c++-devel = %{version}-%{release}
181 %description c++-static
182 C++ bindings for libcaca - static libraries.
184 %description c++-static -l pl.UTF-8
185 Wiązania C++ do libcaca - biblioteki statyczne.
187 %package -n dotnet-caca-sharp
188 Summary: C# bindings for libcaca
189 Summary(pl.UTF-8): Wiązania C# do libcaca
191 Requires: %{name} = %{version}-%{release}
194 %description -n dotnet-caca-sharp
195 C# bindings for libcaca.
197 %description -n dotnet-caca-sharp -l pl.UTF-8
198 Wiązania C# do libcaca.
200 %package -n java-caca
201 Summary: Java bindings for libcaca
202 Summary(pl.UTF-8): Wiązania Javy do libcaca
203 Group: Libraries/Java
204 Requires: %{name} = %{version}-%{release}
207 %description -n java-caca
208 Java bindings for libcaca.
210 %description -n java-caca -l pl.UTF-8
211 Wiązania Javy do libcaca.
213 %package -n python-caca
214 Summary: Python bindings for libcaca
215 Summary(pl.UTF-8): Wiązania Pythona do libcaca
216 Group: Development/Languages/Python
217 Requires: %{name} = %{version}-%{release}
219 Requires: python-modules
221 %description -n python-caca
222 Python bindings for libcaca.
224 %description -n python-caca -l pl.UTF-8
225 Wiązania Pythona do libcaca.
227 %package -n ruby-caca
228 Summary: Ruby bindings for libcaca
229 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
230 Group: Development/Languages
231 Requires: %{name} = %{version}-%{release}
232 %{?ruby_ver_requires_eq}
234 %description -n ruby-caca
235 Ruby bindings for libcaca.
237 %description -n ruby-caca -l pl.UTF-8
238 Wiązania języka Ruby do libcaca.
241 %setup -q -n %{name}-%{version}.%{subver}
250 # NOTE: ncurses driver builds, but there's no color when linked against
251 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
252 # NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
253 # KPSEWHICH hack to disable PDF documentation.
255 KPSEWHICH=/nonexisting \
256 --enable-csharp%{!?with_dotnet:=no} \
259 --enable-java%{!?with_java:=no} \
265 # --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
266 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
267 %{__make} %{?with_java:-j1} \
268 CLASSPATH=$(pwd)/java \
274 rm -rf $RPM_BUILD_ROOT
277 DESTDIR=$RPM_BUILD_ROOT \
280 # replace symlink by groff include
281 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
282 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
285 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
286 %{__rm} $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.la
288 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca-java.la
290 # man3 pages have too common base names to be included
291 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
292 # packaged as %doc in -devel
293 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
298 rm -rf $RPM_BUILD_ROOT
300 %post -p /sbin/ldconfig
301 %postun -p /sbin/ldconfig
303 %post c++ -p /sbin/ldconfig
304 %postun c++ -p /sbin/ldconfig
306 %post -n java-caca -p /sbin/ldconfig
307 %postun -n java-caca -p /sbin/ldconfig
310 %defattr(644,root,root,755)
311 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
312 %attr(755,root,root) %{_bindir}/cacaclock
313 %attr(755,root,root) %{_bindir}/cacademo
314 %attr(755,root,root) %{_bindir}/cacafire
315 %attr(755,root,root) %{_bindir}/cacaplay
316 %attr(755,root,root) %{_bindir}/cacaserver
317 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
318 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
321 %{_mandir}/man1/cacademo.1*
322 %{_mandir}/man1/cacafire.1*
323 %{_mandir}/man1/cacaplay.1*
324 %{_mandir}/man1/cacaserver.1*
327 %defattr(644,root,root,755)
328 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/cacaview
337 %attr(755,root,root) %{_bindir}/img2txt
338 %{_mandir}/man1/cacaview.1*
339 %{_mandir}/man1/img2txt.1*
342 %defattr(644,root,root,755)
344 %attr(755,root,root) %{_bindir}/caca-config
345 %attr(755,root,root) %{_libdir}/libcaca.so
346 %{_libdir}/libcaca.la
347 %{_includedir}/caca.h
348 %{_includedir}/caca0.h
349 %{_includedir}/caca_conio.h
350 %{_includedir}/caca_types.h
351 %{_pkgconfigdir}/caca.pc
352 %{_mandir}/man1/caca-config.1*
353 # man3 pages have too common base names to be included
356 %defattr(644,root,root,755)
360 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
362 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
365 %defattr(644,root,root,755)
366 %attr(755,root,root) %{_libdir}/libcaca++.so
367 %{_libdir}/libcaca++.la
368 %{_includedir}/caca++.h
369 %{_pkgconfigdir}/caca++.pc
372 %defattr(644,root,root,755)
373 %{_libdir}/libcaca++.a
376 %files -n dotnet-caca-sharp
377 %defattr(644,root,root,755)
378 %{_prefix}/lib/mono/caca-sharp-0.0
379 %{_prefix}/lib/mono/gac/caca-sharp
380 %{_javadir}/libjava.jar
385 %defattr(644,root,root,755)
386 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
387 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
388 %attr(755,root,root) %{_libdir}/libcaca-java.so
391 %files -n python-caca
392 %defattr(644,root,root,755)
393 %dir %{py_sitescriptdir}/caca
394 %{py_sitescriptdir}/caca/*.py[co]
397 %defattr(644,root,root,755)
398 %{ruby_sitelibdir}/caca.rb
399 %attr(755,root,root) %{ruby_sitearchdir}/caca.so