]> git.pld-linux.org Git - packages/libcaca.git/blob - libcaca.spec
- disabled java build, it's not even packaged
[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  beta17
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:  790d6e26b7950e15909fdbeb23a7ea87
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         --disable-java \
224         --enable-cxx \
225         --enable-gl \
226         --enable-plugins \
227         --enable-slang \
228         --enable-x11
229
230
231 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
232 %{__make} \
233         OBJC="%{__cc}"
234
235 %install
236 rm -rf $RPM_BUILD_ROOT
237
238 %{__make} install \
239         DESTDIR=$RPM_BUILD_ROOT
240
241 # replace symlink by groff include
242 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
243 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
244
245 rm -f $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
246 rm -f $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.{a,la}
247 # man3 pages have too common base names to be included
248 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
249 rm -rf $RPM_BUILD_ROOT%{_docdir}/libcucul-dev
250
251 cd $RPM_BUILD_ROOT%{_libdir}
252 for i in libcaca*.so.*.*.*; do
253         ln -sf $i $(echo $i |sed 's/caca/cucul/')
254 done
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 libcaca++.a      $RPM_BUILD_ROOT%{_libdir}/libcucul++.a
260 ln -sf libcaca++.la     $RPM_BUILD_ROOT%{_libdir}/libcucul++.la
261 ln -sf libcaca++.so     $RPM_BUILD_ROOT%{_libdir}/libcucul++.so
262 ln -sf libcaca++.so.0   $RPM_BUILD_ROOT%{_libdir}/libcucul++.so.0
263 ln -sf caca-sharp       $RPM_BUILD_ROOT%{_libdir}/cucul-sharp
264 ln -sf caca++.h         $RPM_BUILD_ROOT%{_includedir}/cucul++.h
265 ln -sf caca_types.h     $RPM_BUILD_ROOT%{_includedir}/cucul_types.h
266 #ln -sf caca_types++.h  $RPM_BUILD_ROOT%{_includedir}/cucul_types++.h
267 ln -sf caca.so          $RPM_BUILD_ROOT%{ruby_sitearchdir}/cucul.so
268
269 %clean
270 rm -rf $RPM_BUILD_ROOT
271
272 %post   -p /sbin/ldconfig
273 %postun -p /sbin/ldconfig
274
275 %post   c++ -p /sbin/ldconfig
276 %postun c++ -p /sbin/ldconfig
277
278 %files
279 %defattr(644,root,root,755)
280 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
281 %attr(755,root,root) %{_bindir}/cacademo
282 %attr(755,root,root) %{_bindir}/cacafire
283 %attr(755,root,root) %{_bindir}/cacaplay
284 %attr(755,root,root) %{_bindir}/cacaserver
285 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
286 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
287 %attr(755,root,root) %{_libdir}/libcucul.so.*.*.*
288 %attr(755,root,root) %ghost %{_libdir}/libcucul.so.0
289 %dir %{_libdir}/caca
290 %{_datadir}/%{name}
291 %{_mandir}/man1/cacademo.1*
292 %{_mandir}/man1/cacafire.1*
293 %{_mandir}/man1/cacaplay.1*
294 %{_mandir}/man1/cacaserver.1*
295
296 %files plugin-GL
297 %defattr(644,root,root,755)
298 %attr(755,root,root) %{_libdir}/caca/libgl_plugin.so*
299
300 %files plugin-X11
301 %defattr(644,root,root,755)
302 %attr(755,root,root) %{_libdir}/caca/libx11_plugin.so*
303
304 %files img
305 %defattr(644,root,root,755)
306 %attr(755,root,root) %{_bindir}/cacaview
307 %attr(755,root,root) %{_bindir}/img2txt
308 %{_mandir}/man1/cacaview.1*
309 %{_mandir}/man1/img2txt.1*
310
311 %files devel
312 %defattr(644,root,root,755)
313 %doc doc/html/*
314 %attr(755,root,root) %{_bindir}/caca-config
315 %attr(755,root,root) %{_libdir}/libcaca.so
316 %attr(755,root,root) %{_libdir}/libcucul.so
317 %{_libdir}/libcaca.la
318 %{_libdir}/libcucul.la
319 %{_includedir}/caca.h
320 %{_includedir}/caca0.h
321 %{_includedir}/caca_types.h
322 %{_includedir}/cucul.h
323 %{_includedir}/cucul_types.h
324 %{_pkgconfigdir}/caca.pc
325 %{_pkgconfigdir}/cucul.pc
326 %{_mandir}/man1/caca-config.1*
327 # man3 pages have too common base names to be included
328
329 %files static
330 %defattr(644,root,root,755)
331 %{_libdir}/libcaca.a
332 %{_libdir}/libcucul.a
333
334 %files c++
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
337 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
338 %attr(755,root,root) %{_libdir}/libcucul++.so.*.*.*
339 %attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0
340
341 %files c++-devel
342 %defattr(644,root,root,755)
343 %attr(755,root,root) %{_libdir}/libcaca++.so
344 %attr(755,root,root) %{_libdir}/libcucul++.so
345 %{_libdir}/libcaca++.la
346 %{_libdir}/libcucul++.la
347 %{_includedir}/caca++.h
348 %{_includedir}/cucul++.h
349 %{_pkgconfigdir}/caca++.pc
350 %{_pkgconfigdir}/cucul++.pc
351
352 %files c++-static
353 %defattr(644,root,root,755)
354 %{_libdir}/libcaca++.a
355 %{_libdir}/libcucul++.a
356
357 %if %{with dotnet}
358 %files -n dotnet-caca-sharp
359 %defattr(644,root,root,755)
360 %{_libdir}/caca-sharp
361 %{_libdir}/cucul-sharp
362 %endif
363
364 %files -n ruby-caca
365 %defattr(644,root,root,755)
366 %{ruby_sitelibdir}/caca.rb
367 %attr(755,root,root) %{ruby_sitearchdir}/caca.so
368 %attr(755,root,root) %{ruby_sitearchdir}/cucul.so
This page took 0.121632 seconds and 4 git commands to generate.