git: b5ba2831fd35 - main - graphics/scantpaper: new port

From: Christoph Moench-Tegeder <cmt_at_FreeBSD.org>
Date: Fri, 03 Jul 2026 17:47:23 UTC
The branch main has been updated by cmt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b5ba2831fd351d8cffaf91d88cbde54f41ef2828

commit b5ba2831fd351d8cffaf91d88cbde54f41ef2828
Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
AuthorDate: 2026-07-03 17:46:52 +0000
Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
CommitDate: 2026-07-03 17:46:52 +0000

    graphics/scantpaper: new port
    
    GUI to produce PDFs or DjVus from scanned documents
    https://github.com/carygravel/scantpaper
---
 graphics/Makefile                                  |   1 +
 graphics/scantpaper/Makefile                       |  41 +++++
 graphics/scantpaper/distinfo                       |   3 +
 .../files/patch-scantpaper_scanner_options.py      |  27 +++
 graphics/scantpaper/pkg-descr                      |   3 +
 graphics/scantpaper/pkg-plist                      | 182 +++++++++++++++++++++
 6 files changed, 257 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 121237402be8..da4032b9a600 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1187,6 +1187,7 @@
     SUBDIR += satty
     SUBDIR += scale2x
     SUBDIR += scantailor
+    SUBDIR += scantpaper
     SUBDIR += scr2png
     SUBDIR += scrot
     SUBDIR += scwm-icons
diff --git a/graphics/scantpaper/Makefile b/graphics/scantpaper/Makefile
new file mode 100644
index 000000000000..60cb37a71567
--- /dev/null
+++ b/graphics/scantpaper/Makefile
@@ -0,0 +1,41 @@
+PORTNAME=	scantpaper
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.0.9
+CATEGORIES=	graphics python
+
+MAINTAINER=	cmt@FreeBSD.org
+COMMENT=	GUI to produce PDFs or DjVus from scanned documents
+WWW=		https://github.com/carygravel/scantpaper
+
+LICENSE=	GPLv3
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}polib>0:devel/py-polib@${PY_FLAVOR}
+LIB_DEPENDS=	libtiff.so:graphics/tiff \
+		libpoppler.so:graphics/poppler \
+		libgoocanvas-2.0.so:graphics/goocanvas2
+RUN_DEPENDS=	unpaper:graphics/unpaper \
+		${PYTHON_PKGNAMEPREFIX}img2pdf>0:graphics/py-img2pdf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tesserocr>0:graphics/py-tesserocr@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}ocrmypdf>=15.4.3:textproc/py-ocrmypdf@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}python-iso639>0:textproc/py-python-iso639@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}sane>0:graphics/py-sane@${PY_FLAVOR} \
+		${PY_PILLOW}
+
+USES=		compiler:c++17-lang gettext gnome magick:build,run python
+USE_GITHUB=	yes
+GH_ACCOUNT=	carygravel
+USE_GNOME=	cairo gdkpixbuf gtk30 introspection librsvg2 pygobject3
+USE_PYTHON=	pep517
+NO_ARCH=	yes
+
+PLIST_SUB=	DISTVERSION=${DISTVERSION}
+
+post-build:
+	(cd ${WRKSRC} ; python3.12 dev/compile_mo.py --src po --out locale --domain scantpaper)
+
+post-install:
+	(cd ${WRKSRC} ; for mo in locale/*/LC_MESSAGES/scantpaper.mo ; do ${MKDIR} "${STAGEDIR}/${PREFIX}/share/$$(dirname $${mo})" ; ${INSTALL_DATA} "$${mo}" "${STAGEDIR}/${PREFIX}/share/$$(dirname $${mo})/" ; done)
+
+.include <bsd.port.mk>
diff --git a/graphics/scantpaper/distinfo b/graphics/scantpaper/distinfo
new file mode 100644
index 000000000000..f857adeba683
--- /dev/null
+++ b/graphics/scantpaper/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1782590815
+SHA256 (carygravel-scantpaper-v3.0.9_GH0.tar.gz) = 3e2e79ae005ba7dea42b417c055672be78f4722ed97e6e867e91dfe3a2ff8f54
+SIZE (carygravel-scantpaper-v3.0.9_GH0.tar.gz) = 950340
diff --git a/graphics/scantpaper/files/patch-scantpaper_scanner_options.py b/graphics/scantpaper/files/patch-scantpaper_scanner_options.py
new file mode 100644
index 000000000000..3c504ee75cab
--- /dev/null
+++ b/graphics/scantpaper/files/patch-scantpaper_scanner_options.py
@@ -0,0 +1,27 @@
+commit a3c6b805552d64a235b47935f47919ee2b436663
+Author: Christoph Moench-Tegeder <cmt@burggraben.net>
+Date:   Fri Jul 3 18:58:11 2026 +0200
+
+    Skip empty ("None") options when searching for "source"
+    
+    The list of options returned by sanes get_options() may contain
+    entries without a name set ('None'), which will cause an exception
+    to be raised when scanned by re.search() and the whole process
+    will fail. As those options are not what we're looking for, just
+    skip options where name is None in this loop.
+    A similar pattern has been applied in commit 97fa64ee to
+    scantpaper/scanner/options.py l.158
+
+diff --git scantpaper/scanner/options.py scantpaper/scanner/options.py
+index ed7775f..5ba280e 100644
+--- scantpaper/scanner/options.py
++++ scantpaper/scanner/options.py
+@@ -60,7 +60,7 @@ class Options(GObject.Object):
+             self.source = self.by_name("source")
+         else:
+             for option in self.array:
+-                if re.search(
++                if option.name is not None and re.search(
+                     r"source", option.name, re.MULTILINE | re.DOTALL | re.VERBOSE
+                 ):
+                     self.source = option
diff --git a/graphics/scantpaper/pkg-descr b/graphics/scantpaper/pkg-descr
new file mode 100644
index 000000000000..54efa0d69cb2
--- /dev/null
+++ b/graphics/scantpaper/pkg-descr
@@ -0,0 +1,3 @@
+scantpaper provides a GUI for scanning, editing, and saving documents
+as PDF, DjVu, TIFF, PNG, JPEG, PNM, or GIF. It supports batch scanning,
+metadata, OCR, and various editing tools.
diff --git a/graphics/scantpaper/pkg-plist b/graphics/scantpaper/pkg-plist
new file mode 100644
index 000000000000..44bf02200469
--- /dev/null
+++ b/graphics/scantpaper/pkg-plist
@@ -0,0 +1,182 @@
+bin/scantpaper
+%%PYTHON_SITELIBDIR%%/scantpaper-%%DISTVERSION%%.dist-info/METADATA
+%%PYTHON_SITELIBDIR%%/scantpaper-%%DISTVERSION%%.dist-info/RECORD
+%%PYTHON_SITELIBDIR%%/scantpaper-%%DISTVERSION%%.dist-info/WHEEL
+%%PYTHON_SITELIBDIR%%/scantpaper-%%DISTVERSION%%.dist-info/entry_points.txt
+%%PYTHON_SITELIBDIR%%/scantpaper-%%DISTVERSION%%.dist-info/top_level.txt
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/app%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/app%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/app_window%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/app_window%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/basedocument%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/basedocument%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/basethread%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/basethread%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/bboxtree%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/bboxtree%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/canvas%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/canvas%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/comboboxtext%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/comboboxtext%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/config%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/config%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/conftest%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/conftest%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/const%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/const%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/docthread%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/docthread%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/document%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/document%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/edit_menu_mixins%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/edit_menu_mixins%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/entry_completion%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/entry_completion%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/file_menu_mixins%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/file_menu_mixins%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/helpers%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/helpers%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/i18n%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/i18n%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/imageview%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/imageview%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/importthread%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/importthread%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/page%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/page%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/pagerange%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/pagerange%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/postprocess_controls%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/postprocess_controls%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/print_operation%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/print_operation%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/progress%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/progress%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/savethread%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/savethread%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/scan_menu_item_mixins%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/scan_menu_item_mixins%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/session_mixins%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/session_mixins%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/simplelist%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/simplelist%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/tesseract%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/tesseract%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/text_layer_control%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/text_layer_control%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/tools_menu_mixins%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/tools_menu_mixins%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/unpaper%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/__pycache__/unpaper%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/app.py
+%%PYTHON_SITELIBDIR%%/scantpaper/app.ui
+%%PYTHON_SITELIBDIR%%/scantpaper/app_window.py
+%%PYTHON_SITELIBDIR%%/scantpaper/basedocument.py
+%%PYTHON_SITELIBDIR%%/scantpaper/basethread.py
+%%PYTHON_SITELIBDIR%%/scantpaper/bboxtree.py
+%%PYTHON_SITELIBDIR%%/scantpaper/canvas.py
+%%PYTHON_SITELIBDIR%%/scantpaper/comboboxtext.py
+%%PYTHON_SITELIBDIR%%/scantpaper/config.py
+%%PYTHON_SITELIBDIR%%/scantpaper/conftest.py
+%%PYTHON_SITELIBDIR%%/scantpaper/const.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__init__.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/crop%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/crop%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/pagecontrols%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/pagecontrols%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/paperlist%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/paperlist%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/preferences%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/preferences%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/renumber%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/renumber%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/sane%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/sane%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/save%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/save%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/scan%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/__pycache__/scan%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/crop.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/pagecontrols.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/paperlist.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/preferences.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/renumber.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/sane.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/save.py
+%%PYTHON_SITELIBDIR%%/scantpaper/dialog/scan.py
+%%PYTHON_SITELIBDIR%%/scantpaper/docthread.py
+%%PYTHON_SITELIBDIR%%/scantpaper/document.py
+%%PYTHON_SITELIBDIR%%/scantpaper/edit_menu_mixins.py
+%%PYTHON_SITELIBDIR%%/scantpaper/entry_completion.py
+%%PYTHON_SITELIBDIR%%/scantpaper/file_menu_mixins.py
+%%PYTHON_SITELIBDIR%%/scantpaper/frontend/__pycache__/enums%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/frontend/__pycache__/enums%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/frontend/__pycache__/image_sane%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/frontend/__pycache__/image_sane%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/frontend/enums.py
+%%PYTHON_SITELIBDIR%%/scantpaper/frontend/image_sane.py
+%%PYTHON_SITELIBDIR%%/scantpaper/helpers.py
+%%PYTHON_SITELIBDIR%%/scantpaper/i18n.py
+%%PYTHON_SITELIBDIR%%/scantpaper/imageview.py
+%%PYTHON_SITELIBDIR%%/scantpaper/importthread.py
+%%PYTHON_SITELIBDIR%%/scantpaper/page.py
+%%PYTHON_SITELIBDIR%%/scantpaper/pagerange.py
+%%PYTHON_SITELIBDIR%%/scantpaper/postprocess_controls.py
+%%PYTHON_SITELIBDIR%%/scantpaper/print_operation.py
+%%PYTHON_SITELIBDIR%%/scantpaper/progress.py
+%%PYTHON_SITELIBDIR%%/scantpaper/savethread.py
+%%PYTHON_SITELIBDIR%%/scantpaper/scan_menu_item_mixins.py
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__init__.py
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__pycache__/__init__%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__pycache__/__init__%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__pycache__/options%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__pycache__/options%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__pycache__/profile%%PYTHON_TAG%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/__pycache__/profile%%PYTHON_TAG%%.pyc
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/options.py
+%%PYTHON_SITELIBDIR%%/scantpaper/scanner/profile.py
+%%PYTHON_SITELIBDIR%%/scantpaper/session_mixins.py
+%%PYTHON_SITELIBDIR%%/scantpaper/simplelist.py
+%%PYTHON_SITELIBDIR%%/scantpaper/tesseract.py
+%%PYTHON_SITELIBDIR%%/scantpaper/text_layer_control.py
+%%PYTHON_SITELIBDIR%%/scantpaper/tools_menu_mixins.py
+%%PYTHON_SITELIBDIR%%/scantpaper/unpaper.py
+share/locale/ab/LC_MESSAGES/scantpaper.mo
+share/locale/be/LC_MESSAGES/scantpaper.mo
+share/locale/bg/LC_MESSAGES/scantpaper.mo
+share/locale/ca/LC_MESSAGES/scantpaper.mo
+share/locale/cs/LC_MESSAGES/scantpaper.mo
+share/locale/da/LC_MESSAGES/scantpaper.mo
+share/locale/de/LC_MESSAGES/scantpaper.mo
+share/locale/el/LC_MESSAGES/scantpaper.mo
+share/locale/en_GB/LC_MESSAGES/scantpaper.mo
+share/locale/en_US/LC_MESSAGES/scantpaper.mo
+share/locale/es/LC_MESSAGES/scantpaper.mo
+share/locale/eu/LC_MESSAGES/scantpaper.mo
+share/locale/fa/LC_MESSAGES/scantpaper.mo
+share/locale/fi/LC_MESSAGES/scantpaper.mo
+share/locale/fr/LC_MESSAGES/scantpaper.mo
+share/locale/gl/LC_MESSAGES/scantpaper.mo
+share/locale/gu/LC_MESSAGES/scantpaper.mo
+share/locale/he/LC_MESSAGES/scantpaper.mo
+share/locale/hr/LC_MESSAGES/scantpaper.mo
+share/locale/hu/LC_MESSAGES/scantpaper.mo
+share/locale/it/LC_MESSAGES/scantpaper.mo
+share/locale/ja/LC_MESSAGES/scantpaper.mo
+share/locale/ko/LC_MESSAGES/scantpaper.mo
+share/locale/nb/LC_MESSAGES/scantpaper.mo
+share/locale/nl/LC_MESSAGES/scantpaper.mo
+share/locale/oc/LC_MESSAGES/scantpaper.mo
+share/locale/pl/LC_MESSAGES/scantpaper.mo
+share/locale/pt/LC_MESSAGES/scantpaper.mo
+share/locale/pt_BR/LC_MESSAGES/scantpaper.mo
+share/locale/ru/LC_MESSAGES/scantpaper.mo
+share/locale/sk/LC_MESSAGES/scantpaper.mo
+share/locale/sl/LC_MESSAGES/scantpaper.mo
+share/locale/sv/LC_MESSAGES/scantpaper.mo
+share/locale/tr/LC_MESSAGES/scantpaper.mo
+share/locale/uk/LC_MESSAGES/scantpaper.mo
+share/locale/zh_CN/LC_MESSAGES/scantpaper.mo
+share/locale/zh_TW/LC_MESSAGES/scantpaper.mo