# SPDX-FileCopyrightText: 2023 Scarlett Moore <sgmoore@kde.org>
#
# SPDX-License-Identifier: CC0-1.0
# ---
name: kalarm
confinement: strict
grade: stable
base: core22
adopt-info: kalarm
apps:
    kalarm:
        # extensions:
        # - kde-neon
        common-id: org.kde.kalarm.desktop
        desktop: usr/share/applications/org.kde.kalarm.desktop
        command: usr/bin/kalarm
        plugs:
            - desktop
            - desktop-legacy
            - opengl
            - wayland
            - x11
            - audio-playback
            - unity7
            - network
            - network-bind
            - akonadi-svc
        command-chain:
            - snap/command-chain/desktop-launch
assumes:
    - snapd2.55.3
compression: lzo
plugs:
    desktop:
        mount-host-font-cache: false
    icon-themes:
        interface: content
        target: $SNAP/data-dir/icons
        default-provider: gtk-common-themes
    sound-themes:
        interface: content
        target: $SNAP/data-dir/sounds
        default-provider: gtk-common-themes
    kf5-5-113-qt-5-15-11-core22:
        content: kf5-5-113-qt-5-15-11-core22-all
        interface: content
        default-provider: kf5-5-113-qt-5-15-11-core22
        target: $SNAP/kf5
    akonadi-svc:
        bus: system
        interface: dbus
        name: org.freedesktop.Akonadi
environment:
    SNAP_DESKTOP_RUNTIME: $SNAP/kf5
    GST_PLUGIN_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer-1.0"
    GST_PLUGIN_SYSTEM_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer-1.0"
    GST_PLUGIN_SCANNER: "$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner"
    QML2_IMPORT_PATH: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml:$SNAP/kf5/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml
hooks:
    configure:
        plugs:
            - desktop
        command-chain:
            - snap/command-chain/hooks-configure-desktop
layout:
    "/usr/lib/$CRAFT_ARCH_TRIPLET/alsa-lib":
        symlink: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/alsa-lib"
    "/usr/share/alsa":
        symlink: "$SNAP/usr/share/alsa"
    /usr/share/X11:
        symlink: $SNAP/kf5/usr/share/X11
slots:
    session-dbus-interface:
        interface: dbus
        name: org.kde.kalarm.kalarm
        bus: session
package-repositories:
    - type: apt
components:
    - main
suites:
    - jammy
key-id: 444DABCF3667D0283F894EDDE6D4736255751E5D
url: http://origin.archive.neon.kde.org/user
key-server: keyserver.ubuntu.com
parts:
    kde-neon:
        source: /snap/snapcraft/current/share/snapcraft/extensions/desktop/kde-neon
        source-type: local
        plugin: make
        make-parameters:
            - PLATFORM_PLUG=kf5-5-113-qt-5-15-11-core22
        build-snaps:
            - kf5-5-113-qt-5-15-11-core22-sdk
        build-environment:
            - &id001
        PATH: /snap/kf5-5-113-qt-5-15-11-core22-sdk/current/usr/bin${PATH:+:$PATH}
            - &id002
        XDG_DATA_DIRS: $CRAFT_STAGE/usr/share:/snap/kf5-5-113-qt-5-15-11-core22-sdk/current/usr/share:/usr/share${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}
            - &id003
        XDG_CONFIG_HOME: $CRAFT_STAGE/etc/xdg:/snap/kf5-5-113-qt-5-15-11-core22-sdk/current/etc/xdg:/etc/xdg${XDG_CONFIG_HOME:+:$XDG_CONFIG_HOME}
            - &id004
        CRAFT_CMAKE_ARGS: -DCMAKE_FIND_ROOT_PATH=/snap/kf5-5-113-qt-5-15-11-core22-sdk/current${CRAFT_CMAKE_ARGS:+:$CRAFT_CMAKE_ARGS}
    kalarm:
        after:
            - kde-neon
        parse-info:
            - usr/share/metainfo/org.kde.kalarm.appdata.xml
        plugin: cmake
        build-packages:
            - kross-dev
            - libassuan-dev
            - libboost-dev
            - libboost-graph-dev
            - libvlc-dev
            - libvlccore-dev
            - libmpv-dev
            - pkg-config
            - xsltproc
            - zlib1g-dev
        build-snaps:
            - akonadi-sdk/edge
        stage-packages:
            - libasound2
            - libasound2-data
            - libasound2-plugins
            - gstreamer1.0-alsa
            - gstreamer1.0-pulseaudio
            - gstreamer1.0-plugins-good
            - gstreamer1.0-plugins-bad
            - gstreamer1.0-plugins-ugly
            - libvlc5
            - libvlccore9
            - libmpv1
            - oxygen-sounds
            - kross
            - libassuan0
            - libboost-graph1.74.0
            - pkg-config
            - xsltproc
            - zlib1g
        stage-snaps:
            - khelpcenter
            - akonadi/edge
        source: .
        source-type: local
        cmake-parameters:
            - "-DKDE_INSTALL_USE_QT_SYS_PATHS=FALSE"
            - "-DCMAKE_INSTALL_PREFIX=/usr"
            - "-DCMAKE_BUILD_TYPE=Release"
            - "-DENABLE_TESTING=OFF"
            - "-DBUILD_TESTING=OFF"
            - "-DKDE_SKIP_TEST_SETTINGS=ON"
            - "-DCMAKE_FIND_ROOT_PATH=$CRAFT_STAGE\\;/snap/kf5-5-113-qt-5-15-11-core22-sdk/current\\;/snap/akonadi-sdk/current"
            - "-DKDE_INSTALL_PLUGINDIR=/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/plugins/"
        prime:
            - "-usr/lib/*/cmake/*"
            - "-usr/include/*"
            - "-usr/share/ECM/*"
            - "-usr/share/man/*"
            - "-usr/share/icons/breeze-dark*"
            - "-usr/bin/X11"
            - "-usr/lib/gcc/$CRAFT_ARCH_TRIPLET/6.0.0"
            - "-usr/lib/aspell/*"
            - "-usr/share/lintian"
        build-environment:
            - id001
            - id002
            - id003
            - id004
            - QML2_IMPORT_PATH: $CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml:/snap/kf5-5-113-qt-5-15-11-core22-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/qt5/qml
    cleanup:
        after:
            - kalarm
        plugin: nil
        override-prime: |
            set -eux
            # Unused libs in linters
