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