]>
Commit | Line | Data |
---|---|---|
5b30b2f5 | 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 | ||
610ae530 | 12 | %{?with_dotnet:%include /usr/lib/rpm/macros.mono} |
7c11a1cc | 13 | Summary: Graphics library that outputs text instead of pixels |
7a9c9c6a | 14 | Summary(pl.UTF-8): Biblioteka graficzna wyświetlająca tekst zamiast pikseli |
7c11a1cc | 15 | Name: libcaca |
7f15b6b0 | 16 | Version: 0.99 |
cd273557 JR |
17 | %define subver beta17 |
18 | Release: 0.%{subver}.1 | |
7f15b6b0 | 19 | License: WTFPL |
7c11a1cc | 20 | Group: Libraries |
0e65a6df | 21 | Source0: http://libcaca.zoy.org/files/libcaca/%{name}-%{version}.%{subver}.tar.gz |
cd273557 | 22 | # Source0-md5: 790d6e26b7950e15909fdbeb23a7ea87 |
d1a20e7c | 23 | Patch0: install.patch |
dd2da18c | 24 | URL: http://libcaca.zoy.org/ |
7f15b6b0 | 25 | BuildRequires: OpenGL-devel |
193b2ceb JB |
26 | BuildRequires: autoconf >= 2.50 |
27 | BuildRequires: automake | |
1ab8ffdb | 28 | BuildRequires: doxygen |
7f15b6b0 | 29 | BuildRequires: freeglut-devel >= 2.0.0 |
f307cfb4 | 30 | BuildRequires: imlib2-devel |
7f15b6b0 | 31 | BuildRequires: libstdc++-devel |
193b2ceb | 32 | BuildRequires: libtool |
5b30b2f5 | 33 | %{?with_dotnet:BuildRequires: mono-csharp} |
2dbbea20 | 34 | BuildRequires: pkgconfig |
568d4d5b | 35 | BuildRequires: rpmbuild(macros) >= 1.533 |
338c9252 JB |
36 | BuildRequires: rpmbuild(monoautodeps) |
37 | BuildRequires: ruby-devel | |
568d4d5b | 38 | BuildRequires: sed >= 4.0 |
caeb018d | 39 | BuildRequires: slang-devel >= 2.0.0 |
1ab8ffdb | 40 | # shouldn't these be in doxygen requirements? |
41 | BuildRequires: tetex-fonts-jknappen | |
42 | BuildRequires: tetex-makeindex | |
0ec9276e | 43 | BuildRequires: tetex-metafont |
7f15b6b0 | 44 | BuildRequires: xorg-lib-libX11-devel |
7c11a1cc | 45 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
46 | ||
193b2ceb JB |
47 | %define specflags -fomit-frame-pointer |
48 | ||
7c11a1cc | 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: | |
7c11a1cc | 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: | |
7c11a1cc | 60 | - no support for brightness, contrast, gamma |
61 | - unefficient character-choosing algorithms | |
62 | - no raw keyboard support | |
63 | ||
cd7f5427 | 64 | %description -l pl.UTF-8 |
2dbbea20 | 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. | |
193b2ceb | 69 | |
cd7f5427 JR |
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) | |
193b2ceb | 74 | |
cd7f5427 JR |
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 | |
193b2ceb | 79 | |
7f15b6b0 | 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 | |
7f15b6b0 | 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 | ||
193b2ceb JB |
118 | %package devel |
119 | Summary: Header files for libcaca library | |
7a9c9c6a | 120 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libcaca |
193b2ceb | 121 | Group: Development/Libraries |
7f15b6b0 | 122 | Requires: %{name} = %{version}-%{release} |
123 | Requires: slang-devel >= 2.0.0 | |
193b2ceb JB |
124 | |
125 | %description devel | |
126 | Header files for libcaca library. | |
127 | ||
cd7f5427 JR |
128 | %description devel -l pl.UTF-8 |
129 | Pliki nagłówkowe biblioteki libcaca. | |
193b2ceb JB |
130 | |
131 | %package static | |
132 | Summary: Static libcaca library | |
7a9c9c6a | 133 | Summary(pl.UTF-8): Statyczna biblioteka libcaca |
193b2ceb JB |
134 | Group: Development/Libraries |
135 | Requires: %{name}-devel = %{version}-%{release} | |
136 | ||
137 | %description static | |
138 | Static libcaca library. | |
139 | ||
cd7f5427 | 140 | %description static -l pl.UTF-8 |
193b2ceb JB |
141 | Statyczna biblioteka libcaca. |
142 | ||
7f15b6b0 | 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 | ||
338c9252 JB |
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 | ||
7c11a1cc | 207 | %prep |
338c9252 | 208 | %setup -q -n %{name}-%{version}.%{subver} |
568d4d5b | 209 | %undos */Makefile.am |
d1a20e7c | 210 | %patch0 -p1 |
7c11a1cc | 211 | |
212 | %build | |
193b2ceb JB |
213 | %{__libtoolize} |
214 | %{__aclocal} | |
215 | %{__autoconf} | |
216 | %{__autoheader} | |
217 | %{__automake} | |
a851fa3f TP |
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. | |
7c11a1cc | 220 | %configure \ |
f307cfb4 | 221 | --disable-ncurses \ |
ea16e9f3 | 222 | --%{!?with_dotnet:dis}%{?with_dotnet:en}able-csharp \ |
223 | --enable-cxx \ | |
7f15b6b0 | 224 | --enable-gl \ |
225 | --enable-plugins \ | |
226 | --enable-slang \ | |
227 | --enable-x11 | |
7c11a1cc | 228 | |
5b30b2f5 | 229 | |
7f15b6b0 | 230 | # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps |
231 | %{__make} \ | |
232 | OBJC="%{__cc}" | |
7c11a1cc | 233 | |
234 | %install | |
235 | rm -rf $RPM_BUILD_ROOT | |
7f15b6b0 | 236 | |
193b2ceb JB |
237 | %{__make} install \ |
238 | DESTDIR=$RPM_BUILD_ROOT | |
7c11a1cc | 239 | |
07c2c308 | 240 | # replace symlink by groff include |
7f15b6b0 | 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} | |
338c9252 | 245 | rm -f $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.{a,la} |
7f15b6b0 | 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 | |
07c2c308 | 249 | |
d1a20e7c SS |
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 | ||
7c11a1cc | 268 | %clean |
269 | rm -rf $RPM_BUILD_ROOT | |
270 | ||
7f15b6b0 | 271 | %post -p /sbin/ldconfig |
272 | %postun -p /sbin/ldconfig | |
273 | ||
274 | %post c++ -p /sbin/ldconfig | |
275 | %postun c++ -p /sbin/ldconfig | |
193b2ceb | 276 | |
7c11a1cc | 277 | %files |
278 | %defattr(644,root,root,755) | |
1842e37c | 279 | %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS |
193b2ceb JB |
280 | %attr(755,root,root) %{_bindir}/cacademo |
281 | %attr(755,root,root) %{_bindir}/cacafire | |
7f15b6b0 | 282 | %attr(755,root,root) %{_bindir}/cacaplay |
283 | %attr(755,root,root) %{_bindir}/cacaserver | |
284 | %attr(755,root,root) %{_libdir}/libcaca.so.*.*.* | |
338c9252 | 285 | %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0 |
7f15b6b0 | 286 | %attr(755,root,root) %{_libdir}/libcucul.so.*.*.* |
338c9252 | 287 | %attr(755,root,root) %ghost %{_libdir}/libcucul.so.0 |
7f15b6b0 | 288 | %dir %{_libdir}/caca |
7c11a1cc | 289 | %{_datadir}/%{name} |
193b2ceb JB |
290 | %{_mandir}/man1/cacademo.1* |
291 | %{_mandir}/man1/cacafire.1* | |
7f15b6b0 | 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 | |
338c9252 | 306 | %attr(755,root,root) %{_bindir}/img2txt |
193b2ceb | 307 | %{_mandir}/man1/cacaview.1* |
338c9252 | 308 | %{_mandir}/man1/img2txt.1* |
193b2ceb JB |
309 | |
310 | %files devel | |
311 | %defattr(644,root,root,755) | |
312 | %doc doc/html/* | |
313 | %attr(755,root,root) %{_bindir}/caca-config | |
7f15b6b0 | 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 | |
d1a20e7c | 320 | %{_includedir}/caca_types.h |
7f15b6b0 | 321 | %{_includedir}/cucul.h |
1842e37c | 322 | %{_includedir}/cucul_types.h |
7f15b6b0 | 323 | %{_pkgconfigdir}/caca.pc |
324 | %{_pkgconfigdir}/cucul.pc | |
1ab8ffdb | 325 | %{_mandir}/man1/caca-config.1* |
193b2ceb JB |
326 | # man3 pages have too common base names to be included |
327 | ||
7f15b6b0 | 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.*.*.* | |
338c9252 | 336 | %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0 |
7f15b6b0 | 337 | %attr(755,root,root) %{_libdir}/libcucul++.so.*.*.* |
338c9252 | 338 | %attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0 |
7f15b6b0 | 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 | |
1842e37c JB |
348 | %{_pkgconfigdir}/caca++.pc |
349 | %{_pkgconfigdir}/cucul++.pc | |
7f15b6b0 | 350 | |
351 | %files c++-static | |
352 | %defattr(644,root,root,755) | |
353 | %{_libdir}/libcaca++.a | |
354 | %{_libdir}/libcucul++.a | |
338c9252 | 355 | |
5b30b2f5 | 356 | %if %{with dotnet} |
338c9252 JB |
357 | %files -n dotnet-caca-sharp |
358 | %defattr(644,root,root,755) | |
359 | %{_libdir}/caca-sharp | |
360 | %{_libdir}/cucul-sharp | |
5b30b2f5 | 361 | %endif |
338c9252 JB |
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 |