blob: c998818a7bdc193ae759d7773713a0099e47d6ff (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
pkgver=25.03.02
pkgname=millennium
pkgrel=1
pkgdesc="Millennium is an open-source low-code modding framework to create, manage and use themes/plugins for the desktop Steam Client without any low-level internal interaction or overhead."
arch=('x86_64')
url="https://github.com/shdwmtr/millennium"
license=('MIT')
depends=('gtk3' 'ninja' 'cmake' 'gcc-multilib' 'glibc' 'zlib' 'ncurses' 'gdbm' 'nss' 'openssl' 'readline' 'libffi' 'sqlite' 'xz')
makedepends=('git' 'nodejs' 'npm')
source=("git+$url.git")
sha256sums=('SKIP')
options=(!debug)
build() {
export NODE_NO_WARNINGS=1
cd "$srcdir/millennium"
echo -e "\e[1m\e[92m==>\e[0m \e[1mCloning submodules...\e[0m"
git submodule update --init --recursive
echo -e "\e[1m\e[92m==>\e[0m \e[1mInstalling dependencies...\e[0m"
npm install @steambrew/api
echo -e "\e[1m\e[92m==>\e[0m \e[1mBuilding Millennium core assets...\e[0m"
cd assets
npm install
npm run build
cd ..
echo -e "\e[1m\e[92m==>\e[0m \e[1mBootstrapping VCPKG...\e[0m"
./vendor/vcpkg/bootstrap-vcpkg.sh
./vendor/vcpkg/vcpkg integrate install
echo -e "\e[1m\e[92m==>\e[0m \e[1mBuilding Millennium...\e[0m"
cmake --preset=linux-release -G "Ninja" -DDISTRO_ARCH=ON
cmake --build build --config Release
}
package() {
cd "$srcdir/millennium"
destinationBase="$pkgdir/usr/share/millennium/assets"
declare -A paths=(
["./assets/.millennium/Dist/index.js"]="$destinationBase/.millennium/Dist/index.js"
["./assets/core"]="$destinationBase/core"
["./assets/pipx"]="$destinationBase/pipx"
["./assets/requirements.txt"]="$destinationBase/requirements.txt"
["./assets/plugin.json"]="$destinationBase/plugin.json"
)
for source in "${!paths[@]}"; do
destination="${paths[$source]}"
destinationDir="$(dirname "$destination")"
if [ ! -d "$destinationDir" ]; then
echo "Creating directory $destinationDir"
mkdir -p "$destinationDir"
fi
cp -r "$source" "$destination"
done
install -Dm755 build/libmillennium_x86.so "$pkgdir/usr/lib/millennium/libmillennium_x86.so"
install -Dm755 build/cli/millennium "$pkgdir/usr/bin/millennium"
mkdir -p "$pkgdir/usr/lib/millennium"
cp "/opt/python-i686-3.11.8/lib/libpython-3.11.8.so" "$pkgdir/usr/lib/millennium/libpython-3.11.8.so"
mkdir -p "$pkgdir/usr/share/millennium/shims"
cp -r ./node_modules/@steambrew/api/dist/webkit_api.js "$pkgdir/usr/share/millennium/shims/webkit_api.js"
cp -r ./node_modules/@steambrew/api/dist/client_api.js "$pkgdir/usr/share/millennium/shims/client_api.js"
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
|