diff --git a/.gitignore b/.gitignore
index 248a44ce..fa8fc4d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,4 +7,10 @@ libtiptoi
gameanalyse
makegraphic
dist
-.DS_Store
\ No newline at end of file
+.DS_Store
+result
+result-*
+gh-pages
+cabal.project.local
+dist-newstyle
+tts-cache
diff --git a/Building.md b/Building.md
index 7c95c69e..8c20f11b 100644
--- a/Building.md
+++ b/Building.md
@@ -15,7 +15,7 @@ Building from source
the tttool cache.
nix-env -iA cachix -f https://cachix.org/api/v1/install
- cachix use tttool
+ cachix use tttool
4. Build `tttool`:
@@ -41,6 +41,6 @@ Making a release
1. Ensure that the version number in `tttool.cabal` is up-to-date
2. Run
- cp -v --no-preserve=mode $(nix-build nix -A release-zip)/* .
+ nix-build nix -A release-zip
-3. Upload `tttool-n.m.zip`.
+3. Upload `result/tttool-n.m.zip`.
diff --git a/Changelog.md b/Changelog.md
index e1d1c5c6..60ac36e9 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,10 +1,11 @@
# Changelog for tttool
-## 1.8.1 (unreleased)
+## 1.8.1 (2019-03-30)
* The SVG patterns created with `./tttool oid-code` and `./tttool oid-codes`
now have `id`s that are valid (no spaces).
* The release tarball now contains a binary for Linux as well.
+ * The release tarball now contains a copy of [The tttool book](http://tttool.readthedocs.io/de/latest/)
## 1.8 (2018-02-06)
diff --git a/README.md b/README.md
index a45826cd..7d44b976 100644
--- a/README.md
+++ b/README.md
@@ -139,7 +139,7 @@ Other resources in this repository
----------------------------------
* [`oid-decoder.html`](http://htmlpreview.github.io/?https://github.com/entropia/tip-toi-reveng/blob/master/oid-decoder.html) allows you to manually decode an OID image.
- * `scripts/update.sh` downloads all gme files from the Ravensburger server (requires perl and the [XML::Simple](http://search.cpan.org/~grantm/XML-Simple/) module).
+ * `scripts/update.sh` downloads all gme files from the Ravensburger server (requires perl and the [XML::Simple](http://search.cpan.org/~grantm/XML-Simple/) module).
Instead of downloading all of them, you can conveniently browse them at , a service provided by Falko Oldenburg .
* `gameanalyse.c` and `libtiptoi.c` is an alternative tool to investigate gme
diff --git a/book/installation.rst b/book/installation.rst
index abc75d67..4981a75b 100644
--- a/book/installation.rst
+++ b/book/installation.rst
@@ -5,71 +5,6 @@ Installation
Um eigene Tiptoi-Bücher zu gestalten brauchst du das ``tttool``.
-Windows
--------
+Unter Windows oder Linux lädst du von https://github.com/entropia/tip-toi-reveng/releases die neueste Version als Zip-Datei (``tttool-version.zip``) herunter, und extrahierst sie. Du kannst das ``tttool`` direkt verwenden, es ist keine weitere Installation nötig.
-Unter Windows lädst du von https://github.com/entropia/tip-toi-reveng/releases die neueste Version als Zip-Datei (``tttool-win32-version.zip``) herunter, und extrahierst sie. Du kannst das ``tttool`` direkt verwenden, es ist keine weitere Installation nötig.
-
-Linux (Debian, Ubuntu und ähnliche)
------------------------------------
-
-Unter Linux kompilierst du das ``tttool`` selbst.
-
-1. Zuerst installierst du ``git``::
-
- $ sudo apt-get install git
-
-2. Dann kannst lädst du dir den aktuellen Quellcode des ``tttool`` herunter::
-
- $ git clone https://github.com/entropia/tip-toi-reveng.git tttool
- $ cd tttool
-
-3. Nun installierst du das Werkzeug ``stack``. Das geht am einfachsten mit
-
- .. code::
-
- curl -sSL https://get.haskellstack.org/ | sh
-
- oder du folgst den ausführlicheren Anweisungen auf der `Stack-Homepage `_.
-
-4. Zulezt baust du ``tttool``. Das dauert eine Weile::
-
- stack install --local-bin-path .
-
-
-Nun solltest du im aktuellen Verzeichnis eine Datei ``tttool`` finden, die du ausführen kannst::
-
- $ ./tttool --help
- Usage: tttool [-t|--transscript FILE] [--code-dim W[xH]] [--dpi DPI]
- [--pixel-size N] COMMAND
- tttool-1.6.1 -- The swiss army knife for the Tiptoi hacker
- …
-
-
-macOS
------
-
-Die Installation unter macOS verläuft ähnlich zu der unter Linux in einem Terminal-Fenster. Zunächst benötigst du, falls noch nicht installiert, die XCode command line tools::
-
-$ xcode-select --install
-
-Weiterhin benötigst du den Paketmanager Homebrew (https://brew.sh/)::
-
-$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
-Mithilfe von Homebrew installierst du Haskell::
-
-$ brew install haskell-stack
-
-Nun besorgst du dir die Quellen::
-
-$ git clone https://github.com/entropia/tip-toi-reveng.git tttool
-$ cd tttool
-
-und kompilierst sie::
-
-$ stack install --local-bin-path .
-
-Wie zuvor befindet sich das fertige tttool nun im aktuellen Verzeichnis::
-
-$ ./tttool --help
+Wenn du nicht Windows oder Linux benutzt, oder die Software selber kompilieren willst, dann werfe einen Blick auf die `Anweisungen im Quell-Repository `_.
diff --git a/gen-windows-release.sh b/fetch-contrib.sh
similarity index 68%
rename from gen-windows-release.sh
rename to fetch-contrib.sh
index 6dd23328..d0373874 100755
--- a/gen-windows-release.sh
+++ b/fetch-contrib.sh
@@ -33,26 +33,3 @@ cp -v playmus/playmus.exe contrib/playmus.exe
# install espeak first in wine
cp ~/.wine/drive_c/Programme/eSpeak/command_line/espeak.exe contrib/
cp -r ~/.wine/drive_c/Programme/eSpeak/espeak-data/ contrib/
-
-zip --recurse-paths $zipfile \
- tttool.exe \
- README.md \
- Changelog.md \
- oid-decoder.html \
- example \
- example.yaml \
- Debug.yaml \
- oid-table.png \
- templates/README.md \
- templates/*.yaml \
- transcript/*.csv \
- wip/* \
- Audio/digits/*.ogg \
- contrib/oggenc.exe \
- contrib/espeak.exe \
- contrib/espeak-data \
- contrib/LICENSE* \
- contrib/README-SDL.txt \
- contrib/*.dll \
- contrib/playmus.exe
-echo Created $zipfile
diff --git a/nix/default.nix b/nix/default.nix
index 2592c82f..533dce0b 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -56,10 +56,11 @@ in rec {
"example/.*"
"Debug.yaml"
"templates/"
- "templates/.*md"
- "templates/.*yaml"
+ "templates/.*\.md"
+ "templates/.*\.yaml"
"Audio/"
- "Audio/digits/.*"
+ "Audio/digits/"
+ "Audio/digits/.*\.ogg"
];
contrib = ../contrib;
diff --git a/nix/tttool.nix b/nix/tttool.nix
index 4148c1b7..c068bf3c 100644
--- a/nix/tttool.nix
+++ b/nix/tttool.nix
@@ -11,12 +11,12 @@
]; in
{
- flags = { old-locale = false; bytestring_has_builder = true; };
+ flags = {};
package = {
specVersion = "1.10";
- identifier = { name = "tttool"; version = "1.8"; };
+ identifier = { name = "tttool"; version = "1.8.1"; };
license = "MIT";
- copyright = "2013-2017 Joachim Breitner";
+ copyright = "2013-2019 Joachim Breitner";
maintainer = "mail@joachim-breitner.de";
author = "Joachim Breitner";
homepage = "https://github.com/entropia/tip-toi-reveng";
@@ -28,38 +28,36 @@
components = {
exes = {
"tttool" = {
- depends = (([
+ depends = [
+ (hsPkgs.aeson)
(hsPkgs.base)
+ (hsPkgs.base64-bytestring)
(hsPkgs.binary)
+ (hsPkgs.blaze-svg)
+ (hsPkgs.bytestring)
(hsPkgs.containers)
(hsPkgs.directory)
(hsPkgs.executable-path)
(hsPkgs.filepath)
- (hsPkgs.template-haskell)
- (hsPkgs.JuicyPixels)
- (hsPkgs.aeson)
(hsPkgs.hashable)
(hsPkgs.haskeline)
+ (hsPkgs.HPDF)
+ (hsPkgs.JuicyPixels)
(hsPkgs.mtl)
+ (hsPkgs.natural-sort)
+ (hsPkgs.optparse-applicative)
(hsPkgs.parsec)
(hsPkgs.process)
(hsPkgs.random)
- (hsPkgs.vector)
- (hsPkgs.yaml)
- (hsPkgs.HPDF)
(hsPkgs.split)
- (hsPkgs.optparse-applicative)
(hsPkgs.spool)
- (hsPkgs.zlib)
- (hsPkgs.natural-sort)
- (hsPkgs.blaze-svg)
- (hsPkgs.base64-bytestring)
+ (hsPkgs.template-haskell)
(hsPkgs.text)
- ] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "7.5") (hsPkgs.ghc-prim)) ++ (if flags.old-locale
- then [ (hsPkgs.time) (hsPkgs.old-locale) ]
- else [ (hsPkgs.time) ])) ++ (if flags.bytestring_has_builder
- then [ (hsPkgs.bytestring) ]
- else [ (hsPkgs.bytestring) (hsPkgs.bytestring-builder) ]);
+ (hsPkgs.time)
+ (hsPkgs.vector)
+ (hsPkgs.yaml)
+ (hsPkgs.zlib)
+ ];
};
};
};
diff --git a/tttool.cabal b/tttool.cabal
index 1cdebfc9..a369ad8e 100644
--- a/tttool.cabal
+++ b/tttool.cabal
@@ -4,27 +4,20 @@ synopsis: Working with files for the Tiptoi® pen
description: The Ravensburger Tiptoi® pen is programmed via special
files. Their file format has been reverse engineered; this
is a tool to analyse and create such files.
+ .
+ For more user-facing documentation, see
+ (in German).
category: Reverse Engineering
homepage: https://github.com/entropia/tip-toi-reveng
license: MIT
license-file: LICENSE
author: Joachim Breitner
maintainer: mail@joachim-breitner.de
-copyright: 2013-2017 Joachim Breitner
+copyright: 2013-2019 Joachim Breitner
build-type: Simple
-extra-source-files: README.md
+extra-source-files: README.md Changelog.md
cabal-version: >=1.10
-flag old-locale
- description:
- If false then depend on time >= 1.5.
- .
- If true then depend on time < 1.5 together with old-locale.
- default: False
-
-Flag bytestring_has_builder
- default: True
-
executable tttool
main-is: tttool.hs
other-modules:
@@ -51,53 +44,34 @@ executable tttool
Commands,
Utils
- build-depends:
- base >= 4.9 && < 4.13,
- binary >= 0.5 && < 0.9,
- containers >= 0.4 && <0.7,
- directory >= 1.2 && < 1.4,
- executable-path == 0.0.*,
- filepath == 1.3.* || == 1.4.*,
- template-haskell >= 2.7 && < 2.15,
-
- JuicyPixels >= 3.2.5 && < 3.4,
- aeson >= 0.7 && < 1.5,
- hashable == 1.2.*,
- haskeline == 0.7.*,
- mtl == 2.2.*,
- parsec == 3.1.*,
- process >= 1.1 && < 1.7,
- random >= 1.0 && < 1.2,
- vector >= 0.10 && < 0.13,
- yaml >= 0.8 && < 0.12,
- HPDF >= 1.4.10 && < 1.5,
- split == 0.2.*,
- optparse-applicative >= 0.13 && < 0.15,
- spool == 0.1.*,
- zlib >= 0.5 && < 0.7,
- natural-sort >= 0.1 && < 0.2,
- blaze-svg == 0.3.*,
- base64-bytestring == 1.0.*,
- text == 1.2.*
-
- if impl(ghc < 7.5)
- build-depends: ghc-prim
-
- ghc-options: -fcontext-stack=42
-
- if flag(old-locale)
- build-depends: time == 1.4.*, old-locale
- else
- build-depends: time >= 1.5 && < 1.9
-
- if flag(bytestring_has_builder)
- build-depends:
- bytestring >= 0.10.4 && < 0.11
- else
- build-depends:
- bytestring >= 0.10 && < 0.10.4,
- bytestring-builder >= 0.10.4.1.1
-
+ build-depends: aeson >= 0.7 && < 1.5
+ build-depends: base >= 4.9 && < 4.13
+ build-depends: base64-bytestring == 1.0.*
+ build-depends: binary >= 0.5 && < 0.9
+ build-depends: blaze-svg == 0.3.*
+ build-depends: bytestring >= 0.10.4 && < 0.11
+ build-depends: containers >= 0.4 && <0.7
+ build-depends: directory >= 1.2 && < 1.4
+ build-depends: executable-path == 0.0.*
+ build-depends: filepath == 1.3.* || == 1.4.*
+ build-depends: hashable == 1.2.*
+ build-depends: haskeline == 0.7.*
+ build-depends: HPDF >= 1.4.10 && < 1.5
+ build-depends: JuicyPixels >= 3.2.5 && < 3.4
+ build-depends: mtl == 2.2.*
+ build-depends: natural-sort >= 0.1 && < 0.2
+ build-depends: optparse-applicative >= 0.13 && < 0.15
+ build-depends: parsec == 3.1.*
+ build-depends: process >= 1.1 && < 1.7
+ build-depends: random >= 1.0 && < 1.2
+ build-depends: split == 0.2.*
+ build-depends: spool == 0.1.*
+ build-depends: template-haskell >= 2.7 && < 2.15
+ build-depends: text == 1.2.*
+ build-depends: time >= 1.5 && < 1.9
+ build-depends: vector >= 0.10 && < 0.13
+ build-depends: yaml >= 0.8 && < 0.12
+ build-depends: zlib >= 0.5 && < 0.7
hs-source-dirs: src
default-language: Haskell2010