]> git.pld-linux.org Git - packages/libcaca.git/blobdiff - libcaca.spec
- added javah patch: replace javah (removed from JDK 10+) by javac -h (requires JDK 8+)
[packages/libcaca.git] / libcaca.spec
index fd6071e7b03e8b7e45cf292657b82690b313f47f..31f56ca064c75af462d5842cf642459fc9f64119 100644 (file)
@@ -2,30 +2,36 @@
 # Conditional build:
 %bcond_without dotnet          # C#/Mono binding
 %bcond_without java            # Java binding
-#
-%ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
+%bcond_without ruby            # Ruby binding
+%bcond_without python          # Python binding
+%bcond_without ncurses         # ncurses driver
+%bcond_without slang           # slang driver
+
+%ifnarch %{ix86} %{x8664} alpha %{arm} hppa ia64 mips ppc s390 s390x sparc sparcv9
 %undefine      with_dotnet
 %endif
 %ifarch i386
 %undefine      with_dotnet
 %endif
 
-%{?with_dotnet:%include        /usr/lib/rpm/macros.mono}
+%define                rel     1
+%define        subver  beta20
 Summary:       Graphics library that outputs text instead of pixels
 Summary(pl.UTF-8):     Biblioteka graficzna wyświetlająca tekst zamiast pikseli
 Name:          libcaca
 Version:       0.99
-%define        subver  beta18
-Release:       0.%{subver}.1
+Release:       0.%{subver}.%{rel}
 License:       WTFPL v2
 Group:         Libraries
-Source0:       http://libcaca.zoy.org/files/libcaca/%{name}-%{version}.%{subver}.tar.gz
-# Source0-md5: 93d35dbdb0527d4c94df3e9a02e865cc
-Patch0:                install.patch
-Patch1:                %{name}-ruby1.9.patch
-Patch2:                %{name}-format.patch
-Patch3:                %{name}-monodir.patch
-URL:           http://libcaca.zoy.org/
+#Source0Download: https://github.com/cacalabs/libcaca/releases
+Source0:       https://github.com/cacalabs/libcaca/releases/download/v%{version}.%{subver}/%{name}-%{version}.%{subver}.tar.bz2
+# Source0-md5: 019c036ef038e7b5727b46f07fda739b
+Patch0:                %{name}-monodir.patch
+Patch1:                ruby-vendordir.patch
+Patch2:                %{name}-sh.patch
+Patch3:                %{name}-plugins.patch
+Patch4:                %{name}-javah.patch
+URL:           http://caca.zoy.org/wiki/libcaca
 BuildRequires: OpenGL-devel
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
@@ -34,23 +40,37 @@ BuildRequires:      freeglut-devel >= 2.0.0
 # not used
 #BuildRequires:        ftgl-devel >= 2.1.3
 BuildRequires: imlib2-devel
-%{?with_java:BuildRequires:    jdk}
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 2:1.5
-%{?with_dotnet:BuildRequires:  mono-csharp}
-BuildRequires: python-devel >= 2.2
+%{?with_ncurses:BuildRequires: ncurses-devel >= 5}
 BuildRequires: pkgconfig
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpmbuild(macros) >= 1.533
-BuildRequires: rpmbuild(monoautodeps)
-BuildRequires: ruby-devel
 BuildRequires: sed >= 4.0
-BuildRequires: slang-devel >= 2.0.0
-BuildRequires: texlive-fonts-jknappen
-BuildRequires: texlive-format-pdflatex
-BuildRequires: texlive-makeindex
-BuildRequires: texlive-latex-ams
+%{?with_slang:BuildRequires:   slang-devel >= 2.0.0}
+#BuildRequires:        texlive-fonts-jknappen
+#BuildRequires:        texlive-format-pdflatex
+#BuildRequires:        texlive-latex-ams
+#BuildRequires:        texlive-makeindex
 BuildRequires: xorg-lib-libX11-devel
 BuildRequires: zlib-devel
+%if %{with dotnet}
+BuildRequires: mono-csharp
+%endif
+%if %{with java}
+BuildRequires: jdk >= 1.8
+BuildRequires: rpm-javaprov
+# org_zoy_caca_Attribute.c:14:18: fatal error: caca.h: No such file or directory
+BuildRequires: libcaca-devel
+%endif
+%if %{with python}
+BuildRequires: python-devel >= 2.2
+BuildRequires: rpm-pythonprov
+%endif
+%if %{with ruby}
+BuildRequires: rpm-rubyprov
+BuildRequires: ruby-devel
+%endif
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                specflags       -fomit-frame-pointer
@@ -187,6 +207,18 @@ C++ bindings for libcaca - static libraries.
 %description c++-static -l pl.UTF-8
 Wiązania C++ do libcaca - biblioteki statyczne.
 
+%package apidocs
+Summary:       API documentation for libcaca library
+Summary(pl.UTF-8):     Dokumentacja API biblioteki libcaca
+Group:         Documentation
+BuildArch:     noarch
+
+%description apidocs
+API documentation for libcaca library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki libcaca.
+
 %package -n dotnet-caca-sharp
 Summary:       C# bindings for libcaca
 Summary(pl.UTF-8):     Wiązania C# do libcaca
@@ -232,7 +264,6 @@ Summary:    Ruby bindings for libcaca
 Summary(pl.UTF-8):     Wiązania języka Ruby do libcaca
 Group:         Development/Languages
 Requires:      %{name} = %{version}-%{release}
-%{?ruby_ver_requires_eq}
 
 %description -n ruby-caca
 Ruby bindings for libcaca.
@@ -242,11 +273,11 @@ Wiązania języka Ruby do libcaca.
 
 %prep
 %setup -q -n %{name}-%{version}.%{subver}
-%undos */Makefile.am
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %build
 %{__libtoolize}
@@ -254,23 +285,27 @@ Wiązania języka Ruby do libcaca.
 %{__autoconf}
 %{__autoheader}
 %{__automake}
-# NOTE: ncurses driver builds, but there's no color when linked against
-# ABI 6. While caca defaults to ncurses this must be disabled until fixed.
+# NOTE: as of libcaca 0.99beta19 / doxygen 1.8.7 pdflatex fails - use
+# KPSEWHICH hack to disable PDF documentation.
 %configure \
-       --disable-ncurses \
+       %{?with_dotnet:CSC=/usr/bin/dmcs} \
+       KPSEWHICH=/nonexisting \
+       --disable-cocoa \
        --enable-csharp%{!?with_dotnet:=no} \
        --enable-cxx \
        --enable-gl \
        --enable-java%{!?with_java:=no} \
+       --enable-ncurses%{!?with_ncurses:=no} \
        --enable-plugins \
-       --enable-slang \
+       --enable-slang%{!?with_slang:=no} \
        --enable-x11
 
-
+# --disable-silent-rules doesn't work due to AM_DEFAULT_VERBOSITY=0; use V=1 instead
 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
 %{__make} %{?with_java:-j1} \
        CLASSPATH=$(pwd)/java \
        OBJC="%{__cc}" \
+       V=1 \
        jnidir=%{_libdir}
 
 %install
@@ -286,29 +321,13 @@ echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
 
 # loadable modules
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
-%{__rm} $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.la
-%if %{with java}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca-java.la
-%endif
+%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/*.la
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libcaca*.la
 # man3 pages have too common base names to be included
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
 # packaged as %doc in -devel
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/lib{caca,cucul}-dev
-
-cd $RPM_BUILD_ROOT%{_libdir}
-for i in libcaca.so.*.*.* libcaca++.so.*.*.*; do
-       ln -sf $i $(echo $i |sed 's/caca/cucul/')
-done
-ln -sf libcaca.a       $RPM_BUILD_ROOT%{_libdir}/libcucul.a
-ln -sf libcaca.la      $RPM_BUILD_ROOT%{_libdir}/libcucul.la
-ln -sf libcaca.so      $RPM_BUILD_ROOT%{_libdir}/libcucul.so
-ln -sf libcaca.so.0    $RPM_BUILD_ROOT%{_libdir}/libcucul.so.0
-ln -sf libcaca++.a     $RPM_BUILD_ROOT%{_libdir}/libcucul++.a
-ln -sf libcaca++.la    $RPM_BUILD_ROOT%{_libdir}/libcucul++.la
-ln -sf libcaca++.so    $RPM_BUILD_ROOT%{_libdir}/libcucul++.so
-ln -sf libcaca++.so.0  $RPM_BUILD_ROOT%{_libdir}/libcucul++.so.0
-ln -sf caca++.h        $RPM_BUILD_ROOT%{_includedir}/cucul++.h
-ln -sf caca_types.h    $RPM_BUILD_ROOT%{_includedir}/cucul_types.h
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/libcaca-dev
 
 %py_postclean
 
@@ -326,7 +345,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
+%doc AUTHORS COPYING NEWS NOTES README THANKS
 %attr(755,root,root) %{_bindir}/cacaclock
 %attr(755,root,root) %{_bindir}/cacademo
 %attr(755,root,root) %{_bindir}/cacafire
@@ -334,8 +353,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/cacaserver
 %attr(755,root,root) %{_libdir}/libcaca.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libcaca.so.0
-%attr(755,root,root) %{_libdir}/libcucul.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcucul.so.0
 %dir %{_libdir}/caca
 %{_datadir}/%{name}
 %{_mandir}/man1/cacademo.1*
@@ -360,65 +377,53 @@ rm -rf $RPM_BUILD_ROOT
 
 %files devel
 %defattr(644,root,root,755)
-%doc doc/html/*
 %attr(755,root,root) %{_bindir}/caca-config
 %attr(755,root,root) %{_libdir}/libcaca.so
-%attr(755,root,root) %{_libdir}/libcucul.so
-%{_libdir}/libcaca.la
-%{_libdir}/libcucul.la
 %{_includedir}/caca.h
 %{_includedir}/caca0.h
 %{_includedir}/caca_conio.h
 %{_includedir}/caca_types.h
-%{_includedir}/cucul.h
-%{_includedir}/cucul_types.h
 %{_pkgconfigdir}/caca.pc
-%{_pkgconfigdir}/cucul.pc
 %{_mandir}/man1/caca-config.1*
 # man3 pages have too common base names to be included
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libcaca.a
-%{_libdir}/libcucul.a
 
 %files c++
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libcaca++.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libcaca++.so.0
-%attr(755,root,root) %{_libdir}/libcucul++.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcucul++.so.0
 
 %files c++-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libcaca++.so
-%attr(755,root,root) %{_libdir}/libcucul++.so
-%{_libdir}/libcaca++.la
-%{_libdir}/libcucul++.la
 %{_includedir}/caca++.h
-%{_includedir}/cucul++.h
 %{_pkgconfigdir}/caca++.pc
-%{_pkgconfigdir}/cucul++.pc
 
 %files c++-static
 %defattr(644,root,root,755)
 %{_libdir}/libcaca++.a
-%{_libdir}/libcucul++.a
+
+%files apidocs
+%defattr(644,root,root,755)
+%doc doc/html/*
 
 %if %{with dotnet}
 %files -n dotnet-caca-sharp
 %defattr(644,root,root,755)
 %{_prefix}/lib/mono/caca-sharp-0.0
 %{_prefix}/lib/mono/gac/caca-sharp
-%{_javadir}/libjava.jar
 %endif
 
-%if %{with dotnet}
+%if %{with java}
 %files -n java-caca
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libcaca-java.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libcaca-java.so.0
 %attr(755,root,root) %{_libdir}/libcaca-java.so
+%{_javadir}/libjava.jar
 %endif
 
 %files -n python-caca
@@ -428,5 +433,5 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -n ruby-caca
 %defattr(644,root,root,755)
-%{ruby_sitelibdir}/caca.rb
-%attr(755,root,root) %{ruby_sitearchdir}/caca.so
+%{ruby_vendorlibdir}/caca.rb
+%attr(755,root,root) %{ruby_vendorarchdir}/caca.so
This page took 0.088417 seconds and 4 git commands to generate.