name: gnome-weather
adopt-info: gnome-weather
grade: stable
confinement: strict
base: core24

layout:
  /usr/bin/gjs:
    symlink: $SNAP/gnome-platform/usr/bin/gjs

slots:
  # for GtkApplication registration
  gnome-weather:
    interface: dbus
    bus: session
    name: org.gnome.Weather

apps:
  gnome-weather:
    command: usr/share/org.gnome.Weather/org.gnome.Weather
    extensions: [gnome]
    plugs:
      - network
      - network-status
    desktop: usr/share/applications/org.gnome.Weather.desktop
    common-id: org.gnome.Weather
    environment:
      LD_LIBRARY_PATH: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/org.gnome.Weather:$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$SNAP/usr/lib:$SNAP/gnome-platform/usr/lib:$SNAP/gnome-platform/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
      GI_TYPELIB_PATH: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/org.gnome.Weather/girepository-1.0:$SNAP/gnome-platform/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/gjs/girepository-1.0:$SNAP/gnome-platform/usr/lib/girepository-1.0:$SNAP/gnome-platform/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/girepository-1.0

parts:
  gnome-weather:
# ext:updatesnap
    after: [geoclue]
    source: https://gitlab.gnome.org/GNOME/gnome-weather.git
    source-type: git
    source-tag: '47.0'
    source-depth: 1
    plugin: meson
    meson-parameters: [--buildtype=release, --prefix=/snap/gnome-weather/current/usr]
    build-packages: [meson, ninja-build]
    parse-info: [usr/share/metainfo/org.gnome.Weather.appdata.xml]
    organize:
      snap/gnome-weather/current/usr: usr
    override-pull: |
      craftctl default
      craftctl set version=$(git describe --tags --abbrev=10)
      sed -i -e 's|@GJS@|/usr/bin/gjs|g' src/org.gnome.Weather.in
      sed -i -e 's|@GJS@|/usr/bin/gjs|g' src/org.gnome.Weather.BackgroundService.in
      sed -i.bak -e 's|Icon=@APP_ID@$|Icon=snap.gnome-weather.icon|g' data/org.gnome.Weather.desktop.in.in
      sed -i.bak -e 's|Exec=gapplication launch @APP_ID@$|Exec=gnome-weather|g' data/org.gnome.Weather.desktop.in.in
      # Invalid metadata
      sed -i -e 's|<project_license.*||g' data/org.gnome.Weather.appdata.xml.in.in
    override-build: |
      craftctl default
      mkdir -p ${CRAFT_PART_INSTALL}/meta/gui/icons/hicolor/scalable/apps
      cp ../src/data/icons/hicolor/scalable/apps/org.gnome.Weather.svg ${CRAFT_PART_INSTALL}/meta/gui/icons/hicolor/scalable/apps/snap.gnome-weather.icon.svg
    prime:
      - -usr/share/gnome-shell/search-providers
  geoclue:
# ext:updatesnap
    source: https://gitlab.freedesktop.org/geoclue/geoclue.git
    source-type: git
    source-tag: '2.7.1'
    source-depth: 1
    plugin: meson
    meson-parameters: [--prefix=/usr, -Dgtk-doc=false, -D3g-source=false, -Dcdma-source=false, -Dmodem-gps-source=false, -Dnmea-source=false, -Ddemo-agent=false]
    prime:
      - -etc/dbus-1
      - -etc/geoclue
      - -etc/xdg/autostart
      - -lib/systemd/service
      - -usr/include
      - -usr/lib/pkgconfig
      - -usr/lib/*/pkgconfig
      - -usr/share/dbus-1/interfaces      
      - -usr/share/dbus-1/system-services
      - -usr/share/man
      - -usr/share/pkgconfig