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

EAPI=8

inherit toolchain-funcs desktop

DESCRIPTION="Custom Minecraft Classic / ClassiCube client written in C from scratch (formerly ClassicalSharp in C#)"
HOMEPAGE="https://classicube.net"
SRC_URI="https://github.com/ClassiCube/ClassiCube/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/ClassiCube-${PV}"

LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="amd64 x86 arm64 arm"

RDEPEND="
    media-libs/libpng:0=
    net-misc/curl
    x11-libs/libX11
    x11-libs/libXi
    virtual/opengl
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"

src_compile() {
    tc-export CC
    emake -j1
}

src_install() {
    exeinto /usr/libexec
    newexe ClassiCube ClassiCube-bin

    cat <<'EOF' > "${T}/ClassiCube"
#!/bin/sh
DIR="${XDG_DATA_HOME:-$HOME/.local/share}/ClassiCube"
mkdir -p "$DIR"
cd "$DIR" || exit 1
exec /usr/libexec/ClassiCube-bin "$@"
EOF

	  dobin "${T}/ClassiCube"

    make_desktop_entry ClassiCube "ClassiCube" classicube "Game;ActionGame"

    if [[ -f misc/CCicon.png ]]; then
        newicon -s 128 misc/CCicon.png classicube.png
    elif [[ -f src/CCicon.png ]]; then
        newicon -s 128 src/CCicon.png classicube.png
    fi
    
    einstalldocs
}

pkg_postinst() {
    elog "You can either start 'ClassiCube' from terminal "
    elog " or launch from application launcher"
}