pkgname =  "gpg"
pkgver  = "2.5.16" 
source  = f"https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-{pkgver}.tar.bz2"
builddir = f"/tmp/fempkg/build/{pkgname}/gnupg-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
destdir = f"{fembuilddir}/DESTDIR"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"

# Build steps
build = [
    # Extract
    f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gnupg-{pkgver}.tar.bz2",

    # Configure
    f"cd {builddir} && mkdir -p build && cd build && ../configure "
    f"--prefix=/usr "
    f"--localstatedir=/var "
    f"--sysconfdir=/etc "
    f"--docdir=/usr/share/doc/gnupg-{pkgver}",

    # Build
    f"cd {builddir}/build && make -j$(nproc)",

    # Install into DESTDIR
    f"cd {builddir}/build && make DESTDIR={destdir} install",

    # Install license files into DESTDIR
    f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
    f"cp -pv {builddir}/COPYING* {destdir}/usr/share/licenses/{pkgname}/",

    # Make tarball + manifests
    f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
    f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",

    # Cleanup
    f"rm -rf {builddir} {fembuilddir}"
]
