diff --git a/CLI11.recipe.py b/CLI11.recipe.py new file mode 100644 index 0000000..3842cb8 --- /dev/null +++ b/CLI11.recipe.py @@ -0,0 +1,29 @@ +pkgname = "CLI11" +pkgver = "2.6.1" +source = f"https://github.com/CLIUtils/CLI11.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["git", "cmake"] # well i mean + +build = [ + + # 64-bit build + f"cd {builddir} && git checkout ee326d6 && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -DCLI11_PRECOMPILED=ON ..", + 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 {builddir}" +] diff --git a/LVM2.recipe.py b/LVM2.recipe.py new file mode 100644 index 0000000..5ef4c03 --- /dev/null +++ b/LVM2.recipe.py @@ -0,0 +1,31 @@ +pkgname = "LVM2" +pkgver = "2.03.37" +source = f"https://sourceware.org/ftp/lvm2/LVM2.{pkgver}.tgz" +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 = ["libaio"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}.{pkgver}.tgz", + + # 64-bit build + f"cd {builddir} && PATH+=\\:/usr/sbin ./configure --prefix=/usr --enable-cmdlib --enable-pkgconfig --enable-udev_sync", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && rm -fv {destdir}/usr/lib/udev/rules.d/69-dm-lvm.rules", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.BSD {destdir}/usr/share/licenses/{pkgname}/COPYING.BSD", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/Linux-PAM.recipe.py b/Linux-PAM.recipe.py new file mode 100644 index 0000000..cbd2a16 --- /dev/null +++ b/Linux-PAM.recipe.py @@ -0,0 +1,49 @@ +pkgname = "Linux-PAM" +pkgver = "1.7.1" +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}" +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 /tmp/fempkg/build {fembuilddir} || true && 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 docdir=/usr/share/doc/Linux-PAM-{pkgver}", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && chmod -v 4755 {destdir}/usr/sbin/unix_chkpwd && rm -rf {destdir}/usr/lib/systemd", + + f"install -vdm755 {destdir}/etc/pam.d && " + f"wget https://rocketleaguechatp.duckdns.org/other -O {destdir}/etc/pam.d/other && " + f"wget https://rocketleaguechatp.duckdns.org/system-account -O {destdir}/etc/pam.d/system-account && " + f"wget https://rocketleaguechatp.duckdns.org/system-auth -O {destdir}/etc/pam.d/system-auth && " + f"wget https://rocketleaguechatp.duckdns.org/system-session -O {destdir}/etc/pam.d/system-session && " + f"wget https://rocketleaguechatp.duckdns.org/system-password -O {destdir}/etc/pam.d/system-password", + + # 32 bit, yes + f"cd {builddir}/build && rm -rf * && " + f"CC=\"gcc -m32\" CXX=\"g++ -m32\" PKG_CONFIG_PATH=\"/usr/lib32/pkgconfig\" meson setup .. --prefix=/usr --libdir=/usr/lib32 --buildtype=release " + f"-D docs=disabled -D elogind=disabled -D logind=disabled -D nis=disabled && " + f"ninja", + + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + 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 {builddir} {fembuilddir}" +] + +triggers = [ + {"rebuild_package": ["libcap"]}, + "/sbin/ldconfig" +] \ No newline at end of file diff --git a/MIME-Base32.recipe.py b/MIME-Base32.recipe.py new file mode 100644 index 0000000..017f47f --- /dev/null +++ b/MIME-Base32.recipe.py @@ -0,0 +1,29 @@ +pkgname = "MIME-Base32" +pkgver = "1.303" +source = f"https://cpan.metacpan.org/authors/id/R/RE/REHSACK/MIME-Base32-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && perl Makefile.PL", + 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/ModemManager.recipe.py b/ModemManager.recipe.py new file mode 100644 index 0000000..d8c42c3 --- /dev/null +++ b/ModemManager.recipe.py @@ -0,0 +1,31 @@ +pkgname = "ModemManager" +pkgver = "1.24.2" +source = f"https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/{pkgver}/ModemManager-{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 = ["elogind", "libgudev", "glib", "polkit", "vala", "libmbim", "libqmi"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D bash_completion=false -D qrtr=false -D systemdsystemunitdir=no ..", + 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/NSPR.recipe.py b/NSPR.recipe.py new file mode 100644 index 0000000..8ee5592 --- /dev/null +++ b/NSPR.recipe.py @@ -0,0 +1,29 @@ +pkgname = "NSPR" +pkgver = "4.38.2" +source = f"https://archive.mozilla.org/pub/nspr/releases/v{pkgver}/src/nspr-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/nspr-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/nspr-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir}/nspr && sed -i '/^RELEASE/s|^|#|' pr/src/misc/Makefile.in && sed -i 's|$(LIBRARY) ||' config/rules.mk && ./configure --prefix=/usr --with-mozilla --with-pthreads $([ $(uname -m) = x86_64 ] && echo --enable-64bit)", + f"cd {builddir}/nspr && make -j$(nproc)", + f"cd {builddir}/nspr && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/nspr/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/NSS.recipe.py b/NSS.recipe.py new file mode 100644 index 0000000..45affd3 --- /dev/null +++ b/NSS.recipe.py @@ -0,0 +1,37 @@ +pkgname = "NSS" +pkgver = "3.119" # 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" +builddir = f"/tmp/fempkg/build/{pkgname}/nss-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["NSPR", "p11-kit"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/nss-{pkgver}.tar.gz && wget https://www.linuxfromscratch.org/patches/blfs/svn/nss-standalone-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../nss-standalone-1.patch", + + f"cd {builddir}/nss && make BUILD_OPT=1 NSPR_INCLUDE_DIR=/usr/include/nspr USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz NSS_ENABLE_WERROR=0 NSS_USE_SYSTEM_SQLITE=1 " + f"$([ $(uname -m) = x86_64 ] && echo USE_64=1)", + + f"mkdir -p {destdir}/usr/lib/pkgconfig {destdir}/usr/bin", + + f"cd {builddir}/dist && install -v -m755 Linux*/lib/*.so {destdir}/usr/lib && install -v -m644 Linux*/lib/{{*.chk,libcrmf.a}} {destdir}/usr/lib && " + f"install -v -m755 -d {destdir}/usr/include/nss && cp -v -RL {{public,private}}/nss/* {destdir}/usr/include/nss && install -v -m755 " + f"Linux*/bin/{{certutil,nss-config,pk12util}} {destdir}/usr/bin && install -v -m644 Linux*/lib/pkgconfig/nss.pc {destdir}/usr/lib/pkgconfig && ln -sfv " + f"./pkcs11/p11-kit-trust.so {destdir}/usr/lib/libnssckbi.so", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/nss/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 {builddir} {fembuilddir}" +] diff --git a/NetworkManager.recipe.py b/NetworkManager.recipe.py new file mode 100644 index 0000000..b4ada42 --- /dev/null +++ b/NetworkManager.recipe.py @@ -0,0 +1,60 @@ +pkgname = "NetworkManager" +pkgver = "1.54.2" +source = f"https://rocketleaguechatp.duckdns.org/NetworkManager-{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 = ["libndp", "curl", "dhcpcd", "iptables", "libpsl", "newt", "NSS", "polkit", "pygobject", "elogind", "vala", "wpa_supplicant"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/' && mkdir build && cd build && meson setup .. --prefix=/usr " + f"--buildtype=release -D libaudit=no -D nmtui=true -D ovs=true -D ppp=false -D nbft=false -D selinux=false -D session_tracking=elogind " + f"-D modem_manager=false -D systemdsystemunitdir=no -D systemd_journal=false -D nm_cloud_setup=false -D qt=false", + + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/NetworkManager{{,-{pkgver}}}", + + f"mkdir -p {destdir}/etc/NetworkManager/conf.d /usr/share/polkit-1/rules.d", + +f"""cat > {destdir}/etc/NetworkManager/NetworkManager.conf << "EOF" +[main] +plugins=keyfile +EOF""", +f"""cat > {destdir}/etc/NetworkManager/conf.d/polkit.conf << "EOF" +[main] +auth-polkit=true +EOF""", +f"""cat > {destdir}/etc/NetworkManager/conf.d/no-dns-update.conf << "EOF" +[main] +dns=none +EOF""", + +f"""mkdir -p {destdir}/usr/share/polkit-1/rules.d && cat > {destdir}/usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF" +polkit.addRule(function(action, subject) {{ + if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {{ + return polkit.Result.YES; + }} +}}); +EOF""", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/COPYING* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && groupadd -fg 86 netdev || true", + f"/usr/sbin/usermod -a -G netdev $(cat /var/lib/fempkg/username) || true", +] \ No newline at end of file diff --git a/SVT-AV1.recipe.py b/SVT-AV1.recipe.py new file mode 100644 index 0000000..fdbcd99 --- /dev/null +++ b/SVT-AV1.recipe.py @@ -0,0 +1,30 @@ +pkgname = "SVT-AV1" +pkgver = "3.1.2" +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}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake", "nasm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{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 CMAKE_SKIP_INSTALL_RPATH=ON -D BUILD_SHARED_LIBS=ON -W no-dev -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.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + f"install -v -m644 {builddir}/LICENSE-BSD2.md {destdir}/usr/share/licenses/{pkgname}/LICENSE-BSD2.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/URI.recipe.py b/URI.recipe.py new file mode 100644 index 0000000..db07ec9 --- /dev/null +++ b/URI.recipe.py @@ -0,0 +1,29 @@ +pkgname = "URI" +pkgver = "5.34" +source = f"https://www.cpan.org/authors/id/O/OA/OALDERS/URI-{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 = ["MIME-Base32"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && perl Makefile.PL", + 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/__pycache__/CLI11.recipe.cpython-314.pyc b/__pycache__/CLI11.recipe.cpython-314.pyc new file mode 100644 index 0000000..1802cf7 Binary files /dev/null and b/__pycache__/CLI11.recipe.cpython-314.pyc differ diff --git a/__pycache__/LVM2.recipe.cpython-314.pyc b/__pycache__/LVM2.recipe.cpython-314.pyc new file mode 100644 index 0000000..e3d1955 Binary files /dev/null and b/__pycache__/LVM2.recipe.cpython-314.pyc differ diff --git a/__pycache__/Linux-PAM.recipe.cpython-314.pyc b/__pycache__/Linux-PAM.recipe.cpython-314.pyc new file mode 100644 index 0000000..42d5293 Binary files /dev/null and b/__pycache__/Linux-PAM.recipe.cpython-314.pyc differ diff --git a/__pycache__/MIME-Base32.recipe.cpython-314.pyc b/__pycache__/MIME-Base32.recipe.cpython-314.pyc new file mode 100644 index 0000000..e96ef00 Binary files /dev/null and b/__pycache__/MIME-Base32.recipe.cpython-314.pyc differ diff --git a/__pycache__/ModemManager.recipe.cpython-314.pyc b/__pycache__/ModemManager.recipe.cpython-314.pyc new file mode 100644 index 0000000..f878adc Binary files /dev/null and b/__pycache__/ModemManager.recipe.cpython-314.pyc differ diff --git a/__pycache__/NSPR.recipe.cpython-314.pyc b/__pycache__/NSPR.recipe.cpython-314.pyc new file mode 100644 index 0000000..2ccfcdf Binary files /dev/null and b/__pycache__/NSPR.recipe.cpython-314.pyc differ diff --git a/__pycache__/NSS.recipe.cpython-314.pyc b/__pycache__/NSS.recipe.cpython-314.pyc new file mode 100644 index 0000000..f0e3e2e Binary files /dev/null and b/__pycache__/NSS.recipe.cpython-314.pyc differ diff --git a/__pycache__/NetworkManager.recipe.cpython-314.pyc b/__pycache__/NetworkManager.recipe.cpython-314.pyc new file mode 100644 index 0000000..928f0e8 Binary files /dev/null and b/__pycache__/NetworkManager.recipe.cpython-314.pyc differ diff --git a/__pycache__/SVT-AV1.recipe.cpython-314.pyc b/__pycache__/SVT-AV1.recipe.cpython-314.pyc new file mode 100644 index 0000000..064a59a Binary files /dev/null and b/__pycache__/SVT-AV1.recipe.cpython-314.pyc differ diff --git a/__pycache__/URI.recipe.cpython-314.pyc b/__pycache__/URI.recipe.cpython-314.pyc new file mode 100644 index 0000000..210bc58 Binary files /dev/null and b/__pycache__/URI.recipe.cpython-314.pyc differ diff --git a/__pycache__/abseil-cpp.recipe.cpython-314.pyc b/__pycache__/abseil-cpp.recipe.cpython-314.pyc new file mode 100644 index 0000000..33b937c Binary files /dev/null and b/__pycache__/abseil-cpp.recipe.cpython-314.pyc differ diff --git a/__pycache__/accountsservice.recipe.cpython-314.pyc b/__pycache__/accountsservice.recipe.cpython-314.pyc new file mode 100644 index 0000000..f805a34 Binary files /dev/null and b/__pycache__/accountsservice.recipe.cpython-314.pyc differ diff --git a/__pycache__/acl.recipe.cpython-314.pyc b/__pycache__/acl.recipe.cpython-314.pyc new file mode 100644 index 0000000..267e9e1 Binary files /dev/null and b/__pycache__/acl.recipe.cpython-314.pyc differ diff --git a/__pycache__/adw-gtk3-theme.recipe.cpython-314.pyc b/__pycache__/adw-gtk3-theme.recipe.cpython-314.pyc new file mode 100644 index 0000000..3ae7784 Binary files /dev/null and b/__pycache__/adw-gtk3-theme.recipe.cpython-314.pyc differ diff --git a/__pycache__/alsa-lib.recipe.cpython-314.pyc b/__pycache__/alsa-lib.recipe.cpython-314.pyc new file mode 100644 index 0000000..f7f2377 Binary files /dev/null and b/__pycache__/alsa-lib.recipe.cpython-314.pyc differ diff --git a/__pycache__/appstream-glib.recipe.cpython-314.pyc b/__pycache__/appstream-glib.recipe.cpython-314.pyc new file mode 100644 index 0000000..1ba4fa0 Binary files /dev/null and b/__pycache__/appstream-glib.recipe.cpython-314.pyc differ diff --git a/__pycache__/appstream.recipe.cpython-314.pyc b/__pycache__/appstream.recipe.cpython-314.pyc new file mode 100644 index 0000000..a3a10f3 Binary files /dev/null and b/__pycache__/appstream.recipe.cpython-314.pyc differ diff --git a/__pycache__/atspi2core.recipe.cpython-314.pyc b/__pycache__/atspi2core.recipe.cpython-314.pyc new file mode 100644 index 0000000..79520b5 Binary files /dev/null and b/__pycache__/atspi2core.recipe.cpython-314.pyc differ diff --git a/__pycache__/attr.recipe.cpython-314.pyc b/__pycache__/attr.recipe.cpython-314.pyc new file mode 100644 index 0000000..06d97a3 Binary files /dev/null and b/__pycache__/attr.recipe.cpython-314.pyc differ diff --git a/__pycache__/aubio.recipe.cpython-314.pyc b/__pycache__/aubio.recipe.cpython-314.pyc new file mode 100644 index 0000000..9717619 Binary files /dev/null and b/__pycache__/aubio.recipe.cpython-314.pyc differ diff --git a/__pycache__/autoconf.recipe.cpython-314.pyc b/__pycache__/autoconf.recipe.cpython-314.pyc new file mode 100644 index 0000000..f85a57f Binary files /dev/null and b/__pycache__/autoconf.recipe.cpython-314.pyc differ diff --git a/__pycache__/automake.recipe.cpython-314.pyc b/__pycache__/automake.recipe.cpython-314.pyc new file mode 100644 index 0000000..85a5e95 Binary files /dev/null and b/__pycache__/automake.recipe.cpython-314.pyc differ diff --git a/__pycache__/avahi.recipe.cpython-314.pyc b/__pycache__/avahi.recipe.cpython-314.pyc new file mode 100644 index 0000000..9b59416 Binary files /dev/null and b/__pycache__/avahi.recipe.cpython-314.pyc differ diff --git a/__pycache__/bash.recipe.cpython-314.pyc b/__pycache__/bash.recipe.cpython-314.pyc new file mode 100644 index 0000000..2a4afc7 Binary files /dev/null and b/__pycache__/bash.recipe.cpython-314.pyc differ diff --git a/__pycache__/bc.recipe.cpython-314.pyc b/__pycache__/bc.recipe.cpython-314.pyc new file mode 100644 index 0000000..a2c1e5a Binary files /dev/null and b/__pycache__/bc.recipe.cpython-314.pyc differ diff --git a/__pycache__/binutils.recipe.cpython-314.pyc b/__pycache__/binutils.recipe.cpython-314.pyc new file mode 100644 index 0000000..08b58dc Binary files /dev/null and b/__pycache__/binutils.recipe.cpython-314.pyc differ diff --git a/__pycache__/bison.recipe.cpython-314.pyc b/__pycache__/bison.recipe.cpython-314.pyc new file mode 100644 index 0000000..f61b18d Binary files /dev/null and b/__pycache__/bison.recipe.cpython-314.pyc differ diff --git a/__pycache__/bluez.recipe.cpython-314.pyc b/__pycache__/bluez.recipe.cpython-314.pyc new file mode 100644 index 0000000..2a40387 Binary files /dev/null and b/__pycache__/bluez.recipe.cpython-314.pyc differ diff --git a/__pycache__/breakpad.recipe.cpython-314.pyc b/__pycache__/breakpad.recipe.cpython-314.pyc new file mode 100644 index 0000000..fcf30c3 Binary files /dev/null and b/__pycache__/breakpad.recipe.cpython-314.pyc differ diff --git a/__pycache__/breeze-icons.recipe.cpython-314.pyc b/__pycache__/breeze-icons.recipe.cpython-314.pyc new file mode 100644 index 0000000..51894cf Binary files /dev/null and b/__pycache__/breeze-icons.recipe.cpython-314.pyc differ diff --git a/__pycache__/brightnessctl.recipe.cpython-314.pyc b/__pycache__/brightnessctl.recipe.cpython-314.pyc new file mode 100644 index 0000000..5387df5 Binary files /dev/null and b/__pycache__/brightnessctl.recipe.cpython-314.pyc differ diff --git a/__pycache__/brotli.recipe.cpython-314.pyc b/__pycache__/brotli.recipe.cpython-314.pyc new file mode 100644 index 0000000..daf2be3 Binary files /dev/null and b/__pycache__/brotli.recipe.cpython-314.pyc differ diff --git a/__pycache__/btop.recipe.cpython-314.pyc b/__pycache__/btop.recipe.cpython-314.pyc new file mode 100644 index 0000000..411c493 Binary files /dev/null and b/__pycache__/btop.recipe.cpython-314.pyc differ diff --git a/__pycache__/bubblewrap.recipe.cpython-314.pyc b/__pycache__/bubblewrap.recipe.cpython-314.pyc new file mode 100644 index 0000000..4194e9c Binary files /dev/null and b/__pycache__/bubblewrap.recipe.cpython-314.pyc differ diff --git a/__pycache__/bzip2.recipe.cpython-314.pyc b/__pycache__/bzip2.recipe.cpython-314.pyc new file mode 100644 index 0000000..57df243 Binary files /dev/null and b/__pycache__/bzip2.recipe.cpython-314.pyc differ diff --git a/__pycache__/c-ares.recipe.cpython-314.pyc b/__pycache__/c-ares.recipe.cpython-314.pyc new file mode 100644 index 0000000..ca5b866 Binary files /dev/null and b/__pycache__/c-ares.recipe.cpython-314.pyc differ diff --git a/__pycache__/caelestia-cli.recipe.cpython-314.pyc b/__pycache__/caelestia-cli.recipe.cpython-314.pyc new file mode 100644 index 0000000..ed3e303 Binary files /dev/null and b/__pycache__/caelestia-cli.recipe.cpython-314.pyc differ diff --git a/__pycache__/caelestia-shell.recipe.cpython-314.pyc b/__pycache__/caelestia-shell.recipe.cpython-314.pyc new file mode 100644 index 0000000..ddd6162 Binary files /dev/null and b/__pycache__/caelestia-shell.recipe.cpython-314.pyc differ diff --git a/__pycache__/caelestia.recipe.cpython-314.pyc b/__pycache__/caelestia.recipe.cpython-314.pyc new file mode 100644 index 0000000..791ccd4 Binary files /dev/null and b/__pycache__/caelestia.recipe.cpython-314.pyc differ diff --git a/__pycache__/cairo.recipe.cpython-314.pyc b/__pycache__/cairo.recipe.cpython-314.pyc new file mode 100644 index 0000000..9679652 Binary files /dev/null and b/__pycache__/cairo.recipe.cpython-314.pyc differ diff --git a/__pycache__/cargo-c.recipe.cpython-314.pyc b/__pycache__/cargo-c.recipe.cpython-314.pyc new file mode 100644 index 0000000..cad53a7 Binary files /dev/null and b/__pycache__/cargo-c.recipe.cpython-314.pyc differ diff --git a/__pycache__/cava.recipe.cpython-314.pyc b/__pycache__/cava.recipe.cpython-314.pyc new file mode 100644 index 0000000..1303198 Binary files /dev/null and b/__pycache__/cava.recipe.cpython-314.pyc differ diff --git a/__pycache__/cbindgen.recipe.cpython-314.pyc b/__pycache__/cbindgen.recipe.cpython-314.pyc new file mode 100644 index 0000000..87b8628 Binary files /dev/null and b/__pycache__/cbindgen.recipe.cpython-314.pyc differ diff --git a/__pycache__/cdrdao.recipe.cpython-314.pyc b/__pycache__/cdrdao.recipe.cpython-314.pyc new file mode 100644 index 0000000..37c2e45 Binary files /dev/null and b/__pycache__/cdrdao.recipe.cpython-314.pyc differ diff --git a/__pycache__/cdrtools.recipe.cpython-314.pyc b/__pycache__/cdrtools.recipe.cpython-314.pyc new file mode 100644 index 0000000..85b0825 Binary files /dev/null and b/__pycache__/cdrtools.recipe.cpython-314.pyc differ diff --git a/__pycache__/cliphist.recipe.cpython-314.pyc b/__pycache__/cliphist.recipe.cpython-314.pyc new file mode 100644 index 0000000..c1172c8 Binary files /dev/null and b/__pycache__/cliphist.recipe.cpython-314.pyc differ diff --git a/__pycache__/cmake.recipe.cpython-314.pyc b/__pycache__/cmake.recipe.cpython-314.pyc new file mode 100644 index 0000000..5218244 Binary files /dev/null and b/__pycache__/cmake.recipe.cpython-314.pyc differ diff --git a/__pycache__/coreutils.recipe.cpython-314.pyc b/__pycache__/coreutils.recipe.cpython-314.pyc new file mode 100644 index 0000000..d711d01 Binary files /dev/null and b/__pycache__/coreutils.recipe.cpython-314.pyc differ diff --git a/__pycache__/cpio.recipe.cpython-314.pyc b/__pycache__/cpio.recipe.cpython-314.pyc new file mode 100644 index 0000000..8c61838 Binary files /dev/null and b/__pycache__/cpio.recipe.cpython-314.pyc differ diff --git a/__pycache__/cryptsetup.recipe.cpython-314.pyc b/__pycache__/cryptsetup.recipe.cpython-314.pyc new file mode 100644 index 0000000..4aaa809 Binary files /dev/null and b/__pycache__/cryptsetup.recipe.cpython-314.pyc differ diff --git a/__pycache__/cuda.recipe.cpython-314.pyc b/__pycache__/cuda.recipe.cpython-314.pyc new file mode 100644 index 0000000..8929120 Binary files /dev/null and b/__pycache__/cuda.recipe.cpython-314.pyc differ diff --git a/__pycache__/curl.recipe.cpython-314.pyc b/__pycache__/curl.recipe.cpython-314.pyc new file mode 100644 index 0000000..aa7ceab Binary files /dev/null and b/__pycache__/curl.recipe.cpython-314.pyc differ diff --git a/__pycache__/cyrus-sasl.recipe.cpython-314.pyc b/__pycache__/cyrus-sasl.recipe.cpython-314.pyc new file mode 100644 index 0000000..068b83c Binary files /dev/null and b/__pycache__/cyrus-sasl.recipe.cpython-314.pyc differ diff --git a/__pycache__/dav1d.recipe.cpython-314.pyc b/__pycache__/dav1d.recipe.cpython-314.pyc new file mode 100644 index 0000000..413674a Binary files /dev/null and b/__pycache__/dav1d.recipe.cpython-314.pyc differ diff --git a/__pycache__/dbus.recipe.cpython-314.pyc b/__pycache__/dbus.recipe.cpython-314.pyc new file mode 100644 index 0000000..13498a7 Binary files /dev/null and b/__pycache__/dbus.recipe.cpython-314.pyc differ diff --git a/__pycache__/ddcutil.recipe.cpython-314.pyc b/__pycache__/ddcutil.recipe.cpython-314.pyc new file mode 100644 index 0000000..f70b0c6 Binary files /dev/null and b/__pycache__/ddcutil.recipe.cpython-314.pyc differ diff --git a/__pycache__/dejagnu.recipe.cpython-314.pyc b/__pycache__/dejagnu.recipe.cpython-314.pyc new file mode 100644 index 0000000..73c473e Binary files /dev/null and b/__pycache__/dejagnu.recipe.cpython-314.pyc differ diff --git a/__pycache__/depot_tools.recipe.cpython-314.pyc b/__pycache__/depot_tools.recipe.cpython-314.pyc new file mode 100644 index 0000000..46ef3f8 Binary files /dev/null and b/__pycache__/depot_tools.recipe.cpython-314.pyc differ diff --git a/__pycache__/dhcpcd.recipe.cpython-314.pyc b/__pycache__/dhcpcd.recipe.cpython-314.pyc new file mode 100644 index 0000000..8f06d14 Binary files /dev/null and b/__pycache__/dhcpcd.recipe.cpython-314.pyc differ diff --git a/__pycache__/diffutils.recipe.cpython-314.pyc b/__pycache__/diffutils.recipe.cpython-314.pyc new file mode 100644 index 0000000..3755659 Binary files /dev/null and b/__pycache__/diffutils.recipe.cpython-314.pyc differ diff --git a/__pycache__/dosfstools.recipe.cpython-314.pyc b/__pycache__/dosfstools.recipe.cpython-314.pyc new file mode 100644 index 0000000..a65f7a3 Binary files /dev/null and b/__pycache__/dosfstools.recipe.cpython-314.pyc differ diff --git a/__pycache__/duktape.recipe.cpython-314.pyc b/__pycache__/duktape.recipe.cpython-314.pyc new file mode 100644 index 0000000..7127978 Binary files /dev/null and b/__pycache__/duktape.recipe.cpython-314.pyc differ diff --git a/__pycache__/dvd+rw-tools.recipe.cpython-314.pyc b/__pycache__/dvd+rw-tools.recipe.cpython-314.pyc new file mode 100644 index 0000000..2ea5da2 Binary files /dev/null and b/__pycache__/dvd+rw-tools.recipe.cpython-314.pyc differ diff --git a/__pycache__/e2fsprogs.recipe.cpython-314.pyc b/__pycache__/e2fsprogs.recipe.cpython-314.pyc new file mode 100644 index 0000000..68c4e29 Binary files /dev/null and b/__pycache__/e2fsprogs.recipe.cpython-314.pyc differ diff --git a/__pycache__/efibootmgr.recipe.cpython-314.pyc b/__pycache__/efibootmgr.recipe.cpython-314.pyc new file mode 100644 index 0000000..804bb0a Binary files /dev/null and b/__pycache__/efibootmgr.recipe.cpython-314.pyc differ diff --git a/__pycache__/efivar.recipe.cpython-314.pyc b/__pycache__/efivar.recipe.cpython-314.pyc new file mode 100644 index 0000000..4e41eb9 Binary files /dev/null and b/__pycache__/efivar.recipe.cpython-314.pyc differ diff --git a/__pycache__/elogind.recipe.cpython-314.pyc b/__pycache__/elogind.recipe.cpython-314.pyc new file mode 100644 index 0000000..27ff32f Binary files /dev/null and b/__pycache__/elogind.recipe.cpython-314.pyc differ diff --git a/__pycache__/expat.recipe.cpython-314.pyc b/__pycache__/expat.recipe.cpython-314.pyc new file mode 100644 index 0000000..daaa859 Binary files /dev/null and b/__pycache__/expat.recipe.cpython-314.pyc differ diff --git a/__pycache__/expect.recipe.cpython-314.pyc b/__pycache__/expect.recipe.cpython-314.pyc new file mode 100644 index 0000000..30092a1 Binary files /dev/null and b/__pycache__/expect.recipe.cpython-314.pyc differ diff --git a/__pycache__/extra-cmake-modules.recipe.cpython-314.pyc b/__pycache__/extra-cmake-modules.recipe.cpython-314.pyc new file mode 100644 index 0000000..d1d88c6 Binary files /dev/null and b/__pycache__/extra-cmake-modules.recipe.cpython-314.pyc differ diff --git a/__pycache__/eza.recipe.cpython-314.pyc b/__pycache__/eza.recipe.cpython-314.pyc new file mode 100644 index 0000000..b42487b Binary files /dev/null and b/__pycache__/eza.recipe.cpython-314.pyc differ diff --git a/__pycache__/fastfetch.recipe.cpython-314.pyc b/__pycache__/fastfetch.recipe.cpython-314.pyc new file mode 100644 index 0000000..622637c Binary files /dev/null and b/__pycache__/fastfetch.recipe.cpython-314.pyc differ diff --git a/__pycache__/fcron.recipe.cpython-314.pyc b/__pycache__/fcron.recipe.cpython-314.pyc new file mode 100644 index 0000000..b2aa49b Binary files /dev/null and b/__pycache__/fcron.recipe.cpython-314.pyc differ diff --git a/__pycache__/femboyos-postpatches.recipe.cpython-314.pyc b/__pycache__/femboyos-postpatches.recipe.cpython-314.pyc new file mode 100644 index 0000000..a917617 Binary files /dev/null and b/__pycache__/femboyos-postpatches.recipe.cpython-314.pyc differ diff --git a/__pycache__/femctl.recipe.cpython-314.pyc b/__pycache__/femctl.recipe.cpython-314.pyc new file mode 100644 index 0000000..8a84162 Binary files /dev/null and b/__pycache__/femctl.recipe.cpython-314.pyc differ diff --git a/__pycache__/fempkg.recipe.cpython-314.pyc b/__pycache__/fempkg.recipe.cpython-314.pyc new file mode 100644 index 0000000..631a319 Binary files /dev/null and b/__pycache__/fempkg.recipe.cpython-314.pyc differ diff --git a/__pycache__/ffmpeg.recipe.cpython-314.pyc b/__pycache__/ffmpeg.recipe.cpython-314.pyc new file mode 100644 index 0000000..6055c86 Binary files /dev/null and b/__pycache__/ffmpeg.recipe.cpython-314.pyc differ diff --git a/__pycache__/fftw.recipe.cpython-314.pyc b/__pycache__/fftw.recipe.cpython-314.pyc new file mode 100644 index 0000000..2216620 Binary files /dev/null and b/__pycache__/fftw.recipe.cpython-314.pyc differ diff --git a/__pycache__/file.recipe.cpython-314.pyc b/__pycache__/file.recipe.cpython-314.pyc new file mode 100644 index 0000000..51dc818 Binary files /dev/null and b/__pycache__/file.recipe.cpython-314.pyc differ diff --git a/__pycache__/findutils.recipe.cpython-314.pyc b/__pycache__/findutils.recipe.cpython-314.pyc new file mode 100644 index 0000000..aec70de Binary files /dev/null and b/__pycache__/findutils.recipe.cpython-314.pyc differ diff --git a/__pycache__/fish.recipe.cpython-314.pyc b/__pycache__/fish.recipe.cpython-314.pyc new file mode 100644 index 0000000..b5b3ea4 Binary files /dev/null and b/__pycache__/fish.recipe.cpython-314.pyc differ diff --git a/__pycache__/flatpak.recipe.cpython-314.pyc b/__pycache__/flatpak.recipe.cpython-314.pyc new file mode 100644 index 0000000..4fd5bd6 Binary files /dev/null and b/__pycache__/flatpak.recipe.cpython-314.pyc differ diff --git a/__pycache__/flatpost.recipe.cpython-314.pyc b/__pycache__/flatpost.recipe.cpython-314.pyc new file mode 100644 index 0000000..57337f7 Binary files /dev/null and b/__pycache__/flatpost.recipe.cpython-314.pyc differ diff --git a/__pycache__/flex.recipe.cpython-314.pyc b/__pycache__/flex.recipe.cpython-314.pyc new file mode 100644 index 0000000..0c61eed Binary files /dev/null and b/__pycache__/flex.recipe.cpython-314.pyc differ diff --git a/__pycache__/fontconfig.recipe.cpython-314.pyc b/__pycache__/fontconfig.recipe.cpython-314.pyc new file mode 100644 index 0000000..d85cbed Binary files /dev/null and b/__pycache__/fontconfig.recipe.cpython-314.pyc differ diff --git a/__pycache__/foot.recipe.cpython-314.pyc b/__pycache__/foot.recipe.cpython-314.pyc new file mode 100644 index 0000000..233c35c Binary files /dev/null and b/__pycache__/foot.recipe.cpython-314.pyc differ diff --git a/__pycache__/freetype.recipe.cpython-314.pyc b/__pycache__/freetype.recipe.cpython-314.pyc new file mode 100644 index 0000000..a4ce187 Binary files /dev/null and b/__pycache__/freetype.recipe.cpython-314.pyc differ diff --git a/__pycache__/fribidi.recipe.cpython-314.pyc b/__pycache__/fribidi.recipe.cpython-314.pyc new file mode 100644 index 0000000..2b92fcf Binary files /dev/null and b/__pycache__/fribidi.recipe.cpython-314.pyc differ diff --git a/__pycache__/fuse.recipe.cpython-314.pyc b/__pycache__/fuse.recipe.cpython-314.pyc new file mode 100644 index 0000000..cd665bd Binary files /dev/null and b/__pycache__/fuse.recipe.cpython-314.pyc differ diff --git a/__pycache__/fuse2.recipe.cpython-314.pyc b/__pycache__/fuse2.recipe.cpython-314.pyc new file mode 100644 index 0000000..10d419e Binary files /dev/null and b/__pycache__/fuse2.recipe.cpython-314.pyc differ diff --git a/__pycache__/fuzzel.recipe.cpython-314.pyc b/__pycache__/fuzzel.recipe.cpython-314.pyc new file mode 100644 index 0000000..c180a79 Binary files /dev/null and b/__pycache__/fuzzel.recipe.cpython-314.pyc differ diff --git a/__pycache__/gawk.recipe.cpython-314.pyc b/__pycache__/gawk.recipe.cpython-314.pyc new file mode 100644 index 0000000..44f5670 Binary files /dev/null and b/__pycache__/gawk.recipe.cpython-314.pyc differ diff --git a/__pycache__/gcc.recipe.cpython-314.pyc b/__pycache__/gcc.recipe.cpython-314.pyc new file mode 100644 index 0000000..cf30170 Binary files /dev/null and b/__pycache__/gcc.recipe.cpython-314.pyc differ diff --git a/__pycache__/gcr.recipe.cpython-314.pyc b/__pycache__/gcr.recipe.cpython-314.pyc new file mode 100644 index 0000000..d7cae5d Binary files /dev/null and b/__pycache__/gcr.recipe.cpython-314.pyc differ diff --git a/__pycache__/gcr4.recipe.cpython-314.pyc b/__pycache__/gcr4.recipe.cpython-314.pyc new file mode 100644 index 0000000..003537b Binary files /dev/null and b/__pycache__/gcr4.recipe.cpython-314.pyc differ diff --git a/__pycache__/gdbm.recipe.cpython-314.pyc b/__pycache__/gdbm.recipe.cpython-314.pyc new file mode 100644 index 0000000..c8fc8b8 Binary files /dev/null and b/__pycache__/gdbm.recipe.cpython-314.pyc differ diff --git a/__pycache__/gdkpixbuf.recipe.cpython-314.pyc b/__pycache__/gdkpixbuf.recipe.cpython-314.pyc new file mode 100644 index 0000000..dbec7ed Binary files /dev/null and b/__pycache__/gdkpixbuf.recipe.cpython-314.pyc differ diff --git a/__pycache__/geoclue.recipe.cpython-314.pyc b/__pycache__/geoclue.recipe.cpython-314.pyc new file mode 100644 index 0000000..4ed4490 Binary files /dev/null and b/__pycache__/geoclue.recipe.cpython-314.pyc differ diff --git a/__pycache__/geocode-glib.recipe.cpython-314.pyc b/__pycache__/geocode-glib.recipe.cpython-314.pyc new file mode 100644 index 0000000..1ea61b8 Binary files /dev/null and b/__pycache__/geocode-glib.recipe.cpython-314.pyc differ diff --git a/__pycache__/gettext.recipe.cpython-314.pyc b/__pycache__/gettext.recipe.cpython-314.pyc new file mode 100644 index 0000000..872d6ab Binary files /dev/null and b/__pycache__/gettext.recipe.cpython-314.pyc differ diff --git a/__pycache__/giflib.recipe.cpython-314.pyc b/__pycache__/giflib.recipe.cpython-314.pyc new file mode 100644 index 0000000..8d53f86 Binary files /dev/null and b/__pycache__/giflib.recipe.cpython-314.pyc differ diff --git a/__pycache__/git.recipe.cpython-314.pyc b/__pycache__/git.recipe.cpython-314.pyc new file mode 100644 index 0000000..75bd2d1 Binary files /dev/null and b/__pycache__/git.recipe.cpython-314.pyc differ diff --git a/__pycache__/glaze.recipe.cpython-314.pyc b/__pycache__/glaze.recipe.cpython-314.pyc new file mode 100644 index 0000000..9a9ab28 Binary files /dev/null and b/__pycache__/glaze.recipe.cpython-314.pyc differ diff --git a/__pycache__/glib-networking.recipe.cpython-314.pyc b/__pycache__/glib-networking.recipe.cpython-314.pyc new file mode 100644 index 0000000..ed4fe6e Binary files /dev/null and b/__pycache__/glib-networking.recipe.cpython-314.pyc differ diff --git a/__pycache__/glib.recipe.cpython-314.pyc b/__pycache__/glib.recipe.cpython-314.pyc new file mode 100644 index 0000000..e3d84f0 Binary files /dev/null and b/__pycache__/glib.recipe.cpython-314.pyc differ diff --git a/__pycache__/glibc.recipe.cpython-314.pyc b/__pycache__/glibc.recipe.cpython-314.pyc new file mode 100644 index 0000000..b01dfe3 Binary files /dev/null and b/__pycache__/glibc.recipe.cpython-314.pyc differ diff --git a/__pycache__/glibmm.recipe.cpython-314.pyc b/__pycache__/glibmm.recipe.cpython-314.pyc new file mode 100644 index 0000000..da81409 Binary files /dev/null and b/__pycache__/glibmm.recipe.cpython-314.pyc differ diff --git a/__pycache__/glslang.recipe.cpython-314.pyc b/__pycache__/glslang.recipe.cpython-314.pyc new file mode 100644 index 0000000..349b22e Binary files /dev/null and b/__pycache__/glslang.recipe.cpython-314.pyc differ diff --git a/__pycache__/glslc.recipe.cpython-314.pyc b/__pycache__/glslc.recipe.cpython-314.pyc new file mode 100644 index 0000000..671d771 Binary files /dev/null and b/__pycache__/glslc.recipe.cpython-314.pyc differ diff --git a/__pycache__/glu.recipe.cpython-314.pyc b/__pycache__/glu.recipe.cpython-314.pyc new file mode 100644 index 0000000..6236564 Binary files /dev/null and b/__pycache__/glu.recipe.cpython-314.pyc differ diff --git a/__pycache__/gmmlib.recipe.cpython-314.pyc b/__pycache__/gmmlib.recipe.cpython-314.pyc new file mode 100644 index 0000000..54adaf1 Binary files /dev/null and b/__pycache__/gmmlib.recipe.cpython-314.pyc differ diff --git a/__pycache__/gmp.recipe.cpython-314.pyc b/__pycache__/gmp.recipe.cpython-314.pyc new file mode 100644 index 0000000..19cc6cc Binary files /dev/null and b/__pycache__/gmp.recipe.cpython-314.pyc differ diff --git a/__pycache__/gnome-desktop.recipe.cpython-314.pyc b/__pycache__/gnome-desktop.recipe.cpython-314.pyc new file mode 100644 index 0000000..6edc5a3 Binary files /dev/null and b/__pycache__/gnome-desktop.recipe.cpython-314.pyc differ diff --git a/__pycache__/gnome-keyring.recipe.cpython-314.pyc b/__pycache__/gnome-keyring.recipe.cpython-314.pyc new file mode 100644 index 0000000..580e901 Binary files /dev/null and b/__pycache__/gnome-keyring.recipe.cpython-314.pyc differ diff --git a/__pycache__/gnome-settings-daemon.recipe.cpython-314.pyc b/__pycache__/gnome-settings-daemon.recipe.cpython-314.pyc new file mode 100644 index 0000000..ff43ea7 Binary files /dev/null and b/__pycache__/gnome-settings-daemon.recipe.cpython-314.pyc differ diff --git a/__pycache__/gnutls.recipe.cpython-314.pyc b/__pycache__/gnutls.recipe.cpython-314.pyc new file mode 100644 index 0000000..3bbc7d3 Binary files /dev/null and b/__pycache__/gnutls.recipe.cpython-314.pyc differ diff --git a/__pycache__/go.recipe.cpython-314.pyc b/__pycache__/go.recipe.cpython-314.pyc new file mode 100644 index 0000000..8ea5db8 Binary files /dev/null and b/__pycache__/go.recipe.cpython-314.pyc differ diff --git a/__pycache__/gperf.recipe.cpython-314.pyc b/__pycache__/gperf.recipe.cpython-314.pyc new file mode 100644 index 0000000..0686b96 Binary files /dev/null and b/__pycache__/gperf.recipe.cpython-314.pyc differ diff --git a/__pycache__/gpg.recipe.cpython-314.pyc b/__pycache__/gpg.recipe.cpython-314.pyc new file mode 100644 index 0000000..ac1b8c7 Binary files /dev/null and b/__pycache__/gpg.recipe.cpython-314.pyc differ diff --git a/__pycache__/gpgme.recipe.cpython-314.pyc b/__pycache__/gpgme.recipe.cpython-314.pyc new file mode 100644 index 0000000..3b5c2b4 Binary files /dev/null and b/__pycache__/gpgme.recipe.cpython-314.pyc differ diff --git a/__pycache__/gpu-screen-recorder.recipe.cpython-314.pyc b/__pycache__/gpu-screen-recorder.recipe.cpython-314.pyc new file mode 100644 index 0000000..c6cfd60 Binary files /dev/null and b/__pycache__/gpu-screen-recorder.recipe.cpython-314.pyc differ diff --git a/__pycache__/graphene.recipe.cpython-314.pyc b/__pycache__/graphene.recipe.cpython-314.pyc new file mode 100644 index 0000000..6c7cdae Binary files /dev/null and b/__pycache__/graphene.recipe.cpython-314.pyc differ diff --git a/__pycache__/grep.recipe.cpython-314.pyc b/__pycache__/grep.recipe.cpython-314.pyc new file mode 100644 index 0000000..18e02a3 Binary files /dev/null and b/__pycache__/grep.recipe.cpython-314.pyc differ diff --git a/__pycache__/groff.recipe.cpython-314.pyc b/__pycache__/groff.recipe.cpython-314.pyc new file mode 100644 index 0000000..014dbb2 Binary files /dev/null and b/__pycache__/groff.recipe.cpython-314.pyc differ diff --git a/__pycache__/grub.recipe.cpython-314.pyc b/__pycache__/grub.recipe.cpython-314.pyc new file mode 100644 index 0000000..ea2bf95 Binary files /dev/null and b/__pycache__/grub.recipe.cpython-314.pyc differ diff --git a/__pycache__/gsettings-desktop-schemas.recipe.cpython-314.pyc b/__pycache__/gsettings-desktop-schemas.recipe.cpython-314.pyc new file mode 100644 index 0000000..a33efbf Binary files /dev/null and b/__pycache__/gsettings-desktop-schemas.recipe.cpython-314.pyc differ diff --git a/__pycache__/gst-plugins-base.recipe.cpython-314.pyc b/__pycache__/gst-plugins-base.recipe.cpython-314.pyc new file mode 100644 index 0000000..7277bd1 Binary files /dev/null and b/__pycache__/gst-plugins-base.recipe.cpython-314.pyc differ diff --git a/__pycache__/gstreamer.recipe.cpython-314.pyc b/__pycache__/gstreamer.recipe.cpython-314.pyc new file mode 100644 index 0000000..fc6a7a4 Binary files /dev/null and b/__pycache__/gstreamer.recipe.cpython-314.pyc differ diff --git a/__pycache__/gtk3.recipe.cpython-314.pyc b/__pycache__/gtk3.recipe.cpython-314.pyc new file mode 100644 index 0000000..56a129c Binary files /dev/null and b/__pycache__/gtk3.recipe.cpython-314.pyc differ diff --git a/__pycache__/gtk4.recipe.cpython-314.pyc b/__pycache__/gtk4.recipe.cpython-314.pyc new file mode 100644 index 0000000..056196a Binary files /dev/null and b/__pycache__/gtk4.recipe.cpython-314.pyc differ diff --git a/__pycache__/gtkmm4.recipe.cpython-314.pyc b/__pycache__/gtkmm4.recipe.cpython-314.pyc new file mode 100644 index 0000000..78fc6fb Binary files /dev/null and b/__pycache__/gtkmm4.recipe.cpython-314.pyc differ diff --git a/__pycache__/gzip.recipe.cpython-314.pyc b/__pycache__/gzip.recipe.cpython-314.pyc new file mode 100644 index 0000000..27813cb Binary files /dev/null and b/__pycache__/gzip.recipe.cpython-314.pyc differ diff --git a/__pycache__/harfbuzz.recipe.cpython-314.pyc b/__pycache__/harfbuzz.recipe.cpython-314.pyc new file mode 100644 index 0000000..db61eb1 Binary files /dev/null and b/__pycache__/harfbuzz.recipe.cpython-314.pyc differ diff --git a/__pycache__/hicolor-icon-theme.recipe.cpython-314.pyc b/__pycache__/hicolor-icon-theme.recipe.cpython-314.pyc new file mode 100644 index 0000000..d2c5f8a Binary files /dev/null and b/__pycache__/hicolor-icon-theme.recipe.cpython-314.pyc differ diff --git a/__pycache__/highway.recipe.cpython-314.pyc b/__pycache__/highway.recipe.cpython-314.pyc new file mode 100644 index 0000000..d9370c4 Binary files /dev/null and b/__pycache__/highway.recipe.cpython-314.pyc differ diff --git a/__pycache__/hwdata.recipe.cpython-314.pyc b/__pycache__/hwdata.recipe.cpython-314.pyc new file mode 100644 index 0000000..7df9467 Binary files /dev/null and b/__pycache__/hwdata.recipe.cpython-314.pyc differ diff --git a/__pycache__/hyprland-libs.recipe.cpython-314.pyc b/__pycache__/hyprland-libs.recipe.cpython-314.pyc new file mode 100644 index 0000000..a8ef697 Binary files /dev/null and b/__pycache__/hyprland-libs.recipe.cpython-314.pyc differ diff --git a/__pycache__/hyprland.recipe.cpython-314.pyc b/__pycache__/hyprland.recipe.cpython-314.pyc new file mode 100644 index 0000000..95c8e06 Binary files /dev/null and b/__pycache__/hyprland.recipe.cpython-314.pyc differ diff --git a/__pycache__/hyprpicker.recipe.cpython-314.pyc b/__pycache__/hyprpicker.recipe.cpython-314.pyc new file mode 100644 index 0000000..71437be Binary files /dev/null and b/__pycache__/hyprpicker.recipe.cpython-314.pyc differ diff --git a/__pycache__/iana-etc.recipe.cpython-314.pyc b/__pycache__/iana-etc.recipe.cpython-314.pyc new file mode 100644 index 0000000..d6dde5d Binary files /dev/null and b/__pycache__/iana-etc.recipe.cpython-314.pyc differ diff --git a/__pycache__/icu.recipe.cpython-314.pyc b/__pycache__/icu.recipe.cpython-314.pyc new file mode 100644 index 0000000..e8de680 Binary files /dev/null and b/__pycache__/icu.recipe.cpython-314.pyc differ diff --git a/__pycache__/inetutils.recipe.cpython-314.pyc b/__pycache__/inetutils.recipe.cpython-314.pyc new file mode 100644 index 0000000..64d0337 Binary files /dev/null and b/__pycache__/inetutils.recipe.cpython-314.pyc differ diff --git a/__pycache__/inih.recipe.cpython-314.pyc b/__pycache__/inih.recipe.cpython-314.pyc new file mode 100644 index 0000000..7032506 Binary files /dev/null and b/__pycache__/inih.recipe.cpython-314.pyc differ diff --git a/__pycache__/iniparser.recipe.cpython-314.pyc b/__pycache__/iniparser.recipe.cpython-314.pyc new file mode 100644 index 0000000..8cef71f Binary files /dev/null and b/__pycache__/iniparser.recipe.cpython-314.pyc differ diff --git a/__pycache__/inotify-tools.recipe.cpython-314.pyc b/__pycache__/inotify-tools.recipe.cpython-314.pyc new file mode 100644 index 0000000..df38dd3 Binary files /dev/null and b/__pycache__/inotify-tools.recipe.cpython-314.pyc differ diff --git a/__pycache__/intelmedia.recipe.cpython-314.pyc b/__pycache__/intelmedia.recipe.cpython-314.pyc new file mode 100644 index 0000000..e28b46a Binary files /dev/null and b/__pycache__/intelmedia.recipe.cpython-314.pyc differ diff --git a/__pycache__/intelvaapi.recipe.cpython-314.pyc b/__pycache__/intelvaapi.recipe.cpython-314.pyc new file mode 100644 index 0000000..6a8c8c3 Binary files /dev/null and b/__pycache__/intelvaapi.recipe.cpython-314.pyc differ diff --git a/__pycache__/intltool.recipe.cpython-314.pyc b/__pycache__/intltool.recipe.cpython-314.pyc new file mode 100644 index 0000000..f22adad Binary files /dev/null and b/__pycache__/intltool.recipe.cpython-314.pyc differ diff --git a/__pycache__/iproute2.recipe.cpython-314.pyc b/__pycache__/iproute2.recipe.cpython-314.pyc new file mode 100644 index 0000000..8e51bce Binary files /dev/null and b/__pycache__/iproute2.recipe.cpython-314.pyc differ diff --git a/__pycache__/iptables.recipe.cpython-314.pyc b/__pycache__/iptables.recipe.cpython-314.pyc new file mode 100644 index 0000000..97a5465 Binary files /dev/null and b/__pycache__/iptables.recipe.cpython-314.pyc differ diff --git a/__pycache__/isl.recipe.cpython-314.pyc b/__pycache__/isl.recipe.cpython-314.pyc new file mode 100644 index 0000000..2744c06 Binary files /dev/null and b/__pycache__/isl.recipe.cpython-314.pyc differ diff --git a/__pycache__/iso-codes.recipe.cpython-314.pyc b/__pycache__/iso-codes.recipe.cpython-314.pyc new file mode 100644 index 0000000..cbacf93 Binary files /dev/null and b/__pycache__/iso-codes.recipe.cpython-314.pyc differ diff --git a/__pycache__/itstool.recipe.cpython-314.pyc b/__pycache__/itstool.recipe.cpython-314.pyc new file mode 100644 index 0000000..0074d6e Binary files /dev/null and b/__pycache__/itstool.recipe.cpython-314.pyc differ diff --git a/__pycache__/iw.recipe.cpython-314.pyc b/__pycache__/iw.recipe.cpython-314.pyc new file mode 100644 index 0000000..c569a3c Binary files /dev/null and b/__pycache__/iw.recipe.cpython-314.pyc differ diff --git a/__pycache__/jansson.recipe.cpython-314.pyc b/__pycache__/jansson.recipe.cpython-314.pyc new file mode 100644 index 0000000..842cde5 Binary files /dev/null and b/__pycache__/jansson.recipe.cpython-314.pyc differ diff --git a/__pycache__/jemalloc.recipe.cpython-314.pyc b/__pycache__/jemalloc.recipe.cpython-314.pyc new file mode 100644 index 0000000..39777ff Binary files /dev/null and b/__pycache__/jemalloc.recipe.cpython-314.pyc differ diff --git a/__pycache__/jetbrainsmono-nerd.recipe.cpython-314.pyc b/__pycache__/jetbrainsmono-nerd.recipe.cpython-314.pyc new file mode 100644 index 0000000..b22eafb Binary files /dev/null and b/__pycache__/jetbrainsmono-nerd.recipe.cpython-314.pyc differ diff --git a/__pycache__/json-c.recipe.cpython-314.pyc b/__pycache__/json-c.recipe.cpython-314.pyc new file mode 100644 index 0000000..919c203 Binary files /dev/null and b/__pycache__/json-c.recipe.cpython-314.pyc differ diff --git a/__pycache__/json-glib.recipe.cpython-314.pyc b/__pycache__/json-glib.recipe.cpython-314.pyc new file mode 100644 index 0000000..465f432 Binary files /dev/null and b/__pycache__/json-glib.recipe.cpython-314.pyc differ diff --git a/__pycache__/k3b.recipe.cpython-314.pyc b/__pycache__/k3b.recipe.cpython-314.pyc new file mode 100644 index 0000000..85c8d82 Binary files /dev/null and b/__pycache__/k3b.recipe.cpython-314.pyc differ diff --git a/__pycache__/kapidox.recipe.cpython-314.pyc b/__pycache__/kapidox.recipe.cpython-314.pyc new file mode 100644 index 0000000..711f894 Binary files /dev/null and b/__pycache__/kapidox.recipe.cpython-314.pyc differ diff --git a/__pycache__/kbd.recipe.cpython-314.pyc b/__pycache__/kbd.recipe.cpython-314.pyc new file mode 100644 index 0000000..130689b Binary files /dev/null and b/__pycache__/kbd.recipe.cpython-314.pyc differ diff --git a/__pycache__/keyutils.recipe.cpython-314.pyc b/__pycache__/keyutils.recipe.cpython-314.pyc new file mode 100644 index 0000000..19ec39f Binary files /dev/null and b/__pycache__/keyutils.recipe.cpython-314.pyc differ diff --git a/__pycache__/kf6.recipe.cpython-314.pyc b/__pycache__/kf6.recipe.cpython-314.pyc new file mode 100644 index 0000000..c12513b Binary files /dev/null and b/__pycache__/kf6.recipe.cpython-314.pyc differ diff --git a/__pycache__/kmod.recipe.cpython-314.pyc b/__pycache__/kmod.recipe.cpython-314.pyc new file mode 100644 index 0000000..581b8ec Binary files /dev/null and b/__pycache__/kmod.recipe.cpython-314.pyc differ diff --git a/__pycache__/lcms2.recipe.cpython-314.pyc b/__pycache__/lcms2.recipe.cpython-314.pyc new file mode 100644 index 0000000..544e687 Binary files /dev/null and b/__pycache__/lcms2.recipe.cpython-314.pyc differ diff --git a/__pycache__/less.recipe.cpython-314.pyc b/__pycache__/less.recipe.cpython-314.pyc new file mode 100644 index 0000000..df954fb Binary files /dev/null and b/__pycache__/less.recipe.cpython-314.pyc differ diff --git a/__pycache__/libaio.recipe.cpython-314.pyc b/__pycache__/libaio.recipe.cpython-314.pyc new file mode 100644 index 0000000..8eb8662 Binary files /dev/null and b/__pycache__/libaio.recipe.cpython-314.pyc differ diff --git a/__pycache__/libaom.recipe.cpython-314.pyc b/__pycache__/libaom.recipe.cpython-314.pyc new file mode 100644 index 0000000..7d42680 Binary files /dev/null and b/__pycache__/libaom.recipe.cpython-314.pyc differ diff --git a/__pycache__/libarchive.recipe.cpython-314.pyc b/__pycache__/libarchive.recipe.cpython-314.pyc new file mode 100644 index 0000000..ce99427 Binary files /dev/null and b/__pycache__/libarchive.recipe.cpython-314.pyc differ diff --git a/__pycache__/libass.recipe.cpython-314.pyc b/__pycache__/libass.recipe.cpython-314.pyc new file mode 100644 index 0000000..eba425a Binary files /dev/null and b/__pycache__/libass.recipe.cpython-314.pyc differ diff --git a/__pycache__/libassuan.recipe.cpython-314.pyc b/__pycache__/libassuan.recipe.cpython-314.pyc new file mode 100644 index 0000000..5f4bde8 Binary files /dev/null and b/__pycache__/libassuan.recipe.cpython-314.pyc differ diff --git a/__pycache__/libatasmart.recipe.cpython-314.pyc b/__pycache__/libatasmart.recipe.cpython-314.pyc new file mode 100644 index 0000000..de64eb0 Binary files /dev/null and b/__pycache__/libatasmart.recipe.cpython-314.pyc differ diff --git a/__pycache__/libblockdev.recipe.cpython-314.pyc b/__pycache__/libblockdev.recipe.cpython-314.pyc new file mode 100644 index 0000000..0bdb702 Binary files /dev/null and b/__pycache__/libblockdev.recipe.cpython-314.pyc differ diff --git a/__pycache__/libburn.recipe.cpython-314.pyc b/__pycache__/libburn.recipe.cpython-314.pyc new file mode 100644 index 0000000..d7e18c7 Binary files /dev/null and b/__pycache__/libburn.recipe.cpython-314.pyc differ diff --git a/__pycache__/libbytesize.recipe.cpython-314.pyc b/__pycache__/libbytesize.recipe.cpython-314.pyc new file mode 100644 index 0000000..087be3f Binary files /dev/null and b/__pycache__/libbytesize.recipe.cpython-314.pyc differ diff --git a/__pycache__/libcairomm.recipe.cpython-314.pyc b/__pycache__/libcairomm.recipe.cpython-314.pyc new file mode 100644 index 0000000..e84019c Binary files /dev/null and b/__pycache__/libcairomm.recipe.cpython-314.pyc differ diff --git a/__pycache__/libcanberra.recipe.cpython-314.pyc b/__pycache__/libcanberra.recipe.cpython-314.pyc new file mode 100644 index 0000000..49e9b11 Binary files /dev/null and b/__pycache__/libcanberra.recipe.cpython-314.pyc differ diff --git a/__pycache__/libcap.recipe.cpython-314.pyc b/__pycache__/libcap.recipe.cpython-314.pyc new file mode 100644 index 0000000..4f3efac Binary files /dev/null and b/__pycache__/libcap.recipe.cpython-314.pyc differ diff --git a/__pycache__/libcava.recipe.cpython-314.pyc b/__pycache__/libcava.recipe.cpython-314.pyc new file mode 100644 index 0000000..eb78c0e Binary files /dev/null and b/__pycache__/libcava.recipe.cpython-314.pyc differ diff --git a/__pycache__/libclc.recipe.cpython-314.pyc b/__pycache__/libclc.recipe.cpython-314.pyc new file mode 100644 index 0000000..12b0587 Binary files /dev/null and b/__pycache__/libclc.recipe.cpython-314.pyc differ diff --git a/__pycache__/libdaemon.recipe.cpython-314.pyc b/__pycache__/libdaemon.recipe.cpython-314.pyc new file mode 100644 index 0000000..9baadda Binary files /dev/null and b/__pycache__/libdaemon.recipe.cpython-314.pyc differ diff --git a/__pycache__/libdisplay-info.recipe.cpython-314.pyc b/__pycache__/libdisplay-info.recipe.cpython-314.pyc new file mode 100644 index 0000000..e897b54 Binary files /dev/null and b/__pycache__/libdisplay-info.recipe.cpython-314.pyc differ diff --git a/__pycache__/libdrm.recipe.cpython-314.pyc b/__pycache__/libdrm.recipe.cpython-314.pyc new file mode 100644 index 0000000..81a7ac3 Binary files /dev/null and b/__pycache__/libdrm.recipe.cpython-314.pyc differ diff --git a/__pycache__/libdvdread.recipe.cpython-314.pyc b/__pycache__/libdvdread.recipe.cpython-314.pyc new file mode 100644 index 0000000..46e1ad4 Binary files /dev/null and b/__pycache__/libdvdread.recipe.cpython-314.pyc differ diff --git a/__pycache__/libelf.recipe.cpython-314.pyc b/__pycache__/libelf.recipe.cpython-314.pyc new file mode 100644 index 0000000..71d8c7c Binary files /dev/null and b/__pycache__/libelf.recipe.cpython-314.pyc differ diff --git a/__pycache__/libepoxy.recipe.cpython-314.pyc b/__pycache__/libepoxy.recipe.cpython-314.pyc new file mode 100644 index 0000000..eb8174d Binary files /dev/null and b/__pycache__/libepoxy.recipe.cpython-314.pyc differ diff --git a/__pycache__/libevdev.recipe.cpython-314.pyc b/__pycache__/libevdev.recipe.cpython-314.pyc new file mode 100644 index 0000000..89ed45a Binary files /dev/null and b/__pycache__/libevdev.recipe.cpython-314.pyc differ diff --git a/__pycache__/libffi.recipe.cpython-314.pyc b/__pycache__/libffi.recipe.cpython-314.pyc new file mode 100644 index 0000000..c6aad77 Binary files /dev/null and b/__pycache__/libffi.recipe.cpython-314.pyc differ diff --git a/__pycache__/libfyaml.recipe.cpython-314.pyc b/__pycache__/libfyaml.recipe.cpython-314.pyc new file mode 100644 index 0000000..a033118 Binary files /dev/null and b/__pycache__/libfyaml.recipe.cpython-314.pyc differ diff --git a/__pycache__/libgcrypt.recipe.cpython-314.pyc b/__pycache__/libgcrypt.recipe.cpython-314.pyc new file mode 100644 index 0000000..ae1bf9a Binary files /dev/null and b/__pycache__/libgcrypt.recipe.cpython-314.pyc differ diff --git a/__pycache__/libglvnd.recipe.cpython-314.pyc b/__pycache__/libglvnd.recipe.cpython-314.pyc new file mode 100644 index 0000000..ec5a5a8 Binary files /dev/null and b/__pycache__/libglvnd.recipe.cpython-314.pyc differ diff --git a/__pycache__/libgpg-error.recipe.cpython-314.pyc b/__pycache__/libgpg-error.recipe.cpython-314.pyc new file mode 100644 index 0000000..9f5dd70 Binary files /dev/null and b/__pycache__/libgpg-error.recipe.cpython-314.pyc differ diff --git a/__pycache__/libgudev.recipe.cpython-314.pyc b/__pycache__/libgudev.recipe.cpython-314.pyc new file mode 100644 index 0000000..5b72163 Binary files /dev/null and b/__pycache__/libgudev.recipe.cpython-314.pyc differ diff --git a/__pycache__/libgweather.recipe.cpython-314.pyc b/__pycache__/libgweather.recipe.cpython-314.pyc new file mode 100644 index 0000000..840160d Binary files /dev/null and b/__pycache__/libgweather.recipe.cpython-314.pyc differ diff --git a/__pycache__/libical.recipe.cpython-314.pyc b/__pycache__/libical.recipe.cpython-314.pyc new file mode 100644 index 0000000..a0d4bce Binary files /dev/null and b/__pycache__/libical.recipe.cpython-314.pyc differ diff --git a/__pycache__/libidn2.recipe.cpython-314.pyc b/__pycache__/libidn2.recipe.cpython-314.pyc new file mode 100644 index 0000000..cfd9468 Binary files /dev/null and b/__pycache__/libidn2.recipe.cpython-314.pyc differ diff --git a/__pycache__/libinput.recipe.cpython-314.pyc b/__pycache__/libinput.recipe.cpython-314.pyc new file mode 100644 index 0000000..7558d6b Binary files /dev/null and b/__pycache__/libinput.recipe.cpython-314.pyc differ diff --git a/__pycache__/libjpeg-turbo.recipe.cpython-314.pyc b/__pycache__/libjpeg-turbo.recipe.cpython-314.pyc new file mode 100644 index 0000000..f27405e Binary files /dev/null and b/__pycache__/libjpeg-turbo.recipe.cpython-314.pyc differ diff --git a/__pycache__/libjpegturbo.recipe.cpython-314.pyc b/__pycache__/libjpegturbo.recipe.cpython-314.pyc new file mode 100644 index 0000000..85432be Binary files /dev/null and b/__pycache__/libjpegturbo.recipe.cpython-314.pyc differ diff --git a/__pycache__/libjxl.recipe.cpython-314.pyc b/__pycache__/libjxl.recipe.cpython-314.pyc new file mode 100644 index 0000000..9e47140 Binary files /dev/null and b/__pycache__/libjxl.recipe.cpython-314.pyc differ diff --git a/__pycache__/libkcddb.recipe.cpython-314.pyc b/__pycache__/libkcddb.recipe.cpython-314.pyc new file mode 100644 index 0000000..492d181 Binary files /dev/null and b/__pycache__/libkcddb.recipe.cpython-314.pyc differ diff --git a/__pycache__/libksba.recipe.cpython-314.pyc b/__pycache__/libksba.recipe.cpython-314.pyc new file mode 100644 index 0000000..d11ccf3 Binary files /dev/null and b/__pycache__/libksba.recipe.cpython-314.pyc differ diff --git a/__pycache__/libliftoff.recipe.cpython-314.pyc b/__pycache__/libliftoff.recipe.cpython-314.pyc new file mode 100644 index 0000000..412c1a8 Binary files /dev/null and b/__pycache__/libliftoff.recipe.cpython-314.pyc differ diff --git a/__pycache__/libmad.recipe.cpython-314.pyc b/__pycache__/libmad.recipe.cpython-314.pyc new file mode 100644 index 0000000..e985f2c Binary files /dev/null and b/__pycache__/libmad.recipe.cpython-314.pyc differ diff --git a/__pycache__/libmbim.recipe.cpython-314.pyc b/__pycache__/libmbim.recipe.cpython-314.pyc new file mode 100644 index 0000000..4f6242a Binary files /dev/null and b/__pycache__/libmbim.recipe.cpython-314.pyc differ diff --git a/__pycache__/libmusicbrainz.recipe.cpython-314.pyc b/__pycache__/libmusicbrainz.recipe.cpython-314.pyc new file mode 100644 index 0000000..7296a49 Binary files /dev/null and b/__pycache__/libmusicbrainz.recipe.cpython-314.pyc differ diff --git a/__pycache__/libndp.recipe.cpython-314.pyc b/__pycache__/libndp.recipe.cpython-314.pyc new file mode 100644 index 0000000..de4cad7 Binary files /dev/null and b/__pycache__/libndp.recipe.cpython-314.pyc differ diff --git a/__pycache__/libnl.recipe.cpython-314.pyc b/__pycache__/libnl.recipe.cpython-314.pyc new file mode 100644 index 0000000..a6ff130 Binary files /dev/null and b/__pycache__/libnl.recipe.cpython-314.pyc differ diff --git a/__pycache__/libnotify.recipe.cpython-314.pyc b/__pycache__/libnotify.recipe.cpython-314.pyc new file mode 100644 index 0000000..bc723ed Binary files /dev/null and b/__pycache__/libnotify.recipe.cpython-314.pyc differ diff --git a/__pycache__/libnvme.recipe.cpython-314.pyc b/__pycache__/libnvme.recipe.cpython-314.pyc new file mode 100644 index 0000000..5f1875d Binary files /dev/null and b/__pycache__/libnvme.recipe.cpython-314.pyc differ diff --git a/__pycache__/libogg.recipe.cpython-314.pyc b/__pycache__/libogg.recipe.cpython-314.pyc new file mode 100644 index 0000000..2b75da2 Binary files /dev/null and b/__pycache__/libogg.recipe.cpython-314.pyc differ diff --git a/__pycache__/libpcap.recipe.cpython-314.pyc b/__pycache__/libpcap.recipe.cpython-314.pyc new file mode 100644 index 0000000..d29b2b1 Binary files /dev/null and b/__pycache__/libpcap.recipe.cpython-314.pyc differ diff --git a/__pycache__/libpipeline.recipe.cpython-314.pyc b/__pycache__/libpipeline.recipe.cpython-314.pyc new file mode 100644 index 0000000..64bfb77 Binary files /dev/null and b/__pycache__/libpipeline.recipe.cpython-314.pyc differ diff --git a/__pycache__/libpng.recipe.cpython-314.pyc b/__pycache__/libpng.recipe.cpython-314.pyc new file mode 100644 index 0000000..8c5cc9b Binary files /dev/null and b/__pycache__/libpng.recipe.cpython-314.pyc differ diff --git a/__pycache__/libportal.recipe.cpython-314.pyc b/__pycache__/libportal.recipe.cpython-314.pyc new file mode 100644 index 0000000..fca91cc Binary files /dev/null and b/__pycache__/libportal.recipe.cpython-314.pyc differ diff --git a/__pycache__/libpsl.recipe.cpython-314.pyc b/__pycache__/libpsl.recipe.cpython-314.pyc new file mode 100644 index 0000000..d328815 Binary files /dev/null and b/__pycache__/libpsl.recipe.cpython-314.pyc differ diff --git a/__pycache__/libqalculate.recipe.cpython-314.pyc b/__pycache__/libqalculate.recipe.cpython-314.pyc new file mode 100644 index 0000000..f298573 Binary files /dev/null and b/__pycache__/libqalculate.recipe.cpython-314.pyc differ diff --git a/__pycache__/libqmi.recipe.cpython-314.pyc b/__pycache__/libqmi.recipe.cpython-314.pyc new file mode 100644 index 0000000..31d4e25 Binary files /dev/null and b/__pycache__/libqmi.recipe.cpython-314.pyc differ diff --git a/__pycache__/libqrencode.recipe.cpython-314.pyc b/__pycache__/libqrencode.recipe.cpython-314.pyc new file mode 100644 index 0000000..37ee13b Binary files /dev/null and b/__pycache__/libqrencode.recipe.cpython-314.pyc differ diff --git a/__pycache__/librsvg.recipe.cpython-314.pyc b/__pycache__/librsvg.recipe.cpython-314.pyc new file mode 100644 index 0000000..2d6bf74 Binary files /dev/null and b/__pycache__/librsvg.recipe.cpython-314.pyc differ diff --git a/__pycache__/libsamplerate.recipe.cpython-314.pyc b/__pycache__/libsamplerate.recipe.cpython-314.pyc new file mode 100644 index 0000000..83ef017 Binary files /dev/null and b/__pycache__/libsamplerate.recipe.cpython-314.pyc differ diff --git a/__pycache__/libseccomp.recipe.cpython-314.pyc b/__pycache__/libseccomp.recipe.cpython-314.pyc new file mode 100644 index 0000000..7a69df6 Binary files /dev/null and b/__pycache__/libseccomp.recipe.cpython-314.pyc differ diff --git a/__pycache__/libsecret.recipe.cpython-314.pyc b/__pycache__/libsecret.recipe.cpython-314.pyc new file mode 100644 index 0000000..9c4b103 Binary files /dev/null and b/__pycache__/libsecret.recipe.cpython-314.pyc differ diff --git a/__pycache__/libsigc.recipe.cpython-314.pyc b/__pycache__/libsigc.recipe.cpython-314.pyc new file mode 100644 index 0000000..a31b49f Binary files /dev/null and b/__pycache__/libsigc.recipe.cpython-314.pyc differ diff --git a/__pycache__/libsndfile.recipe.cpython-314.pyc b/__pycache__/libsndfile.recipe.cpython-314.pyc new file mode 100644 index 0000000..614da2a Binary files /dev/null and b/__pycache__/libsndfile.recipe.cpython-314.pyc differ diff --git a/__pycache__/libsoup.recipe.cpython-314.pyc b/__pycache__/libsoup.recipe.cpython-314.pyc new file mode 100644 index 0000000..e908c3e Binary files /dev/null and b/__pycache__/libsoup.recipe.cpython-314.pyc differ diff --git a/__pycache__/libssh2.recipe.cpython-314.pyc b/__pycache__/libssh2.recipe.cpython-314.pyc new file mode 100644 index 0000000..37c3f9a Binary files /dev/null and b/__pycache__/libssh2.recipe.cpython-314.pyc differ diff --git a/__pycache__/libtasn1.recipe.cpython-314.pyc b/__pycache__/libtasn1.recipe.cpython-314.pyc new file mode 100644 index 0000000..3577d62 Binary files /dev/null and b/__pycache__/libtasn1.recipe.cpython-314.pyc differ diff --git a/__pycache__/libtiff.recipe.cpython-314.pyc b/__pycache__/libtiff.recipe.cpython-314.pyc new file mode 100644 index 0000000..b29e16b Binary files /dev/null and b/__pycache__/libtiff.recipe.cpython-314.pyc differ diff --git a/__pycache__/libtirpc.recipe.cpython-314.pyc b/__pycache__/libtirpc.recipe.cpython-314.pyc new file mode 100644 index 0000000..04f148d Binary files /dev/null and b/__pycache__/libtirpc.recipe.cpython-314.pyc differ diff --git a/__pycache__/libtool.recipe.cpython-314.pyc b/__pycache__/libtool.recipe.cpython-314.pyc new file mode 100644 index 0000000..3a0f0f2 Binary files /dev/null and b/__pycache__/libtool.recipe.cpython-314.pyc differ diff --git a/__pycache__/libunistring.recipe.cpython-314.pyc b/__pycache__/libunistring.recipe.cpython-314.pyc new file mode 100644 index 0000000..edfeafd Binary files /dev/null and b/__pycache__/libunistring.recipe.cpython-314.pyc differ diff --git a/__pycache__/libusb.recipe.cpython-314.pyc b/__pycache__/libusb.recipe.cpython-314.pyc new file mode 100644 index 0000000..d59f3e8 Binary files /dev/null and b/__pycache__/libusb.recipe.cpython-314.pyc differ diff --git a/__pycache__/libuv.recipe.cpython-314.pyc b/__pycache__/libuv.recipe.cpython-314.pyc new file mode 100644 index 0000000..ed24be1 Binary files /dev/null and b/__pycache__/libuv.recipe.cpython-314.pyc differ diff --git a/__pycache__/libva.recipe.cpython-314.pyc b/__pycache__/libva.recipe.cpython-314.pyc new file mode 100644 index 0000000..b810d2d Binary files /dev/null and b/__pycache__/libva.recipe.cpython-314.pyc differ diff --git a/__pycache__/libvdpau.recipe.cpython-314.pyc b/__pycache__/libvdpau.recipe.cpython-314.pyc new file mode 100644 index 0000000..1e1935b Binary files /dev/null and b/__pycache__/libvdpau.recipe.cpython-314.pyc differ diff --git a/__pycache__/libvorbis.recipe.cpython-314.pyc b/__pycache__/libvorbis.recipe.cpython-314.pyc new file mode 100644 index 0000000..c8a8b49 Binary files /dev/null and b/__pycache__/libvorbis.recipe.cpython-314.pyc differ diff --git a/__pycache__/libwacom.recipe.cpython-314.pyc b/__pycache__/libwacom.recipe.cpython-314.pyc new file mode 100644 index 0000000..ace4ac9 Binary files /dev/null and b/__pycache__/libwacom.recipe.cpython-314.pyc differ diff --git a/__pycache__/libwebp.recipe.cpython-314.pyc b/__pycache__/libwebp.recipe.cpython-314.pyc new file mode 100644 index 0000000..6dd7d96 Binary files /dev/null and b/__pycache__/libwebp.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxau.recipe.cpython-314.pyc b/__pycache__/libxau.recipe.cpython-314.pyc new file mode 100644 index 0000000..7625ea7 Binary files /dev/null and b/__pycache__/libxau.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxcb.recipe.cpython-314.pyc b/__pycache__/libxcb.recipe.cpython-314.pyc new file mode 100644 index 0000000..fb746b0 Binary files /dev/null and b/__pycache__/libxcb.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxcrypt.recipe.cpython-314.pyc b/__pycache__/libxcrypt.recipe.cpython-314.pyc new file mode 100644 index 0000000..1e80951 Binary files /dev/null and b/__pycache__/libxcrypt.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxcvt.recipe.cpython-314.pyc b/__pycache__/libxcvt.recipe.cpython-314.pyc new file mode 100644 index 0000000..cd008d1 Binary files /dev/null and b/__pycache__/libxcvt.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxdmcp.recipe.cpython-314.pyc b/__pycache__/libxdmcp.recipe.cpython-314.pyc new file mode 100644 index 0000000..1a086e1 Binary files /dev/null and b/__pycache__/libxdmcp.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxkbcommon.recipe.cpython-314.pyc b/__pycache__/libxkbcommon.recipe.cpython-314.pyc new file mode 100644 index 0000000..4e4a40c Binary files /dev/null and b/__pycache__/libxkbcommon.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxml2.recipe.cpython-314.pyc b/__pycache__/libxml2.recipe.cpython-314.pyc new file mode 100644 index 0000000..5fd6863 Binary files /dev/null and b/__pycache__/libxml2.recipe.cpython-314.pyc differ diff --git a/__pycache__/libxmlb.recipe.cpython-314.pyc b/__pycache__/libxmlb.recipe.cpython-314.pyc new file mode 100644 index 0000000..ab4f2ad Binary files /dev/null and b/__pycache__/libxmlb.recipe.cpython-314.pyc differ diff --git a/__pycache__/libyaml.recipe.cpython-314.pyc b/__pycache__/libyaml.recipe.cpython-314.pyc new file mode 100644 index 0000000..7553220 Binary files /dev/null and b/__pycache__/libyaml.recipe.cpython-314.pyc differ diff --git a/__pycache__/libzip.recipe.cpython-314.pyc b/__pycache__/libzip.recipe.cpython-314.pyc new file mode 100644 index 0000000..5423ca5 Binary files /dev/null and b/__pycache__/libzip.recipe.cpython-314.pyc differ diff --git a/__pycache__/links.recipe.cpython-314.pyc b/__pycache__/links.recipe.cpython-314.pyc new file mode 100644 index 0000000..ec76bf8 Binary files /dev/null and b/__pycache__/links.recipe.cpython-314.pyc differ diff --git a/__pycache__/linux.recipe.cpython-314.pyc b/__pycache__/linux.recipe.cpython-314.pyc new file mode 100644 index 0000000..38a904d Binary files /dev/null and b/__pycache__/linux.recipe.cpython-314.pyc differ diff --git a/__pycache__/llvm.recipe.cpython-314.pyc b/__pycache__/llvm.recipe.cpython-314.pyc new file mode 100644 index 0000000..7ee5dc8 Binary files /dev/null and b/__pycache__/llvm.recipe.cpython-314.pyc differ diff --git a/__pycache__/lm-sensors.recipe.cpython-314.pyc b/__pycache__/lm-sensors.recipe.cpython-314.pyc new file mode 100644 index 0000000..95cf28e Binary files /dev/null and b/__pycache__/lm-sensors.recipe.cpython-314.pyc differ diff --git a/__pycache__/lmdb.recipe.cpython-314.pyc b/__pycache__/lmdb.recipe.cpython-314.pyc new file mode 100644 index 0000000..769d014 Binary files /dev/null and b/__pycache__/lmdb.recipe.cpython-314.pyc differ diff --git a/__pycache__/lua.recipe.cpython-314.pyc b/__pycache__/lua.recipe.cpython-314.pyc new file mode 100644 index 0000000..be5585f Binary files /dev/null and b/__pycache__/lua.recipe.cpython-314.pyc differ diff --git a/__pycache__/lz4.recipe.cpython-314.pyc b/__pycache__/lz4.recipe.cpython-314.pyc new file mode 100644 index 0000000..4ffb2e1 Binary files /dev/null and b/__pycache__/lz4.recipe.cpython-314.pyc differ diff --git a/__pycache__/m4.recipe.cpython-314.pyc b/__pycache__/m4.recipe.cpython-314.pyc new file mode 100644 index 0000000..985af4e Binary files /dev/null and b/__pycache__/m4.recipe.cpython-314.pyc differ diff --git a/__pycache__/make.recipe.cpython-314.pyc b/__pycache__/make.recipe.cpython-314.pyc new file mode 100644 index 0000000..4bd8102 Binary files /dev/null and b/__pycache__/make.recipe.cpython-314.pyc differ diff --git a/__pycache__/man-db.recipe.cpython-314.pyc b/__pycache__/man-db.recipe.cpython-314.pyc new file mode 100644 index 0000000..6684584 Binary files /dev/null and b/__pycache__/man-db.recipe.cpython-314.pyc differ diff --git a/__pycache__/man-pages.recipe.cpython-314.pyc b/__pycache__/man-pages.recipe.cpython-314.pyc new file mode 100644 index 0000000..774d4ed Binary files /dev/null and b/__pycache__/man-pages.recipe.cpython-314.pyc differ diff --git a/__pycache__/mandb.recipe.cpython-314.pyc b/__pycache__/mandb.recipe.cpython-314.pyc new file mode 100644 index 0000000..58e254a Binary files /dev/null and b/__pycache__/mandb.recipe.cpython-314.pyc differ diff --git a/__pycache__/material-design-icons.recipe.cpython-314.pyc b/__pycache__/material-design-icons.recipe.cpython-314.pyc new file mode 100644 index 0000000..2b30df2 Binary files /dev/null and b/__pycache__/material-design-icons.recipe.cpython-314.pyc differ diff --git a/__pycache__/mesa.recipe.cpython-314.pyc b/__pycache__/mesa.recipe.cpython-314.pyc new file mode 100644 index 0000000..5020a59 Binary files /dev/null and b/__pycache__/mesa.recipe.cpython-314.pyc differ diff --git a/__pycache__/mpc.recipe.cpython-314.pyc b/__pycache__/mpc.recipe.cpython-314.pyc new file mode 100644 index 0000000..6af9cbd Binary files /dev/null and b/__pycache__/mpc.recipe.cpython-314.pyc differ diff --git a/__pycache__/mpfr.recipe.cpython-314.pyc b/__pycache__/mpfr.recipe.cpython-314.pyc new file mode 100644 index 0000000..0ea5425 Binary files /dev/null and b/__pycache__/mpfr.recipe.cpython-314.pyc differ diff --git a/__pycache__/mtdev.recipe.cpython-314.pyc b/__pycache__/mtdev.recipe.cpython-314.pyc new file mode 100644 index 0000000..7946cc7 Binary files /dev/null and b/__pycache__/mtdev.recipe.cpython-314.pyc differ diff --git a/__pycache__/nasm.recipe.cpython-314.pyc b/__pycache__/nasm.recipe.cpython-314.pyc new file mode 100644 index 0000000..ef43a98 Binary files /dev/null and b/__pycache__/nasm.recipe.cpython-314.pyc differ diff --git a/__pycache__/ncurses.recipe.cpython-314.pyc b/__pycache__/ncurses.recipe.cpython-314.pyc new file mode 100644 index 0000000..b398ace Binary files /dev/null and b/__pycache__/ncurses.recipe.cpython-314.pyc differ diff --git a/__pycache__/neon.recipe.cpython-314.pyc b/__pycache__/neon.recipe.cpython-314.pyc new file mode 100644 index 0000000..968de7f Binary files /dev/null and b/__pycache__/neon.recipe.cpython-314.pyc differ diff --git a/__pycache__/nettle.recipe.cpython-314.pyc b/__pycache__/nettle.recipe.cpython-314.pyc new file mode 100644 index 0000000..7864f55 Binary files /dev/null and b/__pycache__/nettle.recipe.cpython-314.pyc differ diff --git a/__pycache__/newt.recipe.cpython-314.pyc b/__pycache__/newt.recipe.cpython-314.pyc new file mode 100644 index 0000000..0a55e14 Binary files /dev/null and b/__pycache__/newt.recipe.cpython-314.pyc differ diff --git a/__pycache__/nghttp2.recipe.cpython-314.pyc b/__pycache__/nghttp2.recipe.cpython-314.pyc new file mode 100644 index 0000000..a427b18 Binary files /dev/null and b/__pycache__/nghttp2.recipe.cpython-314.pyc differ diff --git a/__pycache__/ninja.recipe.cpython-314.pyc b/__pycache__/ninja.recipe.cpython-314.pyc new file mode 100644 index 0000000..4480777 Binary files /dev/null and b/__pycache__/ninja.recipe.cpython-314.pyc differ diff --git a/__pycache__/nodejs.recipe.cpython-314.pyc b/__pycache__/nodejs.recipe.cpython-314.pyc new file mode 100644 index 0000000..d4ddcd5 Binary files /dev/null and b/__pycache__/nodejs.recipe.cpython-314.pyc differ diff --git a/__pycache__/npth.recipe.cpython-314.pyc b/__pycache__/npth.recipe.cpython-314.pyc new file mode 100644 index 0000000..65108fd Binary files /dev/null and b/__pycache__/npth.recipe.cpython-314.pyc differ diff --git a/__pycache__/nvidia-egl-libraries.recipe.cpython-314.pyc b/__pycache__/nvidia-egl-libraries.recipe.cpython-314.pyc new file mode 100644 index 0000000..71dd5c4 Binary files /dev/null and b/__pycache__/nvidia-egl-libraries.recipe.cpython-314.pyc differ diff --git a/__pycache__/nvidia.recipe.cpython-314.pyc b/__pycache__/nvidia.recipe.cpython-314.pyc new file mode 100644 index 0000000..07ce64f Binary files /dev/null and b/__pycache__/nvidia.recipe.cpython-314.pyc differ diff --git a/__pycache__/nwg-look.recipe.cpython-314.pyc b/__pycache__/nwg-look.recipe.cpython-314.pyc new file mode 100644 index 0000000..8b95bae Binary files /dev/null and b/__pycache__/nwg-look.recipe.cpython-314.pyc differ diff --git a/__pycache__/obs-studio.recipe.cpython-314.pyc b/__pycache__/obs-studio.recipe.cpython-314.pyc new file mode 100644 index 0000000..1ceb27d Binary files /dev/null and b/__pycache__/obs-studio.recipe.cpython-314.pyc differ diff --git a/__pycache__/openldap.recipe.cpython-314.pyc b/__pycache__/openldap.recipe.cpython-314.pyc new file mode 100644 index 0000000..cd139a1 Binary files /dev/null and b/__pycache__/openldap.recipe.cpython-314.pyc differ diff --git a/__pycache__/openssl.recipe.cpython-314.pyc b/__pycache__/openssl.recipe.cpython-314.pyc new file mode 100644 index 0000000..33d9470 Binary files /dev/null and b/__pycache__/openssl.recipe.cpython-314.pyc differ diff --git a/__pycache__/opsec.recipe.cpython-314.pyc b/__pycache__/opsec.recipe.cpython-314.pyc new file mode 100644 index 0000000..983bf91 Binary files /dev/null and b/__pycache__/opsec.recipe.cpython-314.pyc differ diff --git a/__pycache__/ostree.recipe.cpython-314.pyc b/__pycache__/ostree.recipe.cpython-314.pyc new file mode 100644 index 0000000..29260e0 Binary files /dev/null and b/__pycache__/ostree.recipe.cpython-314.pyc differ diff --git a/__pycache__/p11-kit.recipe.cpython-314.pyc b/__pycache__/p11-kit.recipe.cpython-314.pyc new file mode 100644 index 0000000..2410f49 Binary files /dev/null and b/__pycache__/p11-kit.recipe.cpython-314.pyc differ diff --git a/__pycache__/pango.recipe.cpython-314.pyc b/__pycache__/pango.recipe.cpython-314.pyc new file mode 100644 index 0000000..fd7b0ab Binary files /dev/null and b/__pycache__/pango.recipe.cpython-314.pyc differ diff --git a/__pycache__/pangomm.recipe.cpython-314.pyc b/__pycache__/pangomm.recipe.cpython-314.pyc new file mode 100644 index 0000000..4050474 Binary files /dev/null and b/__pycache__/pangomm.recipe.cpython-314.pyc differ diff --git a/__pycache__/papirus-icon-theme.recipe.cpython-314.pyc b/__pycache__/papirus-icon-theme.recipe.cpython-314.pyc new file mode 100644 index 0000000..1633414 Binary files /dev/null and b/__pycache__/papirus-icon-theme.recipe.cpython-314.pyc differ diff --git a/__pycache__/parted.recipe.cpython-314.pyc b/__pycache__/parted.recipe.cpython-314.pyc new file mode 100644 index 0000000..f0e0558 Binary files /dev/null and b/__pycache__/parted.recipe.cpython-314.pyc differ diff --git a/__pycache__/patch.recipe.cpython-314.pyc b/__pycache__/patch.recipe.cpython-314.pyc new file mode 100644 index 0000000..9947ba8 Binary files /dev/null and b/__pycache__/patch.recipe.cpython-314.pyc differ diff --git a/__pycache__/patchelf.recipe.cpython-314.pyc b/__pycache__/patchelf.recipe.cpython-314.pyc new file mode 100644 index 0000000..77c77f3 Binary files /dev/null and b/__pycache__/patchelf.recipe.cpython-314.pyc differ diff --git a/__pycache__/pavucontrol.recipe.cpython-314.pyc b/__pycache__/pavucontrol.recipe.cpython-314.pyc new file mode 100644 index 0000000..bb6ac1d Binary files /dev/null and b/__pycache__/pavucontrol.recipe.cpython-314.pyc differ diff --git a/__pycache__/pcre2.recipe.cpython-314.pyc b/__pycache__/pcre2.recipe.cpython-314.pyc new file mode 100644 index 0000000..40345a3 Binary files /dev/null and b/__pycache__/pcre2.recipe.cpython-314.pyc differ diff --git a/__pycache__/perl.recipe.cpython-314.pyc b/__pycache__/perl.recipe.cpython-314.pyc new file mode 100644 index 0000000..cb142b8 Binary files /dev/null and b/__pycache__/perl.recipe.cpython-314.pyc differ diff --git a/__pycache__/pipewire.recipe.cpython-314.pyc b/__pycache__/pipewire.recipe.cpython-314.pyc new file mode 100644 index 0000000..417464b Binary files /dev/null and b/__pycache__/pipewire.recipe.cpython-314.pyc differ diff --git a/__pycache__/pixman.recipe.cpython-314.pyc b/__pycache__/pixman.recipe.cpython-314.pyc new file mode 100644 index 0000000..3f2208e Binary files /dev/null and b/__pycache__/pixman.recipe.cpython-314.pyc differ diff --git a/__pycache__/pkgconf.recipe.cpython-314.pyc b/__pycache__/pkgconf.recipe.cpython-314.pyc new file mode 100644 index 0000000..86a9fb0 Binary files /dev/null and b/__pycache__/pkgconf.recipe.cpython-314.pyc differ diff --git a/__pycache__/pkgconfig.recipe.cpython-314.pyc b/__pycache__/pkgconfig.recipe.cpython-314.pyc new file mode 100644 index 0000000..48a67b6 Binary files /dev/null and b/__pycache__/pkgconfig.recipe.cpython-314.pyc differ diff --git a/__pycache__/plasma-wayland-protocols.recipe.cpython-314.pyc b/__pycache__/plasma-wayland-protocols.recipe.cpython-314.pyc new file mode 100644 index 0000000..15ad50b Binary files /dev/null and b/__pycache__/plasma-wayland-protocols.recipe.cpython-314.pyc differ diff --git a/__pycache__/pm-utils.recipe.cpython-314.pyc b/__pycache__/pm-utils.recipe.cpython-314.pyc new file mode 100644 index 0000000..32cdf7c Binary files /dev/null and b/__pycache__/pm-utils.recipe.cpython-314.pyc differ diff --git a/__pycache__/pmisc.recipe.cpython-314.pyc b/__pycache__/pmisc.recipe.cpython-314.pyc new file mode 100644 index 0000000..6cad7db Binary files /dev/null and b/__pycache__/pmisc.recipe.cpython-314.pyc differ diff --git a/__pycache__/polkit-gnome.recipe.cpython-314.pyc b/__pycache__/polkit-gnome.recipe.cpython-314.pyc new file mode 100644 index 0000000..ef7fb45 Binary files /dev/null and b/__pycache__/polkit-gnome.recipe.cpython-314.pyc differ diff --git a/__pycache__/polkit-qt.recipe.cpython-314.pyc b/__pycache__/polkit-qt.recipe.cpython-314.pyc new file mode 100644 index 0000000..96b58f5 Binary files /dev/null and b/__pycache__/polkit-qt.recipe.cpython-314.pyc differ diff --git a/__pycache__/polkit.recipe.cpython-314.pyc b/__pycache__/polkit.recipe.cpython-314.pyc new file mode 100644 index 0000000..6deb304 Binary files /dev/null and b/__pycache__/polkit.recipe.cpython-314.pyc differ diff --git a/__pycache__/popt.recipe.cpython-314.pyc b/__pycache__/popt.recipe.cpython-314.pyc new file mode 100644 index 0000000..6b2e66d Binary files /dev/null and b/__pycache__/popt.recipe.cpython-314.pyc differ diff --git a/__pycache__/power-profiles-daemon.recipe.cpython-314.pyc b/__pycache__/power-profiles-daemon.recipe.cpython-314.pyc new file mode 100644 index 0000000..6de7ea6 Binary files /dev/null and b/__pycache__/power-profiles-daemon.recipe.cpython-314.pyc differ diff --git a/__pycache__/procps-ng.recipe.cpython-314.pyc b/__pycache__/procps-ng.recipe.cpython-314.pyc new file mode 100644 index 0000000..b3debe7 Binary files /dev/null and b/__pycache__/procps-ng.recipe.cpython-314.pyc differ diff --git a/__pycache__/procpsng.recipe.cpython-314.pyc b/__pycache__/procpsng.recipe.cpython-314.pyc new file mode 100644 index 0000000..6da2e81 Binary files /dev/null and b/__pycache__/procpsng.recipe.cpython-314.pyc differ diff --git a/__pycache__/psmisc.recipe.cpython-314.pyc b/__pycache__/psmisc.recipe.cpython-314.pyc new file mode 100644 index 0000000..42ae09c Binary files /dev/null and b/__pycache__/psmisc.recipe.cpython-314.pyc differ diff --git a/__pycache__/pugixml.recipe.cpython-314.pyc b/__pycache__/pugixml.recipe.cpython-314.pyc new file mode 100644 index 0000000..27750d8 Binary files /dev/null and b/__pycache__/pugixml.recipe.cpython-314.pyc differ diff --git a/__pycache__/pulseaudio.recipe.cpython-314.pyc b/__pycache__/pulseaudio.recipe.cpython-314.pyc new file mode 100644 index 0000000..e70ab25 Binary files /dev/null and b/__pycache__/pulseaudio.recipe.cpython-314.pyc differ diff --git a/__pycache__/pycairo.recipe.cpython-314.pyc b/__pycache__/pycairo.recipe.cpython-314.pyc new file mode 100644 index 0000000..987ccb9 Binary files /dev/null and b/__pycache__/pycairo.recipe.cpython-314.pyc differ diff --git a/__pycache__/python.recipe.cpython-314.pyc b/__pycache__/python.recipe.cpython-314.pyc new file mode 100644 index 0000000..11a4768 Binary files /dev/null and b/__pycache__/python.recipe.cpython-314.pyc differ diff --git a/__pycache__/qca.recipe.cpython-314.pyc b/__pycache__/qca.recipe.cpython-314.pyc new file mode 100644 index 0000000..80267d0 Binary files /dev/null and b/__pycache__/qca.recipe.cpython-314.pyc differ diff --git a/__pycache__/qt6.recipe.cpython-314.pyc b/__pycache__/qt6.recipe.cpython-314.pyc new file mode 100644 index 0000000..ce0eb84 Binary files /dev/null and b/__pycache__/qt6.recipe.cpython-314.pyc differ diff --git a/__pycache__/qt6ct.recipe.cpython-314.pyc b/__pycache__/qt6ct.recipe.cpython-314.pyc new file mode 100644 index 0000000..06a6cc5 Binary files /dev/null and b/__pycache__/qt6ct.recipe.cpython-314.pyc differ diff --git a/__pycache__/quickshell.recipe.cpython-314.pyc b/__pycache__/quickshell.recipe.cpython-314.pyc new file mode 100644 index 0000000..b235175 Binary files /dev/null and b/__pycache__/quickshell.recipe.cpython-314.pyc differ diff --git a/__pycache__/re2.recipe.cpython-314.pyc b/__pycache__/re2.recipe.cpython-314.pyc new file mode 100644 index 0000000..dc7ed80 Binary files /dev/null and b/__pycache__/re2.recipe.cpython-314.pyc differ diff --git a/__pycache__/readline.recipe.cpython-314.pyc b/__pycache__/readline.recipe.cpython-314.pyc new file mode 100644 index 0000000..1a54e50 Binary files /dev/null and b/__pycache__/readline.recipe.cpython-314.pyc differ diff --git a/__pycache__/rustbindgen.recipe.cpython-314.pyc b/__pycache__/rustbindgen.recipe.cpython-314.pyc new file mode 100644 index 0000000..794f83d Binary files /dev/null and b/__pycache__/rustbindgen.recipe.cpython-314.pyc differ diff --git a/__pycache__/rustc.recipe.cpython-314.pyc b/__pycache__/rustc.recipe.cpython-314.pyc new file mode 100644 index 0000000..bda43d5 Binary files /dev/null and b/__pycache__/rustc.recipe.cpython-314.pyc differ diff --git a/__pycache__/sbc.recipe.cpython-314.pyc b/__pycache__/sbc.recipe.cpython-314.pyc new file mode 100644 index 0000000..4957b24 Binary files /dev/null and b/__pycache__/sbc.recipe.cpython-314.pyc differ diff --git a/__pycache__/scdoc.recipe.cpython-314.pyc b/__pycache__/scdoc.recipe.cpython-314.pyc new file mode 100644 index 0000000..08ed91d Binary files /dev/null and b/__pycache__/scdoc.recipe.cpython-314.pyc differ diff --git a/__pycache__/sdbus-cpp.recipe.cpython-314.pyc b/__pycache__/sdbus-cpp.recipe.cpython-314.pyc new file mode 100644 index 0000000..4e002b7 Binary files /dev/null and b/__pycache__/sdbus-cpp.recipe.cpython-314.pyc differ diff --git a/__pycache__/sddm.recipe.cpython-314.pyc b/__pycache__/sddm.recipe.cpython-314.pyc new file mode 100644 index 0000000..c4bb43e Binary files /dev/null and b/__pycache__/sddm.recipe.cpython-314.pyc differ diff --git a/__pycache__/sdl2.recipe.cpython-314.pyc b/__pycache__/sdl2.recipe.cpython-314.pyc new file mode 100644 index 0000000..4afd198 Binary files /dev/null and b/__pycache__/sdl2.recipe.cpython-314.pyc differ diff --git a/__pycache__/seatd.recipe.cpython-314.pyc b/__pycache__/seatd.recipe.cpython-314.pyc new file mode 100644 index 0000000..a2cad54 Binary files /dev/null and b/__pycache__/seatd.recipe.cpython-314.pyc differ diff --git a/__pycache__/sed.recipe.cpython-314.pyc b/__pycache__/sed.recipe.cpython-314.pyc new file mode 100644 index 0000000..fe25dac Binary files /dev/null and b/__pycache__/sed.recipe.cpython-314.pyc differ diff --git a/__pycache__/shadow.recipe.cpython-314.pyc b/__pycache__/shadow.recipe.cpython-314.pyc new file mode 100644 index 0000000..6e5eb5a Binary files /dev/null and b/__pycache__/shadow.recipe.cpython-314.pyc differ diff --git a/__pycache__/shared-mime-info.recipe.cpython-314.pyc b/__pycache__/shared-mime-info.recipe.cpython-314.pyc new file mode 100644 index 0000000..029acfb Binary files /dev/null and b/__pycache__/shared-mime-info.recipe.cpython-314.pyc differ diff --git a/__pycache__/slang.recipe.cpython-314.pyc b/__pycache__/slang.recipe.cpython-314.pyc new file mode 100644 index 0000000..1151f49 Binary files /dev/null and b/__pycache__/slang.recipe.cpython-314.pyc differ diff --git a/__pycache__/sound-theme-freedesktop.recipe.cpython-314.pyc b/__pycache__/sound-theme-freedesktop.recipe.cpython-314.pyc new file mode 100644 index 0000000..cc4f264 Binary files /dev/null and b/__pycache__/sound-theme-freedesktop.recipe.cpython-314.pyc differ diff --git a/__pycache__/spirv-headers.recipe.cpython-314.pyc b/__pycache__/spirv-headers.recipe.cpython-314.pyc new file mode 100644 index 0000000..e174e12 Binary files /dev/null and b/__pycache__/spirv-headers.recipe.cpython-314.pyc differ diff --git a/__pycache__/spirv-llvm-translator.recipe.cpython-314.pyc b/__pycache__/spirv-llvm-translator.recipe.cpython-314.pyc new file mode 100644 index 0000000..961b978 Binary files /dev/null and b/__pycache__/spirv-llvm-translator.recipe.cpython-314.pyc differ diff --git a/__pycache__/spirv-tools.recipe.cpython-314.pyc b/__pycache__/spirv-tools.recipe.cpython-314.pyc new file mode 100644 index 0000000..8af137a Binary files /dev/null and b/__pycache__/spirv-tools.recipe.cpython-314.pyc differ diff --git a/__pycache__/sqlite.recipe.cpython-314.pyc b/__pycache__/sqlite.recipe.cpython-314.pyc new file mode 100644 index 0000000..61004d4 Binary files /dev/null and b/__pycache__/sqlite.recipe.cpython-314.pyc differ diff --git a/__pycache__/ssh.recipe.cpython-314.pyc b/__pycache__/ssh.recipe.cpython-314.pyc new file mode 100644 index 0000000..ce5014f Binary files /dev/null and b/__pycache__/ssh.recipe.cpython-314.pyc differ diff --git a/__pycache__/starship.recipe.cpython-314.pyc b/__pycache__/starship.recipe.cpython-314.pyc new file mode 100644 index 0000000..19ef575 Binary files /dev/null and b/__pycache__/starship.recipe.cpython-314.pyc differ diff --git a/__pycache__/sudo.recipe.cpython-314.pyc b/__pycache__/sudo.recipe.cpython-314.pyc new file mode 100644 index 0000000..4f81156 Binary files /dev/null and b/__pycache__/sudo.recipe.cpython-314.pyc differ diff --git a/__pycache__/swappy.recipe.cpython-314.pyc b/__pycache__/swappy.recipe.cpython-314.pyc new file mode 100644 index 0000000..d7cc4f8 Binary files /dev/null and b/__pycache__/swappy.recipe.cpython-314.pyc differ diff --git a/__pycache__/sysklogd.recipe.cpython-314.pyc b/__pycache__/sysklogd.recipe.cpython-314.pyc new file mode 100644 index 0000000..6295289 Binary files /dev/null and b/__pycache__/sysklogd.recipe.cpython-314.pyc differ diff --git a/__pycache__/sysvinit.recipe.cpython-314.pyc b/__pycache__/sysvinit.recipe.cpython-314.pyc new file mode 100644 index 0000000..542d32c Binary files /dev/null and b/__pycache__/sysvinit.recipe.cpython-314.pyc differ diff --git a/__pycache__/taglib.recipe.cpython-314.pyc b/__pycache__/taglib.recipe.cpython-314.pyc new file mode 100644 index 0000000..1c1fa22 Binary files /dev/null and b/__pycache__/taglib.recipe.cpython-314.pyc differ diff --git a/__pycache__/tar.recipe.cpython-314.pyc b/__pycache__/tar.recipe.cpython-314.pyc new file mode 100644 index 0000000..486491b Binary files /dev/null and b/__pycache__/tar.recipe.cpython-314.pyc differ diff --git a/__pycache__/tcl.recipe.cpython-314.pyc b/__pycache__/tcl.recipe.cpython-314.pyc new file mode 100644 index 0000000..a0e343c Binary files /dev/null and b/__pycache__/tcl.recipe.cpython-314.pyc differ diff --git a/__pycache__/texinfo.recipe.cpython-314.pyc b/__pycache__/texinfo.recipe.cpython-314.pyc new file mode 100644 index 0000000..e789cbe Binary files /dev/null and b/__pycache__/texinfo.recipe.cpython-314.pyc differ diff --git a/__pycache__/tomlplusplus.recipe.cpython-314.pyc b/__pycache__/tomlplusplus.recipe.cpython-314.pyc new file mode 100644 index 0000000..fdc34af Binary files /dev/null and b/__pycache__/tomlplusplus.recipe.cpython-314.pyc differ diff --git a/__pycache__/udev.recipe.cpython-314.pyc b/__pycache__/udev.recipe.cpython-314.pyc new file mode 100644 index 0000000..0eb1b9f Binary files /dev/null and b/__pycache__/udev.recipe.cpython-314.pyc differ diff --git a/__pycache__/udisks.recipe.cpython-314.pyc b/__pycache__/udisks.recipe.cpython-314.pyc new file mode 100644 index 0000000..954136b Binary files /dev/null and b/__pycache__/udisks.recipe.cpython-314.pyc differ diff --git a/__pycache__/umockdev.recipe.cpython-314.pyc b/__pycache__/umockdev.recipe.cpython-314.pyc new file mode 100644 index 0000000..fd50eed Binary files /dev/null and b/__pycache__/umockdev.recipe.cpython-314.pyc differ diff --git a/__pycache__/upower.recipe.cpython-314.pyc b/__pycache__/upower.recipe.cpython-314.pyc new file mode 100644 index 0000000..c84137d Binary files /dev/null and b/__pycache__/upower.recipe.cpython-314.pyc differ diff --git a/__pycache__/utfcpp.recipe.cpython-314.pyc b/__pycache__/utfcpp.recipe.cpython-314.pyc new file mode 100644 index 0000000..7368549 Binary files /dev/null and b/__pycache__/utfcpp.recipe.cpython-314.pyc differ diff --git a/__pycache__/util-linux.recipe.cpython-314.pyc b/__pycache__/util-linux.recipe.cpython-314.pyc new file mode 100644 index 0000000..824fdb4 Binary files /dev/null and b/__pycache__/util-linux.recipe.cpython-314.pyc differ diff --git a/__pycache__/util-macros.recipe.cpython-314.pyc b/__pycache__/util-macros.recipe.cpython-314.pyc new file mode 100644 index 0000000..70296cd Binary files /dev/null and b/__pycache__/util-macros.recipe.cpython-314.pyc differ diff --git a/__pycache__/v4l-utils.recipe.cpython-314.pyc b/__pycache__/v4l-utils.recipe.cpython-314.pyc new file mode 100644 index 0000000..93c377e Binary files /dev/null and b/__pycache__/v4l-utils.recipe.cpython-314.pyc differ diff --git a/__pycache__/vala.recipe.cpython-314.pyc b/__pycache__/vala.recipe.cpython-314.pyc new file mode 100644 index 0000000..b2a61c1 Binary files /dev/null and b/__pycache__/vala.recipe.cpython-314.pyc differ diff --git a/__pycache__/vim.recipe.cpython-314.pyc b/__pycache__/vim.recipe.cpython-314.pyc new file mode 100644 index 0000000..b3517b0 Binary files /dev/null and b/__pycache__/vim.recipe.cpython-314.pyc differ diff --git a/__pycache__/vulkan-headers.recipe.cpython-314.pyc b/__pycache__/vulkan-headers.recipe.cpython-314.pyc new file mode 100644 index 0000000..b3bf35c Binary files /dev/null and b/__pycache__/vulkan-headers.recipe.cpython-314.pyc differ diff --git a/__pycache__/vulkan-loader.recipe.cpython-314.pyc b/__pycache__/vulkan-loader.recipe.cpython-314.pyc new file mode 100644 index 0000000..9c6c2fb Binary files /dev/null and b/__pycache__/vulkan-loader.recipe.cpython-314.pyc differ diff --git a/__pycache__/wayland-protocols.recipe.cpython-314.pyc b/__pycache__/wayland-protocols.recipe.cpython-314.pyc new file mode 100644 index 0000000..cfa3d32 Binary files /dev/null and b/__pycache__/wayland-protocols.recipe.cpython-314.pyc differ diff --git a/__pycache__/wayland.recipe.cpython-314.pyc b/__pycache__/wayland.recipe.cpython-314.pyc new file mode 100644 index 0000000..f1b29d8 Binary files /dev/null and b/__pycache__/wayland.recipe.cpython-314.pyc differ diff --git a/__pycache__/webrtc-audio-processing.recipe.cpython-314.pyc b/__pycache__/webrtc-audio-processing.recipe.cpython-314.pyc new file mode 100644 index 0000000..78c5228 Binary files /dev/null and b/__pycache__/webrtc-audio-processing.recipe.cpython-314.pyc differ diff --git a/__pycache__/wget.recipe.cpython-314.pyc b/__pycache__/wget.recipe.cpython-314.pyc new file mode 100644 index 0000000..fc8374a Binary files /dev/null and b/__pycache__/wget.recipe.cpython-314.pyc differ diff --git a/__pycache__/which.recipe.cpython-314.pyc b/__pycache__/which.recipe.cpython-314.pyc new file mode 100644 index 0000000..a57565b Binary files /dev/null and b/__pycache__/which.recipe.cpython-314.pyc differ diff --git a/__pycache__/wireplumber.recipe.cpython-314.pyc b/__pycache__/wireplumber.recipe.cpython-314.pyc new file mode 100644 index 0000000..94d83a1 Binary files /dev/null and b/__pycache__/wireplumber.recipe.cpython-314.pyc differ diff --git a/__pycache__/wpa_supplicant.recipe.cpython-314.pyc b/__pycache__/wpa_supplicant.recipe.cpython-314.pyc new file mode 100644 index 0000000..203305a Binary files /dev/null and b/__pycache__/wpa_supplicant.recipe.cpython-314.pyc differ diff --git a/__pycache__/x264.recipe.cpython-314.pyc b/__pycache__/x264.recipe.cpython-314.pyc new file mode 100644 index 0000000..a44ed8a Binary files /dev/null and b/__pycache__/x264.recipe.cpython-314.pyc differ diff --git a/__pycache__/x265.recipe.cpython-314.pyc b/__pycache__/x265.recipe.cpython-314.pyc new file mode 100644 index 0000000..fea9180 Binary files /dev/null and b/__pycache__/x265.recipe.cpython-314.pyc differ diff --git a/__pycache__/xbitmaps.recipe.cpython-314.pyc b/__pycache__/xbitmaps.recipe.cpython-314.pyc new file mode 100644 index 0000000..3226b2f Binary files /dev/null and b/__pycache__/xbitmaps.recipe.cpython-314.pyc differ diff --git a/__pycache__/xcb-proto.recipe.cpython-314.pyc b/__pycache__/xcb-proto.recipe.cpython-314.pyc new file mode 100644 index 0000000..e275560 Binary files /dev/null and b/__pycache__/xcb-proto.recipe.cpython-314.pyc differ diff --git a/__pycache__/xcb-util-errors.recipe.cpython-314.pyc b/__pycache__/xcb-util-errors.recipe.cpython-314.pyc new file mode 100644 index 0000000..726fe18 Binary files /dev/null and b/__pycache__/xcb-util-errors.recipe.cpython-314.pyc differ diff --git a/__pycache__/xcb-util.recipe.cpython-314.pyc b/__pycache__/xcb-util.recipe.cpython-314.pyc new file mode 100644 index 0000000..85ca6de Binary files /dev/null and b/__pycache__/xcb-util.recipe.cpython-314.pyc differ diff --git a/__pycache__/xcb-utils.recipe.cpython-314.pyc b/__pycache__/xcb-utils.recipe.cpython-314.pyc new file mode 100644 index 0000000..62590ea Binary files /dev/null and b/__pycache__/xcb-utils.recipe.cpython-314.pyc differ diff --git a/__pycache__/xcursor-themes.recipe.cpython-314.pyc b/__pycache__/xcursor-themes.recipe.cpython-314.pyc new file mode 100644 index 0000000..45a8cc0 Binary files /dev/null and b/__pycache__/xcursor-themes.recipe.cpython-314.pyc differ diff --git a/__pycache__/xdg-dbus-proxy.recipe.cpython-314.pyc b/__pycache__/xdg-dbus-proxy.recipe.cpython-314.pyc new file mode 100644 index 0000000..e42d59c Binary files /dev/null and b/__pycache__/xdg-dbus-proxy.recipe.cpython-314.pyc differ diff --git a/__pycache__/xdg-desktop-portal-gtk.recipe.cpython-314.pyc b/__pycache__/xdg-desktop-portal-gtk.recipe.cpython-314.pyc new file mode 100644 index 0000000..3d7969a Binary files /dev/null and b/__pycache__/xdg-desktop-portal-gtk.recipe.cpython-314.pyc differ diff --git a/__pycache__/xdg-desktop-portal-hyprland.recipe.cpython-314.pyc b/__pycache__/xdg-desktop-portal-hyprland.recipe.cpython-314.pyc new file mode 100644 index 0000000..2256087 Binary files /dev/null and b/__pycache__/xdg-desktop-portal-hyprland.recipe.cpython-314.pyc differ diff --git a/__pycache__/xdg-desktop-portal.recipe.cpython-314.pyc b/__pycache__/xdg-desktop-portal.recipe.cpython-314.pyc new file mode 100644 index 0000000..b1f27eb Binary files /dev/null and b/__pycache__/xdg-desktop-portal.recipe.cpython-314.pyc differ diff --git a/__pycache__/xdg-utils.recipe.cpython-314.pyc b/__pycache__/xdg-utils.recipe.cpython-314.pyc new file mode 100644 index 0000000..783d8cc Binary files /dev/null and b/__pycache__/xdg-utils.recipe.cpython-314.pyc differ diff --git a/__pycache__/xkeyboard-config.recipe.cpython-314.pyc b/__pycache__/xkeyboard-config.recipe.cpython-314.pyc new file mode 100644 index 0000000..63ec9d5 Binary files /dev/null and b/__pycache__/xkeyboard-config.recipe.cpython-314.pyc differ diff --git a/__pycache__/xmlparser.recipe.cpython-314.pyc b/__pycache__/xmlparser.recipe.cpython-314.pyc new file mode 100644 index 0000000..f31c6d5 Binary files /dev/null and b/__pycache__/xmlparser.recipe.cpython-314.pyc differ diff --git a/__pycache__/xmlto.recipe.cpython-314.pyc b/__pycache__/xmlto.recipe.cpython-314.pyc new file mode 100644 index 0000000..b64e5fc Binary files /dev/null and b/__pycache__/xmlto.recipe.cpython-314.pyc differ diff --git a/__pycache__/xorg-apps.recipe.cpython-314.pyc b/__pycache__/xorg-apps.recipe.cpython-314.pyc new file mode 100644 index 0000000..71e9ed3 Binary files /dev/null and b/__pycache__/xorg-apps.recipe.cpython-314.pyc differ diff --git a/__pycache__/xorg-fonts.recipe.cpython-314.pyc b/__pycache__/xorg-fonts.recipe.cpython-314.pyc new file mode 100644 index 0000000..1aee286 Binary files /dev/null and b/__pycache__/xorg-fonts.recipe.cpython-314.pyc differ diff --git a/__pycache__/xorg-input-driver.recipe.cpython-314.pyc b/__pycache__/xorg-input-driver.recipe.cpython-314.pyc new file mode 100644 index 0000000..e850303 Binary files /dev/null and b/__pycache__/xorg-input-driver.recipe.cpython-314.pyc differ diff --git a/__pycache__/xorg-libs.recipe.cpython-314.pyc b/__pycache__/xorg-libs.recipe.cpython-314.pyc new file mode 100644 index 0000000..dcbde6f Binary files /dev/null and b/__pycache__/xorg-libs.recipe.cpython-314.pyc differ diff --git a/__pycache__/xorg-server.recipe.cpython-314.pyc b/__pycache__/xorg-server.recipe.cpython-314.pyc new file mode 100644 index 0000000..379d278 Binary files /dev/null and b/__pycache__/xorg-server.recipe.cpython-314.pyc differ diff --git a/__pycache__/xorgproto.recipe.cpython-314.pyc b/__pycache__/xorgproto.recipe.cpython-314.pyc new file mode 100644 index 0000000..2525775 Binary files /dev/null and b/__pycache__/xorgproto.recipe.cpython-314.pyc differ diff --git a/__pycache__/xwayland.recipe.cpython-314.pyc b/__pycache__/xwayland.recipe.cpython-314.pyc new file mode 100644 index 0000000..7a136f7 Binary files /dev/null and b/__pycache__/xwayland.recipe.cpython-314.pyc differ diff --git a/__pycache__/xz.recipe.cpython-314.pyc b/__pycache__/xz.recipe.cpython-314.pyc new file mode 100644 index 0000000..5989309 Binary files /dev/null and b/__pycache__/xz.recipe.cpython-314.pyc differ diff --git a/__pycache__/yaml-cpp.recipe.cpython-314.pyc b/__pycache__/yaml-cpp.recipe.cpython-314.pyc new file mode 100644 index 0000000..7338a1b Binary files /dev/null and b/__pycache__/yaml-cpp.recipe.cpython-314.pyc differ diff --git a/__pycache__/yasm.recipe.cpython-314.pyc b/__pycache__/yasm.recipe.cpython-314.pyc new file mode 100644 index 0000000..85a6cd4 Binary files /dev/null and b/__pycache__/yasm.recipe.cpython-314.pyc differ diff --git a/__pycache__/zlib.recipe.cpython-314.pyc b/__pycache__/zlib.recipe.cpython-314.pyc new file mode 100644 index 0000000..93f64a7 Binary files /dev/null and b/__pycache__/zlib.recipe.cpython-314.pyc differ diff --git a/__pycache__/zstd.recipe.cpython-314.pyc b/__pycache__/zstd.recipe.cpython-314.pyc new file mode 100644 index 0000000..7574936 Binary files /dev/null and b/__pycache__/zstd.recipe.cpython-314.pyc differ diff --git a/abseil-cpp.recipe.py b/abseil-cpp.recipe.py new file mode 100644 index 0000000..ae7e06e --- /dev/null +++ b/abseil-cpp.recipe.py @@ -0,0 +1,30 @@ +pkgname = "abseil-cpp" +pkgver = "20250814.1" +source = f"https://github.com/abseil/abseil-cpp/releases/download/{pkgver}/abseil-cpp-{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"] + +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 ABSL_PROPAGATE_CXX_STD=ON -D BUILD_SHARED_LIBS=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 {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/accountsservice.recipe.py b/accountsservice.recipe.py new file mode 100644 index 0000000..721fdcd --- /dev/null +++ b/accountsservice.recipe.py @@ -0,0 +1,45 @@ +pkgname = "accountsservice" +pkgver = "23.13.9" +source = f"https://www.freedesktop.org/software/accountsservice/accountsservice-{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 = ["polkit", "glib", "elogind", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mv tests/dbusmock{{,-tests}}", + f"cd {builddir} && sed -e '/accounts_service\\.py/s/dbusmock/dbusmock-tests/' -e 's/assertEquals/assertEqual/' -i tests/test-libaccountsservice.py", + f"cd {builddir} && sed -i '/^SIMULATED_SYSTEM_LOCALE/s/en_IE.UTF-8/en_HK.iso88591/' tests/test-daemon.py", + + # --- Meson setup as temporary user --- + f"useradd -m -r fempkgbuilduser || true", + f"chown -R fempkgbuilduser:fempkgbuilduser {fembuilddir}", + f"su - fempkgbuilduser -c 'cd {builddir} && mkdir -v build && cd build && meson setup .. --prefix=/usr --buildtype=release -D admin_group=adm -D elogind=true -D systemdsystemunitdir=no'", + + f"cd {builddir}/build && grep 'print_indent' ../subprojects/mocklibc-1.0/src/netgroup.c | sed 's/ {{/;/' >> ../subprojects/mocklibc-1.0/src/netgroup.h && sed -i '1i#include ' ../subprojects/mocklibc-1.0/src/netgroup.h", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + f"cd {fembuilddir} && mkdir -p {destdir}/etc/polkit-1/rules.d/", + f"""cd {fembuilddir} && cat > {destdir}/etc/polkit-1/rules.d/40-adm.rules << "EOF" +polkit.addAdminRule(function(action, subject) {{ + return ["unix-group:adm"]; + }}); +EOF""", + + 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 temp user and build dirs + f"cd /tmp && userdel -r fempkgbuilduser || true", + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/acl.recipe.py b/acl.recipe.py new file mode 100644 index 0000000..8d92548 --- /dev/null +++ b/acl.recipe.py @@ -0,0 +1,36 @@ +pkgname = "acl" +pkgver = "2.3.2" +source = f"https://download.savannah.gnu.org/releases/acl/acl-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +destdir = f"{fembuilddir}/DESTDIR" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +deps = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/acl-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" ./configure --prefix=/usr --disable-static --libdir=/usr/lib32 --libexecdir=/usr/lib32 --host=i686-pc-linux-gnu", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/doc/COPYING.LGPL {destdir}/usr/share/licenses/{pkgname}/COPYING.LGPL", + f"install -v -m644 {builddir}/doc/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}" +] diff --git a/adw-gtk3-theme.recipe.py b/adw-gtk3-theme.recipe.py new file mode 100644 index 0000000..d21c6c9 --- /dev/null +++ b/adw-gtk3-theme.recipe.py @@ -0,0 +1,27 @@ +pkgname = "adw-gtk3-theme" +pkgver = "6.4" +source = f"https://github.com/lassekongo83/adw-gtk3/releases/download/v{pkgver}/adw-gtk3v{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +destdir = f"{fembuilddir}/DESTDIR" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +deps = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/adw-gtk3v{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir -p {destdir}/usr/share/themes && mv adw-gtk3* {destdir}/usr/share/themes/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://raw.githubusercontent.com/lassekongo83/adw-gtk3/refs/heads/main/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/alsa-lib.recipe.py b/alsa-lib.recipe.py new file mode 100644 index 0000000..0ece9c3 --- /dev/null +++ b/alsa-lib.recipe.py @@ -0,0 +1,30 @@ +pkgname = "alsa-lib" +pkgver = "1.2.14" +source = f"https://www.alsa-project.org/files/pub/lib/alsa-lib-{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 = ["elogind"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2 && wget https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && mkdir -p {destdir}/usr/share/alsa && tar -C {destdir}/usr/share/alsa --strip-components=1 -xf ../alsa-ucm-conf-{pkgver}.tar.bz2", + + 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 {builddir} {fembuilddir}" +] diff --git a/appstream-glib.recipe.py b/appstream-glib.recipe.py new file mode 100644 index 0000000..2065618 --- /dev/null +++ b/appstream-glib.recipe.py @@ -0,0 +1,30 @@ +pkgname = "appstream-glib" +pkgver = "0.8.3" +source = f"http://people.freedesktop.org/~hughsient/appstream-glib/releases/appstream-glib-{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 = ["curl", "gdkpixbuf", "gtk3", "libarchive"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 rpm=false", + 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 {builddir} {fembuilddir}" +] diff --git a/appstream.recipe.py b/appstream.recipe.py new file mode 100644 index 0000000..c276e63 --- /dev/null +++ b/appstream.recipe.py @@ -0,0 +1,30 @@ +pkgname = "appstream" +pkgver = "1.1.1" +source = f"https://www.freedesktop.org/software/appstream/releases/AppStream-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/AppStream-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["curl", "elogind", "itstool", "libxml2", "libxmlb", "libfyaml"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/AppStream-{pkgver}.tar.xz", + + # 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}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/appstream{{,-1.1.1}}", + + 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 {builddir} {fembuilddir}" +] diff --git a/aspell.recipe.py b/aspell.recipe.py new file mode 100644 index 0000000..9a42406 --- /dev/null +++ b/aspell.recipe.py @@ -0,0 +1,42 @@ +pkgname = "aspell" +pkgver = "0.60.8.1" +eng_ver = "2020.12.07-0" +Pkgver = pkgver[:4] +source = f"https://ftpmirror.gnu.org/gnu/aspell/aspell-{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 = ["which"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && " + f"wget https://ftpmirror.gnu.org/gnu/aspell/dict/en/aspell6-en-{eng_ver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && sed -e 's/; i.*size)/, e = end(); i != e; ++i, ++size_)/' -i modules/speller/default/vector_hash-t.hpp && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && " + f"ln -svfn aspell-{Pkgver} {destdir}/usr/lib/aspell && " + f"install -v -m755 -d {destdir}/usr/share/doc/aspell-{pkgver}/aspell{{,-dev}}.html && " + f"install -v -m644 manual/aspell.html/* {destdir}/usr/share/doc/aspell-{pkgver}/aspell.html && " + f"install -v -m644 manual/aspell-dev.html/* {destdir}/usr/share/doc/aspell-{pkgver}/aspell-dev.html", + + f"cd {builddir} && install -v -m 755 scripts/ispell {destdir}/usr/bin/ && " + f"cd {builddir} && install -v -m 755 scripts/spell {destdir}/usr/bin/", + + f"cd {builddir} && tar xf ../aspell6-en-{eng_ver}.tar.bz2 && cd aspell6-en-{eng_ver} && ./configure && 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", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/atspi2core.recipe.py b/atspi2core.recipe.py new file mode 100644 index 0000000..b1ec230 --- /dev/null +++ b/atspi2core.recipe.py @@ -0,0 +1,31 @@ +pkgname = "atspi2core" +pkgver = "2.58.2" +Pkgver = pkgver[:4] +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}" +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", "gsettings-desktop-schemas", "xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/at-spi2-core-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D gtk2_atk_adaptor=false -D systemd_user_dir=/tmp", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && rm -rf {destdir}/tmp", + + 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 {builddir} {fembuilddir}" +] diff --git a/attr.recipe.py b/attr.recipe.py new file mode 100644 index 0000000..727c3e9 --- /dev/null +++ b/attr.recipe.py @@ -0,0 +1,39 @@ +# attr.recipe.py +pkgname = "attr" +pkgver = "2.5.2" +source = f"https://download.savannah.gnu.org/releases/attr/attr-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --sysconfdir=/etc --docdir=/usr/share/doc/attr-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32 bit + + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" ./configure --prefix=/usr --disable-static --sysconfdir=/etc --libdir=/usr/lib32 --host=i686-pc-linux-gnu", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/doc/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/doc/COPYING.LGPL {destdir}/usr/share/licenses/{pkgname}/COPYING.LGPL", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/aubio.recipe.py b/aubio.recipe.py new file mode 100644 index 0000000..b4a5ab8 --- /dev/null +++ b/aubio.recipe.py @@ -0,0 +1,53 @@ +pkgname = "aubio" # so i made this myself tho i just used gpt to tidy this recipe as it looked. interesting to say the least +pkgver = "0.4.9" +source = f"https://gitlab.archlinux.org/archlinux/packaging/packages/{pkgname}.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 = ["ffmpeg", "depot_tools"] # depot_tools provides vpython3 (Python 3.8) + +build = [ + f""" + cd {builddir} && + wget https://aubio.org/pub/aubio-{pkgver}.tar.bz2 && + tar -xvf aubio-{pkgver}.tar.bz2 && + wget -O python-aubio-{pkgver}-ffmpeg5.patch \ + https://github.com/aubio/aubio/commit/8a05420e5dd8c7b8b2447f82dc919765876511b3.patch && + wget https://github.com/aubio/aubio/commit/cdfe9cef.patch && + wget https://github.com/aubio/aubio/commit/245deead.patch && + wget https://github.com/aubio/aubio/commit/0b947f96.patch && + wget https://github.com/aubio/aubio/commit/53bc55cd.patch + """, + # Apply patches + f""" + cd {builddir}/aubio-{pkgver} && + patch -Np1 -i ../python-aubio-{pkgver}-ffmpeg5.patch && + patch -Np1 -i ../cdfe9cef.patch && + patch -Np1 -i ../245deead.patch && + patch -Np1 -i ../0b947f96.patch && + patch -Np1 -i ../53bc55cd.patch && + patch -Np1 -i ../ffmpeg7.patch && + sed -i 's#AV_INPUT_BUFFER_MIN_SIZE#16384#' src/io/source_avcodec.c && + patch -Np1 -i ../numpy-2.0.patch + """, + # Configure + f"cd {builddir}/aubio-{pkgver} && vpython3 ./waf configure --alltests --enable-fftw3 --libdir=/usr/lib --prefix=/usr", + # Build + f"cd {builddir}/aubio-{pkgver} && vpython3 ./waf build", + # Install + f"cd {builddir}/aubio-{pkgver} && vpython3 ./waf --destdir={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/aubio-{pkgver}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING.LGPL", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir}" +] \ No newline at end of file diff --git a/autoconf.recipe.py b/autoconf.recipe.py new file mode 100644 index 0000000..487ae69 --- /dev/null +++ b/autoconf.recipe.py @@ -0,0 +1,32 @@ +pkgname = "autoconf" +pkgver = "2.72" +source = f"https://ftpmirror.gnu.org/gnu/autoconf/autoconf-{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 /tmp/fempkg/build {fembuilddir} || true && 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", + f"install -v -m644 {builddir}/COPYING.EXCEPTION {destdir}/usr/share/licenses/{pkgname}/COPYING.EXCEPTION", + f"install -v -m644 {builddir}/COPYINGv3 {destdir}/usr/share/licenses/{pkgname}/COPYINGv3", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/automake.recipe.py b/automake.recipe.py new file mode 100644 index 0000000..5a75430 --- /dev/null +++ b/automake.recipe.py @@ -0,0 +1,30 @@ +pkgname = "automake" +pkgver = "1.18.1" +source = f"https://ftpmirror.gnu.org/gnu/automake/automake-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build` + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/automake-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/avahi.recipe.py b/avahi.recipe.py new file mode 100644 index 0000000..a3986e4 --- /dev/null +++ b/avahi.recipe.py @@ -0,0 +1,30 @@ +pkgname = "avahi" +pkgver = "0.8" +source = f"https://github.com/lathiat/avahi/releases/download/v{pkgver}/avahi-{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 = ["glib", "gtk3", "libdaemon"] + +build = [ + # Extract + 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 + 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} && 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}/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 {builddir} {fembuilddir}" +] diff --git a/bash.recipe.py b/bash.recipe.py new file mode 100644 index 0000000..030e98a --- /dev/null +++ b/bash.recipe.py @@ -0,0 +1,30 @@ +pkgname = "bash" +pkgver = "5.3" +source = f"https://ftpmirror.gnu.org/gnu/bash/bash-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --without-bash-malloc --with-installed-readline --docdir=/usr/share/doc/bash-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/bc.recipe.py b/bc.recipe.py new file mode 100644 index 0000000..b387214 --- /dev/null +++ b/bc.recipe.py @@ -0,0 +1,31 @@ +# bc.recipe.py +pkgname = "bc" +pkgver = "7.0.3" +source = f"https://github.com/gavinhoward/bc/releases/download/{pkgver}/bc-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && CC='gcc -std=c99' ./configure --prefix=/usr -G -O3 -r", + 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}/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}" +] diff --git a/binutils.recipe.py b/binutils.recipe.py new file mode 100644 index 0000000..e23930f --- /dev/null +++ b/binutils.recipe.py @@ -0,0 +1,32 @@ +# binutils.recipe.py +pkgname = "binutils" +pkgver = "2.45.1" +source = f"https://sourceware.org/pub/binutils/releases/binutils-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir -v build && cd build && ../configure --prefix=/usr --sysconfdir=/etc --enable-ld=default --enable-plugins --enable-shared --disable-werror --enable-64-bit-bfd --enable-new-dtags --with-system-zlib --enable-default-hash-style=gnu", + f"cd {builddir}/build && make tooldir=/usr -j$(nproc)", + f"cd {builddir}/build && make tooldir=/usr DESTDIR={destdir} install", + f"cd {destdir} && rm -rfv {destdir}/usr/lib/lib{{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}}.a {destdir}/usr/share/doc/gprofng/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cd {builddir} && cp -pv 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}" +] diff --git a/bison.recipe.py b/bison.recipe.py new file mode 100644 index 0000000..38aa4b3 --- /dev/null +++ b/bison.recipe.py @@ -0,0 +1,30 @@ +pkgname = "bison" +pkgver = "3.8.2" +source = f"https://ftpmirror.gnu.org/gnu/bison/bison-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/bison-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/bluez.recipe.py b/bluez.recipe.py new file mode 100644 index 0000000..08aeef4 --- /dev/null +++ b/bluez.recipe.py @@ -0,0 +1,34 @@ +pkgname = "bluez" +pkgver = "5.84" +source = f"https://www.kernel.org/pub/linux/bluetooth/bluez-{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", "libical"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-library --disable-manpages --disable-systemd", + f"cd {builddir} && make -j$(nproc)", + 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"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 -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 {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 {builddir} {fembuilddir}" +] diff --git a/breakpad.recipe.py b/breakpad.recipe.py new file mode 100644 index 0000000..bfc215e --- /dev/null +++ b/breakpad.recipe.py @@ -0,0 +1,29 @@ +pkgname = "breakpad" +pkgver = "2024.02.16" +source = f"https://github.com/google/breakpad.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["depot_tools"] + +build = [ + + # 64-bit build + f"cd {builddir} && fetch breakpad && cd src && ./configure --prefix=/usr", + f"cd {builddir}/src && make -j$(nproc)", + f"cd {builddir}/src && 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 {builddir}" +] diff --git a/breeze-icons.recipe.py b/breeze-icons.recipe.py new file mode 100644 index 0000000..1ff5bcb --- /dev/null +++ b/breeze-icons.recipe.py @@ -0,0 +1,32 @@ +pkgname = "breeze-icons" +pkgver = "6.20.0" +Pkgver = pkgver[:4] +source = f"https://download.kde.org/stable/frameworks/{Pkgver}/breeze-icons-{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 = ["extra-cmake-modules", "qt6"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -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"install -v -m644 {builddir}/COPYING-ICONS {destdir}/usr/share/licenses/{pkgname}/COPYING-ICONS", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/brightnessctl.recipe.py b/brightnessctl.recipe.py new file mode 100644 index 0000000..40437ad --- /dev/null +++ b/brightnessctl.recipe.py @@ -0,0 +1,29 @@ +pkgname = "brightnessctl" +pkgver = "0.5.1" +source = f"https://github.com/Hummer12007/brightnessctl.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] + +build = [ + + # 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}/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 {builddir}" +] diff --git a/brotli.recipe.py b/brotli.recipe.py new file mode 100644 index 0000000..76fb071 --- /dev/null +++ b/brotli.recipe.py @@ -0,0 +1,30 @@ +pkgname = "brotli" +pkgver = "1.2.0" +source = f"https://github.com/google/brotli/archive/v{pkgver}/brotli-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 -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 {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 {builddir} {fembuilddir}" +] diff --git a/btop.recipe.py b/btop.recipe.py new file mode 100644 index 0000000..23dcad6 --- /dev/null +++ b/btop.recipe.py @@ -0,0 +1,29 @@ +pkgname = "btop" +pkgver = "1.4.5" +source = f"https://github.com/aristocratos/btop/archive/v{pkgver}/btop-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make PREFIX=/usr 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 {builddir} {fembuilddir}" +] diff --git a/bubblewrap.recipe.py b/bubblewrap.recipe.py new file mode 100644 index 0000000..de27010 --- /dev/null +++ b/bubblewrap.recipe.py @@ -0,0 +1,30 @@ +pkgname = "bubblewrap" +pkgver = "0.11.0" +source = f"https://github.com/containers/bubblewrap/releases/download/v{pkgver}/bubblewrap-{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 /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/bzip2.recipe.py b/bzip2.recipe.py new file mode 100644 index 0000000..030d4b0 --- /dev/null +++ b/bzip2.recipe.py @@ -0,0 +1,66 @@ +# Bzip.recipe.py +pkgname = "bzip2" +pkgver = "1.0.8" +source = f"https://www.sourceware.org/pub/bzip2/bzip2-{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 = [] + +build = [ + # Extract + 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/lfs/development/bzip2-{pkgver}-install_docs-1.patch", + + # Patch Makefile for clean install + f"cd {builddir} && patch -Np1 -i ../bzip2-{pkgver}-install_docs-1.patch", + f"cd {builddir} && sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\\1@' Makefile", + f"cd {builddir} && sed -i 's@(PREFIX)/man@(PREFIX)/share/man@g' Makefile", + + # --- Build 64-bit shared library --- + f"cd {builddir} && make -f Makefile-libbz2_so -j$(nproc)", + f"cd {builddir} && make clean", + f"cd {builddir} && make -j$(nproc)", + + # --- Manual 64-bit install --- + f"cd {builddir} && install -d -m 755 {destdir}/usr/bin", + f"cd {builddir} && install -d -m 755 {destdir}/usr/include", + f"cd {builddir} && install -d -m 755 {destdir}/usr/lib", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/man/man1", + f"cd {builddir} && install -Dm755 bzip2 {destdir}/usr/bin/bzip2", + f"cd {builddir} && ln -sf bzip2 {destdir}/usr/bin/bunzip2", + f"cd {builddir} && ln -sf bzip2 {destdir}/usr/bin/bzcat", + f"cd {builddir} && install -Dm755 bzip2recover {destdir}/usr/bin/bzip2recover", + f"cd {builddir} && install -Dm644 bzip2.1 {destdir}/usr/share/man/man1/bzip2.1", + f"cd {builddir} && install -Dm644 bzlib.h {destdir}/usr/include/", + f"cd {builddir} && install -Dm644 libbz2.a {destdir}/usr/lib/", + f"cd {builddir} && install -Dm755 bzgrep {destdir}/usr/bin/bzgrep", + f"cd {builddir} && ln -sf bzgrep {destdir}/usr/bin/bzegrep", + f"rm -fv {destdir}/usr/lib/libbz2.a", + + # --- Build 32-bit library --- + f"cd {builddir} && make clean", + f"cd {builddir} && sed -i 's/^CC=.*/CC=gcc -m32/' Makefile Makefile-libbz2_so", + f"cd {builddir} && make -f Makefile-libbz2_so -j$(nproc)", + f"cd {builddir} && make libbz2.a -j$(nproc)", + + # --- Manual 32-bit install --- + f"cd {builddir} && install -d -m 755 {destdir}/usr/lib32", + f"cd {builddir} && install -Dm755 libbz2.so.{pkgver} {destdir}/usr/lib32/libbz2.so.{pkgver}", + f"cd {builddir} && ln -sf libbz2.so.{pkgver} {destdir}/usr/lib32/libbz2.so", + f"cd {builddir} && ln -sf libbz2.so.{pkgver} {destdir}/usr/lib32/libbz2.so.1", + f"cd {builddir} && ln -sf libbz2.so.{pkgver} {destdir}/usr/lib32/libbz2.so.1.0", + f"cd {builddir} && install -Dm644 libbz2.a {destdir}/usr/lib32/libbz2.a", + + 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", + + # Clean source + f"rm -rf {fembuilddir}", +] diff --git a/c-ares.recipe.py b/c-ares.recipe.py new file mode 100644 index 0000000..4440985 --- /dev/null +++ b/c-ares.recipe.py @@ -0,0 +1,30 @@ +pkgname = "c-ares" +pkgver = "1.34.5" +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}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr ..", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE.md {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/caelestia-cli.recipe.py b/caelestia-cli.recipe.py new file mode 100644 index 0000000..454a892 --- /dev/null +++ b/caelestia-cli.recipe.py @@ -0,0 +1,30 @@ +pkgname = "caelestia-cli" +pkgver = "1.0.1" +source = f"https://github.com/caelestia-dots/cli.git" +builddir = f"/tmp/fempkgbuild/cli" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["libnotify", "swappy", "gpu-screen-recorder", "glib", "cliphist", "fuzzel"] + +build = [ + + # 64-bit build + f"cd {builddir} && python3 -m build --wheel", + f"cd {builddir} && python3 -m installer --destdir={destdir} dist/*.whl", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/fish/vendor_completions.d", + f"cd {builddir} && cp completions/caelestia.fish {destdir}/usr/share/fish/vendor_completions.d/caelestia.fish", + + 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 {builddir}" +] diff --git a/caelestia-shell.recipe.py b/caelestia-shell.recipe.py new file mode 100644 index 0000000..aca2c51 --- /dev/null +++ b/caelestia-shell.recipe.py @@ -0,0 +1,29 @@ +pkgname = "caelestia-shell" +pkgver = "1.3.4" +source = f"https://github.com/caelestia-dots/shell.git" +source_type = "git" +builddir = f"/tmp/fempkgbuild/shell" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +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"] + +build = [ + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/ -DINSTALL_QSCONFDIR=/etc/xdg/quickshell/caelestia -DINSTALL_QMLDIR=/opt/qt6/qml ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/app2unit-caelestia.patch && patch -p1 -d {destdir}/etc/xdg/quickshell/caelestia < app2unit-caelestia.patch", + + 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}" +] diff --git a/caelestia.recipe.py b/caelestia.recipe.py new file mode 100644 index 0000000..385e727 --- /dev/null +++ b/caelestia.recipe.py @@ -0,0 +1,30 @@ +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}" +] diff --git a/cairo.recipe.py b/cairo.recipe.py new file mode 100644 index 0000000..39412b1 --- /dev/null +++ b/cairo.recipe.py @@ -0,0 +1,32 @@ +pkgname = "cairo" +pkgver = "1.18.4" +source = f"https://www.cairographics.org/releases/cairo-{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 = ["libpng", "pixman", "fontconfig", "glib", "xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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-LGPL-2.1 {destdir}/usr/share/licenses/{pkgname}/COPYING-LGPL-2.1", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING-MPL-1.1 {destdir}/usr/share/licenses/{pkgname}/COPYING-MPL-1.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 {builddir} {fembuilddir}" +] diff --git a/cargo-c.recipe.py b/cargo-c.recipe.py new file mode 100644 index 0000000..6faf534 --- /dev/null +++ b/cargo-c.recipe.py @@ -0,0 +1,30 @@ +pkgname = "cargo-c" +pkgver = "0.10.18" +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}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["rustc", "libssh2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && cd {builddir} && curl -fLO https://github.com/lu-zero/cargo-c/releases/download/v{pkgver}/Cargo.lock", + + # 64-bit build + f"cd {builddir} && export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 && export LIBSSH2_SYS_USE_PKG_CONFIG=1 && cargo build --release", + f"cd {builddir} && install -d -m 755 {destdir}/usr/bin", + f"cd {builddir} && install -vm755 target/release/cargo-{{capi,cbuild,cinstall,ctest}} {destdir}/usr/bin/", + + 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 {builddir} {fembuilddir}" +] diff --git a/cava.recipe.py b/cava.recipe.py new file mode 100644 index 0000000..a6d4255 --- /dev/null +++ b/cava.recipe.py @@ -0,0 +1,30 @@ +pkgname = "cava" +pkgver = "0.10.6" +source = f"https://github.com/karlstav/cava/releases/download/{pkgver}/cava-{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 = ["fftw", "iniparser"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] diff --git a/cbindgen.recipe.py b/cbindgen.recipe.py new file mode 100644 index 0000000..cae3675 --- /dev/null +++ b/cbindgen.recipe.py @@ -0,0 +1,30 @@ +pkgname = "cbindgen" +pkgver = "0.29.2" +source = f"https://github.com/mozilla/cbindgen/archive/v{pkgver}/cbindgen-{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 = ["rustc"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && cargo build --release", + f"cd {builddir} && install -d -m 755 {destdir}/usr/bin", + f"cd {builddir} && install -Dm755 target/release/cbindgen {destdir}/usr/bin/", + + 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 {builddir} {fembuilddir}" +] diff --git a/cdrdao.recipe.py b/cdrdao.recipe.py new file mode 100644 index 0000000..897b63c --- /dev/null +++ b/cdrdao.recipe.py @@ -0,0 +1,31 @@ +pkgname = "cdrdao" +pkgver = "1.2.6" +source = f"https://rocketleaguechatp.duckdns.org/cdrdao-{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 = ["libvorbis", "libmad"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --mandir=/usr/share/man && make CC=\"gcc -std=gnu17\"", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -v -m755 -d {destdir}/usr/share/doc/cdrdao-{pkgver} && " + f"install -v -m644 README {destdir}/usr/share/doc/cdrdao-{pkgver}", + + 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 {builddir} {fembuilddir}" +] diff --git a/cdrtools.recipe.py b/cdrtools.recipe.py new file mode 100644 index 0000000..b331c97 --- /dev/null +++ b/cdrtools.recipe.py @@ -0,0 +1,52 @@ +pkgname = "cdrtools" +pkgver = "3.02a09" +source = f"https://downloads.sourceforge.net/cdrtools/cdrtools-{pkgver}.tar.bz2" +builddir = f"/tmp/fempkg/build/cdrtools/cdrtools-3.02/" +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"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"""cd {builddir} && +sed -i 's|/opt/schily|/usr|g' DEFAULTS/Defaults.linux && +sed -i 's|DEFINSGRP=.*|DEFINSGRP=root|' DEFAULTS/Defaults.linux && +sed -i 's|INSDIR=\\s*sbin|INSDIR=bin|' rscsi/Makefile && + +export GMAKE_NOWARN=true && +export CFLAGS="$CFLAGS -std=gnu89 -fno-strict-aliasing" && + +make -j1 INS_BASE=/usr \\ + DEFINSUSR=root \\ + DEFINSGRP=root \\ + VERSION_OS="FemboyOS" +""", + + f"""cd {builddir} && +make INS_BASE=/usr \\ + DEFINSUSR=root \\ + DEFINSGRP=root \\ + MANSUFF_LIB=3cdr \\ + DESTDIR={destdir} \\ + install && + +install -v -d -m755 {destdir}/usr/share/doc/cdrtools-{pkgver} && +install -v -m644 README.* READMEs/* ABOUT doc/*.ps {destdir}/usr/share/doc/cdrtools-{pkgver} +""", + + 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 {builddir} {fembuilddir}" +] diff --git a/cliphist.recipe.py b/cliphist.recipe.py new file mode 100644 index 0000000..87ebf54 --- /dev/null +++ b/cliphist.recipe.py @@ -0,0 +1,29 @@ +pkgname = "cliphist" +pkgver = "0.7.0" +source = f"https://github.com/sentriz/cliphist.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["go"] # i also dont know any other bbbbbbbbbbbbbbbbbb + +build = [ + + # 64-bit build + f"cd {builddir} && go build -o cliphist", + f"cd {builddir} && install -d -m 755 {destdir}/usr/bin", + f"cd {builddir} && mv cliphist {destdir}/usr/bin", + + 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 {builddir}" +] diff --git a/cmake.recipe.py b/cmake.recipe.py new file mode 100644 index 0000000..714c5e2 --- /dev/null +++ b/cmake.recipe.py @@ -0,0 +1,34 @@ +pkgname = "cmake" +pkgver = "4.2.1" +Pkgver = pkgver[:3] # :3 +source = f"https://cmake.org/files/v{Pkgver}/cmake-{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 = ["curl", "libarchive", "libuv", "nghttp2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i '/\"lib64\"/s/64//' Modules/GNUInstallDirs.cmake", + f"cd {builddir} && ./bootstrap --prefix=/usr --system-libs --mandir=/share/man --no-system-jsoncpp --no-system-cppdap --no-system-librhash --docdir=/share/doc/cmake-{pkgver}", + 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}/LICENSE.rst {destdir}/usr/share/licenses/{pkgname}/LICENSE.rst", + f"cp -pv {builddir}/Licenses/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/coreutils.recipe.py b/coreutils.recipe.py new file mode 100644 index 0000000..0302417 --- /dev/null +++ b/coreutils.recipe.py @@ -0,0 +1,35 @@ +pkgname = "coreutils" +pkgver = "9.9" +source = f"https://ftpmirror.gnu.org//gnu/coreutils/coreutils-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/lfs/development/coreutils-9.9-i18n-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../coreutils-{pkgver}-i18n-1.patch", + f"cd {builddir} && autoreconf -fv && automake -af && FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix=/usr --enable-no-install-program=kill,uptime", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && mv -v {destdir}/usr/bin/chroot {destdir}/usr/sbin", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/man/man8", + f"cd {builddir} && mv -v {destdir}/usr/share/man/man1/chroot.1 {destdir}/usr/share/man/man8/chroot.8", + f"cd {builddir} && sed -i 's/\"1\"/\"8\"/' {destdir}/usr/share/man/man8/chroot.8", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/cpio.recipe.py b/cpio.recipe.py new file mode 100644 index 0000000..a947ed3 --- /dev/null +++ b/cpio.recipe.py @@ -0,0 +1,39 @@ +pkgname = "cpio" +pkgver = "2.15" +source = f"https://ftpmirror.gnu.org/gnu/cpio/cpio-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && sed -e \"/^extern int (\\*xstat)/s/()/(const char * restrict, struct stat * restrict)/\" -i src/extern.h && " + f"sed -e \"/^int (\\*xstat)/s/()/(const char * restrict, struct stat * restrict)/\" -i src/global.c", + + f"cd {builddir} && ./configure --prefix=/usr --enable-mt --with-rmt=/usr/libexec/rmt", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && makeinfo --html -o doc/html doc/cpio.texi && makeinfo --html --no-split -o doc/cpio.html doc/cpio.texi && makeinfo " + f"--plaintext -o doc/cpio.txt doc/cpio.texi", + + f"cd {builddir} && make DESTDIR={destdir} install", + + f"cd {builddir} && install -v -m755 -d {destdir}/usr/share/doc/cpio-{pkgver}/html && install -v " + F"-m644 doc/html/* {destdir}/usr/share/doc/cpio-{pkgver}/html && install -v -m644 doc/cpio.{{html,txt}} {destdir}/usr/share/doc/cpio-{pkgver}", + + 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 {builddir} {fembuilddir}" +] diff --git a/cryptsetup.recipe.py b/cryptsetup.recipe.py new file mode 100644 index 0000000..4c758b3 --- /dev/null +++ b/cryptsetup.recipe.py @@ -0,0 +1,30 @@ +pkgname = "cryptsetup" +pkgver = "2.8.1" +source = f"https://www.kernel.org/pub/linux/utils/cryptsetup/v2.8/cryptsetup-{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 = ["json-c", "LVM2", "popt"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-ssh-token --disable-asciidoc", + 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 {builddir} {fembuilddir}" +] diff --git a/cuda.recipe.py b/cuda.recipe.py new file mode 100644 index 0000000..3324189 --- /dev/null +++ b/cuda.recipe.py @@ -0,0 +1,48 @@ +pkgname = "cuda" +pkgver = "13.0.2" +driver = "580.95.05" +source = f"https://developer.download.nvidia.com/compute/cuda/{pkgver}/local_installers/cuda_{pkgver}_{driver}_linux.run" +builddir = f"/tmp/fempkg/build/{pkgname}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +deps = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true", + + # 64-bit build + f"cd {builddir} && rm -rf /opt/cuda-* || true && mkdir -pv /opt/cuda-{pkgver} || true && ln -sfv cuda-{pkgver} /opt/cuda || true", + f"""cd {builddir} && sh /var/lib/fempkg/pkgs/cuda_{pkgver}_{driver}_linux.run \\ + --target cuda_{pkgver}_{driver}_linux \\ + --noexec +pushd cuda_{pkgver}_{driver}_linux/builds + rm -rf cuda_nsight cuda_sanitizer_api nsight_{{compute,systems}} + rm -rvf bin integration NVIDIA*.run + cp version.json /opt/cuda-{pkgver} + cp EULA.txt /opt/cuda-{pkgver} + rm version.json EULA.txt + mkdir -p /opt/cuda-{pkgver}/bin + for lib in *; do + cp -vR $lib/* /opt/cuda-{pkgver} + rm -rf $lib + done + ln -svf lib64 /opt/cuda-{pkgver}/lib + for mf in $(find /opt/cuda-{pkgver} -name Makefile); do + sed -i "s|/usr/local/cuda|/opt/cuda-{pkgver}|g" "$mf" + done +popd +rm -rf cuda_{pkgver}_{driver}_linux""", + f"""cd {builddir} && sed -e "/.*unsupported GNU version.*/d" \\ + -e "/.*unsupported clang version.*/d" \\ + -i /opt/cuda-{pkgver}/targets/x86_64-linux/include/crt/host_config.h""", + + f"cd /etc/ld.so.conf.d/ && wget -O cuda.conf https://rocketleaguechatp.duckdns.org/cuda.conf && " + f"cd /etc/profile.d/ && wget -O cuda.sh https://rocketleaguechatp.duckdns.org/cuda.sh", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && /sbin/ldconfig" +] \ No newline at end of file diff --git a/curl.recipe.py b/curl.recipe.py new file mode 100644 index 0000000..05c1be7 --- /dev/null +++ b/curl.recipe.py @@ -0,0 +1,31 @@ +pkgname = "curl" +pkgver = "8.17.0" +source = f"https://curl.se/download/curl-{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 = ["libpsl"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --with-openssl --with-ca-path=/etc/ssl/certs", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && rm -rf docs/examples/.deps && find docs -name 'Makefile*' -o -name '*.1' -o -name '*.3' -o -name " + f"'CMakeLists.txt' -delete && install -d -m 755 {destdir}/usr/share/doc/ && cp -v -R docs -T {destdir}/usr/share/doc/curl-{pkgver}", + + 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 {builddir} {fembuilddir}" +] diff --git a/cyrus-sasl.recipe.py b/cyrus-sasl.recipe.py new file mode 100644 index 0000000..c49a3f5 --- /dev/null +++ b/cyrus-sasl.recipe.py @@ -0,0 +1,38 @@ +pkgname = "cyrus-sasl" +pkgver = "2.1.28" +source = f"https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-{pkgver}/cyrus-sasl-{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 = ["lmdb"] + +build = [ + # Extract + 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/cyrus-sasl-{pkgver}-gcc15_fixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../cyrus-sasl-{pkgver}-gcc15_fixes-1.patch && autoreconf -fiv && sed -i '/saslint/a #include ' lib/saslutil.c && sed -i '/plugin_common/a #include ' plugins/cram.c && ./configure --prefix=/usr --sysconfdir=/etc --enable-auth-sasldb --with-dblib=lmdb --with-dbpath=/var/lib/sasl/sasldb2 --with-sphinx-build=no --with-saslauthd=/var/run/saslauthd", + f"cd {builddir} && make -j1", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/doc && install -d -m 755 {destdir}/var/lib", + f""" + cd {builddir} && + install -v -dm755 {destdir}/usr/share/doc/cyrus-sasl-{pkgver}/html && + install -v -m644 saslauthd/LDAP_SASLAUTHD {destdir}/usr/share/doc/cyrus-sasl-{pkgver} && + install -v -m644 doc/legacy/*.html {destdir}/usr/share/doc/cyrus-sasl-{pkgver}/html && + install -v -dm700 {destdir}/var/lib/sasl + """, + + 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", + + + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/dav1d.recipe.py b/dav1d.recipe.py new file mode 100644 index 0000000..815a0db --- /dev/null +++ b/dav1d.recipe.py @@ -0,0 +1,30 @@ +pkgname = "dav1d" +pkgver = "1.5.2" +source = f"https://code.videolan.org/videolan/dav1d/-/archive/{pkgver}/dav1d-{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 = ["nasm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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 {builddir} {fembuilddir}" +] diff --git a/dbus.recipe.py b/dbus.recipe.py new file mode 100644 index 0000000..3206b1b --- /dev/null +++ b/dbus.recipe.py @@ -0,0 +1,46 @@ +pkgname = "dbus" +pkgver = "1.16.2" +source = f"https://dbus.freedesktop.org/releases/dbus/dbus-{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 = ["xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 --wrap-mode=nofallback -D systemd=disabled ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + f"cd {builddir}/build && install -d -m 755 /var/lib/dbus", + f"cd {builddir}/build && install -d -m 755 /etc", + f"cd {builddir}/build && ln -sfv {destdir}/var/lib/dbus/machine-id {destdir}/etc", + f"""cd {builddir} && cat > {destdir}/etc/dbus-1/session-local.conf << "EOF" + + + + + /usr/local/share/dbus-1/services + + +EOF""", + + f"sudo chmod -v 4750 {destdir}/usr/libexec/dbus-daemon-launch-helper", + + 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 {builddir} {fembuilddir}" +] diff --git a/ddcutil.recipe.py b/ddcutil.recipe.py new file mode 100644 index 0000000..711d074 --- /dev/null +++ b/ddcutil.recipe.py @@ -0,0 +1,29 @@ +pkgname = "ddcutil" +pkgver = "2.2.3" +source = f"https://github.com/rockowitz/ddcutil.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["jansson", "libusb"] + +build = [ + + # 64-bit build + f"cd {builddir} && ./autogen.sh && ./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 {builddir}" +] diff --git a/dejagnu.recipe.py b/dejagnu.recipe.py new file mode 100644 index 0000000..6293838 --- /dev/null +++ b/dejagnu.recipe.py @@ -0,0 +1,38 @@ +# dejagnu.recipe.py +pkgname = "dejagnu" +pkgver = "1.6.3" +source = f"https://ftpmirror.gnu.org/gnu/dejagnu/dejagnu-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir -v build && cd build", + f"cd {builddir}/build && ../configure --prefix=/usr", + f"cd {builddir}/build && makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi", + f"cd {builddir}/build && makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + # Install documentation + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/doc", + f"cd {builddir}/build && install -v -dm755 {destdir}/usr/share/doc/dejagnu-{pkgver}", + f"cd {builddir}/build && install -v -m644 doc/dejagnu.{{html,txt}} {destdir}/usr/share/doc/dejagnu-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/depot_tools.recipe.py b/depot_tools.recipe.py new file mode 100644 index 0000000..4a1602f --- /dev/null +++ b/depot_tools.recipe.py @@ -0,0 +1,33 @@ +pkgname = "depot_tools" +pkgver = "1.0.3" +source = f"https://chromium.googlesource.com/chromium/tools/depot_tools.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"/var/tmp/DESTDIR" + +deps = [] + +build = [ + + # 64-bit build + f"rm -rf {destdir}", + f"cd {builddir} && install -d -m 777 {destdir}/opt/depot_tools", + f"cd {builddir} && mv * {destdir}/opt/depot_tools/ && chmod -R 777 {destdir}/opt/depot_tools", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {destdir}/opt/depot_tools/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 {builddir} {destdir}" +] + +triggers = [ + f"chmod 777 -R /opt/depot_tools" +] \ No newline at end of file diff --git a/dhcpcd.recipe.py b/dhcpcd.recipe.py new file mode 100644 index 0000000..7040760 --- /dev/null +++ b/dhcpcd.recipe.py @@ -0,0 +1,30 @@ +pkgname = "dhcpcd" +pkgver = "10.3.0" +source = f"https://github.com/NetworkConfiguration/dhcpcd/releases/download/v{pkgver}/dhcpcd-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/dhcpcd --dbdir=/var/lib/dhcpcd --runstatedir=/run --disable-privsep", + 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}/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 {builddir} {fembuilddir}" +] diff --git a/diffutils.recipe.py b/diffutils.recipe.py new file mode 100644 index 0000000..0d4e87f --- /dev/null +++ b/diffutils.recipe.py @@ -0,0 +1,31 @@ +pkgname = "diffutils" +pkgver = "3.12" +source = f"https://ftpmirror.gnu.org/gnu/diffutils/diffutils-{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 /tmp/fempkg/build {fembuilddir} || true && 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}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/dosfstools.recipe.py b/dosfstools.recipe.py new file mode 100644 index 0000000..6c544f4 --- /dev/null +++ b/dosfstools.recipe.py @@ -0,0 +1,30 @@ +pkgname = "dosfstools" +pkgver = "4.2" +source = f"https://github.com/dosfstools/dosfstools/releases/download/v{pkgver}/dosfstools-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --enable-compat-symlinks --mandir=/usr/share/man --docdir=/usr/share/doc/dosfstools-{pkgver}", + 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 {builddir} {fembuilddir}" +] diff --git a/doxygen.recipe.py b/doxygen.recipe.py new file mode 100644 index 0000000..2f07744 --- /dev/null +++ b/doxygen.recipe.py @@ -0,0 +1,31 @@ +pkgname = "doxygen" +pkgver = "1.15.0" +source = f"https://doxygen.nl/files/doxygen-{pkgver}.src.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", "git", "qt6"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.src.tar.gz", + + # 64-bit build + f"cd {builddir} && grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/' && mkdir build && cd build && cmake -G \"Unix Makefiles\" -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr -D build_wizard=ON -D force_qt=Qt6 -W no-dev ..", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install && mkdir -p {destdir}/usr/share/man/man1 && " + f"install -vm644 ../doc/*.1 {destdir}/usr/share/man/man1", + + 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}" +] diff --git a/duktape.recipe.py b/duktape.recipe.py new file mode 100644 index 0000000..2ddedbb --- /dev/null +++ b/duktape.recipe.py @@ -0,0 +1,30 @@ +pkgname = "duktape" +pkgver = "2.7.0" +source = f"https://duktape.org/duktape-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i 's/-Os/-O2/' Makefile.sharedlibrary", + f"cd {builddir} && make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr -j$(nproc)", + f"cd {builddir} && make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr DESTDIR={destdir} 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 {builddir} {fembuilddir}" +] diff --git a/dvd+rw-tools.recipe.py b/dvd+rw-tools.recipe.py new file mode 100644 index 0000000..6b857d9 --- /dev/null +++ b/dvd+rw-tools.recipe.py @@ -0,0 +1,30 @@ +pkgname = "dvd+rw-tools" +pkgver = "7.1" +source = f"https://anduin.linuxfromscratch.org/BLFS/dvd+rw-tools/dvd+rw-tools-{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 = ["cdrtools"] + +build = [ + # Extract + 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/dvd+rw-tools-{pkgver}-consolidated_fixes-2.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../dvd+rw-tools-{pkgver}-consolidated_fixes-2.patch", + f"cd {builddir} && make all rpl8 btcflash -j$(nproc)", + f"cd {builddir} && make prefix={destdir}/usr install && install -d -m 755 {destdir}/usr/share/doc && install -v -m644 -D index.html {destdir}/usr/share/doc/dvd+rw-tools-{pkgver}/index.html", + + 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 {builddir} {fembuilddir}" +] diff --git a/e2fsprogs.recipe.py b/e2fsprogs.recipe.py new file mode 100644 index 0000000..2dcc33e --- /dev/null +++ b/e2fsprogs.recipe.py @@ -0,0 +1,38 @@ +pkgname = "e2fsprogs" +pkgver = "1.47.3" +source = f"https://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v{pkgver}/e2fsprogs-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir -v build && cd build", + f"cd {builddir}/build && ../configure --prefix=/usr --sysconfdir=/etc --enable-elf-shlibs --disable-libblkid --disable-libuuid --disable-uuidd --disable-fsck", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install", + f"cd {builddir}/build && rm -fv {destdir}/usr/lib/{{libcom_err,libe2p,libext2fs,libss}}.a", + f"cd {builddir}/build && gunzip -v {destdir}/usr/share/info/libext2fs.info.gz", + f"cd {builddir}/build && sed 's/metadata_csum_seed,//' -i {destdir}/etc/mke2fs.conf", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/NOTICE {destdir}/usr/share/licenses/{pkgname}/LICENSE", # WHAT type of name is "NOTICE" + + # 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 /sources/{pkgname}-{pkgver}" +] + +triggers = [ + f"cd /tmp && install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info" +] diff --git a/efibootmgr.recipe.py b/efibootmgr.recipe.py new file mode 100644 index 0000000..fb98432 --- /dev/null +++ b/efibootmgr.recipe.py @@ -0,0 +1,30 @@ +pkgname = "efibootmgr" +pkgver = "18" +source = f"https://github.com/rhboot/efibootmgr/archive/{pkgver}/efibootmgr-{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 = ["efivar", "popt"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make EFIDIR=FEMOS EFI_LOADER=grubx64.efi -j$(nproc)", + f"cd {builddir} && make install DESTDIR={destdir} EFIDIR=FEMOS", + + 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 {builddir} {fembuilddir}" +] diff --git a/efivar.recipe.py b/efivar.recipe.py new file mode 100644 index 0000000..9ab4ea7 --- /dev/null +++ b/efivar.recipe.py @@ -0,0 +1,33 @@ +pkgname = "efivar" +pkgver = "39" +source = f"https://github.com/rhboot/efivar/archive/{pkgver}/efivar-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make ENABLE_DOCS=0 -j$(nproc)", + f"cd {builddir} && make install DESTDIR={destdir} ENABLE_DOCS=0 LIBDIR=/usr/lib", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/man/man1", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/man/man3", + f"cd {builddir} && install -vm644 docs/efivar.1 {destdir}/usr/share/man/man1", + f"cd {builddir} && install -vm644 docs/*.3 {destdir}/usr/share/man/man3", + + 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 {builddir} {fembuilddir}" +] diff --git a/elogind.recipe.py b/elogind.recipe.py new file mode 100644 index 0000000..81ea902 --- /dev/null +++ b/elogind.recipe.py @@ -0,0 +1,36 @@ +pkgname = "elogind" +pkgver = "255.22" +source = f"https://github.com/elogind/elogind/archive/V{pkgver}/elogind-{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 = ["dbus", "Linux-PAM"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D man=auto -D docdir=/usr/share/doc/elogind-{pkgver} " + f"-D cgroup-controller=elogind -D dev-kvm-mode=0660 -D dbuspolicydir=/etc/dbus-1/system.d", + + f"cd {builddir}/build && ninja", + f"cd {builddir} && install -d -m 755 {destdir}/usr/lib/pkgconfig", + + f"cd {builddir}/build && DESTDIR={destdir} ninja install && ln -sfv libelogind.pc {destdir}/usr/lib/pkgconfig/libsystemd.pc && ln -sfvn elogind " + f"{destdir}/usr/include/systemd", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE.GPL2 {destdir}/usr/share/licenses/{pkgname}/LICENSE.GPL2", + f"install -v -m644 {builddir}/LICENSE.LGPL2.1 {destdir}/usr/share/licenses/{pkgname}/LICENSE.LGPL2.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 {builddir} {fembuilddir}" +] diff --git a/expat.recipe.py b/expat.recipe.py new file mode 100644 index 0000000..dbb3803 --- /dev/null +++ b/expat.recipe.py @@ -0,0 +1,37 @@ +pkgname = "expat" +pkgver = "2.7.3" +source = f"https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/expat-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && sed -e \"/^am__append_1/ s/doc//\" -i Makefile", + f"cd {builddir} && make clean", + f"cd {builddir} && CC=\"gcc -m32\" ./configure --prefix=/usr --disable-static --libdir=/usr/lib32 --host=i686-pc-linux-gnu", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/expect.recipe.py b/expect.recipe.py new file mode 100644 index 0000000..8ae1327 --- /dev/null +++ b/expect.recipe.py @@ -0,0 +1,33 @@ +# expect.recipe.py +pkgname = "expect" +pkgver = "5.45.4" +source = f"https://prdownloads.sourceforge.net/expect/expect{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 = [] + +build = [ + # Extract + 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/lfs/development/expect-{pkgver}-gcc15-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../expect-{pkgver}-gcc15-1.patch", + f"cd {builddir} && ./configure --prefix=/usr --with-tcl=/usr/lib --enable-shared --disable-rpath --mandir=/usr/share/man --with-tclinclude=/usr/include", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && ln -svf expect{pkgver}/libexpect{pkgver}.so {destdir}/usr/lib", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/license.terms {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 /sources/{pkgname}{pkgver}" +] diff --git a/extra-cmake-modules.recipe.py b/extra-cmake-modules.recipe.py new file mode 100644 index 0000000..180c4cd --- /dev/null +++ b/extra-cmake-modules.recipe.py @@ -0,0 +1,33 @@ +pkgname = "extra-cmake-modules" +pkgver = "6.20.0" +source = f"https://rocketleaguechatp.duckdns.org/extra-cmake-modules-{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 = ["cmake", "qt6"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i '/\"lib64\"/s/64//' kde-modules/KDEInstallDirsCommon.cmake && sed -e '/PACKAGE_INIT/i set(SAVE_PACKAGE_PREFIX_DIR \"${{PACKAGE_PREFIX_DIR}}\")' -e '/^include/a set(PACKAGE_PREFIX_DIR \"${{SAVE_PACKAGE_PREFIX_DIR}}\")' -i ECMConfig.cmake.in && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D BUILD_WITH_QT6=ON -D DOC_INSTALL_DIR=/usr/share/doc/extra-cmake-modules-{pkgver} ..", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + f"mkdir -p {destdir}/usr/share/licenses/{pkgname}", + f"cp -pv {builddir}/COPYING-CMAKE-SCRIPTS {destdir}/usr/share/licenses/{pkgname}/", + f"cd {builddir}/LICENSES && cp -pv * {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/eza.recipe.py b/eza.recipe.py new file mode 100644 index 0000000..612132d --- /dev/null +++ b/eza.recipe.py @@ -0,0 +1,37 @@ +pkgname = "eza" +pkgver = "0.23.4" +source = f"https://github.com/eza-community/eza/archive/refs/tags/v{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/v{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && cargo build --release", + f"cd {builddir} && install -d -m 755 {destdir}/usr/bin", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/bash-completion/completions/", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/fish/vendor_completions.d/", + f"cd {builddir} && install -d -m 755 {destdir}/usr/share/zsh/site-functions/", + + f"cd {builddir} && install -Dm755 target/release/eza {destdir}/usr/bin/eza && install -Dm644 completions/fish/eza.fish " + f"{destdir}/usr/share/fish/vendor_completions.d/eza.fish && install -Dm644 completions/zsh/_eza {destdir}/usr/share/zsh/site-functions/_eza && " + f"install -Dm644 completions/bash/eza {destdir}/usr/share/bash-completion/completions/eza", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE.txt {destdir}/usr/share/licenses/{pkgname}/LICENSE", + f"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/fastfetch.recipe.py b/fastfetch.recipe.py new file mode 100644 index 0000000..493b490 --- /dev/null +++ b/fastfetch.recipe.py @@ -0,0 +1,30 @@ +pkgname = "fastfetch" +pkgver = "2.53.0" +source = f"https://github.com/fastfetch-cli/fastfetch/archive/{pkgver}/fastfetch-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +destdir = f"{fembuilddir}/DESTDIR" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" + +deps = ["cmake"] + +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 -p build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D BUILD_FLASHFETCH=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"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}" +] diff --git a/fcron.recipe.py b/fcron.recipe.py new file mode 100644 index 0000000..bdcd924 --- /dev/null +++ b/fcron.recipe.py @@ -0,0 +1,55 @@ +pkgname = "fcron" +pkgver = "3.4.0" +source = f"http://fcron.free.fr/archives/fcron-{pkgver}.src.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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.src.tar.gz", + + # 64-bit build + f"cd {builddir} && find doc -type f -exec sed -i 's:/usr/local::g' {{}} \\;", + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --without-sendmail --with-boot-install=no --with-systemdsystemunitdir=no", + f"cd {builddir} && make -j$(nproc)", + f"mkdir -p {destdir}/etc/pam.d", + f"cd {builddir} && 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", + + f"wget https://rocketleaguechatp.duckdns.org/run-parts -O {destdir}/usr/bin/run-parts", + f"install -vdm754 {destdir}/etc/cron.{{hourly,daily,weekly,monthly}}", + f"wget https://rocketleaguechatp.duckdns.org/systab.orig -O {destdir}/var/spool/fcron/systab.orig", + f"chmod -v 755 {destdir}/usr/bin/run-parts", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"groupadd -g 22 fcron || true", + f"useradd -d /dev/null -c \"Fcron User\" -g fcron -s /bin/false -u 22 fcron || true", + f"""if grep -Fq "cron.*" /etc/syslog.conf; then + echo "cron.* already exists — skipping." +else + echo "cron.* not found — appending entry." + cat >> /etc/syslog.conf << "EOF" +# Begin fcron addition to /etc/syslog.conf + +cron.* -/var/log/cron.log + +# End fcron addition +EOF +fi +""", +] \ No newline at end of file diff --git a/femboyos-postpatches.recipe.py b/femboyos-postpatches.recipe.py new file mode 100644 index 0000000..2978af5 --- /dev/null +++ b/femboyos-postpatches.recipe.py @@ -0,0 +1,27 @@ +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}" +] diff --git a/femctl.recipe.py b/femctl.recipe.py new file mode 100644 index 0000000..2e55d11 --- /dev/null +++ b/femctl.recipe.py @@ -0,0 +1,30 @@ +pkgname = "femctl" +pkgver = "1.0.1" +source = f"https://rocketleaguechatp.duckdns.org/femctl/femctl" +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"] + +build = [ + # Extract # actually no + f"mkdir -p {fembuilddir}", + + # 64-bit build + f"cd {fembuilddir} && mkdir -p {destdir}/usr/bin", + f"cd {fembuilddir} && cp -v /var/lib/fempkg/pkgs/femctl {destdir}/usr/bin/", + f"cd {fembuilddir} && chmod +x {destdir}/usr/bin/femctl", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://rocketleaguechatp.duckdns.org/femctl/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}" +] diff --git a/fempkg.recipe.py b/fempkg.recipe.py new file mode 100644 index 0000000..495caf4 --- /dev/null +++ b/fempkg.recipe.py @@ -0,0 +1,33 @@ +pkgname = "fempkg" +pkgver = "1.3.2" +atomic = True +source = f"https://rocketleaguechatp.duckdns.org/fempkg-{pkgver}.tar" +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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar", + + # 64-bit build + f"cd {fembuilddir} && install -d -m 755 {destdir}/usr/bin" + f"cd {fembuilddir} && install -Dm755 fempkg {destdir}/usr/bin/fempkg", + f"cd {fembuilddir} && install -Dm644 build.py {destdir}/usr/bin/build.py", + f"cd {fembuilddir} && install -Dm644 db.py {destdir}/usr/bin/db.py", + f"cd {fembuilddir} && install -Dm644 utils.py {destdir}/usr/bin/utils.py", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {fembuilddir}/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 {builddir} {fembuilddir}" +] diff --git a/ffmpeg.recipe.py b/ffmpeg.recipe.py new file mode 100644 index 0000000..ae39404 --- /dev/null +++ b/ffmpeg.recipe.py @@ -0,0 +1,65 @@ +pkgname = "ffmpeg" +pkgver = "8.0.1" +source = f"https://ffmpeg.org/releases/ffmpeg-{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 = [ + "libaom", "libass", "dav1d", "SVT-AV1", "x264", "x265", + "nasm", "freetype", "libvorbis", "libwebp" +] + +build = [ + # --- Extract source --- + f"mkdir -p {fembuilddir} && cd {fembuilddir} && " + f"tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && " + f"wget -q https://www.linuxfromscratch.org/patches/blfs/svn/ffmpeg-{pkgver}-chromium_method-1.patch", + + # --- Configure --- + f"cd {builddir} && patch -Np1 -i ../ffmpeg-{pkgver}-chromium_method-1.patch && " + "./configure " + "--prefix=/usr " + "--disable-debug " + "--disable-static " + "--enable-shared " + "--enable-gpl " + "--enable-version3 " + "--enable-libaom " + "--enable-libass " + "--enable-libdav1d " + "--enable-libfreetype " + "--enable-libmp3lame " + "--enable-libopus " + "--enable-libvorbis " + "--enable-libvpx " + "--enable-libx264 " + "--enable-libx265 " + "--enable-libsvtav1 " + "--enable-libwebp " + "--enable-libdrm " + "--enable-gnutls " + "--ignore-tests=enhanced-flv-av1,enhanced-flv-multitrack " + f"--docdir=/usr/share/doc/{pkgname}-{pkgver}", + + # --- Build --- + f"cd {builddir} && make -j$(nproc) && gcc tools/qt-faststart.c -o tools/qt-faststart", + + # --- Install (staged with DESTDIR) --- + f"cd {builddir} && make install DESTDIR={destdir} && " + f"install -v -m755 tools/qt-faststart {destdir}/usr/bin && " + f"install -v -m755 -d {destdir}/usr/share/doc/{pkgname}-{pkgver} && " + f"install -v -m644 doc/*.txt {destdir}/usr/share/doc/{pkgname}-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/COPYING* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # --- Cleanup --- + f"rm -rf {builddir} {fembuilddir} /tmp/fempkgbuild" +] diff --git a/fftw.recipe.py b/fftw.recipe.py new file mode 100644 index 0000000..691c812 --- /dev/null +++ b/fftw.recipe.py @@ -0,0 +1,44 @@ +pkgname = "fftw" +pkgver = "3.3.10" +source = f"https://www.fftw.org/fftw-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 1st stage + f"cd {builddir} && ./configure --prefix=/usr --enable-shared --disable-static --enable-threads --enable-sse2 --enable-avx --enable-avx2", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"cd {builddir} && make clean", + + # 2st stage + f"cd {builddir} && ./configure --prefix=/usr --enable-shared --disable-static --enable-threads --enable-sse2 --enable-avx --enable-avx2 --enable-float", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"cd {builddir} && make clean", + + # 3st stage + f"cd {builddir} && ./configure --prefix=/usr --enable-shared --disable-static --enable-threads --enable-long-double", + 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", + f"install -v -m644 {builddir}/COPYRIGHT {destdir}/usr/share/licenses/{pkgname}/COPYRIGHT", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/file.recipe.py b/file.recipe.py new file mode 100644 index 0000000..4e57c8d --- /dev/null +++ b/file.recipe.py @@ -0,0 +1,40 @@ +# file.recipe.py +pkgname = "file" +pkgver = "5.46" +source = f"https://astron.com/pub/file/file-{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 = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # Clean for 32-bit + f"cd {builddir} && make distclean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && CC=\"gcc -m32\" ./configure --prefix=/usr --libdir=/usr/lib32 --host=i686-pc-linux-gnu", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/findutils.recipe.py b/findutils.recipe.py new file mode 100644 index 0000000..344fb58 --- /dev/null +++ b/findutils.recipe.py @@ -0,0 +1,30 @@ +pkgname = "findutils" +pkgver = "4.10.0" +source = f"https://ftpmirror.gnu.org/gnu/findutils/findutils-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --localstatedir=/var/lib/locate", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/fish.recipe.py b/fish.recipe.py new file mode 100644 index 0000000..a43bc3d --- /dev/null +++ b/fish.recipe.py @@ -0,0 +1,33 @@ +pkgname = "fish" +pkgver = "4.2.1" +source = f"https://github.com/fish-shell/fish-shell/releases/download/{pkgver}/fish-{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 = [ + + 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 && cmake -G Ninja -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_INSTALL_SYSCONFDIR=/etc -D " + f"CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_INSTALL_RPATH=ON -D FISH_USE_SYSTEM_PCRE2=ON -D WITH_GETTEXT=ON -D " + f"CMAKE_INSTALL_DOCDIR=/usr/share/doc/fish-{pkgver} ..", + + 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}" +] diff --git a/flatpak.recipe.py b/flatpak.recipe.py new file mode 100644 index 0000000..e0cfe0f --- /dev/null +++ b/flatpak.recipe.py @@ -0,0 +1,29 @@ +pkgname = "flatpak" +pkgver = "1.16.1" +source = f"https://github.com/flatpak/flatpak/releases/download/{pkgver}/flatpak-{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", "dbus", "fuse", "glib", "gpgme", "json-glib", "elogind", "ostree", "p11-kit", "pyparsing", "libglvnd", "appstream-glib", "avahi", "bubblewrap", "curl", "libarchive", "libseccomp", "libsoup", "libxau", "xdg-dbus-proxy", "xdg-desktop-portal", "libportal"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 systemd=disabled -D system_bubblewrap=bwrap -D system_dbus_proxy=xdg-dbus-proxy -D tests=false ..", + 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 {builddir} {fembuilddir}" +] diff --git a/flatpost.recipe.py b/flatpost.recipe.py new file mode 100644 index 0000000..c9f7c8f --- /dev/null +++ b/flatpost.recipe.py @@ -0,0 +1,27 @@ +pkgname = "flatpost" +pkgver = "1.1.1" +source = f"https://github.com/GloriousEggroll/flatpost/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 = [] #idk + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # flatpost alr installs license on its own + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/flex.recipe.py b/flex.recipe.py new file mode 100644 index 0000000..55b7d41 --- /dev/null +++ b/flex.recipe.py @@ -0,0 +1,35 @@ +# flex.recipe.py +pkgname = "flex" +pkgver = "2.6.4" +source = f"https://github.com/westes/flex/releases/download/v{pkgver}/flex-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # build & install + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/flex-{pkgver} --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # symlinkgbb lex + f"cd {builddir} && ln -sv flex {destdir}/usr/bin/lex", + f"cd {builddir} && ln -sv flex.1 {destdir}/usr/share/man/man1/lex.1", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/fontconfig.recipe.py b/fontconfig.recipe.py new file mode 100644 index 0000000..13d1dd0 --- /dev/null +++ b/fontconfig.recipe.py @@ -0,0 +1,29 @@ +pkgname = "fontconfig" +pkgver = "2.17.1" +source = f"https://gitlab.freedesktop.org/api/v4/projects/890/packages/generic/fontconfig/{pkgver}/fontconfig-{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 /tmp/fempkg/build {fembuilddir} || true && 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", + 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 {builddir} {fembuilddir}" +] diff --git a/foot.recipe.py b/foot.recipe.py new file mode 100644 index 0000000..a2df41a --- /dev/null +++ b/foot.recipe.py @@ -0,0 +1,30 @@ +pkgname = "foot" +pkgver = "1.25.0" +source = f"https://codeberg.org/dnkl/foot/releases/download/{pkgver}/foot-{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 = ["fontconfig", "libxkbcommon", "pixman", "wayland", "wayland-protocols", "harfbuzz"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] diff --git a/freetype.recipe.py b/freetype.recipe.py new file mode 100644 index 0000000..cb90092 --- /dev/null +++ b/freetype.recipe.py @@ -0,0 +1,31 @@ +pkgname = "freetype" +pkgver = "2.14.1" +source = f"https://downloads.sourceforge.net/freetype/freetype-{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 = ["harfbuzz", "which"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # Patch headers safely + f"cd {builddir} && sed -ri 's:.*(AUX_MODULES.*valid):\\1:' modules.cfg", + f"cd {builddir} && sed -r 's:.*(#.*SUBPIXEL_RENDERING) .*:\\1:' -i include/freetype/config/ftoption.h", + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr", + 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 {builddir} {fembuilddir}" +] diff --git a/fribidi.recipe.py b/fribidi.recipe.py new file mode 100644 index 0000000..1794f58 --- /dev/null +++ b/fribidi.recipe.py @@ -0,0 +1,29 @@ +pkgname = "fribidi" +pkgver = "1.0.16" +source = f"https://github.com/fribidi/fribidi/releases/download/v{pkgver}/fribidi-{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 /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/fuse.recipe.py b/fuse.recipe.py new file mode 100644 index 0000000..d36f9d9 --- /dev/null +++ b/fuse.recipe.py @@ -0,0 +1,34 @@ +pkgname = "fuse" +pkgver = "3.17.4" +source = f"https://github.com/libfuse/libfuse/releases/download/fuse-{pkgver}/fuse-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && sed -i '/^udev/,$ s/^/#/' util/meson.build && cd build && meson setup --prefix=/usr --buildtype=release ..", + f"cd {builddir}/build && ninja", + + f"cd {builddir}/build && DESTDIR={destdir} ninja install && chmod u+s {destdir}/usr/bin/fusermount3 && " + f"cd .. && mkdir -p {destdir}/usr/share/doc/fuse-{pkgver} && cp -Rv doc/html -T {destdir}/usr/share/doc/fuse-{pkgver} && install -v " + f"-m644 doc/{{README.NFS,kernel.txt}} {destdir}/usr/share/doc/fuse-{pkgver}", + + 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}/LGPL2.txt {destdir}/usr/share/licenses/{pkgname}/LGPL2.txt", + f"install -v -m644 {builddir}/GPL2.txt {destdir}/usr/share/licenses/{pkgname}/GPL2.txt", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/fuse2.recipe.py b/fuse2.recipe.py new file mode 100644 index 0000000..97011de --- /dev/null +++ b/fuse2.recipe.py @@ -0,0 +1,31 @@ +pkgname = "fuse2" +pkgver = "2.9.9" +source = f"https://github.com/libfuse/libfuse/releases/download/fuse-{pkgver}/fuse-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/fuse-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/fuse-{pkgver}.tar.gz && wget https://gitlab.archlinux.org/archlinux/packaging/packages/fuse2/-/raw/main/conditionally-define-closefrom.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../conditionally-define-closefrom.patch && autoreconf -i -I/usr/share/gettext/m4 && ./configure --prefix=/usr --disable-static INIT_D_PATH=/tmp/init.d", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && " + f"rm -rf {destdir}/tmp && install -v -m755 -d {destdir}/usr/share/doc/fuse-{pkgver} && install -v -m644 doc/{{how-fuse-works,kernel.txt}} {destdir}/usr/share/doc/fuse-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/fuzzel.recipe.py b/fuzzel.recipe.py new file mode 100644 index 0000000..891c1d5 --- /dev/null +++ b/fuzzel.recipe.py @@ -0,0 +1,28 @@ +pkgname = "fuzzel" +pkgver = "1.13.1" +source = f"https://codeberg.org/dnkl/fuzzel.git" +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 = ["scdoc"] + +build = [ + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr", + 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 {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 {builddir}" +] diff --git a/gawk.recipe.py b/gawk.recipe.py new file mode 100644 index 0000000..aa99b7f --- /dev/null +++ b/gawk.recipe.py @@ -0,0 +1,33 @@ +pkgname = "gawk" +pkgver = "5.3.2" +source = f"https://ftpmirror.gnu.org/gnu/gawk/gawk-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i 's/extras//' Makefile.in", + 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/man/man1", + f"cd {builddir} && ln -sv gawk.1 {destdir}/usr/share/man/man1/awk.1", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/gcc.recipe.py b/gcc.recipe.py new file mode 100644 index 0000000..e3881e3 --- /dev/null +++ b/gcc.recipe.py @@ -0,0 +1,64 @@ +pkgname = "gcc" +pkgver = "15.2.0" +source = f"https://ftpmirror.gnu.org/gnu/gcc/gcc-{pkgver}/gcc-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # Patch multilib directories + f"cd {builddir} && sed -e '/m64=/s/lib64/lib/' " + f"-e '/m32=/s/m32=.*/m32=..\\/lib32$(call if_multiarch,:i386-linux-gnu)/' -i.orig gcc/config/i386/t-linux64", + + # Make -mstackrealign default for 32-bit + f"cd {builddir} && sed '/STACK_REALIGN_DEFAULT/s/0/(!TARGET_64BIT \\&\\& TARGET_SSE)/' -i gcc/config/i386/i386.h", + + # Make build directory + f"cd {builddir} && mkdir -v build", + + # 64-bit + multilib configure + f"cd {builddir}/build && export mlist=m64,m32 && " + f"../configure --prefix=/usr LD=ld " + f"--enable-languages=c,c++ " + f"--enable-default-pie --enable-default-ssp --enable-host-pie " + f"--enable-multilib --with-multilib-list=$mlist " + f"--disable-bootstrap --disable-fixincludes --with-system-zlib", + + # Compile and install + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + # Fix ownership of installed headers + f"cd {builddir}/build && " + f"chown -v -R root:root {destdir}/usr/lib/gcc/$(gcc -dumpmachine)/{pkgver}/include{{,-fixed}}", + + # Create required symlinks + f"cd {builddir}/build && ln -svr /usr/bin/cpp {destdir}/usr/lib", + f"cd {builddir} && ln -sv gcc {destdir}/usr/bin/cc", + f"install -v -d -m755 {destdir}/usr/share/man/man1", + f"cd {builddir}/build && ln -sv gcc.1 {destdir}/usr/share/man/man1/cc.1", + f"mkdir -p {destdir}/usr/lib/bfd-plugins/", + f"cd {builddir}/build && " + f"ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/{pkgver}/liblto_plugin.so {destdir}/usr/lib/bfd-plugins/", + + # Move GDB auto-load files + f"cd {builddir}/build && mkdir -pv {destdir}/usr/share/gdb/auto-load/usr/lib", + f"cd {builddir}/build && mv -v {destdir}/usr/lib/*gdb.py {destdir}/usr/share/gdb/auto-load/usr/lib", + f"cd {builddir} && mkdir -p {destdir}/usr/share/licenses/{pkgname} && " + f"cp -v COPYING COPYING.LIB COPYING.RUNTIME COPYING3 COPYING3.LIB " + f"{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}" +] diff --git a/gcr.recipe.py b/gcr.recipe.py new file mode 100644 index 0000000..ef2e698 --- /dev/null +++ b/gcr.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gcr" +pkgver = "3.41.2" +source = f"https://download.gnome.org/sources/gcr/3.41/gcr-{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", "libgcrypt", "p11-kit", "gpg", "gtk4", "libsecret", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed '/ssh.add/d; /ssh.agent/d' -i meson.build && sed -i 's:\"/desktop:\"/org:' schema/*.xml && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D gtk_doc=false -D ssh_agent=false ..", + 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 {builddir} {fembuilddir}" +] diff --git a/gcr4.recipe.py b/gcr4.recipe.py new file mode 100644 index 0000000..ee9fd63 --- /dev/null +++ b/gcr4.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gcr4" +pkgver = "4.4.0.1" +source = f"https://download.gnome.org/sources/gcr/4.4/gcr-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/gcr-{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", "libgcrypt", "p11-kit", "gpg", "gtk4", "libsecret", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gcr-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D gtk_doc=false -D ssh_agent=false ..", + 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 {builddir} {fembuilddir}" +] diff --git a/gdbm.recipe.py b/gdbm.recipe.py new file mode 100644 index 0000000..f6b1736 --- /dev/null +++ b/gdbm.recipe.py @@ -0,0 +1,36 @@ +pkgname = "gdbm" +pkgver = "1.26" +source = f"https://ftpmirror.gnu.org/gnu/gdbm/gdbm-{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 = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --enable-libgdbm-compat", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" CXX=\"g++ -m32\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --libdir=/usr/lib32 --disable-static --enable-libgdbm-compat", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/gdkpixbuf.recipe.py b/gdkpixbuf.recipe.py new file mode 100644 index 0000000..e1d18b1 --- /dev/null +++ b/gdkpixbuf.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gdkpixbuf" +pkgver = "2.44.4" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/gdk-pixbuf/{Pkgver}/gdk-pixbuf-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/gdk-pixbuf-{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", "libjpegturbo", "libpng", "shared-mime-info", "libtiff"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gdk-pixbuf-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D others=enabled -D glycin=disabled --wrap-mode=nofallback", + 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 {builddir} {fembuilddir}" +] diff --git a/geoclue.recipe.py b/geoclue.recipe.py new file mode 100644 index 0000000..7f8481e --- /dev/null +++ b/geoclue.recipe.py @@ -0,0 +1,41 @@ +pkgname = "geoclue" +pkgver = "2.8.0" +source = f"https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/{pkgver}/geoclue-{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 = ["json-glib", "libsoup", "libnotify", "vala", "ModemManager"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D gtk-doc=false -D nmea-source=false ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + f"""mkdir -p {destdir}/etc/geoclue/conf.d && cat > {destdir}/etc/geoclue/conf.d/90-lfs-google.conf << "EOF" +# Begin /etc/geoclue/conf.d/90-lfs-google.conf + +# This configuration applies for the WiFi source. +[wifi] + +# Set the URL to Google's Geolocation Service. +url=https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyCmBCAAwwSjPLqFOuQjDV2g7mkQmv2kiTs + +# End /etc/geoclue/conf.d/90-lfs-google.conf +EOF""", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/geocode-glib.recipe.py b/geocode-glib.recipe.py new file mode 100644 index 0000000..2265499 --- /dev/null +++ b/geocode-glib.recipe.py @@ -0,0 +1,29 @@ +pkgname = "geocode-glib" +pkgver = "3.26.4" +source = f"https://download.gnome.org/sources/geocode-glib/3.26/geocode-glib-{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 = ["json-glib", "libsoup", "glib"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 enable-gtk-doc=false -D soup2=false ..", + 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.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gettext.recipe.py b/gettext.recipe.py new file mode 100644 index 0000000..ac4f58a --- /dev/null +++ b/gettext.recipe.py @@ -0,0 +1,28 @@ +pkgname = "gettext" +pkgver = "0.26" +source = f"https://ftpmirror.gnu.org/gnu/gettext/gettext-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/gettext-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && chmod -v 0755 {destdir}/usr/lib/preloadable_libintl.so && install -Dm644 ./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 /sources/{pkgname}-{pkgver}" +] diff --git a/giflib.recipe.py b/giflib.recipe.py new file mode 100644 index 0000000..0f3f684 --- /dev/null +++ b/giflib.recipe.py @@ -0,0 +1,31 @@ +pkgname = "giflib" +pkgver = "5.2.2" +source = f"https://rocketleaguechatp.duckdns.org/giflib-{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 = [] + +build = [ + # Extract + 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/giflib-{pkgver}-upstream_fixes-1.patch https://www.linuxfromscratch.org/patches/blfs/svn/giflib-{pkgver}-security_fixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../giflib-{pkgver}-upstream_fixes-1.patch && patch -Np1 -i ../giflib-{pkgver}-security_fixes-1.patch && cp pic/gifgrid.gif doc/giflib-logo.gif", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make PREFIX=/usr DESTDIR={destdir} install && rm -fv {destdir}/usr/lib/libgif.a && find doc \\( -name Makefile\* -o -name \\*.1 " + f"-o -name \\*.xml \\) -exec rm -v {{}} \\; && install -v -dm755 {destdir}/usr/share/doc/giflib-{pkgver} && install -v -dm755 " + f"{destdir}/usr/share/doc/giflib-{pkgver} && cp -v -R doc/* {destdir}/usr/share/doc/giflib-{pkgver}", + + 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 {builddir} {fembuilddir}" +] diff --git a/git.recipe.py b/git.recipe.py new file mode 100644 index 0000000..426970d --- /dev/null +++ b/git.recipe.py @@ -0,0 +1,29 @@ +pkgname = "git" +pkgver = "2.52.0" +source = f"https://www.kernel.org/pub/software/scm/git/git-{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 = ["curl"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --with-gitconfig=/etc/gitconfig --with-python=python3 --with-libpcre2", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make perllibdir=/usr/lib/perl5/5.42/site_perl 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 {builddir} {fembuilddir}" +] diff --git a/glaze.recipe.py b/glaze.recipe.py new file mode 100644 index 0000000..d7efc4d --- /dev/null +++ b/glaze.recipe.py @@ -0,0 +1,30 @@ +pkgname = "glaze" +pkgver = "6.0.2" +source = f"https://github.com/stephenberry/glaze/archive/v{pkgver}/glaze-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 glaze_BUILD_EXAMPLES=OFF -D glaze_DEVELOPER_MODE=OFF -D glaze_ENABLE_FUZZING=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"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 {builddir} {fembuilddir}" +] diff --git a/glib-networking.recipe.py b/glib-networking.recipe.py new file mode 100644 index 0000000..2b66555 --- /dev/null +++ b/glib-networking.recipe.py @@ -0,0 +1,29 @@ +pkgname = "glib-networking" +pkgver = "2.80.1" +source = f"https://download.gnome.org/sources/glib-networking/2.80/glib-networking-{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", "gnutls", "gsettings-desktop-schemas"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 libproxy=disabled ..", + 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 {builddir} {fembuilddir}" +] diff --git a/glib.recipe.py b/glib.recipe.py new file mode 100644 index 0000000..34dce25 --- /dev/null +++ b/glib.recipe.py @@ -0,0 +1,49 @@ +pkgname = "glib" +pkgver = "2.86.2" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/glib/{Pkgver}/glib-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +gobject_ver = "1.86.0" +Pkgver_gobj = gobject_ver[:4] +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir}", + f"cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + f"cd {fembuilddir} && wget https://download.gnome.org/sources/gobject-introspection/{Pkgver_gobj}/gobject-introspection-{gobject_ver}.tar.xz", + f"cd {fembuilddir} && wget https://www.linuxfromscratch.org/patches/blfs/svn/glib-skip_warnings-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../glib-skip_warnings-1.patch", + f"cd {builddir} && mkdir -v build", + f"cd {builddir}/build && meson setup .. --prefix=/usr --buildtype=release -D introspection=disabled -D glib_debug=disabled -D man-pages=disabled -D tests=false -D sysprof=disabled", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + # Build GObject Introspection + f"cd {builddir}/build && tar xf ../../gobject-introspection-{gobject_ver}.tar.xz", + f"cd {builddir}/build && meson setup gobject-introspection-{gobject_ver} gi-build --prefix=/usr --buildtype=release", + f"cd {builddir}/build && ninja -C gi-build", + f"cd {builddir}/build && DESTDIR={destdir} ninja -C gi-build install", + f"cd {builddir}/build && meson configure -D introspection=enabled", + 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}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/gobject-introspection/", + f"cp -pv {builddir}/build/gobject-introspection-{gobject_ver}/COPYING* {destdir}/usr/share/licenses/gobject-introspection/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/glibc.recipe.py b/glibc.recipe.py new file mode 100644 index 0000000..28b547d --- /dev/null +++ b/glibc.recipe.py @@ -0,0 +1,132 @@ +# glibc.recipe.py +pkgname = "glibc" +pkgver = "2.42" +atomic = True +source = f"https://ftpmirror.gnu.org/gnu/glibc/glibc-{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 tarball + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget " + f"https://www.linuxfromscratch.org/patches/lfs/development/glibc-{pkgver}-fhs-1.patch " + f"https://www.iana.org/time-zones/repository/releases/tzdata2025b.tar.gz https://www.linuxfromscratch.org/patches/lfs/development/glibc-" + f"{pkgver}-upstream_fixes-1.patch", + + # Apply patches + f"cd {builddir} && patch -Np1 -i ../glibc-{pkgver}-upstream_fixes-1.patch", + f"cd {builddir} && patch -Np1 -i ../glibc-{pkgver}-fhs-1.patch", + + # sed fix (operate inside source tree) + + f"cd {builddir} && " # DONT REMOVE THE ADDITIONAL SPACES (idk if important but it works so KEEP IT AAAAA) + f"sed -i -e '/unistd.h/i #include ' -e '/libc_rwlock_init/c\\ __libc_rwlock_define_initialized (, reset_lock);\\ " + f"memcpy (&lock, &reset_lock, sizeof (lock));' stdlib/abort.c", + + # Create 64-bit build dir & configure + f"cd {builddir} && mkdir -v build", + f"cd {builddir}/build && echo 'rootsbindir=/usr/sbin' > configparms", + ( + f"cd {builddir}/build && ../configure --prefix=/usr " + "--disable-werror --disable-nscd libc_cv_slibdir=/usr/lib " + "--enable-stack-protector=strong --enable-kernel=5.4" + ), + + # Build 64-bit + f"cd {builddir}/build && make -j$(nproc)", + + # Prevent the installation test script from aborting install (adjust Makefile) + # edit the top-level Makefile (one dir up from build) + f"cd {builddir}/build && sed '/test-installation/s@\\$(PERL)@echo not running@' -i ../Makefile", + + # Install 64-bit + f"cd {builddir}/build && make DESTDIR={destdir} install", + + # fix ldd RTLDLIST edit (as in LFS instructions) + f"sed '/RTLDLIST=/s@/usr@@g' -i {destdir}/usr/bin/ldd", + + # Install locales from the build dir (objdir must be set) + f"cd {builddir}/build && make DESTDIR={destdir} localedata/install-locales ", + + f"mkdir -pv {destdir}/etc", + # Create nsswitch.conf (heredoc) + f"""cat > {destdir}/etc/nsswitch.conf << "EOF" +passwd: files +group: files +shadow: files + +hosts: files dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files +EOF""", + + # Timezone setup: ensure ZONEINFO is exported for the whole block and run in /sourc + # Timezone setup: ensure we stay in /sources +( + f"mkdir -pv {builddir}/localodoto && cd {builddir}/localodoto && tar -xf ../../tzdata2025b.tar.gz && mkdir -pv {destdir}/usr/share/licenses/tzdata/ && cp -pv LICENSE {destdir}/usr/share/licenses/tzdata/ && " + f"ZONEINFO={destdir}/usr/share/zoneinfo && " + "mkdir -pv $ZONEINFO/{posix,right} && " + + # Compile all timezones into DESTDIR + "for tz in etcetera southamerica northamerica europe africa antarctica asia australasia backward; do " + " zic -L /dev/null -d $ZONEINFO ${tz}; " + " zic -L /dev/null -d $ZONEINFO/posix ${tz}; " + " zic -L leapseconds -d $ZONEINFO/right ${tz}; " + "done && " + + # Copy metadata files (zone.tab etc.) to DESTDIR + f"cp -v zone.tab zone1970.tab iso3166.tab {destdir}/usr/share/zoneinfo && " + + # Set default timezone inside DESTDIR (not host system!) + f"zic -d {destdir}/usr/share/zoneinfo -p America/New_York && " + + # Install the default /etc/localtime into DESTDIR + f"mkdir -p {destdir}/etc && " + f"ln -sfv ../usr/share/zoneinfo/Europe/Rome {destdir}/etc/localtime" +), + + + f"mkdir -pv {destdir}/etc/ld.so.conf.d", + + # --- 32-bit Glibc build (do this inside the same build dir) --- + # clean objdir but keep source tree + f"cd {builddir}/build && rm -rf ./*", + f"cd {builddir}/build && find .. -name '*.a' -delete", + + # configure 32-bit build from build dir (use CC/CXX -m32) + ( + f"cd {builddir}/build && " + "CC=\"gcc -m32\" CXX=\"g++ -m32\" ../configure " + "--prefix=/usr " + "--host=i686-pc-linux-gnu " + "--build=$(../scripts/config.guess) " + "--libdir=/usr/lib32 " + "--libexecdir=/usr/lib32 " + "--disable-werror " + "--disable-nscd " + "libc_cv_slibdir=/usr/lib32 " + "--enable-stack-protector=strong " + "--enable-kernel=5.4" + ), + + + # build & install 32-bit into DESTDIR then copy files to root locations + 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}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + 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", +] diff --git a/glibmm.recipe.py b/glibmm.recipe.py new file mode 100644 index 0000000..91222b6 --- /dev/null +++ b/glibmm.recipe.py @@ -0,0 +1,32 @@ +pkgname = "glibmm" +pkgver = "2.86.0" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/glibmm/{Pkgver}/glibmm-{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", "libsigc"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir bld && cd bld && meson setup --prefix=/usr --buildtype=release ..", + f"cd {builddir}/bld && ninja", + f"cd {builddir}/bld && 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.tools {destdir}/usr/share/licenses/{pkgname}/COPYING.tools", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/glslang.recipe.py b/glslang.recipe.py new file mode 100644 index 0000000..c457aa5 --- /dev/null +++ b/glslang.recipe.py @@ -0,0 +1,29 @@ +pkgname = "glslang" +pkgver = "16.1.0" +source = f"https://github.com/KhronosGroup/glslang/archive/{pkgver}/glslang-{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", "spirv-tools"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 ALLOW_EXTERNAL_SPIRV_TOOLS=ON -D BUILD_SHARED_LIBS=ON -D GLSLANG_TESTS=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 {builddir} {fembuilddir}" +] diff --git a/glslc.recipe.py b/glslc.recipe.py new file mode 100644 index 0000000..a82a270 --- /dev/null +++ b/glslc.recipe.py @@ -0,0 +1,32 @@ +pkgname = "glslc" +pkgver = "2025.5" +source = f"https://github.com/google/shaderc/archive/v{pkgver}/shaderc-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/shaderc-{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", "glslang", "spirv-tools"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/shaderc-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed '/build-version/d' -i glslc/CMakeLists.txt && sed '/third_party/d' -i CMakeLists.txt && " + f"sed 's|SPIRV|glslang/&|' -i libshaderc_util/src/compiler.cc && echo '\"{pkgver}\"' > glslc/src/build-version.inc && mkdir -v build " + f"&& cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D SHADERC_SKIP_TESTS=ON -G Ninja ..", + + f"cd {builddir}/build && ninja glslc/glslc", + f"cd {builddir}/build && mkdir -p {destdir}/usr/bin/ && install -vm755 glslc/glslc {destdir}/usr/bin", + + 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 {builddir} {fembuilddir}" +] diff --git a/glu.recipe.py b/glu.recipe.py new file mode 100644 index 0000000..226e577 --- /dev/null +++ b/glu.recipe.py @@ -0,0 +1,28 @@ +pkgname = "glu" +pkgver = "9.0.3" +source = f"https://archive.mesa3d.org/glu/glu-{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 = ["mesa"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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=$XORG_PREFIX --buildtype=release $(! pkgconf libglvnd && echo -D gl_provider=gl) ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && rm -vf {destdir}/usr/lib/libGLU.a", + + # no license copying cuz its alr in files anuways # actually dunno but arch doesent install license so ig + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gmmlib.recipe.py b/gmmlib.recipe.py new file mode 100644 index 0000000..1ccac6c --- /dev/null +++ b/gmmlib.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gmmlib" +pkgver = "22.8.2" +source = f"https://github.com/lfs-book/gmmlib/archive/v{pkgver}/gmmlib-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 BUILD_TYPE=Release -G Ninja -W no-dev ..", + 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.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gmp.recipe.py b/gmp.recipe.py new file mode 100644 index 0000000..37a8681 --- /dev/null +++ b/gmp.recipe.py @@ -0,0 +1,42 @@ +# gmp.recipe.py +pkgname = "gmp" +pkgver = "6.3.0" +source = f"https://ftpmirror.gnu.org/gnu/gmp/gmp-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i '/long long t1;/,+1s/()/(...)/' configure", + f"cd {builddir} && ./configure --prefix=/usr --enable-cxx --host=none-linux-gnu --disable-static --docdir=/usr/share/doc/gmp-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make html", + f"cd {builddir} && make DESTDIR={destdir} install && make DESTDIR={destdir} install html", + + # 32 bit + f"cd {builddir} && make distclean", + f"cd {builddir} && cp -v configfsf.guess config.guess", + f"cd {builddir} && cp -v configfsf.sub config.sub", + f"cd {builddir} && ABI=\"32\" CFLAGS=\"-m32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=i686\" CXXFLAGS=\"$CFLAGS\" PKG_CONFIG_PATH=\"/usr/lib32/pkgconfig\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --disable-static --enable-cxx --libdir=/usr/lib32 --includedir=/usr/include/m32/gmp", + f"cd {builddir} && sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp {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}" +] diff --git a/gnome-desktop.recipe.py b/gnome-desktop.recipe.py new file mode 100644 index 0000000..e9f79da --- /dev/null +++ b/gnome-desktop.recipe.py @@ -0,0 +1,32 @@ +pkgname = "gnome-desktop" +pkgver = "44.4" +Pkgver = pkgver[:2] +source = f"https://download.gnome.org/sources/gnome-desktop/{Pkgver}/gnome-desktop-{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 = ["gsettings-desktop-schemas", "gtk3", "iso-codes", "itstool", "libseccomp", "xkeyboard-config", "bubblewrap", "gtk4"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + f"install -v -m644 {builddir}/COPYING-DOCS {destdir}/usr/share/licenses/{pkgname}/COPYING-DOCS", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gnome-keyring.recipe.py b/gnome-keyring.recipe.py new file mode 100644 index 0000000..85213ae --- /dev/null +++ b/gnome-keyring.recipe.py @@ -0,0 +1,31 @@ +pkgname = "gnome-keyring" +pkgver = "48.0" +source = f"https://download.gnome.org/sources/gnome-keyring/48/gnome-keyring-{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", "gcr", "Linux-PAM", "ssh"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i 's:\"/desktop:\"/org:' schema/*.xml && mkdir build-gkr && cd build-gkr && meson setup .. --prefix=/usr --buildtype=release -D systemd=disabled -D ssh-agent=true", + f"cd {builddir}/build-gkr && ninja", + f"cd {builddir}/build-gkr && 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gnome-settings-daemon.recipe.py b/gnome-settings-daemon.recipe.py new file mode 100644 index 0000000..9b01bb6 --- /dev/null +++ b/gnome-settings-daemon.recipe.py @@ -0,0 +1,31 @@ +pkgname = "gnome-settings-daemon" +pkgver = "49.1" +Pkgver = pkgver[:2] +source = f"https://download.gnome.org/sources/gnome-settings-daemon/{Pkgver}/gnome-settings-daemon-{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 = ["alsa-lib", "fontconfig", "libsecret", "gnome-keyring", "gcr4", "geoclue", "geocode-glib", "gnome-desktop", "libcanberra", "libgweather", "libnotify", "libwacom", "pulseaudio", "upower", "NetworkManager", "wayland"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -e 's/libsystemd/libelogind/' -i plugins/power/test.py && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D systemd=false -D cups=false -D colord=false ..", + 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gnutls.recipe.py b/gnutls.recipe.py new file mode 100644 index 0000000..9f4a655 --- /dev/null +++ b/gnutls.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gnutls" +pkgver = "3.8.10" +source = f"https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-{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 = ["nettle", "libunistring", "libtasn1", "p11-kit"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/gnutls-{pkgver} --with-default-trust-store-pkcs11=\"pkcs11:\"", + 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.LESSERv2 {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSERv2", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/go.recipe.py b/go.recipe.py new file mode 100644 index 0000000..163a921 --- /dev/null +++ b/go.recipe.py @@ -0,0 +1,28 @@ +pkgname = "go" +pkgver = "1.25.5" +source = f"https://go.dev/dl/go{pkgver}.linux-amd64.tar.gz" +builddir = f"/tmp/fempkg/build/go/go" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = [] #idk + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/go{pkgver}.linux-amd64.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir -p {destdir}/opt/go", + f"cd {builddir} && mv * {destdir}/opt/go", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"ln -sf /opt/go/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 {builddir} {fembuilddir}" +] diff --git a/gperf.recipe.py b/gperf.recipe.py new file mode 100644 index 0000000..3373d18 --- /dev/null +++ b/gperf.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gperf" +pkgver = "3.3" +source = f"https://ftpmirror.gnu.org/gnu/gperf/gperf-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/gperf-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/gpg.recipe.py b/gpg.recipe.py new file mode 100644 index 0000000..4cc0248 --- /dev/null +++ b/gpg.recipe.py @@ -0,0 +1,38 @@ +pkgname = "gpg" +pkgver = "2.4.8" +source = f"https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-{pkgver}.tar.bz2" +builddir = f"/tmp/fempkg/build/{pkgname}/gnupg-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +destdir = f"{fembuilddir}/DESTDIR" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" + +# Build steps +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gnupg-{pkgver}.tar.bz2", + + # Configure + f"cd {builddir} && mkdir -p build && cd build && ../configure " + f"--prefix=/usr " + f"--localstatedir=/var " + f"--sysconfdir=/etc " + f"--docdir=/usr/share/doc/gnupg-{pkgver}", + + # Build + f"cd {builddir}/build && make -j$(nproc)", + + # Install into DESTDIR + f"cd {builddir}/build && make DESTDIR={destdir} install", + + # Install license files into DESTDIR + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/COPYING* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gpgme.recipe.py b/gpgme.recipe.py new file mode 100644 index 0000000..3ffd3e7 --- /dev/null +++ b/gpgme.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gpgme" +pkgver = "2.0.1" +source = f"https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-{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 = ["libassuan"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && ../configure --prefix=/usr --disable-static --disable-gpg-test", + 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}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LESSER {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSER", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/gpgmepp.recipe.py b/gpgmepp.recipe.py new file mode 100644 index 0000000..434f8d6 --- /dev/null +++ b/gpgmepp.recipe.py @@ -0,0 +1,32 @@ +pkgname = "gpgmepp" +pkgver = "2.0.0" +source = f"https://www.gnupg.org/ftp/gcrypt/gpgmepp/gpgmepp-{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 = ["cmake"] + +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 -v build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr ..", + 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}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LESSER {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSER", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/gpu-screen-recorder.recipe.py b/gpu-screen-recorder.recipe.py new file mode 100644 index 0000000..0187a3d --- /dev/null +++ b/gpu-screen-recorder.recipe.py @@ -0,0 +1,28 @@ +pkgname = "gpu-screen-recorder" +pkgver = "5.9.2" +source = f"https://repo.dec05eba.com/gpu-screen-recorder" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = [] #idk + +build = [ + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr", + 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 {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 {builddir}" +] diff --git a/graphene.recipe.py b/graphene.recipe.py new file mode 100644 index 0000000..68a8222 --- /dev/null +++ b/graphene.recipe.py @@ -0,0 +1,30 @@ +pkgname = "graphene" +pkgver = "1.10.8" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/graphene/{Pkgver}/graphene-{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 /tmp/fempkg/build {fembuilddir} || true && 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}/LICENSE.txt {destdir}/usr/share/licenses/{pkgname}/LICENSE.txt", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/grep.recipe.py b/grep.recipe.py new file mode 100644 index 0000000..32ccfe5 --- /dev/null +++ b/grep.recipe.py @@ -0,0 +1,31 @@ +pkgname = "grep" +pkgver = "3.12" +source = f"https://ftpmirror.gnu.org/gnu/grep/grep-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i \"s/echo/#echo/\" src/egrep.sh", + 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}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/groff.recipe.py b/groff.recipe.py new file mode 100644 index 0000000..0ae9589 --- /dev/null +++ b/groff.recipe.py @@ -0,0 +1,30 @@ +pkgname = "groff" +pkgver = "1.23.0" +source = f"https://ftpmirror.gnu.org/gnu/groff/groff-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && PAGE=A4 ./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}" +] diff --git a/grub.recipe.py b/grub.recipe.py new file mode 100644 index 0000000..a35779b --- /dev/null +++ b/grub.recipe.py @@ -0,0 +1,33 @@ +pkgname = "grub" +pkgver = "2.12" +source = f"https://ftpmirror.gnu.org/gnu/grub/grub-{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" +unsets = "unset {{C,CPP,CXX,LD}}FLAGS" + +deps = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && {unsets} && echo depends bli part_gpt > grub-core/extra_deps.lst", + f"cd {builddir} && {unsets} && ./configure --prefix=/usr --sysconfdir=/etc --disable-efiemu --with-platform=efi --target=x86_64 --disable-werror", + f"cd {builddir} && {unsets} && make -j$(nproc)", + f"cd {builddir} && {unsets} && make DESTDIR={destdir} install", + f"cd {builddir} && {unsets} && install -d -m 755 {destdir}/usr/share/bash-completion/completions && mv -v {destdir}/etc/bash_completion.d/grub {destdir}/usr/share/bash-completion/completions", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/gsettings-desktop-schemas.recipe.py b/gsettings-desktop-schemas.recipe.py new file mode 100644 index 0000000..2c9ae4f --- /dev/null +++ b/gsettings-desktop-schemas.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gsettings-desktop-schemas" +pkgver = "49.1" +source = f"https://download.gnome.org/sources/gsettings-desktop-schemas/49/gsettings-desktop-schemas-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i -r 's:\"(/system):\"/org/gnome\1:g' schemas/*.in", + 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 {builddir} {fembuilddir}" +] diff --git a/gst-plugins-base.recipe.py b/gst-plugins-base.recipe.py new file mode 100644 index 0000000..b5e4a4b --- /dev/null +++ b/gst-plugins-base.recipe.py @@ -0,0 +1,29 @@ +pkgname = "gst-plugins-base" +pkgver = "1.26.8" +source = f"https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-{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 = ["gstreamer", "glib", "libgudev", "libvorbis", "mesa", "pango", "wayland-protocols", "xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 --wrap-mode=nodownload", + 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 {builddir} {fembuilddir}" +] diff --git a/gstreamer.recipe.py b/gstreamer.recipe.py new file mode 100644 index 0000000..14a2fa7 --- /dev/null +++ b/gstreamer.recipe.py @@ -0,0 +1,29 @@ +pkgname = "gstreamer" +pkgver = "1.26.8" +source = f"https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-{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 /tmp/fempkg/build {fembuilddir} || true && 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 gst_debug=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 {builddir} {fembuilddir}" +] diff --git a/gtk3.recipe.py b/gtk3.recipe.py new file mode 100644 index 0000000..bd6f7e8 --- /dev/null +++ b/gtk3.recipe.py @@ -0,0 +1,35 @@ +pkgname = "gtk3" +pkgver = "3.24.51" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/gtk/3.24/gtk-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/gtk-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["atspi2core", "gdkpixbuf", "libepoxy", "pango", "libxkbcommon"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gtk-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D man=true -D broadway_backend=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 {builddir} {fembuilddir}" +] + +triggers = [ + "cd /tmp && gtk-query-immodules-3.0 --update-cache", + "cd /tmp && glib-compile-schemas /usr/share/glib-2.0/schemas" +] diff --git a/gtk4.recipe.py b/gtk4.recipe.py new file mode 100644 index 0000000..ff231f9 --- /dev/null +++ b/gtk4.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gtk4" +pkgver = "4.20.3" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/gtk/{Pkgver}/gtk-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/gtk-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["gdkpixbuf", "graphene", "iso-codes", "libepoxy", "libxkbcommon", "pango", "pygobject", "wayland-protocols", "glib", "glslc", "webrtc-audio-processing"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gtk-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D broadway-backend=true -D introspection=enabled -D vulkan=enabled ..", + 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 {builddir} {fembuilddir}" +] diff --git a/gtkmm4.recipe.py b/gtkmm4.recipe.py new file mode 100644 index 0000000..78048a7 --- /dev/null +++ b/gtkmm4.recipe.py @@ -0,0 +1,32 @@ +pkgname = "gtkmm4" +pkgver = "4.20.0" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/gtkmm/{Pkgver}/gtkmm-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/gtkmm-{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", "pangomm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/gtkmm-{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}/COPYING", + f"install -v -m644 {builddir}/COPYING.tools {destdir}/usr/share/licenses/{pkgname}/COPYING.tools", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/gzip.recipe.py b/gzip.recipe.py new file mode 100644 index 0000000..89ed51a --- /dev/null +++ b/gzip.recipe.py @@ -0,0 +1,30 @@ +pkgname = "gzip" +pkgver = "1.14" +source = f"https://ftpmirror.gnu.org/gnu/gzip/gzip-{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 /tmp/fempkg/build {fembuilddir} || true && 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}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/harfbuzz.recipe.py b/harfbuzz.recipe.py new file mode 100644 index 0000000..eb1d3c5 --- /dev/null +++ b/harfbuzz.recipe.py @@ -0,0 +1,30 @@ +pkgname = "harfbuzz" +pkgver = "12.2.0" +source = f"https://github.com/harfbuzz/harfbuzz/releases/download/{pkgver}/harfbuzz-{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", "icu"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir -v build", + f"cd {builddir}/build && meson setup .. --prefix=/usr --buildtype=release -D graphite2=disabled", + 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 {builddir} {fembuilddir}" +] diff --git a/hicolor-icon-theme.recipe.py b/hicolor-icon-theme.recipe.py new file mode 100644 index 0000000..99263e9 --- /dev/null +++ b/hicolor-icon-theme.recipe.py @@ -0,0 +1,30 @@ +pkgname = "hicolor-icon-theme" +pkgver = "0.18" +source = f"https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-{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 /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/highway.recipe.py b/highway.recipe.py new file mode 100644 index 0000000..c82e9d1 --- /dev/null +++ b/highway.recipe.py @@ -0,0 +1,31 @@ +pkgname = "highway" +pkgver = "1.3.0" +source = f"https://github.com/google/highway/archive/{pkgver}/highway-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 BUILD_TESTING=OFF -D BUILD_SHARED_LIBS=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 {destdir}/usr/share/licenses/{pkgname}/LICENSE", + f"install -v -m644 {builddir}/LICENSE-BSD3 {destdir}/usr/share/licenses/{pkgname}/LICENSE-BSD3", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/hwdata.recipe.py b/hwdata.recipe.py new file mode 100644 index 0000000..41a4d3f --- /dev/null +++ b/hwdata.recipe.py @@ -0,0 +1,28 @@ +pkgname = "hwdata" +pkgver = "0.401" +source = f"https://github.com/vcrhonek/hwdata/archive/v{pkgver}/hwdata-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-blacklist", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/hyprland-libs.recipe.py b/hyprland-libs.recipe.py new file mode 100644 index 0000000..28e6b1b --- /dev/null +++ b/hyprland-libs.recipe.py @@ -0,0 +1,75 @@ +pkgname = "hyprland-libs" +pkgver = "0.52.1" +source = f"https://github.com/hyprwm/Hyprland/releases/download/v{pkgver}/source-v{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/hyprland-source" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = [ + "cairo", "cmake", "mesa", "libdisplay-info", "libdrm", "libinput", + "libjxl", "libpng", "librsvg", "libwebp", "libzip", "libglvnd", "pixman", + "pugixml", "qt6", "seatd", "tomlplusplus", "wayland", "wayland-protocols", "hwdata" +] + +build = [ + # Extract + f"mkdir -p /tmp/fempkg/build {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/source-v{pkgver}.tar.gz", + + # Fetch library list and archives + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/hypr-list", + f"cd {builddir} && mkdir hyprlib && cd hyprlib && grep -v '^#' ../hypr-list | wget -i- -c -B https://github.com/hyprwm/", + + # Build each library + f"""cd {builddir}/hyprlib && bash -c ' +for package in $(grep -v "^#" ../hypr-list); do + package=$(basename "$package") + packagedir=${{package%.tar.?z*}} + packagedir=$(echo -n "$packagedir" | sed "s/-v\\([0-9]\\)/-\\1/") + echo ">>> Building $packagedir" + + tar -xf $package + pushd $packagedir >/dev/null + + mkdir -p build + cd build + + if [[ "$packagedir" == hyprland-protocols-* ]]; then + meson setup --prefix=/usr --buildtype=release .. + else + cmake -D CMAKE_INSTALL_PREFIX=/usr \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_SKIP_INSTALL_RPATH=ON \ + -D INSTALL_QML_PREFIX=/lib/qt6/qml \ + -D DISABLE_TESTS=ON \ + -D BUILD_TESTING=OFF \ + -W no-dev -G Ninja .. + fi + + ninja + DESTDIR={destdir} ninja install + + # Copy license files + mkdir -p {destdir}/usr/share/licenses/$packagedir + for f in LICENSE COPYING COPYRIGHT; do + [ -f "../$f" ] && cp "../$f" {destdir}/usr/share/licenses/$packagedir/ || true + [ -f "$f" ] && cp "$f" {destdir}/usr/share/licenses/$packagedir/ || true + done + + popd >/dev/null + rm -rf $packagedir + /sbin/ldconfig +done +'""", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"/sbin/ldconfig" +] diff --git a/hyprland.recipe.py b/hyprland.recipe.py new file mode 100644 index 0000000..c7359d9 --- /dev/null +++ b/hyprland.recipe.py @@ -0,0 +1,42 @@ +pkgname = "hyprland" +pkgver = "0.52.1" +source = f"https://github.com/hyprwm/Hyprland/archive/v{pkgver}/Hyprland-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/hyprland-source" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [ + "cairo", "cmake", "mesa", "libdisplay-info", "libdrm", "libinput", + "libjxl", "libpng", "librsvg", "libwebp", "libzip", "libglvnd", "pixman", + "pugixml", "qt6", "seatd", "tomlplusplus", "wayland", "wayland-protocols", "hwdata", + "glaze", "libliftoff", "re2", "xcb-util-errors", "xwayland", "cpio" +] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/source-v{pkgver}.tar.gz && " + + 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} && cat > {destdir}/usr/share/wayland-sessions/hyprland.desktop << EOF +[Desktop Entry] +Name=Hyprland +Comment=An intelligent dynamic tiling Wayland compositor +Exec=dbus-run-session -- Hyprland +Type=Application +DesktopNames=Hyprland +Keywords=tiling;wayland;compositor; +EOF""", + f"cd {builddir} && sudo chmod 644 {destdir}/usr/share/wayland-sessions/hyprland.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", + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/hyprpicker.recipe.py b/hyprpicker.recipe.py new file mode 100644 index 0000000..7fff380 --- /dev/null +++ b/hyprpicker.recipe.py @@ -0,0 +1,29 @@ +pkgname = "hyprpicker" +pkgver = "0.4.5" +source = f"https://github.com/hyprwm/hyprpicker.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] + +build = [ + + # 64-bit build + f"cd {builddir} && mkdir -v build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr .. -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 {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 {builddir}" +] diff --git a/iana-etc.recipe.py b/iana-etc.recipe.py new file mode 100644 index 0000000..262de8d --- /dev/null +++ b/iana-etc.recipe.py @@ -0,0 +1,30 @@ +# man-pages.recipe.py # non penso # Z +pkgname = "iana-etc" +pkgver = "20251120" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +source = f"https://github.com/Mic92/iana-etc/releases/download/{pkgver}/iana-etc-{pkgver}.tar.gz" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] + +# Build commands +build = [ + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + f"mkdir -p {destdir}/etc", + f"cd {builddir} && cp services protocols {destdir}/etc", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://raw.githubusercontent.com/Mic92/iana-etc/refs/heads/master/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}" +] + + diff --git a/icu.recipe.py b/icu.recipe.py new file mode 100644 index 0000000..9b31632 --- /dev/null +++ b/icu.recipe.py @@ -0,0 +1,33 @@ +pkgname = "icu" +pkgver = "78.1" +source = f"https://github.com/unicode-org/icu/releases/download/release-{pkgver}/icu4c-{pkgver}-sources.tgz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}" +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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/icu4c-{pkgver}-sources.tgz", + + # 64-bit build + f"cd {builddir}/source && ./configure --prefix=/usr", + f"cd {builddir}/source && make -j$(nproc)", + f"cd {builddir}/source && make prefix={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 {builddir} {fembuilddir}" +] + +triggers = [ + {"rebuild_package": ["libical", "libxml2", "harfbuzz", "nodejs", "libqalculate"]} +] \ No newline at end of file diff --git a/index.txt b/index.txt new file mode 100644 index 0000000..76f6c2c --- /dev/null +++ b/index.txt @@ -0,0 +1,394 @@ +abseil-cpp.recipe.py +accountsservice.recipe.py +acl.recipe.py +adw-gtk3-theme.recipe.py +alsa-lib.recipe.py +appstream-glib.recipe.py +appstream.recipe.py +aspell.recipe.py +atspi2core.recipe.py +attr.recipe.py +aubio.recipe.py +autoconf.recipe.py +automake.recipe.py +avahi.recipe.py +bash.recipe.py +bc.recipe.py +binutils.recipe.py +bison.recipe.py +bluez.recipe.py +breakpad.recipe.py +breeze-icons.recipe.py +brightnessctl.recipe.py +brotli.recipe.py +btop.recipe.py +bubblewrap.recipe.py +bzip2.recipe.py +caelestia-cli.recipe.py +caelestia.recipe.py +caelestia-shell.recipe.py +cairo.recipe.py +c-ares.recipe.py +cargo-c.recipe.py +cava.recipe.py +cbindgen.recipe.py +cdrdao.recipe.py +cdrtools.recipe.py +CLI11.recipe.py +cliphist.recipe.py +cmake.recipe.py +coreutils.recipe.py +cpio.recipe.py +cryptsetup.recipe.py +cuda.recipe.py +curl.recipe.py +cyrus-sasl.recipe.py +dav1d.recipe.py +dbus.recipe.py +ddcutil.recipe.py +dejagnu.recipe.py +depot_tools.recipe.py +dhcpcd.recipe.py +diffutils.recipe.py +dosfstools.recipe.py +doxygen.recipe.py +duktape.recipe.py +dvd+rw-tools.recipe.py +e2fsprogs.recipe.py +efibootmgr.recipe.py +efivar.recipe.py +elogind.recipe.py +expat.recipe.py +expect.recipe.py +extra-cmake-modules.recipe.py +eza.recipe.py +fastfetch.recipe.py +fcron.recipe.py +femboyos-postpatches.recipe.py +femctl.recipe.py +fempkg.recipe.py +ffmpeg.recipe.py +fftw.recipe.py +file.recipe.py +findutils.recipe.py +fish.recipe.py +flatpak.recipe.py +flatpost.recipe.py +flex.recipe.py +fontconfig.recipe.py +foot.recipe.py +freetype.recipe.py +fribidi.recipe.py +fuse2.recipe.py +fuse.recipe.py +fuzzel.recipe.py +gawk.recipe.py +gcc.recipe.py +gcr4.recipe.py +gcr.recipe.py +gdbm.recipe.py +gdkpixbuf.recipe.py +geoclue.recipe.py +geocode-glib.recipe.py +gettext.recipe.py +giflib.recipe.py +git.recipe.py +glaze.recipe.py +glibc.recipe.py +glibmm.recipe.py +glib-networking.recipe.py +glib.recipe.py +glslang.recipe.py +glslc.recipe.py +glu.recipe.py +gmmlib.recipe.py +gmp.recipe.py +gnome-desktop.recipe.py +gnome-keyring.recipe.py +gnome-settings-daemon.recipe.py +gnutls.recipe.py +go.recipe.py +gperf.recipe.py +gpgmepp.recipe.py +gpgme.recipe.py +gpg.recipe.py +gpu-screen-recorder.recipe.py +graphene.recipe.py +grep.recipe.py +groff.recipe.py +grub.recipe.py +gsettings-desktop-schemas.recipe.py +gst-plugins-base.recipe.py +gstreamer.recipe.py +gtk3.recipe.py +gtk4.recipe.py +gtkmm4.recipe.py +gzip.recipe.py +harfbuzz.recipe.py +hicolor-icon-theme.recipe.py +highway.recipe.py +hwdata.recipe.py +hyprland-libs.recipe.py +hyprland.recipe.py +hyprpicker.recipe.py +iana-etc.recipe.py +icu.recipe.py +inetutils.recipe.py +inih.recipe.py +iniparser.recipe.py +inotify-tools.recipe.py +intelmedia.recipe.py +intelvaapi.recipe.py +intltool.recipe.py +iproute2.recipe.py +iptables.recipe.py +isl.recipe.py +iso-codes.recipe.py +itstool.recipe.py +iw.recipe.py +jansson.recipe.py +jemalloc.recipe.py +jetbrainsmono-nerd.recipe.py +json-c.recipe.py +json-glib.recipe.py +k3b.recipe.py +kapidox.recipe.py +kbd.recipe.py +keyutils.recipe.py +kf6.recipe.py +kmod.recipe.py +lcms2.recipe.py +less.recipe.py +libaio.recipe.py +libaom.recipe.py +libarchive.recipe.py +libass.recipe.py +libassuan.recipe.py +libatasmart.recipe.py +libblockdev.recipe.py +libburn.recipe.py +libbytesize.recipe.py +libcairomm.recipe.py +libcanberra.recipe.py +libcap.recipe.py +libcava.recipe.py +libclc.recipe.py +libdaemon.recipe.py +libdisplay-info.recipe.py +libdrm.recipe.py +libdvdread.recipe.py +libelf.recipe.py +libepoxy.recipe.py +libevdev.recipe.py +libffi.recipe.py +libfyaml.recipe.py +libgcrypt.recipe.py +libglvnd.recipe.py +libgpg-error.recipe.py +libgudev.recipe.py +libgweather.recipe.py +libical.recipe.py +libidn2.recipe.py +libinput.recipe.py +libjpeg-turbo.recipe.py +libjpegturbo.recipe.py +libjxl.recipe.py +libkcddb.recipe.py +libksba.recipe.py +libliftoff.recipe.py +libmad.recipe.py +libmbim.recipe.py +libmusicbrainz.recipe.py +libndp.recipe.py +libnl.recipe.py +libnotify.recipe.py +libnvme.recipe.py +libogg.recipe.py +libpcap.recipe.py +libpipeline.recipe.py +libpng.recipe.py +libportal.recipe.py +libpsl.recipe.py +libqalculate.recipe.py +libqmi.recipe.py +libqrencode.recipe.py +librsvg.recipe.py +libsamplerate.recipe.py +libseccomp.recipe.py +libsecret.recipe.py +libsigc.recipe.py +libsndfile.recipe.py +libsoup.recipe.py +libssh2.recipe.py +libtasn1.recipe.py +libtiff.recipe.py +libtirpc.recipe.py +libtool.recipe.py +libunistring.recipe.py +libusb.recipe.py +libuv.recipe.py +libva.recipe.py +libvdpau.recipe.py +libvorbis.recipe.py +libwacom.recipe.py +libwebp.recipe.py +libxau.recipe.py +libxcb.recipe.py +libxcrypt.recipe.py +libxcvt.recipe.py +libxdmcp.recipe.py +libxkbcommon.recipe.py +libxml2.recipe.py +libxmlb.recipe.py +libyaml.recipe.py +libzip.recipe.py +links.recipe.py +Linux-PAM.recipe.py +linux.recipe.py +llvm.recipe.py +lmdb.recipe.py +lm-sensors.recipe.py +lua.recipe.py +LVM2.recipe.py +lz4.recipe.py +m4.recipe.py +make.recipe.py +man-db.recipe.py +man-pages.recipe.py +material-design-icons.recipe.py +mesa.recipe.py +MIME-Base32.recipe.py +ModemManager.recipe.py +mpc.recipe.py +mpfr.recipe.py +mtdev.recipe.py +nasm.recipe.py +ncurses.recipe.py +neon.recipe.py +nettle.recipe.py +NetworkManager.recipe.py +newt.recipe.py +nghttp2.recipe.py +ninja.recipe.py +nodejs.recipe.py +npth.recipe.py +NSPR.recipe.py +NSS.recipe.py +nvidia-egl-libraries.recipe.py +nvidia.recipe.py +nwg-look.recipe.py +obs-studio.recipe.py +openldap.recipe.py +openssl.recipe.py +opsec.recipe.py +ostree.recipe.py +p11-kit.recipe.py +pangomm.recipe.py +pango.recipe.py +papirus-icon-theme.recipe.py +parted.recipe.py +patchelf.recipe.py +patch.recipe.py +pavucontrol.recipe.py +pcre2.recipe.py +perl.recipe.py +pipewire.recipe.py +pixman.recipe.py +pkgconf.recipe.py +plasma-wayland-protocols.recipe.py +pm-utils.recipe.py +polkit-gnome.recipe.py +polkit-qt.recipe.py +polkit.recipe.py +popt.recipe.py +power-profiles-daemon.recipe.py +procps-ng.recipe.py +psmisc.recipe.py +pugixml.recipe.py +pulseaudio.recipe.py +__pycache__ +pycairo.recipe.py +python.recipe.py +qca.recipe.py +qt6ct.recipe.py +qt6.recipe.py +quickshell.recipe.py +re2.recipe.py +readline.recipe.py +rustbindgen.recipe.py +rustc.recipe.py +sbc.recipe.py +scdoc.recipe.py +sdbus-cpp.recipe.py +sddm.recipe.py +sdl2.recipe.py +seatd.recipe.py +sed.recipe.py +shadow.recipe.py +shared-mime-info.recipe.py +slang.recipe.py +sound-theme-freedesktop.recipe.py +spirv-headers.recipe.py +spirv-llvm-translator.recipe.py +spirv-tools.recipe.py +sqlite.recipe.py +ssh.recipe.py +starship.recipe.py +sudo.recipe.py +SVT-AV1.recipe.py +swappy.recipe.py +sysklogd.recipe.py +sysvinit.recipe.py +taglib.recipe.py +tar.recipe.py +tcl.recipe.py +texinfo.recipe.py +tomlplusplus.recipe.py +udev.recipe.py +udisks.recipe.py +umockdev.recipe.py +upower.recipe.py +URI.recipe.py +utfcpp.recipe.py +util-linux.recipe.py +util-macros.recipe.py +v4l-utils.recipe.py +vala.recipe.py +vim.recipe.py +vulkan-headers.recipe.py +vulkan-loader.recipe.py +wayland-protocols.recipe.py +wayland.recipe.py +webrtc-audio-processing.recipe.py +wget.recipe.py +which.recipe.py +wireplumber.recipe.py +wpa_supplicant.recipe.py +x264.recipe.py +x265.recipe.py +xbitmaps.recipe.py +xcb-proto.recipe.py +xcb-util-errors.recipe.py +xcb-util.recipe.py +xcb-utils.recipe.py +xcursor-themes.recipe.py +xdg-dbus-proxy.recipe.py +xdg-desktop-portal-gtk.recipe.py +xdg-desktop-portal-hyprland.recipe.py +xdg-desktop-portal.recipe.py +xdg-utils.recipe.py +xkeyboard-config.recipe.py +xmlparser.recipe.py +xmlto.recipe.py +xorg-apps.recipe.py +xorg-fonts.recipe.py +xorg-input-driver.recipe.py +xorg-libs.recipe.py +xorgproto.recipe.py +xorg-server.recipe.py +xwayland.recipe.py +xz.recipe.py +yaml-cpp.recipe.py +yasm.recipe.py +zlib.recipe.py +zstd.recipe.py diff --git a/inetutils.recipe.py b/inetutils.recipe.py new file mode 100644 index 0000000..457e213 --- /dev/null +++ b/inetutils.recipe.py @@ -0,0 +1,32 @@ +pkgname = "inetutils" +pkgver = "2.6" +source = f"https://ftpmirror.gnu.org/gnu/inetutils/inetutils-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c", + f"cd {builddir} && ./configure --prefix=/usr --bindir=/usr/bin --localstatedir=/var --disable-logger --disable-whois --disable-rcp --disable-rexec --disable-rlogin --disable-rsh --disable-servers", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && mkdir -p {destdir}/usr/sbin && mv -v {destdir}/usr/{{,s}}bin/ifconfig", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/inih.recipe.py b/inih.recipe.py new file mode 100644 index 0000000..488ab1c --- /dev/null +++ b/inih.recipe.py @@ -0,0 +1,31 @@ +pkgname = "inih" +pkgver = "62" +source = f"https://github.com/benhoyt/inih/archive/r{pkgver}/inih-r{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-r{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-r{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] diff --git a/iniparser.recipe.py b/iniparser.recipe.py new file mode 100644 index 0000000..2b9ed3a --- /dev/null +++ b/iniparser.recipe.py @@ -0,0 +1,31 @@ +pkgname = "iniparser" +pkgver = "4.2.6" +source = f"https://gitlab.com/iniparser/iniparser/-/archive/v{pkgver}/iniparser-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 = [] + +build = [ + + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -DCMAKE_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}/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}" +] diff --git a/inotify-tools.recipe.py b/inotify-tools.recipe.py new file mode 100644 index 0000000..3994559 --- /dev/null +++ b/inotify-tools.recipe.py @@ -0,0 +1,29 @@ +pkgname = "inotify-tools" +pkgver = "4.25.9.0" +source = f"https://github.com/inotify-tools/inotify-tools.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] + +build = [ + + # 64-bit build + f"cd {builddir} && ./autogen.sh && ./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 {builddir}" +] diff --git a/intelmedia.recipe.py b/intelmedia.recipe.py new file mode 100644 index 0000000..176d764 --- /dev/null +++ b/intelmedia.recipe.py @@ -0,0 +1,30 @@ +pkgname = "intelmedia" +pkgver = "25.3.4" +source = f"https://github.com/lfs-book/intel-media-driver/archive/v{pkgver}/intel-media-driver-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/intel-media-driver-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["libva", "cmake", "gmmlib"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/intel-media-driver-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir -v build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -D INSTALL_DRIVER_SYSCONF=OFF -D BUILD_TYPE=Release -D MEDIA_BUILD_FATAL_WARNINGS=OFF -G Ninja -W no-dev ..", + 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.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/intelvaapi.recipe.py b/intelvaapi.recipe.py new file mode 100644 index 0000000..0bc02b9 --- /dev/null +++ b/intelvaapi.recipe.py @@ -0,0 +1,29 @@ +pkgname = "intelvaapi" +pkgver = "2.4.1" +source = f"https://github.com/intel/intel-vaapi-driver/releases/download/{pkgver}/intel-vaapi-driver-{pkgver}.tar.bz2" +builddir = f"/tmp/fempkg/build/{pkgname}/intel-vaapi-driver-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["libva"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/intel-vaapi-driver-{pkgver}.tar.bz2", + + # 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/intltool.recipe.py b/intltool.recipe.py new file mode 100644 index 0000000..a389bce --- /dev/null +++ b/intltool.recipe.py @@ -0,0 +1,32 @@ +pkgname = "intltool" +pkgver = "0.51.0" # which is funny because until i've had my coffee i dont give eeffoc # wait why did i write this lmfao # well well well another package with this, again removing next update +source = f"https://launchpad.net/intltool/trunk/{pkgver}/+download/intltool-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i 's:\\\\\\${{:\\\\\\${{:' intltool-update.in", + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && install -v -Dm644 doc/I18N-HOWTO {destdir}/usr/share/doc/intltool-{pkgver}/I18N-HOWTO", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/iproute2.recipe.py b/iproute2.recipe.py new file mode 100644 index 0000000..37d4637 --- /dev/null +++ b/iproute2.recipe.py @@ -0,0 +1,31 @@ +pkgname = "iproute2" +pkgver = "6.17.0" +source = f"https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i /ARPD/d Makefile ", + f"cd {builddir} && rm -fv man/man8/arpd.8", + f"cd {builddir} && make NETNS_RUN_DIR=/run/netns -j$(nproc)", + f"cd {builddir} && make SBINDIR=/usr/sbin DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/iptables.recipe.py b/iptables.recipe.py new file mode 100644 index 0000000..0470f74 --- /dev/null +++ b/iptables.recipe.py @@ -0,0 +1,29 @@ +pkgname = "iptables" +pkgver = "1.8.11" +source = f"https://www.netfilter.org/projects/iptables/files/iptables-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-nftables --enable-libipq", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/isl.recipe.py b/isl.recipe.py new file mode 100644 index 0000000..14fb4c0 --- /dev/null +++ b/isl.recipe.py @@ -0,0 +1,34 @@ +# mpc.recipe.py +pkgname = "isl" +pkgver = "0.27" +source = f"https://libisl.sourceforge.io/isl-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/isl-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && install -vd {destdir}/usr/share/doc/isl-{pkgver}", + f"cd {builddir} && install -m644 doc/{{CodingStyle,manual.pdf,SubmittingPatches,user.pod}} {destdir}/usr/share/doc/isl-{pkgver}", + f"cd {builddir} && mkdir -pv {destdir}/usr/share/gdb/auto-load/usr/lib && mv -v {destdir}/usr/lib/libisl*gdb.py {destdir}/usr/share/gdb/auto-load/usr/lib", + + 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}" +] diff --git a/iso-codes.recipe.py b/iso-codes.recipe.py new file mode 100644 index 0000000..74fe904 --- /dev/null +++ b/iso-codes.recipe.py @@ -0,0 +1,29 @@ +pkgname = "iso-codes" +pkgver = "4.18.0" +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}" +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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/itstool.recipe.py b/itstool.recipe.py new file mode 100644 index 0000000..6365a43 --- /dev/null +++ b/itstool.recipe.py @@ -0,0 +1,31 @@ +pkgname = "itstool" +pkgver = "2.0.7" +source = f"https://github.com/itstool/itstool/archive/{pkgver}/itstool-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && " + f"wget https://www.linuxfromscratch.org/patches/blfs/svn/itstool-{pkgver}-lxml-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../itstool-{pkgver}-lxml-1.patch && PYTHON=/usr/bin/python3 ./autogen.sh --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.GPL3 {destdir}/usr/share/licenses/{pkgname}/COPYING.GPL3", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/iw.recipe.py b/iw.recipe.py new file mode 100644 index 0000000..88f7a6f --- /dev/null +++ b/iw.recipe.py @@ -0,0 +1,31 @@ +pkgname = "iw" +pkgver = "6.17" +source = f"https://www.kernel.org/pub/software/network/iw/iw-{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 = ["libnl"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i \"/INSTALL.*gz/s/.gz//\" Makefile", + 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 {builddir} {fembuilddir}" +] diff --git a/jansson.recipe.py b/jansson.recipe.py new file mode 100644 index 0000000..1c62f61 --- /dev/null +++ b/jansson.recipe.py @@ -0,0 +1,29 @@ +pkgname = "jansson" +pkgver = "2.14.1" +source = f"https://github.com/akheron/jansson/releases/download/v{pkgver}/jansson-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.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"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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/jemalloc.recipe.py b/jemalloc.recipe.py new file mode 100644 index 0000000..e662c11 --- /dev/null +++ b/jemalloc.recipe.py @@ -0,0 +1,29 @@ +pkgname = "jemalloc" +pkgver = "5.3.0" +source = f"https://github.com/jemalloc/jemalloc.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["git"] # well i mean + +build = [ + + # 64-bit build + f"cd {builddir} && ./autogen.sh && ./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 {builddir}" +] diff --git a/jetbrainsmono-nerd.recipe.py b/jetbrainsmono-nerd.recipe.py new file mode 100644 index 0000000..905b788 --- /dev/null +++ b/jetbrainsmono-nerd.recipe.py @@ -0,0 +1,28 @@ +pkgname = "jetbrainsmono-nerd" +pkgver = "3.4.0" +source = f"https://github.com/ryanoasis/nerd-fonts/releases/download/v{pkgver}/JetBrainsMono.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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && unzip -d ./{pkgname}-{pkgver} /var/lib/fempkg/pkgs/JetBrainsMono.zip", + + # 64-bit build + f"cd {builddir} && mkdir -p {destdir}/usr/share/fonts/jetbrainsmono && chmod 775 {destdir}/usr/share/fonts/jetbrainsmono", + f"cd {builddir} && mv * {destdir}/usr/share/fonts/jetbrainsmono/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://raw.githubusercontent.com/ryanoasis/nerd-fonts/refs/heads/master/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 {builddir} {fembuilddir}" +] diff --git a/json-c.recipe.py b/json-c.recipe.py new file mode 100644 index 0000000..7d1a02e --- /dev/null +++ b/json-c.recipe.py @@ -0,0 +1,29 @@ +pkgname = "json-c" +pkgver = "0.18" +source = f"https://s3.amazonaws.com/json-c_releases/releases/json-c-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i 's/VERSION 2.8/VERSION 4.0/' apps/CMakeLists.txt && sed -i 's/VERSION 3.9/VERSION 4.0/' tests/CMakeLists.txt && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D BUILD_STATIC_LIBS=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"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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/json-glib.recipe.py b/json-glib.recipe.py new file mode 100644 index 0000000..9112061 --- /dev/null +++ b/json-glib.recipe.py @@ -0,0 +1,30 @@ +pkgname = "json-glib" +pkgver = "1.10.8" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/json-glib/{Pkgver}/json-glib-{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 /tmp/fempkg/build {fembuilddir} || true && 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"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/k3b.recipe.py b/k3b.recipe.py new file mode 100644 index 0000000..afc5a8c --- /dev/null +++ b/k3b.recipe.py @@ -0,0 +1,31 @@ +pkgname = "k3b" +pkgver = "25.08.3" +kf6_ver = "6.20.0" +source = f"https://download.kde.org/stable/release-service/{pkgver}/src/k3b-{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", "shared-mime-info", "libkcddb", "libsamplerate", "udisks", "libburn", "libdvdread", "taglib", "libmad", "cdrtools", "dvd+rw-tools", "cdrdao"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 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"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 DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/kapidox.recipe.py b/kapidox.recipe.py new file mode 100644 index 0000000..d075e1c --- /dev/null +++ b/kapidox.recipe.py @@ -0,0 +1,32 @@ +pkgname = "kapidox" # note package on blfs is kf6 +pkgver = "6.20.0" +Pkgver = pkgver[:4] +source = f"https://download.kde.org/stable/frameworks/{Pkgver}/kapidox-{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 = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD", + f"cd {builddir} && pip3 install --root={destdir} --no-index --find-links dist --no-user --force-reinstall --no-deps kapidox", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSES/BSD-2-Clause.txt {destdir}/usr/share/licenses/{pkgname}/BSD-2-Clause.txt", + f"install -v -m644 {builddir}/LICENSES/CC0-1.0.txt {destdir}/usr/share/licenses/{pkgname}/CC0-1.0.txt", + f"install -v -m644 {builddir}/LICENSES/LGPL-3.0-or-later.txt {destdir}/usr/share/licenses/{pkgname}/LGPL-3.0-or-later.txt", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/kbd.recipe.py b/kbd.recipe.py new file mode 100644 index 0000000..f7f66ff --- /dev/null +++ b/kbd.recipe.py @@ -0,0 +1,32 @@ +pkgname = "kbd" +pkgver = "2.9.0" +source = f"https://www.kernel.org/pub/linux/utils/kbd/kbd-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/lfs/development/kbd-{pkgver}-backspace-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../kbd-{pkgver}-backspace-1.patch", + f"cd {builddir} && sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure", + f"cd {builddir} && sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in", + f"cd {builddir} && ./configure --prefix=/usr --disable-vlock", + 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}" +] \ No newline at end of file diff --git a/keyutils.recipe.py b/keyutils.recipe.py new file mode 100644 index 0000000..da544ec --- /dev/null +++ b/keyutils.recipe.py @@ -0,0 +1,30 @@ +pkgname = "keyutils" +pkgver = "1.6.3" +source = f"https://rocketleaguechatp.duckdns.org/keyutils-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make NO_ARLIB=1 LIBDIR=/usr/lib BINDIR=/usr/bin SBINDIR=/usr/sbin DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENCE.LGPL {destdir}/usr/share/licenses/{pkgname}/LICENSE.LGPL", + f"install -v -m644 {builddir}/LICENCE.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 {builddir} {fembuilddir}" +] diff --git a/kf6.recipe.py b/kf6.recipe.py new file mode 100644 index 0000000..a081919 --- /dev/null +++ b/kf6.recipe.py @@ -0,0 +1,102 @@ +# TODO when a new kf6 ver drops update also the single kapidox recipe (and breeze-icons and extra-cmake-modules and k3b) +pkgname = "kf6" +pkgver = "6.20.0" +Pkgver = pkgver[:4] +source = f"https://download.kde.org/stable/frameworks/{Pkgver}/attica-{pkgver}.tar.xz" +bbuilddir = f"/tmp/fempkg/build/{pkgname}/attica-{pkgver}" +builddir = f"{bbuilddir}/kf6" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/attica-{pkgver}.tar.xz && mkdir {builddir}", + + # 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} && wget https://rocketleaguechatp.duckdns.org/frameworks-{pkgver}.md5", + f"""cd {builddir} && +mkdir -p {destdir}$KF6_PREFIX + +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 + packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory + + name=$(echo $pkg|sed 's|-6.*$||') # Isolate package name + + tar -xf $file + pushd $packagedir + + # kapidox is a python module + case $name in + kapidox) + pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD + pip3 install --root={destdir} --no-index --find-links dist --no-user --force-reinstall --no-deps kapidox + install -v -d -m755 {destdir}/usr/share/licenses/kapidox/ + install -v -m644 ./LICENSES/BSD-2-Clause.txt {destdir}/usr/share/licenses/kapidox/BSD-2-Clause.txt + install -v -m644 ./LICENSES/CC0-1.0.txt {destdir}/usr/share/licenses/kapidox/CC0-1.0.txt + install -v -m644 ./LICENSES/LGPL-3.0-or-later.txt {destdir}/usr/share/licenses/kapidox/LGPL-3.0-or-later.txt + popd + rm -rf $packagedir + continue + ;; + esac + + mkdir build + cd build + + cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \\ + -D CMAKE_INSTALL_LIBEXECDIR=libexec \\ + -D CMAKE_PREFIX_PATH=$QT6DIR \\ + -D CMAKE_SKIP_INSTALL_RPATH=ON \\ + -D CMAKE_BUILD_TYPE=Release \\ + -D BUILD_TESTING=OFF \\ + -D BUILD_PYTHON_BINDINGS=OFF \\ + -W no-dev .. + make -j$(nproc) + make DESTDIR={destdir} install + mkdir -p "{destdir}/usr/share/licenses/$name" + + LICENSE_FILES=$(find . \\ + -regextype posix-extended \\ + -iregex '.*(LICEN[SC]E(|S)|COPYING|COPYRIGHT|LEGAL|NOTICE)(|\.txt|\.md)' \\ + -type f) + + while read -r lf; do + [ -z "$lf" ] && continue + relpath=$(echo "$lf" | sed 's|^\./||') + install -Dm644 "$lf" \\ + "{destdir}/usr/share/licenses/$name/$relpath" + done <<< "$LICENSE_FILES" + popd + + rm -rf $packagedir + /sbin/ldconfig + +done < frameworks-{pkgver}.md5 +""", + + # Rename and link inside DESTDIR instead of system root + f"cd {destdir}/opt && mv -v kf6 kf6-{pkgver} && ln -sfvn kf6-{pkgver} kf6", + f"rm -rf {destdir}/opt/kf6/lib/systemd || true", + + # 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"cd /tmp && find /opt -maxdepth 1 -type d -name \"kf6-*\" ! -name \"kf6-{pkgver}\" -exec rm -rf {{}} +", + f"/sbin/ldconfig" +] diff --git a/kmod.recipe.py b/kmod.recipe.py new file mode 100644 index 0000000..658bfb6 --- /dev/null +++ b/kmod.recipe.py @@ -0,0 +1,37 @@ +pkgname = "kmod" +pkgver = "34.2" +source = f"https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-{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", + + # 64-bit build + f"cd {builddir} && mkdir -v build", + f"cd {builddir}/build && meson setup --prefix=/usr .. --buildtype=release -D manpages=false", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + # 32-bit build + f"cd {builddir}/ && rm -rf build && mkdir -v build", + f"cd {builddir}/build && PKG_CONFIG_PATH=\"/usr/lib32/pkgconfig\" CC=\"gcc -m32 -march=i686\" CXX=\"g++ -m32 -march=i686\" meson setup --prefix=/usr .. --buildtype=release --libdir=/usr/lib32 -D manpages=false", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/lcms2.recipe.py b/lcms2.recipe.py new file mode 100644 index 0000000..badca8c --- /dev/null +++ b/lcms2.recipe.py @@ -0,0 +1,28 @@ +pkgname = "lcms2" +pkgver = "2.17" +source = f"https://github.com/mm2/Little-CMS/releases/download/lcms{pkgver}/lcms2-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/less.recipe.py b/less.recipe.py new file mode 100644 index 0000000..7752b8c --- /dev/null +++ b/less.recipe.py @@ -0,0 +1,29 @@ +pkgname = "less" +pkgver = "685" +source = f"https://www.greenwoodsoftware.com/less/less-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --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", + + # 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}" +] \ No newline at end of file diff --git a/libaio.recipe.py b/libaio.recipe.py new file mode 100644 index 0000000..7fc9688 --- /dev/null +++ b/libaio.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libaio" +pkgver = "0.3.113" +source = f"https://pagure.io/libaio/archive/libaio-{pkgver}/libaio-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i '/install.*libaio.a/s/^/#/' src/Makefile", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libaom.recipe.py b/libaom.recipe.py new file mode 100644 index 0000000..1d91bbb --- /dev/null +++ b/libaom.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libaom" +pkgver = "3.13.1" +source = f"https://storage.googleapis.com/aom-releases/libaom-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && " + f"wget https://www.linuxfromscratch.org/patches/blfs/svn/libaom-{pkgver}-nasm3-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../libaom-{pkgver}-nasm3-1.patch && mkdir aom-build && cd aom-build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D " + f"BUILD_SHARED_LIBS=1 -D ENABLE_DOCS=no -G Ninja ..", + f"cd {builddir}/aom-build && ninja", + f"cd {builddir}/aom-build && DESTDIR={destdir} ninja install && rm -v {destdir}/usr/lib/libaom.a", + + 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 {builddir} {fembuilddir}" +] diff --git a/libarchive.recipe.py b/libarchive.recipe.py new file mode 100644 index 0000000..8b1c9d8 --- /dev/null +++ b/libarchive.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libarchive" +pkgver = "3.8.2" +source = f"https://github.com/libarchive/libarchive/releases/download/v{pkgver}/libarchive-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && ln -sfv bsdunzip {destdir}/usr/bin/unzip", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libass.recipe.py b/libass.recipe.py new file mode 100644 index 0000000..cc23f08 --- /dev/null +++ b/libass.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libass" # vro +pkgver = "0.17.4" +source = f"https://github.com/libass/libass/releases/download/{pkgver}/libass-{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 = ["freetype", "fribidi"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libassuan.recipe.py b/libassuan.recipe.py new file mode 100644 index 0000000..52f34da --- /dev/null +++ b/libassuan.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libassuan" +pkgver = "3.0.2" +source = f"https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-{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 = ["libgpg-error"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc) && make -C doc html && makeinfo --html --no-split -o doc/assuan_nochunks.html doc/assuan.texi && makeinfo --plaintext -o doc/assuan.txt doc/assuan.texi", + f"cd {builddir} && make DESTDIR={destdir} install && install -v -dm755 {destdir}/usr/share/doc/libassuan-{pkgver}/html && install -v -m644 doc/assuan.html/* {destdir}/usr/share/doc/libassuan-{pkgver}/html && install -v -m644 doc/assuan_nochunks.html {destdir}/usr/share/doc/libassuan-{pkgver} && install -v -m644 doc/assuan.{{txt,texi}} {destdir}/usr/share/doc/libassuan-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libatasmart.recipe.py b/libatasmart.recipe.py new file mode 100644 index 0000000..80e862c --- /dev/null +++ b/libatasmart.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libatasmart" +pkgver = "0.19" +source = f"https://0pointer.de/public/libatasmart-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && make docdir=/usr/share/doc/libatasmart-{pkgver} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LGPL {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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libblockdev.recipe.py b/libblockdev.recipe.py new file mode 100644 index 0000000..13a4bfc --- /dev/null +++ b/libblockdev.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libblockdev" +pkgver = "3.4.0" +source = f"https://github.com/storaged-project/libblockdev/releases/download/{pkgver}/libblockdev-{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 = ["glib", "cryptsetup", "keyutils", "libatasmart", "libbytesize", "libnvme", "LVM2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --with-python3 --without-escrow --without-gtk-doc --without-lvm --without-lvm_dbus --without-nvdimm --without-tools --without-smartmontools", + 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libburn.recipe.py b/libburn.recipe.py new file mode 100644 index 0000000..9dd04d1 --- /dev/null +++ b/libburn.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libburn" +pkgver = "1.5.6" +source = f"https://files.libburnia-project.org/releases/libburn-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i 's/catch_int ()/catch_int (int signum)/' test/poll.c && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libbytesize.recipe.py b/libbytesize.recipe.py new file mode 100644 index 0000000..3acf530 --- /dev/null +++ b/libbytesize.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libbytesize" +pkgver = "2.11" +source = f"https://github.com/storaged-project/libbytesize/releases/download/{pkgver}/libbytesize-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libcairomm.recipe.py b/libcairomm.recipe.py new file mode 100644 index 0000000..d1e483b --- /dev/null +++ b/libcairomm.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libcairomm" +pkgver = "1.16" +cairommver = "1.18.0" +source = f"https://www.cairographics.org/releases/cairomm-{cairommver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/cairomm-{cairommver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["cairo", "libsigc"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/cairomm-{cairommver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir bld && cd bld && meson setup .. --prefix=/usr --buildtype=release -D build-tests=false -D boost-shared=true", + f"cd {builddir}/bld && ninja", + f"cd {builddir}/bld && 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 {builddir} {fembuilddir}" +] diff --git a/libcanberra.recipe.py b/libcanberra.recipe.py new file mode 100644 index 0000000..597db04 --- /dev/null +++ b/libcanberra.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libcanberra" +pkgver = "0.30" +source = f"https://0pointer.de/lennart/projects/libcanberra/libcanberra-{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 = ["libvorbis", "alsa-lib", "gstreamer", "gtk3"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/blfs/svn/libcanberra-{pkgver}-wayland-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../libcanberra-{pkgver}-wayland-1.patch && ./configure --prefix=/usr --disable-oss", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make docdir=/usr/share/doc/libcanberra-{pkgver} DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LGPL {destdir}/usr/share/licenses/{pkgname}/LICENSE", # cant we js agree on one name dowg + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/libcap.recipe.py b/libcap.recipe.py new file mode 100644 index 0000000..0eb8a39 --- /dev/null +++ b/libcap.recipe.py @@ -0,0 +1,41 @@ +pkgname = "libcap" # BLFS & MLFS +pkgver = "2.77" +source = f"https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-{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", + + # 64-bit build + f"cd {builddir} && sed -i '/install -m.*STA/d' libcap/Makefile", + f"cd {builddir} && export GOLANG=no && make prefix=/usr lib=lib -j$(nproc)", + f"cd {builddir} && export GOLANG=no && make prefix=/usr lib=lib DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && export GOLANG=no && make CC=\"gcc -m32 -march=i686\" -j$(nproc)", + f"cd {builddir} && export GOLANG=no && make CC=\"gcc -m32 -march=i686\" lib=lib32 prefix=$PWD/tmpdestdir/usr -C libcap install", + f"cd {builddir} && mkdir -p {destdir}/usr/lib32 && cp -Rv tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + f"cd {builddir} && sed -e \"s|^libdir=.*|libdir=/usr/lib32|\" -i {destdir}/usr/lib32/pkgconfig/lib{{cap,psx}}.pc", + f"cd {builddir} && chmod -v 755 {destdir}/usr/lib32/libcap.so.{pkgver}", + + f"cd {builddir} && mkdir -p {destdir}/usr/lib/security && install -v -m755 pam_cap/pam_cap.so {destdir}/usr/lib/security/ && " + f"install -v -m644 pam_cap/capability.conf /etc/security", + + 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}" +] diff --git a/libcava.recipe.py b/libcava.recipe.py new file mode 100644 index 0000000..b68e7cc --- /dev/null +++ b/libcava.recipe.py @@ -0,0 +1,28 @@ +pkgname = "libcava" +pkgver = "0.10.6" +source = f"https://github.com/LukashonakV/cava.git" +builddir = f"/tmp/fempkgbuild/cava" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = [] + +build = [ + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr", + 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 {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 {builddir}" +] diff --git a/libclc.recipe.py b/libclc.recipe.py new file mode 100644 index 0000000..3ec8d9f --- /dev/null +++ b/libclc.recipe.py @@ -0,0 +1,36 @@ +pkgname = "libclc" +pkgver = "21.1.2" +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" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["llvm", "spirv-llvm-translator"] + +build = [ + # Extract + f"mkdir -p /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && " + f"tar -xvf /var/lib/fempkg/pkgs/libclc-{pkgver}.src.tar.xz", + + # Configure + f"cd {builddir} && rm -rf build && mkdir build && cd build && cmake " + f"-D CMAKE_INSTALL_PREFIX=/usr " + f"-D CMAKE_BUILD_TYPE=Release " + f"-G Ninja ..", + + # Build + install + 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 {builddir} {fembuilddir}" +] diff --git a/libdaemon.recipe.py b/libdaemon.recipe.py new file mode 100644 index 0000000..b4a674e --- /dev/null +++ b/libdaemon.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libdaemon" +pkgver = "0.14" +source = f"https://0pointer.de/lennart/projects/libdaemon/libdaemon-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make docdir=/usr/share/doc/libdaemon-{pkgver} 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 {builddir} {fembuilddir}" +] diff --git a/libdisplay-info.recipe.py b/libdisplay-info.recipe.py new file mode 100644 index 0000000..060ef25 --- /dev/null +++ b/libdisplay-info.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libdisplay-info" +pkgver = "0.3.0" +source = f"https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/{pkgver}/downloads/libdisplay-info-{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 = ["hwdata"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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}/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 {builddir} {fembuilddir}" +] diff --git a/libdrm.recipe.py b/libdrm.recipe.py new file mode 100644 index 0000000..1eb1631 --- /dev/null +++ b/libdrm.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libdrm" +pkgver = "2.4.129" +source = f"https://dri.freedesktop.org/libdrm/libdrm-{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 /tmp/fempkg/build {fembuilddir} || true && 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 udev=true -D valgrind=disabled ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://gitlab.archlinux.org/archlinux/packaging/packages/libdrm/-/raw/main/COPYING -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 {builddir} {fembuilddir}" +] diff --git a/libdvdread.recipe.py b/libdvdread.recipe.py new file mode 100644 index 0000000..59251ae --- /dev/null +++ b/libdvdread.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libdvdread" +pkgver = "6.1.3" +source = f"https://get.videolan.org/libdvdread/{pkgver}/libdvdread-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/libdvdread-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libelf.recipe.py b/libelf.recipe.py new file mode 100644 index 0000000..435df6d --- /dev/null +++ b/libelf.recipe.py @@ -0,0 +1,41 @@ +pkgname = "libelf" +pkgver = "0.194" +source = f"https://sourceware.org/ftp/elfutils/{pkgver}/elfutils-{pkgver}.tar.bz2" +builddir = f"/tmp/fempkg/build/{pkgname}/elfutils-{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/elfutils-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-debuginfod --enable-libdebuginfod=dummy", + f"cd {builddir} && make -C lib -j$(nproc)", + f"cd {builddir} && make -C libelf -j$(nproc)", + f"cd {builddir} && make -C libelf DESTDIR={destdir} install", + f"cd {builddir} && install -vDm644 config/libelf.pc {destdir}/usr/lib/pkgconfig/libelf.pc", + f"cd {builddir} && rm {destdir}/usr/lib/libelf.a", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" CXX=\"g++ -m32\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --libdir=/usr/lib32 --disable-debuginfod --enable-libdebuginfod=dummy", + f"cd {builddir} && make -C lib -j$(nproc)", + f"cd {builddir} && make -C libelf -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir -C libelf install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + f"cd {builddir} && install -vDm644 config/libelf.pc {destdir}/usr/lib32/pkgconfig/libelf.pc", + + 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}" +] diff --git a/libepoxy.recipe.py b/libepoxy.recipe.py new file mode 100644 index 0000000..5522a8b --- /dev/null +++ b/libepoxy.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libepoxy" +pkgver = "1.5.10" +Pkgver = pkgver[:3] # ;3 mrow ~ +source = f"https://download.gnome.org/sources/libepoxy/1.5/libepoxy-{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 = ["mesa"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/libevdev.recipe.py b/libevdev.recipe.py new file mode 100644 index 0000000..48e345c --- /dev/null +++ b/libevdev.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libevdev" # from GLFS +pkgver = "1.13.6" +source = f"https://www.freedesktop.org/software/libevdev/libevdev-{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 /tmp/fempkg/build {fembuilddir} || true && 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 documentation=disabled -D tests=disabled", + 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 {builddir} {fembuilddir}" +] diff --git a/libffi.recipe.py b/libffi.recipe.py new file mode 100644 index 0000000..0d5b8b0 --- /dev/null +++ b/libffi.recipe.py @@ -0,0 +1,37 @@ +pkgname = "libffi" +pkgver = "3.5.2" # which is funny because until i've had my coffee i dont give eeffoc # ok, next update im removing this +source = f"https://github.com/libffi/libffi/releases/download/v{pkgver}/libffi-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --without-gcc-arch", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" CXX=\"g++ -m32\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --libdir=/usr/lib32 --disable-static --with-gcc-arch=i686", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + 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-BUILDTOOLS {destdir}/usr/share/licenses/{pkgname}/LICENSE-BUILDTOOLS", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/libfyaml.recipe.py b/libfyaml.recipe.py new file mode 100644 index 0000000..4b144d1 --- /dev/null +++ b/libfyaml.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libfyaml" +pkgver = "0.9" +source = f"https://github.com/pantoniou/libfyaml/releases/download/v{pkgver}/libfyaml-{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 = ["libyaml"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libgcrypt.recipe.py b/libgcrypt.recipe.py new file mode 100644 index 0000000..fc309ff --- /dev/null +++ b/libgcrypt.recipe.py @@ -0,0 +1,36 @@ +pkgname = "libgcrypt" +pkgver = "1.11.2" +source = f"https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-{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 = ["libgpg-error"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc) && make -C doc html && makeinfo --html --no-split -o doc/gcrypt_nochunks.html doc/gcrypt.texi && makeinfo --plaintext -o " + f"doc/gcrypt.txt doc/gcrypt.texi", + + f"cd {builddir} && make DESTDIR={destdir} install && install -d -m 755 {destdir}/usr/share/doc && install -v -dm755 {destdir}/usr/share/doc/libgcrypt-{pkgver} " + f"&& install -v -m644 README doc/{{README.apichanges,fips*,libgcrypt*}} {destdir}/usr/share/doc/libgcrypt-{pkgver} && install -v -dm755 " + f"{destdir}/usr/share/doc/libgcrypt-{pkgver}/html && install -v -m644 doc/gcrypt.html/* /usr/share/doc/libgcrypt-{pkgver}/html && " + f"install -v -m644 doc/gcrypt_nochunks.html {destdir}/usr/share/doc/libgcrypt-{pkgver} && install -v -m644 doc/gcrypt.{{txt,texi}} " + f"{destdir}/usr/share/doc/libgcrypt-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libglvnd.recipe.py b/libglvnd.recipe.py new file mode 100644 index 0000000..03cdcbd --- /dev/null +++ b/libglvnd.recipe.py @@ -0,0 +1,33 @@ +pkgname = "libglvnd" +pkgver = "1.7.0" +source = f"https://rocketleaguechatp.duckdns.org/libglvnd-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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D gles1=false -D hgl=false", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://gitlab.archlinux.org/archlinux/packaging/packages/libglvnd/-/raw/main/license-from-upstream -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 {builddir} {fembuilddir}" +] + +triggers = [ + "cd /tmp && ldconfig", +] \ No newline at end of file diff --git a/libgpg-error.recipe.py b/libgpg-error.recipe.py new file mode 100644 index 0000000..d9ef9ca --- /dev/null +++ b/libgpg-error.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libgpg-error" +pkgver = "1.56" +source = f"https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -v -d -m755 {destdir}/usr/share/doc && install -v -m644 -D README {destdir}/usr/share/doc/libgpg-error-{pkgver}/README", + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libgudev.recipe.py b/libgudev.recipe.py new file mode 100644 index 0000000..948850c --- /dev/null +++ b/libgudev.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libgudev" +pkgver = "238" +source = f"https://download.gnome.org/sources/libgudev/{pkgver}/libgudev-{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 /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/libgweather.recipe.py b/libgweather.recipe.py new file mode 100644 index 0000000..73b5c12 --- /dev/null +++ b/libgweather.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libgweather" +pkgver = "4.4.4" +source = f"https://download.gnome.org/sources/libgweather/4.4/libgweather-{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 = ["geocode-glib", "glib", "gtk3", "libsoup", "pygobject", "libxml2", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/blfs/svn/libgweather-{pkgver}-upstream_fix-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../libgweather-{pkgver}-upstream_fix-1.patch && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D gtk_doc=false ..", + 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 {builddir} {fembuilddir}" +] diff --git a/libical.recipe.py b/libical.recipe.py new file mode 100644 index 0000000..f4b6f14 --- /dev/null +++ b/libical.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libical" +pkgver = "3.0.20" +source = f"https://github.com/libical/libical/releases/download/v{pkgver}/libical-{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 = ["glib", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 SHARED_ONLY=yes -D ICAL_BUILD_DOCS=false -D GOBJECT_INTROSPECTION=true -D ICAL_GLIB_VAPI=true ..", + f"cd {builddir}/build && make -j1", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/LICENSE* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libidn2.recipe.py b/libidn2.recipe.py new file mode 100644 index 0000000..eb159b3 --- /dev/null +++ b/libidn2.recipe.py @@ -0,0 +1,32 @@ +pkgname = "libidn2" +pkgver = "2.3.8" +source = f"https://ftpmirror.gnu.org/gnu/libidn/libidn2-{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 = ["libunistring"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LESSERv3 {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSERv3", + f"install -v -m644 {builddir}/COPYING.unicode {destdir}/usr/share/licenses/{pkgname}/COPYING.unicode", + f"install -v -m644 {builddir}/COPYINGv2 {destdir}/usr/share/licenses/{pkgname}/COPYINGv2", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libinput.recipe.py b/libinput.recipe.py new file mode 100644 index 0000000..5529877 --- /dev/null +++ b/libinput.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libinput" # get from blfs xorg input drivers page (https://www.linuxfromscratch.org/blfs/view/svn/x/x7driver.html#libinput) +pkgver = "1.30.0" +source = f"https://gitlab.freedesktop.org/libinput/libinput/-/archive/{pkgver}/libinput-{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 = ["libevdev", "mtdev"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D debug-gui=false -D tests=false -D libwacom=false -D udev-dir=/usr/lib/udev", + 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 {builddir} {fembuilddir}" +] diff --git a/libjpeg-turbo.recipe.py b/libjpeg-turbo.recipe.py new file mode 100644 index 0000000..6ab4bf1 --- /dev/null +++ b/libjpeg-turbo.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libjpeg-turbo" +pkgver = "3.0.1" +source = f"https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-{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", "yasm"] + +build = [ + # Extract + f"mkdir -p /tmp/fempkg/build {fembuilddir} || true && 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 ENABLE_STATIC=FALSE -D CMAKE_INSTALL_DEFAULT_LIBDIR=lib -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -D CMAKE_SKIP_INSTALL_RPATH=ON -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-{pkgver} ..", + f"cd {builddir}/build && make", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + # Install licenses + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}", + f"install -v -m644 {builddir}/LICENSE.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + f"install -v -m644 {builddir}/README.ijg {destdir}/usr/share/licenses/{pkgname}/README.ijg", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/libjpegturbo.recipe.py b/libjpegturbo.recipe.py new file mode 100644 index 0000000..8eb2605 --- /dev/null +++ b/libjpegturbo.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libjpegturbo" +pkgver = "3.0.1" +source = f"https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/libjpeg-turbo-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/libjpeg-turbo-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=RELEASE -D ENABLE_STATIC=FALSE -D CMAKE_INSTALL_DEFAULT_LIBDIR=lib -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -D CMAKE_SKIP_INSTALL_RPATH=ON -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-{pkgver} ..", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + f"install -v -m644 {builddir}/README.ijg {destdir}/usr/share/licenses/{pkgname}/README.ijg", + f"install -v -m644 {builddir}/README.md {destdir}/usr/share/licenses/{pkgname}/README.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libjxl.recipe.py b/libjxl.recipe.py new file mode 100644 index 0000000..bf8e0dc --- /dev/null +++ b/libjxl.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libjxl" +pkgver = "0.11.1" +source = f"https://github.com/libjxl/libjxl/archive/v{pkgver}/libjxl-{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 = ["brotli", "cmake", "giflib", "highway", "lcms2", "libjpeg-turbo", "libpng", "gdkpixbuf"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 BUILD_TESTING=OFF -D " + f"BUILD_SHARED_LIBS=ON -D JPEGXL_ENABLE_SKCMS=OFF -D JPEGXL_ENABLE_SJPEG=OFF -D JPEGXL_ENABLE_PLUGINS=ON -D JPEGXL_INSTALL_JARDIR=/usr/share/java -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 {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 {builddir} {fembuilddir}" +] diff --git a/libkcddb.recipe.py b/libkcddb.recipe.py new file mode 100644 index 0000000..ff05957 --- /dev/null +++ b/libkcddb.recipe.py @@ -0,0 +1,34 @@ +pkgname = "libkcddb" +pkgver = "25.08.3" +source = f"https://download.kde.org/stable/release-service/{pkgver}/src/libkcddb-{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", "libmusicbrainz"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 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 -D QT_MAJOR_VERSION=6 -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"install -v -m644 {builddir}/LICENSES/BSD-3-Clause.txt {destdir}/usr/share/licenses/{pkgname}/BSD-3-Clause.txt", + f"install -v -m644 {builddir}/LICENSES/CC0-1.0.txt {destdir}/usr/share/licenses/{pkgname}/CC0-1.0.txt", + f"install -v -m644 {builddir}/LICENSES/GFDL-1.2-or-later.txt {destdir}/usr/share/licenses/{pkgname}/GFDL-1.2-or-later.txt", + f"install -v -m644 {builddir}/LICENSES/GPL-2.0-or-later.txt {destdir}/usr/share/licenses/{pkgname}/GPL-2.0-or-later.txt", + f"install -v -m644 {builddir}/LICENSES/LGPL-2.0-or-later.txt {destdir}/usr/share/licenses/{pkgname}/LGPL-2.0-or-later.txt", + # why so much licenses lmao + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libksba.recipe.py b/libksba.recipe.py new file mode 100644 index 0000000..7cdbce6 --- /dev/null +++ b/libksba.recipe.py @@ -0,0 +1,33 @@ +pkgname = "libksba" +pkgver = "1.6.7" # BOIIIIIIIIIII +source = f"https://www.gnupg.org/ftp/gcrypt/libksba/libksba-{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 = ["libgpg-error"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # Install licenses + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LGPLv3 {destdir}/usr/share/licenses/{pkgname}/COPYING.LGPLv3", + f"install -v -m644 {builddir}/COPYING.GPLv3 {destdir}/usr/share/licenses/{pkgname}/COPYING.GPLv3", + f"install -v -m644 {builddir}/COPYING.GPLv2 {destdir}/usr/share/licenses/{pkgname}/COPYING.GPLv2", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libliftoff.recipe.py b/libliftoff.recipe.py new file mode 100644 index 0000000..c4da27b --- /dev/null +++ b/libliftoff.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libliftoff" # SLFS +pkgver = "0.5.0" +source = f"https://gitlab.freedesktop.org/emersion/libliftoff/-/archive/v{pkgver}/libliftoff-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 = ["libdrm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] diff --git a/libmad.recipe.py b/libmad.recipe.py new file mode 100644 index 0000000..22ad234 --- /dev/null +++ b/libmad.recipe.py @@ -0,0 +1,46 @@ +pkgname = "libmad" +pkgver = "0.15.1b" +source = f"https://rocketleaguechatp.duckdns.org/libmad-{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 = [] + +build = [ + # Extract + 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/libmad-{pkgver}-fixes-1.patch", + + # 64-bit build + f"""cd {builddir} && patch -Np1 -i ../libmad-{pkgver}-fixes-1.patch && +sed "s@AM_CONFIG_HEADER@AC_CONFIG_HEADERS@g" -i configure.ac && +touch NEWS AUTHORS ChangeLog && +autoreconf -fi && + +./configure --prefix=/usr --disable-static""", + f"cd {builddir} && make -j$(nproc)", + f"""cd {builddir} && make DESTDIR={destdir} install && mkdir -p {destdir}/usr/lib/pkgconfig && cat > {destdir}/usr/lib/pkgconfig/mad.pc << "EOF" +prefix=/usr +exec_prefix=${{prefix}} +libdir=${{exec_prefix}}/lib +includedir=${{prefix}}/include + +Name: mad +Description: MPEG audio decoder +Requires: +Version: {pkgver} +Libs: -L${{libdir}} -lmad +Cflags: -I${{includedir}} +EOF""", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libmbim.recipe.py b/libmbim.recipe.py new file mode 100644 index 0000000..3be1d53 --- /dev/null +++ b/libmbim.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libmbim" +pkgver = "1.32.0" +source = f"https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/archive/{pkgver}/libmbim-{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 = ["glib"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D bash_completion=false -D man=false ..", + 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}/LICENSES/GPL-2.0-or-later.txt {destdir}/usr/share/licenses/{pkgname}/GPL-2.0-or-later.txt", + f"install -v -m644 {builddir}/LICENSES/LGPL-2.1-or-later.txt {destdir}/usr/share/licenses/{pkgname}/LGPL-2.1-or-later.txt", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/libmusicbrainz.recipe.py b/libmusicbrainz.recipe.py new file mode 100644 index 0000000..6337ba3 --- /dev/null +++ b/libmusicbrainz.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libmusicbrainz" +pkgver = "5.1.0" +source = f"https://github.com/metabrainz/libmusicbrainz/releases/download/release-{pkgver}/libmusicbrainz-{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", "libxml2", "neon"] + +build = [ + # Extract + 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/libmusicbrainz-{pkgver}-cmake_fixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../libmusicbrainz-{pkgver}-cmake_fixes-1.patch && sed -e 's/xmlErrorPtr /const xmlError */' -i src/xmlParser.cc && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D CMAKE_POLICY_VERSION_MINIMUM=3.5 ..", + f"cd {builddir}/build && make -j$(nrpoc)", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING.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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libndp.recipe.py b/libndp.recipe.py new file mode 100644 index 0000000..14ad233 --- /dev/null +++ b/libndp.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libndp" +pkgver = "1.9" +source = f"http://libndp.org/files/libndp-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libnl.recipe.py b/libnl.recipe.py new file mode 100644 index 0000000..454cdf0 --- /dev/null +++ b/libnl.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libnl" +pkgver = "3.11.0" +source = f"https://github.com/thom311/libnl/releases/download/libnl3_11_0/libnl-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libnotify.recipe.py b/libnotify.recipe.py new file mode 100644 index 0000000..de1633e --- /dev/null +++ b/libnotify.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libnotify" +pkgver = "0.8.7" +Pkgver = pkgver[:3] # :3 +source = f"https://download.gnome.org/sources/libnotify/{Pkgver}/libnotify-{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 = ["gtk3", "glib"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 gtk_doc=false -D man=false ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/libnotify{{,-{pkgver}}}", + + 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 {builddir} {fembuilddir}" +] diff --git a/libnvme.recipe.py b/libnvme.recipe.py new file mode 100644 index 0000000..23ad25a --- /dev/null +++ b/libnvme.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libnvme" +pkgver = "1.16.1" +source = f"https://github.com/linux-nvme/libnvme/archive/v{pkgver}/libnvme-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D libdbus=auto ..", + 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 {builddir} {fembuilddir}" +] diff --git a/libogg.recipe.py b/libogg.recipe.py new file mode 100644 index 0000000..b597bca --- /dev/null +++ b/libogg.recipe.py @@ -0,0 +1,27 @@ +pkgname = "libogg" +pkgver = "1.3.6" +source = f"https://downloads.xiph.org/releases/ogg/libogg-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/libogg-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && install -Dm644 ./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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libpcap.recipe.py b/libpcap.recipe.py new file mode 100644 index 0000000..7909f09 --- /dev/null +++ b/libpcap.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libpcap" +pkgver = "1.10.5" +source = f"https://www.tcpdump.org/release/libpcap-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libpipeline.recipe.py b/libpipeline.recipe.py new file mode 100644 index 0000000..d5a0cec --- /dev/null +++ b/libpipeline.recipe.py @@ -0,0 +1,27 @@ +pkgname = "libpipeline" +pkgver = "1.5.8" +source = f"https://download.savannah.gnu.org/releases/libpipeline/libpipeline-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -Dm644 ./COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/libpng.recipe.py b/libpng.recipe.py new file mode 100644 index 0000000..b41041d --- /dev/null +++ b/libpng.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libpng" +pkgver = "1.6.50" +source = f"https://downloads.sourceforge.net/libpng/libpng-{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", + + # 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} && mkdir -p {destdir}/usr/share/doc/libpng-{pkgver}", + f"cd {builddir} && cp -v README libpng-manual.txt {destdir}/usr/share/doc/libpng-{pkgver}", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libportal.recipe.py b/libportal.recipe.py new file mode 100644 index 0000000..e287e35 --- /dev/null +++ b/libportal.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libportal" +pkgver = "0.9.1" +source = f"https://github.com/flatpak/libportal/releases/download/{pkgver}/libportal-{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", "gtk3", "gtk4", "xdg-desktop-portal"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/blfs/svn/libportal-{pkgver}-qt6.9_fixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../libportal-{pkgver}-qt6.9_fixes-1.patch && mkdir build && cd build && if [ -e /usr/include/libportal ]; then rm -rf /usr/include/libportal.old && mv -vf /usr/include/libportal{{,.old}}; fi && meson setup --prefix=/usr --buildtype=release -D vapi=false -D docs=false ..", + 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 {builddir} {fembuilddir}" +] diff --git a/libpsl.recipe.py b/libpsl.recipe.py new file mode 100644 index 0000000..a661464 --- /dev/null +++ b/libpsl.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libpsl" +pkgver = "0.21.5" +source = f"https://github.com/rockdaboot/libpsl/releases/download/{pkgver}/libpsl-{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 = ["libunistring", "libidn2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir -v 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 {builddir} {fembuilddir}" +] diff --git a/libqalculate.recipe.py b/libqalculate.recipe.py new file mode 100644 index 0000000..1cea8d9 --- /dev/null +++ b/libqalculate.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libqalculate" +pkgver = "5.8.2" +source = f"https://github.com/Qalculate/libqalculate/releases/download/v{pkgver}/libqalculate-{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 = ["curl", "icu"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/libqalculate-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && rm -v {destdir}/usr/lib/libqalculate.la", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libqmi.recipe.py b/libqmi.recipe.py new file mode 100644 index 0000000..9ea5dad --- /dev/null +++ b/libqmi.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libqmi" +pkgver = "1.36.0" +source = f"https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/archive/{pkgver}/libqmi-{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 = ["glib", "libgudev", "libmbim"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D bash_completion=false -D qrtr=false -D man=false ..", + 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/libqrencode.recipe.py b/libqrencode.recipe.py new file mode 100644 index 0000000..ec06526 --- /dev/null +++ b/libqrencode.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libqrencode" +pkgver = "4.1.1" +source = f"https://github.com/fukuchi/libqrencode/archive/v{pkgver}/libqrencode-{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 = ["libpng"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sh autogen.sh && ./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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/librsvg.recipe.py b/librsvg.recipe.py new file mode 100644 index 0000000..ddbe79c --- /dev/null +++ b/librsvg.recipe.py @@ -0,0 +1,30 @@ +pkgname = "librsvg" +pkgver = "2.61.3" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/librsvg/{Pkgver}/librsvg-{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 = ["cairo", "cargo-c", "gdkpixbuf", "pango", "glib", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -e \"/OUTDIR/s|,| / 'librsvg-{pkgver}', '--no-namespace-dir',|\" -e '/output/s|Rsvg-2.0|librsvg-{pkgver}|' -i doc/meson.build && 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.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 {builddir} {fembuilddir}" +] diff --git a/libsamplerate.recipe.py b/libsamplerate.recipe.py new file mode 100644 index 0000000..0602ade --- /dev/null +++ b/libsamplerate.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libsamplerate" +pkgver = "0.2.2" +source = f"https://github.com/libsndfile/libsamplerate/releases/download/{pkgver}/libsamplerate-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/libsamplerate-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libseccomp.recipe.py b/libseccomp.recipe.py new file mode 100644 index 0000000..0cb27d5 --- /dev/null +++ b/libseccomp.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libseccomp" +pkgver = "2.6.0" +source = f"https://github.com/seccomp/libseccomp/releases/download/v{pkgver}/libseccomp-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libsecret.recipe.py b/libsecret.recipe.py new file mode 100644 index 0000000..865952d --- /dev/null +++ b/libsecret.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libsecret" +pkgver = "0.21.7" +source = f"https://download.gnome.org/sources/libsecret/0.21/libsecret-{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", "libgcrypt", "gnutls", "vala"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir bld && cd bld && meson setup --prefix=/usr --buildtype=release -D gtk_doc=false ..", + f"cd {builddir}/bld && ninja", + f"cd {builddir}/bld && 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.TESTS {destdir}/usr/share/licenses/{pkgname}/COPYING.TESTS", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/libsigc.recipe.py b/libsigc.recipe.py new file mode 100644 index 0000000..51db506 --- /dev/null +++ b/libsigc.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libsigc" +pkgver = "3.6.0" +source = f"https://download.gnome.org/sources/libsigc++/3.6/libsigc++-{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 = ["cairo"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}++-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir bld && cd bld && meson setup --prefix=/usr --buildtype=release ..", + f"cd {builddir}/bld && ninja", + f"cd {builddir}/bld && 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 {builddir} {fembuilddir}" +] diff --git a/libsndfile.recipe.py b/libsndfile.recipe.py new file mode 100644 index 0000000..60964db --- /dev/null +++ b/libsndfile.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libsndfile" +pkgver = "1.2.2" +source = f"https://github.com/libsndfile/libsndfile/releases/download/{pkgver}/libsndfile-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed '/typedef enum/,/bool ;/d' -i src/ALAC/alac_{{en,de}}coder.c && ./configure --prefix=/usr --docdir=/usr/share/doc/libsndfile-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libsoup.recipe.py b/libsoup.recipe.py new file mode 100644 index 0000000..183e36b --- /dev/null +++ b/libsoup.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libsoup" +pkgver = "3.6.5" +source = f"https://download.gnome.org/sources/libsoup/3.6/libsoup-{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", "vala", "glib-networking", "libpsl", "nghttp2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/blfs/svn/libsoup-{pkgver}-upstream_fixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../libsoup-{pkgver}-upstream_fixes-1.patch && sed 's/apiversion/soup_version/' -i docs/reference/meson.build && " + f"mkdir build && cd build && meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback ..", + + 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 {builddir} {fembuilddir}" +] diff --git a/libssh2.recipe.py b/libssh2.recipe.py new file mode 100644 index 0000000..c64b7da --- /dev/null +++ b/libssh2.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libssh2" +pkgver = "1.11.1" +source = f"https://www.libssh2.org/download/libssh2-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-docker-tests --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libtasn1.recipe.py b/libtasn1.recipe.py new file mode 100644 index 0000000..71029c5 --- /dev/null +++ b/libtasn1.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libtasn1" +pkgver = "4.20.0" +source = f"https://ftpmirror.gnu.org/gnu/libtasn1/libtasn1-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LESSERv2 {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSERv2", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libtiff.recipe.py b/libtiff.recipe.py new file mode 100644 index 0000000..3d83052 --- /dev/null +++ b/libtiff.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libtiff" +pkgver = "4.7.1" +source = f"https://download.osgeo.org/libtiff/tiff-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/tiff-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/tiff-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir libtiff-build && cd libtiff-build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -G Ninja -D CMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-{pkgver} ..", + f"cd {builddir}/libtiff-build && ninja", + f"cd {builddir}/libtiff-build && DESTDIR={destdir} ninja install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/libtirpc.recipe.py b/libtirpc.recipe.py new file mode 100644 index 0000000..5217e8e --- /dev/null +++ b/libtirpc.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libtirpc" +pkgver = "1.3.7" +source = f"https://downloads.sourceforge.net/libtirpc/libtirpc-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --disable-static --disable-gssapi", + f"cd {builddir} && make CC=\"gcc -std=gnu17\" -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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libtool.recipe.py b/libtool.recipe.py new file mode 100644 index 0000000..7f0d90d --- /dev/null +++ b/libtool.recipe.py @@ -0,0 +1,37 @@ +pkgname = "libtool" +pkgver = "2.5.4" +source = f"https://ftpmirror.gnu.org/gnu/libtool/libtool-{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 /tmp/fempkg/build {fembuilddir} || true && 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"cd {builddir} && rm -fv {destdir}/usr/lib/libltdl.a", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --libdir=/usr/lib32", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/libunistring.recipe.py b/libunistring.recipe.py new file mode 100644 index 0000000..53a140d --- /dev/null +++ b/libunistring.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libunistring" +pkgver = "1.4.1" +source = f"https://ftpmirror.gnu.org/gnu/libunistring/libunistring-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/libunistring-{pkgver}", + 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", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libusb.recipe.py b/libusb.recipe.py new file mode 100644 index 0000000..7d2cfb5 --- /dev/null +++ b/libusb.recipe.py @@ -0,0 +1,26 @@ +pkgname = "libusb" +pkgver = "1.0.29" +source = f"https://github.com/libusb/libusb/releases/download/v{pkgver}/libusb-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.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 && install -Dm644 ./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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libuv.recipe.py b/libuv.recipe.py new file mode 100644 index 0000000..93301f8 --- /dev/null +++ b/libuv.recipe.py @@ -0,0 +1,32 @@ +pkgname = "libuv" +pkgver = "1.51.0" +source = f"https://dist.libuv.org/dist/v{pkgver}/libuv-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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sh autogen.sh", + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE", + f"install -v -m644 {builddir}/LICENSE-docs {destdir}/usr/share/licenses/{pkgname}/LICENSE-docs", + f"install -v -m644 {builddir}/LICENSE-extra {destdir}/usr/share/licenses/{pkgname}/LICENSE-extra", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libva.recipe.py b/libva.recipe.py new file mode 100644 index 0000000..513480a --- /dev/null +++ b/libva.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libva" +pkgver = "2.22.0" +source = f"https://github.com/intel/libva/archive/{pkgver}/libva-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir}/build && meson setup .. --prefix=/usr -Ddisable_drm=false -Dwith_x11=yes -Dwith_glx=yes -Dwith_wayland=yes -Dwith_legacy=[] -Denable_docs=false --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 {builddir} {fembuilddir}" +] diff --git a/libvdpau.recipe.py b/libvdpau.recipe.py new file mode 100644 index 0000000..161a75b --- /dev/null +++ b/libvdpau.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libvdpau" +pkgver = "1.5" +source = f"https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/{pkgver}/libvdpau-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr", + 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 {builddir} {fembuilddir}" +] diff --git a/libvorbis.recipe.py b/libvorbis.recipe.py new file mode 100644 index 0000000..6c8c7b8 --- /dev/null +++ b/libvorbis.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libvorbis" +pkgver = "1.3.7" +source = f"https://downloads.xiph.org/releases/vorbis/libvorbis-{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 = ["libogg"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -d -m 755 {destdir}/usr/share/doc && install -v -m644 doc/Vorbis* {destdir}/usr/share/doc/libvorbis-{pkgver}", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libwacom.recipe.py b/libwacom.recipe.py new file mode 100644 index 0000000..e28092e --- /dev/null +++ b/libwacom.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libwacom" +pkgver = "2.17.0" +source = f"https://github.com/linuxwacom/libwacom/releases/download/libwacom-{pkgver}/libwacom-{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 = ["libevdev", "libgudev", "libxml2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 tests=disabled ..", + 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 {builddir} {fembuilddir}" +] diff --git a/libwebp.recipe.py b/libwebp.recipe.py new file mode 100644 index 0000000..86eb6c1 --- /dev/null +++ b/libwebp.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libwebp" +pkgver = "1.6.0" +source = f"https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-{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 = ["libjpeg-turbo", "libpng", "libtiff", "sdl2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --enable-libwebpmux --enable-libwebpdemux --enable-libwebpdecoder --enable-libwebpextras --enable-swap-16bit-csp --disable-static", + f"cd {builddir} && make", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libxau.recipe.py b/libxau.recipe.py new file mode 100644 index 0000000..d23ed02 --- /dev/null +++ b/libxau.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libxau" +pkgver = "1.0.12" +source = f"https://www.x.org/pub/individual/lib/libXau-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/libXau-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["xorgproto"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/libXau-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var", + 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 {builddir} {fembuilddir}" +] diff --git a/libxcb.recipe.py b/libxcb.recipe.py new file mode 100644 index 0000000..b019df5 --- /dev/null +++ b/libxcb.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libxcb" +pkgver = "1.17.0" +source = f"https://xorg.freedesktop.org/archive/individual/lib/libxcb-{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 = ["libxau", "xcb-proto", "libxdmcp"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure $XORG_CONFIG --without-doxygen --docdir='${{datadir}}'/doc/libxcb-{pkgver}", + f"cd {builddir} && LC_ALL=en_US.UTF-8 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libxcrypt.recipe.py b/libxcrypt.recipe.py new file mode 100644 index 0000000..2432657 --- /dev/null +++ b/libxcrypt.recipe.py @@ -0,0 +1,37 @@ +pkgname = "libxcrypt" +pkgver = "4.5.2" +source = f"https://github.com/besser82/libxcrypt/releases/download/v{pkgver}/libxcrypt-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --enable-hashes=strong,glibc --enable-obsolete-api=no --disable-static --disable-failure-tokens", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" ./configure --prefix=/usr --host=i686-pc-linux-gnu --libdir=/usr/lib32 --enable-hashes=strong,glibc --enable-obsolete-api=glibc --disable-static --disable-failure-tokens", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && mkdir -p {destdir}/usr/lib32 && cp -av .libs/libcrypt.so* {destdir}/usr/lib32/ && make DESTDIR={destdir} install-pkgconfigDATA && " + f"ln -svf libxcrypt.pc {destdir}/usr/lib32/pkgconfig/libcrypt.pc", + + 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}" +] diff --git a/libxcvt.recipe.py b/libxcvt.recipe.py new file mode 100644 index 0000000..d2b67c2 --- /dev/null +++ b/libxcvt.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libxcvt" +pkgver = "0.1.3" +source = f"https://www.x.org/pub/individual/lib/libxcvt-{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 /tmp/fempkg/build {fembuilddir} || true && 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=$XORG_PREFIX --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 {builddir} {fembuilddir}" +] diff --git a/libxdmcp.recipe.py b/libxdmcp.recipe.py new file mode 100644 index 0000000..1551b07 --- /dev/null +++ b/libxdmcp.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libxdmcp" +pkgver = "1.1.5" +source = f"https://www.x.org/pub/individual/lib/libXdmcp-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/libXdmcp-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["xorgproto"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/libXdmcp-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure $XORG_CONFIG --docdir=/usr/share/doc/libXdmcp-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libxkbcommon.recipe.py b/libxkbcommon.recipe.py new file mode 100644 index 0000000..0435ce6 --- /dev/null +++ b/libxkbcommon.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libxkbcommon" +pkgver = "1.13.1" +source = f"https://github.com/lfs-book/libxkbcommon/archive/v{pkgver}/libxkbcommon-{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 = ["xkeyboard-config"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D enable-docs=false", + 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 {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 {builddir} {fembuilddir}" +] diff --git a/libxml2.recipe.py b/libxml2.recipe.py new file mode 100644 index 0000000..e33217a --- /dev/null +++ b/libxml2.recipe.py @@ -0,0 +1,32 @@ +pkgname = "libxml2" +pkgver = "2.15.1" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/libxml2/{Pkgver}/libxml2-{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 = ["doxygen"] # are we deadass + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i \"/'git'/,+3d\" meson.build && mkdir -pv build && cd build && meson setup .. --prefix=/usr " + f"-D history=enabled -D icu=enabled -D python=enabled", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + f"cd {builddir}/build && sed \"s/--static/--shared/\" -i /usr/bin/xml2-config", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/Copyright {destdir}/usr/share/licenses/{pkgname}/Copyright", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libxmlb.recipe.py b/libxmlb.recipe.py new file mode 100644 index 0000000..447db40 --- /dev/null +++ b/libxmlb.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libxmlb" +pkgver = "0.3.24" +source = f"https://github.com/hughsie/libxmlb/releases/download/0.3.24/libxmlb-{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 /tmp/fempkg/build {fembuilddir} || true && 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 gtkdoc=false ..", + 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 {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 {builddir} {fembuilddir}" +] diff --git a/libyaml.recipe.py b/libyaml.recipe.py new file mode 100644 index 0000000..97de1c6 --- /dev/null +++ b/libyaml.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libyaml" +pkgver = "0.2.5" +source = f"https://github.com/yaml/libyaml/releases/download/{pkgver}/yaml-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/yaml-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/yaml-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/libzip.recipe.py b/libzip.recipe.py new file mode 100644 index 0000000..80f9808 --- /dev/null +++ b/libzip.recipe.py @@ -0,0 +1,29 @@ +pkgname = "libzip" +pkgver = "1.11.4" +source = f"https://libzip.org/download/libzip-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -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 {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 {builddir} {fembuilddir}" +] diff --git a/links.recipe.py b/links.recipe.py new file mode 100644 index 0000000..553d82a --- /dev/null +++ b/links.recipe.py @@ -0,0 +1,28 @@ +pkgname = "links" +pkgver = "2.30" +source = f"http://links.twibright.com/download/links-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --mandir=/usr/share/man", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -v -d -m755 {destdir}/usr/share/doc/links-{pkgver} && install -v -m644 doc/links_cal/* KEYS BRAILLE_HOWTO {destdir}/usr/share/doc/links-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/linux.recipe.py b/linux.recipe.py new file mode 100644 index 0000000..c75bb4a --- /dev/null +++ b/linux.recipe.py @@ -0,0 +1,54 @@ +# TODO when updating kernel version update version in nvidia package +pkgname = "linux" +pkgver = "6.18.1" +source = f"https://www.kernel.org/pub/linux/kernel/v6.x/linux-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +deps = [] +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + + +# --- main build steps --- +build = [ + # Extract kernel + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # Kernel build: copy config, patch Makefile, copy custom logo, patch logo.c + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/.config && " + f"sed -i '/obj-$(CONFIG_LOGO_LINUX_CLUT224)/a obj-$(CONFIG_LOGO_CUSTOM) += logo_custom.o' drivers/video/logo/Makefile && " + f"cp /boot/logo.c drivers/video/logo/logo_custom.c && " + f"sed -i '1i#include \"logo_custom.c\"' drivers/video/logo/logo.c && " + f"sed -i '/#ifdef CONFIG_LOGO_LINUX_CLUT224/,/#endif/c\\\ +/* always use custom logo */\\nlogo = &logo_custom;' drivers/video/logo/logo.c", + + # Build kernel + f"cd {builddir} && make olddefconfig", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make INSTALL_MOD_PATH={destdir}/usr modules_install", + f"mkdir -pv {destdir}/boot", + f"cd {builddir} && cp -vf arch/x86/boot/bzImage {destdir}/boot/vmlinuz", + f"cd {builddir} && cp -vf System.map {destdir}/boot/System.map", + f"cd {builddir} && cat .config > {destdir}/boot/config-{pkgver}", + + # Fix perms (??) + f"cd {builddir} && chmod 755 {destdir}{{,/usr,/usr/lib,/usr/lib/modules,/usr/lib/modules/{pkgver}}}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + f"cp -rvp {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + # package kernel for nvidia build + f"cd {builddir} && tar -cJf /home/gabry/lfs-repo/kernel-source-prep-{pkgver}.tar.xz --transform 's|^\\./||' .", # license here is alr copied + + # 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", +] + +triggers = [ + f"find /usr/lib/modules -mindepth 1 -maxdepth 1 -type d ! -name '{pkgver}' -exec rm -rf {{}} +", + f"find /boot -maxdepth 1 ! -name 'config-{pkgver}' -name 'config-*' -exec rm -rf {{}} +", + {"rebuild_package": ["nvidia"]} +] \ No newline at end of file diff --git a/llvm.recipe.py b/llvm.recipe.py new file mode 100644 index 0000000..7aa96cd --- /dev/null +++ b/llvm.recipe.py @@ -0,0 +1,47 @@ +pkgname = "llvm" +pkgver = "21.1.2" +source = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/llvm-{pkgver}.src.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}.src" +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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && wget https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-{pkgver}.src.tar.xz " + f"https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-third-party-{pkgver}.src.tar.xz https://github.com/llvm/llvm-project/releases/" # note this is actually right + f"download/llvmorg-{pkgver}/clang-{pkgver}.src.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/compiler-rt-{pkgver}.src.tar.xz " + f"&& tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.src.tar.xz", + + # 64-bit build + f"cd {builddir} && tar -xf ../llvm-cmake-{pkgver}.src.tar.xz", + f"cd {builddir} && tar -xf ../llvm-third-party-{pkgver}.src.tar.xz", + f"cd {builddir} && sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-{pkgver}.src@' -i CMakeLists.txt", + f"cd {builddir} && sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@third-party-{pkgver}.src@' -i cmake/modules/HandleLLVMOptions.cmake", + f"cd {builddir} && tar -xf ../clang-{pkgver}.src.tar.xz -C tools", + f"cd {builddir} && mv tools/clang-{pkgver}.src tools/clang", + f"cd {builddir} && tar -xf ../compiler-rt-{pkgver}.src.tar.xz -C projects", + f"cd {builddir} && mv projects/compiler-rt-{pkgver}.src projects/compiler-rt", + f"cd {builddir} && grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'", + f"cd {builddir} && sed 's/utility/tool/' -i utils/FileCheck/CMakeLists.txt", + f"cd {builddir} && mkdir -v build && cd build", + f"cd {builddir}/build && CC=gcc CXX=g++ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_SKIP_INSTALL_RPATH=ON -D LLVM_ENABLE_FFI=ON -D " + f"CMAKE_BUILD_TYPE=Release -D LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_LINK_LLVM_DYLIB=ON -D LLVM_ENABLE_RTTI=ON -D LLVM_TARGETS_TO_BUILD=\"host;AMDGPU\" -D " + f"LLVM_BINUTILS_INCDIR=/usr/include -D LLVM_INCLUDE_BENCHMARKS=OFF -D CLANG_DEFAULT_PIE_ON_LINUX=ON -D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang " + f"-W no-dev -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 {builddir} {fembuilddir}" +] diff --git a/lm-sensors.recipe.py b/lm-sensors.recipe.py new file mode 100644 index 0000000..0dcf586 --- /dev/null +++ b/lm-sensors.recipe.py @@ -0,0 +1,31 @@ +pkgname = "lm-sensors" +pkgver = "3-6-2" +source = f"https://github.com/hramrach/lm-sensors/archive/V3-6-2/lm-sensors-{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 = ["which"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make PREFIX=/usr BUILD_STATIC_LIB=0 MANDIR=/usr/share/man", + f"cd {builddir} && make PREFIX=/usr BUILD_STATIC_LIB=0 MANDIR=/usr/share/man DESTDIR={destdir} install && " + f"install -v -m755 -d {destdir}/usr/share/doc/lm-sensors-{pkgver} && cp -rv README INSTALL doc/* {destdir}/usr/share/doc/lm-sensors-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING.LGPL {destdir}/usr/share/licenses/{pkgname}/COPYING.LGPL", + 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 {builddir} {fembuilddir}" +] diff --git a/lmdb.recipe.py b/lmdb.recipe.py new file mode 100644 index 0000000..5b6122e --- /dev/null +++ b/lmdb.recipe.py @@ -0,0 +1,29 @@ +pkgname = "lmdb" +pkgver = "0.9.33" +source = f"https://git.openldap.org/openldap/openldap/-/archive/LMDB_{pkgver}.tar.bz2" +builddir = f"/tmp/fempkg/build/{pkgname}/openldap-LMDB_{pkgver}-3a29a24777c82a0165de813ae696a5068b5add30" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/LMDB_{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir}/libraries/liblmdb && make -j$(nproc)", + f"cd {builddir}/libraries/liblmdb && sed -i 's| liblmdb.a||' Makefile", + f"cd {builddir}/libraries/liblmdb && make prefix=/usr DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/libraries/liblmdb/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 {builddir} {fembuilddir}" +] diff --git a/lua.recipe.py b/lua.recipe.py new file mode 100644 index 0000000..10791bd --- /dev/null +++ b/lua.recipe.py @@ -0,0 +1,33 @@ +pkgname = "lua" +pkgver = "5.4.8" +Pkgver = pkgver[:3] # :3 +source = f"https://www.lua.org/ftp/lua-{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"] + +build = [ + # Extract + 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/lua-{pkgver}-shared_library-1.patch", + + # 64-bit build + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/lua.pc -O ./lua.pc", + f"cd {builddir} && patch -Np1 -i ../lua-{pkgver}-shared_library-1.patch && make linux -j$(nproc)", + f"cd {builddir} && make INSTALL_DATA=\"cp -d\" INSTALL_MAN={destdir}/usr/share/man/man1 INSTALL_TOP={destdir}/usr " + f"TO_LIB=\"liblua.so liblua.so.{Pkgver} liblua.so.{pkgver}\" install", + f"cd {builddir} && mkdir -p {destdir}/usr/lib/pkgconfig && install -v -m644 -D lua.pc {destdir}/usr/lib/pkgconfig/lua.pc", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://gitlab.archlinux.org/archlinux/packaging/packages/lua/-/raw/main/license-from-upstream -O " + f"{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 {builddir} {fembuilddir}" +] diff --git a/lz4.recipe.py b/lz4.recipe.py new file mode 100644 index 0000000..e003fc2 --- /dev/null +++ b/lz4.recipe.py @@ -0,0 +1,39 @@ +# lz4.recipe.py +pkgname = "lz4" +pkgver = "1.10.0" +source = f"https://github.com/lz4/lz4/releases/download/v{pkgver}/lz4-{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 = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make BUILD_STATIC=no PREFIX=/usr -j$(nproc)", + f"cd {builddir} && make BUILD_STATIC=no PREFIX=/usr DESTDIR={destdir} install", + + # Clean for 32-bit + f"cd {builddir} && make clean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && CC=\"gcc -m32\" make BUILD_STATIC=no -j$(nproc)", + f"cd {builddir} && make BUILD_STATIC=no PREFIX=/usr LIBDIR=/usr/lib32 DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && " + f"cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + 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}" +] diff --git a/m4.recipe.py b/m4.recipe.py new file mode 100644 index 0000000..fd9aeef --- /dev/null +++ b/m4.recipe.py @@ -0,0 +1,36 @@ +# m4.recipe.py +pkgname = "m4" +pkgver = "1.4.20" +source = f"https://ftpmirror.gnu.org/gnu/m4/m4-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + #configure + f"cd {builddir} && sed 's/\[\[__nodiscard__]]//' -i lib/config.hin", + f"cd {builddir} && sed 's/test-stdalign\$(EXEEXT) //' -i tests/Makefile.in", + f"cd {builddir} && ./configure --prefix=/usr", + + # make and install + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/make.recipe.py b/make.recipe.py new file mode 100644 index 0000000..eb439a0 --- /dev/null +++ b/make.recipe.py @@ -0,0 +1,31 @@ +pkgname = "make" +pkgver = "4.4.1" +source = f"https://ftpmirror.gnu.org/gnu/make/make-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/man-db.recipe.py b/man-db.recipe.py new file mode 100644 index 0000000..8b3ce83 --- /dev/null +++ b/man-db.recipe.py @@ -0,0 +1,33 @@ +pkgname = "man-db" +pkgver = "2.13.1" +source = f"https://download.savannah.gnu.org/releases/man-db/man-db-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/man-db-{pkgver} --sysconfdir=/etc " + f"--disable-setuid --enable-cache-owner=bin --with-browser=/usr/bin/lynx --with-vgrind=/usr/bin/vgrind --with-grap=/usr/bin/grap " + f"--with-systemdtmpfilesdir= --with-systemdsystemunitdir=", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/man-pages.recipe.py b/man-pages.recipe.py new file mode 100644 index 0000000..934d226 --- /dev/null +++ b/man-pages.recipe.py @@ -0,0 +1,25 @@ +pkgname = "man-pages" +pkgver = "6.16" +source = f"https://www.kernel.org/pub/linux/docs/man-pages/man-pages-{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 commands +build = [ + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + f"cd {builddir} && rm -v man3/crypt* && make -R GIT=false prefix=/usr DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp {builddir}/LICENSES/* {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", + + f"rm -rf {fembuilddir}" +] diff --git a/material-design-icons.recipe.py b/material-design-icons.recipe.py new file mode 100644 index 0000000..ee5a466 --- /dev/null +++ b/material-design-icons.recipe.py @@ -0,0 +1,59 @@ +pkgname = "material-design-icons" # this too ai gen, ye man im lazy as fuuuuuuu # ig except new part +pkgver = "4.0.0" +source = "https://github.com/githubtraining/hellogitworld.git" +builddir = f"/tmp/fempkgbuild/hellogitworld" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["wget"] + +build = [ + # Create destination dir + f"install -d {destdir}/usr/share/fonts/material-symbols", + f"cd {builddir} && mkdir fonts", + + # Download classic Material Icons fonts + f"cd {builddir}/fonts && wget -O MaterialIcons-Regular.ttf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/font/MaterialIcons-Regular.ttf", + f"cd {builddir}/fonts && wget -O MaterialIconsOutlined-Regular.otf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/font/MaterialIconsOutlined-Regular.otf", + f"cd {builddir}/fonts && wget -O MaterialIconsRound-Regular.otf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/font/MaterialIconsRound-Regular.otf", + f"cd {builddir}/fonts && wget -O MaterialIconsSharp-Regular.otf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/font/MaterialIconsSharp-Regular.otf", + f"cd {builddir}/fonts && wget -O MaterialIconsTwoTone-Regular.otf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/font/MaterialIconsTwoTone-Regular.otf", + + # Download Material Symbols variable fonts (TTF + WOFF2) + f"cd {builddir}/fonts && wget -O MaterialSymbolsOutlined.ttf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.ttf", + f"cd {builddir}/fonts && wget -O MaterialSymbolsOutlined.woff2 " + "https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.woff2", + f"cd {builddir}/fonts && wget -O MaterialSymbolsRounded.ttf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsRounded%5BFILL,GRAD,opsz,wght%5D.ttf", + f"cd {builddir}/fonts && wget -O MaterialSymbolsRounded.woff2 " + "https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsRounded%5BFILL,GRAD,opsz,wght%5D.woff2", + f"cd {builddir}/fonts && wget -O MaterialSymbolsSharp.ttf " + "https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsSharp%5BFILL,GRAD,opsz,wght%5D.ttf", + f"cd {builddir}/fonts && wget -O MaterialSymbolsSharp.woff2 " + "https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsSharp%5BFILL,GRAD,opsz,wght%5D.woff2", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"wget https://raw.githubusercontent.com/google/material-design-icons/refs/heads/master/LICENSE -O {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Install fonts + f"cp -v {builddir}/fonts/* {destdir}/usr/share/fonts/material-symbols/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir}" +] + +triggers = [ + f"cd /tmp && gtk-update-icon-cache && gtk4-update-icon-cache && fc-cache -f", +] \ No newline at end of file diff --git a/mesa.recipe.py b/mesa.recipe.py new file mode 100644 index 0000000..a136898 --- /dev/null +++ b/mesa.recipe.py @@ -0,0 +1,31 @@ +pkgname = "mesa" # mix of blfs and glfs +pkgver = "25.3.1" +source = f"https://mesa.freedesktop.org/archive/mesa-{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 = ["xorg-libs", "libdrm", "glslang", "cbindgen", "libclc", "libglvnd", "libvdpau", "llvm", "wayland-protocols", "vulkan-loader", "rustbindgen"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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"-D glvnd=enabled -D platforms=x11,wayland -D gallium-drivers=auto -D vulkan-drivers=auto -D valgrind=disabled -D video-codecs=all -D libunwind=disabled -D gles1=disabled", + 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 -prv {builddir}/licenses/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/mpc.recipe.py b/mpc.recipe.py new file mode 100644 index 0000000..03cfa3d --- /dev/null +++ b/mpc.recipe.py @@ -0,0 +1,33 @@ +# mpc.recipe.py +pkgname = "mpc" +pkgver = "1.3.1" +source = f"https://ftpmirror.gnu.org/gnu/mpc/mpc-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/mpc-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make html -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && make DESTDIR={destdir} install-html", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING.LESSER {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/mpfr.recipe.py b/mpfr.recipe.py new file mode 100644 index 0000000..1e7ae98 --- /dev/null +++ b/mpfr.recipe.py @@ -0,0 +1,34 @@ +# mpfr.recipe.py +pkgname = "mpfr" +pkgver = "4.2.2" +source = f"https://ftpmirror.gnu.org/gnu/mpfr/mpfr-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --enable-thread-safe --docdir=/usr/share/doc/mpfr-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make html", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && make DESTDIR={destdir} install-html", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.LESSER {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSER", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/mtdev.recipe.py b/mtdev.recipe.py new file mode 100644 index 0000000..3af683f --- /dev/null +++ b/mtdev.recipe.py @@ -0,0 +1,29 @@ +pkgname = "mtdev" +pkgver = "1.1.7" +source = f"https://bitmath.org/code/mtdev/mtdev-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.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"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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/nasm.recipe.py b/nasm.recipe.py new file mode 100644 index 0000000..c2a68e6 --- /dev/null +++ b/nasm.recipe.py @@ -0,0 +1,29 @@ +pkgname = "nasm" +pkgver = "3.01" +source = f"https://www.nasm.us/pub/nasm/releasebuilds/{pkgver}/nasm-{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 = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/ncurses.recipe.py b/ncurses.recipe.py new file mode 100644 index 0000000..8349a86 --- /dev/null +++ b/ncurses.recipe.py @@ -0,0 +1,53 @@ +pkgname = "ncurses" +pkgver = "6.5-20250809" +source = f"https://invisible-mirror.net/archives/ncurses/current/ncurses-{pkgver}.tgz" +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}.tgz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --mandir=/usr/share/man --with-shared --without-debug --without-normal --with-cxx-shared " + f"--enable-pc-files --with-pkg-config-libdir=/usr/lib/pkgconfig", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && sed -e 's/^#if.*XOPEN.*$/#if 1/' -i {destdir}/usr/include/curses.h", + f"cd {builddir} && for lib in ncurses form panel menu; do ln -sfv lib${{lib}}w.so {destdir}/usr/lib/lib${{lib}}.so; ln -sfv ${{lib}}w.pc " + f"{destdir}/usr/lib/pkgconfig/${{lib}}.pc; done", + + f"cd {builddir} && ln -sfv libncursesw.so {destdir}/usr/lib/libcurses.so", + f"cd {builddir} && mkdir -p {destdir}/usr/share/doc && cp -v -R doc -T {destdir}/usr/share/doc/ncurses-{pkgver}", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" CXX=\"g++ -m32\" ./configure --prefix=/usr --host=i686-pc-linux-gnu --libdir=/usr/lib32 --mandir=/usr/share/man " + f"--with-shared --without-debug --without-normal --with-cxx-shared --enable-pc-files --with-pkg-config-libdir=/usr/lib32/pkgconfig", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + f"cd {builddir} && mkdir -p {destdir}/usr/lib32/pkgconfig", + f"cd {builddir} && for lib in ncurses form panel menu; do rm -vf {destdir}/usr/lib32/lib${{lib}}.so; echo \"INPUT(-l${{lib}}w)\" > {destdir}/" + f"usr/lib32/lib${{lib}}.so; ln -svf ${{lib}}w.pc {destdir}/usr/lib32/pkgconfig/$lib.pc; done", + + f"cd {builddir} && rm -vf {destdir}/usr/lib32/libcursesw.so", + f"cd {builddir} && echo \"INPUT(-lncursesw)\" > {destdir}/usr/lib32/libcursesw.so", + f"cd {builddir} && ln -sfv libncurses.so {destdir}/usr/lib32/libcurses.so", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/neon.recipe.py b/neon.recipe.py new file mode 100644 index 0000000..50e1b01 --- /dev/null +++ b/neon.recipe.py @@ -0,0 +1,30 @@ +pkgname = "neon" +pkgver = "0.36.0" +source = f"https://notroj.github.io/neon/neon-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --with-ssl --enable-shared --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/src/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + f"install -v -m644 {builddir}/test/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING.MANTEST", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/nettle.recipe.py b/nettle.recipe.py new file mode 100644 index 0000000..3334e37 --- /dev/null +++ b/nettle.recipe.py @@ -0,0 +1,32 @@ +pkgname = "nettle" +pkgver = "3.10.2" +source = f"https://ftpmirror.gnu.org/gnu/nettle/nettle-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && chmod -v 755 {destdir}/usr/lib/lib{{hogweed,nettle}}.so && " + f"install -v -m755 -d {destdir}/usr/share/doc/nettle-{pkgver} && install -v -m644 nettle.{{html,pdf}} {destdir}/usr/share/doc/nettle-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING.LESSERv3 {destdir}/usr/share/licenses/{pkgname}/COPYING.LESSERv3", + f"install -v -m644 {builddir}/COPYINGv2 {destdir}/usr/share/licenses/{pkgname}/COPYINGv2", + f"install -v -m644 {builddir}/COPYINGv3 {destdir}/usr/share/licenses/{pkgname}/COPYINGv3", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/newt.recipe.py b/newt.recipe.py new file mode 100644 index 0000000..aafd2e1 --- /dev/null +++ b/newt.recipe.py @@ -0,0 +1,31 @@ +pkgname = "newt" +pkgver = "0.52.25" +source = f"https://releases.pagure.org/newt/newt-{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 = ["popt", "slang"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -e '/install -m 644 $(LIBNEWT)/ s/^/#/' -e '/$(LIBNEWT):/,/rv/ s/^/#/' -e 's/$(LIBNEWT)/$(LIBNEWTSH)/g' " + f"-i Makefile.in && ./configure --prefix=/usr --with-gpm-support --with-python=python3.14", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/nghttp2.recipe.py b/nghttp2.recipe.py new file mode 100644 index 0000000..54e5f15 --- /dev/null +++ b/nghttp2.recipe.py @@ -0,0 +1,29 @@ +pkgname = "nghttp2" +pkgver = "1.68.0" # which is funny because until i've had my coffee i didn't give eeffoc # not anymore :sad: r.i.p 1.67.1 +source = f"https://github.com/nghttp2/nghttp2/releases/download/v{pkgver}/nghttp2-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --enable-lib-only --docdir=/usr/share/doc/nghttp2-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/ninja.recipe.py b/ninja.recipe.py new file mode 100644 index 0000000..85fdbfe --- /dev/null +++ b/ninja.recipe.py @@ -0,0 +1,32 @@ +pkgname = "ninja" +pkgver = "1.13.2" +source = f"https://github.com/ninja-build/ninja/archive/v{pkgver}/ninja-{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 = ["python"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && python3 configure.py --bootstrap --verbose", + f"cd {builddir} && mkdir -p {destdir}/usr/bin && install -vm755 ninja {destdir}/usr/bin/ninja", + f"mkdir -p {destdir}/usr/bin && mkdir -p {destdir}/usr/share/bash-completion/completions {destdir}/usr/share/zsh/site-functions", + f"cd {builddir} && install -vDm644 misc/bash-completion {destdir}/usr/share/bash-completion/completions/ninja", + f"cd {builddir} && install -vDm644 misc/zsh-completion {destdir}/usr/share/zsh/site-functions/_ninja", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/nodejs.recipe.py b/nodejs.recipe.py new file mode 100644 index 0000000..7a888c0 --- /dev/null +++ b/nodejs.recipe.py @@ -0,0 +1,29 @@ +pkgname = "nodejs" +pkgver = "22.21.1" +source = f"https://nodejs.org/dist/v{pkgver}/node-v{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/node-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 = ["which", "brotli", "c-ares", "icu", "nghttp2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/node-v{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/blfs/svn/node-v{pkgver}-python_build_fix-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../node-v{pkgver}-python_build_fix-1.patch && ./configure --prefix=/usr --shared-brotli --shared-cares --shared-libuv --shared-openssl --shared-nghttp2 --shared-zlib --with-intl=system-icu", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -d -m 755 {destdir}/usr/share/doc && ln -sf node {destdir}/usr/share/doc/node-{pkgver}", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/npth.recipe.py b/npth.recipe.py new file mode 100644 index 0000000..738e20f --- /dev/null +++ b/npth.recipe.py @@ -0,0 +1,29 @@ +pkgname = "npth" +pkgver = "1.8" +source = f"https://www.gnupg.org/ftp/gcrypt/npth/npth-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 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.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/nvidia-egl-libraries.recipe.py b/nvidia-egl-libraries.recipe.py new file mode 100644 index 0000000..bff45dd --- /dev/null +++ b/nvidia-egl-libraries.recipe.py @@ -0,0 +1,49 @@ +pkgname = "nvidia-egl-libraries" +pkgver = "1.0" +source = f"https://github.com/NVIDIA/eglexternalplatform/archive/1.2.1/eglexternalplatform-1.2.1.tar.gz" #dymmy url +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 = ["mesa", "libdrm", "libglvnd", "wayland", "wayland-protocols", "xorg-libs"] + +build = [ + # Extract (create directories only, sources will be fetched in the loop) + f"mkdir -pv /tmp/fempkg/build {fembuilddir} {builddir}", + + # Prepare list + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/nvidia-egl-list", + + # Download, build, install + f"""cd {builddir} && mkdir -p nvidia-egl && cd nvidia-egl && \\ +for package in $(grep -v '^#' ../nvidia-egl-list); do \\ + url=https://github.com/NVIDIA/$package; \\ + wget -c $url; \\ + file=$(basename $package); \\ + dir=${{file%.tar.?z*}}; \\ + package_name="${{dir%-*}}"; \\ + tar -xf $file; \\ + pushd $dir; \\ + mkdir -pv build; cd build; \\ + meson setup --prefix=/usr --buildtype=release ..; \\ + ninja; \\ + DESTDIR={destdir} ninja install; \\ + install -v -d -m755 {destdir}/usr/share/licenses/$package_name/; \\ + install -v -m644 ../COPYING {destdir}/usr/share/licenses/$package_name/LICENSE || true; \\ + install -v -m644 ../LICENSE {destdir}/usr/share/licenses/$package_name/LICENSE || true; \\ + popd; \\ + rm -rf $dir; \\ +done && /sbin/ldconfig""", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && /sbin/ldconfig", +] diff --git a/nvidia.recipe.py b/nvidia.recipe.py new file mode 100644 index 0000000..5d41387 --- /dev/null +++ b/nvidia.recipe.py @@ -0,0 +1,27 @@ +pkgname = "nvidia" +pkgver = "580.105.08" +kernel_ver = "6.18.1" +source = f"https://rocketleaguechatp.duckdns.org/kernel-source-prep-{kernel_ver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" + +deps = ["linux"] + +build = [ + # Extract + f"mkdir -p {builddir} && cd {fembuilddir} && mkdir -pv /var/tmp/fempkg/build/linux/linux-{kernel_ver}", + + # 64-bit build + f"cd {builddir} && if [ -f \"/var/lib/fempkg/nvidia\" ]; then " + f"tar -xvf /var/lib/fempkg/pkgs/kernel-source-prep-{kernel_ver}.tar.xz -C /var/tmp/fempkg/build/linux/linux-{kernel_ver}/ && " + f"wget https://us.download.nvidia.com/XFree86/Linux-x86_64/{pkgver}/NVIDIA-Linux-x86_64-{pkgver}.run " + f"https://glfs-book.github.io/glfs/download/NVIDIA/install-NVIDIA-1 https://glfs-book.github.io/glfs/download/NVIDIA/manifest-NVIDIA-1 && " + f"sh NVIDIA-Linux-x86_64-{pkgver}.run -x && cd NVIDIA-Linux-x86_64-{pkgver}/kernel && make KERNEL_UNAME={kernel_ver} NV_EXCLUDE_KERNEL_MODULES= " + f"-j$(nproc) && make KERNEL_UNAME={kernel_ver} modules_install && cd .. && rm -rvf /usr/lib/firmware/nvidia/[0-9]* && " + f"mkdir -pv /usr/lib/firmware/nvidia/{pkgver} && cp -v firmware/*.bin /usr/lib/firmware/nvidia/{pkgver} && install -vdm755 /usr/share/nvidia && " + f"install -vDm755 ../install-NVIDIA-1 /usr/sbin/nvidia-install && install -vDm644 ../manifest-NVIDIA-1 /usr/share/nvidia/manifest; " + f"else echo \"Nvidia isn't enabled in fempkg's settings... Skipping\"; fi", + + # Cleanup + f"rm -rf {builddir} /var/tmp/fempkg/build/linux" +] diff --git a/nwg-look.recipe.py b/nwg-look.recipe.py new file mode 100644 index 0000000..63a4474 --- /dev/null +++ b/nwg-look.recipe.py @@ -0,0 +1,28 @@ +pkgname = "nwg-look" +pkgver = "1.0.6" +source = f"https://github.com/nwg-piotr/nwg-look.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["go"] + +build = [ + + # 64-bit build + f"cd {builddir} && make -j$(nproc) build", + f"cd {builddir} && 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 {builddir}" +] diff --git a/obs-studio.recipe.py b/obs-studio.recipe.py new file mode 100644 index 0000000..374420d --- /dev/null +++ b/obs-studio.recipe.py @@ -0,0 +1,19 @@ +pkgname = "obs-studio" +pkgver = "31.1.2" +source = f"https://github.com/obsproject/obs-studio/releases/download/{pkgver}/OBS-Studio-{pkgver}-Sources.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/OBS-Studio-{pkgver}-Sources.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D BUILD_TESTING=OFF -G Ninja ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && ninja install", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/openldap.recipe.py b/openldap.recipe.py new file mode 100644 index 0000000..33e3532 --- /dev/null +++ b/openldap.recipe.py @@ -0,0 +1,29 @@ +pkgname = "openldap" +pkgver = "2.6.10" +source = f"https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-{pkgver}.tgz" +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 = ["cyrus-sasl"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tgz && wget https://www.linuxfromscratch.org/patches/blfs/svn/openldap-{pkgver}-consolidated-1.patch", + + # 64-bit build + f"cd {builddir} && autoconf && patch -Np1 -i ../openldap-{pkgver}-consolidated-1.patch && ./configure --prefix=/usr --sysconfdir=/etc --disable-static --enable-dynamic --disable-debug --disable-slapd", + f"cd {builddir} && make depend -j$(nproc) && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir}", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/openssl.recipe.py b/openssl.recipe.py new file mode 100644 index 0000000..c7fb577 --- /dev/null +++ b/openssl.recipe.py @@ -0,0 +1,38 @@ +pkgname = "openssl" +pkgver = "3.6.0" +source = f"https://github.com/openssl/openssl/releases/download/openssl-{pkgver}/openssl-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib shared zlib-dynamic", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile", + f"cd {builddir} && make MANSUFFIX=ssl DESTDIR={destdir} install", + f"cd {builddir} && mv -v {destdir}/usr/share/doc/openssl {destdir}/usr/share/doc/openssl-{pkgver}", + f"cd {builddir} && cp -vfr doc/* {destdir}/usr/share/doc/openssl-{pkgver}", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib32 shared zlib-dynamic linux-x86", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + 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}" +] diff --git a/opsec.recipe.py b/opsec.recipe.py new file mode 100644 index 0000000..cb0206d --- /dev/null +++ b/opsec.recipe.py @@ -0,0 +1,8 @@ +pkgname = "opsec" +pkgver = "1.0" +source = f"https://github.com/dosfstools/dosfstools/releases/download/v{pkgver}/dosfstools-{pkgver}.tar.gz" +deps = [] + +build = [ + f"echo \"This package isnt made yet lmao ask @alerktt on telegram for when hes gonna finally make it zowg :explodes:\"" +] \ No newline at end of file diff --git a/ostree.recipe.py b/ostree.recipe.py new file mode 100644 index 0000000..41fe227 --- /dev/null +++ b/ostree.recipe.py @@ -0,0 +1,29 @@ +pkgname = "ostree" +pkgver = "2025.6" +source = f"https://github.com/ostreedev/ostree/releases/download/v{pkgver}/libostree-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/lib{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 = ["fuse", "glib", "curl", "gpgme", "elogind"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/lib{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --disable-static --with-curl --with-soup=no", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/p11-kit.recipe.py b/p11-kit.recipe.py new file mode 100644 index 0000000..1f780d1 --- /dev/null +++ b/p11-kit.recipe.py @@ -0,0 +1,40 @@ +pkgname = "p11-kit" +pkgver = "0.25.10" +source = f"https://github.com/p11-glue/p11-kit/releases/download/{pkgver}/p11-kit-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed '20,$ d' -i trust/trust-extract-compat", + f"""cd {builddir} && cat >> trust/trust-extract-compat << "EOF" +# Copy existing anchor modifications to /etc/ssl/local +/usr/libexec/make-ca/copy-trust-modifications + +# Update trust stores +/usr/sbin/make-ca -r +EOF""", + f"cd {builddir} && mkdir p11-build", + f"cd {builddir}/p11-build && meson setup .. --prefix=/usr --buildtype=release -D trust_paths=/etc/pki/anchors", + f"cd {builddir}/p11-build && ninja", + f"cd {builddir}/p11-build && DESTDIR={destdir} ninja install", + f"cd {builddir}/p11-build && ln -sfv /usr/libexec/p11-kit/trust-extract-compat {destdir}/usr/bin/update-ca-certificates && " + f"ln -sfv ./pkcs11/p11-kit-trust.so {destdir}/usr/lib/libnssckbi.so", + + 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 {builddir} {fembuilddir}" +] diff --git a/pango.recipe.py b/pango.recipe.py new file mode 100644 index 0000000..c05116b --- /dev/null +++ b/pango.recipe.py @@ -0,0 +1,29 @@ +pkgname = "pango" +pkgver = "1.57.0" +source = f"https://download.gnome.org/sources/pango/1.57/pango-{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 = ["fontconfig", "fribidi", "glib", "cairo", "xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 --wrap-mode=nofallback -D introspection=enabled ..", + 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 {builddir} {fembuilddir}" +] diff --git a/pangomm.recipe.py b/pangomm.recipe.py new file mode 100644 index 0000000..1ad517b --- /dev/null +++ b/pangomm.recipe.py @@ -0,0 +1,32 @@ +pkgname = "pangomm" +pkgver = "2.56.1" +Pkgver = pkgver[:4] +source = f"https://download.gnome.org/sources/pangomm/{Pkgver}/pangomm-{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 = ["libcairomm", "glibmm", "pango"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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}/COPYING", + f"install -v -m644 {builddir}/COPYING.tools {destdir}/usr/share/licenses/{pkgname}/COPYING.tools", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/papirus-icon-theme.recipe.py b/papirus-icon-theme.recipe.py new file mode 100644 index 0000000..4339712 --- /dev/null +++ b/papirus-icon-theme.recipe.py @@ -0,0 +1,31 @@ +pkgname = "papirus-icon-theme" +pkgver = "20250501" +source = f"https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/{pkgver}/papirus-icon-theme-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && 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 {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && gtk-update-icon-cache" +] \ No newline at end of file diff --git a/parted.recipe.py b/parted.recipe.py new file mode 100644 index 0000000..d3fbeb4 --- /dev/null +++ b/parted.recipe.py @@ -0,0 +1,29 @@ +pkgname = "parted" +pkgver = "3.6" +source = f"https://ftpmirror.gnu.org/gnu/parted/parted-{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 = ["LVM2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i 's/do_version ()/do_version (PedDevice** dev, PedDisk** diskp)/' parted/parted.c && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/patch.recipe.py b/patch.recipe.py new file mode 100644 index 0000000..29dd846 --- /dev/null +++ b/patch.recipe.py @@ -0,0 +1,30 @@ +pkgname = "patch" +pkgver = "2.8" +source = f"https://ftpmirror.gnu.org/gnu/patch/patch-{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 /tmp/fempkg/build {fembuilddir} || true && 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}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/patchelf.recipe.py b/patchelf.recipe.py new file mode 100644 index 0000000..0aea5f9 --- /dev/null +++ b/patchelf.recipe.py @@ -0,0 +1,29 @@ +pkgname = "patchelf" +pkgver = "0.18.0" +source = f"https://github.com/NixOS/patchelf/releases/download/{pkgver}/patchelf-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/patchelf-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/pavucontrol.recipe.py b/pavucontrol.recipe.py new file mode 100644 index 0000000..1aa72f6 --- /dev/null +++ b/pavucontrol.recipe.py @@ -0,0 +1,30 @@ +pkgname = "pavucontrol" +pkgver = "6.2" +source = f"https://www.freedesktop.org/software/pulseaudio/pavucontrol/pavucontrol-{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 = ["gtkmm4", "json-glib", "libsigc", "pulseaudio"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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", + 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 {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/pcre2.recipe.py b/pcre2.recipe.py new file mode 100644 index 0000000..5ed0e0e --- /dev/null +++ b/pcre2.recipe.py @@ -0,0 +1,40 @@ +# pcre2.recipe.py +pkgname = "pcre2" +pkgver = "10.47" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +source = f"https://github.com/PCRE2Project/pcre2/releases/download/pcre2-{pkgver}/pcre2-{pkgver}.tar.bz2" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/pcre2-{pkgver} --enable-unicode --enable-jit --enable-pcre2-16 --enable-pcre2-32 --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-pcre2test-libreadline --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make install", + + # Clean for 32-bit + f"cd {builddir} && make distclean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && CC=\"gcc -m32\" CXX=\"g++ -m32\" ./configure --prefix=/usr --libdir=/usr/lib32 --host=i686-pc-linux-gnu --enable-unicode --enable-jit --enable-pcre2-16 --enable-pcre2-32 --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-pcre2test-libreadline --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENCE.md {destdir}/usr/share/licenses/{pkgname}/LICENCE.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/perl.recipe.py b/perl.recipe.py new file mode 100644 index 0000000..fbda11a --- /dev/null +++ b/perl.recipe.py @@ -0,0 +1,37 @@ +pkgname = "perl" +pkgver = "5.42.0" +version = pkgver[:4] +ver = pkgver[:1] + ".0" +source = f"https://www.cpan.org/src/{ver}/perl-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && export BUILD_ZLIB=False && export BUILD_BZIP2=0 && sh Configure -des -D prefix=/usr -D vendorprefix=/usr" + f" -D privlib=/usr/lib/perl5/{version}/core_perl -D archlib=/usr/lib/perl5/{version}/core_perl -D" + f" sitelib=/usr/lib/perl5/{version}/site_perl -D sitearch=/usr/lib/perl5/{version}/site_perl -D" + f" vendorlib=/usr/lib/perl5/{version}/vendor_perl -D vendorarch=/usr/lib/perl5/{version}/vendor_perl -D" + f" man1dir=/usr/share/man/man1 -D man3dir=/usr/share/man/man3 -D pager=\"/usr/bin/less -isR\" -D useshrplib -D usethreads", + + f"cd {builddir} && export BUILD_ZLIB=False && export BUILD_BZIP2=0 && make -j$(nproc)", + f"cd {builddir} && export BUILD_ZLIB=False && export BUILD_BZIP2=0 && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/Copying {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/pipewire.recipe.py b/pipewire.recipe.py new file mode 100644 index 0000000..9e4ef04 --- /dev/null +++ b/pipewire.recipe.py @@ -0,0 +1,30 @@ +pkgname = "pipewire" +pkgver = "1.4.9" +source = f"https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/{pkgver}/pipewire-{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 = ["bluez", "dbus", "gstreamer", "gst-plugins-base", "pulseaudio", "sbc", "v4l-utils", "alsa-lib", "libcanberra", "libdrm", "libxcb", "xorg-libs", "vulkan-loader"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D session-managers=\"[]\"", + 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 {builddir} {fembuilddir}" +] diff --git a/pixman.recipe.py b/pixman.recipe.py new file mode 100644 index 0000000..0027e9d --- /dev/null +++ b/pixman.recipe.py @@ -0,0 +1,29 @@ +pkgname = "pixman" +pkgver = "0.46.4" +source = f"https://www.cairographics.org/releases/pixman-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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 {builddir} {fembuilddir}" +] diff --git a/pkgconf.recipe.py b/pkgconf.recipe.py new file mode 100644 index 0000000..57552dc --- /dev/null +++ b/pkgconf.recipe.py @@ -0,0 +1,33 @@ +# pkgconfig.recipe.py +pkgname = "pkgconf" +pkgver = "2.5.1" +source = f"https://distfiles.ariadne.space/pkgconf/pkgconf-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/pkgconf-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && ln -sv pkgconf {destdir}/usr/bin/pkg-config", + f"cd {builddir} && ln -sv pkgconf.1 {destdir}/usr/share/man/man1/pkg-config.1", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/plasma-wayland-protocols.recipe.py b/plasma-wayland-protocols.recipe.py new file mode 100644 index 0000000..54801a0 --- /dev/null +++ b/plasma-wayland-protocols.recipe.py @@ -0,0 +1,29 @@ +pkgname = "plasma-wayland-protocols" +pkgver = "1.18.0" +source = f"https://download.kde.org/stable/plasma-wayland-protocols/plasma-wayland-protocols-{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 = ["extra-cmake-modules"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr ..", + f"cd {builddir}/build && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/", + f"cd {builddir}/LICENSES && cp -pv * {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/pm-utils.recipe.py b/pm-utils.recipe.py new file mode 100644 index 0000000..97de3da --- /dev/null +++ b/pm-utils.recipe.py @@ -0,0 +1,29 @@ +pkgname = "pm-utils" +pkgver = "1.4.1" +source = f"https://pm-utils.freedesktop.org/releases/pm-utils-{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 = ["xmlto"] + +build = [ + # Extract + 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/pm-utils-{pkgver}-bugfixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../pm-utils-{pkgver}-bugfixes-1.patch && ./configure --prefix=/usr --sysconfdir=/etc --docdir=/usr/share/doc/pm-utils-{pkgver}", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/polkit-gnome.recipe.py b/polkit-gnome.recipe.py new file mode 100644 index 0000000..df54911 --- /dev/null +++ b/polkit-gnome.recipe.py @@ -0,0 +1,30 @@ +pkgname = "polkit-gnome" +pkgver = "0.105" +source = f"https://download.gnome.org/sources/polkit-gnome/{pkgver}/polkit-gnome-{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 = ["accountsservice", "gtk3", "polkit"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && wget https://www.linuxfromscratch.org/patches/blfs/svn/polkit-gnome-{pkgver}-consolidated_fixes-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../polkit-gnome-{pkgver}-consolidated_fixes-1.patch", + 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/polkit-qt.recipe.py b/polkit-qt.recipe.py new file mode 100644 index 0000000..9cac8a1 --- /dev/null +++ b/polkit-qt.recipe.py @@ -0,0 +1,31 @@ +pkgname = "polkit-qt" +pkgver = "0.200.0" +source = f"https://download.kde.org/stable/polkit-qt-1/polkit-qt-1-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/polkit-qt-1-{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", "polkit", "qt6"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/polkit-qt-1-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D QT_MAJOR_VERSION=6 -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"install -v -m644 {builddir}/LICENSES/BSD-3-Clause.txt {destdir}/usr/share/licenses/{pkgname}/BSD-3-Clause.txt", + f"install -v -m644 {builddir}/LICENSES/GPL-2.0-or-later.txt {destdir}/usr/share/licenses/{pkgname}/GPL-2.0-or-later.txt", + f"install -v -m644 {builddir}/LICENSES/LGPL-2.0-or-later.txt {destdir}/usr/share/licenses/{pkgname}/LGPL-2.0-or-later.txt", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/polkit.recipe.py b/polkit.recipe.py new file mode 100644 index 0000000..ff84b9d --- /dev/null +++ b/polkit.recipe.py @@ -0,0 +1,34 @@ +pkgname = "polkit" +pkgver = "126" +source = f"https://github.com/polkit-org/polkit/archive/{pkgver}/polkit-{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 = ["ducktape", "glib", "Linux-PAM", "elogind"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D man=true -D session_tracking=elogind -D systemdsystemunitdir=/tmp -D tests=true", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && rm -v {destdir}/tmp/*.service && rm -rf {destdir}/usr/lib/{{sysusers,tmpfiles}}.d", + + 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 {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && groupadd -fg 27 polkitd || true", + f"cd /tmp && useradd -c \"PolicyKit Daemon Owner\" -d /etc/polkit-1 -u 27 -g polkitd -s /bin/false polkitd || true", +] \ No newline at end of file diff --git a/popt.recipe.py b/popt.recipe.py new file mode 100644 index 0000000..33418af --- /dev/null +++ b/popt.recipe.py @@ -0,0 +1,29 @@ +pkgname = "popt" +pkgver = "1.19" +source = f"https://ftp.osuosl.org/pub/rpm/popt/releases/popt-1.x/popt-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/power-profiles-daemon.recipe.py b/power-profiles-daemon.recipe.py new file mode 100644 index 0000000..c2ea32f --- /dev/null +++ b/power-profiles-daemon.recipe.py @@ -0,0 +1,30 @@ +pkgname = "power-profiles-daemon" +pkgver = "0.30" +source = f"https://rocketleaguechatp.duckdns.org/power-profiles-daemon-{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 = ["dbusmock"] + +build = [ + + 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 && meson setup .. --prefix=/usr --buildtype=release -D gtk_doc=false -D tests=false -D systemdsystemunitdir=/tmp/", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && rm -rf /tmp/power-profiles-daemon.service && install -vdm755 {destdir}/var/lib/power-profiles-daemon", + + 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 {builddir}" +] diff --git a/procps-ng.recipe.py b/procps-ng.recipe.py new file mode 100644 index 0000000..1df91cc --- /dev/null +++ b/procps-ng.recipe.py @@ -0,0 +1,31 @@ +pkgname = "procps-ng" +pkgver = "4.0.5" +source = f"https://rocketleaguechatp.duckdns.org/procps-ng-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --docdir=/usr/share/doc/procps-ng-{pkgver} --disable-static --disable-kill --enable-watch8bi", + 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", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/psmisc.recipe.py b/psmisc.recipe.py new file mode 100644 index 0000000..e209f90 --- /dev/null +++ b/psmisc.recipe.py @@ -0,0 +1,30 @@ +pkgname = "psmisc" +pkgver = "23.7" +source = f"https://rocketleaguechatp.duckdns.org/psmisc-{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 /tmp/fempkg/build {fembuilddir} || true && 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}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/pugixml.recipe.py b/pugixml.recipe.py new file mode 100644 index 0000000..5dea806 --- /dev/null +++ b/pugixml.recipe.py @@ -0,0 +1,29 @@ +pkgname = "pugixml" +pkgver = "1.15" +source = f"https://github.com/zeux/pugixml/releases/download/v{pkgver}/pugixml-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 CMAKE_SKIP_INSTALL_RPATH=ON -D BUILD_SHARED_LIBS=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.md {destdir}/usr/share/licenses/{pkgname}/LICENSE.md", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/pulseaudio.recipe.py b/pulseaudio.recipe.py new file mode 100644 index 0000000..af8eae6 --- /dev/null +++ b/pulseaudio.recipe.py @@ -0,0 +1,31 @@ +pkgname = "pulseaudio" +pkgver = "17.0" +source = f"https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-{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 = ["libsndfile", "alsa-lib", "dbus", "elogind", "glib", "xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 database=gdbm -D doxygen=false -D bluez5=disabled -D tests=false ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && rm {destdir}/usr/share/dbus-1/system.d/pulseaudio-system.conf", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/GPL {destdir}/usr/share/licenses/{pkgname}/GPL", + f"install -v -m644 {builddir}/LGPL {destdir}/usr/share/licenses/{pkgname}/LGPL", + 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 {builddir} {fembuilddir}" +] diff --git a/pycairo.recipe.py b/pycairo.recipe.py new file mode 100644 index 0000000..e10038b --- /dev/null +++ b/pycairo.recipe.py @@ -0,0 +1,33 @@ +pkgname = "pycairo" +pkgver = "1.29.0" +source = f"https://github.com/pygobject/pycairo/releases/download/v{pkgver}/pycairo-{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 = ["cairo"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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-LGPL-2.1 {destdir}/usr/share/licenses/{pkgname}/COPYING-LGPL-2.1", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING-MPL-1.1 {destdir}/usr/share/licenses/{pkgname}/COPYING-MPL-1.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 {builddir} {fembuilddir}" +] + diff --git a/python.recipe.py b/python.recipe.py new file mode 100644 index 0000000..9be2a7a --- /dev/null +++ b/python.recipe.py @@ -0,0 +1,43 @@ +pkgname = "python" +pkgver = "3.14.0" +Pkgver = pkgver[:4] +atomic = True +source = f"https://www.python.org/ftp/python/{pkgver}/Python-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/Python-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/Python-{pkgver}.tar.xz", + + f"cd {builddir} && ./configure --prefix=/usr --enable-shared --with-system-expat --enable-optimizations --without-static-libpython", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && install -d -m 755 {destdir}/etc", + f"cd {builddir} && echo -e \"[global]\\nroot-user-action = ignore\\ndisable-pip-version-check = true\" > {destdir}/etc/pip.conf", + + 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", + + # Always cleanup + f"rm -rf {fembuilddir}" +] + +triggers = [ + f"cd /tmp && pip3 install requests build installer materialyoucolor pillow setuptools wheel meson dbus-python meson_python " + f"flit-core packaging markupsafe Jinja2 pluggy PyYAML pathspec Mako trove-classifiers editables hatchling python-dbusmock " + f"brotli pyproject_metadata Cython pyparsing ply docutils PyGObject Pygments tqdm httplib2==0.21.0 certifi chardet charset_normalizer " + f"doxypypy doxyqml idna urllib3", + {"rebuild_package": ["caelestia-cli", "kapidox", "glib", "libxml2", "newt", "pycairo", "xcb-proto"]}, + f"cd /tmp && find /usr/lib -maxdepth 1 -type d -name \"python3*\" ! -name \"python{Pkgver}\" -exec rm -rf {{}} +" +] + +# TODO when a minor version, ie 3.13.0 to 3.14.0 drops specfiy the python version in the newt package config line \ No newline at end of file diff --git a/qca.recipe.py b/qca.recipe.py new file mode 100644 index 0000000..d329fb0 --- /dev/null +++ b/qca.recipe.py @@ -0,0 +1,32 @@ +pkgname = "qca" +pkgver = "2.3.10" +qtver = "6.10.1" +source = f"https://download.kde.org/stable/qca/{pkgver}/qca-{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 = ["cmake", "qt6", "which"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir -pv {destdir}/opt/qt-{qtver} && ln -sfnv qt-{qtver} {destdir}/opt/qt6 && sed -i 's@cert.pem@certs/ca-bundle.crt@' CMakeLists.txt && mkdir -v build && cd build && " + f"cmake -D CMAKE_INSTALL_PREFIX=/opt/qt6 -D CMAKE_BUILD_TYPE=Release -D QT6=ON -D QCA_INSTALL_IN_QT_PREFIX=ON -D " + f"QCA_MAN_INSTALL_DIR:PATH=/usr/share/man ..", + 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/qt6.recipe.py b/qt6.recipe.py new file mode 100644 index 0000000..b4d00d4 --- /dev/null +++ b/qt6.recipe.py @@ -0,0 +1,114 @@ +# TODO update sddm and qca qtver wen updating qt6 ver +pkgname = "qt6" +pkgver = "6.10.1" +Pkgver = pkgver[:4] +source = f"https://download.qt.io/archive/qt/{Pkgver}/{pkgver}/single/qt-everywhere-src-{pkgver}.tar.xz" +fembuilddir = f"/var/fempkg/build/{pkgname}" +builddir = f"{fembuilddir}/qt-everywhere-src-{pkgver}" +deps = ["xorg-libs", "gstreamer", "gst-plugins-base"] +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +build = [ + # Extract and patch source + f"mkdir -p /var/fempkg/ /var/fempkg/build {fembuilddir} || true && " + f"cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/qt-everywhere-src-{pkgver}.tar.xz && " + f"cd {builddir} && wget https://raw.githubusercontent.com/immortalwrt/packages/refs/heads/master/utils/qt6tools/patches/010-no-clang.patch", + + # Apply patch + f"cd {builddir}/qttools && patch -p1 < ../010-no-clang.patch", + + f"""cd {builddir} && sed -e '/!p->receivedExpose/i \\ + if (e->isExposed) {{\\ + p->positionAutomatic = false;\\ + p->resizeAutomatic = false;\\ + }}' \\ + -i qtbase/src/gui/kernel/qguiapplication.cpp && + +sed -e '/Now that the window is created/,+5 d' \\ + -i qtbase/src/gui/kernel/qwindow.cpp""", + + # Configure + f"cd {builddir} && mkdir -pv {destdir}/opt/qt-{pkgver} && ln -sfnv qt-{pkgver} {destdir}/opt/qt6 && " + "./configure -prefix /opt/qt6 -sysconfdir /etc/xdg -dbus-linked -openssl-linked -system-sqlite " + "-nomake examples -no-rpath -no-sbom -syslog -skip qt3d -skip qtquick3dphysics -skip qtwebengine ", + # Build & install + f"cd {builddir} && ninja && DESTDIR={destdir} ninja install", + + # Fix .prl files + f"cd {builddir} && find {destdir}/opt/qt6/ -name '*.prl' -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {{}} \\;", + + # Install icons + f"cd {builddir} && pushd qttools/src && " + f"mkdir -p {destdir}/usr/share/pixmaps && " + f"install -v -Dm644 assistant/assistant/images/assistant-128.png {destdir}/usr/share/pixmaps/assistant-qt6.png && " + f"install -v -Dm644 designer/src/designer/images/designer.png {destdir}/usr/share/pixmaps/designer-qt6.png && " + f"install -v -Dm644 linguist/linguist/images/icons/linguist-128-32.png {destdir}/usr/share/pixmaps/linguist-qt6.png && " + f"install -v -Dm644 qdbus/qdbusviewer/images/qdbusviewer-128.png {destdir}/usr/share/pixmaps/qdbusviewer-qt6.png && popd", + + # Desktop entries + f"""cd {builddir} && mkdir -p {destdir}/usr/share/applications && cat > {destdir}/usr/share/applications/assistant-qt6.desktop << EOF +[Desktop Entry] +Name=Qt6 Assistant +Comment=Shows Qt6 documentation and examples +Exec=/opt/qt6/bin/assistant +Icon=assistant-qt6.png +Terminal=false +Type=Application +Categories=Qt;Development;Documentation; +EOF + +cat > {destdir}/usr/share/applications/designer-qt6.desktop << EOF +[Desktop Entry] +Name=Qt6 Designer +GenericName=Interface Designer +Comment=Design GUIs for Qt6 applications +Exec=/opt/qt6/bin/designer +Icon=designer-qt6.png +MimeType=application/x-designer; +Terminal=false +Type=Application +Categories=Qt;Development; +EOF + +cat > {destdir}/usr/share/applications/linguist-qt6.desktop << EOF +[Desktop Entry] +Name=Qt6 Linguist +Comment=Add translations to Qt6 applications +Exec=/opt/qt6/bin/linguist +Icon=linguist-qt6.png +MimeType=text/vnd.trolltech.linguist;application/x-linguist; +Terminal=false +Type=Application +Categories=Qt;Development; +EOF + +cat > {destdir}/usr/share/applications/qdbusviewer-qt6.desktop << EOF +[Desktop Entry] +Name=Qt6 QDbusViewer +GenericName=D-Bus Debugger +Comment=Debug D-Bus applications +Exec=/opt/qt6/bin/qdbusviewer +Icon=qdbusviewer-qt6.png +Terminal=false +Type=Application +Categories=Qt;Development;Debugger; +EOF""", + + f"mkdir -p {destdir}/etc/profile.d && wget https://rocketleaguechatp.duckdns.org/qt6.sh -O {destdir}/etc/profile.d/qt6.sh", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/LICENSES/* {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", + + f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f'cd /tmp && find /opt -maxdepth 1 -type d -name "qt-6*" ! -name "qt-{pkgver}" ! -name "qt6" -exec rm -rf {{}} +', + {"rebuild_package": ["sddm", "quickshell"]} +] \ No newline at end of file diff --git a/qt6ct.recipe.py b/qt6ct.recipe.py new file mode 100644 index 0000000..de42754 --- /dev/null +++ b/qt6ct.recipe.py @@ -0,0 +1,27 @@ +pkgname = "qt6ct" +pkgver = "0.11" +source = f"https://www.opencode.net/trialuser/qt6ct" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] # qt6 i guess, well bob + +build = [ + + # 64-bit build + f"cd {builddir} && git checkout 0.11 && wget https://rocketleaguechatp.duckdns.org/qt6ct-shenanigans.patch -O qt6ct-shenanigans.patch && patch -p1 < ./qt6ct-shenanigans.patch && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr ..", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir}/build && make DESTDIR={destdir} install && install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/ && " + f"install -Dm644 ../COPYING {destdir}/usr/share/licenses/qt6ct/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 {builddir}" +] diff --git a/quickshell.recipe.py b/quickshell.recipe.py new file mode 100644 index 0000000..c1a304a --- /dev/null +++ b/quickshell.recipe.py @@ -0,0 +1,40 @@ +pkgname = "quickshell" +pkgver = "0.2.1" +source = f"https://git.outfoxxed.me/quickshell/quickshell.git" +source_type = "git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +deps = ["qt6", "breakpad", "hyprland", "Linux-PAM", "CLI11", "jemalloc"] #dunno othersssssssssssssssssssss +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" # P.S -GNinja even to looks weird is right + +build = [ + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && " # long configure command + f"cmake -GNinja -DDISTRIBUTOR=\"FemboyOS's Fempkg repo\" -DDISTRIBUTOR_DEBUGINFO_AVAILABLE=NO " + f"-DCMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_INSTALL_PREFIX=/usr " + f"-DINSTALL_QML_PREFIX=\"/opt/qt6/qml\" -DINSTALL_QML_PREFIX=\"/opt/qt6/qml\" -DCRASH_REPORTER=ON -DUSE_JEMALLOC=ON -DSOCKETS=ON " + f"-DWAYLAND=ON -DWAYLAND_WLR_LAYERSHELL=ON -DWAYLAND_SESSION_LOCK=ON -DWAYLAND_TOPLEVEL_MANAGEMENT=ON -DSCREENCOPY=ON -DX11=ON " + f"-DSERVICE_PIPEWIRE=ON -DSERVICE_STATUS_NOTIFIER=ON -DSERVICE_MPRIS=ON -DSERVICE_PAM=ON -DHYPRLAND=ON -DHYPRLAND_GLOBAL_SHORTCUTS=ON " + f"-DHYPRLAND_FOCUS_GRAB=ON -DI3=ON -DI3_IPC=ON ..", + + 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-GPL {destdir}/usr/share/licenses/{pkgname}/LICENSE-GPL", + 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 {builddir}" +] + +triggers = [ + {"rebuild_package": ["caelestia-shell"]} +] diff --git a/re2.recipe.py b/re2.recipe.py new file mode 100644 index 0000000..c9a02ab --- /dev/null +++ b/re2.recipe.py @@ -0,0 +1,30 @@ +pkgname = "re2" +pkgver = "2025-08-05" +source = f"https://github.com/google/re2/releases/download/{pkgver}/re2-{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", "abseil-cpp"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 BUILD_SHARED_LIBS=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 {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 {builddir} {fembuilddir}" +] diff --git a/readline.recipe.py b/readline.recipe.py new file mode 100644 index 0000000..f22564b --- /dev/null +++ b/readline.recipe.py @@ -0,0 +1,46 @@ +# readline.recipe.py +pkgname = "readline" +pkgver = "8.3" +source = f"https://ftpmirror.gnu.org/gnu/readline/readline-{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 = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i '/MV.*old/d' Makefile.in", + f"cd {builddir} && sed -i '/{{OLDSUFF}}/c:' support/shlib-install", + f"cd {builddir} && sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf", + f"cd {builddir} && ./configure --prefix=/usr --disable-static --with-curses --docdir=/usr/share/doc/readline-{pkgver}", + f"cd {builddir} && make SHLIB_LIBS=\"-lncursesw\" -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"mkdir -p {destdir}/usr/share/doc", + f"cd {builddir} && install -v -m644 doc/*.{{ps,pdf,html,dvi}} {destdir}/usr/share/doc/readline-{pkgver}", + + # Clean for 32-bit + f"cd {builddir} && make distclean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && CC=\"gcc -m32\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --libdir=/usr/lib32 --disable-static --with-curses", + f"cd {builddir} && make SHLIB_LIBS=\"-lncursesw\" -j$(nproc)", + f"cd {builddir} && make SHLIB_LIBS=\"-lncursesw\" DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && " + f"cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/rustbindgen.recipe.py b/rustbindgen.recipe.py new file mode 100644 index 0000000..b3d4455 --- /dev/null +++ b/rustbindgen.recipe.py @@ -0,0 +1,31 @@ +pkgname = "rustbindgen" +pkgver = "0.72.1" +source = f"https://github.com/rust-lang/rust-bindgen/archive/refs/tags/v{pkgver}/rust-bindgen-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/rust-bindgen-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["rustc", "llvm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/rust-bindgen-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && cargo build --release", + f"cd {builddir} && mkdir -p {destdir}/usr/bin {destdir}/usr/share/{{,bash-completion/completions,zsh/site-functions}} && " + f"install -v -m755 target/release/bindgen {destdir}/usr/bin", + f"cd {builddir} && {destdir}/usr/bin/bindgen --generate-shell-completions bash > {destdir}/usr/share/bash-completion/completions/bindgen " + f"&& bindgen --generate-shell-completions zsh > {destdir}/usr/share/zsh/site-functions/_bindgen", + + 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 {builddir} {fembuilddir}" +] diff --git a/rustc.recipe.py b/rustc.recipe.py new file mode 100644 index 0000000..8797f22 --- /dev/null +++ b/rustc.recipe.py @@ -0,0 +1,48 @@ +pkgname = "rustc" +pkgver = "1.91.0" +source = f"https://static.rust-lang.org/dist/rustc-{pkgver}-src.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}-src" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +exports = "export LIBSSH2_SYS_USE_PKG_CONFIG=1 && export LIBSQLITE3_SYS_USE_PKG_CONFIG=1" + +deps = ["cmake", "curl", "libssh2", "llvm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}-src.tar.xz", + + # 64-bit build + f"cd {builddir} && mkdir -pv {destdir}/opt/rustc-{pkgver} && ln -svfn rustc-{pkgver} {destdir}/opt/rustc", + + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/bootstrap.toml", + f"cd {builddir} && {exports} && ./x.py build", + f"cd {builddir} && {exports} && DESTDIR={destdir} ./x.py install", + f"cd {builddir} && {exports} && rm -fv {destdir}/opt/rustc-{pkgver}/share/doc/rustc-{pkgver}/*.old", + f"cd {builddir} && {exports} && install -vm644 README.md {destdir}/opt/rustc-{pkgver}/share/doc/rustc-{pkgver}", + f"cd {builddir} && {exports} && install -vdm755 {destdir}/usr/share/zsh/site-functions", + f"cd {builddir} && {exports} && install -vdm755 {destdir}/usr/share/bash-completion/completions", + f"cd {builddir} && {exports} && ln -sfv {destdir}/opt/rustc/share/zsh/site-functions/_cargo {destdir}/usr/share/zsh/site-functions", + f"cd {builddir} && {exports} && mv -v {destdir}/etc/bash_completion.d/cargo {destdir}/usr/share/bash-completion/completions", + + # Create license directory + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE-APACHE {destdir}/usr/share/licenses/{pkgname}/LICENSE-APACHE", + f"install -v -m644 {builddir}/LICENSE-MIT {destdir}/usr/share/licenses/{pkgname}/LICENSE-MIT", + f"install -v -m644 {builddir}/COPYRIGHT {destdir}/usr/share/licenses/{pkgname}/COPYRIGHT", + f"cp -rv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] + + +triggers = [ + f"cd /tmp && find /opt -maxdepth 1 -type d -name \"rustc-*\" ! -name \"rustc-{pkgver}\" -exec rm -rf {{}} +" +] \ No newline at end of file diff --git a/sbc.recipe.py b/sbc.recipe.py new file mode 100644 index 0000000..3c4a3f4 --- /dev/null +++ b/sbc.recipe.py @@ -0,0 +1,30 @@ +pkgname = "sbc" +pkgver = "2.1" +source = f"https://www.kernel.org/pub/linux/bluetooth/sbc-{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 = ["libsndfile"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --disable-tester", + 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", + f"install -v -m644 {builddir}/COPYING.LIB {destdir}/usr/share/licenses/{pkgname}/COPYING.LIB", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/scdoc.recipe.py b/scdoc.recipe.py new file mode 100644 index 0000000..ec1d79c --- /dev/null +++ b/scdoc.recipe.py @@ -0,0 +1,27 @@ +pkgname = "scdoc" +pkgver = "1.11.4" +source = f"https://git.sr.ht/~sircmpwn/scdoc" +builddir = f"/tmp/fempkgbuild/{pkgname}" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +source_type = "git" +deps = [] + +build = [ + + # 64-bit build + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make PREFIX=/usr 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 {builddir}" +] diff --git a/sdbus-cpp.recipe.py b/sdbus-cpp.recipe.py new file mode 100644 index 0000000..d8e103b --- /dev/null +++ b/sdbus-cpp.recipe.py @@ -0,0 +1,33 @@ +pkgname = "sdbus-cpp" # SLFS sdbus-c++ +pkgver = "2.2.1" +source = f"https://github.com/Kistler-Group/sdbus-cpp/archive/v{pkgver}/sdbus-cpp-{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", "dbus"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 " + f"-D CMAKE_INSTALL_DOCDIR=/usr/share/doc/sdbus-c++-{pkgver} -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}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING-LGPL-Exception {destdir}/usr/share/licenses/{pkgname}/COPYING-LGPL-Exception", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/sddm.recipe.py b/sddm.recipe.py new file mode 100644 index 0000000..e9cfa07 --- /dev/null +++ b/sddm.recipe.py @@ -0,0 +1,36 @@ +pkgname = "sddm" +pkgver = "0.21.0" +qtver = "6.10.1" +source = f"https://github.com/sddm/sddm/archive/v{pkgver}/sddm-{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", "extra-cmake-modules", "qt6", "Linux-PAM"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 CMAKE_POLICY_VERSION_MINIMUM=3.5 -D ENABLE_JOURNALD=OFF -D NO_SYSTEMD=ON -D RUNTIME_DIR=/run/sddm -D USE_ELOGIND=ON -D BUILD_MAN_PAGES=ON -D BUILD_WITH_QT6=ON -D DATA_INSTALL_DIR=/usr/share/sddm -D DBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf ..", + f"cd {builddir}/build && make -j$(nproc)", + f"cd {builddir} && mkdir -pv {destdir}/opt/qt-{qtver} && ln -sf qt-{qtver} {destdir}/opt/qt6", + f"cd {builddir}/build && make DESTDIR={destdir} install && install -d -m 755 {destdir}/etc/pam.d", + + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/sddm -O {destdir}/etc/pam.d/sddm && " + f"wget https://rocketleaguechatp.duckdns.org/sddm-autologin -O {destdir}/etc/pam.d/sddm-autologin && " + f"wget https://rocketleaguechatp.duckdns.org/sddm-greeter -O {destdir}/etc/pam.d/sddm-greeter", + + 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.CC-BY-3.0 {destdir}/usr/share/licenses/{pkgname}/LICENSE.CC-BY-3.0", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/sdl2.recipe.py b/sdl2.recipe.py new file mode 100644 index 0000000..f78cf0b --- /dev/null +++ b/sdl2.recipe.py @@ -0,0 +1,29 @@ +pkgname = "sdl2" +pkgver = "2.32.10" +source = f"https://www.libsdl.org/release/SDL2-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/SDL2-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["libxkbcommon", "wayland-protocols", "xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/SDL2-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && rm -v {destdir}/usr/lib/libSDL2*.a", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/seatd.recipe.py b/seatd.recipe.py new file mode 100644 index 0000000..b0df144 --- /dev/null +++ b/seatd.recipe.py @@ -0,0 +1,29 @@ +pkgname = "seatd" +pkgver = "0.9.1" +source = f"https://git.sr.ht/~kennylevinsen/seatd/archive/{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 = ["elogind"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/0.9.1.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D server=disabled -D libseat-seatd=disabled ..", + 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 {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 {builddir} {fembuilddir}" +] diff --git a/sed.recipe.py b/sed.recipe.py new file mode 100644 index 0000000..32a99e4 --- /dev/null +++ b/sed.recipe.py @@ -0,0 +1,32 @@ +pkgname = "sed" +pkgver = "4.9" +source = f"https://ftpmirror.gnu.org/gnu/sed/sed-{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 /tmp/fempkg/build {fembuilddir} || true && 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 html", + f"cd {builddir} && make DESTDIR={destdir} install", + f"cd {builddir} && install -d -m755 {destdir}/usr/share/doc/sed-{pkgver}", + f"cd {builddir} && install -m644 doc/sed.html {destdir}/usr/share/doc/sed-{pkgver}", + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/shadow.recipe.py b/shadow.recipe.py new file mode 100644 index 0000000..d9d6bcd --- /dev/null +++ b/shadow.recipe.py @@ -0,0 +1,77 @@ +pkgname = "shadow" # BLFS one for PAM support +pkgver = "4.18.0" +source = f"https://github.com/shadow-maint/shadow/releases/download/{pkgver}/shadow-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/shadow-{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 /tmp/fempkg/build {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/shadow-{pkgver}.tar.xz", + + # 64-bit build + f"""cd {builddir} && \\ + sed -i 's/groups$(EXEEXT) //' src/Makefile.in && \\ + find man -name Makefile.in -exec sed -i 's/groups\\.1 / /' {{}} \\; && \\ + find man -name Makefile.in -exec sed -i 's/getspnam\\.3 / /' {{}} \\; && \\ + find man -name Makefile.in -exec sed -i 's/passwd\\.5 / /' {{}} \\; && \\ + sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' \\ + -e 's@/var/spool/mail@/var/mail@' \\ + -e '/PATH=/{{s@/sbin:@@;s@/bin:@@}}' -i etc/login.defs && \ + ./configure --sysconfdir=/etc --disable-static --without-libbsd --with-{{b,yes}}crypt""", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make exec_prefix=/usr pamddir= DESTDIR={destdir} install", + + f"install -v -m644 {destdir}/etc/login.defs {destdir}/etc/login.defs.orig", + f"""for FUNCTION in FAIL_DELAY \\ + FAILLOG_ENAB \\ + LASTLOG_ENAB \\ + MAIL_CHECK_ENAB \\ + OBSCURE_CHECKS_ENAB \\ + PORTTIME_CHECKS_ENAB \\ + QUOTAS_ENAB \\ + CONSOLE MOTD_FILE \\ + FTMP_FILE NOLOGINS_FILE \\ + ENV_HZ PASS_MIN_LEN \\ + SU_WHEEL_ONLY \\ + PASS_CHANGE_TRIES \\ + PASS_ALWAYS_WARN \\ + CHFN_AUTH ENCRYPT_METHOD \\ + ENVIRON_FILE +do + sed -i "s/^${{FUNCTION}}/# &/" {destdir}/etc/login.defs +done""", + + f"mkdir -pv {destdir}/etc/pam.d", + + f"cd {destdir}/etc/pam.d && wget https://rocketleaguechatp.duckdns.org/login", + f"cd {destdir}/etc/pam.d && wget https://rocketleaguechatp.duckdns.org/passwd", + f"cd {destdir}/etc/pam.d && wget https://rocketleaguechatp.duckdns.org/su", + f"cd {destdir}/etc/pam.d && wget https://rocketleaguechatp.duckdns.org/chpasswd", + f"cd {destdir}/etc/pam.d && wget https://rocketleaguechatp.duckdns.org/chage", + + f"sed -e s/chpasswd/newusers/ {destdir}/etc/pam.d/chpasswd >{destdir}/etc/pam.d/newusers", + f"""for PROGRAM in chfn chgpasswd chsh groupadd groupdel \\ + groupmems groupmod useradd userdel usermod +do + install -v -m644 {destdir}/etc/pam.d/chage {destdir}/etc/pam.d/${{PROGRAM}} + sed -i "s/chage/$PROGRAM/" {destdir}/etc/pam.d/${{PROGRAM}} +done""", + f"if [ -f {destdir}/etc/login.access ]; then mv -v {destdir}/etc/login.access{{,.NOUSE}}; fi && " + f"if [ -f {destdir}/etc/limits ]; then mv -v {destdir}/etc/limits{{,.NOUSE}}; fi", + + 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 {builddir} {fembuilddir}" +] diff --git a/shared-mime-info.recipe.py b/shared-mime-info.recipe.py new file mode 100644 index 0000000..ff62b90 --- /dev/null +++ b/shared-mime-info.recipe.py @@ -0,0 +1,29 @@ +pkgname = "shared-mime-info" +pkgver = "2.4" +source = f"https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/{pkgver}/shared-mime-info-{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 = ["glib", "libxml2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D update-mimedb=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 {builddir} {fembuilddir}" +] diff --git a/slang.recipe.py b/slang.recipe.py new file mode 100644 index 0000000..c1ed90d --- /dev/null +++ b/slang.recipe.py @@ -0,0 +1,29 @@ +pkgname = "slang" +pkgver = "2.3.3" +source = f"https://www.jedsoft.org/releases/slang/slang-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --with-readline=gnu", + f"cd {builddir} && make -j1 RPATH=", + f"cd {builddir} && make DESTDIR={destdir} install_doc_dir=/usr/share/doc/slang-{pkgver} SLSH_DOC_DIR=/usr/share/doc/slang-{pkgver}/slsh RPATH= 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/sound-theme-freedesktop.recipe.py b/sound-theme-freedesktop.recipe.py new file mode 100644 index 0000000..5ad3c7d --- /dev/null +++ b/sound-theme-freedesktop.recipe.py @@ -0,0 +1,29 @@ +pkgname = "sound-theme-freedesktop" +pkgver = "0.8" +source = f"https://people.freedesktop.org/~mccann/dist/sound-theme-freedesktop-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 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}/CREDITS {destdir}/usr/share/licenses/{pkgname}/CREDITS", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/spirv-headers.recipe.py b/spirv-headers.recipe.py new file mode 100644 index 0000000..fe9101a --- /dev/null +++ b/spirv-headers.recipe.py @@ -0,0 +1,31 @@ +pkgname = "spirv-headers" +pkgver = "1.4.335.0" +source = f"https://github.com/KhronosGroup/SPIRV-Headers/archive/vulkan-sdk-{pkgver}/SPIRV-Headers-vulkan-sdk-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/SPIRV-Headers-vulkan-sdk-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/SPIRV-Headers-vulkan-sdk-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -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 {destdir}/usr/share/licenses/{pkgname}/LICENSE", + f"cp -pv {builddir}/LICENSES/* {destdir}/usr/share/licenses/{pkgname}/", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/spirv-llvm-translator.recipe.py b/spirv-llvm-translator.recipe.py new file mode 100644 index 0000000..c188284 --- /dev/null +++ b/spirv-llvm-translator.recipe.py @@ -0,0 +1,39 @@ +pkgname = "spirv-llvm-translator" +pkgver = "21.1.3" +source = f"https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/v{pkgver}/SPIRV-LLVM-Translator-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/SPIRV-LLVM-Translator-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["libxml2", "llvm", "spirv-tools"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && " + f"tar -xvf /var/lib/fempkg/pkgs/SPIRV-LLVM-Translator-{pkgver}.tar.gz", + + # Configure + f"cd {builddir} && rm -rf build && mkdir build && cd build && cmake " + f"-D CMAKE_INSTALL_PREFIX=/usr " + f"-D CMAKE_BUILD_TYPE=Release " + f"-D BUILD_SHARED_LIBS=ON " + f"-D CMAKE_SKIP_INSTALL_RPATH=ON " + f"-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr " + f"-G Ninja ..", + + # Build + install + 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 {builddir} {fembuilddir}" +] diff --git a/spirv-tools.recipe.py b/spirv-tools.recipe.py new file mode 100644 index 0000000..2f02200 --- /dev/null +++ b/spirv-tools.recipe.py @@ -0,0 +1,30 @@ +pkgname = "spirv-tools" +pkgver = "1.4.335.0" +source = f"https://github.com/KhronosGroup/SPIRV-Tools/archive/vulkan-sdk-{pkgver}/SPIRV-Tools-vulkan-sdk-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/SPIRV-Tools-vulkan-sdk-{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", "spirv-headers"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/SPIRV-Tools-vulkan-sdk-{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 SPIRV_WERROR=OFF -D BUILD_SHARED_LIBS=ON -D SPIRV_TOOLS_BUILD_STATIC=OFF -D SPIRV-Headers_SOURCE_DIR=/usr -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 {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 {builddir} {fembuilddir}" +] diff --git a/sqlite.recipe.py b/sqlite.recipe.py new file mode 100644 index 0000000..9e21514 --- /dev/null +++ b/sqlite.recipe.py @@ -0,0 +1,52 @@ +pkgname = "sqlite" +pkgver = "3510000" +source = f"https://sqlite.org/2025/sqlite-autoconf-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-autoconf-{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", "utfcpp"] + +deps = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-autoconf-{pkgver}.tar.gz && " + f"wget https://anduin.linuxfromscratch.org/LFS/sqlite-doc-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && tar -xf ../sqlite-doc-{pkgver}.tar.xz", + f"cd {builddir} && ./configure --prefix=/usr --disable-static --enable-fts{{4,5}} CPPFLAGS=\"-D SQLITE_ENABLE_COLUMN_METADATA=1 -D " + f"SQLITE_ENABLE_UNLOCK_NOTIFY=1 -D SQLITE_ENABLE_DBSTAT_VTAB=1 -D SQLITE_SECURE_DELETE=1\"", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && CC=\"gcc -m32\" CXX=\"g++ -m32\" ./configure --prefix=/usr --libdir=/usr/lib32 --host=i686-pc-linux-gnu --disable-static --enable-fts{{4,5}} CPPFLAGS=\"-D SQLITE_ENABLE_COLUMN_METADATA=1 -D SQLITE_ENABLE_UNLOCK_NOTIFY=1 -D SQLITE_ENABLE_DBSTAT_VTAB=1 -D SQLITE_SECURE_DELETE=1\"", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"""cat > {destdir}/usr/share/licenses/{pkgname}/PUBLIC-DOMAIN << 'EOF' +SQLite is in the public domain. + +For details, see: + https://sqlite.org/copyright.html + +The SQLite authors have dedicated the SQLite source code to the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the +original SQLite code, either in source code form or as a compiled binary, for +any purpose, commercial or non-commercial, and by any means. +EOF +""", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/ssh.recipe.py b/ssh.recipe.py new file mode 100644 index 0000000..9619ff4 --- /dev/null +++ b/ssh.recipe.py @@ -0,0 +1,53 @@ +pkgname = "ssh" +pkgver = "10.2" +source = f"https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-{pkgver}p1.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/open{pkgname}-{pkgver}p1" +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 /tmp/fempkg/build {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/open{pkgname}-{pkgver}p1.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc/ssh " + f"--with-privsep-path=/var/lib/sshd --with-default-path=/usr/bin " + f"--with-superuser-path=/usr/sbin:/usr/bin --with-pid-dir=/run", + f"cd {builddir} && make -j$(nproc)", + f"""cd {builddir} && make DESTDIR={destdir} install && \\ + +# Install ssh-copy-id into DESTDIR +install -v -m755 contrib/ssh-copy-id {destdir}/usr/bin && \\ + +# Install manpage into DESTDIR +install -v -m644 contrib/ssh-copy-id.1 {destdir}/usr/share/man/man1/ && \\ + +# Install docs into DESTDIR +install -v -d {destdir}/usr/share/doc/openssh-{pkgver}p1 && \\ +install -v -m644 INSTALL OVERVIEW README* {destdir}/usr/share/doc/openssh-{pkgver}p1 +""", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENCE {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 {builddir} {fembuilddir}" +] + +triggers = [ + f"""install -v -g sys -m700 -d /var/lib/sshd || true && + +groupadd -g 50 sshd || true && +useradd -c 'sshd PrivSep' \ + -d /var/lib/sshd \ + -g sshd \ + -s /bin/false \ + -u 50 sshd || true""", +] \ No newline at end of file diff --git a/starship.recipe.py b/starship.recipe.py new file mode 100644 index 0000000..2936522 --- /dev/null +++ b/starship.recipe.py @@ -0,0 +1,28 @@ +pkgname = "starship" +pkgver = "1.24.1" +source = f"https://github.com/starship/starship.git" +builddir = f"/tmp/fempkgbuild/{pkgname}" +source_type = "git" +fembuilddir = builddir +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = [] + +build = [ + + # 64-bit build + f"cd {builddir} && cargo build --release", + f"cd {builddir} && mkdir -p {destdir}/usr/bin && install -Dm755 target/release/starship {destdir}/usr/bin/starship", + + 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 {builddir}" +] diff --git a/sudo.recipe.py b/sudo.recipe.py new file mode 100644 index 0000000..2a167b1 --- /dev/null +++ b/sudo.recipe.py @@ -0,0 +1,35 @@ +pkgname = "sudo" +pkgver = "1.9.17" # TODO remove p2 wen no p2 +source = f"https://www.sudo.ws/dist/sudo-{pkgver}p2.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}p2" +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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}p2.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --libexecdir=/usr/lib --with-secure-path --with-env-editor --docdir=/usr/share/doc/sudo-{pkgver}p2 --with-passprompt=\"[sudo] password for %p: \"", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"""cat > {destdir}/etc/sudoers.d/00-sudo << "EOF" +Defaults secure_path="/usr/sbin:/usr/bin" +%wheel ALL=(ALL) ALL +EOF""", + f"mkdir -p {destdir}/etc/pam.d", + f"wget https://rocketleaguechatp.duckdns.org/sudo -O {destdir}/etc/pam.d/sudo && chmod 644 {destdir}/etc/pam.d/sudo", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/swappy.recipe.py b/swappy.recipe.py new file mode 100644 index 0000000..8b7b80d --- /dev/null +++ b/swappy.recipe.py @@ -0,0 +1,30 @@ +pkgname = "swappy" +pkgver = "1.8.0" +source = f"https://github.com/jtheoof/swappy/archive/refs/tags/v{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 = ["cairo", "pango", "gtk3", "glib"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/v{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i '15,26d' meson.build && mkdir build && cd build && meson setup .. --prefix=/usr", + 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 {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 {builddir} {fembuilddir}" +] diff --git a/sysklogd.recipe.py b/sysklogd.recipe.py new file mode 100644 index 0000000..2664b27 --- /dev/null +++ b/sysklogd.recipe.py @@ -0,0 +1,47 @@ +pkgname = "sysklogd" +pkgver = "2.7.2" +source = f"https://github.com/troglobit/sysklogd/releases/download/v{pkgver}/sysklogd-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --runstatedir=/run --without-logger --disable-static --docdir=/usr/share/doc/sysklogd-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"install -v -d -m755 {destdir}/etc/", + f"""cat > {destdir}/etc/syslog.conf << "EOF" +# Begin /etc/syslog.conf + +auth,authpriv.* -/var/log/auth.log +*.*;auth,authpriv.none -/var/log/sys.log +daemon.* -/var/log/daemon.log +kern.* -/var/log/kern.log +mail.* -/var/log/mail.log +user.* -/var/log/user.log +*.emerg * + +# Do not open any internet ports. +secure_mode 2 + +# End /etc/syslog.conf +EOF""", + + 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}" +] diff --git a/sysvinit.recipe.py b/sysvinit.recipe.py new file mode 100644 index 0000000..1b02b3c --- /dev/null +++ b/sysvinit.recipe.py @@ -0,0 +1,32 @@ +pkgname = "sysvinit" +pkgver = "3.14" +source = f"https://github.com/slicer69/sysvinit/releases/download/{pkgver}/sysvinit-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz && " + f"wget https://www.linuxfromscratch.org/patches/lfs/development/sysvinit-{pkgver}-consolidated-1.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../sysvinit-3.14-consolidated-1.patch", + 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", + f"install -v -m644 {builddir}/COPYRIGHT {destdir}/usr/share/licenses/{pkgname}/COPYRIGHT", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/taglib.recipe.py b/taglib.recipe.py new file mode 100644 index 0000000..268e7e8 --- /dev/null +++ b/taglib.recipe.py @@ -0,0 +1,30 @@ +pkgname = "taglib" +pkgver = "2.1.1" +source = f"https://taglib.org/releases/taglib-{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", "utfcpp"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 BUILD_SHARED_LIBS=ON ..", + 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}/COPYING.LGPL {destdir}/usr/share/licenses/{pkgname}/COPYING.LGPL", + f"install -v -m644 {builddir}/COPYING.MPL {destdir}/usr/share/licenses/{pkgname}/COPYING.MPL", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/tar.recipe.py b/tar.recipe.py new file mode 100644 index 0000000..3bca628 --- /dev/null +++ b/tar.recipe.py @@ -0,0 +1,30 @@ +pkgname = "tar" +pkgver = "1.35" +source = f"https://ftpmirror.gnu.org/gnu/tar/tar-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && FORCE_UNSAFE_CONFIGURE=1 ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && make -C doc install-html docdir={destdir}/usr/share/doc/tar-{pkgver}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/tcl.recipe.py b/tcl.recipe.py new file mode 100644 index 0000000..c44eb70 --- /dev/null +++ b/tcl.recipe.py @@ -0,0 +1,41 @@ +# tcl.recipe.py +pkgname = "tcl" +pkgver = "8.6.17" +version = pkgver[:3] # :3 +source = f"https://rocketleaguechatp.duckdns.org/tcl{pkgver}-src.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" +tdbcver = "1.1.12" +itclver = "4.3.4" + +deps = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}{pkgver}-src.tar.gz", + + # build e patch + f"cd {builddir} && export SRCDIR=$(pwd) && cd unix && ./configure --prefix=/usr --mandir=/usr/share/man --disable-rpath", + f"cd {builddir}/unix && make -j$(nproc)", + f"cd {builddir}/unix && sed -e \"s|$SRCDIR/unix|/usr/lib|\" -e \"s|$SRCDIR|/usr/include|\" -i tclConfig.sh", + f"cd {builddir}/unix && sed -e \"s|$SRCDIR/unix/pkgs/tdbc{tdbcver}|/usr/lib/tdbc{tdbcver}|\" -e \"s|$SRCDIR/pkgs/tdbc{tdbcver}/generic|/usr/include|\" -e \"s|$SRCDIR/pkgs/tdbc{tdbcver}/library|/usr/lib/tcl{version}|\" -e \"s|$SRCDIR/pkgs/tdbc{tdbcver}|/usr/include|\" -i pkgs/tdbc{tdbcver}/tdbcConfig.sh", + f"cd {builddir}/unix && sed -e \"s|$SRCDIR/unix/pkgs/itcl{itclver}|/usr/lib/itcl{itclver}|\" -e \"s|$SRCDIR/pkgs/itcl{itclver}/generic|/usr/include|\" -e \"s|$SRCDIR/pkgs/itcl{itclver}|/usr/include|\" -i pkgs/itcl{itclver}/itclConfig.sh", + f"cd {builddir}/unix && make DESTDIR={destdir} install", + f"cd {builddir}/unix && chmod 644 {destdir}/usr/lib/libtclstub{version}.a", + f"cd {builddir}/unix && chmod -v u+w {destdir}/usr/lib/libtcl{version}.so", + f"cd {builddir}/unix && make DESTDIR={destdir} install-private-headers", + f"cd {builddir}/unix && ln -sfv tclsh{version} {destdir}/usr/bin/tclsh", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/license.terms {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/texinfo.recipe.py b/texinfo.recipe.py new file mode 100644 index 0000000..bfdff0d --- /dev/null +++ b/texinfo.recipe.py @@ -0,0 +1,31 @@ +pkgname = "texinfo" +pkgver = "7.2" +source = f"https://ftpmirror.gnu.org/gnu/texinfo/texinfo-{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", + + # 64-bit build + f"cd {builddir} && sed 's/! $output_file eq/$output_file ne/' -i tp/Texinfo/Convert/*.pm", + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make TEXMF=/usr/share/texmf DESTDIR={destdir} install-tex", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/tomlplusplus.recipe.py b/tomlplusplus.recipe.py new file mode 100644 index 0000000..de57ec6 --- /dev/null +++ b/tomlplusplus.recipe.py @@ -0,0 +1,29 @@ +pkgname = "tomlplusplus" +pkgver = "3.4.0" +source = f"https://github.com/marzer/tomlplusplus/archive/v{pkgver}/tomlplusplus-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] diff --git a/udev.recipe.py b/udev.recipe.py new file mode 100644 index 0000000..4c4607b --- /dev/null +++ b/udev.recipe.py @@ -0,0 +1,76 @@ +pkgname = "udev" +pkgver = "258.1" +lfs_udev_ver = "20230818" +source = f"https://github.com/systemd/systemd/archive/v{pkgver}/systemd-{pkgver}.tar.gz" # ok +builddir = f"/tmp/fempkg/build/{pkgname}/systemd-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +exports = f"export udev_helpers=$(grep \"'name' :\" ../src/udev/meson.build | awk '{{print $3}}' | tr -d \",'\" | grep -v 'udevadm')" + +deps = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/systemd-{pkgver}.tar.gz && wget https://anduin.linuxfromscratch.org/LFS/udev-lfs-{lfs_udev_ver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -e 's/GROUP=\"render\"/GROUP=\"video\"/' -e 's/GROUP=\"sgx\", //' -i rules.d/50-udev-default.rules.in", + f"cd {builddir} && sed -i '/systemd-sysctl/s/^/#/' rules.d/99-systemd.rules.in", + f"cd {builddir} && sed -e '/NETWORK_DIRS/s/systemd/udev/' -i src/libsystemd/sd-network/network-util.h", + + f"cd {builddir} && mkdir -pv build && cd build && meson setup .. --prefix=/usr --buildtype=release -D gcrypt=false -D mode=release -D " + f"dev-kvm-mode=0660 -D link-udev-shared=false -D logind=false -D pam=false -D seccomp=false -D vconsole=false", + + f"cd {builddir}/build && {exports} && ninja udevadm systemd-hwdb $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') " + f"$(realpath libudev.so --relative-to .) $udev_helpers", + + f"""cd {builddir}/build && {exports} && install -vm755 -d {destdir}{{/usr/lib,/etc}}/udev/{{hwdb.d,rules.d,network}} +install -vm755 -d {destdir}/usr/{{lib,share}}/pkgconfig +install -vm755 udevadm {destdir}/usr/bin/ +install -vm755 systemd-hwdb {destdir}/usr/bin/udev-hwdb +ln -svfn ../bin/udevadm {destdir}/usr/sbin/udevd +cp -av libudev.so{{,*[0-9]}} {destdir}/usr/lib/ +install -vm644 ../src/libudev/libudev.h {destdir}/usr/include/ +install -vm644 src/libudev/*.pc {destdir}/usr/lib/pkgconfig/ +install -vm644 src/udev/*.pc {destdir}/usr/share/pkgconfig/ +install -vm644 ../src/udev/udev.conf {destdir}/etc/udev/ +install -vm644 rules.d/* ../rules.d/README {destdir}/usr/lib/udev/rules.d/ +install -vm644 $(find ../rules.d/*.rules \\ + -not -name '*power-switch*') {destdir}/usr/lib/udev/rules.d/ +install -vm644 hwdb.d/* ../hwdb.d/{{*.hwdb,README}} {destdir}/usr/lib/udev/hwdb.d/ +install -vm755 $udev_helpers {destdir}/usr/lib/udev +install -vm644 ../network/99-default.link {destdir}/usr/lib/udev/network""", + + f"cd {builddir}/build && tar -xvf ../../udev-lfs-{lfs_udev_ver}.tar.xz", + f"cd {builddir}/build && {exports} && make -f udev-lfs-{lfs_udev_ver}/Makefile.lfs install", + f"cd {builddir}/build && rm -rf *", + + #32-bit build + f"cd {builddir}/build && PKG_CONFIG_PATH=\"/usr/lib32/pkgconfig\" CC=\"gcc -m32 -march=i686\" CXX=\"g++ -m32 -march=i686\" LANG=en_US.UTF-8 " + f"meson setup --prefix=/usr --buildtype=release -Dpam=false -Dseccomp=false -Dmode=release -Ddev-kvm-mode=0660 -Dgcrypt=false -Dlink-udev-shared=false -Dlogind=false -Dvconsole=false ..", + + f"cd {builddir}/build && ninja $(grep -o -E \"^build (src/libudev|src/udev)[^:]*\" build.ninja | awk '{{ print $2 }}') " + f"$(realpath libudev.so --relative-to .)", + + f"cd {builddir}/build && mkdir -pv {destdir}/usr/lib32/pkgconfig && cp -av libudev.so{{,*[0-9]}} {destdir}/usr/lib32/ && " + f"sed -e \"s;/usr/lib;&32;g\" src/libudev/libudev.pc > {destdir}/usr/lib32/pkgconfig/libudev.pc", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/LICENSE.GPL2 {destdir}/usr/share/licenses/{pkgname}/LICENSE.GPL2", + f"install -v -m644 {builddir}/LICENSE.LGPL2.1 {destdir}/usr/share/licenses/{pkgname}/LICENSE.LGPL2.1", + f"install -v -m644 {builddir}/LICENSES/Linux-syscall-note.txt {destdir}/usr/share/licenses/{pkgname}/Linux-syscall-note.txt", + f"install -v -m644 {builddir}/LICENSES/MIT.txt {destdir}/usr/share/licenses/{pkgname}/MIT.txt", + + # 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"cd /tmp && udev-hwdb update" +] diff --git a/udisks.recipe.py b/udisks.recipe.py new file mode 100644 index 0000000..48d7439 --- /dev/null +++ b/udisks.recipe.py @@ -0,0 +1,29 @@ +pkgname = "udisks" +pkgver = "2.11.0" +source = f"https://github.com/storaged-project/udisks/releases/download/udisks-{pkgver}/udisks-{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 = ["libatasmart", "libblockdev", "libgudev", "polkit", "elogind"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --enable-available-modules", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/umockdev.recipe.py b/umockdev.recipe.py new file mode 100644 index 0000000..1f35db7 --- /dev/null +++ b/umockdev.recipe.py @@ -0,0 +1,30 @@ +pkgname = "umockdev" +pkgver = "0.19.4" +source = f"https://github.com/martinpitt/umockdev/releases/download/{pkgver}/umockdev-{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 = ["libgudev", "vala", "libpcap"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/upower.recipe.py b/upower.recipe.py new file mode 100644 index 0000000..c797df6 --- /dev/null +++ b/upower.recipe.py @@ -0,0 +1,29 @@ +pkgname = "upower" +pkgver = "1.91.0" +source = f"https://gitlab.freedesktop.org/upower/upower/-/archive/v{pkgver}/upower-v{pkgver}.tar.bz2" +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 = ["libgudev", "libusb"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -Dgtk-doc=false -Dman=false -Dsystemdsystemunitdir=no -Dudevrulesdir=/usr/lib/udev/rules.d", + 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 {builddir} {fembuilddir}" +] diff --git a/utfcpp.recipe.py b/utfcpp.recipe.py new file mode 100644 index 0000000..f64af3f --- /dev/null +++ b/utfcpp.recipe.py @@ -0,0 +1,28 @@ +pkgname = "utfcpp" +pkgver = "4.0.8" +source = f"https://github.com/nemtrif/utfcpp/archive/v{pkgver}/utfcpp-{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"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 ..", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/util-linux.recipe.py b/util-linux.recipe.py new file mode 100644 index 0000000..95c0677 --- /dev/null +++ b/util-linux.recipe.py @@ -0,0 +1,47 @@ +pkgname = "util-linux" +pkgver = "2.41.2" +Pkgver = pkgver[:4] +source = f"https://www.kernel.org/pub/linux/utils/util-linux/v{Pkgver}/util-linux-{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" # PS read mlfs chapter 8, NOT 7 + +deps = [] + +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 {destdir}/var/lib/hwclock && ./configure --bindir=/usr/bin --libdir=/usr/lib --runstatedir=/run " + f"--sbindir=/usr/sbin --disable-chfn-chsh --disable-login --disable-nologin --disable-su --disable-setpriv --disable-runuser " + f"--disable-pylibmount --disable-liblastlog2 --disable-static --without-python --without-systemd --without-systemdsystemunitdir " + f"ADJTIME_PATH=/var/lib/hwclock/adjtime --docdir=/usr/share/doc/util-linux-{pkgver}", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # 32-bit build + f"cd {builddir} && make distclean", + f"cd {builddir} && mv /usr/bin/ncursesw6-config{{,.tmp}}", + f"cd {builddir} && CC=\"gcc -m32\" ./configure ADJTIME_PATH=/var/lib/hwclock/adjtime --host=i686-pc-linux-gnu --libdir=/usr/lib32 " + f"--runstatedir=/run --sbindir=/usr/sbin --docdir=/usr/share/doc/util-linux-{pkgver} --disable-chfn-chsh --disable-login " + f"--disable-nologin --disable-su --disable-setpriv --disable-runuser --disable-pylibmount --disable-liblastlog2 --disable-static --without-python " + f"--without-systemd --without-systemdsystemunitdir", + + f"cd {builddir} && mv /usr/bin/ncursesw6-config{{.tmp,}}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] diff --git a/util-macros.recipe.py b/util-macros.recipe.py new file mode 100644 index 0000000..531c378 --- /dev/null +++ b/util-macros.recipe.py @@ -0,0 +1,28 @@ +pkgname = "util-macros" +pkgver = "1.20.2" +source = f"https://www.x.org/pub/individual/util/util-macros-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure $XORG_CONFIG", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/v4l-utils.recipe.py b/v4l-utils.recipe.py new file mode 100644 index 0000000..dbb0550 --- /dev/null +++ b/v4l-utils.recipe.py @@ -0,0 +1,32 @@ +pkgname = "v4l-utils" +pkgver = "1.32.0" +source = f"https://www.linuxtv.org/downloads/v4l-utils/v4l-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 = ["alsa-lib", "glu", "libjpeg-turbo"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 gconv=disabled -D doxygen-doc=disabled", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && for prog in v4l2gl v4l2grab; do cp -v contrib/test/$prog {destdir}/usr/bin; done", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/COPYING", + f"install -v -m644 {builddir}/COPYING.libdvbv5 {destdir}/usr/share/licenses/{pkgname}/COPYING.libdvbv5", + f"install -v -m644 {builddir}/COPYING.libv4l {destdir}/usr/share/licenses/{pkgname}/COPYING.libv4l", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/vala.recipe.py b/vala.recipe.py new file mode 100644 index 0000000..04427d5 --- /dev/null +++ b/vala.recipe.py @@ -0,0 +1,29 @@ +pkgname = "vala" +pkgver = "0.56.18" +source = f"https://download.gnome.org/sources/vala/0.56/vala-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-valadoc", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/vim.recipe.py b/vim.recipe.py new file mode 100644 index 0000000..b4a6e26 --- /dev/null +++ b/vim.recipe.py @@ -0,0 +1,33 @@ +pkgname = "vim" +pkgver = "9.1.1914" +source = f"https://github.com/vim/vim/archive/v{pkgver}/vim-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && echo '#define SYS_VIMRC_FILE \"/etc/vimrc\"' >> src/feature.h", + 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/doc", + f"cd {builddir} && ln -sv ../vim/vim91/doc /usr/share/doc/vim-{pkgver}", + + 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 /sources/{pkgname}-{pkgver}" +] diff --git a/vulkan-headers.recipe.py b/vulkan-headers.recipe.py new file mode 100644 index 0000000..b2d6b09 --- /dev/null +++ b/vulkan-headers.recipe.py @@ -0,0 +1,31 @@ +pkgname = "vulkan-headers" +pkgver = "1.4.335.0" +source = f"https://github.com/KhronosGroup/Vulkan-Headers/archive/vulkan-sdk-{pkgver}/Vulkan-Headers-vulkan-sdk-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/Vulkan-Headers-vulkan-sdk-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/Vulkan-Headers-vulkan-sdk-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -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}/LICENSES/Apache-2.0.txt {destdir}/usr/share/licenses/{pkgname}/Apache-2.0.txt", + f"install -v -m644 {builddir}/LICENSES/MIT.txt {destdir}/usr/share/licenses/{pkgname}/MIT.txt", + 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 {builddir} {fembuilddir}" +] diff --git a/vulkan-loader.recipe.py b/vulkan-loader.recipe.py new file mode 100644 index 0000000..e509801 --- /dev/null +++ b/vulkan-loader.recipe.py @@ -0,0 +1,31 @@ +pkgname = "vulkan-loader" +pkgver = "1.4.335.0" +source = f"https://github.com/KhronosGroup/Vulkan-Loader/archive/vulkan-sdk-{pkgver}/Vulkan-Loader-vulkan-sdk-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/Vulkan-Loader-vulkan-sdk-{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", "vulkan-headers", "xorg-libs", "wayland"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/Vulkan-Loader-vulkan-sdk-{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 " + f"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 {builddir} {fembuilddir}" +] diff --git a/wayland-protocols.recipe.py b/wayland-protocols.recipe.py new file mode 100644 index 0000000..0bc8e9a --- /dev/null +++ b/wayland-protocols.recipe.py @@ -0,0 +1,29 @@ +pkgname = "wayland-protocols" +pkgver = "1.46" +source = f"https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/{pkgver}/downloads/wayland-protocols-{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 = ["wayland"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/wayland.recipe.py b/wayland.recipe.py new file mode 100644 index 0000000..e08c0ec --- /dev/null +++ b/wayland.recipe.py @@ -0,0 +1,30 @@ +pkgname = "wayland" +pkgver = "1.24.0" +source = f"https://gitlab.freedesktop.org/wayland/wayland/-/releases/{pkgver}/downloads/wayland-{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 = ["libxml2"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 documentation=false", + 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 {builddir} {fembuilddir}" +] diff --git a/webrtc-audio-processing.recipe.py b/webrtc-audio-processing.recipe.py new file mode 100644 index 0000000..b7ae455 --- /dev/null +++ b/webrtc-audio-processing.recipe.py @@ -0,0 +1,30 @@ +pkgname = "webrtc-audio-processing" +pkgver = "2.1" +source = f"https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/archive/master/webrtc-audio-processing-master.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-master" +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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-master.tar.gz", + + # 64-bit build + f"cd {builddir} && meson subprojects download abseil-cpp && mkdir build && cd build && meson setup .. --prefix=/usr -Dwrap_mode=forcefallback", + 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 {builddir} {fembuilddir}" +] diff --git a/wget.recipe.py b/wget.recipe.py new file mode 100644 index 0000000..95b36b7 --- /dev/null +++ b/wget.recipe.py @@ -0,0 +1,29 @@ +pkgname = "wget" +pkgver = "1.25.0" +source = f"https://ftpmirror.gnu.org/gnu/wget/wget-{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 = ["libpsl"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --with-ssl=openssl", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/which.recipe.py b/which.recipe.py new file mode 100644 index 0000000..0cd895c --- /dev/null +++ b/which.recipe.py @@ -0,0 +1,29 @@ +pkgname = "which" +pkgver = "2.23" +source = f"https://ftpmirror.gnu.org/gnu/which/which-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/wireplumber.recipe.py b/wireplumber.recipe.py new file mode 100644 index 0000000..689f44c --- /dev/null +++ b/wireplumber.recipe.py @@ -0,0 +1,30 @@ +pkgname = "wireplumber" +pkgver = "0.5.12" +source = f"https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/{pkgver}/wireplumber-{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 = ["pipewire", "elogind", "glib", "lua"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2", + + # 64-bit build + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D system-lua=true ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/wireplumber{{,-{pkgver}}} && " + f"rm -vf {destdir}/etc/xdg/autostart/pulseaudio.desktop && rm -vf {destdir}/etc/xdg/Xwayland-session.d/00-pulseaudio-x11", + + 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 {builddir} {fembuilddir}" +] diff --git a/wpa_supplicant.recipe.py b/wpa_supplicant.recipe.py new file mode 100644 index 0000000..67ef3ef --- /dev/null +++ b/wpa_supplicant.recipe.py @@ -0,0 +1,35 @@ +pkgname = "wpa_supplicant" +pkgver = "2.11" +source = f"https://w1.fi/releases/wpa_supplicant-{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 = ["libnl"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir}/wpa_supplicant && wget https://rocketleaguechatp.duckdns.org/wpa_supplicant_config -O .config", + f"cd {builddir}/wpa_supplicant && make BINDIR=/usr/sbin LIBDIR=/usr/lib -j$(nproc)", + f"cd {builddir}/wpa_supplicant && mkdir -p {destdir}/usr/sbin {destdir}/usr/share/man/man{{5,8}} {destdir}/usr/share/dbus-1/system-services && " + f"install -v -m755 wpa_{{cli,passphrase,supplicant}} " + f"/usr/sbin/ && install -v -m644 doc/docbook/wpa_supplicant.conf.5 {destdir}/usr/share/man/man5/ && " + f"install -v -m644 doc/docbook/wpa_{{cli,passphrase,supplicant}}.8 {destdir}/usr/share/man/man8/ && " + f"install -v -m644 dbus/fi.w1.wpa_supplicant1.service {destdir}/usr/share/dbus-1/system-services/ && " + f"install -v -d -m755 {destdir}/etc/dbus-1/system.d && install -v -m644 dbus/dbus-wpa_supplicant.conf {destdir}/etc/dbus-1/system.d/wpa_supplicant.conf", + + 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 {builddir} {fembuilddir}" +] diff --git a/x264.recipe.py b/x264.recipe.py new file mode 100644 index 0000000..234b3fc --- /dev/null +++ b/x264.recipe.py @@ -0,0 +1,29 @@ +pkgname = "x264" +pkgver = "20250815" +source = f"https://anduin.linuxfromscratch.org/BLFS/x264/x264-{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 = ["nasm"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --enable-shared --disable-cli", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/x265.recipe.py b/x265.recipe.py new file mode 100644 index 0000000..0e7bbc3 --- /dev/null +++ b/x265.recipe.py @@ -0,0 +1,29 @@ +pkgname = "x265" +pkgver = "4.1" +source = f"https://bitbucket.org/multicoreware/x265_git/downloads/x265_{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 = ["nasm", "cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}_{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -r '/cmake_policy.*(0025|0054)/d' -i source/CMakeLists.txt && mkdir bld && cd bld && cmake -D CMAKE_INSTALL_PREFIX=/usr -D GIT_ARCHETYPE=1 -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -W no-dev ../source", + f"cd {builddir}/bld && make -j$(nproc)", + f"cd {builddir}/bld && make DESTDIR={destdir} install && rm -vf {destdir}/usr/lib/libx265.a", + + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xbitmaps.recipe.py b/xbitmaps.recipe.py new file mode 100644 index 0000000..6d42866 --- /dev/null +++ b/xbitmaps.recipe.py @@ -0,0 +1,28 @@ +pkgname = "xbitmaps" +pkgver = "1.1.3" +source = f"https://www.x.org/pub/individual/data/xbitmaps-{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 = ["util-macros"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure $XORG_CONFIG", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xcb-proto.recipe.py b/xcb-proto.recipe.py new file mode 100644 index 0000000..833dea1 --- /dev/null +++ b/xcb-proto.recipe.py @@ -0,0 +1,28 @@ +pkgname = "xcb-proto" +pkgver = "1.17.0" +source = f"https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && PYTHON=python3 ./configure $XORG_CONFIG", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xcb-util-errors.recipe.py b/xcb-util-errors.recipe.py new file mode 100644 index 0000000..cf3724f --- /dev/null +++ b/xcb-util-errors.recipe.py @@ -0,0 +1,29 @@ +pkgname = "xcb-util-errors" +pkgver = "1.0.1" +source = f"https://xcb.freedesktop.org/dist/xcb-util-errors-{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 = ["libxcb", "xcb-util"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure $XORG_CONFIG ", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xcb-util.recipe.py b/xcb-util.recipe.py new file mode 100644 index 0000000..b4b7890 --- /dev/null +++ b/xcb-util.recipe.py @@ -0,0 +1,29 @@ +pkgname = "xcb-util" +pkgver = "0.4.1" +source = f"https://xcb.freedesktop.org/dist/xcb-util-{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 = ["libxcb"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xcb-utils.recipe.py b/xcb-utils.recipe.py new file mode 100644 index 0000000..e094891 --- /dev/null +++ b/xcb-utils.recipe.py @@ -0,0 +1,50 @@ +pkgname = "xcb-utils" +pkgver = "1.0.0" +source = f"https://xorg.freedesktop.org/archive/individual/lib/xcb-util-wm-0.4.2.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/xcb-util-wm-0.4.2" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["libxcb"] + +build = [ + # Extract + f"mkdir -p /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir}", + + # 64-bit build + f"cd {fembuilddir} && wget https://rocketleaguechatp.duckdns.org/xcb-utils.md5", + f"cd {fembuilddir} && mkdir xcb-utils && cd xcb-utils && grep -v '^#' ../xcb-utils.md5 | awk '{{print $2}}' | wget -i- -c -B https://xorg.freedesktop.org/archive/individual/lib/", + + f"""cd {fembuilddir}/xcb-utils && bash -e <<'EOF' +for package in $(grep -v '^#' ../xcb-utils.md5 | awk '{{print $2}}'); do + dir=${{package%.tar.*}} + pkg="${{packagedir%%-*}}" + echo ">>> Building $dir" + + tar -xf "$package" + cd "$dir" + + ./configure --prefix=/usr --sysconfdir=/etc --disable-static + make -j$(nproc) + make DESTDIR={destdir} install + + install -v -d -m755 {destdir}/usr/share/licenses/"$pkg"/ + install -v -m644 COPYING {destdir}/usr/share/licenses/$pkg/LICENSE + + cd .. + rm -rf "$dir" +done +EOF""", + + # 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"cd /tmp && ldconfig" +] diff --git a/xcursor-themes.recipe.py b/xcursor-themes.recipe.py new file mode 100644 index 0000000..0a83fc3 --- /dev/null +++ b/xcursor-themes.recipe.py @@ -0,0 +1,28 @@ +pkgname = "xcursor-themes" +pkgver = "1.0.7" +source = f"https://www.x.org/pub/individual/data/xcursor-themes-{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 = ["xorg-apps"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xdg-dbus-proxy.recipe.py b/xdg-dbus-proxy.recipe.py new file mode 100644 index 0000000..e90b368 --- /dev/null +++ b/xdg-dbus-proxy.recipe.py @@ -0,0 +1,29 @@ +pkgname = "xdg-dbus-proxy" +pkgver = "0.1.6" +source = f"https://github.com/flatpak/xdg-dbus-proxy/releases/download/{pkgver}/xdg-dbus-proxy-{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 /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/xdg-desktop-portal-gtk.recipe.py b/xdg-desktop-portal-gtk.recipe.py new file mode 100644 index 0000000..ca5fb02 --- /dev/null +++ b/xdg-desktop-portal-gtk.recipe.py @@ -0,0 +1,30 @@ +pkgname = "xdg-desktop-portal-gtk" +pkgver = "1.15.3" +source = f"https://github.com/flatpak/xdg-desktop-portal-gtk/releases/download/{pkgver}/xdg-desktop-portal-gtk-{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 = ["gnome-desktop", "xdg-desktop-portal"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 && rm -rvf {destdir}/usr/lib/systemd", + + 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 {builddir} {fembuilddir}" +] diff --git a/xdg-desktop-portal-hyprland.recipe.py b/xdg-desktop-portal-hyprland.recipe.py new file mode 100644 index 0000000..39433d8 --- /dev/null +++ b/xdg-desktop-portal-hyprland.recipe.py @@ -0,0 +1,30 @@ +pkgname = "xdg-desktop-portal-hyprland" +pkgver = "1.3.11" +source = f"https://github.com/hyprwm/xdg-desktop-portal-hyprland/archive/v{pkgver}/xdg-desktop-portal-hyprland-{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", "hyprland-libs", "hyprland", "xdg-desktop-portal", "wayland-protocols", "wayland", "pipewire", "qt6", "libglvnd", "libdrm", "inih", "sdbus-cpp"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && rm -rf subprojects && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr " + f"-D SYSTEMD_SERVICES=OFF -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}/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 {builddir} {fembuilddir}" +] diff --git a/xdg-desktop-portal.recipe.py b/xdg-desktop-portal.recipe.py new file mode 100644 index 0000000..f514ca6 --- /dev/null +++ b/xdg-desktop-portal.recipe.py @@ -0,0 +1,29 @@ +pkgname = "xdg-desktop-portal" +pkgver = "1.20.3" +source = f"https://github.com/flatpak/xdg-desktop-portal/releases/download/{pkgver}/xdg-desktop-portal-{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 = ["fuse", "gdkpixbuf", "json-glib", "pipewire", "dbus", "bubblewrap"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 tests=disabled .. .", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && rm -rvf {destdir}/usr/lib/systemd", + + 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 {builddir} {fembuilddir}" +] diff --git a/xdg-utils.recipe.py b/xdg-utils.recipe.py new file mode 100644 index 0000000..c042fd0 --- /dev/null +++ b/xdg-utils.recipe.py @@ -0,0 +1,29 @@ +pkgname = "xdg-utils" +pkgver = "1.2.1" +source = f"https://gitlab.freedesktop.org/xdg/xdg-utils/-/archive/v{pkgver}/xdg-utils-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 = ["xmlto"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + + # 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}/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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xkeyboard-config.recipe.py b/xkeyboard-config.recipe.py new file mode 100644 index 0000000..eeceed5 --- /dev/null +++ b/xkeyboard-config.recipe.py @@ -0,0 +1,30 @@ +pkgname = "xkeyboard-config" +pkgver = "2.46" +source = f"https://www.x.org/pub/individual/data/xkeyboard-config/xkeyboard-config-{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 = ["xorg-libs"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && 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 {builddir} {fembuilddir}" +] diff --git a/xmlparser.recipe.py b/xmlparser.recipe.py new file mode 100644 index 0000000..935d01d --- /dev/null +++ b/xmlparser.recipe.py @@ -0,0 +1,28 @@ +pkgname = "xmlparser" +pkgver = "2.47" # which is funny because until i've had my coffee i dont give eeffoc # oh, ig i just copy pasted layout with this? lmao? +source = f"https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-{pkgver}.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/XML-Parser-{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 /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/XML-Parser-{pkgver}.tar.gz", + f"cd {builddir} && perl Makefile.PL", + 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}/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}" +] diff --git a/xmlto.recipe.py b/xmlto.recipe.py new file mode 100644 index 0000000..52d0987 --- /dev/null +++ b/xmlto.recipe.py @@ -0,0 +1,29 @@ +pkgname = "xmlto" +pkgver = "0.0.29" +source = f"https://rocketleaguechatp.duckdns.org/xmlto-{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 = ["links"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && autoreconf -fiv && LINKS=\"/usr/bin/links\" ./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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xorg-apps.recipe.py b/xorg-apps.recipe.py new file mode 100644 index 0000000..c941e42 --- /dev/null +++ b/xorg-apps.recipe.py @@ -0,0 +1,42 @@ +pkgname = "xorg-apps" +pkgver = "1.0" +source = f"https://www.x.org/archive/individual/app/appres-1.0.0.tar.bz2" +builddir = f"/tmp/fempkg/build/{pkgname}/appres-1.0.0" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["libpng", "mesa", "xbitmaps", "xcb-util"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/appres-1.0.0.tar.bz2", + + # 64-bit build + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/app-7.md5", + f"cd {builddir} && mkdir app && cd app", + f"cd {builddir}/app && grep -v '^#' ../app-7.md5 | awk '{{print $2}}' | wget -i- -c -B https://www.x.org/pub/individual/app/", + f"""cd {builddir}/app && +for package in $(grep -v '^#' ../app-7.md5 | awk '{{print $2}}') +do + packagedir=${{package%.tar.?z*}} + pkg="${{packagedir%%-*}}" + tar -xf $package + pushd $packagedir + ./configure $XORG_CONFIG + make + make DESTDIR={destdir} install + install -v -d -m755 {destdir}/usr/share/licenses/$pkg/ + install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/$pkg/LICENSE + popd + rm -rf $packagedir +done""", + f"cd {builddir}/app && rm -f {destdir}$XORG_PREFIX/bin/xkeystone", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xorg-fonts.recipe.py b/xorg-fonts.recipe.py new file mode 100644 index 0000000..27e9150 --- /dev/null +++ b/xorg-fonts.recipe.py @@ -0,0 +1,68 @@ +pkgname = "xorg-fonts" +pkgver = "1.0" +source = f"https://www.x.org/archive//individual/font/encodings-1.0.0.tar.bz2" +builddir = f"/tmp/fempkg/build/{pkgname}/encodings-1.0.0" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["xcursor-themes"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/encodings-1.0.0.tar.bz2", + + # 64-bit build + f"""cd {builddir} && cat > font-7.md5 << "EOF" +a6541d12ceba004c0c1e3df900324642 font-util-1.4.1.tar.xz +a56b1a7f2c14173f71f010225fa131f1 encodings-1.1.0.tar.xz +79f4c023e27d1db1dfd90d041ce89835 font-alias-1.0.5.tar.xz +546d17feab30d4e3abcf332b454f58ed font-adobe-utopia-type1-1.0.5.tar.xz +063bfa1456c8a68208bf96a33f472bb1 font-bh-ttf-1.0.4.tar.xz +51a17c981275439b85e15430a3d711ee font-bh-type1-1.0.4.tar.xz +00f64a84b6c9886040241e081347a853 font-ibm-type1-1.0.4.tar.xz +fe972eaf13176fa9aa7e74a12ecc801a font-misc-ethiopic-1.0.5.tar.xz +3b47fed2c032af3a32aad9acc1d25150 font-xfree86-type1-1.0.5.tar.xz +EOF""", + f"cd {builddir} && mkdir font && cd font && grep -v '^#' ../font-7.md5 | awk '{{print $2}}' | wget -i- -c -B https://www.x.org/pub/individual/font/", + f"""cd {builddir}/font && as_root() +{{ + if [ $EUID = 0 ]; then $* + elif [ -x /usr/bin/sudo ]; then sudo $* + else su -c \\\\"$*\\\\" + fi +}} + +# Build step for fonts +export -f as_root && for package in $(grep -v '^#' ../font-7.md5 | awk '{{print $2}}') +do + packagedir=${{package%.tar.?z*}} + tar -xf $package + pushd $packagedir + + # Copy license files to a standard location inside DESTDIR + for licensefile in COPYING COPYRIGHT*; do + if [ -f $licensefile ]; then + as_root install -Dm644 $licensefile {destdir}/usr/share/doc/$packagedir/$licensefile + fi + done + + # Build & install with DESTDIR + ./configure $XORG_CONFIG + make + as_root make DESTDIR={destdir} install + popd + as_root rm -rf $packagedir +done""", + + f"cd {builddir}/font && install -v -d -m755 {destdir}/usr/share/fonts", + f"cd {builddir}/font && ln -svfn $XORG_PREFIX/share/fonts/X11/OTF {destdir}/usr/share/fonts/X11-OTF", + f"cd {builddir}/font && ln -svfn $XORG_PREFIX/share/fonts/X11/TTF {destdir}/usr/share/fonts/X11-TTF", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + +# Cleanup + f"rm -rf {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xorg-input-driver.recipe.py b/xorg-input-driver.recipe.py new file mode 100644 index 0000000..d507f39 --- /dev/null +++ b/xorg-input-driver.recipe.py @@ -0,0 +1,30 @@ +#so was this # what +pkgname = "xorg-input-driver" +pkgver = "1.5.0" +source = f"https://www.x.org/pub/individual/driver/xf86-input-libinput-{pkgver}.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}/xf86-input-libinput-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["libinput", "xorg-server"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/xf86-input-libinput-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure $XORG_CONFIG && make", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/xorg-libs.recipe.py b/xorg-libs.recipe.py new file mode 100644 index 0000000..f06c89c --- /dev/null +++ b/xorg-libs.recipe.py @@ -0,0 +1,62 @@ +pkgname = "xorg-libs" +pkgver = "7.0" # meta version +source = "https://www.x.org/pub/individual/lib/libX11-1.8.12.tar.xz" +builddir = f"/tmp/fempkg/build/{pkgname}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["fontconfig", "libxcb"] + +build = [ + # Prepare dirs + f"mkdir -p {fembuilddir} && cd {fembuilddir}", + + # Get the tarball list and download each tarball + f"cd {fembuilddir} && wget https://rocketleaguechatp.duckdns.org/lib-7.md5", + f"cd {fembuilddir} && grep -v '^#' lib-7.md5 | awk '{{print $2}}' | wget -i- -c -B https://www.x.org/pub/individual/lib/", + + # Build all + f"""cd {fembuilddir} && for package in $(grep -v '^#' lib-7.md5 | awk '{{print $2}}'); do + dir=${{package%.tar.*}} + echo ">>> Building $dir" + tar -xf $package + cd $dir + export XORG_PREFIX="/usr" + export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static" + docdir="--docdir=$XORG_PREFIX/share/doc/$dir" + + case $dir in + libXfont2-*) ./configure $XORG_CONFIG $docdir --disable-devel-docs ;; + libXt-*) ./configure $XORG_CONFIG $docdir --with-appdefaultdir=/etc/X11/app-defaults ;; + libXpm-*) ./configure $XORG_CONFIG $docdir --disable-open-zfile ;; + libpciaccess-*) mkdir build && cd build && meson setup --prefix=$XORG_PREFIX --buildtype=release .. && ninja && DESTDIR={destdir} ninja install && cd .. && cd .. && rm -rf $dir && continue ;; + *) ./configure $XORG_CONFIG $docdir ;; + esac + + make -j$(nproc) + make DESTDIR={destdir} install + + # licenses... lice- just one mor- + licdir="{destdir}/usr/share/licenses/$dir" + mkdir -p "$licdir" + for f in COPYING COPYRIGHT LICENSE LICENSE* COPYING*; do + [ -f "$f" ] && cp "$f" "$licdir/" && echo " -> Copied $f" + done + + cd .. + rm -rf $dir + ldconfig + done""", + + # 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"cd /tmp && ldconfig" +] diff --git a/xorg-server.recipe.py b/xorg-server.recipe.py new file mode 100644 index 0000000..44c3687 --- /dev/null +++ b/xorg-server.recipe.py @@ -0,0 +1,67 @@ +# ye uh this recipe was ai generated tho wtv i was lazy, eh # WHAT the genuine fuck is this. +pkgname = "xorg-server" +pkgver = "21.1.21" # BLFS one +pkgdesc = "The core of the X Window system" +url = "https://www.x.org" +source = f"https://www.x.org/pub/individual/xserver/{pkgname}-{pkgver}.tar.xz" +md5 = "43225ddc1fd8d7ae7671c25ab6d1f927" +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" + +# Required + Recommended dependencies only +deps = [ + "libxcvt", # required + "pixman", # required + "xorg-fonts", # required + "xkeyboard-config", # runtime, required + + # recommended: + "dbus", + "elogind", + "libepoxy", + "libtirpc", + #"xorg-input-driver" +] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # Build + f"""cd {builddir} && mkdir build && cd build && \\ + meson setup .. \\ + --prefix=/usr \\ + --localstatedir=/var \\ + -D glamor=true \\ + -D systemd_logind=true \\ + -D xkb_output_dir=/var/lib/xkb && \\ + ninja""", + + # Install + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + # Post-install: dirs required by Xorg + f"mkdir -pv {destdir}/etc/X11/xorg.conf.d", + + 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 {builddir} {fembuilddir}" +] + +triggers = [ + f"""grep -Fxq "/tmp/.X11-unix dir 1777 root root" /etc/sysconfig/createfiles && grep -Fxq "/tmp/.ICE-unix dir 1777 root root" /etc/sysconfig/createfiles && +echo "createfiles already contains xorg configs" || \\ +cat >> /etc/sysconfig/createfiles << "EOF" +/tmp/.ICE-unix dir 1777 root root +/tmp/.X11-unix dir 1777 root root +EOF""" +] \ No newline at end of file diff --git a/xorgproto.recipe.py b/xorgproto.recipe.py new file mode 100644 index 0000000..1a4491c --- /dev/null +++ b/xorgproto.recipe.py @@ -0,0 +1,30 @@ +pkgname = "xorgproto" +pkgver = "2024.1" +source = f"https://xorg.freedesktop.org/archive/individual/proto/xorgproto-{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 = ["util-macros"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && export XORG_PREFIX=/usr && mkdir build && cd build && meson setup --prefix=$XORG_PREFIX ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + f"cd {builddir}/build && mv -v {destdir}$XORG_PREFIX/share/doc/xorgproto{{,-{pkgver}}}", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"cp -pv {builddir}/COPYING* {destdir}/usr/share/licenses/{pkgname}/", # cro. im not gonna say 1 word. just the amount. + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {builddir} {fembuilddir}" +] diff --git a/xwayland.recipe.py b/xwayland.recipe.py new file mode 100644 index 0000000..942e95d --- /dev/null +++ b/xwayland.recipe.py @@ -0,0 +1,37 @@ +pkgname = "xwayland" +pkgver = "24.1.9" +source = f"https://www.x.org/pub/individual/xserver/xwayland-{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 = ["libxcvt", "pixman", "wayland-protocols", "xorg-apps", "xorg-fonts", "libepoxy", "libtirpc", "mesa"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && sed -i '/install_man/,$d' meson.build && mkdir build && cd build && meson setup .. --prefix=$XORG_PREFIX --buildtype=release -D xkb_output_dir=/var/lib/xkb", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install && mkdir -p {destdir}/usr/bin && install -vm755 hw/vfb/Xvfb {destdir}/usr/bin", + + 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 {builddir} {fembuilddir}" +] + +triggers = [ + f"""grep -Fxq "/tmp/.X11-unix dir 1777 root root" /etc/sysconfig/createfiles && +echo "createfiles already contains xwayland configs" || \\ +cat >> /etc/sysconfig/createfiles << "EOF" +/tmp/.X11-unix dir 1777 root root +EOF""" +] \ No newline at end of file diff --git a/xz.recipe.py b/xz.recipe.py new file mode 100644 index 0000000..b0d555d --- /dev/null +++ b/xz.recipe.py @@ -0,0 +1,40 @@ +# xz.recipe.py +pkgname = "xz" +pkgver = "5.8.1" +source = f"https://github.com//tukaani-project/xz/releases/download/v{pkgver}/xz-{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", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr --disable-static --docdir=/usr/share/doc/xz-{pkgver}", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + # Clean for 32-bit + f"cd {builddir} && make distclean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && CC=\"gcc -m32\" ./configure --host=i686-pc-linux-gnu --prefix=/usr --libdir=/usr/lib32 --disable-static", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + 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}" +] diff --git a/yaml-cpp.recipe.py b/yaml-cpp.recipe.py new file mode 100644 index 0000000..a14962a --- /dev/null +++ b/yaml-cpp.recipe.py @@ -0,0 +1,29 @@ +pkgname = "yaml-cpp" +pkgver = "0.8.0" +source = f"https://github.com/jbeder/yaml-cpp/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 = ["cmake"] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i '12i #include ' src/emitterutils.cpp && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -DYAML_BUILD_SHARED_LIBS=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..", + 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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/yasm.recipe.py b/yasm.recipe.py new file mode 100644 index 0000000..879015f --- /dev/null +++ b/yasm.recipe.py @@ -0,0 +1,29 @@ +pkgname = "yasm" +pkgver = "1.3.0" +source = f"https://www.tortall.net/projects/yasm/releases/yasm-{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 = [] + +build = [ + # Extract + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -e 's/def __cplusplus/ defined(__cplusplus) || __STDC_VERSION__ >= 202311L/' -i libyasm/bitvect.h && sed -i 's#) ytasm.*#)#' Makefile.in && ./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 {builddir} {fembuilddir}" +] \ No newline at end of file diff --git a/zlib.recipe.py b/zlib.recipe.py new file mode 100644 index 0000000..c58a09a --- /dev/null +++ b/zlib.recipe.py @@ -0,0 +1,43 @@ +# zlib.recipe.py +pkgname = "zlib" +pkgver = "1.3.1" +source = f"https://zlib.net/fossils/zlib-{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 = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + f"rm -fv {destdir}/usr/lib/libz.a", + + # Clean for 32-bit + f"cd {builddir} && make distclean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && " + "CFLAGS='-m32' CXXFLAGS='-m32' " + "./configure --prefix=/usr --libdir=/usr/lib32", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv $PWD/tmpdestdir/usr/lib32/* {destdir}/usr/lib32/", + + 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}" +] diff --git a/zstd.recipe.py b/zstd.recipe.py new file mode 100644 index 0000000..a95f63c --- /dev/null +++ b/zstd.recipe.py @@ -0,0 +1,41 @@ +# zstd.recipe.py +pkgname = "zstd" +pkgver = "1.5.7" +source = f"https://github.com/facebook/zstd/releases/download/v{pkgver}/zstd-{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 = [] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && make prefix=/usr -j$(nproc)", + f"cd {builddir} && make prefix=/usr DESTDIR={destdir} install", + f"cd {builddir} && rm -v {destdir}/usr/lib/libzstd.a", + + # Clean for 32-bit + f"cd {builddir} && make clean", + f"cd {builddir} && rm -f config.log", + + # 32-bit build + f"cd {builddir} && CC=\"gcc -m32\" make prefix=/usr", + f"cd {builddir} && make prefix=/usr DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -Rv {builddir}/tmpdestdir/usr/lib/* {destdir}/usr/lib32/", + f"cd {builddir} && sed -e \"/^libdir/s/lib$/lib32/\" -i {destdir}/usr/lib32/pkgconfig/libzstd.pc", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE.GPLv2", + f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE.BSD", + + # 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}" +]