diff --git a/.travis.yml b/.travis.yml
index 0795eabd7b525e338475fd385a1439930487a5f8..1f1dfc252bf519dc62a17b3aaa8966d1c449f48d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,9 @@
+sudo: false
 language: python
 python:
   - "3.4"
-# command to install dependencies
+before_install:
+ - bash ci/libsodium.sh
 install:
   - pip install -r requirements.txt
 # command to run tests
diff --git a/ci/libsodium.sh b/ci/libsodium.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e0d658b8a532c4e40a9cb7d7a1ec3e1cc67cf98f
--- /dev/null
+++ b/ci/libsodium.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -ev
+
+git clone git://github.com/jedisct1/libsodium.git
+cd libsodium
+git checkout tags/1.0.3
+./autogen.sh
+if [[ $TRAVIS_OS_UNAME = 'Darwin' ]]; then
+  export CFLAGS="-Os -m32 -arch i386";
+  export LDFLAGS="-m32 -arch i386";
+fi
+./configure
+make && make install
+if [[ $TRAVIS_OS_UNAME = 'Linux' ]]; then ldconfig; fi
\ No newline at end of file