summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gentoo.org>2017-09-05 16:12:43 +0300
committerAndrew Savchenko <bircoph@gentoo.org>2017-09-05 16:12:43 +0300
commitd1be332fc123547b502cf5c4732c11613f2c0a1b (patch)
tree875c47b43ed90b47c2cb5c9dfff60de8a244ca51
parentgames-engines/renpy: finally fixed in the tree (diff)
downloadbircoph-d1be332fc123547b502cf5c4732c11613f2c0a1b.tar.gz
bircoph-d1be332fc123547b502cf5c4732c11613f2c0a1b.tar.bz2
bircoph-d1be332fc123547b502cf5c4732c11613f2c0a1b.zip
app-text/cuneiform: test fix for bug 595010
-rw-r--r--app-text/cuneiform/Manifest1
-rw-r--r--app-text/cuneiform/cuneiform-1.1.0-r2.ebuild54
-rw-r--r--app-text/cuneiform/files/c-assert.diff83
-rw-r--r--app-text/cuneiform/files/cuneiform.1166
-rw-r--r--app-text/cuneiform/files/gcc6-abs.patch13
-rw-r--r--app-text/cuneiform/files/graphicsmagick.diff43
-rw-r--r--app-text/cuneiform/files/libm.diff25
-rw-r--r--app-text/cuneiform/metadata.xml14
-rw-r--r--profiles/categories1
9 files changed, 400 insertions, 0 deletions
diff --git a/app-text/cuneiform/Manifest b/app-text/cuneiform/Manifest
new file mode 100644
index 0000000..48272d2
--- /dev/null
+++ b/app-text/cuneiform/Manifest
@@ -0,0 +1 @@
+DIST cuneiform-linux-1.1.0.tar.bz2 26388511 SHA256 577e0d054de72086c33b4e8ae15033657776509b9a7af6eb272888eefcbdbbad SHA512 82395f43aae9f4b1301fb47b8d46613affb0ccb09c92d64ac3d77a593618cd56824225b0306176e4d8b90eb468abf6b9f534e97f28dabd4bba81cb7977b79b56 WHIRLPOOL 90823a056dbf61738fbd8cd7cdd739e32bd571f39bab3ff8e8548cf6359c683a1f0f481cf416292504ee4bb277ed7d5b1edb98f5741a6cf97877cacc2646a70f
diff --git a/app-text/cuneiform/cuneiform-1.1.0-r2.ebuild b/app-text/cuneiform/cuneiform-1.1.0-r2.ebuild
new file mode 100644
index 0000000..3c2e1f9
--- /dev/null
+++ b/app-text/cuneiform/cuneiform-1.1.0-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils versionator
+
+PV_MAJ=$(get_version_component_range 1-2)
+MY_P=${PN}-linux-${PV}
+
+DESCRIPTION="An enterprise quality OCR engine by Cognitive Technologies"
+HOMEPAGE="https://launchpad.net/cuneiform-linux"
+SRC_URI="https://launchpad.net/${PN}-linux/${PV_MAJ}/${PV_MAJ}/+download/${MY_P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="debug graphicsmagick"
+
+RDEPEND="
+ !graphicsmagick? ( media-gfx/imagemagick:= )
+ graphicsmagick? ( media-gfx/graphicsmagick:= )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+DOCS=( readme.txt )
+PATCHES=(
+ "${FILESDIR}/c-assert.diff"
+ "${FILESDIR}/libm.diff"
+ "${FILESDIR}/gcc6-abs.patch"
+)
+
+src_prepare(){
+ use graphicsmagick && PATCHES+=( "${FILESDIR}/graphicsmagick.diff" )
+ cmake-utils_src_prepare
+
+ # respect LDFLAGS
+ sed -i 's:\(set[(]CMAKE_SHARED_LINKER_FLAGS "[^"]*\):\1 $ENV{LDFLAGS}:' \
+ cuneiform_src/CMakeLists.txt || die "failed to sed for LDFLAGS"
+
+ # Fix automagic dependencies / linking
+ if use graphicsmagick; then
+ sed -i "s:find_package(ImageMagick COMPONENTS Magick++):#DONOTFIND:" \
+ cuneiform_src/CMakeLists.txt \
+ || die "Sed for ImageMagick automagic dependency failed."
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ doman "${FILESDIR}/${PN}.1"
+}
diff --git a/app-text/cuneiform/files/c-assert.diff b/app-text/cuneiform/files/c-assert.diff
new file mode 100644
index 0000000..0abf1b1
--- /dev/null
+++ b/app-text/cuneiform/files/c-assert.diff
@@ -0,0 +1,83 @@
+Description: Use the standard C assert() macro, rather than custom Cuneiform
+ one.
+Author: Jakub Wilk <jwilk@debian.org>
+Forwarded: no
+Last-Update: 2011-04-30
+
+--- a/cuneiform_src/Kern/lns32/src/myassert.h
++++ b/cuneiform_src/Kern/lns32/src/myassert.h
+@@ -60,6 +60,8 @@
+ BC++, v3.1 was used as base
+ */
+
++#include <assert.h>
++
+ #ifdef __MYASSERT_H
+ # Error: Do not specify MYASSERT.H directly - use SLANG.H. Postnikov.
+ #else
+@@ -73,45 +75,3 @@
+ #else
+ # define WRONG() (assert(0),FALSE)
+ #endif
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-#ifndef MY_DEBUG_LEVEL
+- void __assertfail( char *__msg,
+- char *__cond,
+- char *__file,
+- int __line);
+-#else
+- void my_assert_fail(const char *cond, const char *__file, int __line);
+-#endif
+-
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#undef assert
+-
+-#ifdef NDEBUG
+-# define assert(p) ((void)0)
+-#else
+-# ifdef _Windows
+-# define _ENDL
+-# else
+-# define _ENDL "\n"
+-# endif
+- #ifdef MY_DEBUG_LEVEL
+- # define assert(p) \
+- ((p)) ? \
+- (void)0 : \
+- (void) my_assert_fail( #p, __FILE__, __LINE__)
+- #else
+- # define assert(p) \
+- ((p) ? \
+- (void)0 : \
+- (void) __assertfail( "Assertion failed: %s, file %s, line %d" _ENDL, \
+- #p, __FILE__, __LINE__ ) )
+- #endif
+-#endif
+--- a/cuneiform_src/Kern/std/CMakeLists.txt
++++ b/cuneiform_src/Kern/std/CMakeLists.txt
+@@ -3,7 +3,6 @@
+ add_library(std32 ${LIBTYPE}
+ src/std.cpp
+ #src/Std.rc
+-src/stdassrt.cpp
+ src/stdbits.cpp
+ src/stdconsl.cpp
+ src/stderror.cpp
+--- a/cuneiform_src/Kern/lns32/CMakeLists.txt
++++ b/cuneiform_src/Kern/lns32/CMakeLists.txt
+@@ -14,7 +14,6 @@
+ src/lns.cpp
+ src/lnscheck.cpp
+ src/lnsini.cpp
+-src/myassert.cpp
+ src/procline.cpp
+ src/puanso.cpp
+ src/rbambuk.cpp
diff --git a/app-text/cuneiform/files/cuneiform.1 b/app-text/cuneiform/files/cuneiform.1
new file mode 100644
index 0000000..93fd250
--- /dev/null
+++ b/app-text/cuneiform/files/cuneiform.1
@@ -0,0 +1,166 @@
+.TH CUNEIFORM 1 "2010-09-14" "1.0.0" "multi-language OCR system"
+
+.SH NAME
+cuneiform \- multi-language OCR system
+
+.SH SYNOPSIS
+\fBcuneiform\fR [\-\-dotmatrix] [\-\-fax] [\-\-singlecolumn] [\-f \fIformat\fR] [\-l \fIlanguage\fR] [\-o \fIoutput\fR] \fIinput\fR
+
+.SH DESCRIPTION
+Cuneiform is an OCR system. In addition to text recognition it also does layout analysis and text format recognition. Cuneiform supports several languages.
+
+.SH OPTIONS
+.IP "\fB\-\-dotmatrix\fR" 4
+Use recognition mode optimized for text printed with a dot matrix printer.
+.IP "\fB\-\-fax\fR" 4
+Use recognition mode optimized for text that has been faxed.
+.IP "\fB\-\-singlecolumn\fR" 4
+Disable page layout analysis and assumes that the image consists of only one column of text.
+.IP "\fB\-f\fR \fIformat\fR" 4
+Select output format. The following formats are available:
+\fBhtml\fR (HTML format),
+\fBhocr\fR (hOCR HTML format),
+\fBnative\fR (native Cuneiform 2000),
+\fBrtf\fR (RTF format),
+\fBsmarttext\fR (plain text with TeX paragraphs),
+\fBtext\fR (plain text).
+The default is plain text.
+.IP "\fB\-l\fR \fIlanguage\fR" 4
+By default Cuneiform recognizes English text. To change the language use the command line switch \fB\-l\fR followed by a language code (typically an ISO 639-2 three-letter code). The following languages are supported:
+.TS
+ll.
+T{
+\fBbul\fR
+T} T{
+Bulgarian
+T}
+T{
+\fBcze\fR
+T} T{
+Czech
+T}
+T{
+\fBdan\fR
+T} T{
+Danish
+T}
+T{
+\fBdut\fR
+T} T{
+Dutch
+T}
+T{
+\fBeng\fR
+T} T{
+English
+T}
+T{
+\fBest\fR
+T} T{
+Estonian
+T}
+T{
+\fBfra\fR
+T} T{
+French
+T}
+T{
+\fBger\fR
+T} T{
+German
+T}
+T{
+\fBhrv\fR
+T} T{
+Croatian
+T}
+T{
+\fBhun\fR
+T} T{
+Hungarian
+T}
+T{
+\fBita\fR
+T} T{
+Italian
+T}
+T{
+\fBlav\fR
+T} T{
+Latvian
+T}
+T{
+\fBlit\fR
+T} T{
+Lithuanian
+T}
+T{
+\fBpol\fR
+T} T{
+Polish
+T}
+T{
+\fBpor\fR
+T} T{
+Portugese
+T}
+T{
+\fBrum\fR
+T} T{
+Romanian
+T}
+T{
+\fBrus\fR
+T} T{
+Russian
+T}
+T{
+\fBruseng\fR
+T} T{
+mixed Russian/English
+T}
+T{
+\fBslv\fR
+T} T{
+Slovenian
+T}
+T{
+\fBspa\fR
+T} T{
+Spanish
+T}
+T{
+\fBsrp\fR
+T} T{
+Serbian
+T}
+T{
+\fBswe\fR
+T} T{
+Swedish
+T}
+T{
+\fBtur\fR
+T} T{
+Turkish
+T}
+T{
+\fBukr\fR
+T} T{
+Ukrainian
+T}
+.TE
+.
+.IP "\fB\-o\fR \fIoutput\fR" 4
+If you do not define an output file with the \fB\-o\fR switch, Cuneiform writes the result to a file \[oq]cuneiform-out.\fIformat\fR\[cq]. The file extension depends on your output format.
+
+.SH INPUT FORMAT
+Cuneiform can process any single-page image that GraphicsMagick knows how to open. Please consult the \fBgm\fR(1) manual page for the comprehensive list of supported image formats.
+
+.SH HOMEPAGE
+More information about cuneiform can be found at <\fIhttp://launchpad.net/cuneiform-linux/\fR>.
+
+.SH AUTHOR
+cuneiform was written by Cognitive Technologies and Jussi Pakkanen <\fIjpakkane@gmail.com\fR>.
+.PP
+This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others).
diff --git a/app-text/cuneiform/files/gcc6-abs.patch b/app-text/cuneiform/files/gcc6-abs.patch
new file mode 100644
index 0000000..f472a12
--- /dev/null
+++ b/app-text/cuneiform/files/gcc6-abs.patch
@@ -0,0 +1,13 @@
+--- cuneiform-linux-1.1.0/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp.orig 2011-04-19 16:49:57.000000000 +0400
++++ cuneiform-linux-1.1.0/cuneiform_src/Kern/rimage/sources/main/cricontrol.cpp 2017-09-05 12:55:11.908311163 +0300
+@@ -594,8 +594,8 @@
+ return FALSE;
+ }
+
+- wNewHeight = (mbMarginsFlag ? abs(mrMargins.rmBottomMarg - mrMargins.rmTopMarg) : mpSourceDIB->GetLinesNumber());
+- wNewWidth = (mbMarginsFlag ? abs(mrMargins.rmLeftMarg - mrMargins.rmRightMarg) : mpSourceDIB->GetLineWidth());
++ wNewHeight = (mbMarginsFlag ? std::abs(mrMargins.rmBottomMarg - mrMargins.rmTopMarg) : mpSourceDIB->GetLinesNumber());
++ wNewWidth = (mbMarginsFlag ? std::abs(mrMargins.rmLeftMarg - mrMargins.rmRightMarg) : mpSourceDIB->GetLineWidth());
+ mpSourceDIB->GetResolutionDPM( &wXResolution, &wYResolution);
+
+ if ( !mpDestinationDIB->CreateDIBBegin( wNewWidth, wNewHeight, BitCount) )
diff --git a/app-text/cuneiform/files/graphicsmagick.diff b/app-text/cuneiform/files/graphicsmagick.diff
new file mode 100644
index 0000000..265190f
--- /dev/null
+++ b/app-text/cuneiform/files/graphicsmagick.diff
@@ -0,0 +1,43 @@
+Description: Use GraphicsMagick instead of ImageMagick.
+Author: Jakub Wilk <jwilk@debian.org>
+Forwarded: not-needed
+Last-Update: 2011-01-21
+
+--- a/cuneiform_src/cli/cuneiform-cli.cpp
++++ b/cuneiform_src/cli/cuneiform-cli.cpp
+@@ -341,6 +341,10 @@
+ Magick::InitializeMagick("");
+ #endif
+
++#ifdef USE_MAGICK
++ Magick::InitializeMagick("");
++#endif
++
+ dib = read_file(infilename);
+ if(!dib) // Error msg is already printed so just get out.
+ return 1;
+--- a/cuneiform_src/CMakeLists.txt
++++ b/cuneiform_src/CMakeLists.txt
+@@ -34,15 +34,16 @@
+
+ add_definitions(-D_USE_RVERLINE_)
+
+-find_package(ImageMagick COMPONENTS Magick++)
+-if(ImageMagick_Magick++_FOUND)
++include(FindPkgConfig)
++pkg_check_modules(GraphicsMagick QUIET GraphicsMagick++)
++if(GraphicsMagick_FOUND)
+ set(USE_MAGICK TRUE)
+- include_directories(${ImageMagick_Magick++_INCLUDE_DIR})
+- message(STATUS "ImageMagick++ found at ${ImageMagick_Magick++_INCLUDE_DIR}.")
+- set(cli_ext_libs ${ImageMagick_Magick++_LIBRARY})
++ include_directories(${GraphicsMagick_INCLUDE_DIRS})
++ message(STATUS "GraphicsMagick++ found at ${GraphicsMagick_INCLUDE_DIRS}.")
++ set(cli_ext_libs ${GraphicsMagick_LIBRARIES})
+ else()
+ set(USE_MAGICK FALSE)
+- message(STATUS "ImageMagick++ not found. Only uncompressed BMP images supported.")
++ message(STATUS "GraphicsMagick++ not found. Only uncompressed BMP images supported.")
+ endif()
+
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Kern/include/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/Kern/include/config.h)
diff --git a/app-text/cuneiform/files/libm.diff b/app-text/cuneiform/files/libm.diff
new file mode 100644
index 0000000..0ab16d5
--- /dev/null
+++ b/app-text/cuneiform/files/libm.diff
@@ -0,0 +1,25 @@
+Description: Link the leo and r35 libraries with libm.
+Author: Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>, Jakub Wilk <jwilk@debian.org>
+Forwarded: no
+Last-Update: 2011-07-04
+
+--- a/cuneiform_src/Kern/leo/CMakeLists.txt
++++ b/cuneiform_src/Kern/leo/CMakeLists.txt
+@@ -23,6 +23,7 @@
+ msk32
+ r3532
+ std32
++m
+ )
+
+ library_hook(leo32)
+--- a/cuneiform_src/Kern/r35/CMakeLists.txt
++++ b/cuneiform_src/Kern/r35/CMakeLists.txt
+@@ -3,6 +3,6 @@
+
+ set_property(TARGET r3532 PROPERTY COMPILE_DEFINITIONS __R35__)
+
+-target_link_libraries(r3532 mmx32 std32 cfcompat)
++target_link_libraries(r3532 mmx32 std32 cfcompat m)
+
+ library_hook(r3532)
diff --git a/app-text/cuneiform/metadata.xml b/app-text/cuneiform/metadata.xml
new file mode 100644
index 0000000..f8160b9
--- /dev/null
+++ b/app-text/cuneiform/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>bircoph@gentoo.org</email>
+ <name>Andrew Savchenko</name>
+ </maintainer>
+ <longdescription lang="en">
+ Cuneiform is an multi-language OCR system.
+ </longdescription>
+ <upstream>
+ <remote-id type="launchpad">cuneiform-linux</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/profiles/categories b/profiles/categories
index eb24dd0..724d16e 100644
--- a/profiles/categories
+++ b/profiles/categories
@@ -1,6 +1,7 @@
app-admin
app-doc
app-emulation
+app-text
app-vim
dev-libs
dev-python