]> git.pld-linux.org Git - packages/libcaca.git/blob - libcaca.spec
- setup CLASSPATH for java compilation using icedtea
[packages/libcaca.git] / libcaca.spec
1 #
2 # Conditional build:
3 %bcond_without  dotnet          # C#/Mono binding
4 %bcond_without  java            # Java binding
5 #
6 %ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
7 %undefine       with_dotnet
8 %endif
9 %ifarch i386
10 %undefine       with_dotnet
11 %endif
12
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
16 Name:           libcaca
17 Version:        0.99
18 %define subver  beta18
19 Release:        0.%{subver}.1
20 License:        WTFPL v2
21 Group:          Libraries
22 Source0:        http://libcaca.zoy.org/files/libcaca/%{name}-%{version}.%{subver}.tar.gz
23 # Source0-md5:  93d35dbdb0527d4c94df3e9a02e865cc
24 Patch0:         install.patch
25 Patch1:         %{name}-ruby1.9.patch
26 Patch2:         %{name}-format.patch
27 URL:            http://libcaca.zoy.org/
28 BuildRequires:  OpenGL-devel
29 BuildRequires:  autoconf >= 2.50
30 BuildRequires:  automake
31 BuildRequires:  doxygen
32 BuildRequires:  freeglut-devel >= 2.0.0
33 # not used
34 #BuildRequires: ftgl-devel >= 2.1.3
35 BuildRequires:  imlib2-devel
36 %{?with_java:BuildRequires:     jdk}
37 BuildRequires:  libstdc++-devel
38 BuildRequires:  libtool >= 2:1.5
39 %{?with_dotnet:BuildRequires:   mono-csharp}
40 BuildRequires:  python-devel >= 2.2
41 BuildRequires:  pkgconfig
42 BuildRequires:  rpmbuild(macros) >= 1.533
43 BuildRequires:  rpmbuild(monoautodeps)
44 BuildRequires:  ruby-devel
45 BuildRequires:  sed >= 4.0
46 BuildRequires:  slang-devel >= 2.0.0
47 BuildRequires:  texlive-fonts-jknappen
48 BuildRequires:  texlive-format-pdflatex
49 BuildRequires:  texlive-makeindex
50 BuildRequires:  texlive-latex-ams
51 BuildRequires:  xorg-lib-libX11-devel
52 BuildRequires:  zlib-devel
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %define         specflags       -fomit-frame-pointer
56
57 %description
58 The libcaca library is a graphics library that outputs text instead of
59 pixels, so that it can work on older video cards or text terminals. It
60 is not unlike the famous AAlib library.
61
62 The differences with AAlib are the following:
63 - 16 available colours for character output (256 colour pairs)
64 - dithering of colour images
65 - basic sprite primitives
66
67 But libcaca also has the following limitations:
68 - no support for brightness, contrast, gamma
69 - unefficient character-choosing algorithms
70 - no raw keyboard support
71
72 %description -l pl.UTF-8
73 Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
74 pikseli, dzięki czemu może działać na starszych kartach graficznych
75 oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
76 biblioteki AAlib.
77
78 Różnice w stosunku do AAlib są następujące:
79 - 16 dostępnych kolorów dla znaków (256 par kolorów)
80 - dithering kolorowych obrazów
81 - proste kształty duszków (sprites)
82
83 Ale libcaca ma także następujące ograniczenia:
84 - brak obsługi jasności, kontrastu, korekcji gamma
85 - mało wydajne algorytmy wyboru znaków
86 - brak obsługi klawiatury w trybie surowym
87
88 %package plugin-GL
89 Summary:        GL plugin for libcaca library
90 Summary(pl.UTF-8):      Wtyczka GL dla biblioteki libcaca
91 Group:          Libraries
92 Requires:       %{name} = %{version}-%{release}
93 Requires:       freeglut >= 2.0.0
94
95 %description plugin-GL
96 GL plugin for libcaca library.
97
98 %description plugin-GL -l pl.UTF-8
99 Wtyczka GL dla biblioteki libcaca.
100
101 %package plugin-X11
102 Summary:        X11 plugin for libcaca library
103 Summary(pl.UTF-8):      Wtyczka X11 dla biblioteki libcaca
104 Group:          Libraries
105 Requires:       %{name} = %{version}-%{release}
106
107 %description plugin-X11
108 X11 plugin for libcaca library.
109
110 %description plugin-X11 -l pl.UTF-8
111 Wtyczka X11 dla biblioteki libcaca.
112
113 %package img
114 Summary:        libcaca-based image viewer and converter
115 Summary(pl.UTF-8):      Przeglądarka i konwerter obrazków oparte na libcaca
116 Group:          Applications/Graphics
117
118 %description img
119 libcaca-based image viewer and converter. They use imlib2 to load
120 images.
121
122 %description img -l pl.UTF-8
123 Przeglądarka i konwerter obrazków oparte na libcaca. Do wczytywania
124 obrazków używają biblioteki imlib2.
125
126 %package devel
127 Summary:        Header files for libcaca library
128 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki libcaca
129 Group:          Development/Libraries
130 Requires:       %{name} = %{version}-%{release}
131 Requires:       slang-devel >= 2.0.0
132
133 %description devel
134 Header files for libcaca library.
135
136 %description devel -l pl.UTF-8
137 Pliki nagłówkowe biblioteki libcaca.
138
139 %package static
140 Summary:        Static libcaca library
141 Summary(pl.UTF-8):      Statyczna biblioteka libcaca
142 Group:          Development/Libraries
143 Requires:       %{name}-devel = %{version}-%{release}
144
145 %description static
146 Static libcaca library.
147
148 %description static -l pl.UTF-8
149 Statyczna biblioteka libcaca.
150
151 %package c++
152 Summary:        C++ bindings for libcaca
153 Summary(pl.UTF-8):      Wiązania C++ do libcaca
154 Group:          Libraries
155 Requires:       %{name} = %{version}-%{release}
156
157 %description c++
158 C++ bindings for libcaca.
159
160 %description c++ -l pl.UTF-8
161 Wiązania C++ do libcaca.
162
163 %package c++-devel
164 Summary:        C++ bindings for libcaca - header files
165 Summary(pl.UTF-8):      Wiązania C++ do libcaca - pliki nagłówkowe
166 Group:          Development/Libraries
167 Requires:       %{name}-c++ = %{version}-%{release}
168 Requires:       %{name}-devel = %{version}-%{release}
169 Requires:       libstdc++-devel
170
171 %description c++-devel
172 C++ bindings for libcaca - header files.
173
174 %description c++-devel -l pl.UTF-8
175 Wiązania C++ do libcaca - pliki nagłówkowe.
176
177 %package c++-static
178 Summary:        C++ bindings for libcaca - static libraries
179 Summary(pl.UTF-8):      Wiązania C++ do libcaca - biblioteki statyczne
180 Group:          Development/Libraries
181 Requires:       %{name}-c++-devel = %{version}-%{release}
182
183 %description c++-static
184 C++ bindings for libcaca - static libraries.
185
186 %description c++-static -l pl.UTF-8
187 Wiązania C++ do libcaca - biblioteki statyczne.
188
189 %package -n dotnet-caca-sharp
190 Summary:        C# bindings for libcaca
191 Summary(pl.UTF-8):      Wiązania C# do libcaca
192 Group:          Libraries
193 Requires:       %{name} = %{version}-%{release}
194 Requires:       mono
195
196 %description -n dotnet-caca-sharp
197 C# bindings for libcaca.
198
199 %description -n dotnet-caca-sharp -l pl.UTF-8
200 Wiązania C# do libcaca.
201
202 %package -n java-caca
203 Summary:        Java bindings for libcaca
204 Summary(pl.UTF-8):      Wiązania Javy do libcaca
205 Group:          Libraries/Java
206 Requires:       %{name} = %{version}-%{release}
207 Requires:       jre
208
209 %description -n java-caca
210 Java bindings for libcaca.
211
212 %description -n java-caca -l pl.UTF-8
213 Wiązania Javy do libcaca.
214
215 %package -n python-caca
216 Summary:        Python bindings for libcaca
217 Summary(pl.UTF-8):      Wiązania Pythona do libcaca
218 Group:          Development/Languages/Python
219 Requires:       %{name} = %{version}-%{release}
220 # ctypes
221 Requires:       python-modules
222
223 %description -n python-caca
224 Python bindings for libcaca.
225
226 %description -n python-caca -l pl.UTF-8
227 Wiązania Pythona do libcaca.
228
229 %package -n ruby-caca
230 Summary:        Ruby bindings for libcaca
231 Summary(pl.UTF-8):      Wiązania języka Ruby do libcaca
232 Group:          Development/Languages
233 Requires:       %{name} = %{version}-%{release}
234 %{?ruby_ver_requires_eq}
235
236 %description -n ruby-caca
237 Ruby bindings for libcaca.
238
239 %description -n ruby-caca -l pl.UTF-8
240 Wiązania języka Ruby do libcaca.
241
242 %prep
243 %setup -q -n %{name}-%{version}.%{subver}
244 %undos */Makefile.am
245 %patch0 -p1
246 %patch1 -p1
247 %patch2 -p1
248
249 %build
250 %{__libtoolize}
251 %{__aclocal}
252 %{__autoconf}
253 %{__autoheader}
254 %{__automake}
255 # NOTE: ncurses driver builds, but there's no color when linked against
256 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
257 %configure \
258         --disable-ncurses \
259         --enable-csharp%{!?with_dotnet:=no} \
260         --enable-cxx \
261         --enable-gl \
262         --enable-java%{!?with_java:=no} \
263         --enable-plugins \
264         --enable-slang \
265         --enable-x11
266
267
268 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
269 %{__make} \
270         CLASSPATH=$(pwd)/java \
271         OBJC="%{__cc}" \
272         jnidir=%{_libdir}
273
274 %install
275 rm -rf $RPM_BUILD_ROOT
276
277 %{__make} install \
278         DESTDIR=$RPM_BUILD_ROOT \
279         jnidir=%{_libdir}
280
281 # replace symlink by groff include
282 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
283 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
284
285 # loadable modules
286 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
287 %{__rm} $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.la
288 %if %{with java}
289 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca-java.la
290 %endif
291 # man3 pages have too common base names to be included
292 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
293 # packaged as %doc in -devel
294 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/lib{caca,cucul}-dev
295
296 cd $RPM_BUILD_ROOT%{_libdir}
297 for i in libcaca.so.*.*.* libcaca++.so.*.*.*; do
298         ln -sf $i $(echo $i |sed 's/caca/cucul/')
299 done
300 ln -sf libcaca.a        $RPM_BUILD_ROOT%{_libdir}/libcucul.a
301 ln -sf libcaca.la       $RPM_BUILD_ROOT%{_libdir}/libcucul.la
302 ln -sf libcaca.so       $RPM_BUILD_ROOT%{_libdir}/libcucul.so
303 ln -sf libcaca.so.0     $RPM_BUILD_ROOT%{_libdir}/libcucul.so.0
304 ln -sf libcaca++.a      $RPM_BUILD_ROOT%{_libdir}/libcucul++.a
305 ln -sf libcaca++.la     $RPM_BUILD_ROOT%{_libdir}/libcucul++.la
306 ln -sf libcaca++.so     $RPM_BUILD_ROOT%{_libdir}/libcucul++.so
307 ln -sf libcaca++.so.0   $RPM_BUILD_ROOT%{_libdir}/libcucul++.so.0
308 ln -sf caca++.h         $RPM_BUILD_ROOT%{_includedir}/cucul++.h
309 ln -sf caca_types.h     $RPM_BUILD_ROOT%{_includedir}/cucul_types.h
310
311 %py_postclean
312
313 %clean
314 rm -rf $RPM_BUILD_ROOT
315
316 %post   -p /sbin/ldconfig
317 %postun -p /sbin/ldconfig
318
319 %post   c++ -p /sbin/ldconfig
320 %postun c++ -p /sbin/ldconfig
321
322 %post   -n java-caca -p /sbin/ldconfig
323 %postun -n java-caca -p /sbin/ldconfig
324
325 %files
326 %defattr(644,root,root,755)
327 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
328 %attr(755,root,root) %{_bindir}/cacaclock
329 %attr(755,root,root) %{_bindir}/cacademo
330 %attr(755,root,root) %{_bindir}/cacafire
331 %attr(755,root,root) %{_bindir}/cacaplay
332 %attr(755,root,root) %{_bindir}/cacaserver
333 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
334 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
335 %attr(755,root,root) %{_libdir}/libcucul.so.*.*.*
336 %attr(755,root,root) %ghost %{_libdir}/libcucul.so.0
337 %dir %{_libdir}/caca
338 %{_datadir}/%{name}
339 %{_mandir}/man1/cacademo.1*
340 %{_mandir}/man1/cacafire.1*
341 %{_mandir}/man1/cacaplay.1*
342 %{_mandir}/man1/cacaserver.1*
343
344 %files plugin-GL
345 %defattr(644,root,root,755)
346 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
347
348 %files plugin-X11
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
351
352 %files img
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*
358
359 %files devel
360 %defattr(644,root,root,755)
361 %doc doc/html/*
362 %attr(755,root,root) %{_bindir}/caca-config
363 %attr(755,root,root) %{_libdir}/libcaca.so
364 %attr(755,root,root) %{_libdir}/libcucul.so
365 %{_libdir}/libcaca.la
366 %{_libdir}/libcucul.la
367 %{_includedir}/caca.h
368 %{_includedir}/caca0.h
369 %{_includedir}/caca_conio.h
370 %{_includedir}/caca_types.h
371 %{_includedir}/cucul.h
372 %{_includedir}/cucul_types.h
373 %{_pkgconfigdir}/caca.pc
374 %{_pkgconfigdir}/cucul.pc
375 %{_mandir}/man1/caca-config.1*
376 # man3 pages have too common base names to be included
377
378 %files static
379 %defattr(644,root,root,755)
380 %{_libdir}/libcaca.a
381 %{_libdir}/libcucul.a
382
383 %files c++
384 %defattr(644,root,root,755)
385 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
386 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
387 %attr(755,root,root) %{_libdir}/libcucul++.so.*.*.*
388 %attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0
389
390 %files c++-devel
391 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_libdir}/libcaca++.so
393 %attr(755,root,root) %{_libdir}/libcucul++.so
394 %{_libdir}/libcaca++.la
395 %{_libdir}/libcucul++.la
396 %{_includedir}/caca++.h
397 %{_includedir}/cucul++.h
398 %{_pkgconfigdir}/caca++.pc
399 %{_pkgconfigdir}/cucul++.pc
400
401 %files c++-static
402 %defattr(644,root,root,755)
403 %{_libdir}/libcaca++.a
404 %{_libdir}/libcucul++.a
405
406 %if %{with dotnet}
407 %files -n dotnet-caca-sharp
408 %defattr(644,root,root,755)
409 %{_prefix}/lib/mono/caca-sharp-0.0
410 %{_prefix}/lib/mono/gac/caca-sharp
411 %{_javadir}/libjava.jar
412 %endif
413
414 %if %{with dotnet}
415 %files -n java-caca
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
418 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
419 %attr(755,root,root) %{_libdir}/libcaca-java.so
420 %endif
421
422 %files -n python-caca
423 %defattr(644,root,root,755)
424 %dir %{py_sitescriptdir}/caca
425 %{py_sitescriptdir}/caca/*.py[co]
426
427 %files -n ruby-caca
428 %defattr(644,root,root,755)
429 %{ruby_sitelibdir}/caca.rb
430 %attr(755,root,root) %{ruby_sitearchdir}/caca.so
This page took 0.073233 seconds and 4 git commands to generate.