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