#!/bin/sh # This is a shell archive echo x gimagereader mkdir -p gimagereader > /dev/null 2>&1 echo x gimagereader/Makefile sed 's/^X//' > gimagereader/Makefile << 'SHAR_END' X# $FreeBSD$ X XPORTNAME= gimagereader XDISTVERSIONPREFIX= v XDISTVERSION= 3.3.1-1 XDISTVERSIONSUFFIX= -g4f64ce5 XCATEGORIES= graphics XPKGNAMESUFFIX= -${FLAVOR} X XMAINTAINER= mistresssilvara@hotmail.com XCOMMENT= Gtk/Qt front-end to tesseract-ocr X XLICENSE= GPLv3 XLICENSE_FILE= ${WRKSRC}/COPYING X XLIB_DEPENDS= libsane.so:graphics/sane-backends \ X libtesseract.so:graphics/tesseract \ X libpodofo.so:graphics/podofo \ X libenchant-2.so:textproc/enchant2 \ X libdjvulibre.so:graphics/djvulibre X XFLAVORS= qt5 gtk XFLAVOR?= ${FLAVORS:[1]} X XUSES= cmake:noninja pkgconfig compiler:c++14-lang gettext-runtime \ X localbase:ldflags desktop-file-utils X Xqt5_LIB_DEPENDS= libqtspell-qt5.so:devel/qtspell \ X libpoppler-qt5.so:graphics/poppler-qt5 \ X libquazip1-qt5.so:archivers/quazip X Xgtk_LIB_DEPENDS= libgtkspellmm-3.0.so:devel/gtkspell \ X libgtkspell3-3.so:textproc/gtkspell3 \ X libpoppler-glib.so:graphics/poppler-glib \ X libjson-glib-1.0.so:devel/json-glib \ X libfontconfig.so:x11-fonts/fontconfig \ X libfreetype.so:print/freetype2 \ X libzip.so:archivers/libzip \ X libuuid.so:misc/e2fsprogs-libuuid X Xqt5_CONFLICTS= ${PORTNAME}-gtk Xgtk_CONFLICTS= ${PORTNAME}-qt5 X XUSE_GITHUB= yes XGH_ACCOUNT= manisandro XGH_PROJECT= gImageReader XGH_TAGNAME= 4f64ce59eae3598da8d0e3c1bd8021875bdadb00 X XOPTIONS_DEFINE= DOCS NLS XOPTIONS_SUB= yes XPLIST_SUB+= FLAVOR=${FLAVOR} X XLDFLAGS+= -lintl X XINSTALLS_ICONS= yes X.if ${FLAVOR:U} == qt5 XUSES+= qt:5 XUSE_QT= qmake_build core gui widgets concurrent xml printsupport dbus \ X network XCMAKE_ARGS+= -D INTERFACE_TYPE=qt5 X.else XUSES+= gnome jpeg XUSE_GNOME= atkmm gtk30 gtkmm30 pango pangomm gdkpixbuf2 gtksourceview3 \ X gtksourceviewmm3 glib20 XCMAKE_ARGS+= -D INTERFACE_TYPE=gtk XGLIB_SCHEMAS= org.gnome.gimagereader.gschema.xml X.endif X X.include SHAR_END echo x gimagereader/distinfo sed 's/^X//' > gimagereader/distinfo << 'SHAR_END' XTIMESTAMP = 1614121430 XSHA256 (manisandro-gImageReader-v3.3.1-1-g4f64ce5-4f64ce59eae3598da8d0e3c1bd8021875bdadb00_GH0.tar.gz) = cd3e9df3ea72fa270e233dac241330a3e33951aacd19b3d204a3067377b6927f XSIZE (manisandro-gImageReader-v3.3.1-1-g4f64ce5-4f64ce59eae3598da8d0e3c1bd8021875bdadb00_GH0.tar.gz) = 1121496 SHAR_END echo x gimagereader/files mkdir -p gimagereader/files > /dev/null 2>&1 echo x gimagereader/pkg-descr sed 's/^X//' > gimagereader/pkg-descr << 'SHAR_END' XgImageReader is a simple Gtk/Qt front-end to tesseract-ocr. X XWWW: https://github.com/manisandro/gImageReader SHAR_END echo x gimagereader/pkg-plist sed 's/^X//' > gimagereader/pkg-plist << 'SHAR_END' Xbin/gimagereader-%%FLAVOR%% Xshare/applications/gimagereader-%%FLAVOR%%.desktop X%%NLS%%%%PORTDOCS%%%%DOCSDIR%%/manual-cs.html X%%NLS%%%%PORTDOCS%%%%DOCSDIR%%/manual-ru.html X%%PORTDOCS%%%%DOCSDIR%%/manual.html Xshare/icons/hicolor/128x128/apps/gimagereader.png Xshare/icons/hicolor/256x256/apps/gimagereader.png Xshare/icons/hicolor/48x48/apps/gimagereader.png X%%NLS%%share/locale/ar_AR/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ar_SA/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ca/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/cs/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/de/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/el/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/es/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/eu/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/fr/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/gu/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/hi/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/hr/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/hu/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ia/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ie/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/it/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ja/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ka/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ko/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/mk/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/nb_NO/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/nl/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/pl/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/pt/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/pt_BR/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/ru/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sat/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sl/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sq/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sr_CS/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sr_Cyrl/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sr_Latn/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/sv/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/tr/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/uk/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/zh_CN/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/zh_HK/LC_MESSAGES/gimagereader.mo X%%NLS%%share/locale/zh_TW/LC_MESSAGES/gimagereader.mo Xshare/metainfo/gimagereader-%%FLAVOR%%.appdata.xml SHAR_END echo x gimagereader/files/patch-CMakeLists.txt sed 's/^X//' > gimagereader/files/patch-CMakeLists.txt << 'SHAR_END' X--- CMakeLists.txt.orig 2021-02-15 21:39:11 UTC X+++ CMakeLists.txt X@@ -57,7 +57,7 @@ FIND_PACKAGE(Gettext REQUIRED) X FIND_PACKAGE(PkgConfig REQUIRED) X PKG_CHECK_MODULES(TESSERACT tesseract) X PKG_CHECK_MODULES(ddjvuapi REQUIRED ddjvuapi) X-PKG_CHECK_MODULES(PODOFO libpodofo) X+PKG_SEARCH_MODULE(PODOFO libpodofo libpodofo-0) X IF(NOT TESSERACT_FOUND) X MESSAGE(WARNING "Using hardcoded cflags and ldflags for tesseract") X SET(TESSERACT_INCLUDE_DIRS /usr/include/tesseract) X@@ -166,9 +166,9 @@ ELSEIF("${INTERFACE_TYPE}" STREQUAL "qt5") X FIND_PACKAGE(Qt5Widgets REQUIRED) X FIND_PACKAGE(Qt5Xml REQUIRED) X FIND_PACKAGE(Qt5PrintSupport REQUIRED) X- FIND_PACKAGE(QuaZip5) X+ FIND_PACKAGE(QuaZip NAMES QuaZip5 QuaZip-Qt5) X IF(NOT QUAZIP_FOUND) X- FIND_PATH(QUAZIP_INCLUDE_DIR NAME quazipfile.h PATH_SUFFIXES quazip5 QuaZip-Qt5-1.0/quazip) X+ FIND_PATH(QUAZIP_INCLUDE_DIR NAME quazipfile.h PATH_SUFFIXES quazip5 QuaZip-Qt5-1.0/quazip QuaZip-Qt5-1.1/quazip) X FIND_LIBRARY(QUAZIP_LIBRARIES NAMES quazip5 quazip1-qt5) X IF(NOT QUAZIP_INCLUDE_DIR OR NOT QUAZIP_LIBRARIES) X MESSAGE(FATAL_ERROR "QuaZip5 is required but was not found") SHAR_END echo x gimagereader/files/patch-gtk_src_Displayer.hh sed 's/^X//' > gimagereader/files/patch-gtk_src_Displayer.hh << 'SHAR_END' X--- gtk/src/Displayer.hh.orig 2021-02-15 21:39:11 UTC X+++ gtk/src/Displayer.hh X@@ -27,7 +27,9 @@ X #include X #include X X+#ifndef __clang__ X namespace std { class thread; } X+#endif X class DisplayerItem; X class DisplayerImageItem; X class DisplayerTool; SHAR_END echo x gimagereader/files/patch-gtk_src_MainWindow.hh sed 's/^X//' > gimagereader/files/patch-gtk_src_MainWindow.hh << 'SHAR_END' X--- gtk/src/MainWindow.hh.orig 2021-02-15 21:39:11 UTC X+++ gtk/src/MainWindow.hh X@@ -26,7 +26,9 @@ X X #define MAIN MainWindow::getInstance() X X+#ifndef __clang__ X namespace std { class thread; } X+#endif X class Acquirer; X class Displayer; X class DisplayerTool; SHAR_END echo x gimagereader/files/patch-gtk_src_scanner_ScannerSane.hh sed 's/^X//' > gimagereader/files/patch-gtk_src_scanner_ScannerSane.hh << 'SHAR_END' X--- gtk/src/scanner/ScannerSane.hh.orig 2021-02-15 21:39:11 UTC X+++ gtk/src/scanner/ScannerSane.hh X@@ -28,7 +28,9 @@ X #include "../Utils.hh" X #include X X+#ifndef __clang__ X namespace std { class thread; } X+#endif X X class ScannerSane : public Scanner { X public: SHAR_END echo x gimagereader/files/patch-gtk_src_main.cc sed 's/^X//' > gimagereader/files/patch-gtk_src_main.cc << 'SHAR_END' X--- gtk/src/main.cc.orig 2021-02-15 21:39:11 UTC X+++ gtk/src/main.cc X@@ -41,12 +41,17 @@ static std::string get_application_dir(char* argv0) { X std::string pathstr = dir; X g_free(dir); X #else X+#ifdef __FreeBSD__ X+ std::string pathstr; X+ bool err = true; X+#else X pid_t pid = getpid(); X std::string exe = Glib::ustring::compose("/proc/%1/exe", pid); X GError* err = nullptr; X char* path = g_file_read_link(exe.c_str(), &err); X std::string pathstr = Glib::build_filename(Glib::path_get_dirname(path), ".."); X g_free(path); X+#endif X if(err) { X if(Glib::path_is_absolute(argv0)) { X pathstr = Glib::build_filename(Glib::path_get_dirname(argv0), ".."); X@@ -64,6 +69,10 @@ static std::string get_application_exec_path(char* arg X bool success = GetModuleFileName(0, buf, MAX_PATH) > 0; X std::string pathstr = buf; X #else X+#ifdef __FreeBSD__ X+ std::string pathstr; X+ bool success = false; X+#else X pid_t pid = getpid(); X std::string exe = Glib::ustring::compose("/proc/%1/exe", pid); X GError* err = nullptr; X@@ -71,6 +80,7 @@ static std::string get_application_exec_path(char* arg X std::string pathstr = path; X g_free(path); X bool success = err == nullptr; X+#endif X #endif X if(!success) { X if(Glib::path_is_absolute(argv0)) { SHAR_END echo x gimagereader/files/patch-gtk_src_RecognitionMenu.cc sed 's/^X//' > gimagereader/files/patch-gtk_src_RecognitionMenu.cc << 'SHAR_END' X--- gtk/src/RecognitionMenu.cc.orig 2021-02-15 21:39:11 UTC X+++ gtk/src/RecognitionMenu.cc X@@ -233,11 +233,13 @@ void RecognitionMenu::rebuild() { X CONNECT(charlistItem, activate, [this] { manageCharaterLists(); }); X append(*charlistItem); X X+#ifndef __FreeBSD__ X // Add installer item X append(*Gtk::manage(new Gtk::SeparatorMenuItem())); X Gtk::MenuItem* manageItem = Gtk::manage(new Gtk::MenuItem(_("Manage languages..."))); X CONNECT(manageItem, activate, [this] { MAIN->manageLanguages(); }); X append(*manageItem); X+#endif X X show_all(); X if(activeitem) { SHAR_END echo x gimagereader/files/patch-qt_src_RecognitionMenu.cc sed 's/^X//' > gimagereader/files/patch-qt_src_RecognitionMenu.cc << 'SHAR_END' X--- qt/src/RecognitionMenu.cc.orig 2021-02-15 21:39:11 UTC X+++ qt/src/RecognitionMenu.cc X@@ -205,9 +205,11 @@ void RecognitionMenu::rebuild() { X addAction(_("Character whitelist / blacklist..."), m_charListDialog, &QDialog::exec); X X X+#ifndef __FreeBSD__ X // Add installer item X addSeparator(); X addAction(_("Manage languages..."), MAIN, &MainWindow::manageLanguages); X+#endif X } X X tesseract::PageSegMode RecognitionMenu::getPageSegmentationMode() const { SHAR_END exit