# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit desktop unpacker xdg

DESCRIPTION="Simple, Secure and Magical [Matrix] Client"
HOMEPAGE="https://wizardchat.org"
SRC_URI="https://gitlab.com/api/v4/projects/81897759/packages/generic/wizardchat-desktop/v26.11.0-next.3/WizardChat-26.11.0-next.3.AppImage -> ${P}.AppImage"

LICENSE="AGPL-3+"
SLOT="0"
KEYWORDS="amd64"

RDEPEND="
    dev-libs/nss
    dev-libs/expat
    dev-libs/glib
    media-libs/alsa-lib
    media-libs/mesa
    sys-apps/dbus
    x11-libs/cairo
    x11-libs/gdk-pixbuf
    x11-libs/gtk+:3
    x11-libs/libX11
    x11-libs/libxcb
    x11-libs/libXcomposite
    x11-libs/libXcursor
    x11-libs/libXdamage
    x11-libs/libXext
    x11-libs/libXfixes
    x11-libs/libXi
    x11-libs/libXrandr
    x11-libs/libXrender
    x11-libs/libXtst
    x11-libs/pango
"

S="${WORKDIR}"

src_unpack() {
    cp "${DISTDIR}/${A}" "${S}/wizardchat.AppImage" || die
    chmod +x wizardchat.AppImage || die
    ./wizardchat.AppImage --appimage-extract || die
}

src_install() {
    insinto /opt/wizardchat
    doins -r "${S}/squashfs-root/"*

    local real_bin="/opt/wizardchat/WizardChat"
    fperms +x "${real_bin}"

    dodir /usr/bin
    cat <<-_EOF > "${ED}/usr/bin/wizardchat"
#!/bin/sh
exec ${real_bin} "\$@"
_EOF
    fperms +x /usr/bin/wizardchat

    local desktop_file=$(find "${S}/squashfs-root" -maxdepth 2 -name "*.desktop" | head -n1)
    if [[ -n "${desktop_file}" ]]; then
        sed -i "s|Exec=.*|Exec=/usr/bin/wizardchat|g" "${desktop_file}" || die
        domenu "${desktop_file}"
    fi

    local icon_dir="${S}/squashfs-root/usr/share/icons/hicolor"
    if [[ -d "${icon_dir}" ]]; then
        insinto /usr/share/icons
        doins -r "${icon_dir}"/*
    fi
}

pkg_postinst() {
    xdg_desktop_database_update
}

pkg_postrm() {
    xdg_desktop_database_update
}