# - remove net_client_only and add db bcond (then without apache and
# without db => net_client_only - spec will be more simpler, I think)
# - finish ruby
+# - http://subversion.tigris.org/issues/show_bug.cgi?id=2753
#
# Conditional build:
%bcond_with net_client_only # build only net client
%bcond_without apache # build without apache support (webdav, etc)
%bcond_without javahl # build without javahl support (Java high-level bindings)
%bcond_without tests # don't perform "make check"
-#
-%ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
-%undefine with_javahl
-%endif
+%bcond_without kwallet # build without kde4 wallet support
+%bcond_without gnome # build without gnome keyring support
#
%{!?with_net_client_only:%include /usr/lib/rpm/macros.perl}
%define apxs /usr/sbin/apxs
Summary(pl.UTF-8): System kontroli wersji podobny, ale lepszy, niż CVS
Summary(pt_BR.UTF-8): Sistema de versionamento concorrente
Name: subversion
-Version: 1.5.5
+Version: 1.6.13
Release: 1
License: Apache/BSD-like
Group: Development/Version Control
Source0: http://subversion.tigris.org/downloads/%{name}-%{version}.tar.bz2
-# Source0-md5: 6f3701a0f2acf3fe53093491ba3d77ee
+# Source0-md5: 7ae1c827689f21cf975804005be30aeb
Source1: %{name}-dav_svn.conf
Source2: %{name}-authz_svn.conf
Source3: %{name}-svnserve.init
Patch0: %{name}-home_etc.patch
Patch1: %{name}-DESTDIR.patch
Patch2: %{name}-ruby-datadir-path.patch
-URL: http://subversion.tigris.org/
+URL: http://subversion.apache.org/
%if %{with net_client_only}
%global apache_modules_api 0
%else
%{?with_apache:BuildRequires: apache-devel >= 2.2.0-8}
BuildRequires: automake
BuildRequires: db-devel >= 4.1.25
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.559
%if %{with perl}
BuildRequires: perl-devel >= 1:5.8.0
BuildRequires: rpm-perlprov >= 4.1-13
BuildRequires: swig-perl >= 1.3.24
%endif
-%{?with_javahl:BuildRequires: jdk}
+%if %{with python}
+BuildRequires: python-ctypesgen
+BuildRequires: python-devel >= 2.2
+BuildRequires: swig-python >= 1.3.24
+%endif
+%if %{with ruby}
+BuildRequires: ruby-devel
+BuildRequires: swig-ruby >= 1.3.24
+%endif
+%if %{with javahl}
+BuildRequires: jdk
+%endif
+BuildRequires: cyrus-sasl-devel
%endif
BuildRequires: apr-devel >= 1:1.0.0
BuildRequires: apr-util-devel >= 1:1.2.8-3
BuildRequires: autoconf >= 2.59
BuildRequires: bison
-BuildRequires: cyrus-sasl-devel
BuildRequires: expat-devel
BuildRequires: gettext-devel
+%{?with_gnome:BuildRequires: libgnome-keyring-devel}
+%{?with_kwallet:BuildRequires: kde4-kdelibs-devel}
BuildRequires: libtool >= 1.4-9
+BuildRequires: pkgconfig
BuildRequires: sed >= 4.0
+BuildRequires: sqlite3-devel >= 3.6.11
BuildRequires: texinfo
BuildRequires: which
%if %{with neon}
%endif
BuildRequires: python >= 2.2
BuildRequires: python-modules >= 2.2
-%if %{with python}
-BuildRequires: python-devel >= 2.2
-BuildRequires: swig-python >= 1.3.24
-%endif
-%if %{with ruby}
-BuildRequires: ruby-devel
-BuildRequires: swig-ruby >= 1.3.24
-%endif
Requires: %{name}-libs = %{version}-%{release}
+%requires_ge sqlite3
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_libdir}/svn
Group: Applications
%pyrequires_eq python
Requires: %{name} = %{version}-%{release}
-Requires: python-rcsparse >= 0.1-0.20031026.0
Requires: python-subversion = %{version}
%description tools
%description -n python-subversion -l pt_BR.UTF-8
Módulos Python para acessar os recursos do Subversion.
+%package -n python-csvn
+Summary: CTypes Subversion Python bindings
+Summary(pl.UTF-8): Dowiązania do Subversion dla Pythona
+Summary(pt_BR.UTF-8): Módulos Python para acessar os recursos do Subversion
+Group: Development/Languages/Python
+%pyrequires_eq python
+Requires: %{name}-libs = %{version}-%{release}
+
+%description -n python-csvn
+Subversion CTypes Python bindings.
+
+%description -n python-csvn -l pl.UTF-8
+Dowiązania do Subversion dla Pythona używające CTypes.
+
+%description -n python-csvn -l pt_BR.UTF-8
+Módulos Python para acessar os recursos do Subversion.
+
%package -n perl-subversion
Summary: Subversion Perl bindings
Summary(pl.UTF-8): Dowiązania do Subversion dla Perla
%description -n apache-mod_authz_svn -l pl.UTF-8
Moduł apache: autoryzacja na podstawie ścieżki dla serwera Subversion.
+%package -n gnome-keyring-subversion
+Summary: Subversion module for Gnome Keyring
+Summary(pl.UTF-8): Moduł subversion dla zarządcy kluczy Gnome
+Group: X11/Applications
+
+%description -n gnome-keyring-subversion
+Subversion module for Gnome Keyring.
+
+%description -n gnome-keyring-subversion -l pl.UTF-8
+Moduł subversion dla zarządcy kluczy Gnome.
+
+%package -n kde4-kwallet-subversion
+Summary: Subversion module for KDE Wallet
+Summary(pl.UTF-8): Moduł subversion dla Portfela KDE
+Group: X11/Applications
+
+%description -n kde4-kwallet-subversion
+Subversion module for KDE Wallet.
+
+%description -n kde4-kwallet-subversion -l pl.UTF-8
+Moduł subversion dla Portfela KDE.
+
%prep
%setup -q
rm -rf apr apr-util neon
%else
--disable-runtime-module-search \
--disable-mod-activation \
+ --with-berkeley-db="db.h:%{_includedir}:%{_libdir}:db" \
%if %{with apache}
--with-apxs=%{_sbindir}/apxs \
%else
--without-apache \
--without-apxs \
- --with-berkeley-db=%{_includedir}/db4:%{_libdir} \
%endif
%if !%{with python} && !%{with perl} && !%{with ruby}
--without-swig \
%endif
+ %{?with_python:--with-ctypesgen=%{_bindir}/ctypesgen.py} \
--%{?with_javahl:en}%{!?with_javahl:dis}able-javahl \
%endif
--with-jdk="%{java_home}" \
+ --without-jikes \
%if %{with neon}
--without-serf \
--with-neon=%{_prefix} \
--without-neon \
%endif
--with-apr=%{_bindir}/apr-1-config \
- --with-apr-util=%{_bindir}/apu-1-config
+ --with-apr-util=%{_bindir}/apu-1-config \
+%if %{with kwallet}
+ --with-kwallet \
+%endif
+%if %{with gnome}
+ --with-gnome-keyring
+%endif
%{__make} -j1
%if !%{with net_client_only}
# python
%if %{with python}
+# ctypes bindings
+%{__make} ctypes-python
+# swig bindings
%{__make} swig-py \
swig_pydir=%{py_sitedir}/libsvn \
swig_pydir_extra=%{py_sitedir}/svn
%endif
# perl
%if %{with perl}
-%{__make} swig-pl-lib
+%{__make} -j1 swig-pl-lib
odir=$(pwd)
cd subversion/bindings/swig/perl/native
%{__perl} Makefile.PL INSTALLDIRS=vendor
%if %{with tests}
%{__make} check
%if %{with python}
+%{__make} check-ctypes-python
%{__make} check-swig-py
%endif
%if %{with perl}
%if !%{with net_client_only}
%if %{with python}
install-swig-py \
+ install-ctypes-python \
%endif
%if %{with ruby}
install-swig-rb install-swig-rb-doc \
%find_lang %{name}
-rm -f $RPM_BUILD_ROOT%{_libdir}/libsvn{javahl,_swig}*.{la,a}
-rm -f $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/svn/ext/*.la
+%{?with_javahl:rm $RPM_BUILD_ROOT%{_libdir}/libsvnjavahl*.{la,a}}
+rm -f $RPM_BUILD_ROOT%{_libdir}/libsvn_swig*.{la,a}
+rm -f $RPM_BUILD_ROOT%{_libdir}/ruby/site_ruby/*/*/svn/ext/*.la
%clean
rm -rf $RPM_BUILD_ROOT
%post -n apache-mod_dav_svn
%service -q httpd restart
-%preun -n apache-mod_dav_svn
+%postun -n apache-mod_dav_svn
+if [ "$1" = "0" ]; then
+ %service -q httpd restart
+fi
+
+%post -n apache-mod_authz_svn
+%service -q httpd restart
+
+%postun -n apache-mod_authz_svn
if [ "$1" = "0" ]; then
%service -q httpd restart
fi
%{_libdir}/libsvn_subr-1.a
%{_libdir}/libsvn_wc-1.a
+%if %{with gnome}
+%files -n gnome-keyring-subversion
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsvn_auth_gnome_keyring-1.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsvn_auth_gnome_keyring-1.so.0
+%endif
+
+%if %{with kwallet}
+%files -n kde4-kwallet-subversion
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsvn_auth_kwallet-1.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsvn_auth_kwallet-1.so.0
+%endif
+
%if !%{with net_client_only}
%files svnserve
%defattr(644,root,root,755)
%{py_sitedir}/svn/*.py[co]
%attr(755,root,root) %{py_sitedir}/libsvn/*.so
%{_examplesdir}/python-%{name}-%{version}
+
+%files -n python-csvn
+%defattr(644,root,root,755)
+%doc subversion/bindings/ctypes-python/{README,TODO}
+%doc subversion/bindings/ctypes-python/examples/*.py
+%dir %{py_sitescriptdir}/csvn
+%{py_sitescriptdir}/csvn/*.py[co]
+%dir %{py_sitescriptdir}/csvn/core
+%{py_sitescriptdir}/csvn/core/*.py[co]
+%dir %{py_sitescriptdir}/csvn/ext
+%{py_sitescriptdir}/csvn/ext/*.py[co]
+%{py_sitescriptdir}/*.egg-info
%endif
%if %{with perl}
%attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libsvn_swig_ruby-1.so.0
%attr(755,root,root) %{_libdir}/libsvn_swig_ruby-1.so
-%dir %{_libdir}/ruby/site_ruby/svn
-%{_libdir}/ruby/site_ruby/svn/*.rb
-%dir %{_libdir}/ruby/site_ruby/svn/ext
-%attr(755,root,root) %{_libdir}/ruby/site_ruby/svn/ext/*.so
-%{_datadir}/ri/*.*/system/OptionParser
-%{_datadir}/ri/*.*/system/Svn
-%{_datadir}/ri/*.*/system/Time
-%{_datadir}/ri/*.*/system/Uconv
-%{_datadir}/ri/*.*/system/*.rid
-%{_datadir}/ri/*.*/system/Kernel/*
+%dir %{ruby_sitelibdir}/svn
+%{ruby_sitelibdir}/svn/*.rb
+%dir %{ruby_sitearchdir}/svn
+%dir %{ruby_sitearchdir}/svn/ext
+%attr(755,root,root) %{ruby_sitearchdir}/svn/ext/*.so
+%{ruby_ridir}/Svn
%endif
%if %{with apache}