Compare commits

...

4 Commits

4 changed files with 135 additions and 0 deletions

29
acpica.recipe.py Normal file
View File

@@ -0,0 +1,29 @@
pkgname = "acpica"
pkgver = "20251212" # why even use dates as version numbers?
source = f"https://github.com/acpica/acpica/archive/refs/tags/{pkgver}"
builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["glibc"] # alpine linux must be crying
build = [
# extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgver}",
# compile very short
f"cd {builddir} && make -j$(nproc)",
f"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}"
]

43
mvisor.recipe.py Normal file
View File

@@ -0,0 +1,43 @@
pkgname = "mvisor"
pkgver = "8f9f37d" # hi from alerk
source = f"https://github.com/tenclass/mvisor/archive/refs/heads/master.zip"
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 = ["acpica", "virglrenderer", "sdl2", "yaml-cpp", "pixman"]
build = [
# extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && unzip /var/lib/fempkg/pkgs/master.zip",
# patch meson.build to not fail and for copy
f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/mvisor.patch && patch -p1 <mvisor.patch",
# compile
f"cd {builddir} && mkdir build && cd build && meson setup .. -Dsdl=true -Dvgpu=true && ninja",
f"cd {builddir}/build && DESTDIR={destdir} ninja install",
f"cd {builddir} && mkdir -p {destdir}/usr/local/share/mvisor && cp share config {destdir}/usr/local/share/mvisor -r",
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}",
# tell user how to use mvisor cuz p
f"echo",
f"echo Howdy! Welcome to MVisor, a nice alternative to QEMU.",
f"echo You must be new to MVisor, right? Don't worry! there is a sample.yaml in /usr/local/share/mvisor/config ready to be modified to your needs.",
f"echo To launch MVisor, fire up a terminal and type",
f"echo unset DISPLAY && echo mvisor -c /path/to/your/config -vnc :0",
f"echo To view the VM display, you must use a VNC Viewer, like TigerVNC, which is available through jar.",
f"echo There is more on the official GitHub repo https://github.com/tenclass/mvisor",
f"echo Have fun!"
]

33
qemu.recipe.py Normal file
View File

@@ -0,0 +1,33 @@
pkgname = "qemu"
pkgver = "10.1.3"
source = f"https://download.qemu.org/qemu-{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", "pixman", "sdl2", "virglrenderer"]
build = [
# extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz",
# build and install!!
f"cd {builddir} && mkdir build && cd build && ../configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --target-list=x86_64-softmmu,aarch64-softmmu,i386-softmmu,arm-softmmu,ppc-softmmu,ppc64-softmmu --audio-drv-list=alsa --enable-virglrenderer --disable-pa --enable-slirp --enable-opengl --disable-docs --docdir=/usr/share/doc/qemu-{pkgver}",
f"cd {builddir}/build && make -j$(nproc) && make DESTDIR={destdir} install -j$(nproc)",
# license cuz p
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
f"rm -rf {fembuilddir}"
]
triggers = [
f"usermod -a -G kvm $(cat /var/lib/fempkg/username ) || true"
]

30
virglrenderer.recipe.py Normal file
View File

@@ -0,0 +1,30 @@
pkgname = "virglrenderer"
pkgver = "1.2.0"
source = f"https://rocketleaguechatp.duckdns.org/virglrenderer-{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 = ["mesa"]
build = [
# extract
f"mkdir -p {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.gz",
# build
f"cd {builddir} && mkdir build && cd build && meson setup .. --prefix=/usr",
f"cd {builddir}/build && ninja && DESTDIR={destdir} ninja install",
# manifest and license
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}"
]