From 4541216846b325a33caa0dcdc8a6f0f39d9f3216 Mon Sep 17 00:00:00 2001
From: Lukasz Nowak <luke@nexedi.com>
Date: Wed, 28 Nov 2018 12:29:12 +0100
Subject: [PATCH] component/quic_client-bin: New component

---
 component/quic_client-bin/buildout.cfg | 55 ++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100644 component/quic_client-bin/buildout.cfg

diff --git a/component/quic_client-bin/buildout.cfg b/component/quic_client-bin/buildout.cfg
new file mode 100644
index 000000000..e357665f3
--- /dev/null
+++ b/component/quic_client-bin/buildout.cfg
@@ -0,0 +1,55 @@
+# Command line tool to test QUIC protocol
+# This is compiled version provided by Lucas Clemente (thanks!), which
+# drastically simplifies https://www.chromium.org/quic/playing-with-quic
+# approach, which requires big chunks of Chromium compilation environment
+[buildout]
+extends =
+# running
+  ../nss/buildout.cfg
+  ../nspr/buildout.cfg
+  ../glib/buildout.cfg
+  ../pcre/buildout.cfg
+  ../libffi/buildout.cfg
+  ../zlib/buildout.cfg
+  ../libuuid/buildout.cfg
+# compilation
+  ../git/buildout.cfg
+
+parts =
+  quic_client-bin
+
+[quic_client-bin]
+recipe = slapos.recipe.build
+url = https://github.com/lucas-clemente/quic-clients/archive/557cb1f99f591614d474e182b50cfee9334e0ffd.zip
+md5sum = e2c78f4f7fb6ed03f6eec25b5e54fed3
+slapos_promise =
+    file:quic_client
+    file:client-linux-debug
+library =
+  ${nss:location}/lib
+  ${nspr:location}/lib
+  ${glib:location}/lib
+  ${pcre:location}/lib
+  ${libffi:location}/lib
+  ${zlib:location}/lib
+  ${libuuid:location}/lib
+script =
+  import glob
+  location = %(location)r
+  self.failIfPathExists(location)
+  url = self.options['url']
+  md5sum = self.options['md5sum']
+  extract_dir = self.extract(self.download(url, md5sum))
+  os.mkdir(location)
+  source_file = glob.glob(os.path.join(extract_dir, '*', 'client-linux-debug'))[0]
+  shutil.copy(source_file, location)
+  wrapper_path = os.path.join(location, 'quic_client')
+  with open(wrapper_path, 'w') as f:
+    f.write("""#!/bin/sh -e
+  export LD_LIBRARY_PATH={}
+  exec {}/client-linux-debug "$@"
+  """.format(
+    ':'.join(self.options['library'].split()),
+    location
+  ))
+    os.fchmod(f.fileno(), 0o755)
-- 
2.30.9