mirror of
https://git.1024x2.xyz/1024x2/vexcord.git
synced 2025-04-19 13:06:31 +02:00
Add basic build and inject scripts
Linux-only for now.
This commit is contained in:
parent
f812b79a28
commit
d23bd89aca
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
Vencord
|
25
build.sh
Executable file
25
build.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Pull the patches repository
|
||||
git pull
|
||||
|
||||
# Do we have the Vencord sources cloned?
|
||||
if [ -e Vencord/.git ]; then
|
||||
# Update sources
|
||||
cd Vencord
|
||||
git fetch
|
||||
else
|
||||
# Clone sources
|
||||
git clone https://github.com/Vendicated/Vencord.git Vencord
|
||||
cd Vencord
|
||||
fi
|
||||
|
||||
# Reset vexcord branch and apply patches
|
||||
git checkout -B vexcord origin/main
|
||||
git am ../*.patch
|
||||
|
||||
# Build vencord
|
||||
pnpm i --frozen-lockfile
|
||||
node scripts/build/build.mjs
|
59
inject.sh
Executable file
59
inject.sh
Executable file
@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Wraps the string in quotes, and escapes quotes, backslashes, and newlines.
|
||||
jsonescape() {
|
||||
sed -e 's|[\\"]|\\&|g' -e 's|\n|\\n|g' -e 's/^\|$/"/g'
|
||||
}
|
||||
|
||||
discord=""
|
||||
if [ "$#" -ge 1 ]; then
|
||||
discord="$1"
|
||||
else
|
||||
# Find where the system installation of Discord is.
|
||||
for path in \
|
||||
/opt/discord \
|
||||
/opt/discord-ptb \
|
||||
/opt/discord-canary \
|
||||
/usr/share/discord \
|
||||
/usr/share/discord-ptb \
|
||||
/usr/share/discord-canary; do
|
||||
if [ -d "$path" ]; then
|
||||
discord="$path"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$discord" ]; then
|
||||
echo "Could not find your system installation of Discord!" 2>&1
|
||||
echo "Please pass the path to your Discord installation:" 2>&1
|
||||
echo " $0 [path_to_discord]" 2>&1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -e "$discord/resources" ]; then
|
||||
echo "Directory does not exist: $discord/resources" 2>&1
|
||||
exit 1
|
||||
elif [ ! -w "$discord/resources" ]; then
|
||||
echo "Can't write to directory: $discord/resources" 2>&1
|
||||
echo "If you're installing Vexcord to your system Discord installation," 2>&1
|
||||
echo "try running this script as root. (e.g. using sudo)" 2>&1
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Move app.asar to _app.asar
|
||||
if [ -f "$discord/resources/app.asar" ]; then
|
||||
mv -T "$discord/resources/app.asar" "$discord/resources/_app.asar"
|
||||
elif [ ! -d "$discord/resources/app.asar" ]; then
|
||||
echo "Missing app.asar!" >&2
|
||||
echo "Try reinstalling discord." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make our own fake app.asar that just points to the Vencord patcher.
|
||||
mkdir -p "$discord/resources/app.asar"
|
||||
echo "require($(realpath Vencord/dist/patcher.js | jsonescape))" >"$discord/resources/app.asar/index.js"
|
||||
echo '{"main": "index.js", "name": "discord"}' >"$discord/resources/app.asar/package.json"
|
||||
|
||||
echo "Installed Vexcord to: $discord"
|
Loading…
x
Reference in New Issue
Block a user