-
Notifications
You must be signed in to change notification settings - Fork 13
Home
swirl
is developed on Mac OS X 10.9
and FreeBSD 10
in parallel, and tested against Ubuntu on https://travis-ci.org/ after each commit as well. The latest available Erlang/OTP release is used (currently at OTP 18.0.1), however any version since the 17.0 release should be compatible.
FreeBSD 10.0 was chosen because zfs is the only prudent filesystem if your data is of any value to you, and it's got a great network stack under the hood.
Swirl has no external dependencies other than Erlang/OTP so git, gnu make, and erlang are sufficient. To build the docs, you'll need hugo and perl
installed too.
The approach for FreeBSD, linux and OSX should be pretty much the same. Windows, while not tested, should work if using cygwin
or mingw
as a shell.
git clone git://github.com/skunkwerks/swirl/
cd swirl
make all dev
Check out the README.md in the project repo for more information.
LibSwift is the companion reference GPL-licenced tool, which is easily buildable on most common Unix platforms. It's great for testing and debugging output together with swirl
.
Using the homebrew package manager, simply create a new file in /usr/local/Library/Formula/libswift.rb
with the following contents:
class Libswift < Formula
homepage "http://libswift.org/"
url "https://github.com/libswift/libswift/archive/v0.1-beta.tar.gz"
version "0.1-beta"
sha256 "ba7869e0a4e1ec4b6b8f526ffc53137d9f39b5da1562b3bac1454a60f4ceb88b"
head "https://github.com/libswift/libswift.git", :branch => :devel
depends_on "libevent"
def install
system "make"
bin.install "swift" => "libswift"
end
test do
# make a merkle tree hash from an arbitrary file
system "#{bin}/libswift", "-f", "#{bin}/libswift"
end
end
and then brew install -v libswift
, or use brew install -v --HEAD libswift
for the latest development branch.
You'll need the dev versions of both openssl and libevent2 packages.
sudo apt-get install -y libevent-dev libssl-dev build-essential git
git clone git://github.com/libswift/libswift
cd libswift
make swift-dynamic
As usual there's a swift
binary now built for you.
You'll need the devel versions of both openssl and libevent2 packages, for older fedora versions, make sure you're not getting a version that's < 2.0 please.
sudo yum install -y libevent-devel openssl-devel
git clone git://github.com/libswift/libswift
cd libswift
make swift-dynamic
You now should have a working swift
binary inside the git repo.
The upstream patch for FreeBSD has finally been merged, so clone and build the devel branch.
pkg install curl git gmake libevent2
git clone git://github.com/libswift/libswift
cd libswift
gmake swift-static
You now should have a working swift
static binary inside the git repo. You may also want a compatible FreeBSD rc.d/swift script, to start/stop swift as a daemon. Save it as /usr/local/etc/swift
as usual.
You can usually connect to ppsp://wintermute.skunkwerks.at:7777/c89800bfc82ed01ed6e3bfd5408c51274491f7d4
to grab a hash. Make sure you're going over IPv4 if you are having issues.
For OSX use libswift
instead of swift
; the latter is the new Apple programming language compiler.
./swift --debug --progress \
--tracker 144.76.138.208:7777 \
--hash c89800bfc82ed01ed6e3bfd5408c51274491f7d4 \
-o /tmp/