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: sed >= 4.0
49 %{?with_slang:BuildRequires: slang-devel >= 2.0.0}
50 #BuildRequires: texlive-fonts-jknappen
51 #BuildRequires: texlive-format-pdflatex
52 #BuildRequires: texlive-latex-ams
53 #BuildRequires: texlive-makeindex
54 BuildRequires: xorg-lib-libX11-devel
55 BuildRequires: zlib-devel
57 BuildRequires: mono-csharp
61 BuildRequires: rpm-javaprov
62 # org_zoy_caca_Attribute.c:14:18: fatal error: caca.h: No such file or directory
63 BuildRequires: libcaca-devel
66 BuildRequires: python-devel >= 2.2
67 BuildRequires: rpm-pythonprov
70 BuildRequires: rpm-rubyprov
71 BuildRequires: ruby-devel
73 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75 %define specflags -fomit-frame-pointer
78 The libcaca library is a graphics library that outputs text instead of
79 pixels, so that it can work on older video cards or text terminals. It
80 is not unlike the famous AAlib library.
82 The differences with AAlib are the following:
83 - 16 available colours for character output (256 colour pairs)
84 - dithering of colour images
85 - basic sprite primitives
87 But libcaca also has the following limitations:
88 - no support for brightness, contrast, gamma
89 - unefficient character-choosing algorithms
90 - no raw keyboard support
92 %description -l pl.UTF-8
93 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
94 pikseli, dzięki czemu może działać na starszych kartach graficznych
95 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
98 Różnice w stosunku do AAlib są następujące:
99 - 16 dostępnych kolorów dla znaków (256 par kolorów)
100 - dithering kolorowych obrazów
101 - proste kształty duszków (sprites)
103 Ale libcaca ma także następujące ograniczenia:
104 - brak obsługi jasności, kontrastu, korekcji gamma
105 - mało wydajne algorytmy wyboru znaków
106 - brak obsługi klawiatury w trybie surowym
109 Summary: GL plugin for libcaca library
110 Summary(pl.UTF-8): Wtyczka GL dla biblioteki libcaca
112 Requires: %{name} = %{version}-%{release}
113 Requires: freeglut >= 2.0.0
115 %description plugin-GL
116 GL plugin for libcaca library.
118 %description plugin-GL -l pl.UTF-8
119 Wtyczka GL dla biblioteki libcaca.
122 Summary: X11 plugin for libcaca library
123 Summary(pl.UTF-8): Wtyczka X11 dla biblioteki libcaca
125 Requires: %{name} = %{version}-%{release}
127 %description plugin-X11
128 X11 plugin for libcaca library.
130 %description plugin-X11 -l pl.UTF-8
131 Wtyczka X11 dla biblioteki libcaca.
134 Summary: libcaca-based image viewer and converter
135 Summary(pl.UTF-8): Przeglądarka i konwerter obrazków oparte na libcaca
136 Group: Applications/Graphics
139 libcaca-based image viewer and converter. They use imlib2 to load
142 %description img -l pl.UTF-8
143 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
144 obrazków używają biblioteki imlib2.
147 Summary: Header files for libcaca library
148 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca
149 Group: Development/Libraries
150 Requires: %{name} = %{version}-%{release}
151 Requires: slang-devel >= 2.0.0
154 Header files for libcaca library.
156 %description devel -l pl.UTF-8
157 Pliki nagłówkowe biblioteki libcaca.
160 Summary: Static libcaca library
161 Summary(pl.UTF-8): Statyczna biblioteka libcaca
162 Group: Development/Libraries
163 Requires: %{name}-devel = %{version}-%{release}
166 Static libcaca library.
168 %description static -l pl.UTF-8
169 Statyczna biblioteka libcaca.
172 Summary: C++ bindings for libcaca
173 Summary(pl.UTF-8): Wiązania C++ do libcaca
175 Requires: %{name} = %{version}-%{release}
178 C++ bindings for libcaca.
180 %description c++ -l pl.UTF-8
181 Wiązania C++ do libcaca.
184 Summary: C++ bindings for libcaca - header files
185 Summary(pl.UTF-8): Wiązania C++ do libcaca - pliki nagłówkowe
186 Group: Development/Libraries
187 Requires: %{name}-c++ = %{version}-%{release}
188 Requires: %{name}-devel = %{version}-%{release}
189 Requires: libstdc++-devel
191 %description c++-devel
192 C++ bindings for libcaca - header files.
194 %description c++-devel -l pl.UTF-8
195 Wiązania C++ do libcaca - pliki nagłówkowe.
198 Summary: C++ bindings for libcaca - static libraries
199 Summary(pl.UTF-8): Wiązania C++ do libcaca - biblioteki statyczne
200 Group: Development/Libraries
201 Requires: %{name}-c++-devel = %{version}-%{release}
203 %description c++-static
204 C++ bindings for libcaca - static libraries.
206 %description c++-static -l pl.UTF-8
207 Wiązania C++ do libcaca - biblioteki statyczne.
210 Summary: API documentation for libcaca library
211 Summary(pl.UTF-8): Dokumentacja API biblioteki libcaca
216 API documentation for libcaca library.
218 %description apidocs -l pl.UTF-8
219 Dokumentacja API biblioteki libcaca.
221 %package -n dotnet-caca-sharp
222 Summary: C# bindings for libcaca
223 Summary(pl.UTF-8): Wiązania C# do libcaca
225 Requires: %{name} = %{version}-%{release}
228 %description -n dotnet-caca-sharp
229 C# bindings for libcaca.
231 %description -n dotnet-caca-sharp -l pl.UTF-8
232 Wiązania C# do libcaca.
234 %package -n java-caca
235 Summary: Java bindings for libcaca
236 Summary(pl.UTF-8): Wiązania Javy do libcaca
237 Group: Libraries/Java
238 Requires: %{name} = %{version}-%{release}
241 %description -n java-caca
242 Java bindings for libcaca.
244 %description -n java-caca -l pl.UTF-8
245 Wiązania Javy do libcaca.
247 %package -n python-caca
248 Summary: Python bindings for libcaca
249 Summary(pl.UTF-8): Wiązania Pythona do libcaca
250 Group: Development/Languages/Python
251 Requires: %{name} = %{version}-%{release}
253 Requires: python-modules
255 %description -n python-caca
256 Python bindings for libcaca.
258 %description -n python-caca -l pl.UTF-8
259 Wiązania Pythona do libcaca.
261 %package -n ruby-caca
262 Summary: Ruby bindings for libcaca
263 Summary(pl.UTF-8): Wiązania języka Ruby do libcaca
264 Group: Development/Languages
265 Requires: %{name} = %{version}-%{release}
267 %description -n ruby-caca
268 Ruby bindings for libcaca.
270 %description -n ruby-caca -l pl.UTF-8
271 Wiązania języka Ruby do libcaca.
274 %setup -q -n %{name}-%{version}.%{subver}
286 # NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
287 # KPSEWHICH hack to disable PDF documentation.
289 %{?with_dotnet:CSC=/usr/bin/dmcs} \
290 KPSEWHICH=/nonexisting \
292 --enable-csharp%{!?with_dotnet:=no} \
295 --enable-java%{!?with_java:=no} \
296 --enable-ncurses%{!?with_ncurses:=no} \
298 --enable-slang%{!?with_slang:=no} \
301 # --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
302 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
303 %{__make} %{?with_java:-j1} \
304 CLASSPATH=$(pwd)/java \
310 rm -rf $RPM_BUILD_ROOT
313 DESTDIR=$RPM_BUILD_ROOT \
316 # replace symlink by groff include
317 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
318 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
321 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
322 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.la
323 # obsoleted by pkg-config
324 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca*.la
325 # man3 pages have too common base names to be included
326 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
327 # packaged as %doc in -devel
328 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
333 rm -rf $RPM_BUILD_ROOT
335 %post -p /sbin/ldconfig
336 %postun -p /sbin/ldconfig
338 %post c++ -p /sbin/ldconfig
339 %postun c++ -p /sbin/ldconfig
341 %post -n java-caca -p /sbin/ldconfig
342 %postun -n java-caca -p /sbin/ldconfig
345 %defattr(644,root,root,755)
346 %doc AUTHORS COPYING NEWS NOTES README THANKS
347 %attr(755,root,root) %{_bindir}/cacaclock
348 %attr(755,root,root) %{_bindir}/cacademo
349 %attr(755,root,root) %{_bindir}/cacafire
350 %attr(755,root,root) %{_bindir}/cacaplay
351 %attr(755,root,root) %{_bindir}/cacaserver
352 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
353 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
356 %{_mandir}/man1/cacademo.1*
357 %{_mandir}/man1/cacafire.1*
358 %{_mandir}/man1/cacaplay.1*
359 %{_mandir}/man1/cacaserver.1*
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
366 %defattr(644,root,root,755)
367 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
370 %defattr(644,root,root,755)
371 %attr(755,root,root) %{_bindir}/cacaview
372 %attr(755,root,root) %{_bindir}/img2txt
373 %{_mandir}/man1/cacaview.1*
374 %{_mandir}/man1/img2txt.1*
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_bindir}/caca-config
379 %attr(755,root,root) %{_libdir}/libcaca.so
380 %{_includedir}/caca.h
381 %{_includedir}/caca0.h
382 %{_includedir}/caca_conio.h
383 %{_includedir}/caca_types.h
384 %{_pkgconfigdir}/caca.pc
385 %{_mandir}/man1/caca-config.1*
386 # man3 pages have too common base names to be included
389 %defattr(644,root,root,755)
393 %defattr(644,root,root,755)
394 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
395 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
398 %defattr(644,root,root,755)
399 %attr(755,root,root) %{_libdir}/libcaca++.so
400 %{_includedir}/caca++.h
401 %{_pkgconfigdir}/caca++.pc
404 %defattr(644,root,root,755)
405 %{_libdir}/libcaca++.a
408 %defattr(644,root,root,755)
412 %files -n dotnet-caca-sharp
413 %defattr(644,root,root,755)
414 %{_prefix}/lib/mono/caca-sharp-0.0
415 %{_prefix}/lib/mono/gac/caca-sharp
420 %defattr(644,root,root,755)
421 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
422 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
423 %attr(755,root,root) %{_libdir}/libcaca-java.so
424 %{_javadir}/libjava.jar
427 %files -n python-caca
428 %defattr(644,root,root,755)
429 %dir %{py_sitescriptdir}/caca
430 %{py_sitescriptdir}/caca/*.py[co]
433 %defattr(644,root,root,755)
434 %{ruby_vendorlibdir}/caca.rb
435 %attr(755,root,root) %{ruby_vendorarchdir}/caca.so