From e4ab5d73a815e0a77f3fc9c230cab49e94cdee1c Mon Sep 17 00:00:00 2001 From: David Luposchainsky Date: Fri, 27 Oct 2017 12:54:08 +0200 Subject: [PATCH 1/2] Add nix derivation for PDF/HTML --- default.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 default.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..fcc1a89 --- /dev/null +++ b/default.nix @@ -0,0 +1,30 @@ +with import {}; + +stdenv.mkDerivation { + name = "haskell-report"; + buildInputs = + [ (texlive.combine{ inherit (texlive) + scheme-basic + tex4ht + tabulary + collection-fontsrecommended + ;}) + flex + ghc + perl + ghostscript + ]; + buildCommand = '' + cp -r ${./.} haskell-report + chmod -R u+w haskell-report + cd haskell-report + + export HOME=$TMPDIR + + make + + mkdir $out + cp report/haskell.pdf "$out/haskell-report.pdf" + cp -r report/ht "$out/haskell-report-html" + ''; +} From 669da685f01bb84fdc93c98b16324b490ab6fc9a Mon Sep 17 00:00:00 2001 From: David Luposchainsky Date: Fri, 27 Oct 2017 14:22:29 +0200 Subject: [PATCH 2/2] Update readme to include Nix build; convert to Markdown --- README | 78 ------------------------------------------------------- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 78 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index 97125fc..0000000 --- a/README +++ /dev/null @@ -1,78 +0,0 @@ -Haskell Report README -~~~~~~~~~~~~~~~~~~~~~ - -These are the sources to the Haskell report, including all the source -files you will need to generate either the PDF or the HTML version of -the report. - - -Tools you will need -~~~~~~~~~~~~~~~~~~~ - -PDF version: a decent LaTeX installation with pdflatex. We use the -following additional packages: - - - times - - makeidx - - graphicx - - url - - color - - hyperref - -Also you need the following tools - - - makeindex - -all of which are usually available with a good TeX distribution -(e.g. TeX Live). - -The following are also required for building the tools: - - - flex - - GHC - -The HTML version additionally requires - - - tex4ht (e.g. install 'tex4ht' on a Debian or Ubuntu system, or - 'tetex-tex4ht' on a Fedora system) - -Building the report -~~~~~~~~~~~~~~~~~~~ - -Firstly: - - $ cd tools - $ make - -should build a few tools required for building the report itself. -Then you should be able to say - - $ cd report - $ make - -This will create: - - - PDF version: report/haskell.pdf - - - HTML version: report/ht/haskell.html - (NB. requires report/ht/*.{html,png,css}) - - -Roadmap -~~~~~~~ - -SOURCE FILES - - report/ The Language and Libraries Reports (now together - in a single document) - - tools/ Tools needed to build the Reports - (cd into here and type make) - - Makefile Build a distribution of the Reports - - -.verb files -~~~~~~~~~~~ - - diff --git a/README.md b/README.md new file mode 100644 index 0000000..57fa466 --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +Haskell Report +============== + +These are the sources to the Haskell report, including all the source files you +will need to generate either the PDF or the HTML version of the report. + + +Building via Nix +---------------- + +To build using the [Nix](https://nixos.org/nix/) package manager, simply run +`nix-build`. The PDF and HTML versions can then be found in the `result` +subdirectory. + + + +Building manually +----------------- + +### Tools you will need + +PDF version: a decent LaTeX installation with pdflatex. We use the following +additional packages: + + - times + - makeidx + - graphicx + - url + - color + - hyperref + +Also you need the following tools + + - makeindex + +all of which are usually available with a good TeX distribution (e.g. TeX Live). + +The following are also required for building the tools: + + - flex + - GHC + +The HTML version additionally requires + + - tex4ht (e.g. install `tex4ht` on a Debian or Ubuntu system, or + `tetex-tex4ht` on a Fedora system) + +### Building + +Firstly: + + $ cd tools + $ make + +should build a few tools required for building the report itself. Then you +should be able to say + + $ cd report + $ make + +This will create: + + - PDF version: report/haskell.pdf + + - HTML version: report/ht/haskell.html + (NB. requires report/ht/*.{html,png,css}) + + +Roadmap +------- + +Source files + + - `report/` The Language and Libraries Reports (now together in a single document) + - `tools/` Tools needed to build the Reports (cd into here and type make) + - `Makefile` Build a distribution of the Reports