]> git.pld-linux.org Git - packages/libcaca.git/blobdiff - libcaca.spec
- updated to 0.99.beta18
[packages/libcaca.git] / libcaca.spec
index 8347d6859d40b3e02233664670396516529ff0f1..f77567ceab60324cd94ef848168793080f97a845 100644 (file)
@@ -1,6 +1,7 @@
 #
 # Conditional build:
-%bcond_without dotnet          # don't build mono plugin
+%bcond_without dotnet          # C#/Mono binding
+%bcond_without java            # Java binding
 #
 %ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
 %undefine      with_dotnet
@@ -14,31 +15,40 @@ 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  beta16
+%define        subver  beta18
 Release:       0.%{subver}.1
-License:       WTFPL
+License:       WTFPL v2
 Group:         Libraries
 Source0:       http://libcaca.zoy.org/files/libcaca/%{name}-%{version}.%{subver}.tar.gz
-# Source0-md5: 3953bf4a803747b63a99f50125563151
+# Source0-md5: 93d35dbdb0527d4c94df3e9a02e865cc
+Patch0:                install.patch
+Patch1:                %{name}-ruby1.9.patch
 URL:           http://libcaca.zoy.org/
 BuildRequires: OpenGL-devel
 BuildRequires: autoconf >= 2.50
 BuildRequires: automake
 BuildRequires: doxygen
 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
+BuildRequires: libtool >= 2:1.5
 %{?with_dotnet:BuildRequires:  mono-csharp}
-BuildRequires: rpmbuild(macros) >= 1.272
+BuildRequires: python-devel >= 2.2
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.533
 BuildRequires: rpmbuild(monoautodeps)
 BuildRequires: ruby-devel
+BuildRequires: sed >= 4.0
 BuildRequires: slang-devel >= 2.0.0
 # shouldn't these be in doxygen requirements?
 BuildRequires: tetex-fonts-jknappen
 BuildRequires: tetex-makeindex
 BuildRequires: tetex-metafont
 BuildRequires: xorg-lib-libX11-devel
+BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                specflags       -fomit-frame-pointer
@@ -59,10 +69,10 @@ But libcaca also has the following limitations:
 - no raw keyboard support
 
 %description -l pl.UTF-8
-Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst
-zamiast pikseli, dzięki czemu może działać na starszych kartach
-graficznych oraz terminalach tekstowych. Pod tym względem jest
-podobna do słynnej biblioteki AAlib.
+Biblioteka libcaca to biblioteka graficzna wyświetlająca tekst zamiast
+pikseli, dzięki czemu może działać na starszych kartach graficznych
+oraz terminalach tekstowych. Pod tym względem jest podobna do słynnej
+biblioteki AAlib.
 
 Różnice w stosunku do AAlib są następujące:
 - 16 dostępnych kolorów dla znaków (256 par kolorów)
@@ -188,6 +198,33 @@ C# bindings for libcaca.
 %description -n dotnet-caca-sharp -l pl.UTF-8
 Wiązania C# do libcaca.
 
+%package -n java-caca
+Summary:       Java bindings for libcaca
+Summary(pl.UTF-8):     Wiązania Javy do libcaca
+Group:         Libraries/Java
+Requires:      %{name} = %{version}-%{release}
+Requires:      jre
+
+%description -n java-caca
+Java bindings for libcaca.
+
+%description -n java-caca -l pl.UTF-8
+Wiązania Javy do libcaca.
+
+%package -n python-caca
+Summary:       Python bindings for libcaca
+Summary(pl.UTF-8):     Wiązania Pythona do libcaca
+Group:         Development/Languages/Python
+Requires:      %{name} = %{version}-%{release}
+# ctypes
+Requires:      python-modules
+
+%description -n python-caca
+Python bindings for libcaca.
+
+%description -n python-caca -l pl.UTF-8
+Wiązania Pythona do libcaca.
+
 %package -n ruby-caca
 Summary:       Ruby bindings for libcaca
 Summary(pl.UTF-8):     Wiązania języka Ruby do libcaca
@@ -203,6 +240,9 @@ Wiązania języka Ruby do libcaca.
 
 %prep
 %setup -q -n %{name}-%{version}.%{subver}
+%undos */Makefile.am
+%patch0 -p1
+%patch1 -p1
 
 %build
 %{__libtoolize}
@@ -214,9 +254,10 @@ Wiązania języka Ruby do libcaca.
 # ABI 6. While caca defaults to ncurses this must be disabled until fixed.
 %configure \
        --disable-ncurses \
-       --%{!?with_dotnet:dis}%{?with_dotnet:en}able-csharp \
+       --enable-csharp%{!?with_dotnet:=no} \
        --enable-cxx \
        --enable-gl \
+       --enable-java%{!?with_java:=no} \
        --enable-plugins \
        --enable-slang \
        --enable-x11
@@ -224,23 +265,47 @@ Wiązania języka Ruby do libcaca.
 
 # ObjC file not used, use plain CC to link library to avoid C++/ObjC deps
 %{__make} \
-       OBJC="%{__cc}"
+       OBJC="%{__cc}" \
+       jnidir=%{_libdir}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+       DESTDIR=$RPM_BUILD_ROOT \
+       jnidir=%{_libdir}
 
 # replace symlink by groff include
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
 echo '.so cacafire.1' > $RPM_BUILD_ROOT%{_mandir}/man1/cacademo.1
 
-rm -f $RPM_BUILD_ROOT%{_libdir}/caca/*.{a,la}
-rm -f $RPM_BUILD_ROOT%{ruby_sitearchdir}/*.{a,la}
+# 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
 # man3 pages have too common base names to be included
-rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*.3caca
-rm -rf $RPM_BUILD_ROOT%{_docdir}/libcucul-dev
+%{__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
+
+%py_postclean
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -251,9 +316,13 @@ rm -rf $RPM_BUILD_ROOT
 %post  c++ -p /sbin/ldconfig
 %postun        c++ -p /sbin/ldconfig
 
+%post  -n java-caca -p /sbin/ldconfig
+%postun        -n java-caca -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS COPYING ChangeLog NEWS NOTES README THANKS
+%attr(755,root,root) %{_bindir}/cacaclock
 %attr(755,root,root) %{_bindir}/cacademo
 %attr(755,root,root) %{_bindir}/cacafire
 %attr(755,root,root) %{_bindir}/cacaplay
@@ -294,6 +363,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_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
@@ -332,12 +403,25 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with dotnet}
 %files -n dotnet-caca-sharp
 %defattr(644,root,root,755)
-%{_libdir}/caca-sharp
-%{_libdir}/cucul-sharp
+%{_prefix}/lib/mono/caca-sharp-0.0
+%{_prefix}/lib/mono/gac/caca-sharp
+%{_javadir}/libjava.jar
+%endif
+
+%if %{with dotnet}
+%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
 %endif
 
+%files -n python-caca
+%defattr(644,root,root,755)
+%dir %{py_sitescriptdir}/caca
+%{py_sitescriptdir}/caca/*.py[co]
+
 %files -n ruby-caca
 %defattr(644,root,root,755)
 %{ruby_sitelibdir}/caca.rb
 %attr(755,root,root) %{ruby_sitearchdir}/caca.so
-%attr(755,root,root) %{ruby_sitearchdir}/cucul.so
This page took 0.03842 seconds and 4 git commands to generate.