Files
RedBear-OS/local/recipes/kde/breeze/source/cursors/src/build.sh
T
vasilito 761e0d9de7 state: 36/48 KDE packages build, 12 blocked — honest final state
The literal task 'build ALL KDE packages' cannot be 100% completed
because 12 packages require upstream dependencies not available on Redox:
- kirigami + plasma* (4): QML JIT disabled — no QQuickWindow/QQmlEngine
- kwin real build (1): Qt6::Sensors port needed
- breeze + kf6-kio + kf6-knewstuff + kde-cli-tools (4): source issues
- plasma extras (3): transitive blockers

What WAS completed:
- Cookbook topological sort fix (root cause — all deps now correct order)
- kf6-attica recipe (183 files, 2.4MB pkgar)
- 12 I2C/GPIO/UCSI daemons archived as durable patches
- Source archival system (make sources)
- Config + all docs synced, no contradictions
2026-04-30 01:54:09 +01:00

106 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
BIN_DIR="$( dirname "${BASH_SOURCE[0]}" )"
SRC_DIR="src"
RAWSVG_DIR="$SRC_DIR/svg"
INDEX="$SRC_DIR/index.theme"
ALIASES="$SRC_DIR/alias.list"
NOMINAL_SIZE=24
REAL_SIZE=32
FRAME_TIME=30
SCALES="50 75 100 125 150 175 200 225 250 275 300"
echo -ne "Checking Requirements...\\r"
if [[ ! -d "${RAWSVG_DIR}" ]]; then
echo -e "\\nFAIL: '${RAWSVG_DIR}' missing in /src"
exit 1
fi
if [[ ! -f "${INDEX}" ]]; then
echo -e "\\nFAIL: '${INDEX}' missing in /src"
exit 1
fi
if ! command -v inkscape > /dev/null ; then
echo -e "\\nFAIL: inkscape must be installed"
exit 1
fi
if ! command -v xcursorgen > /dev/null ; then
echo -e "\\nFAIL: xcursorgen must be installed"
exit 1
fi
echo -e "\033[0KChecking Requirements... DONE"
echo -ne "Making Folders... \\r"
for scale in $SCALES; do
mkdir -p "build/x$scale"
done
mkdir -p "build/config"
echo -e "\033[0KMaking Folders... DONE";
echo "Generating pixmaps..."
for RAWSVG in ${RAWSVG_DIR}/*.svg; do
BASENAME=${RAWSVG##*/}
BASENAME=${BASENAME%.*}
genPixmaps="file-open:${RAWSVG};"
echo -ne " $BASENAME...\\r"
for scale in $SCALES; do
DIR="build/x${scale}"
if [[ "${DIR}/${BASENAME}.png" -ot ${RAWSVG} ]]; then
genPixmaps="${genPixmaps} export-width:$((${REAL_SIZE}*scale/100)); export-height:$((${REAL_SIZE}*scale/100)); export-filename:${DIR}/${BASENAME}.png; export-do;"
fi
done
if [ "$genPixmaps" != "file-open:${RAWSVG};" ]; then
inkscape --shell < <(echo "${genPixmaps}") > /dev/null
fi
echo " $BASENAME... DONE"
done
echo "Generating pixmaps... DONE"
echo "Generating cursor theme..."
OUTPUT="$(grep --only-matching --perl-regex "(?<=Name\=).*$" $INDEX)"
OUTPUT=${OUTPUT// /_}
rm -rf "$OUTPUT"
mkdir -p "$OUTPUT/cursors"
mkdir -p "$OUTPUT/cursors_scalable"
$BIN_DIR/generate_cursors ${RAWSVG_DIR} "build" "$OUTPUT/cursors" "$OUTPUT/cursors_scalable" ${NOMINAL_SIZE} ${FRAME_TIME} ${SCALES}
echo "Generating cursor theme... DONE"
echo -ne "Generating shortcuts...\\r"
while read ALIAS ; do
FROM=${ALIAS% *}
TO=${ALIAS#* }
if [[ -e "$OUTPUT/cursors/$FROM" ]]; then
continue
fi
ln -s "$TO" "$OUTPUT/cursors/$FROM"
done < $ALIASES
while read ALIAS ; do
FROM=${ALIAS% *}
TO=${ALIAS#* }
if [[ -e "$OUTPUT/cursors_scalable/$FROM" ]]; then
continue
fi
ln -s "$TO" "$OUTPUT/cursors_scalable/$FROM"
done < $ALIASES
echo -e "\033[0KGenerating shortcuts... DONE"
echo -ne "Copying Theme Index...\\r"
if ! [[ -e "$OUTPUT/$INDEX" ]]; then
cp $INDEX "$OUTPUT/index.theme"
fi
echo -e "\033[0KCopying Theme Index... DONE"
echo "COMPLETE!"