# SPDX-FileCopyrightText: 2024 Scarlett Moore <sgmoore@kde.org>
#
# SPDX-License-Identifier: CC0-1.0
---
name: krecorder
confinement: strict
grade: stable
base: core22
adopt-info: krecorder
apps:
  krecorder:
    extensions:
      - kde-neon-6
    common-id: org.kde.krecorder
    desktop: usr/share/applications/org.kde.krecorder.desktop
    command: usr/bin/krecorder
    slots:
    - mpris
    plugs:
      - home
      - audio-record
environment:
  ALSA_CONFIG_PATH: "/snap/kf6-core22/current/etc/asound.conf"
layout:
  /usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/alsa-lib:
    bind: $SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/alsa-lib
slots:
  session-dbus-interface:
    interface: dbus
    name: org.kde.krecorder
    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:
  krecorder:
    parse-info:
      - usr/share/metainfo/org.kde.krecorder.appdata.xml
    plugin: cmake
    source: .
    source-type: local
    build-packages:
      - libpulse0
    stage-packages:
      - libpulse0
      - libasound2
      - libasound2-plugins
      - libasound2-data
    cmake-parameters:
      - -DCMAKE_INSTALL_PREFIX=/usr
      - -DCMAKE_BUILD_TYPE=Release
      - -DQT_MAJOR_VERSION=6
      - -DBUILD_WITH_QT6=ON
      - -DBUILD_TESTING=OFF
      - -DCMAKE_INSTALL_SYSCONFDIR=/etc
      - -DCMAKE_INSTALL_LOCALSTATEDIR=/var
      - -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON
      - -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF
      - -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON
      - -DCMAKE_INSTALL_RUNSTATEDIR=/run
      - -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON
      - -DCMAKE_VERBOSE_MAKEFILE=ON
      - -DCMAKE_INSTALL_LIBDIR=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
      - --log-level=STATUS
      - -DCMAKE_LIBRARY_PATH=lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR
    prime:
      - -usr/lib/*/cmake/*
      - -usr/include/*
      - -usr/share/ECM/*
      - -usr/share/man/*
      - -usr/bin/X11
      - -usr/lib/gcc/$CRAFT_ARCH_TRIPLET_BUILD_FOR/6.0.0
      - -usr/lib/aspell/*
      - -usr/share/lintian
  cleanup:
    after:
      - krecorder
    plugin: nil
    build-snaps:
      - core22
      - kf6-core22
      - qt-common-themes
    override-prime: |
      set -eux
      for snap in "core22" "kf6-core22" "qt-common-themes"; do
          cd "/snap/$snap/current" && find . -type f,l -exec rm -rf "${CRAFT_PRIME}/{}" \;
      done

