app-id: com.naps2.Naps2 runtime: org.freedesktop.Platform runtime-version: '24.08' sdk: org.freedesktop.Sdk sdk-extensions: - org.freedesktop.Sdk.Extension.dotnet9 command: naps2 copy-icon: true cleanup: - /include - /lib/*.a - /lib64/*.a - /lib/*.la - /lib/cmake - /lib/debug - /lib/pkgconfig - /share/doc - /share/man modules: # TODO: Used shared module for libusb - name: libusb buildsystem: autotools sources: - type: git url: https://github.com/libusb/libusb tag: v1.0.27 commit: d52e355daa09f17ce64819122cb067b8a2ee0d4b - name: leptonica buildsystem: cmake-ninja builddir: true sources: - type: git url: https://github.com/DanBloomberg/leptonica tag: 1.85.0 commit: 63aef18d98432b8582a1565e241f7bd2ee9cc8d9 - name: tesseract buildsystem: cmake-ninja builddir: true cleanup: - /app/share/tessdata config-opts: - -DDISABLED_LEGACY_ENGINE=ON - -DBUILD_TRAINING_TOOLS=OFF - -DENABLE_LTO=ON sources: - type: git url: https://github.com/tesseract-ocr/tesseract tag: 5.5.0 commit: 64eab6c457b2337dd690746a5fde5c222b40d5f8 - name: avahi buildsystem: autotools config-opts: - --with-distro=debian - --disable-libevent - --disable-qt4 - --disable-qt5 - --disable-libdaemon - --disable-python - --disable-mono - --disable-manpages sources: - type: git url: https://github.com/lathiat/avahi tag: v0.8 commit: f060abee2807c943821d88839c013ce15db17b58 - name: sane buildsystem: autotools sources: - type: git url: https://gitlab.com/sane-project/backends tag: 1.3.1 commit: 3ff55fd8ee04ae459e199088ebe11ac979671d0e - type: patch path: sane-streamdevices.patch - name: sane-airscan buildsystem: meson sources: - type: git url: https://github.com/alexpevzner/sane-airscan tag: 0.99.31 commit: a086d81a1222194804a075cac496c821023ae23a - name: main buildsystem: simple build-options: append-path: /usr/lib/sdk/dotnet9/bin append-ld-library-path: /usr/lib/sdk/dotnet9/lib env: PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/dotnet9/lib/pkgconfig DOTNET_CLI_TELEMETRY_OPTOUT: 'true' DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' arch: aarch64: env: RUNTIME: linux-arm64 x86_64: env: RUNTIME: linux-x64 build-commands: - mkdir -p /app/bin - dotnet publish NAPS2.App.Gtk -c Release -r $RUNTIME --self-contained /p:DebugType=None /p:DebugSymbols=false --source ./nuget-sources - cp -r --remove-destination /run/build/main/NAPS2.App.Gtk/bin/Release/net9/$RUNTIME/publish/. /app/bin/ - install -Dm644 com.naps2.Naps2.png /app/share/icons/hicolor/128x128/apps/com.naps2.Naps2.png - install -Dm644 com.naps2.Naps2.metainfo.xml /app/share/metainfo/com.naps2.Naps2.metainfo.xml - install -Dm644 com.naps2.Naps2.desktop /app/share/applications/com.naps2.Naps2.desktop cleanup: - /bin/_linuxarm/tesseract - /bin/_linux/tesseract sources: - type: git path: ../../../../../.. - nuget-sources.json - type: file path: com.naps2.Naps2.png - type: file path: com.naps2.Naps2.metainfo.xml - type: file path: com.naps2.Naps2.desktop finish-args: # GUI - --socket=wayland - --socket=fallback-x11 - --share=ipc # USB scanning - --device=all # Network scanning - --share=network # We need /usr access to read host-installed SANE backends # CLI/batch scanning might also need read/write access to arbitrary folders without being able to use a portal - --filesystem=host # App data - --filesystem=xdg-config/naps2 # GVfs - --filesystem=xdg-run/gvfsd - --talk-name=org.gtk.vfs.* # mDNS discovery for ESCL scanners - --system-talk-name=org.freedesktop.Avahi