talks: fosdem-2020: Add talk for "container" track.

* talks/fosdem-2020/containers: New directory.
This commit is contained in:
Ludovic Courtès 2020-01-27 11:21:34 +01:00
parent 9c805c574d
commit 3ddaff3082
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
35 changed files with 3110 additions and 0 deletions

9
.gitignore vendored
View File

@ -194,3 +194,12 @@
/talks/bluehats-2019/talk.snm
/talks/bluehats-2019/talk.toc
/talks/bluehats-2019/talk.vrb
/talks/fosdem-2020/containers/talk.aux
/talks/fosdem-2020/containers/talk.log
/talks/fosdem-2020/containers/talk.nav
/talks/fosdem-2020/containers/talk.out
/talks/fosdem-2020/containers/talk.pdf
/talks/fosdem-2020/containers/talk.snm
/talks/fosdem-2020/containers/talk.toc
/talks/fosdem-2020/containers/talk.vrb
/talks/fosdem-2020/containers/talk.dvi

View File

@ -0,0 +1 @@
../../../aramis-2019/images/Git-Logo-2Color.pdf

View File

@ -0,0 +1 @@
../../../fosdem-2019/minimalist/images/Guix-horizontal-print.pdf

View File

@ -0,0 +1 @@
../../../fosdem-2019/minimalist/images/Guix-white.pdf

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 KiB

View File

@ -0,0 +1 @@
../../../aramis-2019/images/arrow-right.pdf

View File

@ -0,0 +1,137 @@
digraph "Guix bag" {
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" [label = "make-boot0@4.2.1", shape = box, fontname = Helvetica];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/wmf4y32lq5jrci7q85pgrkq9bckkziqf-gcc-mesboot-wrapper-4.7.4.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/awv71y21ybrr68ygxd154ivaaclj4qg2-bootstrap-mescc-tools-0.5.2.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/fl6qxjcg355pagvngd96gf5nir678cwk-bootstrap-mes-0.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/xmqfk1h1725w6gbxfpvhdvv71ib9870s-make-boot0-4.2.1.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = red];
"/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" -> "/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" [color = red];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = magenta];
"/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = magenta];
"/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
"/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" [color = dimgrey];
"/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = dimgrey];
"/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = dimgrey];
"/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
"/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" -> "/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" [color = red];
"/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" -> "/gnu/store/dsn288nnc52x09mswnjs98y366k9brcq-tcc-boot0-0.9.26-6.c004e9a.drv" [color = red];
"/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = red];
"/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" [label = "mes-boot@0.19", shape = box, fontname = Helvetica];
"/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" -> "/gnu/store/awv71y21ybrr68ygxd154ivaaclj4qg2-bootstrap-mescc-tools-0.5.2.drv" [color = dimgrey];
"/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" -> "/gnu/store/fl6qxjcg355pagvngd96gf5nir678cwk-bootstrap-mes-0.drv" [color = dimgrey];
"/gnu/store/awv71y21ybrr68ygxd154ivaaclj4qg2-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
"/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
"/gnu/store/fl6qxjcg355pagvngd96gf5nir678cwk-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
"/gnu/store/dsn288nnc52x09mswnjs98y366k9brcq-tcc-boot0-0.9.26-6.c004e9a.drv" [label = "tcc-boot0@0.9.26-6.c004e9a", shape = box, fontname = Helvetica];
"/gnu/store/dsn288nnc52x09mswnjs98y366k9brcq-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" [color = darkviolet];
"/gnu/store/dsn288nnc52x09mswnjs98y366k9brcq-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/awv71y21ybrr68ygxd154ivaaclj4qg2-bootstrap-mescc-tools-0.5.2.drv" [color = darkviolet];
"/gnu/store/dsn288nnc52x09mswnjs98y366k9brcq-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/dsn288nnc52x09mswnjs98y366k9brcq-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/fl6qxjcg355pagvngd96gf5nir678cwk-bootstrap-mes-0.drv" [color = darkviolet];
"/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
"/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" -> "/gnu/store/cn42d0h7l8zc72sj20xnr3w47za4kw6s-mes-boot-0.19.drv" [color = dimgrey];
"/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" -> "/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" [color = dimgrey];
"/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = dimgrey];
"/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
"/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" -> "/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" [color = dimgrey];
"/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" [color = magenta];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" [color = magenta];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = magenta];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = magenta];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/6wchqw6i2jlqvr29sgakznwr2vpz7g8y-mesboot-headers-0.19.drv" [color = magenta];
"/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = magenta];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/zajwffxc2bi3kby5898rjwp3ycdx6sjy-tcc-boot-0.9.27.drv" [color = darkseagreen];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkseagreen];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = darkseagreen];
"/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = darkseagreen];
"/gnu/store/6wchqw6i2jlqvr29sgakznwr2vpz7g8y-mesboot-headers-0.19.drv" [label = "mesboot-headers@0.19", shape = box, fontname = Helvetica];
"/gnu/store/6wchqw6i2jlqvr29sgakznwr2vpz7g8y-mesboot-headers-0.19.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkgoldenrod];
"/gnu/store/6wchqw6i2jlqvr29sgakznwr2vpz7g8y-mesboot-headers-0.19.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
"/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/pywx782lm7nrsbg2dxzzh6f3cgsyic35-gcc-core-mesboot-2.95.3.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
"/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = darkviolet];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/6wchqw6i2jlqvr29sgakznwr2vpz7g8y-mesboot-headers-0.19.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/27zvyk378j2vyyqv9l1dlqzp5ldqqkaz-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
"/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" [color = dimgrey];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/xqp9xn8v370sf887rhrns68cvg3kz2n3-binutils-mesboot0-2.20.1a.drv" [color = peachpuff4];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/zrnhglk67xc8701zbsw58c0fmnbp75z0-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/crfm7vmph6cw1chfnxxdf2f9pvg62knp-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/bkjm21s9f7797bb30dx56azmhd2gnvqa-make-mesboot0-3.80.drv" [color = peachpuff4];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
"/gnu/store/wmf4y32lq5jrci7q85pgrkq9bckkziqf-gcc-mesboot-wrapper-4.7.4.drv" [label = "gcc-mesboot-wrapper@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/wmf4y32lq5jrci7q85pgrkq9bckkziqf-gcc-mesboot-wrapper-4.7.4.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = cyan3];
"/gnu/store/wmf4y32lq5jrci7q85pgrkq9bckkziqf-gcc-mesboot-wrapper-4.7.4.drv" -> "/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" [color = cyan3];
"/gnu/store/wmf4y32lq5jrci7q85pgrkq9bckkziqf-gcc-mesboot-wrapper-4.7.4.drv" -> "/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" [color = cyan3];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/aiy6k5wlrjzl7kxd9zfpxb5nfjdxiq82-binutils-mesboot-2.20.1a.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/sbgi11hwbr41zd3hjg2w18w27fphisw1-gcc-mesboot1-wrapper-4.7.4.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/17hzzynybbdnyiwg5cbh3y9ba8kb0vxg-diffutils-mesboot-2.7.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/vrq2a7h6ya4gws23hqn6ygi7wnib6496-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
"/gnu/store/ghpg2libayj02dkm6hkp6d44ivkv894z-gcc-mesboot-4.9.4.drv" -> "/gnu/store/lkmx7360vlvfigz88s4y427m72w8as1a-make-mesboot-3.82.drv" [color = peachpuff4];
"/gnu/store/sbgi11hwbr41zd3hjg2w18w27fphisw1-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
"/gnu/store/sbgi11hwbr41zd3hjg2w18w27fphisw1-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/n08bmic0cc7xsbxz7vapbh8rkk27qyis-bootstrap-binaries-0.drv" [color = darkviolet];
"/gnu/store/sbgi11hwbr41zd3hjg2w18w27fphisw1-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/mw0skn92ac1nqhmh89qsqwm27jz3l1jq-glibc-mesboot-2.16.0.drv" [color = darkviolet];
"/gnu/store/sbgi11hwbr41zd3hjg2w18w27fphisw1-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/iynqblmi51xxnzr2i6vyb59lk0l6phzi-gcc-mesboot1-4.7.4.drv" [color = darkviolet];
}

View File

@ -0,0 +1,14 @@
digraph "Guix package" {
"29061504" [label = "make-boot0@4.2.1", shape = box, fontname = Helvetica];
"29061504" -> "43943040" [color = cyan3];
"29061504" -> "43942848" [color = cyan3];
"29061504" -> "43942656" [color = cyan3];
"29061504" -> "43942464" [color = cyan3];
"29061504" -> "43942464" [color = cyan3];
"43943040" [label = "glibc-bootstrap@0", shape = box, fontname = Helvetica];
"43942848" [label = "gcc-bootstrap@0", shape = box, fontname = Helvetica];
"43942848" -> "43943040" [color = darkviolet];
"43942656" [label = "binutils-bootstrap@0", shape = box, fontname = Helvetica];
"43942464" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
}

Binary file not shown.

View File

@ -0,0 +1,401 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 670.74129 378.80721"
width="100%"
height="100%"
preserveAspectRatio="xMinYMin meet"
id="svg2"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="banner.svg">
<title
id="title4648">Bootstrappable builds logo</title>
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="379.22658"
inkscape:cy="169.50442"
inkscape:document-units="px"
inkscape:current-layer="text4471"
showgrid="false"
showborder="true"
inkscape:window-width="1278"
inkscape:window-height="798"
inkscape:window-x="1"
inkscape:window-y="1"
inkscape:window-maximized="0"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Bootstrappable builds logo</dc:title>
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:date>2016</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>Ricardo Wurmus</dc:title>
</cc:Agent>
</dc:creator>
<dc:source>http://bootstrappable.org</dc:source>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="background"
transform="translate(66.670067,46.539188)">
<rect
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55900002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4519"
width="670.74127"
height="378.80722"
x="-66.670067"
y="-46.539188" />
</g>
<g
inkscape:label="boot"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-24.853503,-25.618874)">
<path
id="path4159-3"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.41182423;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 93.43033,337.76926 c 0,0 7.43865,11.8132 16.50857,15.00366 6.72736,2.36644 11.6964,4.18106 19.62057,5.29884 6.91677,0.97568 14.92029,-1.77714 22.27729,-0.33145 3.99824,0.78568 10.39275,6.14924 17.77719,8.41974 8.19586,2.52 17.29278,1.86163 18.86678,0.43869 m -44.44737,-9.36081 c 0,0 -13.35243,-3.91431 -14.53442,-9.5987 -1.13541,-5.46033 0.19378,-15.12046 9.12867,-14.02164 4.43134,0.54496 11.09596,-1.05427 14.6009,-2.76401 4.95429,-2.41674 9.52808,-7.55308 14.15707,-10.51802 6.02667,-3.8602 10.45205,-14.22793 12.01904,-13.04926 0,0 2.94884,5.64054 13.12156,9.86985 2.56718,1.06731 8.43343,3.56042 11.92613,3.32691 3.42035,-0.22867 4.39714,-3.76277 4.39714,-3.76277 l -0.35685,0.84552 m -19.62585,48.78276 c 0,0 6.03568,-9.48887 7.82077,-16.02671 1.30435,-4.77711 0.81289,-12.27292 2.29423,-16.99814 1.92488,-6.14004 7.94696,-12.01031 9.85348,-16.59986 -1.01774,-6.30804 -8.8699,-9.31859 -14.36987,-12.4814 -6.23348,-3.58462 -20.41797,-6.96116 -20.41797,-6.96116 0,0 -8.74573,14.42761 -15.32734,19.37837 -7.96497,5.99134 -17.83055,9.76317 -27.67519,11.31886 -7.59635,1.20041 -16.894,-2.55046 -24.93034,-0.43014 -3.79296,1.00075 -7.00481,2.9638 -10.13478,5.9815 -1.58503,1.52816 -0.96227,2.8316 -2.25927,4.07066 -3.51128,3.35447 -0.13534,8.98919 2.56848,12.02202 7.52916,8.44535 18.43636,11.10103 29.53659,13.29125 7.34173,1.44862 14.928,-1.28272 22.44801,0.28592 6.60932,1.37867 13.57103,6.41901 20.07511,8.23028 5.50113,1.53197 11.10738,3.09206 15.94436,0.87062 2.27381,-1.04427 4.57373,-5.95207 4.57373,-5.95207 z"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cssssccsssscsscccsscscssssssssssc" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178"
cx="-320.14972"
cy="174.89682"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-6"
cx="-317.74246"
cy="182.84167"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-6-7"
cx="-314.71713"
cy="190.65714"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-6-7-5"
cx="-310.30518"
cy="197.71625"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3"
cx="-321.52414"
cy="166.70654"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3-5"
cx="-311.93481"
cy="162.14157"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3-5-6"
cx="-311.40002"
cy="170.1637"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4178-3-5-6-2"
cx="-309.79559"
cy="177.11621"
r="1.5891345"
transform="matrix(-0.8343289,-0.55126698,-0.55126698,0.8343289,0,0)" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 218.97721,314.66457 c 0,0 -0.49537,-0.81661 -0.96228,-1.30834 -0.53422,-0.56261 -1.54496,-1.20294 -1.54496,-1.20294 0,0 -2.50595,0.27579 -3.83263,0.52524 -1.56837,0.29489 -4.85251,1.10777 -4.85251,1.10777 l 1.51787,2.39175 c 0,0 2.97751,-1.13307 4.53224,-1.44459 1.8487,-0.37043 5.14227,-0.0689 5.14227,-0.0689 z"
id="rect4285"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscsccsc" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 197.06263,343.76342 c 0,0 -0.58025,3.23661 -3.18814,2.85992 -1.30455,1.99533 -11.24223,-0.0791 -14.0189,-0.027 -2.91012,0.0546 -8.73172,-0.0537 -8.73172,-0.0537 0,0 -3.49741,0.15087 -2.94153,1.0283 1.00241,1.58227 8.47334,1.8567 12.68694,2.88305 4.80731,1.17096 11.14509,5.39258 14.36586,3.73564 1.50026,-0.77183 1.82749,-10.42617 1.82749,-10.42617 z"
id="rect4288"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccscsasc" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 130.46523,339.03812 c 0,0 -1.41869,-10.91253 -4.02658,-11.28923 -1.30455,1.99533 -12.84531,-2.34658 -18.99989,-0.82741 -4.16763,1.02871 -11.12751,6.48271 -11.12751,6.48271 l -2.06505,5.01522 c -0.84063,2.04158 5.47984,8.0406 9.28266,10.86379 5.59125,4.15091 10.83194,4.99773 11.13653,5.63005 4.80691,0.22813 9.92542,1.77219 12.17773,2.67446 0,0 6.35428,1.41839 15.87945,-0.24343 -17.59001,-6.54388 -14.66186,-13.87154 -12.25734,-18.30616 z"
id="rect4288-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccacsscscc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="pulleys"
style="display:inline"
transform="translate(-24.853503,-25.618874)">
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4317"
cx="183.1655"
cy="168.71939"
r="15.687736" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4319"
cx="256.867"
cy="167.09831"
r="32.77449" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4321"
cx="228.52968"
cy="100.1375"
r="24.706923" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4317-3"
cx="323.26675"
cy="196.52444"
r="15.687736" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4317-3-6"
cx="354.04843"
cy="185.69362"
r="8.6286154" />
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4319-0"
cx="403.29526"
cy="84.896515"
r="5.3285437" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="strap"
style="display:inline"
transform="translate(-24.853503,-25.618874)">
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 149.70196,336.12297 -2.889,-10.78189"
id="path4323"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 157.56459,331.96338 -7.92487,-8.08632"
id="path4323-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-1.5126698"
inkscape:transform-center-y="-2.0168914" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 163.94704,327.39648 -3.4475,-9.65504"
id="path4323-1-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-0.17540053"
inkscape:transform-center-y="-2.5150047" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 157.18643,332.21549 3.54619,-14.26305"
id="path4323-1-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-1.5126682"
inkscape:transform-center-y="-2.0168905" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 164.21284,327.32734 1.86212,-14.48655"
id="path4323-1-2-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-0.17540159"
inkscape:transform-center-y="-2.5150016" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:2.82364845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 500.62461,208.08165 c 0,0 -82.28556,-125.650313 -94.79605,-130.767678 -24.32168,-9.948677 -27.11688,120.250908 -51.35172,119.607958 -12.19244,-0.32346 -14.73937,-11.67555 -21.73493,-15.58171 -9.87079,-5.51161 -16.34317,-1.95209 -17.50782,-1.1857 -12.40883,8.1655 -42.90278,29.01285 -68.59558,20.49064 -31.79054,-10.54481 -26.49128,-41.06905 -20.23604,-50.45443 7.20839,-10.81548 17.66768,-16.729 22.75814,-26.94321 11.81076,-23.698789 4.84349,-36.157159 -1.02641,-42.218823 -12.36537,-12.769329 -32.67301,-6.954508 -39.38006,1.161614 -6.82055,8.253481 -34.47333,50.492679 -42.56696,79.416709 -4.70733,16.82251 -2.73132,43.30431 -2.79149,66.12626 -0.11463,43.48013 1.75602,83.05204 1.75602,83.05204"
id="path4323-1-2-0-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssssssssssc"
inkscape:transform-center-x="-0.17540219"
inkscape:transform-center-y="-2.5150055" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.76478028;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 475.50222,222.35286 92.70386,0"
id="path4447"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.05886817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 489.95543,220.67573 c 0.50423,0.37816 4.67565,0.58178 4.67565,0.58178 l 4.94556,-3.78846 7.76444,-2.88617 5.5222,-8.63033 -8.03768,1.09572 -7.71295,-0.61946"
id="path4459"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.35295606px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 495.26752,202.42068 9.26893,2.32374 8.02323,0.70684"
id="path4465"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.35295606px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 495.44579,221.58467 2.58491,-0.80221 4.51542,-3.45226 5.37855,-2.69805"
id="path4467"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
<ellipse
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4469"
ry="5.9473672"
rx="1.9540629"
cy="-62.30698"
cx="543.51599"
transform="matrix(0.87616356,0.48201392,-0.54908076,0.8357693,0,0)" />
<g
aria-label="Bootstrappable Builds"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text4471">
<path
d="m 254.72308,288.34668 v -41.50763 h 5.36493 c 3.61427,0 6.43792,0.67767 8.30152,2.42834 1.86361,1.75066 2.82365,4.46136 2.82365,8.58389 0,1.97655 -0.16942,3.44485 -0.79062,4.8002 -0.6212,1.35535 -1.58124,2.48481 -2.99307,3.78369 1.52477,0.84709 2.65423,2.42834 3.5578,5.08256 0.45178,1.29888 0.67768,2.99307 0.67768,5.08257 0,3.10602 -0.56473,5.87319 -1.97656,8.01916 -1.41182,2.14598 -3.84016,3.5578 -7.45443,3.72722 z m 6.09908,-24.39632 c 0.50825,0 1.69419,0.0565 2.7107,-0.62121 1.01651,-0.67767 1.80713,-2.03302 1.80713,-4.91314 0,-2.88013 -0.79062,-4.23548 -1.80713,-4.91315 -1.01651,-0.67768 -2.20245,-0.6212 -2.7107,-0.6212 z m 0,18.35371 c 0.50825,0 1.69419,0.11295 2.7107,-0.6212 1.01651,-0.73415 1.80713,-2.37187 1.80713,-5.76024 0,-3.38838 -0.79062,-5.0261 -1.80713,-5.76025 -1.01651,-0.73414 -2.20245,-0.6212 -2.7107,-0.6212 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4607" />
<path
d="m 289.35689,280.83577 c -0.16942,2.99307 -1.07299,5.08257 -3.04954,6.72029 -1.01651,0.84709 -2.42834,1.2424 -4.29195,1.2424 -3.67074,0 -5.47787,-2.03302 -6.38144,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.07299,-5.19551 3.04954,-6.8897 0.96004,-0.8471 2.37187,-1.24241 4.23547,-1.24241 3.67075,0 5.53435,2.03303 6.43792,4.00958 0.50826,1.18594 0.8471,2.48481 0.90357,3.95311 z m -5.36493,-15.69948 c 0.0565,-1.18593 -0.16942,-2.03303 -0.73415,-2.7107 -0.28237,-0.28237 -0.73415,-0.45179 -1.24241,-0.45179 -1.07298,0 -1.52477,0.73415 -1.75066,1.58125 -0.16942,0.45178 -0.22589,0.96004 -0.16942,1.58124 v 15.53007 c -0.0565,1.18593 0.22589,2.03302 0.73415,2.65423 0.28237,0.28236 0.67768,0.45178 1.18593,0.45178 1.07299,0 1.58125,-0.67768 1.80714,-1.52477 0.16942,-0.45178 0.22589,-0.96004 0.16942,-1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4609" />
<path
d="m 307.44589,280.83577 c -0.16942,2.99307 -1.07299,5.08257 -3.04954,6.72029 -1.01652,0.84709 -2.42834,1.2424 -4.29195,1.2424 -3.67074,0 -5.47788,-2.03302 -6.38144,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.07298,-5.19551 3.04954,-6.8897 0.96004,-0.8471 2.37186,-1.24241 4.23547,-1.24241 3.67074,0 5.53435,2.03303 6.43792,4.00958 0.50826,1.18594 0.84709,2.48481 0.90357,3.95311 z m -5.36494,-15.69948 c 0.0565,-1.18593 -0.16941,-2.03303 -0.73414,-2.7107 -0.28237,-0.28237 -0.73415,-0.45179 -1.24241,-0.45179 -1.07299,0 -1.52477,0.73415 -1.75066,1.58125 -0.16942,0.45178 -0.22589,0.96004 -0.16942,1.58124 v 15.53007 c -0.0565,1.18593 0.22589,2.03302 0.73415,2.65423 0.28236,0.28236 0.67767,0.45178 1.18593,0.45178 1.07299,0 1.58124,-0.67768 1.80714,-1.52477 0.16941,-0.45178 0.22589,-0.96004 0.16941,-1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4611" />
<path
d="m 317.97545,249.83211 v 7.62386 h 3.89663 v 5.13904 h -3.89663 v 15.36064 c 0,0.96004 0,2.20245 0.22589,3.21896 0.22589,1.01652 0.67768,1.86361 1.58124,1.86361 0.45179,0 1.01652,-0.0565 1.41183,-0.11295 0.22589,-0.0565 0.45178,-0.0565 0.67767,-0.11294 v 5.59082 c -0.28236,0.0565 -0.56473,0.16942 -0.84709,0.22589 -0.56473,0.11295 -1.29888,0.16942 -2.20245,0.16942 -3.3319,0 -4.91314,-1.69419 -5.70377,-3.84016 -0.79062,-2.14597 -0.84709,-4.74373 -0.84709,-6.55086 v -15.81243 h -2.88012 v -5.13904 h 2.88012 v -7.62386 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4613" />
<path
d="m 333.51346,265.36218 c 0,-0.73415 0,-1.63771 -0.22589,-2.37186 -0.28237,-0.67768 -0.73415,-1.24241 -1.63772,-1.24241 -0.73415,0 -1.18593,0.56473 -1.41183,1.24241 -0.28236,0.67767 -0.33883,1.63771 -0.33883,2.37186 0,0.96004 0.50825,1.97656 1.2424,2.88012 0.67768,0.90357 1.58125,1.80714 2.48481,2.65423 1.18594,1.18593 2.59776,2.54129 3.5578,4.06606 0.96004,1.58124 1.69419,3.3319 1.69419,5.36493 0,1.97655 -0.45178,4.06605 -1.58124,5.64729 -1.18594,1.63772 -2.99307,2.82365 -5.70377,2.82365 -3.44486,0 -5.47788,-1.58124 -6.60734,-3.50132 -1.12946,-1.92008 -1.35535,-4.29195 -1.35535,-5.92966 h 5.30846 c 0,0.84709 0.0565,2.03302 0.45178,2.93659 0.39531,0.96004 1.01651,1.75066 2.20245,1.75066 1.63771,0 1.97655,-1.92008 1.97655,-3.72721 0,-1.86361 -1.80714,-3.72722 -3.5578,-5.47788 -1.35535,-1.29888 -2.65423,-2.48481 -3.67074,-4.00958 -1.01651,-1.52477 -1.75066,-3.21896 -1.75066,-5.47788 0,-1.80713 0.33884,-3.89663 1.41182,-5.53435 1.07299,-1.58124 2.82365,-2.76718 5.53435,-2.82365 3.33191,-0.0565 5.19552,1.18593 6.15556,2.82365 0.96004,1.63772 1.12946,3.78369 1.12946,5.53435 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4615" />
<path
d="m 348.6385,249.83211 v 7.62386 h 3.89664 v 5.13904 h -3.89664 v 15.36064 c 0,0.96004 0,2.20245 0.2259,3.21896 0.22589,1.01652 0.67767,1.86361 1.58124,1.86361 0.45178,0 1.01651,-0.0565 1.41182,-0.11295 0.2259,-0.0565 0.45179,-0.0565 0.67768,-0.11294 v 5.59082 c -0.28237,0.0565 -0.56473,0.16942 -0.8471,0.22589 -0.56472,0.11295 -1.29887,0.16942 -2.20244,0.16942 -3.33191,0 -4.91315,-1.69419 -5.70377,-3.84016 -0.79062,-2.14597 -0.8471,-4.74373 -0.8471,-6.55086 v -15.81243 h -2.88012 v -5.13904 h 2.88012 v -7.62386 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4617" />
<path
d="m 366.9437,263.32915 c -0.50826,-0.16941 -1.07299,-0.22589 -1.58125,-0.22589 -0.90357,0 -1.97655,0.11295 -2.88012,0.96004 -1.07299,0.90357 -1.2424,1.86361 -1.2424,2.82365 v 21.45973 h -5.70377 v -30.89071 h 5.70377 v 3.44485 c 0.0565,-0.39531 0.45178,-1.35535 1.35535,-2.25892 0.90356,-0.8471 2.25892,-1.63772 4.34842,-1.63772 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4619" />
<path
d="m 377.63296,264.79745 c 0,-0.50826 0,-1.29888 -0.16942,-1.86361 -0.22589,-0.56473 -0.67767,-0.96004 -1.41182,-0.96004 -0.96004,0 -1.35535,0.73415 -1.52477,1.63772 -0.0565,0.45178 -0.11295,0.96004 -0.11295,1.4683 0,0.50825 0,1.01651 0,1.46829 h -5.70377 v -1.29887 c 0,-2.25892 0.8471,-4.29195 2.20245,-5.81672 1.35535,-1.52477 3.27543,-2.42834 5.47788,-2.42834 1.86361,0 3.5578,0.73415 4.85667,1.97656 1.29888,1.2424 2.0895,2.99306 2.0895,5.02609 v 18.97492 c 0,2.76717 0.16942,4.00958 0.39531,5.36493 h -5.59082 c -0.50826,-0.6212 -0.50826,-2.0895 -0.50826,-2.48481 h -0.39531 c -0.28236,0.50826 -0.79062,1.2424 -1.58124,1.86361 -0.79062,0.6212 -1.86361,1.07298 -2.99307,1.07298 -0.73415,0 -1.92008,-0.28236 -2.82365,-1.41182 -0.96004,-1.07299 -1.75066,-2.99307 -1.75066,-6.21203 0,-3.44485 1.01652,-5.92966 2.37187,-7.62385 1.35535,-1.69419 3.04954,-2.76717 4.46136,-3.50132 1.41183,-0.73415 2.48481,-1.24241 2.7107,-1.86361 z m 0,8.64037 c -2.76717,1.18593 -3.9531,3.9531 -3.9531,6.8897 0,0.39531 0.0565,1.07298 0.28236,1.69419 0.22589,0.67767 0.6212,1.18593 1.29888,1.18593 1.29888,0 2.37186,-0.79062 2.37186,-1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4621" />
<path
d="m 386.97131,257.45597 h 5.70377 v 2.03302 c 0.96004,-0.90357 1.80713,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58124,-0.39531 1.58125,0 2.65423,0.90357 3.38838,2.03303 0.67768,1.18593 1.01651,2.7107 1.01651,4.00958 v 19.70907 c 0,1.29887 -0.33883,2.82364 -1.01651,3.9531 -0.73415,1.18594 -1.80713,2.0895 -3.38838,2.0895 -1.07298,0 -2.20244,-0.6212 -3.04954,-1.2424 -0.50825,-0.39531 -0.96004,-0.79062 -1.46829,-1.24241 v 12.64995 h -5.70377 z m 5.70377,24.11395 c 0,0.90357 0.84709,1.86361 1.69418,1.86361 0.8471,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67767,-1.86361 -1.52477,-1.86361 -0.84709,0 -1.69418,0.79063 -1.69418,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4623" />
<path
d="m 405.94268,257.45597 h 5.70377 v 2.03302 c 0.96004,-0.90357 1.80714,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58125,-0.39531 1.58124,0 2.65423,0.90357 3.38838,2.03303 0.67767,1.18593 1.01651,2.7107 1.01651,4.00958 v 19.70907 c 0,1.29887 -0.33884,2.82364 -1.01651,3.9531 -0.73415,1.18594 -1.80714,2.0895 -3.38838,2.0895 -1.07299,0 -2.20245,-0.6212 -3.04954,-1.2424 -0.50826,-0.39531 -0.96004,-0.79062 -1.4683,-1.24241 v 12.64995 h -5.70377 z m 5.70377,24.11395 c 0,0.90357 0.84709,1.86361 1.69419,1.86361 0.84709,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67768,-1.86361 -1.52477,-1.86361 -0.8471,0 -1.69419,0.79063 -1.69419,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4625" />
<path
d="m 433.22355,264.79745 c 0,-0.50826 0,-1.29888 -0.16942,-1.86361 -0.22589,-0.56473 -0.67768,-0.96004 -1.41183,-0.96004 -0.96004,0 -1.35535,0.73415 -1.52477,1.63772 -0.0565,0.45178 -0.11294,0.96004 -0.11294,1.4683 0,0.50825 0,1.01651 0,1.46829 h -5.70377 v -1.29887 c 0,-2.25892 0.84709,-4.29195 2.20244,-5.81672 1.35536,-1.52477 3.27544,-2.42834 5.47788,-2.42834 1.86361,0 3.5578,0.73415 4.85668,1.97656 1.29888,1.2424 2.0895,2.99306 2.0895,5.02609 v 18.97492 c 0,2.76717 0.16942,4.00958 0.39531,5.36493 h -5.59083 c -0.50825,-0.6212 -0.50825,-2.0895 -0.50825,-2.48481 h -0.39531 c -0.28237,0.50826 -0.79062,1.2424 -1.58125,1.86361 -0.79062,0.6212 -1.8636,1.07298 -2.99306,1.07298 -0.73415,0 -1.92008,-0.28236 -2.82365,-1.41182 -0.96004,-1.07299 -1.75066,-2.99307 -1.75066,-6.21203 0,-3.44485 1.01651,-5.92966 2.37186,-7.62385 1.35535,-1.69419 3.04954,-2.76717 4.46137,-3.50132 1.41182,-0.73415 2.48481,-1.24241 2.7107,-1.86361 z m 0,8.64037 c -2.76718,1.18593 -3.95311,3.9531 -3.95311,6.8897 0,0.39531 0.0565,1.07298 0.28236,1.69419 0.2259,0.67767 0.62121,1.18593 1.29888,1.18593 1.29888,0 2.37187,-0.79062 2.37187,-1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4627" />
<path
d="m 442.78248,246.83905 h 5.70377 v 12.64994 c 0.96004,-0.90357 1.80713,-1.58124 2.93659,-2.0895 0.50826,-0.28236 1.07299,-0.39531 1.58125,-0.39531 1.58124,0 2.65423,0.90357 3.38837,2.03303 0.67768,1.18593 1.01652,2.7107 1.01652,4.00958 v 19.70907 c 0,1.29887 -0.33884,2.82364 -1.01652,3.9531 -0.73414,1.18594 -1.80713,2.0895 -3.38837,2.0895 -1.07299,0 -2.20245,-0.6212 -3.04954,-1.2424 -0.50826,-0.39531 -0.96005,-0.79062 -1.4683,-1.24241 v 2.03303 h -5.70377 z m 5.70377,34.73087 c 0,1.07299 0.84709,1.86361 1.69419,1.86361 0.84709,0 1.52477,-0.79062 1.52477,-1.86361 v -17.3372 c 0,-1.07298 -0.67768,-1.86361 -1.52477,-1.86361 -0.8471,0 -1.69419,0.96004 -1.69419,1.86361 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4629" />
<path
d="m 461.75387,288.34668 v -41.50763 h 5.70377 v 41.50763 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4631" />
<path
d="m 486.18901,277.27798 v 3.55779 c -0.16942,2.99307 -1.07299,5.08257 -3.10602,6.72029 -1.01651,0.84709 -2.42834,1.2424 -4.29194,1.2424 -3.67075,0 -5.53435,-2.03302 -6.43792,-4.06605 -0.50826,-1.18593 -0.8471,-2.54128 -0.90357,-4.06605 v -15.53007 c 0.16942,-2.99307 1.12946,-5.19551 3.16249,-6.8897 0.96004,-0.8471 2.37186,-1.24241 4.23547,-1.24241 3.67074,0 5.53435,2.03303 6.43792,4.00958 0.50825,1.18594 0.84709,2.48481 0.90357,3.95311 v 8.9792 h -9.43099 v 6.72029 c 0.0565,1.18593 0.39531,2.03302 0.90357,2.65423 0.28236,0.28236 0.67767,0.45178 1.18593,0.45178 1.07299,0 1.58124,-0.67768 1.80713,-1.52477 0.16942,-0.45178 0.2259,-0.96004 0.2259,-1.58124 v -3.38838 z m -9.43099,-7.79327 h 4.12253 v -4.34842 c 0,-1.18593 -0.2259,-2.03303 -0.79063,-2.7107 -0.28236,-0.28237 -0.73414,-0.45179 -1.2424,-0.45179 -1.07299,0 -1.52477,0.73415 -1.80714,1.58125 -0.16941,0.45178 -0.22589,0.96004 -0.28236,1.58124 z"
style="font-size:56.47296906px;fill:#ff00ff"
id="path4633" />
<path
d="m 498.81425,288.34668 v -41.50763 h 5.36493 c 3.61427,0 6.43792,0.67767 8.30153,2.42834 1.8636,1.75066 2.82364,4.46136 2.82364,8.58389 0,1.97655 -0.16941,3.44485 -0.79062,4.8002 -0.6212,1.35535 -1.58124,2.48481 -2.99306,3.78369 1.52477,0.84709 2.65422,2.42834 3.55779,5.08256 0.45179,1.29888 0.67768,2.99307 0.67768,5.08257 0,3.10602 -0.56473,5.87319 -1.97656,8.01916 -1.41182,2.14598 -3.84016,3.5578 -7.45443,3.72722 z m 6.09908,-24.39632 c 0.50825,0 1.69419,0.0565 2.7107,-0.62121 1.01651,-0.67767 1.80714,-2.03302 1.80714,-4.91314 0,-2.88013 -0.79063,-4.23548 -1.80714,-4.91315 -1.01651,-0.67768 -2.20245,-0.6212 -2.7107,-0.6212 z m 0,18.35371 c 0.50825,0 1.69419,0.11295 2.7107,-0.6212 1.01651,-0.73415 1.80714,-2.37187 1.80714,-5.76024 0,-3.38838 -0.79063,-5.0261 -1.80714,-5.76025 -1.01651,-0.73414 -2.20245,-0.6212 -2.7107,-0.6212 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4635" />
<path
d="m 528.13961,257.45597 h 5.70377 v 30.89071 h -5.70377 v -2.59776 c -0.11295,0.0565 -0.33884,0.28237 -0.6212,0.56473 -0.67768,0.67768 -1.4683,1.4683 -2.48481,2.03303 -0.50826,0.28236 -1.01652,0.45178 -1.52477,0.45178 -1.52477,0 -2.59776,-0.90356 -3.27544,-2.0895 -0.67767,-1.12946 -1.01651,-2.65423 -1.01651,-3.9531 v -25.29989 h 5.70377 v 24.45279 c 0,1.18593 0.67768,1.35535 1.35535,1.35535 0.6212,0 0.96004,-0.33884 1.35535,-0.73415 0.16942,-0.16942 0.33884,-0.45178 0.50826,-0.73414 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4637" />
<path
d="m 538.41152,246.83905 h 5.70377 v 5.70377 h -5.70377 z m 0,41.50763 v -30.89071 h 5.70377 v 30.89071 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4639" />
<path
d="m 548.6693,288.34668 v -41.50763 h 5.70377 v 41.50763 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4641" />
<path
d="m 573.32769,288.34668 h -5.70377 v -2.03303 c -0.96004,0.90357 -1.80713,1.58125 -2.88012,2.0895 -0.56473,0.28237 -1.12946,0.39531 -1.63771,0.39531 -1.58125,0 -2.65423,-0.90356 -3.33191,-2.0895 -0.73415,-1.12946 -1.07299,-2.65423 -1.07299,-3.9531 v -19.70907 c 0,-1.29888 0.33884,-2.82365 1.07299,-4.00958 0.67768,-1.12946 1.75066,-2.03303 3.33191,-2.03303 1.07298,0 2.20244,0.6212 3.04954,1.24241 0.50825,0.39531 0.96004,0.79062 1.46829,1.2424 v -12.64994 h 5.70377 z m -5.70377,-24.11396 c 0,-0.90357 -0.84709,-1.86361 -1.69419,-1.86361 -0.84709,0 -1.52477,0.79063 -1.52477,1.86361 v 17.3372 c 0,1.07299 0.67768,1.86361 1.52477,1.86361 0.8471,0 1.69419,-0.79062 1.69419,-1.86361 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4643" />
<path
d="m 586.53882,265.36218 c 0,-0.73415 0,-1.63771 -0.22589,-2.37186 -0.28236,-0.67768 -0.73415,-1.24241 -1.63771,-1.24241 -0.73415,0 -1.18594,0.56473 -1.41183,1.24241 -0.28236,0.67767 -0.33884,1.63771 -0.33884,2.37186 0,0.96004 0.50826,1.97656 1.24241,2.88012 0.67768,0.90357 1.58124,1.80714 2.48481,2.65423 1.18593,1.18593 2.59776,2.54129 3.5578,4.06606 0.96004,1.58124 1.69419,3.3319 1.69419,5.36493 0,1.97655 -0.45179,4.06605 -1.58125,5.64729 -1.18593,1.63772 -2.99306,2.82365 -5.70377,2.82365 -3.44485,0 -5.47787,-1.58124 -6.60733,-3.50132 -1.12946,-1.92008 -1.35535,-4.29195 -1.35535,-5.92966 h 5.30845 c 0,0.84709 0.0565,2.03302 0.45179,2.93659 0.39531,0.96004 1.01651,1.75066 2.20244,1.75066 1.63772,0 1.97656,-1.92008 1.97656,-3.72721 0,-1.86361 -1.80714,-3.72722 -3.5578,-5.47788 -1.35535,-1.29888 -2.65423,-2.48481 -3.67074,-4.00958 -1.01652,-1.52477 -1.75066,-3.21896 -1.75066,-5.47788 0,-1.80713 0.33883,-3.89663 1.41182,-5.53435 1.07299,-1.58124 2.82365,-2.76718 5.53435,-2.82365 3.33191,-0.0565 5.19551,1.18593 6.15555,2.82365 0.96004,1.63772 1.12946,3.78369 1.12946,5.53435 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:56.47296906px;line-height:1.25;font-family:'League Gothic';-inkscape-font-specification:'League Gothic'"
id="path4645" />
</g>
<circle
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.55900002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path4516"
cx="515.09497"
cy="200.81795"
r="4.4642859" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -0,0 +1 @@
../../../aramis-2019/images/delorean.jpg

View File

@ -0,0 +1 @@
../../../jcad-2018/images/docker-guix-lol.pdf

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

View File

@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1"
id="Layer_1" inkscape:version="0.92.2 5c3e80d, 2017-08-06" sodipodi:docname="ReproducibleBuilds_ICONS_55_r90.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="402.205px"
height="102.544px" viewBox="0 0 402.205 102.544" enable-background="new 0 0 402.205 102.544" xml:space="preserve">
<g>
<g>
<g>
<g id="g26_25_" transform="rotate(90,40.7,44.8)">
<g id="circle2_25_">
<circle fill="#1E5B96" cx="47.136" cy="-7.244" r="9.8"/>
</g>
<g id="circle4_25_">
<circle fill="#1E5B96" cx="47.207" cy="75.7" r="9.8"/>
</g>
<g id="circle6_25_">
<circle fill="#1E5B96" cx="88.644" cy="34.264" r="9.8"/>
</g>
<g id="circle8_25_">
<circle fill="#1E5B96" cx="5.7" cy="34.193" r="9.8"/>
</g>
<g id="g12_25_">
<g id="polygon10_25_">
<polygon fill="#2B89D6" points="50.743,11.919 61.561,22.738 77.401,22.738 77.401,6.899 66.582,-3.92 66.582,11.919
"/>
</g>
</g>
<g id="g16_25_">
<g id="polygon14_25_">
<polygon fill="#2B89D6" points="9.023,53.638 19.842,64.457 35.681,64.457 35.681,48.618 24.863,37.799 24.863,53.638
"/>
</g>
</g>
<g id="g20_25_">
<g id="polygon18_25_">
<polygon fill="#2B89D6" points="66.511,72.377 77.33,61.558 77.401,45.648 61.491,45.719 50.672,56.537 66.582,56.467
"/>
</g>
</g>
<g id="g24_25_">
<g id="polygon22_25_">
<polygon fill="#2B89D6" points="24.792,30.657 35.681,19.768 35.681,3.929 19.842,3.929 8.953,14.818 24.863,14.747 "/>
</g>
</g>
</g>
</g>
</g>
<g>
<path fill="#1E5B96" d="M124.629,11.171h15.273c8.271,0,10.998,4.889,10.998,10.293c0,3.713-2.115,7.989-6.393,9.493L150.9,44.07
h-7.145L137.6,31.803h-6.627V44.07h-6.344C124.629,44.07,124.629,11.171,124.629,11.171z M139.996,25.787
c3.243,0,4.324-2.067,4.324-4.323c0-2.068-0.939-4.277-4.324-4.277h-9.023v8.601L139.996,25.787L139.996,25.787z"/>
<path fill="#1E5B96" d="M153.721,32.038c0-7.755,4.371-12.548,11.232-12.548c5.922,0,10.621,3.618,10.621,11.326
c0,0.939,0,2.303-0.188,3.618h-15.65c0.234,3.103,2.584,4.841,5.217,4.841c2.209,0,3.807-0.752,5.17-2.49l3.76,3.807
c-2.021,2.443-4.936,4.042-8.93,4.042C157.997,44.634,153.721,39.934,153.721,32.038z M169.606,29.266
c-0.376-2.82-2.209-4.418-4.652-4.418c-2.867,0-4.794,1.41-5.17,4.418C159.784,29.266,169.606,29.266,169.606,29.266z"/>
<path fill="#1E5B96" d="M186.619,42.33v8.366l-6.109,2.772V20.054h6.109v1.739c1.082-1.363,2.773-2.303,5.17-2.303
c5.922,0,9.916,4.464,9.916,12.595c0,7.896-4.229,12.549-9.963,12.549C189.346,44.634,187.701,43.694,186.619,42.33z
M195.596,32.085c0-4.042-1.645-6.721-4.793-6.721c-2.021,0-3.29,0.752-4.184,1.927v9.494c0.611,0.986,2.068,1.974,4.184,1.974
C193.857,38.759,195.596,36.363,195.596,32.085z"/>
<path fill="#1E5B96" d="M206.877,20.054h6.109v2.115c0.705-1.504,2.068-2.679,4.465-2.679c2.021,0,3.525,0.704,4.889,1.833
l-0.848,5.592c-1.127-0.799-2.49-1.409-4.369-1.409c-2.115,0-4.137,1.033-4.137,5.169V44.07h-6.109V20.054z"/>
<path fill="#1E5B96" d="M223.984,32.085c0-7.802,4.277-12.595,11.045-12.595s11.043,4.793,11.043,12.595
c0,7.896-4.275,12.549-11.043,12.549S223.984,39.981,223.984,32.085z M239.963,32.085c0-4.183-1.832-6.721-4.934-6.721
c-3.008,0-4.936,2.538-4.936,6.721s1.928,6.674,4.936,6.674C238.131,38.759,239.963,36.268,239.963,32.085z"/>
<path fill="#1E5B96" d="M250.068,32.038c0-7.755,4.23-12.548,9.965-12.548c2.396,0,4.041,0.939,5.121,2.303V12.91l6.111-2.772
V44.07h-6.111v-1.74c-0.986,1.457-2.725,2.304-5.168,2.304C253.971,44.634,250.068,40.169,250.068,32.038z M265.154,36.832v-9.493
c-0.656-0.894-2.066-1.975-4.182-1.975c-3.055,0-4.793,2.35-4.793,6.674c0,4.136,1.645,6.721,4.793,6.721
C262.994,38.759,264.262,38.101,265.154,36.832z"/>
<path fill="#1E5B96" d="M292.227,41.814c-1.457,1.833-3.666,2.82-6.439,2.82c-4.088,0-8.412-2.304-8.412-9.447V20.054h6.109
v13.159c0,3.854,1.316,5.546,4.184,5.546c2.914,0,4.559-1.598,4.559-5.452V20.054h6.109V44.07h-6.109v-2.256H292.227z"/>
<path fill="#1E5B96" d="M303.508,32.085c0-7.802,4.324-12.595,10.949-12.595c4.889,0,8.461,2.161,10.012,7.049l-5.828,1.927
c-0.705-1.832-2.115-3.102-4.041-3.102c-2.961,0-4.889,2.679-4.889,6.721c0,4.089,1.928,6.674,4.746,6.674
c2.068,0,3.525-1.222,4.23-3.478l5.828,1.738c-1.457,5.076-4.842,7.614-10.059,7.614
C307.832,44.634,303.508,39.981,303.508,32.085z"/>
<path fill="#1E5B96" d="M329.217,13.662c0-1.974,1.598-3.524,3.572-3.524c2.02,0,3.57,1.551,3.57,3.524s-1.551,3.572-3.57,3.572
C330.815,17.235,329.217,15.636,329.217,13.662z M329.734,20.054h6.109V44.07h-6.109V20.054z"/>
<path fill="#1E5B96" d="M348.346,42.33v1.739h-6.111V12.911l6.111-2.772v11.655c1.08-1.363,2.725-2.303,5.121-2.303
c5.734,0,9.965,4.793,9.965,12.548c0,8.131-3.949,12.596-10.199,12.596C350.93,44.634,349.426,43.834,348.346,42.33z
M357.322,32.038c0-4.324-1.74-6.674-4.795-6.674c-2.115,0-3.525,1.034-4.182,1.975v9.493c0.893,1.269,2.16,1.927,4.182,1.927
C355.676,38.759,357.322,36.174,357.322,32.038z"/>
<path fill="#1E5B96" d="M368.836,13.004l6.109-2.866V44.07h-6.109V13.004z"/>
<path fill="#1E5B96" d="M380.352,32.038c0-7.755,4.371-12.548,11.232-12.548c5.922,0,10.621,3.618,10.621,11.326
c0,0.939,0,2.303-0.188,3.618h-15.65c0.234,3.103,2.584,4.841,5.217,4.841c2.209,0,3.807-0.752,5.17-2.49l3.76,3.807
c-2.021,2.443-4.936,4.042-8.93,4.042C384.629,44.634,380.352,39.934,380.352,32.038z M396.236,29.266
c-0.375-2.82-2.209-4.418-4.652-4.418c-2.867,0-4.795,1.41-5.17,4.418C386.414,29.266,396.236,29.266,396.236,29.266z"/>
<path fill="#1E5B96" d="M138.517,52.869c9.297,0,12.209,5.152,12.209,10.36c0,3.584-2.129,6.608-5.769,8.176
c4.536,1.4,7.168,4.928,7.168,9.408c0,5.32-3.136,11.256-12.712,11.256h-14.784v-39.2
C124.629,52.869,138.517,52.869,138.517,52.869z M145.91,63.286c0-2.855-1.232-5.991-7.112-5.991h-9.296v12.207h8.064
C143.109,69.501,145.91,67.037,145.91,63.286z M147.31,81.15c0-3.752-1.793-7.224-9.129-7.224h-8.68v13.663h10.473
C145.742,87.589,147.31,84.286,147.31,81.15z"/>
<path fill="#1E5B96" d="M178.22,89.326c-1.903,2.464-4.199,3.416-7.223,3.416c-6.721,0-10.416-3.584-10.416-12.768V63.453h4.871
v17.248c0,5.433,2.633,7.504,6.16,7.504c3.752,0,6.607-1.792,6.607-7.392v-17.36h4.873V92.07h-4.873v-2.744H178.22z"/>
<path fill="#1E5B96" d="M192.164,55.222c0-1.736,1.345-3.136,3.024-3.136c1.736,0,3.08,1.399,3.08,3.136
c0,1.68-1.344,3.023-3.08,3.023C193.508,58.245,192.164,56.902,192.164,55.222z M192.781,63.453h4.871V92.07h-4.871V63.453z"/>
<path fill="#1E5B96" d="M207.564,53.934l4.871-2.296V92.07h-4.871V53.934z"/>
<path fill="#1E5B96" d="M220.611,77.734c0-9.408,4.705-14.952,11.816-14.952c3.359,0,5.6,1.232,7.225,2.688V53.934l4.871-2.296
V92.07h-4.871v-2.24c-1.625,1.681-3.809,2.912-7.225,2.912C225.148,92.742,220.611,86.974,220.611,77.734z M239.652,84.342v-13.44
c-1.064-1.68-3.248-3.64-6.553-3.64c-4.816,0-7.561,3.752-7.561,10.472c0,5.936,2.857,10.472,7.561,10.472
C235.787,88.205,238.195,86.806,239.652,84.342z"/>
<path fill="#1E5B96" d="M252.195,87.926l3.473-2.969c1.455,1.568,3.92,3.416,7,3.416c3.023,0,5.32-1.12,5.32-3.64
c0-2.856-3.193-4.144-6.553-5.432c-5.264-1.96-8.848-4.256-8.848-8.96s4.145-7.561,9.631-7.561c4.369,0,7.561,1.849,9.633,4.313
l-3.359,2.8c-1.232-1.288-3.248-2.744-6.328-2.744c-2.912,0-4.76,1.176-4.76,3.192c0,2.407,2.855,3.472,6.047,4.76
c5.209,1.848,9.297,4.088,9.297,9.52c0,5.152-3.977,8.12-10.193,8.12C258.355,92.742,254.435,90.782,252.195,87.926z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1,55 @@
digraph gvpr_result {
32273152 [fontname=Helvetica,
label="rust@1.28.0",
shape=box];
32273536 [fontname=Helvetica,
label="rust@1.27.2",
shape=box];
32273152 -> 32273536 [color=magenta];
32273152 -> 32273536 [color=magenta];
32273920 [fontname=Helvetica,
label="rust@1.26.2",
shape=box];
32273536 -> 32273920 [color=darkseagreen];
32273536 -> 32273920 [color=darkseagreen];
32274304 [fontname=Helvetica,
label="rust@1.25.0",
shape=box];
32273920 -> 32274304 [color=darkgoldenrod];
32273920 -> 32274304 [color=darkgoldenrod];
32274688 [fontname=Helvetica,
label="rust@1.24.1",
shape=box];
32274304 -> 32274688 [color=darkseagreen];
32274304 -> 32274688 [color=darkseagreen];
32275072 [fontname=Helvetica,
label="rust@1.23.0",
shape=box];
32274688 -> 32275072 [color=red];
32274688 -> 32275072 [color=red];
32275456 [fontname=Helvetica,
label="rust@1.22.1",
shape=box];
32275072 -> 32275456 [color=darkseagreen];
32275072 -> 32275456 [color=darkseagreen];
32275840 [fontname=Helvetica,
label="rust@1.21.0",
shape=box];
32275456 -> 32275840 [color=dimgrey];
32275456 -> 32275840 [color=dimgrey];
32276224 [fontname=Helvetica,
label="rust@1.20.0",
shape=box];
32275840 -> 32276224 [color=red];
32275840 -> 32276224 [color=red];
32190656 [fontname=Helvetica,
label="rust@1.19.0",
shape=box];
32276224 -> 32190656 [color=peachpuff4];
32276224 -> 32190656 [color=peachpuff4];
32190848 [fontname=Helvetica,
label="mrustc@0.8.0",
shape=box];
32190656 -> 32190848 [color=cyan3];
32190656 -> 32190848 [color=cyan3];
}

Binary file not shown.

View File

@ -0,0 +1 @@
../../../in2p3-2019/images/smoothie.pdf

View File

@ -0,0 +1 @@
../../../aramis-2019/images/software-heritage-logo-title-white.pdf

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,134 @@
#+TITLE: Guix: Unifying provisioning, deployment, and package management in the age of containers
* Summary
When it comes to software deployment, we are getting used to a new
distribution of roles among many actors: traditional distros take care
of core software pieces, “application bundles” à la Docker/Flatpak
provide complex applications, Cabal, Gem, npm, pip, and friends take
care of language-specific software, and Puppet/Ansible orchestrate the
whole thing. Each of these tools has its justification, but the end
result is a maze thats hard to deal with.
In this talk I will present GNU Guix, a software deployment toolbox and
its associated distro that feature transactional upgrades and rollbacks,
declarative OS deployment inspired by Nix, and reproducible builds. I
will show how Guix approaches a variety of use cases: “package
management” à la apt-get, environment management à la VirtualEnv,
Ansible-style declarative OS deployment, and container provisioning à la
Docker.
Guix emphasizes programmability and one of its salient features is that
it provides a unified Scheme programming environment to deal with with
all the aspects of configuration, deployment, and system
management—including service management by PID 1. I will illustrate how
this works out on standalone Guix systems, and show the benefits of the
approach by discussing applications that take advantage of Guix as a
library to support reproducible software deployment.
Last, I will reflect on the road that led to Guix 1.0 six months ago and
present some of the challenges ahead.
* Abstract
This talk will reflect on what GNU Guix has to offer to users and how it
compares to other approaches—from CONDA and pip to Flatpak and
Docker. Guix is not only a transactional package manager and declarative
GNU/Linux distribution: its also an environment manager, a container
provisioning tool, and more. We will describe these tools and our
journey to 1.0, emphasizing key properties that set Guix apart:
reproducibility, transparency, and hackability.
* intro: ?
* Guix
** package management -> take from jcad-2018
** guix describe + guix pull
** operating system
** guix deploy
* “Its all about source code.”
** functional model
** guix system describe (Quine)
#+begin_src scheme
((lambda (x)
(list x (list (quote quote) x)))
(quote
(lambda (x)
(list x (list (quote quote) x)))))
#+end_src
** reproducible builds
** bootstrapping
- bootstrap from nothing
** Software Heritage
* what's cooking?
** Guix-HPC
** Guix-Jupyter
** guix deploy
** Guile 3
** contributor stats
** Outreachy + GSoC
** link to other talks
* Get it!
* COMMENT references
- [[https://blog.florentdelannoy.com/blog/2020/introducing-zeitgeist/][Zeitgeist]], “Zeitgeist is a language-agnostic dependency checker.”
- https://www.jres.org/fr/programme/
* COMMENT demo preparation
#+BEGIN_SRC emacs-lisp :exports none
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(scheme . t)
(shell . t)))
#+END_SRC
#+RESULTS:
#+BEGIN_SRC sh :exports none
mkdir -p /tmp/home/demo
cp -fv ./os.scm /tmp/home/demo
export USER=demo
export HOME=/tmp/home/demo
export PS1='guix-demo \w\$ '
export GUIX_BUILD_OPTIONS=--no-grafts
export GUIX_DISK_SPACE_WARNING=0
mkdir -p "$HOME/.config/guix"
cd
rm -f my-profile.scm
echo '(specifications->manifest '"'"'("guile" "emacs" "emacs-geiser"))' > my-profile.scm
(cd $HOME/.config/guix ; ln -s ~ludo/.config/guix/current)
unset GUILE_LOAD_PATH
unset GUILE_LOAD_COMPILED_PATH
export PATH=$HOME/.config/guix/current/bin:$HOME/.guix-profile/bin:/run/current-system/profile/bin:$HOME/local/bin:/run/setuid-programs
rm -f /var/guix/profiles/per-user/demo/guix-profile*
rm -f ~/.guix-profile
rm -f old-* new-*
unset LANGUAGE
#+END_SRC

View File

@ -0,0 +1,9 @@
;; Rules for Rubber.
[dot-pdf]
target = (.*)\.pdf
source = \1.dot
rule = shell
cost = 0
command = dot -Tpdf -Gratio=.78 -o $target $source
message = rendering $source into $target

View File

@ -0,0 +1,901 @@
% The comment below tells Rubber to compile the .dot files.
%
% rubber: module graphics
% rubber: rules rules.ini
% Make sure URLs are broken on hyphens.
% See <https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url>.
\RequirePackage[hyphens]{url}
\documentclass[aspectratio=169]{beamer}
\usepackage{ragged2e} % for 'flushleft', etc.
\usetheme{default}
\usefonttheme{structurebold}
% Nice sans-serif font.
\usepackage[sfdefault,lining]{FiraSans} %% option 'sfdefault' activates Fira Sans as the default text font
%% \usepackage[fakebold]{firamath-otf}
\renewcommand*\oldstylenums[1]{{\firaoldstyle #1}}
% Nice monospace font.
\usepackage{inconsolata}
%% \renewcommand*\familydefault{\ttdefault} %% Only if the base font of the document is to be typewriter style
\usepackage[T1]{fontenc}
% Typeset maths using a slanted, serif font.
\def\mathfamilydefault{\rmdefault}
\ProcessOptionsBeamer
\usepackage{helvet}
%% \usepackage{fontspec}
%% \setmainfont[
%% Ligatures=TeX,
%% UprightFont = *-Boo,
%% ItalicFont = *-BooObl,
%% SmallCapsFont = *SC-Boo,
%% BoldFont = *-Dem,
%% BoldItalicFont = *-DemObl
%% ]{Futura}
\usepackage{multimedia} % movie
\usecolortheme{seagull} % white on black
\usepackage[utf8]{inputenc}
\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
\usepackage[absolute,overlay]{textpos}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,trees,shadows,positioning}
\usepackage{fancyvrb} % for \Verb
% Remember the position of every picture.
\tikzstyle{every picture}+=[remember picture]
\tikzset{onslide/.code args={<#1>#2}{%
\only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
}}
% Colors.
\definecolor{guixred1}{RGB}{226,0,38} % red P
\definecolor{guixorange1}{RGB}{243,154,38} % guixorange P
\definecolor{guixyellow}{RGB}{254,205,27} % guixyellow P
\definecolor{guixred2}{RGB}{230,68,57} % red S
\definecolor{guixred3}{RGB}{115,34,27} % dark red
\definecolor{guixorange2}{RGB}{236,117,40} % guixorange S
\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey S
\definecolor{guixdarkgrey}{RGB}{46,47,55} % guixdarkgrey S
\definecolor{guixblue1}{RGB}{38,109,131} % guixblue S
\definecolor{guixblue2}{RGB}{10,50,80} % guixblue S
\definecolor{guixgreen1}{RGB}{133,146,66} % guixgreen S
\definecolor{guixgreen2}{RGB}{157,193,7} % guixgreen S
\setbeamerfont{title}{size=\huge}
\setbeamerfont{frametitle}{size=\huge}
\setbeamerfont{normal text}{size=\Large}
% White-on-black color theme.
\setbeamercolor{structure}{fg=guixorange1,bg=black}
\setbeamercolor{title}{fg=white,bg=black}
\setbeamercolor{date}{fg=guixorange1,bg=black}
\setbeamercolor{frametitle}{fg=white,bg=black}
\setbeamercolor{titlelike}{fg=white,bg=black}
\setbeamercolor{normal text}{fg=white,bg=black}
\setbeamercolor{alerted text}{fg=guixyellow,bg=black}
\setbeamercolor{section in toc}{fg=white,bg=black}
\setbeamercolor{section in toc shaded}{fg=white,bg=black}
\setbeamercolor{subsection in toc}{fg=guixorange1,bg=black}
\setbeamercolor{subsection in toc shaded}{fg=white,bg=black}
\setbeamercolor{subsubsection in toc}{fg=guixorange1,bg=black}
\setbeamercolor{subsubsection in toc shaded}{fg=white,bg=black}
\setbeamercolor{frametitle in toc}{fg=white,bg=black}
\setbeamercolor{local structure}{fg=guixorange1,bg=black}
\newcommand{\highlight}[1]{\alert{\textbf{#1}}}
\title{GNU Guix: Unifying provisioning, deployment, and package management}
\author{Ludovic Courtès}
\date{FOSDEM, 1 February 2020}
\setbeamertemplate{navigation symbols}{} % remove the navigation bar
\AtBeginSection[]{
\begin{frame}
\frametitle{}
\tableofcontents[currentsection]
\end{frame}
}
\newcommand{\screenshot}[2][width=\paperwidth]{
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[{#1}]{#2}};
\end{tikzpicture}
\end{frame}
}
\begin{document}
\begin{frame}[plain, fragile]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=\paperwidth]{images/sun}};
\end{tikzpicture}
{\color{guixdarkgrey}\Huge{\textbf{\\GNU Guix:\\Unifying provisioning,
deployment,\\and package management}}}
\vfill{}
{\color{guixdarkgrey}{\Large{Ludovic Courtès}}}
\\[4mm]
{\color{guixorange2}{\Large{{FOSDEM, \oldstylenums{1 February 2020}}}}}
\end{frame}
\setbeamercolor{normal text}{bg=guixred3,fg=white}
\begin{frame}[plain]
\begin{quotation}
\noindent
\begin{flushright}
\LARGE{``The Linux distribution as we know it is \textbf{coming to
an end}, and is being replaced by a new concept of
containerized, multi-instance, multi-user applications [...]''}
\end{flushright}
\end{quotation}
\hfill{--- Daniel Riek (\oldstylenums{2020})}
\begin{tikzpicture}[overlay]
\node [at=(current page.south east), anchor=south east]{
\url{https://fosdem.org/2020/schedule/event/riek_kubernetes/}
};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{fg=white,bg=black}
% https://commons.wikimedia.org/wiki/Category:Sun?uselang=fr#/media/File:%22Sun%22.JPG
% https://en.wikipedia.org/wiki/Zenith#/media/File:Tropical-area-mactan-philippines.jpg
\begin{frame}[plain, fragile]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=\paperwidth]{images/sun}};
\node [at=(current page.center), text=black,
text opacity=1, rounded corners=2pt]
{\LARGE{\textbf{ Slackware {\tt |} Debian {\tt |} Red Hat }}};
\end{tikzpicture}
\end{frame}
% https://commons.wikimedia.org/wiki/Category:Clouds_from_below?uselang=fr#/media/File:Cloud_(5018750171).jpg
% https://commons.wikimedia.org/wiki/Category:Clouds_from_below?uselang=fr#/media/File:Chigwell_Meadow_Essex_England_-_cumulus_clouds.jpg
% https://commons.wikimedia.org/wiki/Category:Clouds_from_below?uselang=fr#/media/File:Clouds_above_Lordship_Recreation_Ground_Haringey_London_England_1.jpg
% https://commons.wikimedia.org/wiki/Category:Clouds_and_blue_sky?uselang=fr#/media/File:2018_05_Havelland_IMG_1931.JPG
\begin{frame}[plain, fragile]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=1.4\paperwidth]{images/clouds}};
\node [at=(current page.center), text=white,
text opacity=1, rounded corners=2pt]
{\LARGE{\textbf{ modules {\tt |} Spack {\tt |} EasyBuild {\tt
|} VirtualEnv }}};
\end{tikzpicture}
\end{frame}
% https://commons.wikimedia.org/wiki/Category:Cumulus_congestus_clouds?uselang=fr#/media/File:Cumulunimbus_IMG_5537.JPG
\begin{frame}[plain, fragile]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=1.4\paperwidth]{images/cumulunimbus}};
\node [at=(current page.center), text=white,
text opacity=1, rounded corners=2pt]
{\LARGE{\textbf{ Ansible {\tt |} Puppet {\tt |} Propellor }}};
\end{tikzpicture}
\end{frame}
% https://commons.wikimedia.org/wiki/Category:Stratus_clouds?uselang=fr#/media/File:2018-05-18_18_27_24_Low_stratiform_clouds_(base_near_3,000_feet_AGL)_with_wavy,_bumpy_base_viewed_from_Mercer_County_Route_622_(North_Olden_Avenue)_in_Ewing_Township,_Mercer_County,_New_Jersey.jpg
\begin{frame}[plain, fragile]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=1.4\paperwidth]{images/low-clouds}};
\node [at=(current page.center), text=white, inner sep=5cm,
text opacity=1, rounded corners=2pt, fill=black, opacity=.5]
{\LARGE{\textbf{ pip {\tt |} Cabal {\tt |} Cargo {\tt |} CONDA
{\tt |} Gradle }}};
\end{tikzpicture}
\end{frame}
% https://commons.wikimedia.org/wiki/Category:Cloud-to-cloud_lightning#/media/File:004_2018_05_14_Extremes_Wetter.jpg
\begin{frame}[plain, fragile]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=1.4\paperwidth]{images/thunder}};
\node [at=(current page.center), text=white,
text opacity=1, rounded corners=2pt]
{\LARGE{\textbf{ Flatpak {\tt |} snap {\tt |} Docker {\tt |} Vagrant }}};
\end{tikzpicture}
\end{frame}
% TODO 2048 vuln + Docker license opacity
\setbeamercolor{normal text}{bg=guixred3}
\begin{frame}[plain, fragile]
\center{\Huge{\textbf{Are distros doomed?}}}
%% \\[2cm]
%% \uncover<2->{\center{Yes!} \par}
%% \uncover<3->{\center{No!} \par}
\end{frame}
\setbeamercolor{normal text}{bg=black,fg=white}
\setbeamercolor{normal text}{bg=guixred3,fg=white}
\begin{frame}[plain]
\begin{quotation}
\begin{flushright}
\LARGE{``Debian and other distributions are going to be \textbf{that
thing you run docker on}, little~more.''}
\end{flushright}
\end{quotation}
\hfill{--- Jos Poortvliet, ownCloud developer (\oldstylenums{2016})}
\begin{tikzpicture}[overlay]
\node [at=(current page.south east), anchor=south east]{
\url{http://lwn.net/Articles/670566/}
};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{fg=white,bg=black}
\setbeamercolor{normal text}{fg=white,bg=white}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
% https://github.com/owncloud-docker/server/blob/master/v19.10/Dockerfile.amd64
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[height=\paperheight]{images/owncloud-dockerfile}};
\node [at=(current page.center), anchor=south west, overlay,
inner sep=3mm, rounded corners,
text=black, text opacity=1, fill=white, opacity=.5, text width=7cm]
{\LARGE{\textbf{It's also that thing you run \emph{inside} Docker!}}};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{fg=white,bg=black}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=1.3\textwidth]{images/smoothie}};
\node [at=(current page.south east), anchor=south east, text=guixgrey]
{\small{courtesy of Ricardo Wurmus}};
\end{tikzpicture}
\end{frame}
% https://en.wikipedia.org/wiki/Don't_throw_the_baby_out_with_the_bathwater#/media/File:Murner.Nerrenbeschwerung.kind.jpg
\setbeamercolor{normal text}{bg=white}
\screenshot[height=.95\paperheight]{images/throwing-the-baby-out-with-the-bathwater}
\setbeamercolor{normal text}{bg=white}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=0.7\paperwidth]{images/Guix-horizontal-print}};
\end{tikzpicture}
\end{frame}
\screenshot{images/guix-scope}
\setbeamercolor{normal text}{fg=white,bg=black}
% demo
\begin{frame}[fragile]
\begin{semiverbatim}
\LARGE{
guix \alert{install} gcc-toolchain openmpi hwloc
eval `guix package \alert{--search-paths}=prefix`
guix package \alert{--roll-back}
guix install \alert{--profile}=./experiment \\
gcc-toolchain@5.5 hwloc@1
}
\end{semiverbatim}
\end{frame}
\begin{frame}[fragile]
\begin{semiverbatim}
\LARGE{
guix package \alert{--manifest}=my-packages.scm
(\alert{specifications->manifest}
'("gcc-toolchain" "emacs"
"guile" "emacs-geiser"))
}
\end{semiverbatim}
\end{frame}
\setbeamercolor{normal text}{bg=guixdarkgrey}
\begin{frame}[fragile]
\begin{semiverbatim}
\Large{
bob@laptop$ guix package \alert{--manifest}=my-packages.scm
bob@laptop$ guix \alert{describe}
guix cabba9e
repository URL: https://git.sv.gnu.org/git/guix.git
commit: cabba9e15900d20927c1f69c6c87d7d2a62040fe
\pause
alice@supercomp$ guix \alert{pull} --commit=cabba9e
alice@supercomp$ guix package \alert{--manifest}=my-packages.scm
}
\end{semiverbatim}
%% \begin{tikzpicture}[overlay]
%% \node<3>[rounded corners=4, text centered, anchor=north,
%% fill=guixorange1, text width=7cm,
%% inner sep=3mm, opacity=.75, text opacity=1]
%% at (current page.center) {
%% \textbf{\Large{bit-reproducible \& portable!}}
%% };
%% \end{tikzpicture}
\end{frame}
\begin{frame}[fragile]
\begin{tikzpicture}[remember picture, overlay]
% https://commons.wikimedia.org/wiki/File:TeamTimeCar.com-BTTF_DeLorean_Time_Machine-OtoGodfrey.com-JMortonPhoto.com-07.jpg
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[width=\paperwidth]{images/delorean}};
\node [rounded corners=4, text centered, anchor=north,
text width=10cm,
inner sep=3mm, opacity=.75, text opacity=1]
at (current page.center) {
\textbf{\Huge{travel in space \emph{and} time!}}
};
\end{tikzpicture}
\end{frame}
\begin{frame}[fragile]
\begin{semiverbatim}
\LARGE{
guix \alert{time-machine} --commit=cabba9e -- \\
install hello
}
\end{semiverbatim}
\end{frame}
\setbeamercolor{normal text}{bg=guixblue1}
\begin{frame}[fragile]%{``Virtual environments''}
\LARGE{
\begin{semiverbatim}
guix \alert{environment} --ad-hoc\uncover<2->{ \alert{--container}} \\
python python-numpy python-scipy \\
-- python3
\end{semiverbatim}
}
\end{frame}
\setbeamercolor{normal text}{bg=guixred3}
\begin{frame}[fragile]%{Container provisioning}
\LARGE{
\begin{semiverbatim}
\$ guix \alert{pack}\only<2>{ --relocatable}\only<3->{ --format=docker} \\
python python-numpy
\textrm{...}
/gnu/store/\textrm{...}-\only<1-2>{pack.tar.gz}\only<3->{docker-image.tar.gz}
\end{semiverbatim}
}
\end{frame}
\setbeamercolor{normal text}{bg=white}
\screenshot[width=.9\paperwidth]{images/docker-guix-lol}
\setbeamercolor{normal text}{fg=white,bg=black}
\screenshot{images/guix-scope-systems}
\begin{frame}[fragile]
\begin{semiverbatim}
\Large{
<\textit{bob}> this is how Guix System works: you tell it
what you want, and it puts all the pieces in place
for you
<\textit{alice}> yeah you just need to speak its language
<\textit{civodul}> such a fine language, though :-)
}
\end{semiverbatim}
\vfill{
(seen on \#guix)}
\end{frame}
\begin{frame}[fragile]
\begin{semiverbatim}
\vspace{-1cm}
\small{
(\alert{operating-system}
(host-name "guixbox")
(timezone "Europe/Brussels")
(locale "fr_BE.utf8")
(bootloader (\alert{bootloader-configuration}
(bootloader grub-efi-bootloader)
(target "/boot/efi")))
(file-systems (append (list (\alert{file-system}
(device (file-system-label "my-root"))
(mount-point "/")
(type "ext4")))
%base-file-systems))
(users (append (list (\alert{user-account}
(name "charlie")
(group "users")
(home-directory "/home/charlie")))
%base-user-accounts))
(services (append (list (\alert{service} dhcp-client-service-type)
(\alert{service} openssh-service-type))
%base-services)))
}
\end{semiverbatim}
\end{frame}
\begin{frame}[fragile]
\begin{semiverbatim}
\Large{
\$ guix system \alert{vm} config.scm
\textrm{...}
\$ guix system \alert{docker-image} config.scm
\textrm{...}
\$ guix system \alert{container} config.scm
\textrm{...}
\$ guix system \alert{reconfigure} config.scm
\textrm{...}
}
\end{semiverbatim}
\end{frame}
\setbeamercolor{normal text}{bg=guixdarkgrey}
\begin{frame}[fragile]
\begin{semiverbatim}
(\alert{define} (os-for-machine n)
;; \textsf{\textit{Return an OS for machine number N.}}
(operating-system
(host-name (string-append "machine"
(number->string n)))
\textsf{...}))
;; \textsf{\textit{Return a list of machines.}}
(map (\alert{lambda} (n)
(\alert{machine}
(operating-system (os-for-machine n))
\only<1-3>{(environment managed-host-environment-type)
(configuration (\alert{machine-ssh-configuration}
(host-name (ip-for-machine n))))))}\only<4->{(environment digital-ocean-environment-type)
(configuration (\alert{digital-ocean-configuration}
(region "nyc3")
\textsf{...}))))}
(list 1 2 3 4 5))
\end{semiverbatim}
\begin{tikzpicture}[overlay]
\node<1-2> at (14,6) [anchor=north east,
inner sep=1mm, rotate=-30, shape=star,
fill=guixorange1, text=white] {
\Large{\textbf{New!}}
};
\node<2> [at=(current page.center), inner sep=5mm,
rounded corners, fill=black, text=white,
opacity=.75, text opacity=1] {
\LARGE{\texttt{guix deploy machines.scm}}
};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{bg=guixgreen1}
\begin{frame}[fragile]
\Huge{\textbf{It's all about source code.}}
\end{frame}
\setbeamercolor{normal text}{bg=guixgrey}
\begin{frame}[fragile]
\begin{semiverbatim}
(define audacity
(\alert{package}
(name "audacity")
(home-page "https://github.com/audacity/audacity")
(\alert{source} (origin
(method git-fetch)
(uri (git-reference
(\alert{url} home-page)
(\alert{commit} "2f30ff07a")\tikz{\node(commit){};}
(recursive? #t)))
(sha256
(base32
"106rf402cvfdhc2yf\textrm{...}"))))
\textrm{...}))
\end{semiverbatim}
\begin{tikzpicture}[overlay]
\node<2->(swh) [inner sep=3mm, rounded corners, fill=black,
opacity=.3, text opacity=1] at (12,5) {
% https://annex.softwareheritage.org/public/logo/
\includegraphics[width=0.33\textwidth]{images/software-heritage-logo-title-white}
};
\node<2-> [at=(current page.south), anchor=south,
inner sep=2mm, rounded corners, fill=black, text width=13cm,
opacity=.3, text opacity=1] {
\url{https://www.softwareheritage.org/2019/04/18/software-heritage-and-gnu-guix-join-forces-to-enable-long-term-reproducibility/}
};
\path<2->[very thick, draw=guixorange1]
(swh) edge [out=-90, in=0, ->] (commit);
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{bg=white}
\screenshot[width=.8\paperwidth]{images/reproducible-builds}
\setbeamercolor{normal text}{bg=guixdarkgrey}
\begin{frame}[plain]
\LARGE{
$\texttt{emacs} = f(\texttt{gtk+}, \texttt{gcc}, \texttt{make}, \texttt{coreutils})$
\\[1.1cm]
\uncover<2->{$\texttt{gtk+} = g(\texttt{glib}, \texttt{gcc}, \texttt{make}, \texttt{coreutils})$}
\\[1.1cm]
\uncover<3->{$\texttt{gcc} = h(\texttt{make}, \texttt{coreutils}, \texttt{gcc}_0)$}
\\[1.1cm]
\uncover<3->{\textrm{...}}
}
\uncover<1>{\large{where $f =$ \texttt{./configure \&\& make \&\& make install}}}
%% \begin{tikzpicture}[overlay]
%% \node<4->[fill=guixorange1, text=black, text opacity=1, opacity=.7,
%% rounded corners=2mm, inner sep=5mm] at (5, 1) {
%% \textbf{\Large{the complete DAG is captured}}
%% };
%% \end{tikzpicture}
\end{frame}
%% \begin{frame}[fragile]
%% \begin{tikzpicture}[overlay]
%% \node [at=(current page.north west), anchor=north west,
%% outer sep=4mm, text=white, text width=13mm]{
%% \texttt{configure},
%% \texttt{src/hello.c},
%% GCC,\\
%% Binutils,
%% etc.
%% };
%% \node [at=(current page.center), outer sep=3mm, font=\rmfamily]{
%% {\fontfamily{roman}\fontsize{45}{45}{$f(x,y,z)$}}
%% };
%% \end{tikzpicture}
%% \end{frame}
\setbeamercolor{normal text}{bg=black}
\begin{frame}[fragile]
%% \frametitle{Bit-Reproducible Builds$^*$}
%% \framesubtitle{$^*$ almost!}
\begin{semiverbatim}
\Large{
\$ guix build hello
\uncover<2->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<2>{h2g4sf72\textrm{...}}};}-hello-2.10}
\uncover<3->{\$ \alert<3>{guix gc --references /gnu/store/\textrm{...}-hello-2.10}
/gnu/store/\textrm{...}-glibc-2.29
/gnu/store/\textrm{...}-gcc-7.4.0-lib
/gnu/store/\textrm{...}-hello-2.10
}}
\end{semiverbatim}
\begin{tikzpicture}[overlay]
\node<1>(labelnixhash) [fill=white, text=black, inner sep=0.5cm,
rounded corners] at (current page.center) {%
\Large{\textbf{isolated build}: chroot, separate name spaces, etc.}
};
\node<2>(labelnixhash) [fill=white, text=black] at (4cm, 2cm) {%
hash of \textbf{all} the dependencies};
\path[->]<2>(labelnixhash.north) edge [bend left, in=180, out=-45] (nixhash.south);
\draw<4-> (-10pt, 105pt) [very thick, color=guixorange2, rounded corners=8pt]
arc (10:-50:-50pt and 110pt);
\node<4->[fill=white, text=black, text opacity=1, opacity=.7,
rounded corners=2mm, inner sep=5mm]
at (7, 2) {\textbf{\Large{(nearly) bit-identical for everyone}}};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{bg=guixblue2}
\begin{frame}[fragile]
\begin{semiverbatim}
$ \alert{guix challenge} --substitute-urls="https://ci.guix.gnu.org https://example.org"
\alert{/gnu/store/\dots{}-openssl-1.0.2d contents differ}:
local hash: 0725l22\dots{}
http://ci.guix.gnu.org/\dots{}-openssl-1.0.2d: 0725l22\dots{}
http://example.org/\dots{}-openssl-1.0.2d: 1zy4fma\dots{}
\alert{/gnu/store/\dots{}-git-2.5.0 contents differ}:
local hash: 00p3bmr\dots{}
http://ci.guix.gnu.org/\dots{}-git-2.5.0: 069nb85\dots{}
http://example.org/\dots{}-git-2.5.0: 0mdqa9w\dots{}
\alert{/gnu/store/\dots{}-pius-2.1.1 contents differ}:
local hash: 0k4v3m9\dots{}
http://ci.guix.gnu.org/\dots{}-pius-2.1.1: 0k4v3m9\dots{}
http://example.org/\dots{}-pius-2.1.1: 1cy25x1\dots{}
\end{semiverbatim}
\end{frame}
\setbeamercolor{normal text}{bg=black}
% demo guix build foo --check | guix challenge
\setbeamercolor{normal text}{fg=black,bg=white}
\begin{frame}[fragile]
\vspace{2.5cm}
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt,
drop shadow={opacity=0.5}, draw, color=guixgrey, line width=1pt]
{\includegraphics[height=0.9\paperheight]{images/reflections-on-trusting-trust}};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{fg=white,bg=black}
\setbeamercolor{normal text}{bg=white}
\screenshot[width=.8\paperwidth]{images/bootstrappable}
\setbeamercolor{normal text}{bg=black}
\setbeamercolor{normal text}{bg=white}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[height=\paperheight]{images/bootstrap-graph}};
\node<2-> [at=(current page.center), anchor=north, inner sep=20pt, text=guixgrey]
{\Large{\textbf{250 MiB of binary blobs}}};
\end{tikzpicture}
\end{frame}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt]
{\includegraphics[height=\paperheight]{images/bootstrap-graph-reduced}};
\node<2-> [at=(current page.center), fill=guixorange1, rounded corners=10pt,
inner sep=10pt, opacity=.8, text opacity=1]
{\Large{\textbf{250 MiB $\rightarrow$ 130 MiB of binary blobs}}};
\node<2-> [at=(current page.south), anchor=south,
inner sep=2mm, outer sep=3mm, rounded corners,
fill=white, opacity=.7, text opacity=1, text=black]
{\url{https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/}};
\node<2-> [at=(current page.north east), anchor=north east,
fill=white, text=guixdarkgrey, draw=guixblue1,
rounded corners=10pt, %text width=5cm,
inner sep=10pt, outer sep=3mm, text opacity=1]
{\large{\textbf{Go to AW1.125, Sun.~11:50AM}}};
\end{tikzpicture}
\end{frame}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture, overlay]
\node [at=(current page.center), inner sep=0pt, rotate=30]
{\includegraphics[height=1.1\paperheight]{images/rust-bootstrap}};
%% \node<2-> [at=(current page.center), fill=guixorange1, rounded corners=10pt,
%% inner sep=10pt, opacity=.8, text opacity=1]
%% {\Large{\textbf{Thumbs up, Danny Milosavljevic!}}};
\node<1> [at=(current page.center), fill=guixorange1, rounded corners=10pt,
inner sep=10pt, opacity=.8, text opacity=1]
{\Large{\textbf{Rust entirely built from source!}}};
\node<1> [at=(current page.south), anchor=south,
inner sep=2mm, outer sep=3mm, rounded corners, fill=white,
opacity=.7, text opacity=1, text=black]
{\url{https://guix.gnu.org/blog/2018/bootstrapping-rust/}};
\node<1-> [at=(current page.north east), anchor=north east,
fill=white, text=guixdarkgrey, draw=guixblue1,
rounded corners=10pt, %text width=5cm,
inner sep=10pt, outer sep=3mm, text opacity=1]
{\large{\textbf{Go to K.3.401, Sun.~10:00AM}}};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{fg=white,bg=black}
%% \setbeamercolor{normal text}{bg=white}
%% \begin{frame}[plain]
%% \begin{tikzpicture}[remember picture, overlay]
%% \node [at=(current page.center), fill=guixblue1,
%% shape=circle, inner sep=2.2cm, opacity=.8, text opacity=1] {};
%% \node [at=(current page.center), fill=guixorange1, rounded corners=10pt,
%% shape=circle, inner sep=2cm, opacity=1, text opacity=1] {};
%% \node [at=(current page.center), fill=guixorange1, rounded corners=10pt,
%% shape=circle, inner sep=10pt, opacity=0, text opacity=1]
%% {\Huge{\textbf{1.0!}}};
%% \end{tikzpicture}
%% \end{frame}
%% \setbeamercolor{normal text}{fg=white,bg=black}
\setbeamercolor{normal text}{bg=guixtaupe}
\begin{frame}[fragile]
\Huge{$f(\texttt{config.scm}) = \vcenter{\hbox{\includegraphics[width=20mm]{images/emblem-system-symbolic}}}$}
\begin{tikzpicture}[remember picture, overlay]
\node<2-> [at=(current page.center), shape=circle, inner sep=1cm,
fill=white, text=black, opacity=.75, text opacity=.9] {
\Huge{$f^{-1}$}~?
};
\end{tikzpicture}
\end{frame}
\begin{frame}[fragile]
\begin{semiverbatim}
\Large{
\$ guix system \alert{describe}
file name: /var/guix/profiles/system-126-link
canonical file name: /gnu/store/\textsf{\dots{}}-system
label: GNU with Linux-Libre 5.4.15
bootloader: grub-efi
root device: label: "root"
\alert{channels}:
guix:
repository URL: https://git.savannah.gnu.org/\textsf{\dots{}}
commit: 93f4511eb0c9b33f5083c2a04f4148e0a494059c
\alert{configuration file}: /gnu/store/\textsf{\dots{}}-configuration.scm
}
\end{semiverbatim}
\begin{tikzpicture}[overlay]
\node at (14,6) [anchor=east,
inner sep=1mm, rotate=-30, shape=star,
fill=guixorange1, text=white] {
\Large{\textbf{New!}}
};
\end{tikzpicture}
\end{frame}
\setbeamercolor{normal text}{bg=guixblue1}
\begin{frame}
\Huge{\textbf{Wrap-up.}}
\end{frame}
\setbeamercolor{normal text}{fg=white,bg=black}
\setbeamercolor{normal text}{fg=white,bg=guixdarkgrey}
\begin{frame}[fragile]
\LARGE{
Not included in this talk :-)
\\[1cm]
\begin{itemize}
\item{ \textbf{embedded} usage
\begin{itemize}
\item Go to K.3.201, Sun. 11:00AM!
\end{itemize} }
\item { \textbf{Guile} \& programming language technology
\begin{itemize}
\item Go to AW1.125, Sun. 11:30AM!
\end{itemize} }
\item{ \textbf{Guix-HPC}: high-performance computing
\begin{itemize}
\item Go to UB.132, Sun. 12:30PM!
\end{itemize}}
\end{itemize}
}
\end{frame}
\begin{frame}[fragile]
\Huge{\textbf{Join us now, share the parens!}}
\vspace{0.7cm}
\Large{
\begin{itemize}
\item \textbf{install it!}
\item \textbf{use it!}
\item \textbf{hack it!}
\item \textbf{join} for Outreachy or GSoC!
\end{itemize}
}
\end{frame}
\setbeamercolor{normal text}{bg=white}
\screenshot{images/guix-scope}
\setbeamercolor{normal text}{bg=white}
\begin{frame}[fragile]
\vspace{-2cm}
\begin{tikzpicture}
\matrix[row sep=10mm, column sep=1cm]{
% https://git-scm.com/downloads/logos
\node {\includegraphics[width=0.2\textwidth]{images/Git-Logo-2Color}}; &
\node {\includegraphics[width=0.15\textwidth]{images/arrow-right}}; &
\node {\includegraphics[width=0.24\textwidth]{images/Guix-horizontal-print}};
\\
};
\end{tikzpicture}
\begin{tikzpicture}[overlay]
\node [at=(current page.center), anchor=north,
text=black, text width=.9\textwidth]{
\Huge{\textbf{Reproducible deployment}\\ is
the logical next step. \par
}};
\end{tikzpicture}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setbeamercolor{normal text}{bg=black}
\begin{frame}[plain]
\vfill{
\vspace{1.5cm}
\center{\includegraphics[width=0.3\textwidth]{images/Guix-white}}\\[1.0cm]
\texttt{ludo@gnu.org}\hfill{\alert{\url{https://guix.gnu.org/}}}
}
\end{frame}
\begin{frame}{}
\begin{textblock}{12}(2, 3)
\tiny{
Copyright \copyright{} 2010, 2012--2020 Ludovic Courtès \texttt{ludo@gnu.org}.\\[3.0mm]
GNU Guix logo, CC-BY-SA 4.0, \url{https://gnu.org/s/guix/graphics} \\
Reproducible Builds logo under CC-BY 3.0,
\url{https://uracreative.github.io/reproducible-builds-styleguide/visuals/}. \\
Bootstrappable Builds logo by Ricardo Wurmus,
\url{https://bootstrappable.org}. \\
Docker whale image by Ricardo Wurmus. \\
Smoothie image \copyright{} 2019 Ricardo Wurmus, CC-BY-SA 4.0. \\
Hand-drawn arrows by Freepik from flaticon.com.
\\[1.5mm]
Picture of the sun under CC-BY-SA 3.0,
\url{https://commons.wikimedia.org/wiki/File:\%22Sun\%22.JPG}. \\
Cloud picture 1 under CC-BY-SA 2.0,
\url{https://commons.wikimedia.org/wiki/File:Cloud_(5018750171).jpg}. \\
Cloud picture 2 under CC-BY-SA 3.0,
\url{https://commons.wikimedia.org/wiki/File:Cumulunimbus_IMG_5537.JPG}. \\
Cloud picture 3 under CC-BY-SA 4.0,
\url{https://commons.wikimedia.org/wiki/File:2018-05-18_18_27_24_Low_stratiform_clouds_(base_near_3,000_feet_AGL)_with_wavy,_bumpy_base_viewed_from_Mercer_County_Route_622_(North_Olden_Avenue)_in_Ewing_Township,_Mercer_County,_New_Jersey.jpg}. \\
Thunder picture under CC-BY-SA 4.0,
\url{https://commons.wikimedia.org/wiki/File:004_2018_05_14_Extremes_Wetter.jpg}.
\\[1.5mm]
Copyright of other images included in this document is held by
their respective owners.
\\[3.0mm]
This work is licensed under the \alert{Creative Commons
Attribution-Share Alike 3.0} License. To view a copy of this
license, visit
\url{http://creativecommons.org/licenses/by-sa/3.0/} or send a
letter to Creative Commons, 171 Second Street, Suite 300, San
Francisco, California, 94105, USA.
\\[2.0mm]
At your option, you may instead copy, distribute and/or modify
this document under the terms of the \alert{GNU Free Documentation
License, Version 1.3 or any later version} published by the Free
Software Foundation; with no Invariant Sections, no Front-Cover
Texts, and no Back-Cover Texts. A copy of the license is
available at \url{http://www.gnu.org/licenses/gfdl.html}.
\\[2.0mm]
% Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
The source of this document is available from
\url{http://git.sv.gnu.org/cgit/guix/maintenance.git}.
}
\end{textblock}
\end{frame}
\end{document}
% Local Variables:
% coding: utf-8
% comment-start: "%"
% comment-end: ""
% ispell-local-dictionary: "american"
% compile-command: "rubber --pdf talk.tex"
% End: