Hi,
I've ended with the attached patch. I do not want to commit yet, because I
feel like I butchered Fernando's work, and I'd like him to agree. What it
mainly does:
Move swig and python to recommended, so that default instructions build Perl
and Python bindings.
Regards
Pierre
Index: blfsbook/general/prog/subversion.xml
===================================================================
--- blfsbook.orig/general/prog/subversion.xml 2013-12-15 18:16:33.000000000 +0100
+++ blfsbook/general/prog/subversion.xml 2013-12-15 20:54:33.000000000 +0100
@@ -87,8 +87,11 @@
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
- <xref linkend="openssl"/> and
- <xref linkend="serf"/> (for handling http:// and https:// URLs)
+ <xref linkend="openssl"/>,
+ <xref linkend="python2"/> (with sqlite support for the tests),
+ <xref linkend="serf"/> (for handling http:// and https:// URLs), and
+ <xref linkend="swig"/> (for building Perl, Python and optionally Ruby
+ bindings)
</para>
<!-- support for berkeley db is deprecated since 1.8
@@ -111,7 +114,6 @@
<xref linkend="cyrus-sasl"/>,
<xref linkend="dbus"/>,
<xref linkend="kdelibs"/> (for <ulink url="http://utils.kde.org/projects/kwalletmanager/">KWallet</ulink> support),
- <xref linkend="python2"/> (required to run the test suite) and
<xref linkend="ruby"/>
</para>
@@ -123,11 +125,6 @@
and <xref linkend="junit"/> (to test the Java bindings)
</para>
- <bridgehead renderas="sect4">Optional (for the SWIG Bindings)</bridgehead>
- <para role="optional">
- <xref linkend="swig"/>
- </para>
-
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/subversion"/>
</para>
@@ -141,10 +138,14 @@
commands:
</para>
-<screen><userinput>./configure --prefix=/usr \
+<screen><userinput>sed -i 's#Makefile.PL.in$#& libsvn_swig_perl#' Makefile.in &&
+./configure --prefix=/usr \
--disable-static \
- --with-apache-libexecdir=$(/usr/bin/apxs -q libexecdir) &&
-make</userinput></screen>
+ --with-apache-libexecdir &&
+make &&
+make swig-pl &&
+make swig-py swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
+ swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn</userinput></screen>
<para>
If you have <xref linkend="doxygen"/> installed and you wish to build the
@@ -159,7 +160,7 @@
<screen><userinput>make javahl</userinput></screen>
- <para>
+<!-- <para>
If you have a multi core CPU and normally run <command>make</command> with
multiple jobs (eg <command>make -j4</command>) then a bug in the
<filename>Makefile</filename> will prevent the
@@ -168,16 +169,12 @@
</para>
<screen><userinput>sed -i 's#Makefile.PL.in$#& libsvn_swig_perl#' Makefile.in</userinput></screen>
-
+-->
<para>
- To compile the <application>Perl</application>,
- <application>Python</application> or <application>Ruby</application>
- bindings issue any of the following commands:
+ To compile <application>Ruby</application>
+ bindings, issue the following command:
</para>
-<screen><userinput>make swig-pl &&
-make swig-py swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
- swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn &&
-make swig-rb</userinput></screen>
+<screen><userinput>make swig-rb</userinput></screen>
<para>
To test the results, issue: <command>make -k check</command>. One test
@@ -204,6 +201,9 @@
</para>
<screen role="root"><userinput>make install &&
+make install-swig-pl &&
+make install-swig-py swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
+ swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn &&
install -v -m755 -d /usr/share/doc/subversion-&subversion-version; &&
cp -v -R doc/* \
/usr/share/doc/subversion-&subversion-version;</userinput></screen>
@@ -216,30 +216,44 @@
<screen role="root"><userinput>make install-javahl</userinput></screen>
<para>
- If you built any of the <application>SWIG</application> bindings, issue
- any of the following commands as the
- <systemitem class="username">root</systemitem> user to install them:
+ If you built the <application>SWIG</application>
+ <application>Ruby</application> bindings, issue the following commands
+ as the <systemitem class="username">root</systemitem> user to install
+ them:
</para>
-<screen role="root"><userinput>make install-swig-pl &&
-make install-swig-py swig_pydir=/usr/lib/python&python2-majorver;/site-packages/libsvn \
- swig_pydir_extra=/usr/lib/python&python2-majorver;/site-packages/svn &&
-make install-swig-rb</userinput></screen>
+<screen role="root"><userinput>make install-swig-rb</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
+ <para>
+ <command>sed -i 's#Makefile.PL.in$...</command>: Corrects a
+ bug in the <filename>Makefile</filename>, which prevents using
+ parallel jobs for Perl bindings.
+ </para>
+
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
<para>
- <parameter>--with-apache-libexecdir=...</parameter>:
+ <parameter>--with-apache-libexecdir</parameter>:
This switch sets <application>Apache HTTPD</application>
module install dir.
</para>
+ <para>
+ <command>make swig-<language></command>: Builds <language>
+ bindings.
+ </para>
+
+ <para>
+ <command>make install-swig-<language></command>: Installs
+ <language> bindings.
+ </para>
+
</sect2>
<sect2 role="configuration">
@@ -303,10 +317,10 @@
</seg>
<seg>
/usr/include/subversion-1,
- /usr/lib/perl5/site_perl/&lfs-perl-version;/auto/SVN (optional),
- /usr/lib/perl5/site_perl/&lfs-perl-version;/SVN (optional),
- /usr/lib/python&python2-majorver;/site-packages/libsvn (optional),
- /usr/lib/python&python2-majorver;/site-packages/svn (optional),
+ /usr/lib/perl5/site_perl/&lfs-perl-version;/auto/SVN,
+ /usr/lib/perl5/site_perl/&lfs-perl-version;/SVN,
+ /usr/lib/python&python2-majorver;/site-packages/libsvn,
+ /usr/lib/python&python2-majorver;/site-packages/svn,
/usr/lib/ruby/site_ruby/<x.y>/i686-linux/svn (optional),
/usr/lib/ruby/site_ruby/<x.y>/svn (optional),
<!-- /usr/lib/svn-python/libsvn (optional),
--
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page