talks: fosdem-2020: Add talk for "container" track.
* talks/fosdem-2020/containers: New directory.
|
@ -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
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
../../../aramis-2019/images/Git-Logo-2Color.pdf
|
|
@ -0,0 +1 @@
|
|||
../../../fosdem-2019/minimalist/images/Guix-horizontal-print.pdf
|
|
@ -0,0 +1 @@
|
|||
../../../fosdem-2019/minimalist/images/Guix-white.pdf
|
After Width: | Height: | Size: 422 KiB |
|
@ -0,0 +1 @@
|
|||
../../../aramis-2019/images/arrow-right.pdf
|
|
@ -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];
|
||||
|
||||
}
|
|
@ -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];
|
||||
|
||||
}
|
|
@ -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 |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 50 KiB |
|
@ -0,0 +1 @@
|
|||
../../../aramis-2019/images/delorean.jpg
|
|
@ -0,0 +1 @@
|
|||
../../../jcad-2018/images/docker-guix-lol.pdf
|
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 178 KiB |
|
@ -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 |
|
@ -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];
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
../../../in2p3-2019/images/smoothie.pdf
|
|
@ -0,0 +1 @@
|
|||
../../../aramis-2019/images/software-heritage-logo-title-white.pdf
|
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 64 KiB |
|
@ -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 that’s 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: it’s 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
|
||||
|
||||
* “It’s 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
|
||||
|
|
@ -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
|
|
@ -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:
|