From a10271e59574386fedd037fc10db4622b33238f2 Mon Sep 17 00:00:00 2001 From: leca Date: Mon, 9 Dec 2024 19:30:48 +0300 Subject: [PATCH] added debian package --- .gitignore | 1 + CMakeLists.txt | 5 ++ CMakeLists.txt.bck | 122 --------------------------------------- deploy/debian/package.sh | 30 ++++++++++ 4 files changed, 36 insertions(+), 122 deletions(-) delete mode 100644 CMakeLists.txt.bck create mode 100755 deploy/debian/package.sh diff --git a/.gitignore b/.gitignore index 24d835b..79bf978 100644 --- a/.gitignore +++ b/.gitignore @@ -123,3 +123,4 @@ checks-parser deploy/appimage/AppDir/usr/share/doc/ deploy/appimage/AppDir/usr/share/ +*.deb diff --git a/CMakeLists.txt b/CMakeLists.txt index 77a67c6..acf50cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,6 +112,11 @@ if(QT_VERSION_MAJOR EQUAL 6) qt_finalize_executable(checks-parser) endif() +if(WIN32) +# set(OPENCV_MAP_IMPORTED_CONFIG "") + set(OpenCV_DIR /usr/local/lib/cmake/opencv4) +# set (OpenCV_DIR /usr/lib/x86_64-linux-gnu/cmake/opencv4) +endif() find_package(OpenCV REQUIRED) include_directories( ${OpenCV_INCLUDE_DIRS} ) diff --git a/CMakeLists.txt.bck b/CMakeLists.txt.bck deleted file mode 100644 index 151429a..0000000 --- a/CMakeLists.txt.bck +++ /dev/null @@ -1,122 +0,0 @@ -cmake_minimum_required(VERSION 3.16) - -project(checks-parser VERSION 0.1 LANGUAGES CXX) - -set(CMAKE_AUTOUIC ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_INCLUDE_CURRENT_DIR ON) -set(CMAKE_AUTOUIC_SEARCH_PATHS Designer) - -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - -find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) -find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) - -set(PROJECT_SOURCES - main.cpp - mainwindow.cpp - mainwindow.h - mainwindow.ui -) - -if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) - qt_add_executable(checks-parser - MANUAL_FINALIZATION - ${PROJECT_SOURCES} - ) - -SET (LANGUAGES rus eng) -SET (TRANSLATIONS_PATH "./translations") - -foreach (LANGUAGE ${LANGUAGES}) - set (TS ${TRANSLATIONS_PATH}/${LANGUAGE}.ts) - set (QM ${TRANSLATIONS_PATH}/${LANGUAGE}.qm) - set (TRANSLATIONS ${TRANSLATIONS} ${TS}) - set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM}) - add_custom_command( - OUTPUT ${QM} - COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} - MAIN_DEPENDENCY ${TS} - ) -endforeach() - -qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} translations/english.ts) - -# Define target properties for Android with Qt 6 as: -# set_property(TARGET checks-parser APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR -# ${CMAKE_CURRENT_SOURCE_DIR}/android) -# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation -else() - if(ANDROID) - add_library(checks-parser SHARED - ${PROJECT_SOURCES} - ) -# Define properties for Android with Qt 5 after find_package() calls as: -# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") - else() - add_executable(checks-parser - ${PROJECT_SOURCES} - goods/goods.h goods/goods.cpp - check/check.h check/check.cpp - parser/parser.h parser/parser.cpp - parser/module.h parser/module.cpp - - outputdialog.h outputdialog.cpp outputdialog.ui - output/output_options.h output/output_options.cpp - - utils/utils.h utils/utils.cpp - image/checkimage.h image/checkimage.cpp - net/net.h net/net.cpp - settings/settings.h settings/settings.cpp - settingsdialog.h settingsdialog.cpp settingsdialog.ui - adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui - imageview/imageview.h imageview/imageview.cpp - image_redactor/imageredactor.h image_redactor/imageredactor.cpp - solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui - exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp - ${TRANSLATIONS} - ${QM_FILES} - ${QM} - ${TS} - ) -endif() -endif() - -add_custom_target(translations DEPENDS ${QM_FILES}) -add_dependencies(checks-parser translations) - -target_link_libraries(checks-parser PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) -# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. -# If you are developing for iOS or macOS you should consider setting an -# explicit, fixed bundle identifier manually though. -if(${QT_VERSION} VERSION_LESS 6.1.0) - set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.checks-parser) -endif() -set_target_properties(checks-parser PROPERTIES - ${BUNDLE_ID_OPTION} - MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} - MACOSX_BUNDLE TRUE - WIN32_EXECUTABLE TRUE -) - -include(GNUInstallDirs) -install(TARGETS checks-parser - BUNDLE DESTINATION . - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -) - -if(QT_VERSION_MAJOR EQUAL 6) - qt_finalize_executable(checks-parser) -endif() - -find_package(OpenCV REQUIRED) - -include_directories( ${OpenCV_INCLUDE_DIRS} ) -target_link_libraries(checks-parser PRIVATE -lzbar) -target_link_libraries(checks-parser PRIVATE -ltesseract) -target_link_libraries(checks-parser PRIVATE -lcurl) -target_link_libraries(checks-parser PRIVATE ${OpenCV_LIBS} ) diff --git a/deploy/debian/package.sh b/deploy/debian/package.sh new file mode 100755 index 0000000..a417742 --- /dev/null +++ b/deploy/debian/package.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +pkgname="checks-parser" +pkgver="3.0" +revision="1" + +pkg=${pkgname}_$pkgver-$revision +mkdir $pkg + +mkdir -p $pkg/usr/bin + +cp ../../checks-parser $pkg/usr/bin + +mkdir $pkg/DEBIAN + +echo \ +"Package: $pkgname +Version: $pkgver-$revision +Section: utils +Priority: optional +Architecture: amd64 +Homepage: https://git.foxarmy.org/checks-parser +Depends: libc, qtbase5-dev, openssl, libmbedtls-dev, tesseract-ocr, tesseract-ocr-rus, libopencv-dev, libzbar-dev, qttools5-dev, nlohmann-json3-dev, libcurl4-openssl-dev, libtesseract-dev +Maintainer: Leca +Description: Utility for parsing checks(receipts) to csv + Utility for extraction of content of a check(receipt) using plaintext, OCR or request to FTS (Federal Taxation Service)"\ +> $pkg/DEBIAN/control + +dpkg-deb --build $pkg +rm -rf $pkg