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