76 lines
2.5 KiB
Python
76 lines
2.5 KiB
Python
pkgname = "hyprland-libs"
|
|
pkgver = "0.53.1" # MAKE SURE TO UPDATE PACKAGE LIST
|
|
source = f"https://github.com/hyprwm/Hyprland/releases/download/v{pkgver}/source-v{pkgver}.tar.gz"
|
|
builddir = f"/tmp/fempkg/build/{pkgname}/hyprland-source"
|
|
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
|
|
outputdir = "/home/gabry/lfs-repo/binpkg"
|
|
manifestdir = "/home/gabry/lfs-repo/manifests"
|
|
destdir = f"{fembuilddir}/DESTDIR"
|
|
deps = [
|
|
"cairo", "cmake", "mesa", "libdisplay-info", "libdrm", "libinput",
|
|
"libjxl", "libpng", "librsvg", "libwebp", "libzip", "libglvnd", "pixman",
|
|
"pugixml", "qt6", "seatd", "tomlplusplus", "wayland", "wayland-protocols", "hwdata", "muparser",
|
|
]
|
|
|
|
build = [
|
|
# Extract
|
|
f"mkdir -p /tmp/fempkg/build {fembuilddir} && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/source-v{pkgver}.tar.gz",
|
|
|
|
# Fetch library list and archives
|
|
f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/hypr-list",
|
|
f"cd {builddir} && mkdir hyprlib && cd hyprlib && grep -v '^#' ../hypr-list | wget -i- -c -B https://github.com/hyprwm/",
|
|
|
|
# Build each library
|
|
f"""cd {builddir}/hyprlib && bash -c '
|
|
for package in $(grep -v "^#" ../hypr-list); do
|
|
package=$(basename "$package")
|
|
packagedir=${{package%.tar.?z*}}
|
|
packagedir=$(echo -n "$packagedir" | sed "s/-v\\([0-9]\\)/-\\1/")
|
|
echo ">>> Building $packagedir"
|
|
|
|
tar -xf $package
|
|
pushd $packagedir >/dev/null
|
|
|
|
mkdir -p build
|
|
cd build
|
|
|
|
if [[ "$packagedir" == hyprland-protocols-* ]]; then
|
|
meson setup --prefix=/usr --buildtype=release ..
|
|
else
|
|
cmake -D CMAKE_INSTALL_PREFIX=/usr \\
|
|
-D CMAKE_BUILD_TYPE=Release \\
|
|
-D CMAKE_SKIP_INSTALL_RPATH=ON \\
|
|
-D INSTALL_QML_PREFIX=/lib/qt6/qml \\
|
|
-D DISABLE_TESTS=ON \\
|
|
-D BUILD_TESTING=OFF \\
|
|
-W no-dev -G Ninja ..
|
|
fi
|
|
|
|
ninja
|
|
DESTDIR={destdir} ninja install
|
|
|
|
# Copy license files
|
|
mkdir -p {destdir}/usr/share/licenses/$packagedir
|
|
for f in LICENSE COPYING COPYRIGHT; do
|
|
[ -f "../$f" ] && cp "../$f" {destdir}/usr/share/licenses/$packagedir/ || true
|
|
[ -f "$f" ] && cp "$f" {destdir}/usr/share/licenses/$packagedir/ || true
|
|
done
|
|
|
|
popd >/dev/null
|
|
rm -rf $packagedir
|
|
/sbin/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 {builddir} {fembuilddir}"
|
|
]
|
|
|
|
triggers = [
|
|
f"/sbin/ldconfig"
|
|
]
|