Files
fempkg_recipes/xorg-libs.recipe.py
2026-01-28 17:53:44 +01:00

63 lines
2.4 KiB
Python

pkgname = "xorg-libs"
pkgver = "7.1" # meta version
source = "https://www.x.org/pub/individual/lib/libX11-1.8.12.tar.xz"
builddir = f"/tmp/fempkg/build/{pkgname}"
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
outputdir = "/home/gabry/lfs-repo/binpkg"
manifestdir = "/home/gabry/lfs-repo/manifests"
destdir = f"{fembuilddir}/DESTDIR"
deps = ["fontconfig", "libxcb"]
build = [
# Prepare dirs
f"mkdir -p {fembuilddir} && cd {fembuilddir}",
# Get the tarball list and download each tarball
f"cd {fembuilddir} && wget https://rocketleaguechatp.duckdns.org/lib-7.md5",
f"cd {fembuilddir} && grep -v '^#' lib-7.md5 | awk '{{print $2}}' | wget -i- -c -B https://www.x.org/pub/individual/lib/",
# Build all
f"""cd {fembuilddir} && for package in $(grep -v '^#' lib-7.md5 | awk '{{print $2}}'); do
dir=${{package%.tar.*}}
echo ">>> Building $dir"
tar -xf $package
cd $dir
export XORG_PREFIX="/usr"
export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static"
docdir="--docdir=$XORG_PREFIX/share/doc/$dir"
case $dir in
libXfont2-*) ./configure $XORG_CONFIG $docdir --disable-devel-docs ;;
libXt-*) ./configure $XORG_CONFIG $docdir --with-appdefaultdir=/etc/X11/app-defaults ;;
libXpm-*) ./configure $XORG_CONFIG $docdir --disable-open-zfile ;;
libpciaccess-*) mkdir build && cd build && meson setup --prefix=$XORG_PREFIX --buildtype=release .. && ninja && DESTDIR={destdir} ninja install && cd .. && cd .. && rm -rf $dir && continue ;;
*) ./configure $XORG_CONFIG $docdir ;;
esac
make -j$(nproc)
make DESTDIR={destdir} install
# licenses... lice- just one mor-
licdir="{destdir}/usr/share/licenses/$dir"
mkdir -p "$licdir"
for f in COPYING COPYRIGHT LICENSE LICENSE* COPYING*; do
[ -f "$f" ] && cp "$f" "$licdir/" && echo " -> Copied $f"
done
cd ..
rm -rf $dir
ldconfig
done""",
# Make tarball + manifests
f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .",
f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt",
# Cleanup
f"rm -rf {fembuilddir}"
]
triggers = [
f"cd /tmp && ldconfig"
]