diff options
author | Christopher Baines <mail@cbaines.net> | 2019-06-19 08:07:35 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-06-19 08:07:35 +0100 |
commit | 90b7876a3e7a5c183017b4e515ad89bd5034dc46 (patch) | |
tree | fbe5a3baa0db294969c06f78dff8097d320095c2 /index.html | |
parent | 33bed47daca3f08c396215415e6ece005970734a (diff) | |
download | perl-software-in-gnu-guix-90b7876a3e7a5c183017b4e515ad89bd5034dc46.tar perl-software-in-gnu-guix-90b7876a3e7a5c183017b4e515ad89bd5034dc46.tar.gz |
WIP
Diffstat (limited to 'index.html')
-rw-r--r-- | index.html | 421 |
1 files changed, 375 insertions, 46 deletions
@@ -1,49 +1,378 @@ <!doctype html> <html> - <head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - - <title>reveal.js</title> - - <link rel="stylesheet" href="css/reset.css"> - <link rel="stylesheet" href="css/reveal.css"> - <link rel="stylesheet" href="css/theme/black.css"> - - <!-- Theme used for syntax highlighting of code --> - <link rel="stylesheet" href="lib/css/monokai.css"> - - <!-- Printing and PDF exports --> - <script> - var link = document.createElement( 'link' ); - link.rel = 'stylesheet'; - link.type = 'text/css'; - link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css'; - document.getElementsByTagName( 'head' )[0].appendChild( link ); - </script> - </head> - <body> - <div class="reveal"> - <div class="slides"> - <section>Slide 1</section> - <section>Slide 2</section> - </div> - </div> - - <script src="js/reveal.js"></script> - - <script> - // More info about config & dependencies: - // - https://github.com/hakimel/reveal.js#configuration - // - https://github.com/hakimel/reveal.js#dependencies - Reveal.initialize({ - dependencies: [ - { src: 'plugin/markdown/marked.js' }, - { src: 'plugin/markdown/markdown.js' }, - { src: 'plugin/notes/notes.js', async: true }, - { src: 'plugin/highlight/highlight.js', async: true } - ] - }); - </script> - </body> + <head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> + + <title>GNU Guix, package manager, system distribution and more</title> + + <link rel="stylesheet" href="css/reveal.css"> + <link rel="stylesheet" href="css/theme/black.css"> + <style> + .reveal h1 { + text-transform: unset; + } + + .reveal h2 { + text-transform: unset; + } + + .reveal h3 { + text-transform: unset; + } + + img { + background: none !important; + border: none !important; + box-shadow: none !important; + } + + pre { + background: none !important; + border: none !important; + box-shadow: none !important; + } + + .caption { + display: block; + clear: both; + font-size: large !important; + } + + .string { + color: #00cc99; + } + + .yellow-keyboard { + color: #ffff33; + } + </style> + + <!-- Theme used for syntax highlighting of code --> + <link rel="stylesheet" href="lib/css/zenburn.css"> + + <!-- Printing and PDF exports --> + <script> + var link = document.createElement( 'link' ); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css'; + document.getElementsByTagName( 'head' )[0].appendChild( link ); + </script> + </head> + <body> + <div class="reveal"> + <div class="slides"> + <section> + <span style="font-size: 4em;"> + <img src="perl.svg" style="background: unset; margin: unset; border: unset; box-shadow: unset; width: 1.05em;"><span style="vertical-align: 0.2em; margin-left: 0.15em;">+</span><img src="Guix.svg" style="background: unset; margin: unset; border: unset; box-shadow: unset;"> + </span> + <h1>Perl software in<br>GNU Guix</h1> + + <aside class="notes" data-markdown> + Hello, my name is Chris, and I'm talking about package + management with GNU Guix. + + I first found out about Guix sometime in late 2015, early + 2016. + + I remember installing it the night before FOSDEM back in + 2016 and I started using and contributing to Guix soon + after. + </section> + + <section> + <h2>Through Guix you can...</h2> + <p>Get and use Perl</p> + + <p>Get and use Perl modules</p> + + <p>Get and use tools and applications written in Perl</p> + </section> + + <section> + <h2>Getting Perl</h2> + + <pre>→ guix install perl + +→ perl --version + +This is perl 5, version 28, subversion 0 (v5.28.0) built for +x86_64-linux-thread-multi + +...</pre> + </section> + + <section> + <h2>Using Perl modules</h2> + + <pre style="font-size: 0.48em;"> +→ guix install perl perl-uri + +→ echo $PERL5LIB +/gnu/store/h3ryiwyhp8qcxyf74sxyv746171zpazr-profile/lib/perl5/site_perl + +→ ls /gnu/store/h3r...azr-profile/lib/perl5/site_perl/5.28.0/ +URI URI.pm x86_64-linux-thread-multi</pre> + </section> + + <section data-background="white"> + <img src="ikiwiki.svg" alt="Ikiwiki" style="width: 14em;" /> + + <ul> + <li>Wiki compiler</li> + <li>Static site generator</li> + <li>I occasionally use it for blogging</li> + </ul> + </section> + + <section> + <pre> +cbaines pushed a change to branch master +in repository guix. + + from 921bb35 gnu: linux-libre@4.9: Fix hash. + new 31d3a7c gnu: Add discount. + new 9d46919 gnu: Add perl-text-markdown-discount. + new 19d81cf gnu: Add perl-test-cpan-meta-json. + new d5b5020 gnu: Add perl-test-cpan-meta. + new b4387d8 gnu: Add perl-devel-cycle. + new 3d74955 gnu: Add perl-test-memory-cycle. + new 8800255 gnu: Add perl-test-notabs. + new 7d1f9c9 gnu: Add perl-test-eol. + new 4f0ee1b gnu: Add perl-html-scrubber. + new 86bd64b gnu: Add perl-yaml-libyaml. + new f0539b6 gnu: Add perl-cgi-session. + new 909dcf5 gnu: Add ikiwiki. + </pre> + </section> + + <section> + <pre> +<span class="fragment fade-in-then-semi-out">(<span class="yellow-keyboard">define-public</span> ikiwiki + (package</span> + <span class="fragment fade-in-then-semi-out">(name <span class="string">"ikiwiki"</span>) + (version <span class="string">"3.20190228"</span>)</span> + <span class="fragment fade-in-then-semi-out">(source + (origin + (method url-fetch) + (uri (string-append <span class="string">"http://snapshot.debian.org/archive/debian/"</span> + <span class="string">"20190301T035241Z/pool/main/i/ikiwiki/ikiwiki_"</span> + version <span class="string">".orig.tar.xz"</span>)) + (sha256 + (base32 + <span class="string">"17pyblaqhkb61lxl63bzndiffism8k859p54k3k4sghclq6lsynh"</span>))))</span> +<span class="fragment fade-in">...</span> +</pre></section> + + <section> + <pre> +<span style="opacity: 0.5;">(<span class="yellow-keyboard">define-public</span> ikiwiki + (package</span> + ... + <span class="fragment fade-in-then-semi-out">(build-system perl-build-system)</span> + <span class="fragment fade-in-then-semi-out">(arguments + `(#:phases + (modify-phases %standard-phases</span> + <span class="fragment fade-in-then-semi-out">(add-after 'unpack 'include-PERL5LIB-in-wrapper + (<span class="yellow-keyboard">lambda</span> _ + (substitute* <span class="string">"IkiWiki/Wrapper.pm"</span> + ((<span class="string">"^@wrapper\\_hooks"</span>) + (string-append + <span class="string">"@wrapper_hooks\n"</span> + <span class="string">" addenv(\"PERL5LIB\", \""</span> + (getenv <span class="string">"PERL5LIB"</span>) + <span class="string">"\");"</span>)))))</span> + <span class="fragment fade-in-then-semi-out">(add-after 'patch-source-shebangs 'patch-Makefile + (<span class="yellow-keyboard">lambda</span> _ + (substitute* <span class="string">"Makefile.PL"</span> + ((<span class="string">"SYSCONFDIR\\?="</span>) <span class="string">"SYSCONFDIR?=$(PREFIX)"</span>)) + #t))</span> + <span class="fragment fade-in-then-semi-out">(add-after 'install 'wrap-programs + (<span class="yellow-keyboard">lambda*</span> (#:key outputs #:allow-other-keys) + (<span class="yellow-keyboard">let*</span> ((out (assoc-ref outputs <span class="string">"out"</span>)) + (bin (string-append out <span class="string">"/bin/"</span>)) + (path (getenv <span class="string">"PERL5LIB"</span>))) + (for-each (lambda (file) + (wrap-program file + `(<span class="string">"PERL5LIB"</span> <span class="string">":"</span> prefix (,path)))) + (find-files bin)) + #t))))))</span> +<span class="fragment fade-in">...</span></pre></section> + + <section> +<pre><span style="opacity: 0.5;">(<span class="yellow-keyboard">define-public</span> ikiwiki + (package</span> + ... + <span class="fragment fade-in-then-semi-out">(native-inputs + `((<span class="string">"which"</span> ,which) + (<span class="string">"perl-html-tagset"</span> ,perl-html-tagset) + (<span class="string">"perl-timedate"</span> ,perl-timedate) + (<span class="string">"perl-xml-sax"</span> ,perl-xml-sax) + (<span class="string">"perl-xml-simple"</span> ,perl-xml-simple) + (<span class="string">"gettext"</span> ,gettext-minimal) + (<span class="string">"subversion"</span> ,subversion) + (<span class="string">"git"</span> ,git) + (<span class="string">"bazaar"</span> ,bazaar) + (<span class="string">"cvs"</span> ,cvs) + (<span class="string">"mercurial"</span> ,mercurial)))</span> + <span class="fragment fade-in-then-semi-out">(inputs + `((<span class="string">"python"</span> ,python-wrapper) + (<span class="string">"perl-cgi-formbuilder"</span> ,perl-cgi-formbuilder) + (<span class="string">"perl-cgi-session"</span> ,perl-cgi-session) + (<span class="string">"perl-cgi-simple"</span> ,perl-cgi-simple) + (<span class="string">"perl-db-file"</span> ,perl-db-file) + (<span class="string">"perl-html-parser"</span> ,perl-html-parser) + (<span class="string">"perl-html-scrubber"</span> ,perl-html-scrubber) + (<span class="string">"perl-html-template"</span> ,perl-html-template) + (<span class="string">"perl-image-magick"</span> ,perl-image-magick) + (<span class="string">"perl-json"</span> ,perl-json) + (<span class="string">"perl-text-markdown-discount"</span> ,perl-text-markdown-discount) + (<span class="string">"perl-uri"</span> ,perl-uri) + (<span class="string">"perl-yaml-libyaml"</span> ,perl-yaml-libyaml)))</span> +<span class="fragment fade-in">...</span></pre></section> + + <section> +<pre><span style="opacity: 0.5;">(<span class="yellow-keyboard">define-public</span> ikiwiki + (package</span> + ... + <span class="fragment fade-in-then-semi-out">(home-page <span class="string">"https://ikiwiki.info/"</span>) + (synopsis <span class="string">"Wiki compiler, capable of generating HTML"</span>) + (description + <span class="string">"Ikiwiki is a wiki compiler, capable of generating a static set of web +pages, but also incorporating dynamic features like a web based editor and +commenting."</span>) + (license license:gpl2+)))</span> + </pre> + </section> + + <section> + <pre> +→ guix build ikiwiki + +<span class="fragment fade-in-then-semi-out">...</span> + +<span class="fragment fade-right">/gnu/store/hcrv2cqzbisdb35hg2xmbxp1r2z7ijzd-ikiwiki-3.20190228</span> + </pre> + </section> + + <section> + <pre style="font-size: 0.4em;"> +/gnu/store/hcrv2cqzbisdb35hg2xmbxp1r2z7ijzd-ikiwiki-3.20190228 +├── bin +│ ├── ikiwiki +│ ├── ikiwiki-calendar +│ ├── ikiwiki-comment +│ ├── ikiwiki-makerepo +│ ├── ikiwiki-transition +│ └── ikiwiki-update-wikilist +├── etc +│ └── ikiwiki +│ └── ... +├── lib +│ ├── ikiwiki +│ │ └── ... +│ ├── perl5 +│ │ └── ... +│ └── w3m +│ └── cgi-bin +│ └── ikiwiki-w3m.cgi +├── sbin +│ └── ikiwiki-mass-rebuild +└── share + ├── ikiwiki + │ └── ... + ├── locale + │ └── ... + └── man + ├── man1 + │ └── ... + └── man8 + └── ikiwiki-mass-rebuild.8.gz + </pre> + </section> + + <section data-background="white"> + <img src="sqitch-logo.svg" alt="Sqitch" style="width: 15em;" /> + </section> + + <section> + <pre> +cbaines pushed a change to branch master +in repository guix. + + from 1b7436a gnu: wine-staging: Update to 4.6. + new 41c685f gnu: Add perl-http-tinyish. + new ef9902d gnu: Add perl-config-gitlike. + new 366b76c gnu: Add perl-cpan-distnameinfo. + new 54a5178 gnu: Add perl-tie-handle-offset. + new f73d4b1 gnu: Add perl-io-pager. + new e748fbe gnu: Add perl-string-formatter. + new 9273ebf gnu: Add perl-template-tiny. + new ce6bea4 gnu: Add perl-uri-nested. + new 618d52a gnu: Add perl-uri-db. + new c1a4e78 gnu: Add perl-test-checkdeps. + new 9c5551c gnu: Add perl-test-dir. + new 402cfeb gnu: Add perl-test-file. + new 709a9e9 gnu: Add perl-test-file-contents. + new 3840c51 gnu: Add perl-test-version. + new 55916fa gnu: Add perl-mysql-config. + new 7b23313 gnu: Add perl-string-shellquote. + new cabe8f1 gnu: Add sqitch.</pre> + </section> + + <section> + <pre> +→ guix import cpan HTTP::Tinyish + +Starting download of /tmp/guix-file.f6bYLw +From http://www.cpan.org/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-0.15.tar.gz... + …-0.15.tar.gz 16KiB 722KiB/s 00:00 [##################] 100.0% +(package + (name <span class="string">"perl-http-tinyish"</span>) + (version <span class="string">"0.15"</span>) + (source + (origin + (method url-fetch) + (uri (string-append + <span class="string">"mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-"</span> + version + <span class="string">".tar.gz"</span>)) + (sha256 + (base32 + <span class="string">"199sa722amvwhq0czjfb7psj3hbqmvni5vxkrm579r5943pg0rax"</span>)))) + (build-system perl-build-system) + (propagated-inputs + `((<span class="string">"perl-file-which"</span> ,perl-file-which) + (<span class="string">"perl-ipc-run3"</span> ,perl-ipc-run3))) + (home-page + <span class="string">"https://metacpan.org/release/HTTP-Tinyish"</span>) + (synopsis + <span class="string">"HTTP::Tiny compatible HTTP client wrappers"</span>) + (description fill-in-yourself!) + (license perl-license))</pre> + </div> + </div> + + <script src="lib/js/head.min.js"></script> + <script src="js/reveal.js"></script> + + <script> + // More info about config & dependencies: + // - https://github.com/hakimel/reveal.js#configuration + // - https://github.com/hakimel/reveal.js#dependencies + Reveal.initialize({ + controls: false, + history: true, + showNotes: true, + dependencies: [ + { src: 'plugin/markdown/marked.js' }, + { src: 'plugin/markdown/markdown.js' }, + { src: 'plugin/notes/notes.js', async: true }, + { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, + { src: 'plugin/tagcloud/tagcloud.js', async: true } + ] + }); + </script> + </body> </html> |