diff --git a/chronochat/debian/patches/01-chronosync-static.diff b/chronochat/debian/patches/01-chronosync-static.diff
new file mode 100644
index 0000000..96e9eb7
--- /dev/null
+++ b/chronochat/debian/patches/01-chronosync-static.diff
@@ -0,0 +1,17 @@
+Index: chronochat_0.5.0/ChronoSync/wscript
+===================================================================
+--- chronochat_0.5.0.orig/ChronoSync/wscript	2014-09-04 14:32:44.666470855 -0700
++++ chronochat_0.5.0/ChronoSync/wscript	2014-09-04 14:33:17.070664976 -0700
+@@ -42,10 +42,11 @@ def build(bld):
+     libsync = bld(
+         target="ChronoSync",
+         # vnum = "1.0.0",
+-        features=['cxx', 'cxxshlib'],
++        features=['cxx', 'cxxstlib'],
+         source =  bld.path.ant_glob(['src/**/*.cc', 'src/**/*.proto']),
+         use = 'BOOST NDN_CXX',
+         includes = ['src'],
++        install_path = '${LIBDIR}',
+         )
+
+     # Unit tests
diff --git a/chronochat/debian/patches/20-openssl.diff b/chronochat/debian/patches/20-openssl.diff
new file mode 100644
index 0000000..944bfb9
--- /dev/null
+++ b/chronochat/debian/patches/20-openssl.diff
@@ -0,0 +1,91 @@
+Index: chronochat_0.5.0~rc0/wscript
+===================================================================
+--- chronochat_0.5.0~rc0.orig/wscript	2014-09-04 15:48:47.727801874 -0700
++++ chronochat_0.5.0~rc0/wscript	2014-09-04 15:48:51.000000000 -0700
+@@ -9,7 +9,7 @@
+ 
+     opt.load(['compiler_c', 'compiler_cxx', 'qt4', 'gnu_dirs'])
+ 
+-    opt.load(['default-compiler-flags', 'boost', 'protoc',
++    opt.load(['default-compiler-flags', 'boost', 'protoc', 'openssl',
+               'doxygen', 'sphinx_build'],
+               tooldir=['waf-tools'])
+ 
+@@ -23,7 +23,7 @@
+ 
+ def configure(conf):
+     conf.load(['compiler_c', 'compiler_cxx', 'qt4',
+-               'default-compiler-flags', 'boost', 'protoc', 'gnu_dirs',
++               'default-compiler-flags', 'boost', 'protoc', 'gnu_dirs', 'openssl',
+                'doxygen', 'sphinx_build'])
+ 
+     conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'],
+@@ -37,6 +37,8 @@
+     conf.check_cfg (package='ChronoSync', args=['ChronoSync >= 0.1', '--cflags', '--libs'],
+                     uselib_store='SYNC', mandatory=True)
+ 
++    conf.check_openssl()
++
+     boost_libs = 'system random thread filesystem'
+     if conf.options.with_tests:
+         conf.env['WITH_TESTS'] = 1
+@@ -65,7 +67,7 @@
+         defines = "WAF=1",
+         source = bld.path.ant_glob(['src/*.cpp', 'src/*.ui', '*.qrc', 'logging.cc', 'src/*.proto']),
+         includes = "src .",
+-        use = "QTCORE QTGUI QTWIDGETS QTSQL NDN_CXX BOOST LOG4CXX SYNC",
++        use = "QTCORE QTGUI QTWIDGETS QTSQL NDN_CXX BOOST LOG4CXX SYNC OPENSSL",
+         )
+ 
+     # Unit tests
+Index: chronochat_0.5.0~rc0/waf-tools/openssl.py
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ chronochat_0.5.0~rc0/waf-tools/openssl.py	2014-09-04 15:50:42.876551986 -0700
+@@ -0,0 +1,46 @@
++#! /usr/bin/env python
++# encoding: utf-8
++
++'''
++
++When using this tool, the wscript will look like:
++
++    def options(opt):
++        opt.tool_options('openssl')
++
++    def configure(conf):
++        conf.load('compiler_cxx openssl')
++        conf.check_openssl()
++
++    def build(bld):
++        bld(source='main.cpp', target='app', use='OPENSSL')
++
++'''
++
++from waflib import Options
++from waflib.Configure import conf
++
++@conf
++def check_openssl(self,*k,**kw):
++    root = k and k[0] or kw.get('path', None) or Options.options.with_openssl
++    mandatory = kw.get('mandatory', True)
++    var = kw.get('uselib_store', 'OPENSSL')
++
++    if root:
++        libcrypto = self.check_cxx(lib=['ssl', 'crypto'],
++                       msg='Checking for OpenSSL library',
++                       define_name='HAVE_%s' % var,
++                       uselib_store=var,
++                       mandatory=mandatory,
++                       includes="%s/include" % root,
++                       libpath="%s/lib" % root)
++    else:
++        libcrypto = self.check_cxx(lib=['ssl', 'crypto'],
++                       msg='Checking for OpenSSL library',
++                       define_name='HAVE_%s' % var,
++                       uselib_store=var,
++                       mandatory=mandatory)
++
++def options(opt):
++    opt.add_option('--with-openssl', type='string', default=None,
++                   dest='with_openssl', help='''Path to OpenSSL''')
diff --git a/chronochat/debian/patches/series b/chronochat/debian/patches/series
new file mode 100644
index 0000000..f929934
--- /dev/null
+++ b/chronochat/debian/patches/series
@@ -0,0 +1,2 @@
+01-chronosync-static.diff
+20-openssl.diff
