> On Apr 8, 2005 10:37 PM, Kouhei Sutou <kou / cozmixng.org> wrote:
> > I don't have Windows box, so I can't help you about the
> > thing. But INSTALL file in Subversion repository may help
> > you:
> 
> I'll give it a whirl, see what happens.

From the INSTALL file:

  E.1 Prerequisites

      * Visual Studio 6 and service pack. It can be built with Visual Studio
        7 (aka Visual Studio.NET aka Visual Studio.NET 2002) but these
        instructions assumes VS6.
      * A recent Windows SDK, the one provided with Visual Studio 6 is
        too old. You only need the 'Core SDK'. You can get it from MSDN
        if you have it or from
        http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ if you
        don't.
      * Python 2.2 or higher, downloaded from http://www.python.org/ which is
        used to generate the project files.
      * Perl 5.8 or higher from http://www.activestate.com/
      * Awk, from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe
        This is needed to compile Apache or APR.  Note that this is the
        actual awk program, not an installer - just rename it to awk.exe
        and it is ready to use.
      * Neon 0.24.7 or higher, downloaded from
        http://www.webdav.org/neon/neon-0.24.7.tar.gz which is required
        for building the client components.  Neon is included in the zip file
        distribution.
      * Berkeley DB is required for support for local server components,
        version 4.2.52 is available from
        http://subversion.tigris.org/servlets/ProjectDocumentList as
        db-4.2.52-win32.zip. For more information see Section I.5.
      * Apache 2 source, downloaded from
        http://httpd.apache.org/download.cgi, these instructions assume
        version 2.0.50.  Only needed for building the server dso modules.
      * Apache 2 msi install file, also from
        http://httpd.apache.org/download.cgi (required for running the
        tests).  Only needed for testing the server dso modules.
      * Apache apr, apr-util, and apr-iconv libraries, version 0.9.5.
        Included in both the Subversion ZIP file and the Apache 2 source
        tarball.  If you are building from a Subversion checkout and have
        not downloaded Apache 2, then get these 3 libraries from
        http://www.apache.org/dist/apr/
      * ZLib 1.1.4 or higher (version 1.1.x) binaries
        http://www.winimage.com/zLibDll/zlib114dll.zip.
      * Openssl 0.9.7d or higher obtained from
        http://www.openssl.org/source/openssl-0.9.7d.tar.gz
      * An assembler, e.g., nasm which is available from
        http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
      * For localization gnu gettext is needed.  Get
        gettext-runtime-0.13.bin.woe32.zip,
        gettext-tools-0.13.bin.woe32.zip, and
        libiconv-1.9.1.bin.woe32.zip from
        http://mirrors.kernel.org/gnu/gettext/ and
        http://mirrors.kernel.org/gnu/libiconv/.
      * Either a Subversion client binary from http://subversion.tigris.org/ to
        do the initial checkout of the Subversion source or the zip file
        source distribution. See the section "Bootstrapping from a Zip or
        Installer File under Windows" above for more.
      * A means of unpacking the files.  The Subversion tar.gz file uses the
        POSIX.1 standard for file names which exceed 100 characters.  This
        format is not understood by all programs which claim to be able to
        unpack .tar.gz files.  Notable examples of this are WinZip and the
        utilities which can be found at http://unxutils.sourceforge.net/.  The
        version of tar at http://gnuwin32.sourceforge.net/ is derived from GNU
        tar, so it can handle POSIX.1. However, it is *not* able to unpack
        gzip files, although it is able to read a pipe from gzip.  Cygwin can
        unpack this file, however cygwin is a large package to install such
        just to unpack the tarball on Windows.  To avoid these problems use
        the Subversion zip file source distribution.  The other required
        package which is packaged as a tar file (openssl) can be unpacked with
        any of the utilities mentioned.

Please tell me that I don't need to do all of that just to generate
the SWIG bindings for Windows... (mumble, grumble, why can't this be
automated more easily?)

I was looking through the pickaxe book and I saw that rubygems seems
to make allowance for precompiled gems...  Can I make use of this?

Ultimately, what I'd like to create is a simple ruby-svn gem that can
be installed anywhere with zero hassle.  If it's possible, I'd like to
just include the external libraries for svn for each of the possible
platforms inside the gem or something like that.  I don't want to rely
on the library's user actually having all of the required build tools
(especially for the windows platform).  Is this possible?  If so, how
hard is it, and what do I have to watch out for as far as pitfalls? 
I'd prefer not to have to make seperate gems for each platform, is
that possible, given what I want to do?

For that matter, how hard would it be to make a pure-ruby svn client
that conversed with svn only via http/apache?  How bad of an idea is
this?

Be aware, I've never tried to make a gem before.  (Heck, I'm only just
getting started with ruby, so...)
-- 
Bob Aman