name: logarithmplotter
title: LogarithmPlotter
version: '0.3.0'
summary: 2D logarithmic-scaled plotter software to create asymptotic Bode plots
confinement: strict
base: core20
grade: stable
icon: LogarithmPlotter/logarithmplotter.svg
adopt-info: linuxfiles
license: GPL-3.0+

architectures:
  - build-on: amd64
    run-on: amd64

plugs:
  #gnome-3-38-2004:
  #  interface: content
  #  target: gnome-platform
  #  default-provider: gnome-3-38-2004:gnome-3-38-2004
  gtk-3-themes:
    default-provider: gtk-common-themes:gtk-3-themes
    interface: content
    target: $SNAP/data-dir/themes
  sound-themes:
    defauwebsitelt-provider: gtk-common-themes:sound-themes
    interface: content
    target: $SNAP/data-dir/sounds
  icon-themes:
    default-provider: gtk-common-themes:icon-themes
    interface: content
    target: $SNAP/data-dir/icons

parts:
  #desktop-gtk3: # This one fixes the cursor issue without having anything else interfering.
  #  build-packages:
  #  - build-essential
  #  - libgtk-3-dev
  #  make-parameters:
  #  - FLAVOR=gtk3
  #  plugin: make
  #  source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
  #  source-subdir: gtk
  #  stage-packages:
  #  - libxkbcommon0
  #  - ttf-ubuntu-font-family
  #  - dmz-cursor-theme
  #  - light-themes
  #  - adwaita-icon-theme
  #  - gnome-themes-standard
  #  - shared-mime-info
  #  - libgtk-3-0
  #  - libgdk-pixbuf2.0-0
  #  - libglib2.0-bin
  #  - libgtk-3-bin
  #  - unity-gtk3-module
  #  - libappindicator3-1
  #  - locales-all
  #  - xdg-user-dirs
  #  - ibus-gtk3
  #  - libibus-1.0-5
  #  - fcitx-frontend-gtk3
  #  - libgtk2.0-0
  launchers:
    source: linux/snapcraft/launcher/
    plugin: dump
    organize:
      '*': bin/
  linuxfiles:
    source: linux/
    plugin: dump
    parse-info: [eu.ad5001.LogarithmPlotter.metainfo.xml]
    organize:
      logarithmplotter.desktop: usr/share/applications/logarithmplotter.desktop
      x-logarithm-plot.xml: usr/share/mime/packages/x-logarithm-plot.xml
      application-x-logarithm-plot.svg: usr/share/mime/packages/application-x-logarithm-plot.svg
  logarithmplotter:
    plugin: python
    source: .
    stage-packages:
    - breeze-icon-theme
    # Latex dependencies
    #- texlive-latex-base Causes symlink issues and being rejected by the Snap store.
    #- dvipng
    # Additional dependencies
    - libxcomposite1
    - libxcursor1
    - libxi6
    - libxrandr2
    - libxtst6
    - libasound2
    - libatk1.0-0
    - libcairo-gobject2
    - libcairo2
    - libgtk-3-0
    - libgdk-pixbuf2.0-0
    - libegl1
    - libglu1-mesa
    - libgl1-mesa-dri
    - libgl1-mesa-glx
    - libx11-xcb1
    - libxdamage1
    - libcups2
    - libdrm2
    - libgstreamer-plugins-base1.0-0
    - libgstreamer1.0-0
    - libnspr4
    - libnss3
    - libodbc1
    - libpango-1.0-0
    - libpangocairo-1.0-0
    - libpq5
    - libpulse-mainloop-glib0
    - libpulse0
    - libspeechd2
    - libwayland-client0
    - libwayland-cursor0
    - libwayland-egl1
    - libwayland-server0
    - libxcb-dri3-0
    - libxcb-glx0
    - libxcb-icccm4
    - libxcb-image0
    - libxcb-keysyms1
    - libxcb-randr0
    - libxcb-shape0
    - libxcb-sync1
    - libxcb-util1
    - libxcb-xfixes0
    - libxcb-xinerama0
    - libxcb-xkb1
    - libxkbcommon-x11-0
    - libxkbcommon0
    - libxcb-render-util0
    - libdouble-conversion3
    - libpcre2-16-0
  snapcraft-preload:
    source: https://github.com/sergiusens/snapcraft-preload.git
    plugin: cmake
    cmake-parameters:
      - -DCMAKE_INSTALL_PREFIX=/
    build-packages:
      - on amd64:
        - gcc-multilib
        - g++-multilib
    stage-packages:
      - lib32stdc++6
  changelog:
    source: .
    plugin: dump
    organize:
      CHANGELOG.md: lib/python3.8/site-packages/LogarithmPlotter/util/
    
apps:
  logarithmplotter:
    common-id: eu.ad5001.LogarithmPlotter
    desktop: usr/share/applications/logarithmplotter.desktop
    command: bin/logarithmplotter
    command-chain: 
    #- bin/desktop-launch
    - bin/snapcraft-preload
    - bin/launch-logarithmplotter
    plugs:
    - desktop
    - desktop-legacy
    - wayland
    - x11
    #- gnome-3-38-2004
    - gsettings # Theme access for wayland
    - home # Storing configuration.
    - opengl # Rendering
    - removable-media # Opening files