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