feat : add obs-studio

This commit is contained in:
2025-12-24 13:26:46 +01:00
parent dcbd17c66c
commit 8a01b427cd
15 changed files with 459 additions and 7 deletions

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

@@ -0,0 +1,31 @@
pkgname = "alsa-plugins"
pkgver = "1.2.12"
source = f"https://www.alsa-project.org/files/pub/plugins/alsa-plugins-{pkgver}.tar.bz2"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["alsa-lib", "ffmpeg", "pulseaudio"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2",
# 64-bit build
f"cd {builddir} && ./configure --sysconfdir=/etc",
f"cd {builddir} && make -j$(nproc)",
f"cd {builddir} && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/COPYING {destdir}/usr/share/licenses/{pkgname}/LICENSE",
f"install -v -m644 {builddir}/COPYING.GPL {destdir}/usr/share/licenses/{pkgname}/LICENSE.GPL",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

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

@@ -0,0 +1,29 @@
pkgname = "ffnv-codec"
pkgver = "13.0.19.0"
source = f"https://github.com/FFmpeg/nv-codec-headers/releases/download/n{pkgver}/nv-codec-headers-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/nv-codec-headers-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = []
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/nv-codec-headers-{pkgver}.tar.gz",
# 64-bit build
f"cd {builddir} && make PREFIX=/usr DESTDIR={destdir} install && mkdir -p {destdir}/usr/lib32/pkgconfig && ln -sf /usr/lib/pkgconfig/ffnvcodec.pc "
f"{destdir}/usr/lib32/pkgconfig/ffnvcodec.pc",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"wget https://mit-license.org/license.txt -O {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

View File

@@ -3,6 +3,7 @@ accountsservice.recipe.py
acl.recipe.py
adw-gtk3-theme.recipe.py
alsa-lib.recipe.py
alsa-plugins.recipe.py
android-udev.recipe.py
appstream-glib.recipe.py
appstream.recipe.py
@@ -81,6 +82,7 @@ femctl.recipe.py
fempkg-keys.recipe.py
fempkg.recipe.py
ffmpeg.recipe.py
ffnv-codec.recipe.py
fftw.recipe.py
file.recipe.py
findutils.recipe.py
@@ -160,6 +162,8 @@ inih.recipe.py
iniparser.recipe.py
inotify-tools.recipe.py
intelmedia.recipe.py
intel-mediasdk.recipe.py
intel-onevpl.recipe.py
intelvaapi.recipe.py
intltool.recipe.py
iproute2.recipe.py
@@ -204,6 +208,7 @@ libcava.recipe.py
libcdio.recipe.py
libclc.recipe.py
libdaemon.recipe.py
libdatachannel.recipe.py
libdbusmenu.recipe.py
libdisplay-info.recipe.py
libdrm.recipe.py
@@ -222,6 +227,7 @@ libical.recipe.py
libidn2.recipe.py
libinput.recipe.py
libjpeg-turbo.recipe.py
libjuice.recipe.py
libjxl.recipe.py
libkcddb.recipe.py
libksba.recipe.py
@@ -262,6 +268,7 @@ libuv.recipe.py
libva.recipe.py
libvdpau.recipe.py
libvorbis.recipe.py
libvpl.recipe.py
libwacom.recipe.py
libwebp.recipe.py
libxau.recipe.py
@@ -282,6 +289,7 @@ llvm.recipe.py
lmdb.recipe.py
lm-sensors.recipe.py
localsearch.recipe.py
luajit.recipe.py
lua.recipe.py
LVM2.recipe.py
lz4.recipe.py
@@ -290,6 +298,7 @@ make.recipe.py
man-db.recipe.py
man-pages.recipe.py
material-design-icons.recipe.py
mbedtls.recipe.py
mesa.recipe.py
MIME-Base32.recipe.py
ModemManager.recipe.py
@@ -306,6 +315,7 @@ NetworkManager.recipe.py
newt.recipe.py
nghttp2.recipe.py
ninja.recipe.py
nlohmann-json.recipe.py
nodejs.recipe.py
npth.recipe.py
NSPR.recipe.py
@@ -326,6 +336,7 @@ parted.recipe.py
patchelf.recipe.py
patch.recipe.py
pavucontrol.recipe.py
pciutils.recipe.py
pcre2.recipe.py
perl.recipe.py
pipewire.recipe.py
@@ -379,6 +390,7 @@ startup-notification.recipe.py
sudo.recipe.py
SVT-AV1.recipe.py
swappy.recipe.py
swig.recipe.py
sysklogd.recipe.py
sysvinit.recipe.py
taglib.recipe.py
@@ -393,11 +405,13 @@ umockdev.recipe.py
upower.recipe.py
URI.recipe.py
utfcpp.recipe.py
uthash.recipe.py
util-linux.recipe.py
util-macros.recipe.py
v4l-utils.recipe.py
vala.recipe.py
vim.recipe.py
vscodium.recipe.py
vulkan-headers.recipe.py
vulkan-loader.recipe.py
wayland-protocols.recipe.py

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

@@ -0,0 +1,38 @@
pkgname = "intel-mediasdk"
pkgver = "23.2.2"
source = f"https://github.com/Intel-Media-SDK/MediaSDK/archive/refs/tags/intel-mediasdk-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/MediaSDK-intel-mediasdk-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["cmake", "gmmlib", "intelmedia", "libdrm", "libva", "xorg-libs", "wayland"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
# GCC-15 patches
f"cd {builddir} && sed -i '/<string.h>/a #include <cstdint>' api/mfx_dispatch/linux/mfxparser.cpp && "
f"sed -i '/<math.h>/a #include <cstdint>' samples/sample_vpp/src/sample_vpp_frc_adv.cpp",
#configure
f"cd {builddir} && mkdir -pv build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release "
f"-D CMAKE_SKIP_INSTALL_RPATH=ON -D CMAKE_POLICY_VERSION_MINIMUM=3.5 -D BUILD_ALL=ON -D BUILD_TOOLS=ON " # quickshell MIGHT be in danger
f"-D ENABLE_ITT=OFF -D ENABLE_OPENCL=OFF -D ENABLE_WAYLAND=ON -D ENABLE_X11_DRI3=ON -D MFX_APPS_DIR=/usr/lib/mfx -W no-dev .. ",
#build
f"cd {builddir}/build && make -j$(nproc)",
f"cd {builddir}/build && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

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

@@ -0,0 +1,33 @@
pkgname = "intel-onevpl"
pkgver = "25.4.5"
source = f"https://github.com/intel/vpl-gpu-rt/archive/refs/tags/intel-onevpl-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/vpl-gpu-rt-intel-onevpl-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["cmake", "gmmlib", "intelmedia", "libdrm", "libva"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
#configure
f"cd {builddir} && mkdir -pv build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release "
f"-D CMAKE_SKIP_INSTALL_RPATH=ON -D BUILD_TESTS=OFF -D MFX_ENABLE_AENC=ON -W no-dev ..",
#build
f"cd {builddir}/build && make -j$(nproc)",
f"cd {builddir}/build && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

37
libdatachannel.recipe.py Normal file
View File

@@ -0,0 +1,37 @@
pkgname = "libdatachannel"
pkgver = "0.24.0"
source = f"https://github.com/paullouisageneau/libdatachannel/archive/v{pkgver}/libdatachannel-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["cmake", "libjuice"]
build = [
# Extract & download additional submodules
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz && "
f"wget https://github.com/SergiusTheBest/plog/archive/94899e0b926ac1b0f4750bfbd495167b4a6ae9ef.tar.gz "
f"https://github.com/sctplab/usrsctp/archive/fec583d54493f879d2ae44a743423bf8a04371ab.tar.gz",
# extract and rename submodules
f"cd {builddir} && tar -xvf ../94899e0b926ac1b0f4750bfbd495167b4a6ae9ef.tar.gz && tar -xvf ../fec583d54493f879d2ae44a743423bf8a04371ab.tar.gz",
f"cd {builddir} && mv -T plog-* deps/plog && mv -T usrsctp-* deps/usrsctp",
# configure
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_INSTALL_RPATH=ON "
f"-D USE_GNUTLS=0 -D USE_NICE=0 -D USE_SYSTEM_JUICE=1 -D USE_SYSTEM_SRTP=1 -D NO_EXAMPLES=1 -D NO_TESTS=1 -Wno-dev -G Ninja ..",
# build & install
f"cd {builddir}/build && ninja && DESTDIR={destdir} ninja install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

32
libjuice.recipe.py Normal file
View File

@@ -0,0 +1,32 @@
pkgname = "libjuice"
pkgver = "1.7.0"
source = f"https://github.com/paullouisageneau/libjuice/archive/v{pkgver}/libjuice-{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 "
f"-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 {fembuilddir}"
]

33
libvpl.recipe.py Normal file
View File

@@ -0,0 +1,33 @@
pkgname = "libvpl"
pkgver = "2.15.0"
source = f"https://github.com/intel/libvpl/archive/refs/tags/v{pkgver}/libvpl-{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", "gmmlib", "intelmedia", "libdrm", "libva"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
#configure
f"cd {builddir} && mkdir -pv build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_INSTALL_SYSCONFDIR=/etc "
f"-D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_INSTALL_RPATH=ON -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=ON -W no-dev ..",
#build
f"cd {builddir}/build && make -j$(nproc)",
f"cd {builddir}/build && make DESTDIR={destdir} install",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

29
luajit.recipe.py Normal file
View File

@@ -0,0 +1,29 @@
pkgname = "luajit"
pkgver = "20250816"
source = f"https://anduin.linuxfromscratch.org/BLFS/luajit/luajit-{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} && make PREFIX=/usr amalg -j$(nproc)",
f"cd {builddir} && make PREFIX=/usr DESTDIR={destdir} install && rm -v {destdir}/usr/lib/libluajit-5.1.a",
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}"
]

33
mbedtls.recipe.py Normal file
View File

@@ -0,0 +1,33 @@
pkgname = "mbedtls"
pkgver = "3.6.5"
source = f"https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-{pkgver}/mbedtls-{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 = ["cmake"]
build = [
# Extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.bz2",
# 64-bit build
f"cd {builddir} && mkdir build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release "
f"-D CMAKE_SKIP_RPATH=ON -D USE_SHARED_MBEDTLS_LIBRARY=ON -D USE_STATIC_MBEDTLS_LIBRARY=OFF -D ENABLE_TESTING=OFF -G Ninja ..",
f"cd {builddir}/build && ninja",
f"cd {builddir}/build && DESTDIR=$PWD/tmpdestdir ninja install && cd tmpdestdir/usr/bin && for i in *; do mv -v {{,mbedtls_}}$i; "
f"done && cd {builddir}/build && mkdir -p {destdir}/usr && cp -vR tmpdestdir/usr/* {destdir}/usr",
f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/",
f"install -v -m644 {builddir}/LICENSE {destdir}/usr/share/licenses/{pkgname}/LICENSE",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]

33
nlohmann-json.recipe.py Normal file
View File

@@ -0,0 +1,33 @@
pkgname = "nlohmann-json"
pkgver = "3.12.0"
source = f"https://github.com/nlohmann/json/archive/v{pkgver}/json-{pkgver}.tar.gz"
builddir = f"/tmp/fempkg/build/{pkgname}/json-{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/json-{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"JSON_BuildTests=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.MIT {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 {fembuilddir}"
]

View File

@@ -1,18 +1,40 @@
pkgname = "obs-studio"
pkgver = "31.1.2"
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}"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}-sources"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
deps = ["cmake"]
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",
"libdatachannel", "pipewire", "xdg-desktop-portal", "pulseaudio", "swig", "luajit", "v4l-utils", "nlohmann-json"]
build = [
# Extract
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/OBS-Studio-{pkgver}-Sources.tar.gz",
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/OBS-Studio-{pkgver}-Sources.tar.gz && "
f"wget https://glfs-book.github.io/slfs/patches/obs/obs-studio-{pkgver}-qt6.10-1.patch https://cdn-fastly.obsproject.com/downloads/"
f"cef_binary_6533_linux_x86_64.tar.xz",
# apply qt6.10.x,ffmpeg 8.x patch and add CEF
f"cd {builddir} && patch -Np1 -i ../obs-studio-{pkgver}-qt6.10-1.patch && sed -i 's/FF_/AV_/g' plugins/obs-ffmpeg/obs-ffmpeg-vaapi.c && "
f"tar -xf ../cef_binary_6533_linux_x86_64.tar.xz && mv cef_binary_6533_linux_x86_64 cef-6533",
f"cd {builddir} && mkdir -pv build && cd build && cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release "
f"-D CMAKE_SKIP_INSTALL_RPATH=ON -D ENABLE_BROWSER=ON -D CEF_ROOT_DIR=../cef-6533 -D ENABLE_AJA=OFF -D ENABLE_JACK=OFF "
f"-D ENABLE_WEBSOCKET=OFF -D ENABLE_SPEEXDSP=OFF -D ENABLE_VLC=OFF -D ENABLE_NEW_MPEGTS_OUTPUT=OFF -D OBS_COMPILE_DEPRECATION_AS_WARNING=ON "
f"-G Ninja -Wno-dev .. ", # WHO is gonna win atp
# 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",
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",
f"install -v -m644 {builddir}/cef-6533/LICENSE.txt {destdir}/usr/share/licenses/{pkgname}/LICENSE.CEF",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {builddir} {fembuilddir}"

30
pciutils.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "pciutils"
pkgver = "3.14.0"
source = f"https://mj.ucw.cz/download/linux/pci/pciutils-{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 = ["hwdata"]
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 -r '/INSTALL/{{/PCI_IDS|update-pciids /d; s/update-pciids.8//}}' -i Makefile",
f"cd {builddir} && make PREFIX=/usr SHAREDIR=/usr/share/hwdata SHARED=yes -j$(nproc)",
f"cd {builddir} && make PREFIX=/usr DESTDIR={destdir} SHAREDIR=/usr/share/hwdata SHARED=yes install install-lib && chmod -v 755 {destdir}/usr/lib/libpci.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}"
]

30
swig.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "swig"
pkgver = "4.4.1"
source = f"https://rocketleaguechatp.duckdns.org/swig-{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 && mkdir -p {destdir}/usr/share/doc && cp -v -R Doc -T {destdir}/usr/share/doc/swig-{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 {fembuilddir}"
]

28
uthash.recipe.py Normal file
View File

@@ -0,0 +1,28 @@
pkgname = "uthash"
pkgver = "2.3.0"
source = f"https://github.com/troydhanson/uthash/archive/v{pkgver}/uthash-{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 = [] # good hello and
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 {destdir}/usr/include && cp -av include/* {destdir}/usr/include",
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}"
]