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