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