Compare commits

..

81 Commits

Author SHA1 Message Date
618d15135a update: discord to 0.0.126 2026-02-24 21:16:10 +01:00
2bf01da4fb linux: update to 6.19.3 (finally) 2026-02-21 16:16:50 +01:00
858344fae5 python: ! 2026-02-21 16:16:35 +01:00
bc44f59e1b update: discord to 0.0.125 2026-02-18 07:42:14 +01:00
257fd349c2 pipewire: use rocketleaguechatp 2026-02-15 17:27:00 +01:00
ebaac6d22c libinput: use rocketleaguechatp 2026-02-15 16:33:24 +01:00
bf5187346d nvidia: switch to open kerrnel drivers 2026-02-15 16:33:14 +01:00
3b2f9295ae discord: update to 0.0.124 2026-02-10 14:45:02 +01:00
39b1672655 qemu: add mipsel target 2026-02-03 12:22:33 +01:00
e66f1543ae fix: polkit duktape dep name 2026-02-03 12:21:53 +01:00
408f0b1622 libqmi: switch to self-hosted tarball 2026-02-03 12:21:34 +01:00
e125ad823e libmbim: switch to self-hosted tarball 2026-02-03 12:21:18 +01:00
e8287c47df update: discord to 0.0.123 2026-02-03 12:21:01 +01:00
1a259ad97b fix: ayugram-desktop 2026-02-03 12:20:44 +01:00
0bb6cd7044 update: linux to 6.18.8 2026-02-03 12:20:33 +01:00
cc2717c4e0 feat: add update-desktop-database to vscodium 2026-01-28 19:31:54 +01:00
2045e60311 avahi: fix sed patch 2026-01-28 18:58:58 +01:00
fe541b6e3c update: the entire repo 2026-01-28 17:53:44 +01:00
e1e1487d10 update: discord 2026-01-27 09:57:53 +01:00
036d8c7edb add some update-desktop-database 2026-01-26 15:15:47 +01:00
b60a87f1cc update: discord 2026-01-23 16:58:50 +01:00
56726a6ae9 update: linux 2026-01-23 16:58:42 +01:00
619e0c179a nvidia: forgot to update kernel ver 2026-01-22 18:46:58 +01:00
dd7853e8d2 linux: noi facciamo la pappa 2026-01-22 18:30:18 +01:00
0755a4e853 rust: idk i forgot to committ 2026-01-22 18:29:31 +01:00
0f9fa2f17a feat add sof-firmware 2026-01-16 15:01:14 +01:00
224bff3d59 discordia: add update-desktop-database 2026-01-16 14:21:38 +01:00
6a87775cf4 feat: update discord 2026-01-15 15:47:53 +01:00
95bacc2a63 update and fix 2026-01-14 17:18:56 +01:00
373322540b browsers: add update-desktop-database 2026-01-12 16:09:17 +01:00
8d359f1e89 update some laughs 2026-01-11 13:09:57 +01:00
6f9887ff17 updated linux to 6.18.3 2026-01-03 10:35:54 +01:00
474ff212ee boost: install b2 build system 2026-01-03 10:35:54 +01:00
766ed58fb1 s/2025/2026/
Signed-off-by: Gabriel Di Martino <gabrys_world13@proton.me>
2026-01-01 09:55:38 +01:00
afe1f12fc4 oops i forgot to commit 2025-12-31 22:30:08 +01:00
bd91c01d76 obs: add vlc support 2025-12-31 22:30:08 +01:00
3171b43fb0 python: add libpwquality rebuild 2025-12-31 22:30:08 +01:00
76ae03785c icu: add boost rebuild 2025-12-31 22:30:08 +01:00
cb7511a0c3 appstream: use my url since freedesktop gives 418 again :p 2025-12-31 22:30:08 +01:00
4d825be5a8 appstream: add -qt=true for plasma discover 2025-12-31 22:30:08 +01:00
838d94a62a python3: add some pypi packges for plasma 2025-12-31 22:30:08 +01:00
ca50c5cdec Merge pull request 'recipe: add qemu and virglrenderer' (#4) from alerkyt/fempkg_recipes:qemuandvirgl into main
Reviewed-on: #4
2025-12-24 15:20:28 +01:00
5ddeb25b4d qemu and virglrenderer add 2025-12-24 15:17:33 +01:00
e8aee09f53 feat: add file-roller 2025-12-24 13:32:27 +01:00
8a01b427cd feat : add obs-studio 2025-12-24 13:26:46 +01:00
dcbd17c66c feat: add vscodium 2025-12-24 13:25:11 +01:00
c0ad59033c abseil-cpp: remove useless space 2025-12-24 10:55:39 +01:00
1384e0a46f feat: low effort adb 2025-12-23 23:10:18 +01:00
c4cc0244bd feat: add nautilus 2025-12-23 22:35:04 +01:00
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
af3c5949bd feat: add kde connect 2025-12-22 11:36:46 +01:00
d5fe6b8c96 qt6: add some rebuilds 2025-12-22 08:56:01 +01:00
cd7effb54c qt6t: fix /opt bombs 2025-12-22 08:54:58 +01:00
0b92bd1482 feat: add nodejs 2025-12-21 18:21:19 +01:00
51f5415450 feat: add heroic games launcher 2025-12-21 18:20:20 +01:00
fa32490431 nvidia: download just pappalaugh cuz if no nvidia why download full source 2025-12-21 09:40:53 +01:00
2cb9caabf6 linux: auto remake grub config 2025-12-21 09:38:23 +01:00
69d8e596ad feat: add a useless pnpm package which just installs it with npm 2025-12-20 20:21:22 +01:00
328894810d cups: fix tmp & add gitignore 2025-12-20 20:15:11 +01:00
30ff5d01c2 feat: add electron and cups 2025-12-20 20:08:28 +01:00
6d0a849fe4 feat: add gpu-screen-recorder-gtk and its 3000 dependencies 2025-12-19 21:28:13 +01:00
21b9340ac0 update linux and nvidia 2025-12-19 13:54:27 +01:00
413143e3a5 where did this even come from 2025-12-19 13:54:10 +01:00
64556ac26a ffmpeg: add nvidia stuff 2025-12-19 13:53:50 +01:00
cfd8ef9b3c feat: add librewolf 2025-12-18 21:31:07 +01:00
bb1e23e8de hypr: add some plugins 2025-12-18 16:47:13 +01:00
a38f7bc107 hypr: smol notice for me 2025-12-18 16:11:38 +01:00
4a3f90633b hypr: remove udis86 as not needed by working url 2025-12-18 15:50:20 +01:00
c4e6285eb4 unknown final boss 2025-12-18 14:35:07 +01:00
cb419eeaca hypr: move muparse dep to hyprland-libs 2025-12-18 13:47:39 +01:00
99ad9b1dae hyprland: add muparser as a dep 2025-12-18 13:43:06 +01:00
d80f12aabe feat: add muparser 2025-12-18 13:42:56 +01:00
195 changed files with 3104 additions and 294 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
index.txt
lfs-repo.code-workspace

View File

@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2025 Gabriel di martino Copyright (c) 2026 Gabriel di martino
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including associated documentation files (the "Software"), to deal in the Software without restriction, including

View File

@@ -1,5 +1,5 @@
pkgname = "LVM2" pkgname = "LVM2"
pkgver = "2.03.37" pkgver = "2.03.38"
source = f"https://sourceware.org/ftp/lvm2/LVM2.{pkgver}.tgz" source = f"https://sourceware.org/ftp/lvm2/LVM2.{pkgver}.tgz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "Linux-PAM" pkgname = "Linux-PAM"
pkgver = "1.7.1" pkgver = "1.7.2"
source = f"https://github.com/linux-pam/linux-pam/releases/download/v{pkgver}/Linux-PAM-{pkgver}.tar.xz" source = f"https://github.com/linux-pam/linux-pam/releases/download/v{pkgver}/Linux-PAM-{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}"

View File

@@ -1,6 +1,6 @@
pkgname = "NSS" pkgname = "NSS"
pkgver = "3.119" # TODO just change the number in url pkgver = "3.120" # TODO just change the number in url
source = f"https://archive.mozilla.org/pub/security/nss/releases/NSS_3_119_RTM/src/nss-{pkgver}.tar.gz" source = f"https://archive.mozilla.org/pub/security/nss/releases/NSS_3_120_RTM/src/nss-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/nss-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/nss-{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"

View File

@@ -1,5 +1,5 @@
pkgname = "NetworkManager" pkgname = "NetworkManager"
pkgver = "1.54.2" pkgver = "1.54.3"
source = f"https://rocketleaguechatp.duckdns.org/NetworkManager-{pkgver}.tar.xz" source = f"https://rocketleaguechatp.duckdns.org/NetworkManager-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "SVT-AV1" pkgname = "SVT-AV1"
pkgver = "3.1.2" pkgver = "4.0.0"
source = f"https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v{pkgver}/SVT-AV1-v{pkgver}.tar.gz" source = f"https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v{pkgver}/SVT-AV1-v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-v{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-v{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"

View File

@@ -1,5 +1,5 @@
pkgname = "abseil-cpp" pkgname = "abseil-cpp"
pkgver = "20250814.1" pkgver = "20260107.0"
source = f"https://github.com/abseil/abseil-cpp/releases/download/{pkgver}/abseil-cpp-{pkgver}.tar.gz" source = f"https://github.com/abseil/abseil-cpp/releases/download/{pkgver}/abseil-cpp-{pkgver}.tar.gz"
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}"
@@ -14,7 +14,9 @@ build = [
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
# 64-bit build # 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D ABSL_PROPAGATE_CXX_STD=ON -D BUILD_SHARED_LIBS=ON -G Ninja ..", f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D ABSL_PROPAGATE_CXX_STD=ON "
f"-D BUILD_SHARED_LIBS=ON -G Ninja ..",
f"cd {builddir}/build && ninja", f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install", f"cd {builddir}/build && DESTDIR={destdir} ninja install",

View File

@@ -1,5 +1,5 @@
pkgname = "alsa-lib" pkgname = "alsa-lib"
pkgver = "1.2.14" pkgver = "1.2.15.3"
source = f"https://www.alsa-project.org/files/pub/lib/alsa-lib-{pkgver}.tar.bz2" source = f"https://www.alsa-project.org/files/pub/lib/alsa-lib-{pkgver}.tar.bz2"
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}"

31
alsa-plugins.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "alsa-plugins"
pkgver = "1.2.12"
source = f"https://www.alsa-project.org/files/pub/plugins/alsa-plugins-{pkgver}.tar.bz2"
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 = ["alsa-lib", "ffmpeg", "pulseaudio"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2",
# 64-bit build
f"cd {builddir} && ./configure --sysconfdir=/etc",
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",
f"install -v -m644 {builddir}/COPYING.GPL {destdir}/usr/share/licenses/{pkgname}/LICENSE.GPL",
# 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}"
]

14
android-udev.recipe.py Normal file
View File

@@ -0,0 +1,14 @@
pkgname = "android-udev"
pkgver = "2.0"
source = f"https://rocketleaguechatp.duckdns.org/pappalaugh.jpg"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
deps = ["udev"]
build = [
f"wget https://raw.githubusercontent.com/M0Rf30/android-udev-rules/refs/heads/main/51-android.rules -O /usr/lib/udev/rules.d/51-android.rules",
]
triggers = [
f"groupadd adbusers || true && usermod -aG adbusers $(cat /var/lib/fempkg/username) || true"
]

View File

@@ -1,6 +1,6 @@
pkgname = "appstream" pkgname = "appstream"
pkgver = "1.1.1" pkgver = "1.1.1"
source = f"https://www.freedesktop.org/software/appstream/releases/AppStream-{pkgver}.tar.xz" source = f"https://rocketleaguechatp.duckdns.org/AppStream-{pkgver}.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}/AppStream-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/AppStream-{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"
@@ -14,7 +14,7 @@ build = [
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/AppStream-{pkgver}.tar.xz", f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/AppStream-{pkgver}.tar.xz",
# 64-bit build # 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D apidocs=false -D stemming=false ..", f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D apidocs=false -D stemming=false -D qt=true ..",
f"cd {builddir}/build && ninja", f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/appstream{{,-1.1.1}}", f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/appstream{{,-1.1.1}}",

View File

@@ -1,5 +1,5 @@
pkgname = "atspi2core" pkgname = "atspi2core"
pkgver = "2.58.2" pkgver = "2.58.3"
Pkgver = pkgver[:4] Pkgver = pkgver[:4]
source = f"https://download.gnome.org/sources/at-spi2-core/{Pkgver}/at-spi2-core-{pkgver}.tar.xz" source = f"https://download.gnome.org/sources/at-spi2-core/{Pkgver}/at-spi2-core-{pkgver}.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}/at-spi2-core-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/at-spi2-core-{pkgver}"

View File

@@ -14,9 +14,15 @@ build = [
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && wget https://www.linuxfromscratch.org/patches/blfs/svn/avahi-{pkgver}-ipv6_race_condition_fix-1.patch", f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && wget https://www.linuxfromscratch.org/patches/blfs/svn/avahi-{pkgver}-ipv6_race_condition_fix-1.patch",
# 64-bit build # 64-bit build
f"cd {builddir} && patch -Np1 -i ../avahi-{pkgver}-ipv6_race_condition_fix-1.patch && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --disable-libevent --disable-mono --disable-monodoc --disable-python --disable-qt3 --disable-qt4 --disable-qt5 --enable-core-docs --with-distro=none --with-systemdsystemunitdir=no --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket'", f"cd {builddir} && patch -Np1 -i ../avahi-{pkgver}-ipv6_race_condition_fix-1.patch && "
f"sed -i '426a if (events & AVAHI_WATCH_HUP) {{ client_free(c); return; }}' avahi-daemon/simple-protocol.c && ./configure --prefix=/usr "
f"--sysconfdir=/etc --localstatedir=/var --disable-static --disable-libevent --disable-mono --disable-monodoc --disable-python "
f"--disable-qt3 --disable-qt4 --disable-qt5 --enable-core-docs --with-distro=none --with-systemdsystemunitdir=no "
f"--with-dbus-system-address='unix:path=/run/dbus/system_bus_socket'",
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",
# patch for nss-mdns which references this socket in this location
f"mkdir -p {destdir}/usr/var/run/avahi-daemon && ln -sf /run/avahi-daemon/socket {destdir}/usr/var/run/avahi-daemon/socket",
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}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE", f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",

30
ayatana-ido3.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "ayatana-ido3"
pkgver = "0.10.4"
source = f"https://github.com/AyatanaIndicators/ayatana-ido/archive/refs/tags/{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/ayatana-ido-{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 -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -G Ninja ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
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 {fembuilddir}"
]

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

@@ -0,0 +1,39 @@
pkgname = "ayugram-desktop"
pkgver = "6.3.10"
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", "xorg-libs", "glib", "freetype", "fontconfig"]
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/usr/bin/AyuGram {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}"
]
triggers = [
f"update-desktop-database"
]

View File

@@ -1,5 +1,5 @@
pkgname = "bluez" pkgname = "bluez"
pkgver = "5.84" pkgver = "5.85"
source = f"https://www.kernel.org/pub/linux/bluetooth/bluez-{pkgver}.tar.xz" source = f"https://www.kernel.org/pub/linux/bluetooth/bluez-{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}"
@@ -19,6 +19,7 @@ build = [
f"cd {builddir} && make DESTDIR={destdir} install && install -d -m 755 {destdir}/usr/sbin && ln -svf ../libexec/bluetooth/bluetoothd " f"cd {builddir} && make DESTDIR={destdir} install && install -d -m 755 {destdir}/usr/sbin && ln -svf ../libexec/bluetooth/bluetoothd "
f"{destdir}/usr/sbin && install -v -dm755 {destdir}/etc/bluetooth && install -v -m644 src/main.conf {destdir}/etc/bluetooth/main.conf &&" f"{destdir}/usr/sbin && install -v -dm755 {destdir}/etc/bluetooth && install -v -m644 src/main.conf {destdir}/etc/bluetooth/main.conf &&"
f"install -d -m 755 {destdir}/usr/share/dbus-1/services && install -m644 ./obexd/src/org.bluez.obex.service {destdir}/usr/share/dbus-1/services", f"install -d -m 755 {destdir}/usr/share/dbus-1/services && install -m644 ./obexd/src/org.bluez.obex.service {destdir}/usr/share/dbus-1/services",
f"ln -sf /usr/libexec/bluetooth/bluetoothd {destdir}/usr/sbin/bluetoothd",
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.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB",

32
boost.recipe.py Normal file
View File

@@ -0,0 +1,32 @@
pkgname = "boost"
pkgver = "1.90.0"
source = f"https://github.com/boostorg/boost/releases/download/boost-{pkgver}/boost-{pkgver}-b2-nodocs.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"
deps = ["which", "icu"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}-b2-nodocs.tar.xz",
# 64-bit build
f"cd {builddir} && ./bootstrap.sh --prefix=/usr --with-python=python3",
f"cd {builddir} && ./b2 stage -j$(nproc) threading=multi link=shared",
f"cd {builddir} && DESTDIR={destdir} ./b2 install threading=multi link=shared --prefix={destdir}/usr",
f"mkdir -pv {destdir}/usr/bin && cp -vr {builddir}/b2 {destdir}/usr/bin/b2 && chmod +x {destdir}/usr/bin/b2",
f"mkdir -p {destdir}/usr/share/b2 && cp -vr {builddir}/tools/build/src/* {destdir}/usr/share/b2/",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE_1_0.txt {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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "btop" pkgname = "btop"
pkgver = "1.4.5" pkgver = "1.4.6"
source = f"https://github.com/aristocratos/btop/archive/v{pkgver}/btop-{pkgver}.tar.gz" source = f"https://github.com/aristocratos/btop/archive/v{pkgver}/btop-{pkgver}.tar.gz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "c-ares" pkgname = "c-ares"
pkgver = "1.34.5" pkgver = "1.34.6"
source = f"https://github.com/c-ares/c-ares/releases/download/v{pkgver}/c-ares-{pkgver}.tar.gz" source = f"https://github.com/c-ares/c-ares/releases/download/v{pkgver}/c-ares-{pkgver}.tar.gz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "caelestia-cli" pkgname = "caelestia-cli"
pkgver = "1.0.1" pkgver = "1.0.2"
source = f"https://github.com/caelestia-dots/cli.git" source = f"https://github.com/caelestia-dots/cli.git"
builddir = f"/tmp/fempkgbuild/cli" builddir = f"/tmp/fempkgbuild/cli"
source_type = "git" source_type = "git"

View File

@@ -1,5 +1,5 @@
pkgname = "caelestia-shell" pkgname = "caelestia-shell"
pkgver = "1.3.4" pkgver = "1.4.1"
qtver = "6.10.1" qtver = "6.10.1"
source = f"https://github.com/caelestia-dots/shell.git" source = f"https://github.com/caelestia-dots/shell.git"
source_type = "git" source_type = "git"
@@ -9,7 +9,9 @@ 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 = ["quickshell", "caelestia-cli", "ddcutil", "brightnessctl", "cava", "NetworkManager", "libcava", "pipewire", "lm-sensors", "fish", "aubio", "glibc", "qt6", "material-design-icons", "jetbrainsmono-nerd", "libqalculate"] deps = ["quickshell", "caelestia-cli", "ddcutil", "brightnessctl", "cava", "NetworkManager",
"libcava", "pipewire", "lm-sensors", "fish", "aubio", "glibc", "qt6", "material-design-icons",
"jetbrainsmono-nerd", "libqalculate", "gammastep"]
build = [ build = [

View File

@@ -1,30 +0,0 @@
pkgname = "caelestia"
pkgver = "1.0"
source = "https://github.com/caelestia-dots/caelestia.git"
source_type = "git"
builddir = f"/tmp/fempkgbuild/{pkgname}"
deps = [
"caelestia-shell", "inotify-tools", "hyprland",
"xdg-desktop-portal-hyprland", "xdg-desktop-portal", "hyprpicker",
"cliphist", "btop", "fish", "fastfetch", "starship", "eza",
"qt6ct", "papirus-icon-theme", "adw-gtk3-theme"
]
# Read the username from /var/lib/fempkg/username
with open("/var/lib/fempkg/username") as f:
username = f.read().strip()
build = [
# Make sure the target directory exists
f"su {username} -c 'mkdir -p ~/.local/share/caelestia'",
# If repo exists, just git pull; otherwise clone it
f"su {username} -c 'if [ -d ~/.local/share/caelestia/.git ]; "
"then cd ~/.local/share/caelestia && git pull; "
"else git clone {source} ~/.local/share/caelestia; fi'",
f"su {username} -c 'sed -i.bak \"s/^\\s*utc_time_offset\\s*=\\s*\\\"local\\\"/utc_time_offset = \\\"+2\\\"/\" ~/.config/starship.toml' && sed -i '/^bind = Super+Shift, S, global, caelestia:screenshotFreeze/d' ~/.config/hypr/hyprland/keybinds.conf"
# Cleanup builddir (optional)
f"rm -rf {builddir}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "cargo-c" pkgname = "cargo-c"
pkgver = "0.10.18" pkgver = "0.10.19"
source = f"https://github.com/lu-zero/cargo-c/archive/v{pkgver}/cargo-c-{pkgver}.tar.gz" source = f"https://github.com/lu-zero/cargo-c/archive/v{pkgver}/cargo-c-{pkgver}.tar.gz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "cmake" pkgname = "cmake"
pkgver = "4.2.1" pkgver = "4.2.2"
Pkgver = pkgver[:3] # :3 Pkgver = pkgver[:3] # :3
source = f"https://cmake.org/files/v{Pkgver}/cmake-{pkgver}.tar.gz" source = f"https://cmake.org/files/v{Pkgver}/cmake-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"

41
cracklib.recipe.py Normal file
View File

@@ -0,0 +1,41 @@
pkgname = "cracklib"
pkgver = "2.10.3"
source = f"https://github.com/cracklib/cracklib/releases/download/v{pkgver}/cracklib-{pkgver}.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"
deps = []
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget "
f"https://github.com/cracklib/cracklib/releases/download/v{pkgver}/cracklib-words-{pkgver}.xz",
# 64-bit build
f"cd {builddir} && ./configure --prefix=/usr --disable-static --with-default-dict=/usr/lib/cracklib/pw_dict",
f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install",
# install dictionary
f"mkdir -p {destdir}/usr/share/dict && xzcat ../cracklib-words-{pkgver}.xz > {destdir}/usr/share/dict/cracklib-words && "
f"ln -v -sf cracklib-words {destdir}/usr/share/dict/words && echo $(hostname) >> {destdir}/usr/share/dict/cracklib-extra-words",
f"install -v -m755 -d {destdir}/usr/lib/cracklib",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/COPYING.LIB {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}"
]
triggers = [
f"create-cracklib-dict /usr/share/dict/cracklib-words /usr/share/dict/cracklib-extra-words",
]

View File

@@ -1,5 +1,5 @@
pkgname = "cryptsetup" pkgname = "cryptsetup"
pkgver = "2.8.1" pkgver = "2.8.3"
source = f"https://www.kernel.org/pub/linux/utils/cryptsetup/v2.8/cryptsetup-{pkgver}.tar.xz" source = f"https://www.kernel.org/pub/linux/utils/cryptsetup/v2.8/cryptsetup-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "cuda" pkgname = "cuda"
pkgver = "13.0.2" pkgver = "13.1.1"
driver = "580.95.05" driver = "580.95.05"
source = f"https://developer.download.nvidia.com/compute/cuda/{pkgver}/local_installers/cuda_{pkgver}_{driver}_linux.run" source = f"https://developer.download.nvidia.com/compute/cuda/{pkgver}/local_installers/cuda_{pkgver}_{driver}_linux.run"
builddir = f"/tmp/fempkg/build/{pkgname}" builddir = f"/tmp/fempkg/build/{pkgname}"

41
cups.recipe.py Normal file
View File

@@ -0,0 +1,41 @@
pkgname = "cups"
pkgver = "2.4.16"
source = f"https://github.com/OpenPrinting/cups/releases/download/v{pkgver}/cups-{pkgver}-source.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 = ["gnutls", "dbus", "Linux-PAM", "xdg-utils", "avahi"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}-source.tar.gz",
# 64-bit build
f"cd {builddir} && ./configure --libdir=/usr/lib --with-rcdir=/tmp/cupsinit --with-rundir=/run/cups --with-system-groups=lpadmin --with-docdir=/usr/share/cups/doc-{pkgver}",
f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install && mkdir -p {destdir}/usr/share/doc && ln -svnf ../cups/doc-{pkgver} {destdir}/usr/share/doc/cups-{pkgver} && "
f"rm -rf {destdir}/tmp && echo \"ServerName /run/cups/cups.sock\" > {destdir}/etc/cups/client.conf",
f"mkdir -p {destdir}/etc/pam.d && wget https://rocketleaguechatp.duckdns.org/cups -O {destdir}/etc/pam.d/cups",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {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}"
]
triggers = [
f"gtk-update-icon-cache -qtf /usr/share/icons/hicolor",
f"useradd -c \"Print Service User\" -d /var/spool/cups -g lp -s /bin/false -u 9 lp || true",
f"groupadd -g 19 lpadmin || true",
f"usermod -a -G lpadmin $(cat /var/lib/fempkg/username)",
]

View File

@@ -1,5 +1,5 @@
pkgname = "curl" pkgname = "curl"
pkgver = "8.17.0" pkgver = "8.18.0"
source = f"https://curl.se/download/curl-{pkgver}.tar.xz" source = f"https://curl.se/download/curl-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "dav1d" pkgname = "dav1d"
pkgver = "1.5.2" pkgver = "1.5.3"
source = f"https://code.videolan.org/videolan/dav1d/-/archive/{pkgver}/dav1d-{pkgver}.tar.gz" source = f"https://code.videolan.org/videolan/dav1d/-/archive/{pkgver}/dav1d-{pkgver}.tar.gz"
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}"

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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "ddcutil" pkgname = "ddcutil"
pkgver = "2.2.3" pkgver = "2.2.5"
source = f"https://github.com/rockowitz/ddcutil.git" source = f"https://github.com/rockowitz/ddcutil.git"
builddir = f"/tmp/fempkgbuild/{pkgname}" builddir = f"/tmp/fempkgbuild/{pkgname}"
source_type = "git" source_type = "git"

View File

@@ -0,0 +1,30 @@
pkgname = "desktop-file-utils"
pkgver = "0.28"
source = f"https://rocketleaguechatp.duckdns.org/desktop-file-utils-{pkgver}.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"
deps = ["glib"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja 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}"
]

26
discord.recipe.py Normal file
View File

@@ -0,0 +1,26 @@
pkgname = "discord"
pkgver = "0.0.126"
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}"
]
triggers = [
f"update-desktop-database"
]

View File

@@ -1,5 +1,5 @@
pkgname = "doxygen" pkgname = "doxygen"
pkgver = "1.15.0" pkgver = "1.16.1"
source = f"https://doxygen.nl/files/doxygen-{pkgver}.src.tar.gz" source = f"https://doxygen.nl/files/doxygen-{pkgver}.src.tar.gz"
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}"

30
dynamic-cursors.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "dynamic-cursors"
pkgver = "0.53.3"
source = f"https://github.com/VirtCode/hypr-dynamic-cursors.git"
source_type = "git"
builddir = f"/tmp/fempkgbuild/hypr-dynamic-cursors"
fembuilddir = builddir
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["hyprland"]
build = [
# 64-bit build
f"cd {builddir} && git checkout 7e9b7bc9fbcbb2f7f8985ec1f435b43021609639",
f"su gabry -c 'XDG_RUNTIME_DIR=/run/user/$EUID hyprpm update || true'",
f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && install -v -d -m755 {destdir}/usr/share/hypr/plugins && install -v -m775 out/dynamic-cursors.so {destdir}/usr/share/hypr/plugins/",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE.md {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}"
]

31
electron.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "electron"
pkgver = "40.0.0"
Pkgver = pkgver[:2]
source = f"https://github.com/electron/electron/releases/download/v{pkgver}/electron-v{pkgver}-linux-x64.zip"
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 = ["NSS", "gtk3", "alsa-lib", "cups"]
build = [
# Extract
f"mkdir -p {destdir}/usr/{{lib,bin}} && unzip /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}-linux-x64.zip -d {destdir}/usr/lib/{pkgname}-{Pkgver}",
# 64-bit build
f"chmod 4755 {destdir}/usr/lib/electron-{Pkgver}/chrome-sandbox",
f"ln -s /usr/lib/electron-39/electron {destdir}/usr/bin/electron",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {destdir}/usr/lib/electron-{Pkgver}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
f"install -v -m644 {destdir}/usr/lib/electron-{Pkgver}/LICENSES.chromium.html {destdir}/usr/share/licenses/{pkgname}/LICENSES.chromium.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}"
]

32
exiv2.recipe.py Normal file
View File

@@ -0,0 +1,32 @@
pkgname = "exiv2"
pkgver = "0.28.7"
source = f"https://github.com/Exiv2/exiv2/archive/v{pkgver}/exiv2-{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 = ["cmake", "curl", "brotli", "inih"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{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 EXIV2_ENABLE_VIDEO=yes "
f"-D EXIV2_ENABLE_WEBREADY=yes -D EXIV2_ENABLE_CURL=yes -D EXIV2_BUILD_SAMPLES=no -D CMAKE_SKIP_INSTALL_RPATH=ON -G Ninja .. ",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE.txt {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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "fastfetch" pkgname = "fastfetch"
pkgver = "2.53.0" pkgver = "2.57.1"
source = f"https://github.com/fastfetch-cli/fastfetch/archive/{pkgver}/fastfetch-{pkgver}.tar.gz" source = f"https://github.com/fastfetch-cli/fastfetch/archive/{pkgver}/fastfetch-{pkgver}.tar.gz"
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}"

View File

@@ -1,27 +0,0 @@
pkgname = "femboyos-postpatches"
pkgver = "1.0"
source = f"https://rocketleaguechatp.duckdns.org/fempkg-1.3.2.tar"
builddir = f"/tmp/fempkg/build/{pkgname}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
deps = ["fempkg", "fcron", "gnome-settings-daemon", "xdg-utils"]
build = [
f"mkdir -p {fembuilddir}"
# 64-bit build
f"cd {fembuilddir} && echo \"93.48.234.203 rocketleaguechatp.duckdns.org\" | tee -a /etc/hosts > /dev/null",
f"cd {fembuilddir} && rm -rf /femboyos-latest.tar.xz",
f"cd {fembuilddir} && groupadd -r flatpak && useradd -r -g flatpak -d /var/lib/flatpak -s /sbin/nologin flatpak",
f"cd {fembuilddir} && rm -rf /usr/lib/polkit-gnome || true && mkdir -p /usr/lib/polkit-gnome && ln -sf /usr/libexec/polkit-gnome-authentication-agent-1 /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1",
f"cd {fembuilddir} && find /home -mindepth 1 -maxdepth 1 -type d -printf '%f\\n' | grep -v '^femboyos-user$' > /var/lib/fempkg/username",
f"cd {fembuilddir} && su $(cat /var/lib/fempkg/username) -c \"flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo\"",
f"cd {fembuilddir} && rm -rf /home/$(cat /var/lib/fempkg/username)/.config/caelestia/shell.json || true && wget -P /home/$(cat /var/lib/fempkg/username)/.config/caelestia https://rocketleaguechatp.duckdns.org/shell.json || true",
f"cd {fembuilddir} && glib-compile-schemas /usr/share/glib-2.0/schemas",
f"cd {fembuilddir} && rm -rf /usr/lib/geoclue-2.0/demos/agent && mkdir -p /usr/lib/geoclue-2.0/demos && ln -sf /usr/libexec/geoclue-2.0/demos/agent /usr/lib/geoclue-2.0/demos/agent",
f"cd {fembuilddir} && sed -i '1a exec-once = /usr/libexec/gsd-xsettings' /home/$(cat /var/lib/fempkg/username)/.config/caelestia/hypr-user.conf",
f"cd {fembuilddir} && echo \"/usr/libexec/xdg-desktop-portal-gtk\" >> /usr/bin/xdg-portal-hyprland",
f"cd {fembuilddir} && cp -a /us/. /usr/ && rm -rf /us /ldd /right /posix /libexec /mkspecs /include /.cache /share",
f"cd {fembuilddir} && rm -rf /etc/rc.d/init.d/saslauthd /etc/rc.d/rc0.d/K49saslauthd /etc/rc.d/rc1.d/K49saslauthd /etc/rc.d/rc2.d/S24saslauthd /etc/rc.d/rc3.d/S24saslauthd /etc/rc.d/rc4.d/S24saslauthd /etc/rc.d/rc5.d/S24saslauthd /etc/rc.d/rc6.d/K49saslauthd",
# Cleanup
f"rm -rf {builddir} {fembuilddir}"
]

View File

@@ -41,6 +41,8 @@ build = [
"--enable-libwebp " "--enable-libwebp "
"--enable-libdrm " "--enable-libdrm "
"--enable-gnutls " "--enable-gnutls "
"--enable-nvdec "
"--enable-nvenc "
"--ignore-tests=enhanced-flv-av1,enhanced-flv-multitrack " "--ignore-tests=enhanced-flv-av1,enhanced-flv-multitrack "
f"--docdir=/usr/share/doc/{pkgname}-{pkgver}", f"--docdir=/usr/share/doc/{pkgname}-{pkgver}",

29
ffnv-codec.recipe.py Normal file
View File

@@ -0,0 +1,29 @@
pkgname = "ffnv-codec"
pkgver = "13.0.19.0"
source = f"https://github.com/FFmpeg/nv-codec-headers/releases/download/n{pkgver}/nv-codec-headers-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/nv-codec-headers-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = []
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/nv-codec-headers-{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && make PREFIX=/usr DESTDIR={destdir} install && mkdir -p {destdir}/usr/lib32/pkgconfig && ln -sf /usr/lib/pkgconfig/ffnvcodec.pc "
f"{destdir}/usr/lib32/pkgconfig/ffnvcodec.pc",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"wget https://mit-license.org/license.txt -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}"
]

37
file-roller.recipe.py Normal file
View File

@@ -0,0 +1,37 @@
pkgname = "file-roller"
pkgver = "44.6"
Pkgver = pkgver[:2]
source = f"https://download.gnome.org/sources/file-roller/{Pkgver}/file-roller-{pkgver}.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"
deps = ["gtk4", "itstool", "cpio", "desktop-file-utils", "json-glib", "libarchive", "libadwaita", "libportal", "nautilus", "zip"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D packagekit=false ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install && chmod -v 0755 {destdir}/usr/libexec/file-roller/isoinfo.sh",
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}"
]
triggers = [
f"glib-compile-schemas /usr/share/glib-2.0/schemas",
f"gtk-update-icon-cache -qtf /usr/share/icons/hicolor",
f"update-desktop-database -q",
]

45
firefox.recipe.py Normal file
View File

@@ -0,0 +1,45 @@
pkgname = "firefox"
pkgver = "140.7.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}"
]
triggers = [
f"update-desktop-database"
]

View File

@@ -1,5 +1,5 @@
pkgname = "fish" pkgname = "fish"
pkgver = "4.2.1" pkgver = "4.3.3"
source = f"https://github.com/fish-shell/fish-shell/releases/download/{pkgver}/fish-{pkgver}.tar.xz" source = f"https://github.com/fish-shell/fish-shell/releases/download/{pkgver}/fish-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "flatpak" pkgname = "flatpak"
pkgver = "1.16.1" pkgver = "1.16.2"
source = f"https://github.com/flatpak/flatpak/releases/download/{pkgver}/flatpak-{pkgver}.tar.xz" source = f"https://github.com/flatpak/flatpak/releases/download/{pkgver}/flatpak-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "flatpost" pkgname = "flatpost"
pkgver = "1.1.1" pkgver = "1.2.0"
source = f"https://github.com/GloriousEggroll/flatpost/archive/refs/tags/{pkgver}.tar.gz" source = f"https://github.com/GloriousEggroll/flatpost/archive/refs/tags/{pkgver}.tar.gz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "fuse" pkgname = "fuse"
pkgver = "3.17.4" pkgver = "3.18.1"
source = f"https://github.com/libfuse/libfuse/releases/download/fuse-{pkgver}/fuse-{pkgver}.tar.gz" source = f"https://github.com/libfuse/libfuse/releases/download/fuse-{pkgver}/fuse-{pkgver}.tar.gz"
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}"

30
gammastep.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "gammastep"
pkgver = "2.0.11"
source = f"https://gitlab.com/chinstrap/gammastep/-/archive/v{pkgver}/gammastep-v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-v{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["glib", "glibc", "hicolor-icon-theme", "libdrm", "xorg-libs", "wayland", "geoclue", "gtk3", "libappindicator", "python", "intltool"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && ./bootstrap && ./configure --prefix=/usr",
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}"
]

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

31
gexiv2.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "gexiv2"
pkgver = "0.14.6"
Pkgver = pkgver[:4]
source = f"https://download.gnome.org/sources/gexiv2/{Pkgver}/gexiv2-{pkgver}.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"
deps = ["exiv2", "vala"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja 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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "glaze" pkgname = "glaze"
pkgver = "6.0.2" pkgver = "6.5.1"
source = f"https://github.com/stephenberry/glaze/archive/v{pkgver}/glaze-{pkgver}.tar.gz" source = f"https://github.com/stephenberry/glaze/archive/v{pkgver}/glaze-{pkgver}.tar.gz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "glib" pkgname = "glib"
pkgver = "2.86.2" pkgver = "2.86.3"
Pkgver = pkgver[:4] Pkgver = pkgver[:4]
source = f"https://download.gnome.org/sources/glib/{Pkgver}/glib-{pkgver}.tar.xz" source = f"https://download.gnome.org/sources/glib/{Pkgver}/glib-{pkgver}.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"

View File

@@ -1,5 +1,5 @@
pkgname = "glslang" pkgname = "glslang"
pkgver = "16.1.0" pkgver = "16.2.0"
source = f"https://github.com/KhronosGroup/glslang/archive/{pkgver}/glslang-{pkgver}.tar.gz" source = f"https://github.com/KhronosGroup/glslang/archive/{pkgver}/glslang-{pkgver}.tar.gz"
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}"

View File

@@ -1,5 +1,5 @@
pkgname = "glslc" pkgname = "glslc"
pkgver = "2025.5" pkgver = "2026.1"
source = f"https://github.com/google/shaderc/archive/v{pkgver}/shaderc-{pkgver}.tar.gz" source = f"https://github.com/google/shaderc/archive/v{pkgver}/shaderc-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/shaderc-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/shaderc-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"

31
gnome-autoar.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "gnome-autoar"
pkgver = "0.4.5"
Pkgver = pkgver[:3] # meow :3
source = f"https://download.gnome.org/sources/gnome-autoar/{Pkgver}/gnome-autoar-{pkgver}.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"
deps = ["libarchive", "gtk3", "vala"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D vapi=true -D tests=true ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja 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}"
]

31
gnome-common.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "gnome-common"
pkgver = "3.18.0"
Pkgver = pkgver[:4]
source = f"https://download.gnome.org/sources/{pkgname}/{Pkgver}/gnome-common-{pkgver}.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"
deps = ["gtk-doc"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && ./configure --prefix=/usr",
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}/COPYING",
# 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,6 +1,7 @@
pkgname = "gnutls" pkgname = "gnutls"
pkgver = "3.8.10" pkgver = "3.8.11"
source = f"https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-{pkgver}.tar.xz" Pkgver = pkgver[:3] # meow
source = f"https://www.gnupg.org/ftp/gcrypt/gnutls/v{Pkgver}/gnutls-{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"

View File

@@ -1,5 +1,5 @@
pkgname = "go" pkgname = "go"
pkgver = "1.25.5" pkgver = "1.25.6"
source = f"https://go.dev/dl/go{pkgver}.linux-amd64.tar.gz" source = f"https://go.dev/dl/go{pkgver}.linux-amd64.tar.gz"
builddir = f"/tmp/fempkg/build/go/go" builddir = f"/tmp/fempkg/build/go/go"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"

View File

@@ -1,5 +1,5 @@
pkgname = "gpg" pkgname = "gpg"
pkgver = "2.4.8" pkgver = "2.5.16"
source = f"https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-{pkgver}.tar.bz2" source = f"https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-{pkgver}.tar.bz2"
builddir = f"/tmp/fempkg/build/{pkgname}/gnupg-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/gnupg-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"

View File

@@ -0,0 +1,30 @@
pkgname = "gpu-screen-recorder-gtk"
pkgver = "5.7.9"
source = f"https://repo.dec05eba.com/gpu-screen-recorder-gtk"
source_type = "git"
builddir = f"/tmp/fempkgbuild/{pkgname}"
fembuilddir = builddir
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["gpu-screen-recorder", "gtk3", "libayatana-appindicator", "desktop-file-utils"]
build = [
# 64-bit build
f"cd {builddir} && mkdir -pv build && cd build && meson setup --prefix=/usr --buildtype=release ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
f"cd {builddir} && install -v -d -m755 {destdir}/usr/share/applications && install -v -m644 com.dec05eba.gpu_screen_recorder.desktop "
f"{destdir}/usr/share/applications/com.dec05eba.gpu_screen_recorder.desktop",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {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",
f"rm -rf {builddir}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "gpu-screen-recorder" pkgname = "gpu-screen-recorder"
pkgver = "5.9.2" pkgver = "5.12.2"
source = f"https://repo.dec05eba.com/gpu-screen-recorder" source = f"https://repo.dec05eba.com/gpu-screen-recorder"
builddir = f"/tmp/fempkgbuild/{pkgname}" builddir = f"/tmp/fempkgbuild/{pkgname}"
source_type = "git" source_type = "git"

View File

@@ -9,7 +9,7 @@ destdir = f"{fembuilddir}/DESTDIR"
unsets = "unset {{C,CPP,CXX,LD}}FLAGS" unsets = "unset {{C,CPP,CXX,LD}}FLAGS"
unifont_ver = "17.0.01" unifont_ver = "17.0.01"
deps = ["freetype"] deps = ["freetype", "os-prober"]
build = [ build = [
# Extract # Extract

View File

@@ -1,5 +1,5 @@
pkgname = "gst-plugins-base" pkgname = "gst-plugins-base"
pkgver = "1.26.8" pkgver = "1.26.10"
source = f"https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-{pkgver}.tar.xz" source = f"https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "gstreamer" pkgname = "gstreamer"
pkgver = "1.26.8" pkgver = "1.26.10"
source = f"https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-{pkgver}.tar.xz" source = f"https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-{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}"

31
gtk-doc.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "gtk-doc"
pkgver = "1.35.1"
Pkgver = pkgver[:4]
source = f"https://download.gnome.org/sources/gtk-doc/{Pkgver}/gtk-doc-{pkgver}.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"
deps = ["itstool"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir -pv build && cd build && meson setup --prefix=/usr --buildtype=release ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
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 {fembuilddir}"
]

38
gvfs.recipe.py Normal file
View File

@@ -0,0 +1,38 @@
pkgname = "gvfs"
pkgver = "1.58.0"
Pkgver = pkgver[:4]
source = f"https://download.gnome.org/sources/gvfs/{Pkgver}/gvfs-{pkgver}.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"
deps = ["dbus", "glib", "gcr4", "libusb", "libsecret", "gtk3", "libcdio", "libgudev", "libsoup", "elogind", "udisks", "libmtp", "ssh"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D onedrive=false "
f"-D fuse=false -D gphoto2=false -D afc=false -D bluray=false -D nfs=false -D mtp=true -D smb=false -D tmpfilesdir=no "
f"-D dnssd=false -D goa=false -D google=false -D systemduserunitdir=no ..", # we are competing quickshell
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja 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}"
]
triggers = [
f"glib-compile-schemas /usr/share/glib-2.0/schemas"
]

View File

@@ -1,5 +1,5 @@
pkgname = "harfbuzz" pkgname = "harfbuzz"
pkgver = "12.2.0" pkgver = "12.3.2"
source = f"https://github.com/harfbuzz/harfbuzz/releases/download/{pkgver}/harfbuzz-{pkgver}.tar.xz" source = f"https://github.com/harfbuzz/harfbuzz/releases/download/{pkgver}/harfbuzz-{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}"

View File

@@ -0,0 +1,40 @@
pkgname = "heroic-games-launcher"
pkgver = "2.19.0"
source = f"https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/archive/refs/tags/v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/HeroicGamesLauncher-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["electron", "pnpm", "nodejs"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/v{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && pnpm install",
f"cd {builddir} && pnpm dist:linux tar.xz",
f"cd {builddir} && mkdir -p {destdir}/usr/lib/{pkgname} {destdir}/usr/bin && mv dist/linux-unpacked/* {destdir}/usr/lib/{pkgname} && "
f"ln -sf /usr/lib/{pkgname}/heroic {destdir}/usr/bin/heroic",
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"/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 -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}"
]
triggers = [
f"update-desktop-database"
]

View File

@@ -1,5 +1,5 @@
pkgname = "hwdata" pkgname = "hwdata"
pkgver = "0.401" pkgver = "0.403"
source = f"https://github.com/vcrhonek/hwdata/archive/v{pkgver}/hwdata-{pkgver}.tar.gz" source = f"https://github.com/vcrhonek/hwdata/archive/v{pkgver}/hwdata-{pkgver}.tar.gz"
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}"

30
hyprexpo.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "hyprexpo"
pkgver = "0.53.0"
source = f"https://github.com/hyprwm/hyprland-plugins.git"
source_type = "git"
builddir = f"/tmp/fempkgbuild/hyprland-plugins"
fembuilddir = builddir
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["hyprland"]
build = [
# 64-bit build
f"cd {builddir} && git checkout 8c1212e96b81aa5f11fe21ca27defa2aad5b3cf3",
f"su gabry -c 'XDG_RUNTIME_DIR=/run/user/$EUID hyprpm update || true'",
f"cd {builddir}/hyprexpo && make -j$(nproc)",
f"cd {builddir}/hyprexpo && install -v -d -m755 {destdir}/usr/share/hypr/plugins && install -v -m775 hyprexpo.so {destdir}/usr/share/hypr/plugins/",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "hyprland-libs" pkgname = "hyprland-libs"
pkgver = "0.52.2" pkgver = "0.53.1" # MAKE SURE TO UPDATE PACKAGE LIST
source = f"https://github.com/hyprwm/Hyprland/releases/download/v{pkgver}/source-v{pkgver}.tar.gz" source = f"https://github.com/hyprwm/Hyprland/releases/download/v{pkgver}/source-v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/hyprland-source" builddir = f"/tmp/fempkg/build/{pkgname}/hyprland-source"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"
@@ -9,7 +9,7 @@ destdir = f"{fembuilddir}/DESTDIR"
deps = [ deps = [
"cairo", "cmake", "mesa", "libdisplay-info", "libdrm", "libinput", "cairo", "cmake", "mesa", "libdisplay-info", "libdrm", "libinput",
"libjxl", "libpng", "librsvg", "libwebp", "libzip", "libglvnd", "pixman", "libjxl", "libpng", "librsvg", "libwebp", "libzip", "libglvnd", "pixman",
"pugixml", "qt6", "seatd", "tomlplusplus", "wayland", "wayland-protocols", "hwdata" "pugixml", "qt6", "seatd", "tomlplusplus", "wayland", "wayland-protocols", "hwdata", "muparser",
] ]
build = [ build = [
@@ -37,12 +37,12 @@ for package in $(grep -v "^#" ../hypr-list); do
if [[ "$packagedir" == hyprland-protocols-* ]]; then if [[ "$packagedir" == hyprland-protocols-* ]]; then
meson setup --prefix=/usr --buildtype=release .. meson setup --prefix=/usr --buildtype=release ..
else else
cmake -D CMAKE_INSTALL_PREFIX=/usr \ cmake -D CMAKE_INSTALL_PREFIX=/usr \\
-D CMAKE_BUILD_TYPE=Release \ -D CMAKE_BUILD_TYPE=Release \\
-D CMAKE_SKIP_INSTALL_RPATH=ON \ -D CMAKE_SKIP_INSTALL_RPATH=ON \\
-D INSTALL_QML_PREFIX=/lib/qt6/qml \ -D INSTALL_QML_PREFIX=/lib/qt6/qml \\
-D DISABLE_TESTS=ON \ -D DISABLE_TESTS=ON \\
-D BUILD_TESTING=OFF \ -D BUILD_TESTING=OFF \\
-W no-dev -G Ninja .. -W no-dev -G Ninja ..
fi fi

View File

@@ -1,7 +1,7 @@
pkgname = "hyprland" pkgname = "hyprland" # TODO wen update also update hyprland-libs and coressponding plugins
pkgver = "0.52.2" pkgver = "0.53.1"
source = f"https://github.com/hyprwm/Hyprland/archive/v{pkgver}/Hyprland-{pkgver}.tar.gz" source = f"https://github.com/hyprwm/Hyprland/releases/download/v{pkgver}/source-v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/Hyprland-{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/hyprland-source"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" 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"
@@ -16,9 +16,8 @@ deps = [
build = [ build = [
# Extract # Extract
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/Hyprland-{pkgver}.tar.gz && " f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/source-v{pkgver}.tar.gz",
f"cd {builddir} && wget https://github.com/canihavesomecoffee/udis86/archive/5336633af70f3917760a6d441ff02d93477b0c86/udis86-5336633af70f3917760a6d441ff02d93477b0c86.tar.gz",
f"cd {builddir} && tar -xf udis86-5336633af70f3917760a6d441ff02d93477b0c86.tar.gz && mv -T udis86-5336633af70f3917760a6d441ff02d93477b0c86 subprojects/udis86",
f"cd {builddir} && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_INSTALL_RPATH=ON -W no-dev -G Ninja .. && ninja", f"cd {builddir} && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_INSTALL_RPATH=ON -W no-dev -G Ninja .. && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install", f"cd {builddir}/build && DESTDIR={destdir} ninja install",
f"""cd {builddir} && cat > {destdir}/usr/share/wayland-sessions/hyprland.desktop << EOF f"""cd {builddir} && cat > {destdir}/usr/share/wayland-sessions/hyprland.desktop << EOF

View File

@@ -1,6 +1,6 @@
# man-pages.recipe.py # non penso # Z # man-pages.recipe.py # non penso # Z
pkgname = "iana-etc" pkgname = "iana-etc"
pkgver = "20251120" pkgver = "20251215"
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}"
source = f"https://github.com/Mic92/iana-etc/releases/download/{pkgver}/iana-etc-{pkgver}.tar.gz" source = f"https://github.com/Mic92/iana-etc/releases/download/{pkgver}/iana-etc-{pkgver}.tar.gz"

View File

@@ -1,5 +1,5 @@
pkgname = "icu" pkgname = "icu"
pkgver = "78.1" pkgver = "78.2"
source = f"https://github.com/unicode-org/icu/releases/download/release-{pkgver}/icu4c-{pkgver}-sources.tgz" source = f"https://github.com/unicode-org/icu/releases/download/release-{pkgver}/icu4c-{pkgver}-sources.tgz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"
@@ -29,5 +29,5 @@ build = [
] ]
triggers = [ triggers = [
{"rebuild_package": ["libical", "libxml2", "harfbuzz", "nodejs", "libqalculate"]} {"rebuild_package": ["libical", "libxml2", "harfbuzz", "nodejs", "libqalculate", "llvm", "qt6", "firefox", "tinysparql", "localsearch", "boost"]}
] ]

View File

@@ -3,6 +3,8 @@ accountsservice.recipe.py
acl.recipe.py acl.recipe.py
adw-gtk3-theme.recipe.py adw-gtk3-theme.recipe.py
alsa-lib.recipe.py alsa-lib.recipe.py
alsa-plugins.recipe.py
android-udev.recipe.py
appstream-glib.recipe.py appstream-glib.recipe.py
appstream.recipe.py appstream.recipe.py
aspell.recipe.py aspell.recipe.py
@@ -12,11 +14,14 @@ aubio.recipe.py
autoconf.recipe.py autoconf.recipe.py
automake.recipe.py automake.recipe.py
avahi.recipe.py avahi.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
bison.recipe.py bison.recipe.py
bluez.recipe.py bluez.recipe.py
boost.recipe.py
breakpad.recipe.py breakpad.recipe.py
breeze-icons.recipe.py breeze-icons.recipe.py
brightnessctl.recipe.py brightnessctl.recipe.py
@@ -25,7 +30,6 @@ btop.recipe.py
bubblewrap.recipe.py bubblewrap.recipe.py
bzip2.recipe.py bzip2.recipe.py
caelestia-cli.recipe.py caelestia-cli.recipe.py
caelestia.recipe.py
caelestia-shell.recipe.py caelestia-shell.recipe.py
cairo.recipe.py cairo.recipe.py
c-ares.recipe.py c-ares.recipe.py
@@ -39,41 +43,51 @@ cliphist.recipe.py
cmake.recipe.py cmake.recipe.py
coreutils.recipe.py coreutils.recipe.py
cpio.recipe.py cpio.recipe.py
cracklib.recipe.py
cryptsetup.recipe.py cryptsetup.recipe.py
cuda.recipe.py cuda.recipe.py
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
depot_tools.recipe.py depot_tools.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
duktape.recipe.py duktape.recipe.py
dvd+rw-tools.recipe.py dvd+rw-tools.recipe.py
dynamic-cursors.recipe.py
e2fsprogs.recipe.py e2fsprogs.recipe.py
efibootmgr.recipe.py efibootmgr.recipe.py
efivar.recipe.py efivar.recipe.py
electron.recipe.py
Elegant-mojave-float-left-light.recipe.py Elegant-mojave-float-left-light.recipe.py
elogind.recipe.py elogind.recipe.py
exiv2.recipe.py
expat.recipe.py expat.recipe.py
expect.recipe.py expect.recipe.py
extra-cmake-modules.recipe.py extra-cmake-modules.recipe.py
eza.recipe.py eza.recipe.py
fastfetch.recipe.py fastfetch.recipe.py
fcron.recipe.py fcron.recipe.py
femboyos-postpatches.recipe.py
femctl.recipe.py femctl.recipe.py
fempkg-keys.recipe.py fempkg-keys.recipe.py
fempkg.recipe.py fempkg.recipe.py
ffmpeg.recipe.py ffmpeg.recipe.py
ffnv-codec.recipe.py
fftw.recipe.py fftw.recipe.py
file.recipe.py file.recipe.py
file-roller.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
@@ -85,6 +99,7 @@ fribidi.recipe.py
fuse2.recipe.py fuse2.recipe.py
fuse.recipe.py fuse.recipe.py
fuzzel.recipe.py fuzzel.recipe.py
gammastep.recipe.py
gawk.recipe.py gawk.recipe.py
gcc.recipe.py gcc.recipe.py
gcr4.recipe.py gcr4.recipe.py
@@ -94,6 +109,7 @@ gdkpixbuf.recipe.py
geoclue.recipe.py geoclue.recipe.py
geocode-glib.recipe.py geocode-glib.recipe.py
gettext.recipe.py gettext.recipe.py
gexiv2.recipe.py
giflib.recipe.py giflib.recipe.py
git.recipe.py git.recipe.py
glaze.recipe.py glaze.recipe.py
@@ -106,6 +122,8 @@ glslc.recipe.py
glu.recipe.py glu.recipe.py
gmmlib.recipe.py gmmlib.recipe.py
gmp.recipe.py gmp.recipe.py
gnome-autoar.recipe.py
gnome-common.recipe.py
gnome-desktop.recipe.py gnome-desktop.recipe.py
gnome-keyring.recipe.py gnome-keyring.recipe.py
gnome-settings-daemon.recipe.py gnome-settings-daemon.recipe.py
@@ -115,6 +133,7 @@ gperf.recipe.py
gpgmepp.recipe.py gpgmepp.recipe.py
gpgme.recipe.py gpgme.recipe.py
gpg.recipe.py gpg.recipe.py
gpu-screen-recorder-gtk.recipe.py
gpu-screen-recorder.recipe.py gpu-screen-recorder.recipe.py
graphene.recipe.py graphene.recipe.py
grep.recipe.py grep.recipe.py
@@ -125,12 +144,16 @@ gst-plugins-base.recipe.py
gstreamer.recipe.py gstreamer.recipe.py
gtk3.recipe.py gtk3.recipe.py
gtk4.recipe.py gtk4.recipe.py
gtk-doc.recipe.py
gtkmm4.recipe.py gtkmm4.recipe.py
gvfs.recipe.py
gzip.recipe.py gzip.recipe.py
harfbuzz.recipe.py harfbuzz.recipe.py
heroic-games-launcher.recipe.py
hicolor-icon-theme.recipe.py hicolor-icon-theme.recipe.py
highway.recipe.py highway.recipe.py
hwdata.recipe.py hwdata.recipe.py
hyprexpo.recipe.py
hyprland-libs.recipe.py hyprland-libs.recipe.py
hyprland.recipe.py hyprland.recipe.py
hyprpicker.recipe.py hyprpicker.recipe.py
@@ -141,6 +164,8 @@ inih.recipe.py
iniparser.recipe.py iniparser.recipe.py
inotify-tools.recipe.py inotify-tools.recipe.py
intelmedia.recipe.py intelmedia.recipe.py
intel-mediasdk.recipe.py
intel-onevpl.recipe.py
intelvaapi.recipe.py intelvaapi.recipe.py
intltool.recipe.py intltool.recipe.py
iproute2.recipe.py iproute2.recipe.py
@@ -157,17 +182,25 @@ json-glib.recipe.py
k3b.recipe.py k3b.recipe.py
kapidox.recipe.py kapidox.recipe.py
kbd.recipe.py kbd.recipe.py
kde-connect.recipe.py
kde-plasma.recipe.py
keyutils.recipe.py keyutils.recipe.py
kf6.recipe.py kf6.recipe.py
kirigami-addons.recipe.py
kmod.recipe.py kmod.recipe.py
lcms2.recipe.py lcms2.recipe.py
less.recipe.py less.recipe.py
lfs-repo.code-workspace
libadwaita.recipe.py
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
libatasmart.recipe.py libatasmart.recipe.py
libayatana-appindicator.recipe.py
libayatana-indicator.recipe.py
libblockdev.recipe.py libblockdev.recipe.py
libburn.recipe.py libburn.recipe.py
libbytesize.recipe.py libbytesize.recipe.py
@@ -175,8 +208,11 @@ libcairomm.recipe.py
libcanberra.recipe.py libcanberra.recipe.py
libcap.recipe.py libcap.recipe.py
libcava.recipe.py libcava.recipe.py
libcdio.recipe.py
libclc.recipe.py libclc.recipe.py
libdaemon.recipe.py libdaemon.recipe.py
libdatachannel.recipe.py
libdbusmenu.recipe.py
libdisplay-info.recipe.py libdisplay-info.recipe.py
libdrm.recipe.py libdrm.recipe.py
libdvdread.recipe.py libdvdread.recipe.py
@@ -194,13 +230,14 @@ 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 libjuice.recipe.py
libjxl.recipe.py libjxl.recipe.py
libkcddb.recipe.py libkcddb.recipe.py
libksba.recipe.py libksba.recipe.py
libliftoff.recipe.py libliftoff.recipe.py
libmad.recipe.py libmad.recipe.py
libmbim.recipe.py libmbim.recipe.py
libmtp.recipe.py
libmusicbrainz.recipe.py libmusicbrainz.recipe.py
libndp.recipe.py libndp.recipe.py
libnl.recipe.py libnl.recipe.py
@@ -212,9 +249,11 @@ libpipeline.recipe.py
libpng.recipe.py libpng.recipe.py
libportal.recipe.py libportal.recipe.py
libpsl.recipe.py libpsl.recipe.py
libpwquality.recipe.py
libqalculate.recipe.py libqalculate.recipe.py
libqmi.recipe.py libqmi.recipe.py
libqrencode.recipe.py libqrencode.recipe.py
librewolf.recipe.py
librsvg.recipe.py librsvg.recipe.py
libsamplerate.recipe.py libsamplerate.recipe.py
libseccomp.recipe.py libseccomp.recipe.py
@@ -233,6 +272,7 @@ libuv.recipe.py
libva.recipe.py libva.recipe.py
libvdpau.recipe.py libvdpau.recipe.py
libvorbis.recipe.py libvorbis.recipe.py
libvpl.recipe.py
libwacom.recipe.py libwacom.recipe.py
libwebp.recipe.py libwebp.recipe.py
libxau.recipe.py libxau.recipe.py
@@ -252,6 +292,8 @@ linux.recipe.py
llvm.recipe.py llvm.recipe.py
lmdb.recipe.py lmdb.recipe.py
lm-sensors.recipe.py lm-sensors.recipe.py
localsearch.recipe.py
luajit.recipe.py
lua.recipe.py lua.recipe.py
LVM2.recipe.py LVM2.recipe.py
lz4.recipe.py lz4.recipe.py
@@ -260,13 +302,16 @@ make.recipe.py
man-db.recipe.py man-db.recipe.py
man-pages.recipe.py man-pages.recipe.py
material-design-icons.recipe.py material-design-icons.recipe.py
mbedtls.recipe.py
mesa.recipe.py mesa.recipe.py
MIME-Base32.recipe.py MIME-Base32.recipe.py
ModemManager.recipe.py ModemManager.recipe.py
mpc.recipe.py mpc.recipe.py
mpfr.recipe.py mpfr.recipe.py
mtdev.recipe.py mtdev.recipe.py
muparser.recipe.py
nasm.recipe.py nasm.recipe.py
nautilus.recipe.py
ncurses.recipe.py ncurses.recipe.py
neon.recipe.py neon.recipe.py
nettle.recipe.py nettle.recipe.py
@@ -274,18 +319,24 @@ NetworkManager.recipe.py
newt.recipe.py newt.recipe.py
nghttp2.recipe.py nghttp2.recipe.py
ninja.recipe.py ninja.recipe.py
nlohmann-json.recipe.py
nodejs.recipe.py nodejs.recipe.py
noto-fonts.recipe.py
npth.recipe.py npth.recipe.py
NSPR.recipe.py NSPR.recipe.py
NSS.recipe.py NSS.recipe.py
nvidia-egl-libraries.recipe.py nvidia-egl-libraries.recipe.py
nvidia.recipe.py nvidia.recipe.py
nvidia-vaapi-driver.recipe.py
nwg-look.recipe.py nwg-look.recipe.py
obs-studio.recipe.py obs-studio.recipe.py
opencv.recipe.py
openldap.recipe.py openldap.recipe.py
openssl.recipe.py openssl.recipe.py
opsec.recipe.py opsec.recipe.py
os-prober.recipe.py
ostree.recipe.py ostree.recipe.py
oxygen-icons.recipe.py
p11-kit.recipe.py p11-kit.recipe.py
pangomm.recipe.py pangomm.recipe.py
pango.recipe.py pango.recipe.py
@@ -294,14 +345,19 @@ parted.recipe.py
patchelf.recipe.py patchelf.recipe.py
patch.recipe.py patch.recipe.py
pavucontrol.recipe.py pavucontrol.recipe.py
pciutils.recipe.py
pcre2.recipe.py pcre2.recipe.py
perl.recipe.py perl.recipe.py
phonon-backend-vlc.recipe.py
phonon.recipe.py
pipewire.recipe.py pipewire.recipe.py
pixman.recipe.py pixman.recipe.py
pkgconf.recipe.py pkgconf.recipe.py
plasma-wayland-protocols.recipe.py plasma-wayland-protocols.recipe.py
platform-tools.recipe.py
plymouth.recipe.py plymouth.recipe.py
pm-utils.recipe.py pm-utils.recipe.py
pnpm.recipe.py
polkit-gnome.recipe.py polkit-gnome.recipe.py
polkit-qt.recipe.py polkit-qt.recipe.py
polkit.recipe.py polkit.recipe.py
@@ -310,11 +366,14 @@ power-profiles-daemon.recipe.py
procps-ng.recipe.py procps-ng.recipe.py
psmisc.recipe.py psmisc.recipe.py
pugixml.recipe.py pugixml.recipe.py
pulseaudio-qt.recipe.py
pulseaudio.recipe.py pulseaudio.recipe.py
__pycache__ __pycache__
pycairo.recipe.py pycairo.recipe.py
python.recipe.py python.recipe.py
qca.recipe.py qca.recipe.py
qcoro.recipe.py
qemu.recipe.py
qt6ct.recipe.py qt6ct.recipe.py
qt6.recipe.py qt6.recipe.py
quickshell.recipe.py quickshell.recipe.py
@@ -322,6 +381,7 @@ re2.recipe.py
readline.recipe.py readline.recipe.py
rustbindgen.recipe.py rustbindgen.recipe.py
rustc.recipe.py rustc.recipe.py
sassc.recipe.py
sbc.recipe.py sbc.recipe.py
scdoc.recipe.py scdoc.recipe.py
sdbus-cpp.recipe.py sdbus-cpp.recipe.py
@@ -332,6 +392,7 @@ sed.recipe.py
shadow.recipe.py shadow.recipe.py
shared-mime-info.recipe.py shared-mime-info.recipe.py
slang.recipe.py slang.recipe.py
sof-firmware.recipe.py
sound-theme-freedesktop.recipe.py sound-theme-freedesktop.recipe.py
spirv-headers.recipe.py spirv-headers.recipe.py
spirv-llvm-translator.recipe.py spirv-llvm-translator.recipe.py
@@ -339,15 +400,19 @@ 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
swig.recipe.py
sysklogd.recipe.py sysklogd.recipe.py
system-config-printer.recipe.py
sysvinit.recipe.py sysvinit.recipe.py
taglib.recipe.py taglib.recipe.py
tar.recipe.py tar.recipe.py
tcl.recipe.py tcl.recipe.py
texinfo.recipe.py texinfo.recipe.py
tinysparql.recipe.py
tomlplusplus.recipe.py tomlplusplus.recipe.py
udev.recipe.py udev.recipe.py
udisks.recipe.py udisks.recipe.py
@@ -355,11 +420,15 @@ umockdev.recipe.py
upower.recipe.py upower.recipe.py
URI.recipe.py URI.recipe.py
utfcpp.recipe.py utfcpp.recipe.py
uthash.recipe.py
util-linux.recipe.py util-linux.recipe.py
util-macros.recipe.py util-macros.recipe.py
v4l-utils.recipe.py v4l-utils.recipe.py
vala.recipe.py vala.recipe.py
vim.recipe.py vim.recipe.py
virglrenderer.recipe.py
vlc.recipe.py
vscodium.recipe.py
vulkan-headers.recipe.py vulkan-headers.recipe.py
vulkan-loader.recipe.py vulkan-loader.recipe.py
wayland-protocols.recipe.py wayland-protocols.recipe.py
@@ -381,19 +450,25 @@ xdg-dbus-proxy.recipe.py
xdg-desktop-portal-gtk.recipe.py xdg-desktop-portal-gtk.recipe.py
xdg-desktop-portal-hyprland.recipe.py xdg-desktop-portal-hyprland.recipe.py
xdg-desktop-portal.recipe.py xdg-desktop-portal.recipe.py
xdg-user-dirs.recipe.py
xdg-utils.recipe.py xdg-utils.recipe.py
xdotool.recipe.py
xkeyboard-config.recipe.py xkeyboard-config.recipe.py
xmlparser.recipe.py xmlparser.recipe.py
xmlto.recipe.py xmlto.recipe.py
xorg-apps.recipe.py xorg-apps.recipe.py
xorg-evdev.recipe.py
xorg-fonts.recipe.py xorg-fonts.recipe.py
xorg-input-driver.recipe.py xorg-input-driver.recipe.py
xorg-libs.recipe.py xorg-libs.recipe.py
xorgproto.recipe.py xorgproto.recipe.py
xorg-server.recipe.py xorg-server.recipe.py
xorg-wacom.recipe.py
xwayland.recipe.py xwayland.recipe.py
xz.recipe.py xz.recipe.py
yaml-cpp.recipe.py yaml-cpp.recipe.py
yasm.recipe.py yasm.recipe.py
zip.recipe.py
zlib.recipe.py zlib.recipe.py
zstd.recipe.py zstd.recipe.py
zxing-cpp.recipe.py

View File

@@ -1,5 +1,5 @@
pkgname = "inotify-tools" pkgname = "inotify-tools"
pkgver = "4.25.9.0" pkgver = "4.25.9.0" # GIT repo
source = f"https://github.com/inotify-tools/inotify-tools.git" source = f"https://github.com/inotify-tools/inotify-tools.git"
builddir = f"/tmp/fempkgbuild/{pkgname}" builddir = f"/tmp/fempkgbuild/{pkgname}"
source_type = "git" source_type = "git"

38
intel-mediasdk.recipe.py Normal file
View File

@@ -0,0 +1,38 @@
pkgname = "intel-mediasdk"
pkgver = "23.2.2"
source = f"https://github.com/Intel-Media-SDK/MediaSDK/archive/refs/tags/intel-mediasdk-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/MediaSDK-intel-mediasdk-{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", "gmmlib", "intelmedia", "libdrm", "libva", "xorg-libs", "wayland"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
# GCC-15 patches
f"cd {builddir} && sed -i '/<string.h>/a #include <cstdint>' api/mfx_dispatch/linux/mfxparser.cpp && "
f"sed -i '/<math.h>/a #include <cstdint>' samples/sample_vpp/src/sample_vpp_frc_adv.cpp",
#configure
f"cd {builddir} && mkdir -pv build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release "
f"-D CMAKE_SKIP_INSTALL_RPATH=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -D BUILD_ALL=ON -D BUILD_TOOLS=ON " # quickshell MIGHT be in danger
f"-D ENABLE_ITT=OFF -D ENABLE_OPENCL=OFF -D ENABLE_WAYLAND=ON -D ENABLE_X11_DRI3=ON -D MFX_APPS_DIR=/usr/lib/mfx -W no-dev .. ",
#build
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 {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}"
]

33
intel-onevpl.recipe.py Normal file
View File

@@ -0,0 +1,33 @@
pkgname = "intel-onevpl"
pkgver = "26.1.0"
source = f"https://github.com/intel/vpl-gpu-rt/archive/refs/tags/intel-onevpl-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/vpl-gpu-rt-intel-onevpl-{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", "gmmlib", "intelmedia", "libdrm", "libva"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
#configure
f"cd {builddir} && mkdir -pv build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release "
f"-D CMAKE_SKIP_INSTALL_RPATH=ON -D BUILD_TESTS=OFF -D MFX_ENABLE_AENC=ON -W no-dev ..",
#build
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 {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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "iproute2" pkgname = "iproute2"
pkgver = "6.17.0" pkgver = "6.18.0"
source = f"https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-{pkgver}.tar.xz" source = f"https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-{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}"

View File

@@ -1,5 +1,5 @@
pkgname = "iso-codes" pkgname = "iso-codes"
pkgver = "4.18.0" pkgver = "4.20.1"
source = f"https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v{pkgver}/iso-codes-v{pkgver}.tar.gz" source = f"https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v{pkgver}/iso-codes-v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-v{pkgver}" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-v{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"

View File

@@ -1,5 +1,5 @@
pkgname = "jansson" pkgname = "jansson"
pkgver = "2.14.1" pkgver = "2.15.0"
source = f"https://github.com/akheron/jansson/releases/download/v{pkgver}/jansson-{pkgver}.tar.bz2" source = f"https://github.com/akheron/jansson/releases/download/v{pkgver}/jansson-{pkgver}.tar.bz2"
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}"

View File

@@ -1,4 +1,4 @@
pkgname = "jemalloc" pkgname = "jemalloc" # git repo
pkgver = "5.3.0" pkgver = "5.3.0"
source = f"https://github.com/jemalloc/jemalloc.git" source = f"https://github.com/jemalloc/jemalloc.git"
builddir = f"/tmp/fempkgbuild/{pkgname}" builddir = f"/tmp/fempkgbuild/{pkgname}"

View File

@@ -14,7 +14,11 @@ build = [
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build # 64-bit build
f"cd {builddir} && mkdir -p {destdir}/opt/kf6-{kf6_ver} && ln -sf kf6-{kf6_ver} {destdir}/opt/kf6 && mkdir build && cd build && " f"mkdir -p {destdir}/opt/kf6-{kf6_ver} && ln -sf kf6-{kf6_ver} {destdir}/opt/kf6",
f"mkdir -p {destdir}/opt/kf6/{{etc,share}}",
f"mkdir -p {destdir}/etc/dbus-1 {destdir}/usr/share/dbus-1 {destdir}/usr/share/polkit-1",
f"cd {builddir} && mkdir build && cd build && "
f"cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX -D K3B_DOC=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF -W no-dev ..", f"cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX -D K3B_DOC=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF -W no-dev ..",
f"cd {builddir}/build && make -j$(nproc)", f"cd {builddir}/build && make -j$(nproc)",
f"cd {builddir}/build && make DESTDIR={destdir} install", f"cd {builddir}/build && make DESTDIR={destdir} install",
@@ -22,6 +26,27 @@ build = [
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", f"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/",
# Move KF6 payloads safely (modern method)
f"""if [ -d {destdir}/opt/kf6/etc/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/etc/dbus-1 {destdir}/etc/dbus-1 &&
rm -rf {destdir}/opt/kf6/etc/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/share/dbus-1 {destdir}/usr/share/dbus-1 &&
rm -rf {destdir}/opt/kf6/share/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/polkit-1 ]; then
cp -aT {destdir}/opt/kf6/share/polkit-1 {destdir}/usr/share/polkit-1 &&
rm -rf {destdir}/opt/kf6/share/polkit-1
fi""",
# Replace directories with symlinks (modern)
f"""rm -rf {destdir}$KF6_PREFIX/etc/dbus-1 &&
ln -sfn /etc/dbus-1 {destdir}$KF6_PREFIX/etc/dbus-1""",
f"""rm -rf {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/dbus-1 {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/polkit-1 {destdir}$KF6_PREFIX/share/polkit-1""",
# Make tarball + manifests # Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", 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", f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",

70
kde-connect.recipe.py Normal file
View File

@@ -0,0 +1,70 @@
pkgname = "kde-connect"
pkgver = "25.12.1"
kf6_ver = "6.20.0"
source = f"https://invent.kde.org/network/kdeconnect-kde/-/archive/v{pkgver}/kdeconnect-kde-v{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/kdeconnect-kde-v{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["kf6", "qt6", "pulseaudio-qt", "kirigami-addons"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/kdeconnect-kde-v{pkgver}.tar.gz",
f"mkdir -p {destdir}/opt/kf6-{kf6_ver} && ln -sfn kf6-{kf6_ver} {destdir}/opt/kf6",
f"mkdir -p {destdir}/opt/kf6/{{etc,share}}",
f"""mkdir -p {destdir}$KF6_PREFIX/etc/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/polkit-1""",
f"mkdir -p {destdir}/etc/dbus-1 {destdir}/usr/share/dbus-1 {destdir}/usr/share/polkit-1",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF -W no-dev ..",
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"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/",
# --- KF6 dbus / polkit handling (ADDED) ---
f"""if [ -d {destdir}$KF6_PREFIX/etc/dbus-1 ]; then
mkdir -p {destdir}/etc/dbus-1 &&
cp -aT {destdir}$KF6_PREFIX/etc/dbus-1 {destdir}/etc/dbus-1 &&
rm -rf {destdir}$KF6_PREFIX/etc/dbus-1
fi""",
f"""if [ -d {destdir}$KF6_PREFIX/share/dbus-1 ]; then
mkdir -p {destdir}/usr/share/dbus-1 &&
cp -aT {destdir}$KF6_PREFIX/share/dbus-1 {destdir}/usr/share/dbus-1 &&
rm -rf {destdir}$KF6_PREFIX/share/dbus-1
fi""",
f"""if [ -d {destdir}$KF6_PREFIX/share/polkit-1 ]; then
mkdir -p {destdir}/usr/share/polkit-1 &&
cp -aT {destdir}$KF6_PREFIX/share/polkit-1 {destdir}/usr/share/polkit-1 &&
rm -rf {destdir}$KF6_PREFIX/share/polkit-1
fi""",
f"""rm -rf {destdir}$KF6_PREFIX/etc/dbus-1 &&
ln -sfn /etc/dbus-1 {destdir}$KF6_PREFIX/etc/dbus-1""",
f"""rm -rf {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/dbus-1 {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/polkit-1 {destdir}$KF6_PREFIX/share/polkit-1""",
# --- end additions ---
# 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}"
]

160
kde-plasma.recipe.py Normal file
View File

@@ -0,0 +1,160 @@
pkgname = "kde-plasma"
pkgver = "6.5.2"
kf6_ver = "6.20.0"
source = f"https://rocketleaguechatp.duckdns.org/pappalaugh.jpg"
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 = [
# REQUIRED
"boost", "ffmpeg", "gtk3", "kf6", "kirigami-addons", "libdisplay-info", "libpwquality", "libqalculate", "libnl", "libxcvt",
"libxkbcommon", "mesa", "wayland", "opencv", "phonon", "pipewire", "pulseaudio-qt", "qca", "qcoro", "sassc", "taglib",
"xdotool", "xorg-evdev", "phonon-backend-vlc",
# Reccomended (practically required)
"gsettings-desktop-schemas", "libcanberra", "libinput", "libpcap", "libwacom", "xorg-wacom", "Linux-PAM", "lm-sensors",
"oxygen-icons", "pciutils", "power-profiles-daemon", "python",
# Reccomended (runtime)
"accountsservice", "breeze-icons", "xdg-desktop-portal", "xwayland", "noto-fonts", "system-config-printer", #"kio-extras", smartmontools
# optional
"appstream", "glu", "plymouth" # wont add more since no have :laugh:
]
build = [
# make fembuiasczxcx zxczxczxc
f"mkdir -p {fembuilddir}",
f"mkdir -p {destdir}/opt/kf6-{kf6_ver} && ln -sfn kf6-{kf6_ver} {destdir}/opt/kf6",
f"mkdir -p {destdir}/opt/kf6/{{etc,share}}",
f"""mkdir -p {destdir}$KF6_PREFIX/etc/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/polkit-1""",
f"mkdir -p {destdir}/etc/dbus-1 {destdir}/usr/share/dbus-1 {destdir}/usr/share/polkit-1",
f"cd {fembuilddir} && wget https://rocketleaguechatp.duckdns.org/plasma-{pkgver}.md5 && "
f"wget -r -nH -nd -A '*.xz' -np https://rocketleaguechatp.duckdns.org/plasma/ || true",
f"""cd {fembuilddir} && bash -e <<'EOF'
while read -r line; do
# Get the file name, ignoring comments and blank lines
if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
file=$(echo $line | cut -d" " -f2)
pkg=$( echo $file|sed 's|^.*/||') # Remove directory
name=$( echo $pkg |sed 's|-6.*$||') # Isolate package name
packagedir=$(echo $pkg |sed 's|\\.tar.*||') # Source directory
tar -xvf $file
pushd $packagedir
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \\
-D CMAKE_INSTALL_LIBEXECDIR=libexec \\
-D CMAKE_BUILD_TYPE=Release \\
-D BUILD_QT5=OFF \\
-D BUILD_TESTING=OFF \\
-D ENABLE_DOCS=OFF \\
-W no-dev .. &&
make -j$(nproc)
make DESTDIR={destdir} install
# ---- license copying (best-effort) ----
licensedir={destdir}/usr/share/licenses/$name
mkdir -p $licensedir
find .. -type f \\( \\
-iname COPYING -o \\
-iname COPYRIGHT -o \\
-iname NOTICE -o \\
-iname LICENSE -o \\
-iname LICENCE \\
\\) -exec cp -pv {{}} $licensedir \\; || true
find .. -type d -iname LICENSES | while read -r licdir; do
cp -pvra $licdir/* $licensedir/ || true
done || true
popd
rm -rf $packagedir
/sbin/ldconfig || true
done < plasma-{pkgver}.md5
EOF""",
# DM & portals etc
f"""# Setup xsessions (X11 sessions)
install -dvm 755 {destdir}/usr/share/xsessions
cd {destdir}/usr/share/xsessions
[ -e plasma.desktop ] ||
ln -sfv $KF6_PREFIX/share/xsessions/plasmax11.desktop
# Setup wayland-sessions
install -dvm 755 {destdir}/usr/share/wayland-sessions
cd {destdir}/usr/share/wayland-sessions
[ -e plasmawayland.desktop ] ||
ln -sfv $KF6_PREFIX/share/wayland-sessions/plasma.desktop
# Setup xdg-desktop-portal
install -dvm 755 {destdir}/usr/share/xdg-desktop-portal
cd {destdir}/usr/share/xdg-desktop-portal
[ -e kde-portals.conf ] ||
ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/kde-portals.conf
# Setup kde portal
install -dvm 755 {destdir}/usr/share/xdg-desktop-portal/portals
cd {destdir}/usr/share/xdg-desktop-portal/portals
[ -e kde.portal ] ||
ln -sfv $KF6_PREFIX/share/xdg-desktop-portal/portals/kde.portal""",
# remove useless systemd bloat
f"rm -rf {destdir}$KF6_PREFIX/lib/systemd",
# Linux-PAM setup
f"mkdir -p {destdir}/etc/pam.d",
f"wget https://rocketleaguechatp.duckdns.org/kde -O {destdir}/etc/pam.d/kde",
f"wget https://rocketleaguechatp.duckdns.org/kde-np -O {destdir}/etc/pam.d/kde-np",
f"wget https://rocketleaguechatp.duckdns.org/kscreensaver -O {destdir}/etc/pam.d/kscreensaver",
# Move payloads safely (no globbing, no dotfile loss)
f"""if [ -d {destdir}/opt/kf6/etc/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/etc/dbus-1 {destdir}/etc/dbus-1 &&
rm -rf {destdir}/opt/kf6/etc/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/share/dbus-1 {destdir}/usr/share/dbus-1 &&
rm -rf {destdir}/opt/kf6/share/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/polkit-1 ]; then
cp -aT {destdir}/opt/kf6/share/polkit-1 {destdir}/usr/share/polkit-1 &&
rm -rf {destdir}/opt/kf6/share/polkit-1
fi""",
# Replace directories with symlinks (explicit + safe)
f"""rm -rf {destdir}$KF6_PREFIX/etc/dbus-1 &&
ln -sfn /etc/dbus-1 {destdir}$KF6_PREFIX/etc/dbus-1""",
f"""rm -rf {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/dbus-1 {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/polkit-1 {destdir}$KF6_PREFIX/share/polkit-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,41 +1,50 @@
# TODO when a new kf6 ver drops update also the single kapidox recipe (and breeze-icons and extra-cmake-modules and k3b) # TODO when a new kf6 ver drops update also the single kapidox recipe (and breeze-icons and extra-cmake-modules and k3b kirigami addons and plasma
pkgname = "kf6" pkgname = "kf6" # libkccdb, pulseaudio-qt kde-connect
pkgver = "6.20.0" pkgver = "6.20.0"
Pkgver = pkgver[:4] Pkgver = pkgver[:4]
source = f"https://download.kde.org/stable/frameworks/{Pkgver}/attica-{pkgver}.tar.xz" source = f"https://rocketleaguechatp.duckdns.org/pappalaugh.jpg"
bbuilddir = f"/tmp/fempkg/build/{pkgname}/attica-{pkgver}" bbuilddir = f"/tmp/fempkg/build/{pkgname}/attica-{pkgver}"
builddir = f"{bbuilddir}/kf6" builddir = f"{bbuilddir}/kf6"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" 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 = ["gpgmepp", "aspell","extra-cmake-modules", "breeze-icons", "libcanberra", "libgcrypt", "libical", "lmdb", "qca", "libqrencode", "plasma-wayland-protocols", "shared-mime-info", "URI", "wget"] deps = ["gpgmepp", "aspell","extra-cmake-modules", "breeze-icons", "libcanberra", "libgcrypt",
"libical", "lmdb", "qca", "libqrencode", "plasma-wayland-protocols",
"shared-mime-info", "URI", "wget", "zxing-cpp"]
build = [ build = [
# Extract # Extract
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/attica-{pkgver}.tar.xz && mkdir {builddir}", f"mkdir -p {builddir}",
# kf6 prefix + versioned symlink
f"mkdir -p {destdir}/opt/kf6-{pkgver} && ln -sfn kf6-{pkgver} {destdir}/opt/kf6",
f"mkdir -p {destdir}/opt/kf6/{{etc,share}}",
f"""mkdir -p {destdir}$KF6_PREFIX/etc/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/polkit-1""",
f"mkdir -p {destdir}/etc/dbus-1 {destdir}/usr/share/dbus-1 {destdir}/usr/share/polkit-1",
# 64-bit build
f"cd {builddir} && export url=https://rocketleaguechatp.duckdns.org/kf6/ && wget -r -nH -nd -A '*.xz' -np $url || true", f"cd {builddir} && export url=https://rocketleaguechatp.duckdns.org/kf6/ && wget -r -nH -nd -A '*.xz' -np $url || true",
f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/frameworks-{pkgver}.md5", f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/frameworks-{pkgver}.md5",
f"""cd {builddir} &&
f"""cd {builddir} && bash -e <<'EOF'
mkdir -p {destdir}$KF6_PREFIX mkdir -p {destdir}$KF6_PREFIX
while read -r line; do while read -r line; do
# Get the file name, ignoring comments and blank lines
if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
file=$(echo $line | cut -d" " -f2) file=$(echo $line | cut -d" " -f2)
pkg=$(echo $file|sed 's|^.*/||') # Remove directory pkg=$(echo $file|sed 's|^.*/||')
packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory packagedir=$(echo $pkg|sed 's|\\.tar.*||')
name=$(echo $pkg|sed 's|-6.*$||')
name=$(echo $pkg|sed 's|-6.*$||') # Isolate package name
tar -xf $file tar -xf $file
pushd $packagedir pushd $packagedir
# kapidox is a python module
case $name in case $name in
kapidox) kapidox)
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
@@ -60,33 +69,57 @@ while read -r line; do
-D CMAKE_BUILD_TYPE=Release \\ -D CMAKE_BUILD_TYPE=Release \\
-D BUILD_TESTING=OFF \\ -D BUILD_TESTING=OFF \\
-D BUILD_PYTHON_BINDINGS=OFF \\ -D BUILD_PYTHON_BINDINGS=OFF \\
-D ENABLE_DOCS=OFF \\
-W no-dev .. -W no-dev ..
make -j$(nproc) make -j$(nproc)
make DESTDIR={destdir} install make DESTDIR={destdir} install
mkdir -p "{destdir}/usr/share/licenses/$name" mkdir -p "{destdir}/usr/share/licenses/$name"
LICENSE_FILES=$(find . \\ LICENSE_FILES=$(find . \\
-regextype posix-extended \\ -regextype posix-extended \\
-iregex '.*(LICEN[SC]E(|S)|COPYING|COPYRIGHT|LEGAL|NOTICE)(|\.txt|\.md)' \\ -iregex '.*(LICEN[SC]E(|S)|COPYING|COPYRIGHT|LEGAL|NOTICE)(|\\.txt|\\.md)' \\
-type f) -type f)
while read -r lf; do while read -r lf; do
[ -z "$lf" ] && continue [ -z "$lf" ] && continue
relpath=$(echo "$lf" | sed 's|^\./||') relpath=$(echo "$lf" | sed 's|^\\./||')
install -Dm644 "$lf" \\ install -Dm644 "$lf" \\
"{destdir}/usr/share/licenses/$name/$relpath" "{destdir}/usr/share/licenses/$name/$relpath"
done <<< "$LICENSE_FILES" done <<< "$LICENSE_FILES"
popd
popd
rm -rf $packagedir rm -rf $packagedir
/sbin/ldconfig /sbin/ldconfig
done < frameworks-{pkgver}.md5 done < frameworks-{pkgver}.md5
EOF
""", """,
# Rename and link inside DESTDIR instead of system root # Move payloads safely (no globbing, no dotfile loss)
f"cd {destdir}/opt && mv -v kf6 kf6-{pkgver} && ln -sfvn kf6-{pkgver} kf6", f"""if [ -d {destdir}/opt/kf6/etc/dbus-1 ]; then
f"rm -rf {destdir}/opt/kf6/lib/systemd || true", cp -aT {destdir}/opt/kf6/etc/dbus-1 {destdir}/etc/dbus-1 &&
rm -rf {destdir}/opt/kf6/etc/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/share/dbus-1 {destdir}/usr/share/dbus-1 &&
rm -rf {destdir}/opt/kf6/share/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/polkit-1 ]; then
cp -aT {destdir}/opt/kf6/share/polkit-1 {destdir}/usr/share/polkit-1 &&
rm -rf {destdir}/opt/kf6/share/polkit-1
fi""",
# Replace directories with symlinks (explicit + safe)
f"""rm -rf {destdir}$KF6_PREFIX/etc/dbus-1 &&
ln -sfn /etc/dbus-1 {destdir}$KF6_PREFIX/etc/dbus-1""",
f"""rm -rf {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/dbus-1 {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/polkit-1 {destdir}$KF6_PREFIX/share/polkit-1""",
# Make tarball + manifests # Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",

64
kirigami-addons.recipe.py Normal file
View File

@@ -0,0 +1,64 @@
pkgname = "kirigami-addons"
pkgver = "1.10.0"
kf6_ver = "6.20.0"
source = f"https://download.kde.org/stable/kirigami-addons/kirigami-addons-{pkgver}.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"
deps = ["kf6", "vulkan-loader"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
f"mkdir -p {destdir}/opt/kf6-{kf6_ver} && ln -sfn kf6-{kf6_ver} {destdir}/opt/kf6",
f"mkdir -p {destdir}/opt/kf6/{{etc,share}}",
f"""mkdir -p {destdir}$KF6_PREFIX/etc/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/dbus-1 &&
mkdir -p {destdir}$KF6_PREFIX/share/polkit-1""",
f"mkdir -p {destdir}/etc/dbus-1 {destdir}/usr/share/dbus-1 {destdir}/usr/share/polkit-1",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF ..",
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"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/",
# Move payloads safely (no globbing, no dotfile loss)
f"""if [ -d {destdir}/opt/kf6/etc/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/etc/dbus-1 {destdir}/etc/dbus-1 &&
rm -rf {destdir}/opt/kf6/etc/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/dbus-1 ]; then
cp -aT {destdir}/opt/kf6/share/dbus-1 {destdir}/usr/share/dbus-1 &&
rm -rf {destdir}/opt/kf6/share/dbus-1
fi""",
f"""if [ -d {destdir}/opt/kf6/share/polkit-1 ]; then
cp -aT {destdir}/opt/kf6/share/polkit-1 {destdir}/usr/share/polkit-1 &&
rm -rf {destdir}/opt/kf6/share/polkit-1
fi""",
# Replace directories with symlinks (explicit + safe)
f"""rm -rf {destdir}$KF6_PREFIX/etc/dbus-1 &&
ln -sfn /etc/dbus-1 {destdir}$KF6_PREFIX/etc/dbus-1""",
f"""rm -rf {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/dbus-1 {destdir}$KF6_PREFIX/share/dbus-1 &&
ln -sfn /usr/share/polkit-1 {destdir}$KF6_PREFIX/share/polkit-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,5 +1,5 @@
pkgname = "lcms2" pkgname = "lcms2"
pkgver = "2.17" pkgver = "2.18"
source = f"https://github.com/mm2/Little-CMS/releases/download/lcms{pkgver}/lcms2-{pkgver}.tar.gz" source = f"https://github.com/mm2/Little-CMS/releases/download/lcms{pkgver}/lcms2-{pkgver}.tar.gz"
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}"

7
lfs-repo.code-workspace Normal file
View File

@@ -0,0 +1,7 @@
{
"folders": [
{
"path": "."
}
]
}

31
libadwaita.recipe.py Normal file
View File

@@ -0,0 +1,31 @@
pkgname = "libadwaita"
pkgver = "1.8.3"
Pkgver = pkgver[:3] # meow :3 # hold on what a coincidence xd # what
source = f"https://download.gnome.org/sources/libadwaita/{Pkgver}/libadwaita-{pkgver}.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"
deps = ["appstream", "gtk4", "vala", "sassc"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja 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}"
]

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,5 +1,5 @@
pkgname = "libarchive" pkgname = "libarchive"
pkgver = "3.8.2" pkgver = "3.8.5"
source = f"https://github.com/libarchive/libarchive/releases/download/v{pkgver}/libarchive-{pkgver}.tar.xz" source = f"https://github.com/libarchive/libarchive/releases/download/v{pkgver}/libarchive-{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}"
@@ -15,7 +15,7 @@ build = [
# 64-bit build # 64-bit build
f"cd {builddir} && ./configure --prefix=/usr --disable-static", f"cd {builddir} && ./configure --prefix=/usr --disable-static",
f"cd {builddir} && make -j$(nproc)", f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install && ln -sfv bsdunzip {destdir}/usr/bin/unzip", f"cd {builddir} && make DESTDIR={destdir} install",
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

@@ -0,0 +1,30 @@
pkgname = "libayatana-appindicator"
pkgver = "0.5.94"
source = f"https://github.com/AyatanaIndicators/libayatana-appindicator/archive/refs/tags/{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 = ["libayatana-indicator", "cmake", "glibc", "libdbusmenu"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -DENABLE_BINDINGS_MONO=off -G Ninja ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
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 {fembuilddir}"
]

View File

@@ -0,0 +1,30 @@
pkgname = "libayatana-indicator"
pkgver = "0.9.4"
source = f"https://github.com/AyatanaIndicators/libayatana-indicator/archive/refs/tags/{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 = ["ayatana-ido3"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -G Ninja ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja 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}"
]

View File

@@ -1,5 +1,5 @@
pkgname = "libbytesize" pkgname = "libbytesize"
pkgver = "2.11" pkgver = "2.12"
source = f"https://github.com/storaged-project/libbytesize/releases/download/{pkgver}/libbytesize-{pkgver}.tar.gz" source = f"https://github.com/storaged-project/libbytesize/releases/download/{pkgver}/libbytesize-{pkgver}.tar.gz"
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}"

35
libcdio.recipe.py Normal file
View File

@@ -0,0 +1,35 @@
pkgname = "libcdio"
pkgver = "2.1.0"
pa_ver = "10.2+2.0.2"
source = f"https://ftpmirror.gnu.org/libcdio/libcdio-{pkgver}.tar.bz2"
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 = ["appstream", "gtk4", "vala", "sassc"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2 && "
f"wget https://ftpmirror.gnu.org/libcdio/libcdio-paranoia-{pa_ver}.tar.bz2",
# 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"cd {builddir} && tar -xf ../libcdio-paranoia-{pa_ver}.tar.bz2 && cd libcdio-paranoia-{pa_ver} && ./configure --prefix=/usr --disable-static",
f"cd {builddir}/libcdio-paranoia-{pa_ver} && make -j$(nproc) && 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}/libcdio-paranoia-{pa_ver}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE.libcdio-paranoia",
# 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,5 +1,5 @@
pkgname = "libclc" pkgname = "libclc"
pkgver = "21.1.2" pkgver = "21.1.8"
source = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/libclc-{pkgver}.src.tar.xz" source = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/libclc-{pkgver}.src.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}/libclc-{pkgver}.src" builddir = f"/tmp/fempkg/build/{pkgname}/libclc-{pkgver}.src"
fembuilddir = f"/tmp/fempkg/build/{pkgname}" fembuilddir = f"/tmp/fempkg/build/{pkgname}"

37
libdatachannel.recipe.py Normal file
View File

@@ -0,0 +1,37 @@
pkgname = "libdatachannel"
pkgver = "0.24.0"
source = f"https://github.com/paullouisageneau/libdatachannel/archive/v{pkgver}/libdatachannel-{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 = ["cmake", "libjuice"]
build = [
# Extract & download additional submodules
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && "
f"wget https://github.com/SergiusTheBest/plog/archive/94899e0b926ac1b0f4750bfbd495167b4a6ae9ef.tar.gz "
f"https://github.com/sctplab/usrsctp/archive/fec583d54493f879d2ae44a743423bf8a04371ab.tar.gz",
# extract and rename submodules
f"cd {builddir} && tar -xvf ../94899e0b926ac1b0f4750bfbd495167b4a6ae9ef.tar.gz && tar -xvf ../fec583d54493f879d2ae44a743423bf8a04371ab.tar.gz",
f"cd {builddir} && mv -T plog-* deps/plog && mv -T usrsctp-* deps/usrsctp",
# configure
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_INSTALL_RPATH=ON "
f"-D USE_GNUTLS=0 -D USE_NICE=0 -D USE_SYSTEM_JUICE=1 -D USE_SYSTEM_SRTP=1 -D NO_EXAMPLES=1 -D NO_TESTS=1 -Wno-dev -G Ninja ..",
# build & install
f"cd {builddir}/build && ninja && DESTDIR={destdir} ninja install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {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}"
]

Some files were not shown because too many files have changed in this diff Show More