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