Femboyos 2 full rewrite full working CI
This commit is contained in:
102
kf6.recipe.py
Normal file
102
kf6.recipe.py
Normal file
@@ -0,0 +1,102 @@
|
||||
# TODO when a new kf6 ver drops update also the single kapidox recipe (and breeze-icons and extra-cmake-modules and k3b)
|
||||
pkgname = "kf6"
|
||||
pkgver = "6.20.0"
|
||||
Pkgver = pkgver[:4]
|
||||
source = f"https://download.kde.org/stable/frameworks/{Pkgver}/attica-{pkgver}.tar.xz"
|
||||
bbuilddir = f"/tmp/fempkg/build/{pkgname}/attica-{pkgver}"
|
||||
builddir = f"{bbuilddir}/kf6"
|
||||
fembuilddir = f"/tmp/fempkg/build/{pkgname}"
|
||||
outputdir = "/home/gabry/lfs-repo/binpkg"
|
||||
manifestdir = "/home/gabry/lfs-repo/manifests"
|
||||
destdir = f"{fembuilddir}/DESTDIR"
|
||||
deps = ["gpgmepp", "aspell","extra-cmake-modules", "breeze-icons", "libcanberra", "libgcrypt", "libical", "lmdb", "qca", "libqrencode", "plasma-wayland-protocols", "shared-mime-info", "URI", "wget"]
|
||||
|
||||
build = [
|
||||
# Extract
|
||||
f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/attica-{pkgver}.tar.xz && mkdir {builddir}",
|
||||
|
||||
# 64-bit build
|
||||
f"cd {builddir} && export url=https://rocketleaguechatp.duckdns.org/kf6/ && wget -r -nH -nd -A '*.xz' -np $url || true",
|
||||
f"cd {builddir} && wget https://rocketleaguechatp.duckdns.org/frameworks-{pkgver}.md5",
|
||||
f"""cd {builddir} &&
|
||||
mkdir -p {destdir}$KF6_PREFIX
|
||||
|
||||
while read -r line; do
|
||||
|
||||
# Get the file name, ignoring comments and blank lines
|
||||
if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
|
||||
file=$(echo $line | cut -d" " -f2)
|
||||
|
||||
pkg=$(echo $file|sed 's|^.*/||') # Remove directory
|
||||
packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory
|
||||
|
||||
name=$(echo $pkg|sed 's|-6.*$||') # Isolate package name
|
||||
|
||||
tar -xf $file
|
||||
pushd $packagedir
|
||||
|
||||
# kapidox is a python module
|
||||
case $name in
|
||||
kapidox)
|
||||
pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
|
||||
pip3 install --root={destdir} --no-index --find-links dist --no-user --force-reinstall --no-deps kapidox
|
||||
install -v -d -m755 {destdir}/usr/share/licenses/kapidox/
|
||||
install -v -m644 ./LICENSES/BSD-2-Clause.txt {destdir}/usr/share/licenses/kapidox/BSD-2-Clause.txt
|
||||
install -v -m644 ./LICENSES/CC0-1.0.txt {destdir}/usr/share/licenses/kapidox/CC0-1.0.txt
|
||||
install -v -m644 ./LICENSES/LGPL-3.0-or-later.txt {destdir}/usr/share/licenses/kapidox/LGPL-3.0-or-later.txt
|
||||
popd
|
||||
rm -rf $packagedir
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake -D CMAKE_INSTALL_PREFIX=$KF6_PREFIX \\
|
||||
-D CMAKE_INSTALL_LIBEXECDIR=libexec \\
|
||||
-D CMAKE_PREFIX_PATH=$QT6DIR \\
|
||||
-D CMAKE_SKIP_INSTALL_RPATH=ON \\
|
||||
-D CMAKE_BUILD_TYPE=Release \\
|
||||
-D BUILD_TESTING=OFF \\
|
||||
-D BUILD_PYTHON_BINDINGS=OFF \\
|
||||
-W no-dev ..
|
||||
make -j$(nproc)
|
||||
make DESTDIR={destdir} install
|
||||
mkdir -p "{destdir}/usr/share/licenses/$name"
|
||||
|
||||
LICENSE_FILES=$(find . \\
|
||||
-regextype posix-extended \\
|
||||
-iregex '.*(LICEN[SC]E(|S)|COPYING|COPYRIGHT|LEGAL|NOTICE)(|\.txt|\.md)' \\
|
||||
-type f)
|
||||
|
||||
while read -r lf; do
|
||||
[ -z "$lf" ] && continue
|
||||
relpath=$(echo "$lf" | sed 's|^\./||')
|
||||
install -Dm644 "$lf" \\
|
||||
"{destdir}/usr/share/licenses/$name/$relpath"
|
||||
done <<< "$LICENSE_FILES"
|
||||
popd
|
||||
|
||||
rm -rf $packagedir
|
||||
/sbin/ldconfig
|
||||
|
||||
done < frameworks-{pkgver}.md5
|
||||
""",
|
||||
|
||||
# Rename and link inside DESTDIR instead of system root
|
||||
f"cd {destdir}/opt && mv -v kf6 kf6-{pkgver} && ln -sfvn kf6-{pkgver} kf6",
|
||||
f"rm -rf {destdir}/opt/kf6/lib/systemd || true",
|
||||
|
||||
# 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 && find /opt -maxdepth 1 -type d -name \"kf6-*\" ! -name \"kf6-{pkgver}\" -exec rm -rf {{}} +",
|
||||
f"/sbin/ldconfig"
|
||||
]
|
||||
Reference in New Issue
Block a user