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

EAPI=8

inherit go-module

EGIT_COMMIT=276a3efc4336e866e3944359ecd86658d6354eb9
DESCRIPTION="Fast and secure initramfs generator"
HOMEPAGE="https://github.com/anatol/booster"
SRC_URI="https://github.com/anatol/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
         https://git.millerson.name/alex/gentoo-artifacts/releases/download/${P}-vendor/${P}-vendor.tar.xz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"

IUSE="kernel-install installkernel"

DEPEND="kernel-install? (
        || (
            sys-apps/systemd-utils
            sys-apps/systemd
            )
        )
        installkernel? ( sys-kernel/installkernel )
        "
RDEPEND="${DEPEND}"
BDEPEND=""

S="${WORKDIR}/${PN}-${EGIT_COMMIT}"

src_prepare() {
        local PATCHES=(
                "${FILESDIR}/0001-Add-Gentoo-kernel-config-search-path.patch"
        )
        default
}

src_compile() {
    cd ${S}/generator && ego build
    cd ${S}/init && ego build
}

src_install() {
    insinto /etc
    newins "${FILESDIR}/${PN}.yaml" ${PN}.yaml

    if use installkernel; then
      # Install the kernel preinst.d hook
      exeinto /usr/lib/kernel/preinst.d
      newexe "${FILESDIR}/installkernel-52-booster.install" 52-booster.install
    fi
    if use kernel-install; then
      exeinto /usr/lib/kernel/install.d
      newexe "${FILESDIR}/kernel-install-52-booster.install" 52-booster.install
    fi

    exeinto /usr/lib/${PN}
    doexe init/init

    newbin generator/generator ${PN}

    default
}
