diff --git a/.gitignore b/.gitignore index d720fb8..dafa3a9 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ subversion-1.6.12.tar.bz2 /subversion-1.8.9.tar.bz2 /subversion-1.8.10.tar.bz2 /subversion-1.8.11.tar.bz2 +/subversion-1.8.13.tar.bz2 diff --git a/sources b/sources index 0a213af..81d9b5a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -766a89bbbb388f8eb76166672d3b9e49 subversion-1.8.11.tar.bz2 +4413417b529d7bdf82f74e50df02e88b subversion-1.8.13.tar.bz2 diff --git a/subversion-1.8.13-r1655262+.patch b/subversion-1.8.13-r1655262+.patch new file mode 100644 index 0000000..9cd27a7 --- /dev/null +++ b/subversion-1.8.13-r1655262+.patch @@ -0,0 +1,38 @@ +# ./pullrev.sh 1655262 1658347 +http://svn.apache.org/viewvc?view=revision&revision=1655262 +http://svn.apache.org/viewvc?view=revision&revision=1658347 + +--- subversion-1.8.13/subversion/bindings/swig/core.i ++++ subversion-1.8.13/subversion/bindings/swig/core.i +@@ -800,10 +800,11 @@ + #endif + + #ifdef SWIGPYTHON +-# The auth baton depends on the providers, so we preserve a +-# reference to them inside the wrapper. This way, if all external +-# references to the providers are gone, they will still be alive, +-# keeping the baton valid. ++/* The auth baton depends on the providers, so we preserve a ++ reference to them inside the wrapper. This way, if all external ++ references to the providers are gone, they will still be alive, ++ keeping the baton valid. ++ */ + %feature("pythonappend") svn_auth_open %{ + val.__dict__["_deps"] = list(args[0]) + %} +--- subversion-1.8.13/subversion/bindings/swig/svn_delta.i ++++ subversion-1.8.13/subversion/bindings/swig/svn_delta.i +@@ -205,11 +205,11 @@ + %include svn_delta_h.swg + + #ifdef SWIGPYTHON +-%pythoncode { ++%pythoncode %{ + # This function is for backwards compatibility only. + # Use svn_txdelta_window_t.ops instead. + svn_txdelta_window_t_ops_get = svn_txdelta_window_t._ops_get +-} ++%} + #endif + + #ifdef SWIGRUBY diff --git a/subversion-1.8.13-swigpython.patch b/subversion-1.8.13-swigpython.patch new file mode 100644 index 0000000..5959d1e --- /dev/null +++ b/subversion-1.8.13-swigpython.patch @@ -0,0 +1,47 @@ + +Fugly hack to fix build with SWIG 3.0.x. The pre-processor seems to +expand the %define correctly with only the change to %{..%}, but +%extend still breaks somehow. + +https://github.com/swig/swig/issues/379 + +--- subversion-1.8.13/subversion/bindings/swig/include/proxy.swg.swigpython ++++ subversion-1.8.13/subversion/bindings/swig/include/proxy.swg +@@ -62,7 +62,7 @@ + + /* Default code for all wrapped proxy classes in Python */ + %define %proxy_pythoncode(TYPE) +-%pythoncode { ++%pythoncode %{ + def set_parent_pool(self, parent_pool=None): + """Create a new proxy object for TYPE""" + import libsvn.core, weakref +@@ -83,13 +83,10 @@ + + value = _swig_getattr(self, self.__class__, name) + +- # If we got back a different object than we have, we need to copy all our +- # metadata into it, so that it looks identical + members = self.__dict__.get("_members") + if members is not None: + _copy_metadata_deep(value, members.get(name)) + +- # Verify that the new object is good + _assert_valid_deep(value) + + return value +@@ -98,13 +95,10 @@ + """Set an attribute on this object""" + self.assert_valid() + +- # Save a copy of the object, so that the garbage +- # collector won't kill the object while it's in +- # SWIG-land + self.__dict__.setdefault("_members",{})[name] = value + + return _swig_setattr(self, self.__class__, name, value) +-} ++%} + %enddef + + /* Define a proxy for wrapping an existing struct */ diff --git a/subversion.spec b/subversion.spec index b349649..07df5ab 100644 --- a/subversion.spec +++ b/subversion.spec @@ -19,7 +19,7 @@ Summary: A Modern Concurrent Version Control System Name: subversion -Version: 1.8.11 +Version: 1.8.13 Release: 1%{?dist} License: ASL 2.0 Group: Development/Tools @@ -37,6 +37,8 @@ Patch2: subversion-1.8.0-pie.patch Patch3: subversion-1.8.0-kwallet.patch Patch4: subversion-1.8.0-rubybind.patch Patch8: subversion-1.8.5-swigplWall.patch +Patch9: subversion-1.8.13-r1655262+.patch +Patch10: subversion-1.8.13-swigpython.patch BuildRequires: autoconf, libtool, python, python-devel, texinfo, which BuildRequires: libdb-devel >= 4.1.25, swig >= 1.3.24, gettext BuildRequires: apr-devel >= 1.3.0, apr-util-devel >= 1.3.0 @@ -177,6 +179,8 @@ This package includes supplementary tools for use with Subversion. %patch3 -p1 -b .kwallet %patch4 -p1 -b .rubybind %patch8 -p1 -b .swigplWall +%patch9 -p1 -b .r1655262+ +%patch10 -p1 -b .swigpython %build # Regenerate the buildsystem, so that: @@ -466,6 +470,10 @@ rm -rf ${RPM_BUILD_ROOT} %endif %changelog +* Tue Apr 7 2015 Joe Orton - 1.8.13-1 +- update to 1.8.13 (#1207835) +- attempt to patch around SWIG issues + * Tue Dec 16 2014 Joe Orton - 1.8.11-1 - update to 1.8.11 (#1174521) - require newer libserf (#1155670)