diff --git a/fontconfig.recipe.py b/fontconfig.recipe.py index 237aed3..e409919 100755 --- a/fontconfig.recipe.py +++ b/fontconfig.recipe.py @@ -1,6 +1,6 @@ pkgname = "fontconfig" -pkgver = "2.18.1" -source = f"https://rocketleaguechatp.duckdns.org/fontconfig-{pkgver}.tar.xz" +pkgver = "2.18.2" +source = f"https://rocketleaguechatp.duckdns.org/fontconfig-{pkgver}.tar.gz" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" fembuilddir = f"/tmp/fempkg/build/{pkgname}" outputdir = "/home/gabry/lfs-repo/binpkg" @@ -10,13 +10,13 @@ deps = ["freetype"] build = [ # Extract - f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz", # 64-bit build - f"cd {builddir} && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-docs --docdir=/usr/share/doc/fontconfig-{pkgver}", - f"cd {builddir} && make -j$(nproc)", - f"cd {builddir} && make DESTDIR={destdir} install", - # patch because fontconfig is laugh + 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", + # patch because fontconfig is laugh # or wel because tarball gen is pap f"""destdir="{destdir}/etc/fonts/conf.d" for f in "$destdir"/*.conf; do @@ -27,6 +27,12 @@ for f in "$destdir"/*.conf; do ln -sf "/usr/share/fontconfig/conf.avail/$name" "$f" done""", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -37,3 +43,7 @@ done""", # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/freetype.recipe.py b/freetype.recipe.py index c0ddd70..7ed9cc9 100755 --- a/freetype.recipe.py +++ b/freetype.recipe.py @@ -15,9 +15,18 @@ build = [ # 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"cd {builddir} && ./configure --prefix=/usr --disable-static --enable-freetype-config --with-harfbuzz=dynamic", + 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\" CXX=\"g++ -m32\" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure --prefix=/usr --libdir=/usr/lib32 --host=i686-pc-linux-gnu " + f"--disable-static --with-harfbuzz=dynamic", + + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install", + f"cd {builddir} && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -29,3 +38,7 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig", +] \ No newline at end of file diff --git a/glib.recipe.py b/glib.recipe.py index c7b22d0..02741e5 100755 --- a/glib.recipe.py +++ b/glib.recipe.py @@ -1,5 +1,5 @@ pkgname = "glib" -pkgver = "2.88.1" +pkgver = "2.88.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}" @@ -34,12 +34,20 @@ build = [ 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/", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D introspection=disabled -D glib_debug=disabled -D man-pages=disabled " + f"-D tests=false -D sysprof=disabled ..", + + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + + 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", @@ -47,3 +55,7 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/glslc.recipe.py b/glslc.recipe.py index 5314f8f..cc50f8e 100755 --- a/glslc.recipe.py +++ b/glslc.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 = ["cmake", "glslang", "spirv-tools"] +deps = ["cmake", "vulkan-sdk"] build = [ # Extract diff --git a/gst-plugins-bad.recipe.py b/gst-plugins-bad.recipe.py index 080e132..bd7631e 100644 --- a/gst-plugins-bad.recipe.py +++ b/gst-plugins-bad.recipe.py @@ -9,7 +9,7 @@ destdir = f"{fembuilddir}/DESTDIR" deps = ["gstreamer", "gst-plugins-base", "libaom", "libdvdread", "libva", "SVT-AV1", "bluez", "curl", "glibc", "gst-plugins-good", "json-glib", "lcms2", "libexif", "librsvg", "libsndfile", "libssh2", "libass", "libusb", "libwebp", "libxkbcommon", "libxml2", "neon", "nettle", "libgcrypt", "opencv", - "openjpeg", "pango", "libqrencode", "sbc", "vulkan-loader", "glslc", "wayland", "wayland", "x265", "zxing-cpp"] + "openjpeg", "pango", "libqrencode", "sbc", "vulkan-sdk", "glslc", "wayland", "wayland", "x265", "zxing-cpp"] build = [ # Extract diff --git a/harfbuzz.recipe.py b/harfbuzz.recipe.py index 604b6fd..243cc07 100755 --- a/harfbuzz.recipe.py +++ b/harfbuzz.recipe.py @@ -14,10 +14,16 @@ build = [ # 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 && meson setup --prefix=/usr --buildtype=release -D graphite2=disabled -D tests=disabled ..", f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D cairo=disabled -D graphite2=disabled -D tests=disabled ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -28,3 +34,7 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/icu.recipe.py b/icu.recipe.py index e0665bf..a6b361d 100755 --- a/icu.recipe.py +++ b/icu.recipe.py @@ -17,6 +17,12 @@ build = [ f"cd {builddir}/source && make -j$(nproc)", f"cd {builddir}/source && make prefix={destdir}/usr install", + # 32-bit build + f"cd {builddir}/source && make clean", + f"cd {builddir}/source && CC=\"gcc -m32\" CXX=\"g++ -m32\" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure --prefix=/usr --libdir=/usr/lib32 --host=i686-pc-linux-gnu", + f"cd {builddir}/source && make -j$(nproc)", + f"cd {builddir}/source && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -29,5 +35,6 @@ build = [ ] triggers = [ + f"ldconfig", {"rebuild_package": ["libical", "libxml2", "harfbuzz", "nodejs", "libqalculate", "llvm", "qt6", "firefox", "tinysparql", "localsearch", "boost"]} ] \ No newline at end of file diff --git a/index.txt b/index.txt index db78e52..99f54d2 100755 --- a/index.txt +++ b/index.txt @@ -122,7 +122,6 @@ glibc.recipe.py glibmm.recipe.py glib-networking.recipe.py glib.recipe.py -glslang.recipe.py glslc.recipe.py glu.recipe.py glycin-gtk4.recipe.py @@ -239,6 +238,7 @@ libevent.recipe.py libexif.recipe.py libffi.recipe.py libfyaml.recipe.py +libgbm.recipe.py libgcrypt.recipe.py libglvnd.recipe.py libgpg-error.recipe.py @@ -424,6 +424,7 @@ scdoc.recipe.py sdbus-cpp.recipe.py sddm.recipe.py sdl2.recipe.py +sdl3.recipe.py seatd.recipe.py sed.recipe.py shadow.recipe.py @@ -432,9 +433,7 @@ SIMDe.recipe.py slang.recipe.py sof-firmware.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 @@ -467,8 +466,7 @@ vim.recipe.py virglrenderer.recipe.py vlc.recipe.py vscodium.recipe.py -vulkan-headers.recipe.py -vulkan-loader.recipe.py +vulkan-sdk.recipe.py wayland-protocols.recipe.py wayland.recipe.py webrtc-audio-processing.recipe.py diff --git a/kirigami-addons.recipe.py b/kirigami-addons.recipe.py index e20e81b..bd4860f 100755 --- a/kirigami-addons.recipe.py +++ b/kirigami-addons.recipe.py @@ -8,7 +8,7 @@ outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" -deps = ["kf6", "vulkan-loader"] +deps = ["kf6", "vulkan-sdk"] build = [ # Extract diff --git a/libdrm.recipe.py b/libdrm.recipe.py index 39f23d6..963cef5 100755 --- a/libdrm.recipe.py +++ b/libdrm.recipe.py @@ -17,6 +17,12 @@ build = [ f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D tests=false -D udev=true -D valgrind=disabled ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + 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", diff --git a/glslang.recipe.py b/libgbm.recipe.py old mode 100755 new mode 100644 similarity index 54% rename from glslang.recipe.py rename to libgbm.recipe.py index 60cc4c1..7ab3f2d --- a/glslang.recipe.py +++ b/libgbm.recipe.py @@ -1,24 +1,30 @@ -pkgname = "glslang" -pkgver = "16.3.0" -source = f"https://github.com/KhronosGroup/glslang/archive/{pkgver}/glslang-{pkgver}.tar.gz" +pkgname = "libgbm" +pkgver = "1.0.7" +source = f"https://github.com/glfs-book/libgbm/archive/{pkgver}/libgbm-{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"] +deps = ["libdrm"] 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 ..", + # 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", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", + 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 .", @@ -27,3 +33,7 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/libglvnd.recipe.py b/libglvnd.recipe.py index 03cdcbd..362b9c0 100755 --- a/libglvnd.recipe.py +++ b/libglvnd.recipe.py @@ -10,13 +10,20 @@ deps = [] build = [ # Extract - f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz", + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-v{pkgver}.tar.gz && wget " + f"https://www.linuxfromscratch.org/glfs/view/dev/download/libglvnd/libglvnd-v{pkgver}-ext_device-1.patch", # 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} && patch -Np1 -i ../libglvnd-v{pkgver}-ext_device-1.patch && mkdir build && cd build && meson setup .. --prefix=/usr --buildtype=release -D hgl=false", f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D hgl=false ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + 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", diff --git a/libplacebo.recipe.py b/libplacebo.recipe.py index d68f7cc..b60b15a 100644 --- a/libplacebo.recipe.py +++ b/libplacebo.recipe.py @@ -7,7 +7,7 @@ outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" -deps = ["glad", "glslag", "vulkan-loader"] +deps = ["glad", "vulkan-sdk"] build = [ # Extract diff --git a/libvdpau.recipe.py b/libvdpau.recipe.py index adc84ac..9345e74 100755 --- a/libvdpau.recipe.py +++ b/libvdpau.recipe.py @@ -1,6 +1,6 @@ pkgname = "libvdpau" pkgver = "1.5" # https://gitlab.freedesktop.org/vdpau/libvdpau/-/tags -source = f"https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/{pkgver}/libvdpau-{pkgver}.tar.bz2" +source = f"https://rocketleaguechatp.duckdns.org/libvdpau-{pkgver}.tar.bz2" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" fembuilddir = f"/tmp/fempkg/build/{pkgname}" outputdir = "/home/gabry/lfs-repo/binpkg" diff --git a/libxau.recipe.py b/libxau.recipe.py index d23ed02..b38b18e 100755 --- a/libxau.recipe.py +++ b/libxau.recipe.py @@ -14,9 +14,15 @@ build = [ 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"cd {builddir} && ./configure $XORG_CONFIG", + 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\" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG --libdir=/usr/lib32", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -28,3 +34,7 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/libxcb.recipe.py b/libxcb.recipe.py index b019df5..b707b53 100755 --- a/libxcb.recipe.py +++ b/libxcb.recipe.py @@ -17,6 +17,12 @@ build = [ f"cd {builddir} && LC_ALL=en_US.UTF-8 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\" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG --libdir=/usr/lib32", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -26,4 +32,8 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && ldconfig" ] \ No newline at end of file diff --git a/libxdmcp.recipe.py b/libxdmcp.recipe.py index 1551b07..91af683 100755 --- a/libxdmcp.recipe.py +++ b/libxdmcp.recipe.py @@ -17,6 +17,12 @@ build = [ 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\" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG --libdir=/usr/lib32", + f"cd {builddir} && make -j$(nproc)", + f"cd {builddir} && make DESTDIR=$PWD/tmpdestdir install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -26,4 +32,8 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && ldconfig" ] \ No newline at end of file diff --git a/libxml2.recipe.py b/libxml2.recipe.py index ddd6fc8..a79cdbe 100755 --- a/libxml2.recipe.py +++ b/libxml2.recipe.py @@ -7,7 +7,7 @@ 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 # type shi # fr # LSDJFNBHKKL HFLSEDNHFJDHJLHKJF JKHAGDFS HKGHJSK EDHFUYRDIVTSRTUYTGBuifreWrbtahkjfdgvby5em #AKDJL:FJ:KFDYUTIRSIUYSTYISBT IYU" D F HLFJKA HJHAARHKAJSFGED VGESDKJYTSGVJKYTMGFVBJRyruiWEKGVTHBGVMNHJRseytubkymnbfzkhvjdxrey +deps = ["doxygen"] # are we deadass # type shi # fr # LSDJFNBHKKL HFLSEDNHFJDHJLHKJF JKHAGDFS HKGHJSK EDHFUYRDIVTSRTUYTGBuifreWrbtahkjfdgvby5em #AKDJL:FJ:KFDYUTIRSIUYSTYISBT IYU" D F HLFJKA HJHAARHKAJSFGED VGESDKJYTSGVJKYTMGFVBJRyruiWEKGVTHBGVMNHJRseytubkymnbfzkhvjdxrey # e noi facciamo "el panzon" build = [ # Extract @@ -20,6 +20,12 @@ build = [ f"cd {builddir}/build && DESTDIR={destdir} ninja install", f"cd {builddir}/build && sed \"s/--static/--shared/\" -i /usr/bin/xml2-config", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D history=enabled -D icu=enabled", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"install -v -m644 {builddir}/Copyright {destdir}/usr/share/licenses/{pkgname}/Copyright", diff --git a/llvm.recipe.py b/llvm.recipe.py index 7db85fe..4a83cb8 100755 --- a/llvm.recipe.py +++ b/llvm.recipe.py @@ -1,5 +1,5 @@ pkgname = "llvm" -pkgver = "22.1.0" +pkgver = "22.1.8" source = f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/llvm-project-{pkgver}.src.tar.xz" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-project-{pkgver}.src" fembuilddir = f"/tmp/fempkg/build/{pkgname}" @@ -10,20 +10,34 @@ deps = [] build = [ # Extract - f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-project-{pkgver}.src.tar.xz", + f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-project-{pkgver}.src.tar.xz && " + f"wget https://www.linuxfromscratch.org/glfs/view/dev/download/llvm-project/llvm-project-{pkgver}-upstream_fix-1.patch", # 64-bit build - f"cd {builddir} && grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'", + f"cd {builddir} && patch -Np1 -i ../llvm-project-{pkgver}-upstream_fix-1.patch && grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'", f"cd {builddir} && sed 's/utility/tool/' -i llvm/utils/FileCheck/CMakeLists.txt", - f"cd {builddir} && mkdir -v llvm/build && cd llvm/build", - f"cd {builddir}/llvm/build && CC=gcc CXX=g++ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_SKIP_INSTALL_RPATH=ON -D LLVM_ENABLE_FFI=ON " - f"-D 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\" " - f"-D LLVM_ENABLE_PROJECTS=clang -D LLVM_ENABLE_RUNTIMES=compiler-rt -D LLVM_BINUTILS_INCDIR=/usr/include -D LLVM_INCLUDE_BENCHMARKS=OFF -D " - f"CLANG_DEFAULT_PIE_ON_LINUX=ON -D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang -W no-dev -G Ninja ..", - f"cd {builddir}/llvm/build && ninja", - f"cd {builddir}/llvm/build && DESTDIR={destdir} ninja install", + f"cd {builddir} && mkdir -v 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 CMAKE_BUILD_TYPE=Release " + f"-D LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_LINK_LLVM_DYLIB=ON -D LLVM_ENABLE_RTTI=ON -D LLVM_TARGETS_TO_BUILD=\"X86;host;AMDGPU;NVPTX\" -D LLVM_ENABLE_PROJECTS=clang " + f"-D LLVM_ENABLE_RUNTIMES=compiler-rt -D LLVM_BINUTILS_INCDIR=/usr/include -D LLVM_INCLUDE_BENCHMARKS=OFF -D CLANG_DEFAULT_PIE_ON_LINUX=ON -D " + f"CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang -W no-dev -G Ninja ../llvm", - f"cd /tmp && sudo mkdir -pv {destdir}/etc/clang && for i in clang clang++; do echo -fstack-protector-strong > {destdir}/etc/clang/$i.cfg; done", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + # 32-bit build # kinda + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && CC=gcc CXX=g++ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_C_FLAGS:STRING=-m32 -D CMAKE_SKIP_INSTALL_RPATH=ON -D " + f"CMAKE_CXX_FLAGS:STRING=-m32 -D LLVM_TARGET_ARCH:STRING=i686 -D LLVM_LIBDIR_SUFFIX=32 -D LLVM_ENABLE_FFI=ON -D CMAKE_BUILD_TYPE=Release -D " + f"LLVM_BUILD_LLVM_DYLIB=ON -D LLVM_LINK_LLVM_DYLIB=ON -D LLVM_ENABLE_RTTI=ON -D LLVM_DEFAULT_TARGET_TRIPLE=\"i686-pc-linux-gnu\" " + f"-D LLVM_TARGETS_TO_BUILD=\"X86;host;AMDGPU;NVPTX\" -D LLVM_HOST_TRIPLE=\"x86_64-pc-linux-gnu\" -D LLVM_ENABLE_PROJECTS=clang " + f"-D LLVM_ENABLE_RUNTIMES=compiler-rt -D LLVM_BUILD_UTILS=OFF -D LLVM_BUILD_TOOLS=OFF -D LLVM_INCLUDE_TESTS=OFF -D LLVM_BINUTILS_INCDIR=/usr/include -D " + f"LLVM_INCLUDE_BENCHMARKS=OFF -D CLANG_BUILD_TOOLS=OFF -D CLANG_DEFAULT_PIE_ON_LINUX=ON -D CLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang -W no-dev -G Ninja ../llvm", + + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + + f"cd /tmp && sudo mkdir -pv {destdir}/etc/clang && for i in clang clang++; do echo -fstack-protector-strong > {destdir}/etc/clang/$i.cfg; done", f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"install -v -m644 {builddir}/LICENSE.TXT {destdir}/usr/share/licenses/{pkgname}/LICENSE", diff --git a/mesa.recipe.py b/mesa.recipe.py index d152d42..467df3b 100755 --- a/mesa.recipe.py +++ b/mesa.recipe.py @@ -1,5 +1,5 @@ -pkgname = "mesa" # mix of blfs and glfs -pkgver = "26.0.7" +pkgname = "mesa" # glfs +pkgver = "26.1.3" 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}" @@ -7,15 +7,28 @@ 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"] +deps = ["xorg-libs", "libdrm", "cbindgen", "libclc", "libglvnd", "libvdpau", "llvm", "wayland-protocols", "vulkan-sdk", "rustbindgen", "libunwind", "libgbm"] 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 gles1=disabled", + f"cd {builddir} && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -D glvnd=enabled -D libgbm-external=true -D platforms=x11,wayland -D " + f"gallium-drivers=auto -D vulkan-drivers=auto -D video-codecs=all -D valgrind=disabled -D libunwind=true ..", + + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D glvnd=enabled -D libgbm-external=true -D platforms=x11,wayland -D " + f"gallium-drivers=auto -D vulkan-drivers=auto -D video-codecs=all -D valgrind=disabled -D libunwind=disabled ..", + + f"cd {builddir}/build && sed -i 's/\\/usr\\/lib\\//\\/usr\\/lib32\\//g' ./build.ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr tmpdestdir/usr/lib32/* {destdir}/usr/lib32", + f"cd {builddir}/build && if [ -d tmpdestdir/usr/share/vulkan ]; then cp -vR tmpdestdir/usr/share/vulkan {destdir}/usr/share; fi", + f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", diff --git a/mpv.recipe.py b/mpv.recipe.py index 7d2fefe..70d06c6 100644 --- a/mpv.recipe.py +++ b/mpv.recipe.py @@ -7,7 +7,7 @@ outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" -deps = ["alsa-lib", "ffmpeg", "libass", "libplacebo", "mesa", "pulseaudio", "libjpeg-turbo", "libva", "luajit", "vulkan-loader", "libdvdread", "pipewire"] +deps = ["alsa-lib", "ffmpeg", "libass", "libplacebo", "mesa", "pulseaudio", "libjpeg-turbo", "libva", "luajit", "vulkan-sdk", "libdvdread", "pipewire"] build = [ # Extract diff --git a/nvidia.recipe.py b/nvidia.recipe.py index 23e1a37..9d33f12 100755 --- a/nvidia.recipe.py +++ b/nvidia.recipe.py @@ -1,5 +1,5 @@ pkgname = "nvidia" -pkgver = "610.43.02" +pkgver = "610.43.03" kernel_ver = "7.1.3" source = f"https://rocketleaguechatp.duckdns.org/pappalaugh.jpg" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" diff --git a/obs-studio.recipe.py b/obs-studio.recipe.py index 28bba4e..583e674 100755 --- a/obs-studio.recipe.py +++ b/obs-studio.recipe.py @@ -7,7 +7,7 @@ outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" deps = ["alsa-plugins" ,"cmake", "curl", "ffmpeg", "freetype", "fontconfig", "glib", "jansson", "libdrm", "libva", "libxkbcommon", "mbedtls", - "mesa", "libglvnd", "pciutils", "qt6", "uthash", "vulkan-loader", "xorg-libs", "x264", "atspi2core", "cups", "ffnv-codec", + "mesa", "libglvnd", "pciutils", "qt6", "uthash", "vulkan-sdk", "xorg-libs", "x264", "atspi2core", "cups", "ffnv-codec", "libdatachannel", "pipewire", "xdg-desktop-portal", "pulseaudio", "swig", "luajit", "v4l-utils", "nlohmann-json", "SIMDe"] build = [ diff --git a/pipewire.recipe.py b/pipewire.recipe.py index 96931b9..df44027 100755 --- a/pipewire.recipe.py +++ b/pipewire.recipe.py @@ -7,7 +7,7 @@ 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"] +deps = ["bluez", "dbus", "gstreamer", "gst-plugins-base", "pulseaudio", "sbc", "v4l-utils", "alsa-lib", "libcanberra", "libdrm", "libxcb", "xorg-libs", "vulkan-sdk"] build = [ # Extract diff --git a/rustc.recipe.py b/rustc.recipe.py index 040cc12..66f5111 100755 --- a/rustc.recipe.py +++ b/rustc.recipe.py @@ -1,46 +1,30 @@ -pkgname = "rustc" # TODO WEN UPDATING VERSION, RENEW BOOTSTRAP.TOML!!!!! # OKAY I DIDNT HAVE TO DO IT UPPERCASE -pkgver = "1.96.0" +pkgname = "rustc" # TODO WEN UPDATING VERSION, RENEW BOOTSTRAP.TOML!!!!! # OKAY I DIDNT HAVE TO DO IT UPPERCASE # el m +pkgver = "1.97.1" 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" -openssl_ver = "0.10.78" -openssl_url = f"https://github.com/lfs-book/rust-openssl/archive/v{openssl_ver}/rust-openssl-{openssl_ver}.tar.gz" - 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 && " - f"wget {openssl_url}", + 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} && tar xf ../rust-openssl-{openssl_ver}.tar.gz", - f"""cd {builddir} && cat >> src/tools/cargo/Cargo.toml << EOF -[patch.crates-io] -openssl = {{ path = "../../../rust-openssl-{openssl_ver}/openssl" }} -openssl-sys = {{ path = "../../../rust-openssl-{openssl_ver}/openssl-sys" }} -EOF -""", - f"""cd {builddir} && sed -ri src/tools/cargo/Cargo.lock \ - -e '/name = "openssl-sys"/,/^$/{{/source|checksum/d;s/0.9.112/0.9.114/}}' \ - -e '/name = "openssl"/,/^$/{{/source|checksum/d;s/0.10.76/{openssl_ver}/}}' \ - -e '/name = "openssl-macros"/,/^$/{{/source|checksum/d}}'""", - 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} && ./x.py build", + f"cd {builddir} && DESTDIR={destdir} ./x.py install", + f"cd {builddir} && rm -fv {destdir}/opt/rustc-{pkgver}/share/doc/rustc-{pkgver}/*.old", f"mkdir -p {destdir}/opt/rustc-{pkgver}/share/doc/rustc-{pkgver}/", - f"cd {builddir} && {exports} && install -vm644 README.md {destdir}/opt/rustc-{pkgver}/share/doc/rustc-{pkgver}/README.md", - 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", + f"cd {builddir} && install -vm644 README.md {destdir}/opt/rustc-{pkgver}/share/doc/rustc-{pkgver}/README.md", + f"cd {builddir} && install -vdm755 {destdir}/usr/share/zsh/site-functions", + f"cd {builddir} && install -vdm755 {destdir}/usr/share/bash-completion/completions", + f"cd {builddir} && ln -sfv {destdir}/opt/rustc/share/zsh/site-functions/_cargo {destdir}/usr/share/zsh/site-functions", + f"cd {builddir} && mv -v {destdir}/etc/bash_completion.d/cargo {destdir}/usr/share/bash-completion/completions", f"cd /tmp && mkdir -p {destdir}/etc/profile.d", f"""cd /tmp && cat > {destdir}/etc/profile.d/rustc.sh << "EOF" diff --git a/spirv-headers.recipe.py b/spirv-headers.recipe.py deleted file mode 100755 index 0eaae41..0000000 --- a/spirv-headers.recipe.py +++ /dev/null @@ -1,31 +0,0 @@ -pkgname = "spirv-headers" -pkgver = "1.4.350.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 index 1082e15..445a698 100755 --- a/spirv-llvm-translator.recipe.py +++ b/spirv-llvm-translator.recipe.py @@ -7,25 +7,27 @@ outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" -deps = ["libxml2", "llvm", "spirv-tools"] +deps = ["libxml2", "llvm", "vulkan-sdk"] 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 ..", + # 64-bit build + f"cd {builddir} && rm -rf build && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D " + f"CMAKE_SKIP_INSTALL_RPATH=ON -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..", - # Build + install f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", + + # 32-bit buid + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && CC=\"gcc -m32\" CXX=\"g++ -m32\" PKG_CONFIG_PATH=/usr/lib32/pkgconfig cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_INSTALL_LIBDIR=lib32 -D " + f"CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_INSTALL_RPATH=ON -D BUILD_SHARED_LIBS=ON -D LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr -G Ninja ..", + + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", @@ -37,3 +39,7 @@ build = [ # Cleanup f"rm -rf {builddir} {fembuilddir}" ] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/spirv-tools.recipe.py b/spirv-tools.recipe.py deleted file mode 100755 index f83ac25..0000000 --- a/spirv-tools.recipe.py +++ /dev/null @@ -1,30 +0,0 @@ -pkgname = "spirv-tools" -pkgver = "1.4.350.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/vulkan-headers.recipe.py b/vulkan-headers.recipe.py deleted file mode 100755 index d4aaaf9..0000000 --- a/vulkan-headers.recipe.py +++ /dev/null @@ -1,31 +0,0 @@ -pkgname = "vulkan-headers" -pkgver = "1.4.350.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 deleted file mode 100755 index 6c3bb7e..0000000 --- a/vulkan-loader.recipe.py +++ /dev/null @@ -1,31 +0,0 @@ -pkgname = "vulkan-loader" -pkgver = "1.4.350.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/vulkan-sdk.recipe.py b/vulkan-sdk.recipe.py new file mode 100644 index 0000000..9f03fc1 --- /dev/null +++ b/vulkan-sdk.recipe.py @@ -0,0 +1,146 @@ +pkgname = "vulkan-sdk" +pkgver = "1.4.350.1" +source = f"https://rocketleaguechatp.duckdns.org/pappalaugh.jpg" +builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" +fembuilddir = f"/tmp/fempkg/build/{pkgname}" +outputdir = "/home/gabry/lfs-repo/binpkg" +manifestdir = "/home/gabry/lfs-repo/manifests" +destdir = f"{fembuilddir}/DESTDIR" +deps = ["cmake", "xorg-libs", "wayland", "wayland-protocols"] + +build = [ + # Extract + f"mkdir -p {builddir}", + + # 64-bit build + f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/vulkan-sdk-list", + f"cd {builddir} && mkdir vulkan-sdk && cd vulkan-sdk && grep -v '^#' ../vulkan-sdk-list | wget -i- -c -B https://github.com/KhronosGroup/", + f"cd {builddir} && mkdir -p {destdir}/usr/lib32", + f"""cd {builddir}/vulkan-sdk && bash -e <<'EOF' +for package in {{Vulkan-{{Headers,Loader,Utility-Libraries,Tools}},SPIRV-{{Headers,Tools}},glslang}} +do + longpackage=$package-vulkan-sdk-{pkgver}.tar.?z* + packagedir=${{longpackage%.tar.?z*}} + tar -xf $longpackage + pushd $packagedir + mkdir build + cd build + case $package in + SPIRV-Tools ) + 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 .. + ;; + glslang ) + 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=OFF \\ + -G Ninja .. + ;; + * ) + cmake -D CMAKE_INSTALL_PREFIX=/usr \\ + -D CMAKE_BUILD_TYPE=Release \\ + -D CMAKE_SKIP_INSTALL_RPATH=ON \\ + -G Ninja .. + ;; + esac + ninja + DESTDIR={destdir} ninja install + + # ---- license copying (best-effort) ---- + licensedir={destdir}/usr/share/licenses/$package + mkdir -p $licensedir + find .. -type f \\( \\ + -iname COPYING -o \\ + -iname COPYRIGHT -o \\ + -iname NOTICE -o \\ + -iname LICENSE -o \\ + -iname LICENCE \\ + \\) -exec cp -pv {{}} $licensedir \\; || true + find .. -type d -iname LICENSES | while read -r licdir; do + cp -pvra $licdir/* $licensedir/ || true + done || true + + popd + rm -rf $packagedir +done +EOF""", + + # 32-bit build + f"""cd {builddir}/vulkan-sdk && bash -e <<'EOF' +for package in {{Vulkan-{{Loader,Utility-Libraries,Tools}},SPIRV-Tools,glslang}} +do + longpackage=$package-vulkan-sdk-{pkgver}.tar.?z* + packagedir=${{longpackage%.tar.?z*}} + tar -xf $longpackage + pushd $packagedir + mkdir build + cd build + case $package in + SPIRV-Tools ) + CC="gcc -m32" CXX="g++ -m32" \\ + PKG_CONFIG_PATH=/usr/lib32/pkgconfig \\ + cmake -D CMAKE_INSTALL_PREFIX=/usr \\ + -D CMAKE_INSTALL_LIBDIR=lib32 \\ + -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 .. + ;; + glslang ) + CC="gcc -m32" CXX="g++ -m32" \\ + PKG_CONFIG_PATH=/usr/lib32/pkgconfig \\ + cmake -D CMAKE_INSTALL_PREFIX=/usr \\ + -D CMAKE_INSTALL_LIBDIR=lib32 \\ + -D CMAKE_BUILD_TYPE=Release \\ + -D ALLOW_EXTERNAL_SPIRV_TOOLS=ON \\ + -D BUILD_SHARED_LIBS=ON \\ + -D GLSLANG_TESTS=OFF \\ + -G Ninja .. + ;; + * ) + ASFLAGS+=" --32" CFLAGS+=" -m32" \\ + CXXFLAGS+=" -m32" \\ + PKG_CONFIG_PATH=/usr/lib32/pkgconfig \\ + cmake -D CMAKE_INSTALL_PREFIX=/usr \\ + -D CMAKE_INSTALL_LIBDIR=lib32 \\ + -D CMAKE_BUILD_TYPE=Release \\ + -D CMAKE_SKIP_INSTALL_RPATH=ON \\ + -G Ninja .. + ;; + esac + ninja + DESTDIR=$PWD/tmpdestdir ninja install + if [ $package != "Vulkan-Tools" ]; then + cp -Rv tmpdestdir/usr/lib32/* {destdir}/usr/lib32 + else + for bin in tmpdestdir/usr/bin/*; do + install -vDm755 $bin {destdir}/usr/bin/$(basename $bin)-m32 + done + fi + rm -rf tmpdestdir + /sbin/ldconfig + popd + rm -rf $packagedir +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 {builddir} {fembuilddir}" +] + +triggers = [ + f"cd /tmp && ldconfig" +] \ No newline at end of file diff --git a/wayland.recipe.py b/wayland.recipe.py index 41dde52..d545b32 100755 --- a/wayland.recipe.py +++ b/wayland.recipe.py @@ -18,6 +18,12 @@ build = [ f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install", + # 32-bit build + f"cd {builddir}/build && rm -rf *", + f"cd {builddir}/build && meson setup --prefix=/usr --buildtype=release --cross-file=lib32 -D documentation=false ..", + f"cd {builddir}/build && ninja", + f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && mkdir -p {destdir}/usr/lib32 && cp -vr 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", diff --git a/xorg-libs.recipe.py b/xorg-libs.recipe.py index f4f5187..e4161f1 100755 --- a/xorg-libs.recipe.py +++ b/xorg-libs.recipe.py @@ -17,27 +17,26 @@ build = [ 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 + f"""cd {fembuilddir} && bash -e <<'EOF' + 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" + docdir="--docdir=/usr/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 ;; + libpciaccess-* | libxkbfile*) meson setup --prefix=/usr --buildtype=release build && ninja -C build && DESTDIR={destdir} ninja -C build install && cd .. && rm -rf $dir && continue ;; *) ./configure $XORG_CONFIG $docdir ;; esac make -j$(nproc) make DESTDIR={destdir} install - # licenses... lice- just one mor- + # licenses... lice- just one mor- # T licdir="{destdir}/usr/share/licenses/$dir" mkdir -p "$licdir" for f in COPYING COPYRIGHT LICENSE LICENSE* COPYING*; do @@ -47,7 +46,46 @@ build = [ cd .. rm -rf $dir ldconfig - done""", + done +EOF""", + + # 32-bit build lmao + f"""cd {fembuilddir} && bash -e <<'EOF' + for package in $(grep -v '^#' lib-7.md5 | awk '{{print $2}}'); do + dir=${{package%.tar.*}} + + case $dir in + xtrans*) + continue + ;; + esac + + echo ">>> Building lib32-$dir" + tar -xf $package + cd $dir + libdir="--libdir=/usr/lib32" + docdir="--docdir=/usr/share/doc/$dir" + host="--host=i686-pc-linux-gnu" + + case $dir in + libXfont2-*) CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG $libdir $host $docdir --disable-devel-docs ;; + libXt-*) CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG $libdir $host $docdir --with-appdefaultdir=/etc/X11/app-defaults ;; + libXpm-*) CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG $libdir $host $docdir --disable-open-zfile ;; + libpciaccess-* | libxkbfile*) meson setup --prefix=/usr --buildtype=release --cross-file=lib32 build && ninja -C build && DESTDIR=$PWD/tmpdestdir ninja -C build install && cd .. && rm -rf $dir && continue ;; + *) CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib32/pkgconfig ./configure $XORG_CONFIG $libdir $host $docdir ;; + esac + + make -j$(nproc) + make DESTDIR=$PWD/tmpdestdir install + + mkdir -p {destdir}/usr/lib32 + cp -vR tmpdestdir/usr/lib32/* {destdir}/usr/lib32 + + cd .. + rm -rf $dir + ldconfig + done +EOF""", # Make tarball + manifests f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", diff --git a/xwayland.recipe.py b/xwayland.recipe.py index 716c4b0..0bbfde1 100755 --- a/xwayland.recipe.py +++ b/xwayland.recipe.py @@ -1,5 +1,5 @@ pkgname = "xwayland" -pkgver = "24.1.12" +pkgver = "24.1.13" 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}" @@ -15,7 +15,7 @@ build = [ # 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"cd {builddir}/build && DESTDIR={destdir} ninja install && rm -rf {destdir}/usr/bin/Xvfb", f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE",