name: savedesktop
grade: stable
adopt-info: savedesktop
license: GPL-3.0+
icon: flatpak/icons/io.github.vikdevelop.SaveDesktop.svg
base: core24
confinement: strict

plugs:
  dot-config:
    interface: personal-files
    write:
      - $HOME/.config
  dot-local:
    interface: personal-files
    write:
      - $HOME/.local
  dot-themes:
    interface: personal-files
    write:
      - $HOME/.themes
  dot-icons:
    interface: personal-files
    write:
      - $HOME/.icons
  dot-fonts:
    interface: personal-files
    write:
      - $HOME/.fonts
  #DE specific
  dot-xfce4:
    interface: personal-files
    write:
      - $HOME/.xfce4
  dot-cinnamon:
    interface: personal-files
    write:
      - $HOME/.cinnamon

platforms:
  amd64:
    build-on: [amd64]
  arm64:
    build-on: [arm64]
  armhf:
    build-on: [armhf]

layout:
  /usr/share/gvfs:
    bind: $SNAP/usr/share/gvfs

apps:
  savedesktop:
    extensions: [gnome]
    command: usr/bin/savedesktop
    desktop: usr/share/applications/io.github.vikdevelop.SaveDesktop.desktop
    common-id: io.github.vikdevelop.SaveDesktop.desktop
    plugs:
      - home
      - network
      - login-session-control

parts:
  dconf:
    source: https://gitlab.gnome.org/GNOME/dconf.git
    plugin: meson
    meson-parameters:
      - --prefix=/usr
      - -Dbash_completion=false
      - -Dman=false
      - -Dvapi=false
    prime:
      - -usr/lib/systemd
      - -usr/lib/*/pkgconfig
      - -usr/include

  savedesktop:
    source: https://github.com/vikdevelop/SaveDesktop.git
    source-tag: '3.5.4'
    source-depth: 1
    plugin: nil
    override-build: |
      set -eux
      install -Dm755 -t $CRAFT_PART_INSTALL/usr $CRAFT_PART_SRC/src/* 
      install -D -t $CRAFT_PART_INSTALL/usr/share/applications $CRAFT_PART_SRC/flatpak/io.github.vikdevelop.SaveDesktop.desktop
      install -D -t $CRAFT_PART_INSTALL/usr/share/icons/hicolor/scalable/apps $CRAFT_PART_SRC/flatpak/icons/io.github.vikdevelop.SaveDesktop.svg
      install -D -t $CRAFT_PART_INSTALL/usr/share/icons/hicolor/128x128/apps $CRAFT_PART_SRC/flatpak/symbolic-icons/exclamation_mark.png
      install -D -t $CRAFT_PART_INSTALL/usr/share/icons/hicolor/128x128/apps $CRAFT_PART_SRC/flatpak/symbolic-icons/desktop-symbolic.svg
      install -D -t $CRAFT_PART_INSTALL/usr/share/icons/hicolor/128x128/apps $CRAFT_PART_SRC/flatpak/symbolic-icons/list-view.png
      install -D -t $CRAFT_PART_INSTALL/usr/share/icons/hicolor/128x128/apps $CRAFT_PART_SRC/flatpak/symbolic-icons/done.svg
      install -D -t $CRAFT_PART_INSTALL/usr/share/metainfo $CRAFT_PART_SRC/flatpak/io.github.vikdevelop.SaveDesktop.metainfo.xml
      install -D -t $CRAFT_PART_INSTALL/usr/share/glib-2.0/schemas $CRAFT_PART_SRC/flatpak/io.github.vikdevelop.SaveDesktop.gschema.xml
      glib-compile-schemas $CRAFT_PART_INSTALL/usr/share/glib-2.0/schemas
      cp -R $CRAFT_PART_SRC/translations $CRAFT_PART_INSTALL/usr/
      install -Dm755 -t $CRAFT_PART_INSTALL/usr/bin $CRAFT_PART_SRC/savedesktop
    parse-info: [ usr/share/metainfo/io.github.vikdevelop.SaveDesktop.metainfo.xml ]

  deps:
    after: [ dconf, savedesktop ]
    plugin: nil
    stage-packages:
      - wget
      - libnotify-bin
      - zip
      - coreutils
    stage:
      - usr/bin/notify-send
      - usr/bin/wget
      - usr/bin/zip