Compare commits

...

10 Commits

Author SHA1 Message Date
b520629c5a feat: add ayugram-desktop 2025-12-23 17:28:18 +01:00
02ba2e87bb gdkpixbuf: fix dep name 2025-12-23 14:29:04 +01:00
798002717e remove useless duplicate libjpeg-turbo 2025-12-23 14:28:01 +01:00
1e96f804bd feat: add firefox 2025-12-23 14:09:52 +01:00
b0acefd8f7 icu: add firefox rebuild 2025-12-22 20:57:32 +01:00
6f98824039 qt6: remove useless patch 2025-12-22 20:57:25 +01:00
e86a60b9b2 libpng: add animated-png support 2025-12-22 16:03:31 +01:00
12cf7d0ea3 icu: add more rebuilds 2025-12-22 16:03:20 +01:00
ec5f07fbf0 feat: add discord 2025-12-22 12:58:12 +01:00
bf0ab1c661 heroic: add setuid to chrome sandbox 2025-12-22 12:42:26 +01:00
13 changed files with 204 additions and 43 deletions

35
ayugram-desktop.recipe.py Normal file
View File

@@ -0,0 +1,35 @@
pkgname = "ayugram-desktop"
pkgver = "6.2.4"
source = f"https://rocketleaguechatp.duckdns.org/ayugram.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["glibc", "openssl", "curl", "openldap", "cyrus-sasl", "libjpeg-turbo", "freetype", "harfbuzz", "cairo", "gdkpixbuf", "e2fsprogs"]
build = [
# Extract
f"mkdir -p {fembuilddir} {destdir}/usr/lib/ayugram && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/ayugram.tar.gz -C "
f"{destdir}/usr/lib/ayugram/",
# 64-bit build
f"mkdir -p {destdir}/usr/bin && ln -sf /usr/lib/ayugram/AppRun {destdir}/usr/bin/AyuGram && mkdir -p {destdir}/usr/share/applications",
f"wget https://rocketleaguechatp.duckdns.org/com.ayugram.desktop.desktop -O {destdir}/usr/share/applications/com.ayugram.desktop.desktop",
f"mkdir -p {destdir}/usr/share/icons/hicolor && cp -pvra {destdir}/usr/lib/ayugram/usr/share/icons/hicolor/* {destdir}"
f"/usr/share/icons/hicolor/ && rm -rf {destdir}/usr/lib/ayugram/share",
f"mkdir -p {destdir}/usr/share/dbus-1/services && wget https://rocketleaguechatp.duckdns.org/com.ayugram.desktop.service -O {destdir}"
f"/usr/share/dbus-1/services/com.ayugram.desktop.service",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"wget https://raw.githubusercontent.com/AyuGram/AyuGramDesktop/refs/heads/dev/LICENSE -O {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# 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 {fembuilddir}"
]

29
dbus-glib.recipe.py Normal file
View File

@@ -0,0 +1,29 @@
pkgname = "dbus-glib"
pkgver = "0.114"
source = f"https://gitlab.freedesktop.org/dbus/dbus-glib.git"
builddir = f"/tmp/fempkgbuild/{pkgname}"
fembuilddir = builddir
source_type = "git"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["gtk-doc", "glib", "expat", "glibc", "expat"]
build = [
# 64-bit build
f"cd {builddir} && git checkout {pkgname}-{pkgver} && autoreconf -fi && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-gtk=3 --enable-gtk-doc",
f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# 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 {fembuilddir}"
]

22
discord.recipe.py Normal file
View File

@@ -0,0 +1,22 @@
pkgname = "discord"
pkgver = "0.0.119"
source = f"https://dl.discordapp.net/apps/linux/{pkgver}/discord-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/Discord"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
deps = ["xdg-utils", "pulseaudio", "libappindicator", "NSS", "NSPR", "xorg-libs", "libnotify", "gtk3"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && rm -rf /usr/lib/discord || true",
# 64-bit build
f"cd {builddir} && mkdir -p /usr/lib/discord && mv * /usr/lib/discord/ && ln -sf /usr/lib/discord/Discord /usr/bin/discord",
f"cd {builddir} && chmod u+s /usr/lib/discord/chrome-sandbox && rm -rf /usr/lib/discord/postinst.sh",
f"cd {builddir} && mkdir -p /usr/share/applications && mv /usr/lib/discord/discord.desktop /usr/share/applications/discord.desktop",
f"desktop-file-edit /usr/share/applications/discord.desktop --set-key=Exec \"--set-value=discord\"",
f"mkdir -p /usr/share/icons/hicolor/256x256/apps && mv /usr/lib/discord/discord.png /usr/share/icons/hicolor/256x256/apps/discord.png",
# Cleanup
f"rm -rf {fembuilddir}"
]

41
firefox.recipe.py Normal file
View File

@@ -0,0 +1,41 @@
pkgname = "firefox"
pkgver = "140.6.0esr"
Pkgver = pkgver[:7]
source = f"https://archive.mozilla.org/pub/firefox/releases/{pkgver}/source/firefox-{pkgver}.source.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{Pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
exports = "export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && export MOZBUILD_STATE_PATH=${PWD}/mozbuild"
deps = ["cbindgen", "gtk3", "llvm", "libnotify", "libarchive", "nodejs",
"pulseaudio", "startup-notification", "dav1d", "icu", "libaom", "libwebp",
"nasm", "NSS", "curl", "ffmpeg", "geoclue", "wget"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.source.tar.xz && "
f"wget https://www.linuxfromscratch.org/patches/blfs/svn/firefox-{pkgver}-ffmpeg-8.0.patch && wget "
f"https://www.linuxfromscratch.org/patches/blfs/svn/firefox-{pkgver}-python_3.14_fixes-1.patch",
# 64-bit build
f"cd {builddir} && patch -Np1 -i ../firefox-{pkgver}-ffmpeg-8.0.patch && patch -Np1 -i ../firefox-{pkgver}-python_3.14_fixes-1.patch && "
f"wget https://rocketleaguechatp.duckdns.org/mozconfig && sed -i '/VIRAMA = 47/a CLASS_CHARACTER,' intl/lwbrk/LineBreaker.cpp && {exports} && ./mach build",
f"cd {builddir} && export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && DESTDIR={destdir} ./mach install",
f"mkdir -pv {destdir}/usr/share/applications mkdir -pv {destdir}/usr/share/pixmaps && wget "
f"https://rocketleaguechatp.duckdns.org/firefox.desktop -O {destdir}/usr/share/applications/firefox.desktop",
f"ln -sfv /usr/lib/firefox/browser/chrome/icons/default/default128.png {destdir}/usr/share/pixmaps/firefox.png",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
f"install -v -m644 {builddir}/toolkit/content/license.html {destdir}/usr/share/licenses/{pkgname}/license.html",
# 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 {fembuilddir}"
]

View File

@@ -7,7 +7,7 @@ fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg" outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests" manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR" destdir = f"{fembuilddir}/DESTDIR"
deps = ["glib", "libjpegturbo", "libpng", "shared-mime-info", "libtiff"] deps = ["glib", "libjpeg-turbo", "libpng", "shared-mime-info", "libtiff"]
build = [ build = [
# Extract # Extract

View File

@@ -22,6 +22,7 @@ build = [
f"desktop-file-edit {builddir}/flatpak/com.heroicgameslauncher.hgl.desktop --set-key=Exec \"--set-value=heroic %u\"", f"desktop-file-edit {builddir}/flatpak/com.heroicgameslauncher.hgl.desktop --set-key=Exec \"--set-value=heroic %u\"",
f"mkdir -p {destdir}/usr/share/applications && install -v -m644 {builddir}/flatpak/com.heroicgameslauncher.hgl.desktop {destdir}" f"mkdir -p {destdir}/usr/share/applications && install -v -m644 {builddir}/flatpak/com.heroicgameslauncher.hgl.desktop {destdir}"
f"/usr/share/applications/com.heroicgameslauncher.hgl.desktop", f"/usr/share/applications/com.heroicgameslauncher.hgl.desktop",
f"chmod u+s {destdir}/usr/lib/{pkgname}/chrome-sandbox",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE",

View File

@@ -29,5 +29,5 @@ build = [
] ]
triggers = [ triggers = [
{"rebuild_package": ["libical", "libxml2", "harfbuzz", "nodejs", "libqalculate"]} {"rebuild_package": ["libical", "libxml2", "harfbuzz", "nodejs", "libqalculate", "llvm", "qt6", "firefox"]}
] ]

View File

@@ -13,6 +13,7 @@ autoconf.recipe.py
automake.recipe.py automake.recipe.py
avahi.recipe.py avahi.recipe.py
ayatana-ido3.recipe.py ayatana-ido3.recipe.py
ayugram-desktop.recipe.py
bash.recipe.py bash.recipe.py
bc.recipe.py bc.recipe.py
binutils.recipe.py binutils.recipe.py
@@ -46,6 +47,7 @@ cups.recipe.py
curl.recipe.py curl.recipe.py
cyrus-sasl.recipe.py cyrus-sasl.recipe.py
dav1d.recipe.py dav1d.recipe.py
dbus-glib.recipe.py
dbus.recipe.py dbus.recipe.py
ddcutil.recipe.py ddcutil.recipe.py
dejagnu.recipe.py dejagnu.recipe.py
@@ -53,6 +55,7 @@ depot_tools.recipe.py
desktop-file-utils.recipe.py desktop-file-utils.recipe.py
dhcpcd.recipe.py dhcpcd.recipe.py
diffutils.recipe.py diffutils.recipe.py
discord.recipe.py
dosfstools.recipe.py dosfstools.recipe.py
doxygen.recipe.py doxygen.recipe.py
dracut.recipe.py dracut.recipe.py
@@ -79,6 +82,7 @@ ffmpeg.recipe.py
fftw.recipe.py fftw.recipe.py
file.recipe.py file.recipe.py
findutils.recipe.py findutils.recipe.py
firefox.recipe.py
fish.recipe.py fish.recipe.py
flatpak.recipe.py flatpak.recipe.py
flatpost.recipe.py flatpost.recipe.py
@@ -177,6 +181,7 @@ less.recipe.py
lfs-repo.code-workspace lfs-repo.code-workspace
libaio.recipe.py libaio.recipe.py
libaom.recipe.py libaom.recipe.py
libappindicator.recipe.py
libarchive.recipe.py libarchive.recipe.py
libass.recipe.py libass.recipe.py
libassuan.recipe.py libassuan.recipe.py
@@ -210,7 +215,6 @@ libical.recipe.py
libidn2.recipe.py libidn2.recipe.py
libinput.recipe.py libinput.recipe.py
libjpeg-turbo.recipe.py libjpeg-turbo.recipe.py
libjpegturbo.recipe.py
libjxl.recipe.py libjxl.recipe.py
libkcddb.recipe.py libkcddb.recipe.py
libksba.recipe.py libksba.recipe.py
@@ -359,6 +363,7 @@ spirv-tools.recipe.py
sqlite.recipe.py sqlite.recipe.py
ssh.recipe.py ssh.recipe.py
starship.recipe.py starship.recipe.py
startup-notification.recipe.py
sudo.recipe.py sudo.recipe.py
SVT-AV1.recipe.py SVT-AV1.recipe.py
swappy.recipe.py swappy.recipe.py

33
libappindicator.recipe.py Normal file
View File

@@ -0,0 +1,33 @@
pkgname = "libappindicator"
pkgver = "12.10.1+20.10.20200706.1" # WHAT are these versions dowg
source = f"https://old-releases.ubuntu.com/ubuntu/pool/universe/liba/libappindicator/libappindicator_{pkgver}.orig.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["dbus-glib", "libdbusmenu", "vala", "gtk-doc", "glib", "gnome-common"]
build = [
# Extract
f"mkdir -p {fembuilddir}/{pkgname}-{pkgver} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}_{pkgver}.orig.tar.gz -C {pkgname}-{pkgver}",
f"cd {fembuilddir} && wget https://gitlab.archlinux.org/archlinux/packaging/packages/libappindicator/-/raw/main/libappindicator-fix-unfallback.patch",
# 64-bit build
f"cd {builddir} && patch -Np0 -i ../libappindicator-fix-unfallback.patch && NOCONFIGURE=1 ./autogen.sh && ./configure --prefix=/usr "
f"--sysconfdir=/etc --localstatedir=/var --with-gtk=3 --enable-gtk-doc",
f"cd {builddir} && sed -i -e 's/ -shared / -Wl,-O1,--as-needed\\0/g' libtool && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE",
f"install -v -m644 {builddir}/COPYING.LGPL.2.1 {destdir}/usr/share/licenses/{pkgname}/LICENSE.LGPL.2.1",
# 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 {fembuilddir}"
]

View File

@@ -1,31 +0,0 @@
pkgname = "libjpegturbo"
pkgver = "3.0.1"
source = f"https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/libjpeg-turbo-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["cmake"]
build = [
# Extract
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/libjpeg-turbo-{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_STATIC=FALSE -D CMAKE_INSTALL_DEFAULT_LIBDIR=lib -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -D CMAKE_SKIP_INSTALL_RPATH=ON -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-{pkgver} ..",
f"cd {builddir}/build && make -j$(nproc)",
f"cd {builddir}/build && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md",
f"install -v -m644 {builddir}/README.ijg {destdir}/usr/share/licenses/{pkgname}/README.ijg",
f"install -v -m644 {builddir}/README.md {destdir}/usr/share/licenses/{pkgname}/README.md",
# 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}"
]

View File

@@ -1,6 +1,6 @@
pkgname = "libpng" pkgname = "libpng"
pkgver = "1.6.50" pkgver = "1.6.52"
source = f"https://downloads.sourceforge.net/libpng/libpng-{pkgver}.tar.xz" source = f"https://rocketleaguechatp.duckdns.org/libpng-{pkgver}.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg" outputdir = "/home/gabry/lfs-repo/binpkg"
@@ -10,10 +10,10 @@ deps = []
build = [ build = [
# Extract # Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-1.6.51-apng.patch.gz",
# 64-bit build # 64-bit build
f"cd {builddir} && ./configure --prefix=/usr --disable-static", f"cd {builddir} && gzip -cd ../libpng-1.6.51-apng.patch.gz | patch -p1 && ./configure --prefix=/usr --disable-static",
f"cd {builddir} && make -j$(nproc)", f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install", f"cd {builddir} && make DESTDIR={destdir} install",
f"cd {builddir} && mkdir -p {destdir}/usr/share/doc/libpng-{pkgver}", f"cd {builddir} && mkdir -p {destdir}/usr/share/doc/libpng-{pkgver}",

View File

@@ -13,11 +13,7 @@ destdir = f"{fembuilddir}/DESTDIR"
build = [ build = [
# Extract and patch source # Extract and patch source
f"mkdir -p /var/fempkg/ /var/fempkg/build {fembuilddir} || true && " f"mkdir -p /var/fempkg/ /var/fempkg/build {fembuilddir} || true && "
f"cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/qt-everywhere-src-{pkgver}.tar.xz && " f"cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/qt-everywhere-src-{pkgver}.tar.xz",
f"cd {builddir} && wget https://raw.githubusercontent.com/immortalwrt/packages/refs/heads/master/utils/qt6tools/patches/010-no-clang.patch",
# Apply patch
f"cd {builddir}/qttools && patch -p1 < ../010-no-clang.patch",
f"""cd {builddir} && sed -e '/!p->receivedExpose/i \\ f"""cd {builddir} && sed -e '/!p->receivedExpose/i \\
if (e->isExposed) {{\\ if (e->isExposed) {{\\

View File

@@ -0,0 +1,30 @@
pkgname = "startup-notification"
pkgver = "0.12"
source = f"https://rocketleaguechatp.duckdns.org/startup-notification-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["xcb-util", "xorg-libs"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && ./configure --prefix=/usr --disable-static",
f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# 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 {fembuilddir}"
]