diff --git a/IO-Socket-SSL.recipe.py b/IO-Socket-SSL.recipe.py new file mode 100644 index 0000000..d57275a --- /dev/null +++ b/IO-Socket-SSL.recipe.py @@ -0,0 +1,28 @@ +pkgname = "IO-Socket-SSL" +pkgver = "2.098" +source = f"https://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-{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 = ["Net-SSLeay", "URI"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", + + # 64-bit build + f"cd {builddir} && yes | perl Makefile.PL", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make test", + f"cd {builddir} && make DESTDIR={destdir} install", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{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/Net-SSLeay.recipe.py b/Net-SSLeay.recipe.py new file mode 100644 index 0000000..0e2cc06 --- /dev/null +++ b/Net-SSLeay.recipe.py @@ -0,0 +1,29 @@ +pkgname = "Net-SSLeay" +pkgver = "1.96" +source = f"https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-{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 && wget " + f"https://www.linuxfromscratch.org/patches/blfs/svn/Net-SSLeay-{pkgver}-openssl4_fixes-2.patch", + + # 64-bit build + f"cd {builddir} && patch -Np1 -i ../Net-SSLeay-1.96-openssl4_fixes-2.patch && yes '' | perl Makefile.PL", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make test", + f"cd {builddir} && make DESTDIR={destdir} install", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{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/alsa-lib.recipe.py b/alsa-lib.recipe.py index 059cda1..c2ef232 100755 --- a/alsa-lib.recipe.py +++ b/alsa-lib.recipe.py @@ -22,7 +22,7 @@ build = [ 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 {outputdir} && cd {destdir} && tar --transform 's|^\\./|/|' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", # turns out issue for fontconfig was just this, tho ig ill leave fontconfig as is f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", # Cleanup diff --git a/cava.recipe.py b/cava.recipe.py index 8ba077b..16adbf8 100755 --- a/cava.recipe.py +++ b/cava.recipe.py @@ -14,7 +14,7 @@ build = [ 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} && ./configure --prefix=/usr --disable-input-portaudio", f"cd {builddir} && make -j$(nproc)", f"cd {builddir} && make DESTDIR={destdir} install", diff --git a/dynamic-cursors.recipe.py b/dynamic-cursors.recipe.py deleted file mode 100755 index c7e2092..0000000 --- a/dynamic-cursors.recipe.py +++ /dev/null @@ -1,30 +0,0 @@ -pkgname = "dynamic-cursors" -pkgver = "0.55.2" -source = f"https://github.com/VirtCode/hypr-dynamic-cursors.git" -source_type = "git" -builddir = f"/tmp/fempkgbuild/hypr-dynamic-cursors" -fembuilddir = builddir -outputdir = "/home/gabry/lfs-repo/binpkg" -manifestdir = "/home/gabry/lfs-repo/manifests" -destdir = f"{fembuilddir}/DESTDIR" - -deps = ["hyprland"] - -build = [ - - # 64-bit build - f"cd {builddir} && git checkout da447486c84e0be81f2cdd208af1ef92469f0a88", - f"su gabry -c 'XDG_RUNTIME_DIR=/run/user/$EUID hyprpm update || true'", - f"cd {builddir} && make -j$(nproc)", - f"cd {builddir} && install -v -d -m755 {destdir}/usr/share/hypr/plugins && install -v -m775 out/dynamic-cursors.so {destdir}/usr/share/hypr/plugins/", - - f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", - f"install -v -m644 {builddir}/LICENSE.md {destdir}/usr/share/licenses/{pkgname}/LICENSE", - - # Make tarball + manifests - f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", - f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", - - # Cleanup - f"rm -rf {fembuilddir}" -] diff --git a/index.txt b/index.txt index 89d0614..6d72de0 100755 --- a/index.txt +++ b/index.txt @@ -68,7 +68,6 @@ doxygen.recipe.py dracut.recipe.py duktape.recipe.py dvd+rw-tools.recipe.py -dynamic-cursors.recipe.py e2fsprogs.recipe.py efibootmgr.recipe.py efivar.recipe.py @@ -177,6 +176,7 @@ intel-mediasdk.recipe.py intel-onevpl.recipe.py intelvaapi.recipe.py intltool.recipe.py +IO-Socket-SSL.recipe.py iproute2.recipe.py iptables.recipe.py isl.recipe.py @@ -209,6 +209,7 @@ libarchive.recipe.py libass.recipe.py libassuan.recipe.py libatasmart.recipe.py +libavif.recipe.py libayatana-appindicator.recipe.py libayatana-indicator.recipe.py libblockdev.recipe.py @@ -233,6 +234,7 @@ libei.recipe.py libelf.recipe.py libepoxy.recipe.py libevdev.recipe.py +libevent.recipe.py libexif.recipe.py libffi.recipe.py libfyaml.recipe.py @@ -313,6 +315,7 @@ llvm.recipe.py lmdb.recipe.py lm-sensors.recipe.py localsearch.recipe.py +logrotate.recipe.py luajit.recipe.py lua.recipe.py LVM2.recipe.py @@ -335,6 +338,7 @@ nasm.recipe.py nautilus.recipe.py ncurses.recipe.py neon.recipe.py +Net-SSLeay.recipe.py nettle.recipe.py NetworkManager.recipe.py newt.recipe.py @@ -343,10 +347,12 @@ ninja.recipe.py nlohmann-json.recipe.py nodejs.recipe.py noto-fonts.recipe.py +noto-sans-mono.recipe.py npth.recipe.py NSPR.recipe.py nss_mdns.recipe.py NSS.recipe.py +ntp.recipe.py nvidia-egl-libraries.recipe.py nvidia.recipe.py nvidia-vaapi-driver.recipe.py diff --git a/libavif.recipe.py b/libavif.recipe.py new file mode 100644 index 0000000..0df9a91 --- /dev/null +++ b/libavif.recipe.py @@ -0,0 +1,31 @@ +pkgname = "libavif" +pkgver = "1.4.2" +source = f"https://github.com/AOMediaCodec/libavif/archive/v{pkgver}/libavif-{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 = ["dav1d", "SVT-AV1", "libaom", "gdkpixbuf"] + +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 AVIF_CODEC_AOM=SYSTEM -D AVIF_CODEC_DAV1D=SYSTEM " + f"-D AVIF_CODEC_SVT=SYSTEM -D AVIF_BUILD_GDK_PIXBUF=OFF -D AVIF_LIBYUV=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 {fembuilddir}" +] \ No newline at end of file diff --git a/libcava.recipe.py b/libcava.recipe.py index 86d4529..9d190b1 100755 --- a/libcava.recipe.py +++ b/libcava.recipe.py @@ -12,7 +12,7 @@ deps = [] build = [ # 64-bit build - f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr", + f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr -D input_portaudio=disabled", f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", diff --git a/libevent.recipe.py b/libevent.recipe.py new file mode 100644 index 0000000..436661c --- /dev/null +++ b/libevent.recipe.py @@ -0,0 +1,30 @@ +pkgname = "libevent" +pkgver = "2.1.12" +source = f"https://github.com/libevent/libevent/releases/download/release-{pkgver}-stable/libevent-{pkgver}-stable.tar.gz" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}-stable" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" + +deps = ["glibc"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}-stable.tar.gz", + + # 64-bit build + f"cd {builddir} && sed -i 's/python/&3/' event_rpcgen.py && ./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 {fembuilddir}" +] \ No newline at end of file diff --git a/links.recipe.py b/links.recipe.py index 553d82a..376926c 100755 --- a/links.recipe.py +++ b/links.recipe.py @@ -6,7 +6,7 @@ fembuilddir = f"/tmp/fempkg/build/{pkgname}" outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" -deps = [] +deps = ["libevent"] build = [ # Extract diff --git a/logrotate.recipe.py b/logrotate.recipe.py new file mode 100644 index 0000000..12b4b97 --- /dev/null +++ b/logrotate.recipe.py @@ -0,0 +1,39 @@ +pkgname = "logrotate" +pkgver = "3.22.0" +source = f"https://github.com/logrotate/logrotate/releases/download/{pkgver}/logrotate-{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 = ["popt", "fcron"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + + # 64-bit build + f"cd {builddir} && ./configure --prefix=/usr", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install", + + f"cd {builddir} && mkdir -p {destdir}/etc/ && wget https://rocketleaguechatp.duckdns.org/logrotate.conf -O {destdir}/etc/logrotate.conf && " + f"chmod -v 0644 {destdir}/etc/logrotate.conf", + + f"cd {builddir} && mkdir -p {destdir}/etc/logrotate.d && wget https://rocketleaguechatp.duckdns.org/sysklogd -O {destdir}/etc/logrotate.d/sysklogd && " + f"chmod 0644 {destdir}/etc/logrotate.d/sysklogd", + + f"cd {builddir} && mkdir -p {destdir}/etc/cron.daily && wget https://rocketleaguechatp.duckdns.org/logrotate.sh -O {destdir}/etc/cron.daily/logrotate.sh && " + f"chmod 754 {destdir}/etc/cron.daily/logrotate.sh", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", + f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", + + # Cleanup + f"rm -rf {fembuilddir}" +] \ No newline at end of file diff --git a/noto-sans-mono.recipe.py b/noto-sans-mono.recipe.py new file mode 100644 index 0000000..17ab106 --- /dev/null +++ b/noto-sans-mono.recipe.py @@ -0,0 +1,29 @@ +pkgname = "noto-sans-mono" +pkgver = "1.0" +source = f"https://rocketleaguechatp.duckdns.org/Noto_Sans_Mono.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 = ["fontconfig"] + +build = [ + # Extract + f"mkdir -p {builddir} && cd {fembuilddir} && unzip /var/lib/fempkg/pkgs/Noto_Sans_Mono.zip -d {builddir}", + + # 64-bit build + f"mkdir -p {destdir}/usr/share/fonts/noto", + f"cd {builddir} && cp -pv *.ttf {destdir}/usr/share/fonts/noto/", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/OFL.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/ntp.recipe.py b/ntp.recipe.py new file mode 100644 index 0000000..41c2e58 --- /dev/null +++ b/ntp.recipe.py @@ -0,0 +1,41 @@ +pkgname = "ntp" +pkgver = "4.2.8p18" +Pkgver = pkgver[:3] # :3 +source = f"https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-{Pkgver}/ntp-{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 = ["IO-Socket-SSL"] + +build = [ + # Extract + f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && wget " + f"https://www.linuxfromscratch.org/patches/blfs/svn/ntp-{pkgver}-openssl_4-1.patch", + + # 64-bit build + f"cd {builddir} && sed -i 's/getclock/getclock memchr/' sntp/m4/ntp_libntp.m4 && sed -i 's/pthread_detach(NULL)/pthread_detach(0)/' sntp/m4/openldap-thread-check.m4" + f" && autoreconf -fiv && sed -i \"/ep.*FAILED/,+4s/ep/ep2/\" ntpd/ntp_io.c && patch -Np1 -i ../ntp-{pkgver}-openssl_4-1.patch && ./configure --prefix=/usr " + f"--bindir=/usr/sbin --sysconfdir=/etc --enable-linuxcaps --with-lineeditlibs=readline --docdir=/usr/share/doc/ntp-{pkgver}", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR={destdir} install && install -v -o ntp -g ntp -d {destdir}/var/lib/ntp && mkdir -p {destdir}/etc/ntp", + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/ntp.conf -O {destdir}/etc/ntp/ntp.conf", + + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", + f"install -v -m644 {builddir}/COPYRIGHT {destdir}/usr/share/licenses/{pkgname}/LICENSE", + + # Make tarball + manifests + f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{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 && groupadd -g 87 ntp || true", + f"cd /tmp && useradd -c \"Network Time Protocol\" -d /var/lib/ntp -u 87 -g ntp -s /bin/false ntp || true" +] \ No newline at end of file