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