Update package and setup to build and utilize separate libs archives
This commit is contained in:
parent
d08f30f2dc
commit
414548163c
|
|
@ -20,9 +20,11 @@ check_command() {
|
||||||
|
|
||||||
check_command "curl"
|
check_command "curl"
|
||||||
check_command "gnome-shell"
|
check_command "gnome-shell"
|
||||||
|
check_command "jq"
|
||||||
|
|
||||||
ARCH=$(uname -m)
|
ARCH=$(uname -m)
|
||||||
FILE_NAME="breezyGNOME-$ARCH.tar.gz"
|
FILE_NAME="breezyGNOME-$ARCH.tar.gz"
|
||||||
|
LIBS_FILE_NAME="breezyGNOME-libs-$ARCH.tar.gz"
|
||||||
GNOME_VERSION=$(gnome-shell --version | cut -d' ' -f3 | cut -d'.' -f1)
|
GNOME_VERSION=$(gnome-shell --version | cut -d' ' -f3 | cut -d'.' -f1)
|
||||||
VERSION_SPECIFIC_FILENAME="breezyGNOME-$GNOME_VERSION-$ARCH.tar.gz"
|
VERSION_SPECIFIC_FILENAME="breezyGNOME-$GNOME_VERSION-$ARCH.tar.gz"
|
||||||
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/wheaney/breezy-desktop/releases/latest")
|
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/wheaney/breezy-desktop/releases/latest")
|
||||||
|
|
@ -44,35 +46,68 @@ pushd $tmp_dir > /dev/null
|
||||||
echo "Created temp directory: ${tmp_dir}"
|
echo "Created temp directory: ${tmp_dir}"
|
||||||
|
|
||||||
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/$FILE_NAME"
|
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/$FILE_NAME"
|
||||||
|
libs_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/$LIBS_FILE_NAME"
|
||||||
if [ "$1" = "-v" ]
|
if [ "$1" = "-v" ]
|
||||||
then
|
then
|
||||||
metrics_version="$2"
|
metrics_version="$2"
|
||||||
binary_path_arg="$3"
|
local_dir_arg="$3"
|
||||||
elif [ "$1" = "--tag" ] && [ -n "$2" ]
|
elif [ "$1" = "--tag" ] && [ -n "$2" ]
|
||||||
then
|
then
|
||||||
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/$FILE_NAME"
|
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/$FILE_NAME"
|
||||||
|
libs_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/$LIBS_FILE_NAME"
|
||||||
else
|
else
|
||||||
binary_path_arg="$1"
|
local_dir_arg="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$local_dir_arg" ]
|
||||||
|
then
|
||||||
|
if [[ "$local_dir_arg" = /* ]]; then
|
||||||
|
local_dir="$local_dir_arg"
|
||||||
|
else
|
||||||
|
local_dir=$(realpath "$start_dir/$local_dir_arg")
|
||||||
|
fi
|
||||||
|
|
||||||
|
binary_path_arg="$local_dir/$FILE_NAME"
|
||||||
|
if [ ! -f "$binary_path_arg" ]; then
|
||||||
|
echo "Error: Breezy GNOME archive not found at $binary_path_arg" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
lib_path_arg="$local_dir/$LIBS_FILE_NAME"
|
||||||
|
if [ ! -f "$lib_path_arg" ]; then
|
||||||
|
echo "Error: Breezy GNOME libs archive not found at $lib_path_arg" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$binary_path_arg" ]
|
if [ -z "$binary_path_arg" ]
|
||||||
then
|
then
|
||||||
# download and unzip the binary
|
# download and unzip the binary
|
||||||
echo "Downloading to: ${tmp_dir}/$FILE_NAME"
|
binary_path_arg = "$FILE_NAME"
|
||||||
curl -L "$binary_download_url" > "$FILE_NAME"
|
echo "Downloading to: ${tmp_dir}/$binary_path_arg"
|
||||||
|
|
||||||
|
curl -L "$binary_download_url" > "$binary_path_arg"
|
||||||
else
|
else
|
||||||
FILE_NAME=$(basename $binary_path_arg)
|
cp "$binary_path_arg" "$tmp_dir"
|
||||||
if [[ "$binary_path_arg" = /* ]]; then
|
|
||||||
abs_path="$binary_path_arg"
|
|
||||||
else
|
|
||||||
# Convert relative path to absolute path
|
|
||||||
abs_path=$(realpath "$start_dir/$binary_path_arg")
|
|
||||||
fi
|
|
||||||
cp $abs_path $tmp_dir
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Extracting to: ${tmp_dir}/breezy_gnome"
|
echo "Extracting to: ${tmp_dir}/breezy_gnome"
|
||||||
tar -xf $FILE_NAME
|
tar -xf $(basename $binary_path_arg)
|
||||||
|
|
||||||
|
if [ -z "lib_path_arg" ]
|
||||||
|
then
|
||||||
|
lib_path_arg = "$FILE_NAME"
|
||||||
|
echo "Downloading to: ${tmp_dir}/$lib_path_arg"
|
||||||
|
|
||||||
|
curl -L "$libs_download_url" > "$lib_path_arg"
|
||||||
|
else
|
||||||
|
cp "$lib_path_arg" "$tmp_dir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Extracting lib to: ${tmp_dir}/breezy_gnome"
|
||||||
|
# Extract libs into the extracted directory
|
||||||
|
tar -xf $(basename $lib_path_arg)
|
||||||
|
mv breezy_desktop_lib/* breezy_gnome/
|
||||||
|
|
||||||
pushd breezy_gnome > /dev/null
|
pushd breezy_gnome > /dev/null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ print_missing_dependencies() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ARCH=$(uname -m)
|
ARCH=$(uname -m)
|
||||||
|
LIBS_ARCH="$ARCH"
|
||||||
if [ -f /etc/os-release ]; then
|
if [ -f /etc/os-release ]; then
|
||||||
. /etc/os-release
|
. /etc/os-release
|
||||||
if [ "$ID" == "steamos" ]; then
|
if [ "$ID" == "steamos" ]; then
|
||||||
|
|
@ -52,6 +53,7 @@ if [ -f /etc/os-release ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
FILE_NAME="breezyKWin-$ARCH.tar.gz"
|
FILE_NAME="breezyKWin-$ARCH.tar.gz"
|
||||||
|
LIBS_FILE_NAME="breezyKWin-libs-$LIBS_ARCH.tar.gz"
|
||||||
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/wheaney/breezy-desktop/releases/latest")
|
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/wheaney/breezy-desktop/releases/latest")
|
||||||
echo "Performing setup for KWin ($ARCH)"
|
echo "Performing setup for KWin ($ARCH)"
|
||||||
|
|
||||||
|
|
@ -63,15 +65,38 @@ pushd $tmp_dir > /dev/null
|
||||||
echo "Created temp directory: ${tmp_dir}"
|
echo "Created temp directory: ${tmp_dir}"
|
||||||
|
|
||||||
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/$FILE_NAME"
|
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/$FILE_NAME"
|
||||||
|
libs_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/$LIBS_FILE_NAME"
|
||||||
if [ "$1" = "-v" ]
|
if [ "$1" = "-v" ]
|
||||||
then
|
then
|
||||||
metrics_version="$2"
|
metrics_version="$2"
|
||||||
binary_path_arg="$3"
|
local_dir_arg="$3"
|
||||||
elif [ "$1" = "--tag" ] && [ -n "$2" ]
|
elif [ "$1" = "--tag" ] && [ -n "$2" ]
|
||||||
then
|
then
|
||||||
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/$FILE_NAME"
|
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/$FILE_NAME"
|
||||||
|
libs_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/$LIBS_FILE_NAME"
|
||||||
else
|
else
|
||||||
binary_path_arg="$1"
|
local_dir_arg="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$local_dir_arg" ]
|
||||||
|
then
|
||||||
|
if [[ "$local_dir_arg" = /* ]]; then
|
||||||
|
local_dir="$local_dir_arg"
|
||||||
|
else
|
||||||
|
local_dir=$(realpath "$start_dir/$local_dir_arg")
|
||||||
|
fi
|
||||||
|
|
||||||
|
binary_path_arg="$local_dir/$FILE_NAME"
|
||||||
|
if [ ! -f "$binary_path_arg" ]; then
|
||||||
|
echo "Error: Breezy KWin archive not found at $binary_path_arg" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
lib_path_arg="$local_dir/$LIBS_FILE_NAME"
|
||||||
|
if [ ! -f "$lib_path_arg" ]; then
|
||||||
|
echo "Error: Breezy KWin libs archive not found at $lib_path_arg" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$binary_path_arg" ]
|
if [ -z "$binary_path_arg" ]
|
||||||
|
|
@ -81,6 +106,7 @@ then
|
||||||
if [[ "$http_code" =~ ^(2|3) ]]; then
|
if [[ "$http_code" =~ ^(2|3) ]]; then
|
||||||
echo "Downloading to: ${tmp_dir}/$FILE_NAME"
|
echo "Downloading to: ${tmp_dir}/$FILE_NAME"
|
||||||
curl -L "$binary_download_url" -o "$FILE_NAME"
|
curl -L "$binary_download_url" -o "$FILE_NAME"
|
||||||
|
binary_path_arg="$FILE_NAME"
|
||||||
else
|
else
|
||||||
check_command "git"
|
check_command "git"
|
||||||
check_command "cmake"
|
check_command "cmake"
|
||||||
|
|
@ -150,21 +176,43 @@ then
|
||||||
fi
|
fi
|
||||||
FILE_NAME="breezyKWin-$ARCH.tar.gz"
|
FILE_NAME="breezyKWin-$ARCH.tar.gz"
|
||||||
cp "out/$FILE_NAME" "$tmp_dir"
|
cp "out/$FILE_NAME" "$tmp_dir"
|
||||||
|
binary_path_arg="$FILE_NAME"
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
|
# For source builds, we may not have a published Breezy libs artifact.
|
||||||
|
# Fetch the XR driver libs directly and wrap them in the expected Breezy libs archive format.
|
||||||
|
xr_libs_url="https://github.com/wheaney/XRLinuxDriver/releases/latest/download/xrDriver-libs-$LIBS_ARCH.tar.gz"
|
||||||
|
echo "Downloading to: ${tmp_dir}/xrDriver-libs-$LIBS_ARCH.tar.gz"
|
||||||
|
curl -L "$xr_libs_url" -o "${tmp_dir}/xrDriver-libs-$LIBS_ARCH.tar.gz"
|
||||||
|
|
||||||
|
tmp_lib_dir=$(mktemp -d -t breezy-kwin-libs-XXXXXXXXXX)
|
||||||
|
mkdir -p "$tmp_lib_dir/breezy_desktop_lib"
|
||||||
|
mv "${tmp_dir}/xrDriver-libs-$LIBS_ARCH.tar.gz" "$tmp_lib_dir/breezy_desktop_lib/"
|
||||||
|
echo "Creating ${tmp_dir}/$LIBS_FILE_NAME"
|
||||||
|
tar -zcvf "${tmp_dir}/$LIBS_FILE_NAME" -C "$tmp_lib_dir" "breezy_desktop_lib" > /dev/null
|
||||||
|
rm -rf "$tmp_lib_dir"
|
||||||
|
|
||||||
|
lib_path_arg="$LIBS_FILE_NAME"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
FILE_NAME=$(basename $binary_path_arg)
|
cp "$binary_path_arg" "$tmp_dir"
|
||||||
if [[ "$binary_path_arg" = /* ]]; then
|
fi
|
||||||
abs_path="$binary_path_arg"
|
|
||||||
else
|
if [ -z "$lib_path_arg" ]
|
||||||
# Convert relative path to absolute path
|
then
|
||||||
abs_path=$(realpath "$start_dir/$binary_path_arg")
|
echo "Downloading to: ${tmp_dir}/$LIBS_FILE_NAME"
|
||||||
fi
|
curl -L "$libs_download_url" -o "$LIBS_FILE_NAME"
|
||||||
cp $abs_path $tmp_dir
|
lib_path_arg="$LIBS_FILE_NAME"
|
||||||
|
else
|
||||||
|
cp "$lib_path_arg" "$tmp_dir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Extracting to: ${tmp_dir}/breezy_kwin"
|
echo "Extracting to: ${tmp_dir}/breezy_kwin"
|
||||||
tar -xf $FILE_NAME
|
tar -xf $(basename "$binary_path_arg")
|
||||||
|
|
||||||
|
echo "Extracting lib to: ${tmp_dir}/breezy_kwin"
|
||||||
|
tar -xf $(basename "$lib_path_arg")
|
||||||
|
mv breezy_desktop_lib/* breezy_kwin/
|
||||||
|
|
||||||
pushd breezy_kwin > /dev/null
|
pushd breezy_kwin > /dev/null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,36 +26,67 @@ pushd $tmp_dir > /dev/null
|
||||||
echo "Created temp directory: ${tmp_dir}"
|
echo "Created temp directory: ${tmp_dir}"
|
||||||
|
|
||||||
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/breezyVulkan-$ARCH.tar.gz"
|
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/breezyVulkan-$ARCH.tar.gz"
|
||||||
|
libs_download_url="https://github.com/wheaney/breezy-desktop/releases/latest/download/breezyVulkan-libs-$ARCH.tar.gz"
|
||||||
|
LIBS_FILE_NAME="breezyVulkan-libs-$ARCH.tar.gz"
|
||||||
|
FILE_NAME="breezyVulkan-$ARCH.tar.gz"
|
||||||
if [ "$1" = "-v" ]
|
if [ "$1" = "-v" ]
|
||||||
then
|
then
|
||||||
metrics_version="$2"
|
metrics_version="$2"
|
||||||
binary_path_arg="$3"
|
local_dir_arg="$3"
|
||||||
elif [ "$1" = "--tag" ] && [ -n "$2" ]
|
elif [ "$1" = "--tag" ] && [ -n "$2" ]
|
||||||
then
|
then
|
||||||
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/breezyVulkan-$ARCH.tar.gz"
|
binary_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/breezyVulkan-$ARCH.tar.gz"
|
||||||
|
libs_download_url="https://github.com/wheaney/breezy-desktop/releases/download/$2/breezyVulkan-libs-$ARCH.tar.gz"
|
||||||
else
|
else
|
||||||
binary_path_arg="$1"
|
local_dir_arg="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$local_dir_arg" ]
|
||||||
|
then
|
||||||
|
if [[ "$local_dir_arg" = /* ]]; then
|
||||||
|
local_dir="$local_dir_arg"
|
||||||
|
else
|
||||||
|
local_dir=$(realpath "$start_dir/$local_dir_arg")
|
||||||
|
fi
|
||||||
|
|
||||||
|
binary_path_arg="$local_dir/$FILE_NAME"
|
||||||
|
if [ ! -f "$binary_path_arg" ]; then
|
||||||
|
echo "Error: Breezy Vulkan archive not found at $binary_path_arg" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
lib_path_arg="$local_dir/$LIBS_FILE_NAME"
|
||||||
|
if [ ! -f "$lib_path_arg" ]; then
|
||||||
|
echo "Error: Breezy Vulkan libs archive not found at $lib_path_arg" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$binary_path_arg" ]
|
if [ -z "$binary_path_arg" ]
|
||||||
then
|
then
|
||||||
# download and unzip the binary
|
# download and unzip the binary
|
||||||
binary_path_arg="breezyVulkan-$ARCH.tar.gz"
|
binary_path_arg="$FILE_NAME"
|
||||||
echo "Downloading to: ${tmp_dir}/$binary_path_arg"
|
echo "Downloading to: ${tmp_dir}/$binary_path_arg"
|
||||||
|
|
||||||
curl -L "$binary_download_url" > "$binary_path_arg"
|
curl -L "$binary_download_url" > "$binary_path_arg"
|
||||||
else
|
else
|
||||||
if [[ "$binary_path_arg" = /* ]]; then
|
cp "$binary_path_arg" "$tmp_dir"
|
||||||
abs_path="$binary_path_arg"
|
|
||||||
else
|
|
||||||
# Convert relative path to absolute path
|
|
||||||
abs_path=$(realpath "$start_dir/$binary_path_arg")
|
|
||||||
fi
|
|
||||||
cp $abs_path $tmp_dir
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Extracting to: ${tmp_dir}/breezy_vulkan"
|
echo "Extracting to: ${tmp_dir}/breezy_vulkan"
|
||||||
tar -xf $(basename $binary_path_arg)
|
tar -xf $(basename "$binary_path_arg")
|
||||||
|
|
||||||
|
if [ -z "$lib_path_arg" ]
|
||||||
|
then
|
||||||
|
lib_path_arg="$LIBS_FILE_NAME"
|
||||||
|
echo "Downloading to: ${tmp_dir}/$lib_path_arg"
|
||||||
|
curl -L "$libs_download_url" > "$lib_path_arg"
|
||||||
|
else
|
||||||
|
cp "$lib_path_arg" "$tmp_dir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Extracting lib to: ${tmp_dir}/breezy_vulkan"
|
||||||
|
tar -xf $(basename "$lib_path_arg")
|
||||||
|
mv breezy_desktop_lib/* breezy_vulkan/
|
||||||
|
|
||||||
pushd breezy_vulkan > /dev/null
|
pushd breezy_vulkan > /dev/null
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,8 @@ fi
|
||||||
mkdir -p $PACKAGE_DIR/bin
|
mkdir -p $PACKAGE_DIR/bin
|
||||||
copy_and_inject_ua "$XR_DRIVER_DIR/bin/ua.sh" "$PACKAGE_DIR/bin" "$GNOME_DIR/bin/setup" "$GNOME_DIR/bin/breezy_gnome_verify" "$GNOME_DIR/bin/breezy_gnome_uninstall"
|
copy_and_inject_ua "$XR_DRIVER_DIR/bin/ua.sh" "$PACKAGE_DIR/bin" "$GNOME_DIR/bin/setup" "$GNOME_DIR/bin/breezy_gnome_verify" "$GNOME_DIR/bin/breezy_gnome_uninstall"
|
||||||
|
|
||||||
XR_DRIVER_BINARY=$XR_DRIVER_DIR/out/xrDriver-$ARCH.tar.gz
|
XR_DRIVER_BINARY_NAME=xrDriver-$ARCH.tar.gz
|
||||||
|
XR_DRIVER_BINARY="$XR_DRIVER_DIR/out/$XR_DRIVER_BINARY_NAME"
|
||||||
|
|
||||||
if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ] || [ "$1" == "--rebuild-all" ]; then
|
if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ] || [ "$1" == "--rebuild-all" ]; then
|
||||||
# if a file exists at custom_banner_config.yml, copy it to the xrealAirLinuxDriver directory
|
# if a file exists at custom_banner_config.yml, copy it to the xrealAirLinuxDriver directory
|
||||||
|
|
@ -75,14 +76,14 @@ fi
|
||||||
|
|
||||||
TMP_DIR=$(mktemp -d -t breezy-gnome-XXXXXXXXXX)
|
TMP_DIR=$(mktemp -d -t breezy-gnome-XXXXXXXXXX)
|
||||||
pushd $TMP_DIR
|
pushd $TMP_DIR
|
||||||
cp $XR_DRIVER_BINARY $TMP_DIR/xrDriver.tar.gz
|
cp "$XR_DRIVER_BINARY" "$TMP_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
tar -xf $TMP_DIR/xrDriver.tar.gz
|
tar -xf "$TMP_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
|
|
||||||
XR_DRIVER_MANIFEST_LINE=$(sha256sum xr_driver/manifest)
|
XR_DRIVER_MANIFEST_LINE=$(sha256sum xr_driver/manifest)
|
||||||
popd
|
popd
|
||||||
rm -rf $TMP_DIR
|
rm -rf $TMP_DIR
|
||||||
|
|
||||||
cp $XR_DRIVER_BINARY $PACKAGE_DIR/xrDriver.tar.gz
|
cp $XR_DRIVER_BINARY $PACKAGE_DIR/$XR_DRIVER_BINARY_NAME
|
||||||
cp $XR_DRIVER_DIR/bin/xr_driver_setup $PACKAGE_DIR/bin
|
cp $XR_DRIVER_DIR/bin/xr_driver_setup $PACKAGE_DIR/bin
|
||||||
|
|
||||||
$GNOME_DIR/bin/package_extension
|
$GNOME_DIR/bin/package_extension
|
||||||
|
|
|
||||||
|
|
@ -29,17 +29,18 @@ source $XR_DRIVER_DIR/bin/inject_ua
|
||||||
mkdir -p $PACKAGE_DIR/bin
|
mkdir -p $PACKAGE_DIR/bin
|
||||||
copy_and_inject_ua "$XR_DRIVER_DIR/bin/ua.sh" "$PACKAGE_DIR/bin" "$KWIN_DIR/bin/setup" "$KWIN_DIR/bin/breezy_kwin_uninstall"
|
copy_and_inject_ua "$XR_DRIVER_DIR/bin/ua.sh" "$PACKAGE_DIR/bin" "$KWIN_DIR/bin/setup" "$KWIN_DIR/bin/breezy_kwin_uninstall"
|
||||||
|
|
||||||
XR_DRIVER_BINARY=$XR_DRIVER_DIR/out/xrDriver-$ARCH.tar.gz
|
XR_DRIVER_BINARY_NAME=xrDriver-$ARCH.tar.gz
|
||||||
|
XR_DRIVER_BINARY="$XR_DRIVER_DIR/out/$XR_DRIVER_BINARY_NAME"
|
||||||
if [ "$1" == "--download-driver" ]; then
|
if [ "$1" == "--download-driver" ]; then
|
||||||
driver_download_url="https://github.com/wheaney/XRLinuxDriver/releases/latest/download/xrDriver-$ARCH.tar.gz"
|
driver_download_url="https://github.com/wheaney/XRLinuxDriver/releases/latest/download/xrDriver-$ARCH.tar.gz"
|
||||||
setup_download_url="https://github.com/wheaney/XRLinuxDriver/releases/latest/download/xr_driver_setup"
|
setup_download_url="https://github.com/wheaney/XRLinuxDriver/releases/latest/download/xr_driver_setup"
|
||||||
|
|
||||||
curl -L "$driver_download_url" > "$PACKAGE_DIR/xrDriver.tar.gz"
|
curl -L "$driver_download_url" > "$PACKAGE_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
curl -L "$setup_download_url" > "$PACKAGE_DIR/bin/xr_driver_setup"
|
curl -L "$setup_download_url" > "$PACKAGE_DIR/bin/xr_driver_setup"
|
||||||
chmod +x "$PACKAGE_DIR/bin/xr_driver_setup"
|
chmod +x "$PACKAGE_DIR/bin/xr_driver_setup"
|
||||||
|
|
||||||
echo "Downloaded XRLinuxDriver binary and setup script, with hashes:"
|
echo "Downloaded XRLinuxDriver binary and setup script, with hashes:"
|
||||||
printf '\txrDriver-%s.tar.gz: %s\n' "$ARCH" "$(sha256sum "$PACKAGE_DIR/xrDriver.tar.gz" | sort | sha256sum | sed 's/ .*//')"
|
printf '\txrDriver-%s.tar.gz: %s\n' "$ARCH" "$(sha256sum "$PACKAGE_DIR/$XR_DRIVER_BINARY_NAME" | sort | sha256sum | sed 's/ .*//')"
|
||||||
printf '\txr_driver_setup: %s\n' "$(sha256sum "$PACKAGE_DIR/bin/xr_driver_setup" | sort | sha256sum | sed 's/ .*//')"
|
printf '\txr_driver_setup: %s\n' "$(sha256sum "$PACKAGE_DIR/bin/xr_driver_setup" | sort | sha256sum | sed 's/ .*//')"
|
||||||
else
|
else
|
||||||
if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ] || [ "$1" == "--rebuild-all" ]; then
|
if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ] || [ "$1" == "--rebuild-all" ]; then
|
||||||
|
|
@ -60,14 +61,14 @@ else
|
||||||
|
|
||||||
XR_DRIVER_TMP_DIR=$(mktemp -d -t xr-driver-XXXXXXXXXX)
|
XR_DRIVER_TMP_DIR=$(mktemp -d -t xr-driver-XXXXXXXXXX)
|
||||||
pushd $XR_DRIVER_TMP_DIR > /dev/null
|
pushd $XR_DRIVER_TMP_DIR > /dev/null
|
||||||
cp $XR_DRIVER_BINARY $XR_DRIVER_TMP_DIR/xrDriver.tar.gz
|
cp "$XR_DRIVER_BINARY" "$XR_DRIVER_TMP_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
tar -xf $XR_DRIVER_TMP_DIR/xrDriver.tar.gz
|
tar -xf "$XR_DRIVER_TMP_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
|
|
||||||
XR_DRIVER_MANIFEST_LINE=$(sha256sum xr_driver/manifest)
|
XR_DRIVER_MANIFEST_LINE=$(sha256sum xr_driver/manifest)
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
rm -rf $XR_DRIVER_TMP_DIR
|
rm -rf $XR_DRIVER_TMP_DIR
|
||||||
|
|
||||||
cp $XR_DRIVER_BINARY $PACKAGE_DIR/xrDriver.tar.gz
|
cp "$XR_DRIVER_BINARY" "$PACKAGE_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
cp $XR_DRIVER_DIR/bin/xr_driver_setup $PACKAGE_DIR/bin/xr_driver_setup
|
cp $XR_DRIVER_DIR/bin/xr_driver_setup $PACKAGE_DIR/bin/xr_driver_setup
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# exit when any command fails
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Package shared/rarely-changing library artifacts.
|
||||||
|
#
|
||||||
|
# Produces 6 total artifacts (3 apps x 2 arch):
|
||||||
|
# - breezyVulkan-libs-$ARCH.tar.gz
|
||||||
|
# - breezyGNOME-libs-$ARCH.tar.gz
|
||||||
|
# - breezyKWin-libs-$ARCH.tar.gz
|
||||||
|
#
|
||||||
|
# For now, each of these contains ONLY the XR driver libs archive:
|
||||||
|
# xrDriver-libs-$ARCH.tar.gz
|
||||||
|
|
||||||
|
ARCHITECTURES=("x86_64" "aarch64")
|
||||||
|
APPS=("breezyVulkan" "breezyGNOME" "breezyKWin")
|
||||||
|
|
||||||
|
# https://stackoverflow.com/a/246128
|
||||||
|
SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
|
||||||
|
ROOT_DIR=$(realpath "$SCRIPT_DIR/..")
|
||||||
|
XR_DRIVER_DIR="$ROOT_DIR/modules/XRLinuxDriver"
|
||||||
|
|
||||||
|
echo "Building XR Driver libs packages"
|
||||||
|
pushd "$XR_DRIVER_DIR" > /dev/null
|
||||||
|
./bin/package_libs
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
echo "Building Breezy libs packages for all architectures"
|
||||||
|
|
||||||
|
BUILD_PATH="$ROOT_DIR/build"
|
||||||
|
mkdir -p "$BUILD_PATH"
|
||||||
|
|
||||||
|
pushd "$BUILD_PATH" > /dev/null
|
||||||
|
|
||||||
|
for ARCH in "${ARCHITECTURES[@]}"; do
|
||||||
|
XR_LIB_ARCHIVE="$XR_DRIVER_DIR/out/xrDriver-libs-$ARCH.tar.gz"
|
||||||
|
|
||||||
|
for APP in "${APPS[@]}"; do
|
||||||
|
PACKAGE_LIB_DIR=breezy_desktop_lib
|
||||||
|
rm -rf "$PACKAGE_LIB_DIR"
|
||||||
|
mkdir -p "$PACKAGE_LIB_DIR"
|
||||||
|
cp "$XR_LIB_ARCHIVE" ""$PACKAGE_LIB_DIR""
|
||||||
|
|
||||||
|
LIB_ARTIFACT_NAME="$APP-libs-$ARCH.tar.gz"
|
||||||
|
tar -zcvf "$LIB_ARTIFACT_NAME" "$PACKAGE_LIB_DIR" > /dev/null
|
||||||
|
|
||||||
|
# Clean up for next iteration
|
||||||
|
rm -rf "$PACKAGE_LIB_DIR"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
popd > /dev/null
|
||||||
|
|
||||||
|
mkdir -p "$ROOT_DIR/out"
|
||||||
|
cp "$BUILD_PATH"/breezy*-libs-*.tar.gz "$ROOT_DIR/out/"
|
||||||
|
|
||||||
|
rm -f "$BUILD_PATH"/breezy*-libs-*.tar.gz
|
||||||
|
|
@ -58,11 +58,8 @@ copy_and_inject_ua "$XR_DRIVER_DIR/bin/ua.sh" "$PACKAGE_DIR/bin" "$VULKAN_DIR/bi
|
||||||
cp -r $VULKAN_DIR/config $PACKAGE_DIR
|
cp -r $VULKAN_DIR/config $PACKAGE_DIR
|
||||||
|
|
||||||
# build XR driver
|
# build XR driver
|
||||||
XR_DRIVER_BINARY=$XR_DRIVER_DIR/out/xrDriver-$ARCH.tar.gz
|
XR_DRIVER_BINARY_NAME=xrDriver-$ARCH.tar.gz
|
||||||
if [ -n "$STEAMOS" ]; then
|
XR_DRIVER_BINARY="$XR_DRIVER_DIR/out/$XR_DRIVER_BINARY_NAME"
|
||||||
XR_DRIVER_BINARY=$XR_DRIVER_DIR/out/xrDriver-$ARCH.steamos.tar.gz
|
|
||||||
BUILD_FILE_NAME=breezyVulkan-$ARCH.steamos.tar.gz
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ]; then
|
if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ]; then
|
||||||
# if a file exists at custom_banner_config.yml, copy it to the xrealAirLinuxDriver directory
|
# if a file exists at custom_banner_config.yml, copy it to the xrealAirLinuxDriver directory
|
||||||
|
|
@ -75,25 +72,22 @@ if [ ! -e "$XR_DRIVER_BINARY" ] || [ "$1" == "--rebuild-driver" ]; then
|
||||||
# strange issue where the base library produces a .so file if the build is not cleaned
|
# strange issue where the base library produces a .so file if the build is not cleaned
|
||||||
rm -rf build/
|
rm -rf build/
|
||||||
|
|
||||||
if [ -n "${STEAMOS:-}" ]; then
|
|
||||||
export STEAMOS
|
|
||||||
fi
|
|
||||||
docker-build/init.sh
|
docker-build/init.sh
|
||||||
docker-build/run-build.sh $ARCH
|
docker-build/run-build.sh $ARCH
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
TMP_DIR=$(mktemp -d -t breezy-vulkan-XXXXXXXXXX)
|
TMP_DIR=$(mktemp -d -t breezy-vulkan-XXXXXXXXXX)
|
||||||
cp $XR_DRIVER_BINARY $TMP_DIR/xrDriver.tar.gz
|
cp "$XR_DRIVER_BINARY" "$TMP_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
pushd $TMP_DIR
|
pushd $TMP_DIR
|
||||||
tar -xf $TMP_DIR/xrDriver.tar.gz
|
tar -xf "$TMP_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
|
|
||||||
XR_DRIVER_MANIFEST_LINE=$(sha256sum xr_driver/manifest)
|
XR_DRIVER_MANIFEST_LINE=$(sha256sum xr_driver/manifest)
|
||||||
popd
|
popd
|
||||||
rm -rf $TMP_DIR
|
rm -rf $TMP_DIR
|
||||||
|
|
||||||
# copy XR driver binary and setup script
|
# copy XR driver binary and setup script
|
||||||
cp $XR_DRIVER_BINARY $PACKAGE_DIR/xrDriver.tar.gz
|
cp "$XR_DRIVER_BINARY" "$PACKAGE_DIR/$XR_DRIVER_BINARY_NAME"
|
||||||
cp $XR_DRIVER_DIR/bin/xr_driver_setup $PACKAGE_DIR/bin
|
cp $XR_DRIVER_DIR/bin/xr_driver_setup $PACKAGE_DIR/bin
|
||||||
|
|
||||||
# create manifest file for verifying installed file checksums against the originally packaged versions
|
# create manifest file for verifying installed file checksums against the originally packaged versions
|
||||||
|
|
|
||||||
|
|
@ -163,9 +163,9 @@ echo "Installing xrDriver"
|
||||||
echo "BEGIN - xr_driver_setup"
|
echo "BEGIN - xr_driver_setup"
|
||||||
if [ -z "$1" ]
|
if [ -z "$1" ]
|
||||||
then
|
then
|
||||||
sudo bin/xr_driver_setup $(pwd)/xrDriver.tar.gz
|
sudo bin/xr_driver_setup $(pwd)
|
||||||
else
|
else
|
||||||
sudo bin/xr_driver_setup -v $1 $(pwd)/xrDriver.tar.gz
|
sudo bin/xr_driver_setup -v $1 $(pwd)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "END - xr_driver_setup"
|
echo "END - xr_driver_setup"
|
||||||
|
|
|
||||||
|
|
@ -192,9 +192,9 @@ echo "Installing xrDriver (requires sudo)"
|
||||||
echo "BEGIN - xr_driver_setup"
|
echo "BEGIN - xr_driver_setup"
|
||||||
if [ -z "$1" ]
|
if [ -z "$1" ]
|
||||||
then
|
then
|
||||||
sudo bin/xr_driver_setup $(pwd)/xrDriver.tar.gz
|
sudo bin/xr_driver_setup $(pwd)
|
||||||
else
|
else
|
||||||
sudo bin/xr_driver_setup -v $1 $(pwd)/xrDriver.tar.gz
|
sudo bin/xr_driver_setup -v $1 $(pwd)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "END - xr_driver_setup"
|
echo "END - xr_driver_setup"
|
||||||
|
|
|
||||||
|
|
@ -6,3 +6,5 @@ namespace KWin
|
||||||
KWIN_EFFECT_FACTORY(BreezyDesktopEffect, "metadata.json")
|
KWIN_EFFECT_FACTORY(BreezyDesktopEffect, "metadata.json")
|
||||||
|
|
||||||
} // namespace KWin
|
} // namespace KWin
|
||||||
|
|
||||||
|
#include "main.moc"
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 35c4b68796bfebe4337d3572cb3874a8a5c7c125
|
Subproject commit 3b2aa4d981c923d06944ff9a6777b5c8b81d2657
|
||||||
|
|
@ -161,9 +161,9 @@ echo "Installing xrDriver"
|
||||||
echo "BEGIN - xr_driver_setup"
|
echo "BEGIN - xr_driver_setup"
|
||||||
if [ -z "$1" ]
|
if [ -z "$1" ]
|
||||||
then
|
then
|
||||||
bin/xr_driver_setup $(pwd)/xrDriver.tar.gz
|
bin/xr_driver_setup $(pwd)
|
||||||
else
|
else
|
||||||
bin/xr_driver_setup -v $1 $(pwd)/xrDriver.tar.gz
|
bin/xr_driver_setup -v $1 $(pwd)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "END - xr_driver_setup"
|
echo "END - xr_driver_setup"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue