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