Use quotes in windows build script

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
This commit is contained in:
Maxim Logaev 2024-03-12 13:53:56 +03:00
parent ca1f97e243
commit 89d84edd8e

View file

@ -1,24 +1,9 @@
#!/bin/bash #!/bin/bash
set -e set -e
DIST_DIR=${PWD}/windows-installer/win64-dist DIST_DIR="$PWD/windows-installer/win64-dist"
JOBS=$NUMBER_OF_PROCESSORS JOBS=$NUMBER_OF_PROCESSORS
download_yolort()
{
file_name=cppwinrt-2.0.210122.3+windows-10.0.19041+yolort-835cd4e.zip
original_folder=${PWD}
cd plugins\\windows-notification
mkdir -p yolort
cd yolort
curl -L -O https://github.com/LAGonauta/YoloRT/releases/download/v1.0.0/${file_name}
echo "675a6d943c97b4acdbfaa473f68d3241d1798b31a67b5529c8d29fc0176a1707 ${file_name}" | sha256sum --check --status
unzip -o ${file_name}
rm ${file_name}
cd ${original_folder}
}
msg() msg()
{ {
echo -e "\e[32m$1\e[0m" echo -e "\e[32m$1\e[0m"
@ -30,6 +15,18 @@ fatal()
exit 1 exit 1
} }
download_yolort()
{
file_name=cppwinrt-2.0.210122.3+windows-10.0.19041+yolort-835cd4e.zip
yolort_dir="$PWD/plugins/windows-notification/yolort"
mkdir "$yolort_dir"
curl -L -o "$file_name" "https://github.com/LAGonauta/YoloRT/releases/download/v1.0.0/$file_name"
echo "675a6d943c97b4acdbfaa473f68d3241d1798b31a67b5529c8d29fc0176a1707 $file_name" | sha256sum --check --status
unzip -o "$file_name" -d "$yolort_dir"
rm -f "$file_name"
}
prepare() prepare()
{ {
msg "Installing MINGW64 build dependencies" msg "Installing MINGW64 build dependencies"
@ -74,14 +71,14 @@ prepare()
configure() configure()
{ {
msg "Running configuration for Windows" msg "Running configuration for Windows"
./configure --program-prefix=$DIST_DIR --no-debug --release --disable-fast-vapi --with-libsoup3 ./configure --program-prefix="$DIST_DIR" --no-debug --release --disable-fast-vapi --with-libsoup3
msg "Configured!" msg "Configured!"
} }
build() build()
{ {
msg "Started building on $JOBS threads" msg "Started building on $JOBS threads"
make -j$JOBS make -j"$JOBS"
msg "Successfully builded!" msg "Successfully builded!"
} }
@ -91,15 +88,15 @@ dist_install()
make install make install
msg "Copying MINGW64 dependencies" msg "Copying MINGW64 dependencies"
cp /mingw64/bin/gdbus.exe $DIST_DIR/bin cp /mingw64/bin/gdbus.exe "$DIST_DIR/bin"
cp /mingw64/bin/gspawn-win64-helper.exe $DIST_DIR/bin cp /mingw64/bin/gspawn-win64-helper.exe "$DIST_DIR/bin"
cp /mingw64/bin/libcrypto-*-x64.dll $DIST_DIR/bin/ cp /mingw64/bin/libcrypto-*-x64.dll "$DIST_DIR/bin/"
cp -r /mingw64/lib/gstreamer-1.0 $DIST_DIR/lib cp -r /mingw64/lib/gstreamer-1.0 "$DIST_DIR/lib"
mkdir -p $DIST_DIR/lib/gdk-pixbuf-2.0/ && cp -r /mingw64/lib/gdk-pixbuf-2.0 $DIST_DIR/lib/ mkdir -p "$DIST_DIR/lib/gdk-pixbuf-2.0/" && cp -r /mingw64/lib/gdk-pixbuf-2.0 "$DIST_DIR/lib/"
mkdir -p $DIST_DIR/lib/gio/ && cp -r /mingw64/lib/gio $DIST_DIR/lib/ mkdir -p "$DIST_DIR/lib/gio/" && cp -r /mingw64/lib/gio "$DIST_DIR/lib/"
list=`find $DIST_DIR -type f \( -name "*.exe" -o -name "*.dll" \) -exec \ list=`find "$DIST_DIR" -type f \( -name "*.exe" -o -name "*.dll" \) -exec \
ntldd -R {} + | \ ntldd -R {} + | \
grep "mingw64" | \ grep "mingw64" | \
cut -f1 -d "=" | sort | uniq` cut -f1 -d "=" | sort | uniq`
@ -108,23 +105,23 @@ dist_install()
done done
msg "Removing debug information from all EXE and DLL files" msg "Removing debug information from all EXE and DLL files"
find $DIST_DIR -iname "*.exe" -exec strip -s {} + find "$DIST_DIR" -iname "*.exe" -exec strip -s {} +
find $DIST_DIR -iname "*.dll" -exec strip -s {} + find "$DIST_DIR" -iname "*.dll" -exec strip -s {} +
find $DIST_DIR -iname "*.a" -exec rm {} + find "$DIST_DIR" -iname "*.a" -exec rm {} +
msg "Removing redudant header files" msg "Removing redudant header files"
rm -rf $DIST_DIR/include rm -rf "$DIST_DIR/include"
msg "Copy LICENSE" msg "Copy LICENSE"
cp -f ${PWD}/LICENSE $DIST_DIR/LICENSE cp -f "$PWD/LICENSE" "$DIST_DIR/LICENSE"
msg "Copy icons, themes, locales and fonts" msg "Copy icons, themes, locales and fonts"
cp -f ${PWD}/main/dino.ico $DIST_DIR/dino.ico cp -f "$PWD/main/dino.ico" "$DIST_DIR/dino.ico"
cp -rf /mingw64/share/xml $DIST_DIR/share cp -rf "/mingw64/share/xml" "$DIST_DIR/share"
mkdir -p $DIST_DIR/etc/fonts && cp -r /mingw64/etc/fonts $DIST_DIR/etc/ mkdir -p "$DIST_DIR/etc/fonts" && cp -r /mingw64/etc/fonts "$DIST_DIR/etc/"
mkdir -p $DIST_DIR/share/icons && cp -r /mingw64/share/icons $DIST_DIR/share/ mkdir -p "$DIST_DIR/share/icons" && cp -r /mingw64/share/icons "$DIST_DIR/share/"
mkdir -p $DIST_DIR/share/glib-2.0/schemas && cp -rf /mingw64/share/glib-2.0/schemas $DIST_DIR/share/glib-2.0/ mkdir -p "$DIST_DIR/share/glib-2.0/schemas" && cp -rf /mingw64/share/glib-2.0/schemas "$DIST_DIR/share/glib-2.0/"
msg "Successfully installed!" msg "Successfully installed!"
} }
@ -140,7 +137,7 @@ build_installer()
clean() clean()
{ {
rm -rf build $DIST_DIR rm -rf build "$DIST_DIR"
msg "Build artifacts removed successfull!" msg "Build artifacts removed successfull!"
} }
@ -161,7 +158,7 @@ Running without parameters is equivalent to running:
EOF EOF
} }
if [[ $(uname) != "MINGW64_NT"* ]]; then if [[ "$(uname)" != "MINGW64_NT"* ]]; then
fatal "This is not a MINGW64 environment!" fatal "This is not a MINGW64 environment!"
fi fi