diff --git a/.gitignore b/.gitignore index dcccf49ae03c7dbb2157ec3dadeae1d3b19459a3..fde857ac5dbbb1ddd1afab035baedcefc9c36693 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ +result +.ninja_* fig/*.pdf +pipe-usage-example.pdf diff --git a/build.ninja b/build.ninja index 5f22979f3b05625ecff2ab643fae16f7ad8bd633..1ed28b41c9cfecaf6db6d0eef878f74fe4428825 100644 --- a/build.ninja +++ b/build.ninja @@ -1,10 +1,10 @@ rule svg_to_pdf command = inkscape -o $out $in -rule tex_to_pdf - command = pdflatex -interaction=nonstopmode $in +rule concatenate_pdf + command = pdftk $in cat output $out -build slides.pdf slides.aux slides.log slides.nav slides.out slides.snm slides.toc: tex_to_pdf slides.tex | fig/00-parent-begin.pdf fig/01-parent-pipe.pdf fig/02-parent-fork.pdf fig/03-parent-fork-focus-pipe.pdf fig/04-parent-switch.pdf fig/05-parent-close.pdf fig/06-parent-close-done.pdf fig/07-parent-read-blocked.pdf fig/08-child-switch.pdf fig/09-child-close.pdf fig/10-child-close-done.pdf fig/11-child-dup2.pdf fig/12-child-dup2-done.pdf fig/13-child-dup2-done2.pdf fig/14-child-exec.pdf fig/15-child-exec-done.pdf fig/16-parent-read-loop.pdf fig/17-child-exit.pdf fig/18-child-exit-done.pdf fig/18b-child-exit-done-deadlock-note.pdf fig/19-parent-close.pdf fig/20-parent-close-done.pdf +build pipe-usage-example.pdf: concatenate_pdf fig/00-parent-begin.pdf fig/01-parent-pipe.pdf fig/02-parent-fork.pdf fig/03-parent-fork-focus-pipe.pdf fig/04-parent-switch.pdf fig/05-parent-close.pdf fig/06-parent-close-done.pdf fig/07-parent-read-blocked.pdf fig/08-child-switch.pdf fig/09-child-close.pdf fig/10-child-close-done.pdf fig/11-child-dup2.pdf fig/12-child-dup2-done.pdf fig/13-child-dup2-done2.pdf fig/14-child-exec.pdf fig/15-child-exec-done.pdf fig/16-parent-read-loop.pdf fig/17-child-exit.pdf fig/18-child-exit-done.pdf fig/18b-child-exit-done-deadlock-note.pdf fig/19-parent-close.pdf fig/20-parent-close-done.pdf build fig/00-parent-begin.pdf: svg_to_pdf fig/00-parent-begin.svg build fig/01-parent-pipe.pdf: svg_to_pdf fig/01-parent-pipe.svg diff --git a/pipe-example.c b/code/pipe-example.c similarity index 100% rename from pipe-example.c rename to code/pipe-example.c diff --git a/default.nix b/default.nix index c02ce0e212eb0b999f5be8fff47226048097ad78..59a4fac63a411fe62098bc5c709f9f0104344ec6 100644 --- a/default.nix +++ b/default.nix @@ -6,24 +6,12 @@ let self = rec { - slides = pkgs.stdenv.mkDerivation rec { - name = "report"; - nativeBuildInputs = with pkgs; [ - texlive.combined.scheme-full + shell = pkgs.mkShell { + buildInputs = with pkgs; [ ninja inkscape + pdftk ]; - - src = pkgs.lib.sourceByRegex ./. [ - ".*\.tex" - "build\.ninja" - "fig" - "fig/.*\.svg" - ]; - installPhase = '' - mkdir -p $out - mv slides.pdf $out/ - ''; }; }; in diff --git a/slides.tex b/slides.tex deleted file mode 100644 index f24c500d9b38330766d2abae63d5c684cc1b019e..0000000000000000000000000000000000000000 --- a/slides.tex +++ /dev/null @@ -1,41 +0,0 @@ -\documentclass[12pt, aspectratio=43]{beamer} -\setbeamertemplate{navigation symbols}{} -\mode<presentation> - -\title{Exemple de pipe (fd, pipe, fork, dup2, exec)} -\author{Millian Poquet} - -\newcommand{\imageframe}[1]{ - \begin{frame}[plain]{}% - \begin{center}% - \makebox[\textwidth]{\includegraphics[width=\paperwidth]{#1}}% - \end{center}% - \end{frame} -} - -\begin{document} - -\imageframe{fig/00-parent-begin.pdf} -\imageframe{fig/01-parent-pipe.pdf} -\imageframe{fig/02-parent-fork.pdf} -\imageframe{fig/03-parent-fork-focus-pipe.pdf} -\imageframe{fig/04-parent-switch.pdf} -\imageframe{fig/05-parent-close.pdf} -\imageframe{fig/06-parent-close-done.pdf} -\imageframe{fig/07-parent-read-blocked.pdf} -\imageframe{fig/08-child-switch.pdf} -\imageframe{fig/09-child-close.pdf} -\imageframe{fig/10-child-close-done.pdf} -\imageframe{fig/11-child-dup2.pdf} -\imageframe{fig/12-child-dup2-done.pdf} -\imageframe{fig/13-child-dup2-done2.pdf} -\imageframe{fig/14-child-exec.pdf} -\imageframe{fig/15-child-exec-done.pdf} -\imageframe{fig/16-parent-read-loop.pdf} -\imageframe{fig/17-child-exit.pdf} -\imageframe{fig/18-child-exit-done.pdf} -\imageframe{fig/18b-child-exit-done-deadlock-note.pdf} -\imageframe{fig/19-parent-close.pdf} -\imageframe{fig/20-parent-close-done.pdf} - -\end{document}