From ec5f07fbf0f23c849cb41cb4aea93b87d0373dfe Mon Sep 17 00:00:00 2001 From: gabry Date: Mon, 22 Dec 2025 12:58:12 +0100 Subject: [PATCH] feat: add discord --- dbus-glib.recipe.py | 29 +++++++++++++++++++++++++++++ discord.recipe.py | 22 ++++++++++++++++++++++ index.txt | 3 +++ libappindicator.recipe.py | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 dbus-glib.recipe.py create mode 100644 discord.recipe.py create mode 100644 libappindicator.recipe.py diff --git a/dbus-glib.recipe.py b/dbus-glib.recipe.py new file mode 100644 index 0000000..ae550e3 --- /dev/null +++ b/dbus-glib.recipe.py @@ -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}" +] diff --git a/discord.recipe.py b/discord.recipe.py new file mode 100644 index 0000000..e5b3c18 --- /dev/null +++ b/discord.recipe.py @@ -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}" +] diff --git a/index.txt b/index.txt index 8690e19..a7c88d7 100644 --- a/index.txt +++ b/index.txt @@ -46,6 +46,7 @@ cups.recipe.py curl.recipe.py cyrus-sasl.recipe.py dav1d.recipe.py +dbus-glib.recipe.py dbus.recipe.py ddcutil.recipe.py dejagnu.recipe.py @@ -53,6 +54,7 @@ depot_tools.recipe.py desktop-file-utils.recipe.py dhcpcd.recipe.py diffutils.recipe.py +discord.recipe.py dosfstools.recipe.py doxygen.recipe.py dracut.recipe.py @@ -177,6 +179,7 @@ less.recipe.py lfs-repo.code-workspace libaio.recipe.py libaom.recipe.py +libappindicator.recipe.py libarchive.recipe.py libass.recipe.py libassuan.recipe.py diff --git a/libappindicator.recipe.py b/libappindicator.recipe.py new file mode 100644 index 0000000..79cd845 --- /dev/null +++ b/libappindicator.recipe.py @@ -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}" +]