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