mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-08 23:18:10 -05:00
Update tesseract + deps (#8259)
* Update giflib, leptonica * update tesseract
This commit is contained in:
committed by
GitHub
parent
54ea10b278
commit
52a77dd660
@@ -3,31 +3,30 @@ require 'package'
|
||||
class Giflib < Package
|
||||
description 'giflib is a library for reading and writing gif images.'
|
||||
homepage 'http://giflib.sourceforge.net/'
|
||||
version '5.1.4'
|
||||
version '5.2.1'
|
||||
license 'MIT'
|
||||
compatibility 'all'
|
||||
source_url 'https://prdownloads.sourceforge.net/project/giflib/giflib-5.1.4.tar.bz2'
|
||||
source_sha256 'df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5'
|
||||
source_url 'https://downloads.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz'
|
||||
source_sha256 '31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd'
|
||||
|
||||
binary_url({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.1.4_armv7l/giflib-5.1.4-chromeos-armv7l.tar.xz',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.1.4_armv7l/giflib-5.1.4-chromeos-armv7l.tar.xz',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.1.4_i686/giflib-5.1.4-chromeos-i686.tar.xz',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.1.4_x86_64/giflib-5.1.4-chromeos-x86_64.tar.xz'
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.2.1_armv7l/giflib-5.2.1-chromeos-armv7l.tar.zst',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.2.1_armv7l/giflib-5.2.1-chromeos-armv7l.tar.zst',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.2.1_i686/giflib-5.2.1-chromeos-i686.tar.zst',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/giflib/5.2.1_x86_64/giflib-5.2.1-chromeos-x86_64.tar.zst'
|
||||
})
|
||||
binary_sha256({
|
||||
aarch64: '546af3350ca70ffc33ba0c12e6de65efe2fc9bce95ef3c48ab81da2d6cc1cae0',
|
||||
armv7l: '546af3350ca70ffc33ba0c12e6de65efe2fc9bce95ef3c48ab81da2d6cc1cae0',
|
||||
i686: 'ad9b824becceb46ad8b22515085ea105497117e10e7550f7ba965398c4d56d36',
|
||||
x86_64: '2efb3d4ac43bd4400e5af45cf8281e1852b86a2050af1efb0437eb9e92cd3312'
|
||||
aarch64: '727b6d1cdbcbc59a90d2b759faeaddf29a957bc4670e088683f5f867caf04593',
|
||||
armv7l: '727b6d1cdbcbc59a90d2b759faeaddf29a957bc4670e088683f5f867caf04593',
|
||||
i686: 'cc0a7353ec3c691b37e33512f25bd7b5d0d20a57dcc5d516162c3a66b6905c4e',
|
||||
x86_64: '06bb0ff65e3562c7779671eaa4a0fbd45ae51e01e46e4b4ced6e89df05b6abbf'
|
||||
})
|
||||
|
||||
depends_on 'glibc' # R
|
||||
|
||||
def self.build
|
||||
system './configure',
|
||||
"--prefix=#{CREW_PREFIX}",
|
||||
"--libdir=#{CREW_LIB_PREFIX}",
|
||||
'--disable-dependency-tracking'
|
||||
system 'make'
|
||||
# No configure script in the source.
|
||||
system 'make', "PREFIX=#{CREW_PREFIX}", "LIBDIR=#{CREW_LIB_PREFIX}"
|
||||
end
|
||||
|
||||
def self.check
|
||||
@@ -35,6 +34,60 @@ class Giflib < Package
|
||||
end
|
||||
|
||||
def self.install
|
||||
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
|
||||
system 'make', "DESTDIR=#{CREW_DEST_DIR}", "PREFIX=#{CREW_PREFIX}", "LIBDIR=#{CREW_LIB_PREFIX}", 'install'
|
||||
@libname = name.to_s.start_with?('lib') ? name.downcase : "lib#{name.gsub('lib', '').downcase}"
|
||||
@libnames = Dir["#{CREW_DEST_LIB_PREFIX}/#{@libname}.so*"]
|
||||
@libnames = Dir["#{CREW_DEST_LIB_PREFIX}/#{@libname}-*.so*"] if @libnames.empty?
|
||||
@libnames.each do |s|
|
||||
s.gsub!("#{CREW_DEST_LIB_PREFIX}/", '')
|
||||
end
|
||||
@dlname = @libnames.grep(/.so./).first
|
||||
@libname = @dlname.gsub(/.so.\d+/, '')
|
||||
@longest_libname = @libnames.max_by(&:length)
|
||||
@libvars = @longest_libname.rpartition('.so.')[2].split('.')
|
||||
@libtool_file = <<~LIBTOOLEOF
|
||||
# #{@libname}.la - a libtool library file
|
||||
# Generated by libtool (GNU libtool) (Created by Chromebrew)
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
dlname='#{@dlname}'
|
||||
|
||||
# Names of this library.
|
||||
library_names='#{@libnames.reverse.join(' ')}'
|
||||
|
||||
# The name of the static archive.
|
||||
old_library='#{@libname}.a'
|
||||
|
||||
# Linker flags that cannot go in dependency_libs.
|
||||
inherited_linker_flags=''
|
||||
|
||||
# Libraries that this one depends upon.
|
||||
dependency_libs=''
|
||||
|
||||
# Names of additional weak libraries provided by this library
|
||||
weak_library_names=''
|
||||
|
||||
# Version information for #{name}.
|
||||
current=#{@libvars[1]}
|
||||
age=#{@libvars[1]}
|
||||
revision=#{@libvars[2]}
|
||||
|
||||
# Is this an already installed library?
|
||||
installed=yes
|
||||
|
||||
# Should we warn about portability when linking against -modules?
|
||||
shouldnotlink=no
|
||||
|
||||
# Files to dlopen/dlpreopen
|
||||
dlopen=''
|
||||
dlpreopen=''
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='#{CREW_LIB_PREFIX}'
|
||||
LIBTOOLEOF
|
||||
File.write("#{CREW_DEST_LIB_PREFIX}/#{@libname}.la", @libtool_file)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,46 +3,55 @@ require 'package'
|
||||
class Leptonica < Package
|
||||
description 'Software that is broadly useful for image processing and image analysis applications'
|
||||
homepage 'http://www.leptonica.com/'
|
||||
@_ver = '1.82.0'
|
||||
version "#{@_ver}-1"
|
||||
@_ver = '1.83.1'
|
||||
version @_ver
|
||||
license 'Apache-2.0'
|
||||
compatibility 'all'
|
||||
compatibility 'x86_64 aarch64 armv7l'
|
||||
source_url 'https://github.com/DanBloomberg/leptonica.git'
|
||||
git_hashtag @_ver
|
||||
|
||||
binary_url({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.82.0-1_armv7l/leptonica-1.82.0-1-chromeos-armv7l.tar.zst',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.82.0-1_armv7l/leptonica-1.82.0-1-chromeos-armv7l.tar.zst',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.82.0-1_i686/leptonica-1.82.0-1-chromeos-i686.tar.zst',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.82.0-1_x86_64/leptonica-1.82.0-1-chromeos-x86_64.tar.zst'
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.83.1_armv7l/leptonica-1.83.1-chromeos-armv7l.tar.zst',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.83.1_armv7l/leptonica-1.83.1-chromeos-armv7l.tar.zst',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/leptonica/1.83.1_x86_64/leptonica-1.83.1-chromeos-x86_64.tar.zst'
|
||||
})
|
||||
binary_sha256({
|
||||
aarch64: '1860d784a88c153650ab389c339dafa608e350a9790dd2e30e52f1c8b5654115',
|
||||
armv7l: '1860d784a88c153650ab389c339dafa608e350a9790dd2e30e52f1c8b5654115',
|
||||
i686: '52e64b338abe4cdae009176a7f55ddb5602cc05ef2c130eb6930708f9302aedc',
|
||||
x86_64: '5ef3ed7eb5760e110eb58faeb678aa6bfd549b344d91efb7b7e185deb7410acd'
|
||||
aarch64: '7f2cd928e003b7fa66511514185ceb38b4936329b901bb2aae9447a9798eaf45',
|
||||
armv7l: '7f2cd928e003b7fa66511514185ceb38b4936329b901bb2aae9447a9798eaf45',
|
||||
x86_64: '575415215fa8b9a569983c7f5eeea2800118dc3058d429fd9ab750a894c4c7e3'
|
||||
})
|
||||
|
||||
depends_on 'giflib'
|
||||
depends_on 'libjpeg'
|
||||
depends_on 'harfbuzz'
|
||||
depends_on 'libtiff'
|
||||
depends_on 'libwebp'
|
||||
depends_on 'openjpeg'
|
||||
depends_on 'giflib' # R
|
||||
depends_on 'glibc' # R
|
||||
depends_on 'libdeflate' # R
|
||||
depends_on 'harfbuzz' => :build
|
||||
depends_on 'libdeflate' => :build
|
||||
depends_on 'libjpeg' # R
|
||||
depends_on 'libpng' # R
|
||||
depends_on 'xzutils' # R
|
||||
depends_on 'libtiff' # R
|
||||
depends_on 'libwebp' # R
|
||||
depends_on 'openjpeg' # R
|
||||
depends_on 'xzutils' => :build
|
||||
depends_on 'zlibpkg' # R
|
||||
depends_on 'zstd' # R
|
||||
depends_on 'zstd' => :build
|
||||
|
||||
def self.patch
|
||||
# See https://github.com/DanBloomberg/leptonica/issues/693
|
||||
system "sed -i 's,lib/cmake/leptonica,#{ARCH_LIB}/cmake/leptonica,g' CMakeLists.txt"
|
||||
system "sed -i 's,lib/pkgconfig,#{ARCH_LIB}/pkgconfig,g' CMakeLists.txt"
|
||||
system "sed -i 's,prefix}/lib,prefix}/#{ARCH_LIB},g' lept.pc.cmake"
|
||||
system "sed -i 's,set(lib,set(#{ARCH_LIB},g' src/CMakeLists.txt"
|
||||
system "sed -i 's,DESTINATION lib ARCHIVE DESTINATION lib,DESTINATION #{ARCH_LIB} ARCHIVE DESTINATION #{ARCH_LIB},g' src/CMakeLists.txt"
|
||||
end
|
||||
|
||||
def self.build
|
||||
system '[ -x configure ] || ./autogen.sh'
|
||||
system "[ -f Makefile ] || ./configure #{CREW_OPTIONS}"
|
||||
system 'mold -run make'
|
||||
system "mold -run cmake -B builddir #{CREW_CMAKE_OPTIONS} \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-Wno-dev \
|
||||
-G Ninja"
|
||||
system "#{CREW_NINJA} -C builddir"
|
||||
end
|
||||
|
||||
def self.install
|
||||
system "make DESTDIR=#{CREW_DEST_DIR} install"
|
||||
system "DESTDIR=#{CREW_DEST_DIR} #{CREW_NINJA} -C builddir install"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,85 +3,81 @@ require 'package'
|
||||
class Tesseract < Package
|
||||
description 'A neural net (LSTM) based OCR engine which is focused on line recognition & an older OCR engine which recognizes character patterns.'
|
||||
homepage 'https://github.com/tesseract-ocr/tesseract'
|
||||
@_ver = '5.2.0'
|
||||
version "#{@_ver}-1"
|
||||
@_ver = '5.3.1'
|
||||
version @_ver
|
||||
license 'Apache-2.0'
|
||||
compatibility 'all'
|
||||
compatibility 'x86_64 aarch64 armv7l'
|
||||
source_url 'https://github.com/tesseract-ocr/tesseract.git'
|
||||
git_hashtag @_ver
|
||||
|
||||
binary_url({
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.2.0-1_armv7l/tesseract-5.2.0-1-chromeos-armv7l.tar.zst',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.2.0-1_armv7l/tesseract-5.2.0-1-chromeos-armv7l.tar.zst',
|
||||
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.2.0-1_i686/tesseract-5.2.0-1-chromeos-i686.tar.zst',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.2.0-1_x86_64/tesseract-5.2.0-1-chromeos-x86_64.tar.zst'
|
||||
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.3.1_armv7l/tesseract-5.3.1-chromeos-armv7l.tar.zst',
|
||||
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.3.1_armv7l/tesseract-5.3.1-chromeos-armv7l.tar.zst',
|
||||
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/tesseract/5.3.1_x86_64/tesseract-5.3.1-chromeos-x86_64.tar.zst'
|
||||
})
|
||||
binary_sha256({
|
||||
aarch64: '350272935abbf6bfab1cc3b018243d2e9fa08677d27c2f2feeaac4d57bd75145',
|
||||
armv7l: '350272935abbf6bfab1cc3b018243d2e9fa08677d27c2f2feeaac4d57bd75145',
|
||||
i686: 'b40e7e19174f21b38abc0695cd1821d31d1819f4d044d76d716ad724f22f0783',
|
||||
x86_64: 'd5fe0ec1764be79709c7ee4103a0084c313fbaa433f2a0b2a2ad98a8c30527c6'
|
||||
aarch64: '7822dc17500f27a28b76ac88637578a262d3e6f5061f7e5c086535d0162eb378',
|
||||
armv7l: '7822dc17500f27a28b76ac88637578a262d3e6f5061f7e5c086535d0162eb378',
|
||||
x86_64: '98d8715bf3f19ac7c32bafb76d6664117ecb964d71f0c20bfcf33c4e913917b6'
|
||||
})
|
||||
|
||||
depends_on 'acl' => :build
|
||||
depends_on 'asciidoc' => :build
|
||||
depends_on 'cairo'
|
||||
depends_on 'attr' => :build
|
||||
depends_on 'brotli' => :build
|
||||
depends_on 'bz2' => :build
|
||||
depends_on 'cairo' => :build
|
||||
depends_on 'c_ares' => :build
|
||||
depends_on 'curl' # R
|
||||
depends_on 'docbook_xsl' => :build
|
||||
depends_on 'fontconfig'
|
||||
depends_on 'giflib'
|
||||
depends_on 'glib'
|
||||
depends_on 'leptonica'
|
||||
depends_on 'libarchive'
|
||||
depends_on 'curl'
|
||||
depends_on 'libjpeg'
|
||||
depends_on 'openldap'
|
||||
depends_on 'harfbuzz'
|
||||
depends_on 'libtiff'
|
||||
depends_on 'pango'
|
||||
depends_on 'acl' # R
|
||||
depends_on 'attr' # R
|
||||
depends_on 'brotli' # R
|
||||
depends_on 'bz2' # R
|
||||
depends_on 'c_ares' # R
|
||||
depends_on 'e2fsprogs' # R
|
||||
depends_on 'expat' # R
|
||||
depends_on 'e2fsprogs' => :build
|
||||
depends_on 'expat' => :build
|
||||
depends_on 'fontconfig' # R
|
||||
depends_on 'freetype' # R
|
||||
depends_on 'gcc' # R
|
||||
depends_on 'giflib' # R
|
||||
depends_on 'glib' => :build
|
||||
depends_on 'glibc' # R
|
||||
depends_on 'glib' # R
|
||||
depends_on 'harfbuzz' # R
|
||||
depends_on 'icu4c' # R
|
||||
depends_on 'krb5' # R
|
||||
depends_on 'libcyrussasl' # R
|
||||
depends_on 'libdeflate' # R
|
||||
depends_on 'libidn2' # R
|
||||
depends_on 'libnghttp2' # R
|
||||
depends_on 'krb5' => :build
|
||||
depends_on 'leptonica' # R
|
||||
depends_on 'libarchive' # R
|
||||
depends_on 'libcyrussasl' => :build
|
||||
depends_on 'libdeflate' => :build
|
||||
depends_on 'libidn2' => :build
|
||||
depends_on 'libjpeg' # R
|
||||
depends_on 'libnghttp2' => :build
|
||||
depends_on 'libpng' # R
|
||||
depends_on 'libpsl' # R
|
||||
depends_on 'libssh' # R
|
||||
depends_on 'libunistring' # R
|
||||
depends_on 'libpsl' => :build
|
||||
depends_on 'libssh' => :build
|
||||
depends_on 'libtiff' # R
|
||||
depends_on 'libunistring' => :build
|
||||
depends_on 'libwebp' # R
|
||||
depends_on 'libxml2' # R
|
||||
depends_on 'lz4' # R
|
||||
depends_on 'libxml2' => :build
|
||||
depends_on 'lz4' => :build
|
||||
depends_on 'openjpeg' # R
|
||||
depends_on 'openssl' # R
|
||||
depends_on 'xzutils' # R
|
||||
depends_on 'openldap' => :build
|
||||
depends_on 'openssl' => :build
|
||||
depends_on 'pango' # R
|
||||
depends_on 'xzutils' => :build
|
||||
depends_on 'zlibpkg' # R
|
||||
depends_on 'zstd' # R
|
||||
depends_on 'zstd' => :build
|
||||
|
||||
git_fetchtags
|
||||
|
||||
def self.build
|
||||
system '[ -x configure ] || ./autogen.sh'
|
||||
system 'filefix'
|
||||
system "[ -f Makefile ] || #{CREW_ENV_OPTIONS} ./configure #{CREW_OPTIONS}"
|
||||
# XML_CATALOG_FILES=#{CREW_PREFIX}/etc/xml/catalog does not get set
|
||||
# in the Makefile without this, which results in errors at install
|
||||
system "find . -name 'Makefile' -exec sed -i 's,XML_CATALOG_FILES = ,XML_CATALOG_FILES = #{CREW_PREFIX}/etc/xml/catalog,g' {} +"
|
||||
system 'make || make'
|
||||
system 'make training'
|
||||
system "mold -run cmake -B builddir #{CREW_CMAKE_OPTIONS} \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DCMAKE_INSTALL_LIBDIR=#{ARCH_LIB} \
|
||||
-DENABLE_LTO=ON \
|
||||
-Wno-dev \
|
||||
-G Ninja"
|
||||
system "#{CREW_NINJA} -C builddir"
|
||||
end
|
||||
|
||||
def self.install
|
||||
system "make DESTDIR=#{CREW_DEST_DIR} install"
|
||||
system "make DESTDIR=#{CREW_DEST_DIR} training-install"
|
||||
FileUtils.mkdir_p "#{CREW_DEST_PREFIX}/share/tessdata"
|
||||
system "curl -Ls https://github.com/tesseract-ocr/tessdata/blob/c2b2e0df86272ce11be323f23f96cf656565ed41/eng.traineddata -o #{CREW_DEST_PREFIX}/share/tessdata/osd.traineddata"
|
||||
system "DESTDIR=#{CREW_DEST_DIR} #{CREW_NINJA} -C builddir install"
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user