Saturday, January 20, 2007

HOWTO compile subversion-1.3.2 so that it works with bzr-svn-0.3

This was written because simply using the patch at the bzr-svn web page is not sufficient for getting it to work with subversion-1.3.2, which I'm using because that's what's stable for Gentoo's x86 ebuilds.

Note 1: I have a Gentoo ebuild that corresponds to these directions. Add a comment if you want it.

Note 2: Where there are instances of lynx -source [url], it can be substituted for wget -O - [url] when lynx is not available.

  1. Unpack the subversion-1.3.2 tarball: tar -xjf subversion-1.3.2.tar.bz2
  2. Change directory to the subversion source directory: cd subversion-1.3.2
  3. Apply this patch to the source (this patch came from the Ubuntu Edgy source diffs, but slightly modified): lynx -source 'http://www.lazymalevolence.com/patches/subversion-1.3.2-debian-x-python-bindings.patch' | patch -p0
  4. Remove some of the generated .swg files, or else the compile will fail: rm subversion/bindings/swig/proxy/*.swg
  5. (This step is for people who have swig 1.3.31 installed; I haven't tested with any other version.) Convert the language typemaps to #ifdefs, to get rid of a bunch of warnings: (cd subversion/bindings/swig && lynx -source 'http://svn.collab.net/viewvc/*checkout*/svn/trunk/subversion/bindings/swig/convert-typemaps-to-ifdef.py?revision=19926&pathrev=19927' | python -)
  6. Regenerate all of the configure files, Makefile.in and the .swg files, among others: ./gen-make.py build.conf; make -f autogen-standalone.mk autogen-swig; (p=`pwd`;for d in . apr{,-util}; do cd $p/$d && autoconf; done)
  7. Proceed normally in the build cycle: ./configure && make all install

1 comment:

Jelmer Vernooij said...

Any chance you can publish those ebuilds so we can link to them from the bzr-svn wiki page?

Thanks!