<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Download Apache Rivet</title>
    <link rel="stylesheet" href="../templates/wondrous/styles.css" type="text/css" />
</head>

<body>
    <div id="container">
        <div id="header">
            <h1><a href="../index.html">Rivet</a></h1>
            <h2 id="slogan">Webscripting for Tcl'ers</h2>
            <div class="clear"></div>
        </div>
        <div id="body">
            <div id="content">
                <h2>Download Apache Rivet</h2>
                <div>
    <div class="sez">
        <h4>Source Code</h4>
        <p>
		      The latest stable <b>Rivet</b>

 release may be downloaded from one the links pointing to ASF mirror sites 
		      <p>
                <code>
                    <a href="http://www.apache.org/dyn/closer.lua/tcl/rivet">http://www.apache.org/dyn/closer.lua/tcl/rivet</a>
                </code>
            </p>
        </p>
    </div>
    <div class="sez">
        <h4>SuSE</h4>
        <p>
				Thanks to the efforts of Harald Oehlmann, Apache Rivet is available from
				<a href="http://software.opensuse.org/search?q=apache2-mod_rivet">OpenSUSE</a>

 
				for many flavours of Linux 
		                        </p>
    </div>
    <div class="sez">
        <h4>RPM</h4>
        <p>
		    Jeff Lawson prepared a 
		    <a href="https://github.com/repoforge/rpms/tree/master/specs/mod_rivet/">.spec file</a>


		    for RPMforge that can be used to build an .rpm out of the source code. 
            <a href="http://repoforge.org/use/">Installation instructions</a>

 are available at Repoforge.
		                      </p>
    </div>
    <div class="sez">
        <h4>Debian and Ubuntu</h4>
        <p>
			Rivet was kindly sponsored by Sven Hoexter, Debian Developer. You
			can download it from from Debian as 
			<a href="http://packages.qa.debian.org/liba/libapache2-mod-rivet.html">libapache2-mod-rivet</a>

 (binary module and configuration) and 
			<a href="http://packages.debian.org/jessie/libapache2-mod-rivet-doc">libapache2-mod-rivet-doc</a>

 (HTML manual). 
		                      </p>
        <p>
			Rivet is also available on 
			<a href="https://launchpad.net/ubuntu/+source/libapache2-mod-rivet">launchpad.net</a>

 for the Ubuntu series of Linux
		                      </p>
    </div>
    <div class="sez">
        <h4>FreeBSD</h4>
        <p>
                Peter Lai is maintaining a <a href="http://www.freebsd.org/">FreeBSD</a>

 port available as <b>www/mod_rivet</b>
        </p>
    </div>
    <div class="sez">
        <h4>Development code on GitBox or GitHub</h4>
        <p>
            <b>Apache Rivet</b>

 is actively developed - you can always get the full git repository from either GitBox.
		                      </p>
        <p>
            <code>git clone https://gitbox.apache.org/repos/asf/tcl-rivet.git rivet</code>
        </p>
        <p>or from GitHub</p>
        <p>
            <code>git clone https://github.com/apache/tcl-rivet.git rivet</code>
        </p>
        <!-- p>
			In addition, for your convenience, snapshots of the SVN tree are available here: 
			<a href="http://cvs.apache.org/snapshots/tcl-rivet/">http://cvs.apache.org/snapshots/tcl-rivet/</a>
		  </p -->
    </div>
</div>



                <div class="contentbottom">
                    
                </div>
            </div>

            <div class="sidebar">
                <ul>
                    <li id="news">
    <h4>News</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="rn%2d2%2d3.html">11 Nov 2017: Rivet 2.3.5 released</a>
        </li>
        <li class="navitem">
            <a href="rn%2d3%2d0.html">7 Jul 2018: Rivet 3.0.2 released</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                    <li id="home">
    <h4>Rivet</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="A home for Rivet" href="../index.html">Rivet Homepage</a>
        </li>
        <li class="navitem">
            <a title="Home of Apache Tcl related stuff" target="asf" href="http://tcl.apache.org/">Apache Tcl Home</a>
        </li>
        <li class="navitem">
            <a title="Getting Rivet" href="download.html">Getting Rivet</a>
        </li>
        <li class="navitem">
            <a title="Hello World!" href="hello%5fworld.html">Examples</a>
        </li>
        <li class="navitem">
            <a title="The Rivet development team" href="about.html">About Us - Contact</a>
        </li>
    </ul>
</li>
<li id="tcl">
    <h4>Tcl/Tk</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="The Tcl Developer Xchange" target="tclxchange" class="extern" href="http://www.tcl.tk/">
                The Tcl/Tk Language
                </a>
        </li>
        <li class="navitem">
            <a title="Tcl community wiki site" target="tclwiki" class="extern" href="http://wiki.tcl.tk/">Tcl'ers Wiki</a>
        </li>
    </ul>
</li>
<li id="manual">
    <h4>Documentation</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Rivet 2.1 Manual" target="rivetman2.1" href="http://tcl.apache.org/rivet/manual2.1/">Rivet 2.1</a>
        </li>
        <li class="navitem">
            <a title="Rivet 2.2 Manual" target="rivetman2.2" href="http://tcl.apache.org/rivet/manual2.2/">Rivet 2.2</a>
        </li>
        <li class="navitem">
            <a title="Rivet 2.3 Manual" target="rivetman2.3" href="http://tcl.apache.org/rivet/manual2.3/">Rivet 2.3</a>
        </li>
        <li class="navitem">
            <a title="Rivet 3.0 Manual" target="rivetman3.0" href="http://tcl.apache.org/rivet/manual3.0/">Rivet 3.0</a>
        </li>
    </ul>
</li>
<li id="support">
    <h4>Support</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Apache Rivet Bugzilla" class="extern" href="https://issues.apache.org/bugzilla/buglist.cgi?quicksearch=Rivet">Bug Reports</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                    <li id="acknowledgments">
    <h4>Acknowledgments</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="http://www.apache.org/foundation/thanks.html">ASF Sponsorship</a>
        </li>
    </ul>
</li>
 
                </ul> 
            </div>
            <div class="clear"></div>
        </div>
    </div>
    <div id="footer">
        <div class="footer-content">
            <p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p>
        </div>
    </div>
    <div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body>
</html>

