From e1cbbad8b536e3fac4b236d81fa43b9ff3d6ccff Mon Sep 17 00:00:00 2001 From: Nick White Date: Mon, 21 Jun 2021 18:04:33 +0100 Subject: rescribe: Set up so only Tesseract needed for the build platform is embedded --- cmd/rescribe/embed_darwin.go | 10 ++++++++++ cmd/rescribe/embed_linux.go | 10 ++++++++++ cmd/rescribe/embed_other.go | 13 +++++++++++++ cmd/rescribe/embed_windows.go | 10 ++++++++++ cmd/rescribe/main.go | 11 +++-------- 5 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 cmd/rescribe/embed_darwin.go create mode 100644 cmd/rescribe/embed_linux.go create mode 100644 cmd/rescribe/embed_other.go create mode 100644 cmd/rescribe/embed_windows.go (limited to 'cmd/rescribe') diff --git a/cmd/rescribe/embed_darwin.go b/cmd/rescribe/embed_darwin.go new file mode 100644 index 0000000..cad8a29 --- /dev/null +++ b/cmd/rescribe/embed_darwin.go @@ -0,0 +1,10 @@ +// Copyright 2021 Nick White. +// Use of this source code is governed by the GPLv3 +// license that can be found in the LICENSE file. + +package main + +import _ "embed" + +// TODO: add go:embed here +var tesszip []byte diff --git a/cmd/rescribe/embed_linux.go b/cmd/rescribe/embed_linux.go new file mode 100644 index 0000000..cad8a29 --- /dev/null +++ b/cmd/rescribe/embed_linux.go @@ -0,0 +1,10 @@ +// Copyright 2021 Nick White. +// Use of this source code is governed by the GPLv3 +// license that can be found in the LICENSE file. + +package main + +import _ "embed" + +// TODO: add go:embed here +var tesszip []byte diff --git a/cmd/rescribe/embed_other.go b/cmd/rescribe/embed_other.go new file mode 100644 index 0000000..fe51fd0 --- /dev/null +++ b/cmd/rescribe/embed_other.go @@ -0,0 +1,13 @@ +// Copyright 2021 Nick White. +// Use of this source code is governed by the GPLv3 +// license that can be found in the LICENSE file. + +// +build !darwin +// +build !linux +// +build !windows + +package main + +// if not one of the above platforms, we won't embed anything, so +// just create an empty byte slice +var tesszip []byte diff --git a/cmd/rescribe/embed_windows.go b/cmd/rescribe/embed_windows.go new file mode 100644 index 0000000..c447624 --- /dev/null +++ b/cmd/rescribe/embed_windows.go @@ -0,0 +1,10 @@ +// Copyright 2021 Nick White. +// Use of this source code is governed by the GPLv3 +// license that can be found in the LICENSE file. + +package main + +import _ "embed" + +//go:embed tesseract-w32-v5.0.0-alpha.20210506.zip +var tesszip []byte diff --git a/cmd/rescribe/main.go b/cmd/rescribe/main.go index c47de00..51a33b2 100644 --- a/cmd/rescribe/main.go +++ b/cmd/rescribe/main.go @@ -1,4 +1,4 @@ -// Copyright 2019 Nick White. +// Copyright 2021 Nick White. // Use of this source code is governed by the GPLv3 // license that can be found in the LICENSE file. @@ -43,9 +43,6 @@ Note that embedded Tesseract includes these training files: - rescribev8_fast.traineddata (Latin historic printing) ` -//go:embed tesseract-w32-v5.0.0-alpha.20210506.zip -var w32zip []byte - const QueueTimeoutSecs = 2 * 60 const PauseBetweenChecks = 1 * time.Second const LogSaveTime = 1 * time.Minute @@ -184,15 +181,13 @@ func main() { } switch runtime.GOOS { case "windows": - err = unpackZip(w32zip, tessdir) + err = unpackZip(tesszip, tessdir) if err != nil { - log.Fatalln("Error unpacking embedded w32 zip:", err) + log.Fatalln("Error unpacking embedded Tesseract zip:", err) } tessCommand = filepath.Join(tessdir, "tesseract.exe") // TODO: add linux and osx } - - trainingPath = filepath.Join(tessdir, "tessdata", strings.Replace(trainingPath, "trainings/", "", 1)) } f, err := os.Open(trainingPath) -- cgit v1.2.1-24-ge1ad