build: add cross-compiling stuff

This commit is contained in:
MeexReay 2025-06-22 21:04:57 +03:00
parent 3453ca326c
commit d408ec7272
3 changed files with 47 additions and 2 deletions

View File

@ -31,3 +31,6 @@ gtk = ["dep:gtk4"]
libnotify = ["dep:libnotify", "dep:gdk-pixbuf"] libnotify = ["dep:libnotify", "dep:gdk-pixbuf"]
notify-rust = ["dep:notify-rust"] notify-rust = ["dep:notify-rust"]
winapi = ["dep:winapi", "dep:winresource"] winapi = ["dep:winapi", "dep:winresource"]
[workspace.metadata.cross.target.x86_64-pc-windows-gnu]
image = "mglolenstine/gtk4-cross:rust-gtk-4.8"

37
misc/build.sh Normal file
View File

@ -0,0 +1,37 @@
#!/bin/bash
echo "Run this script only from repository root!"
echo "This script depends on:"
echo " - fact that you are on linux x86_64!"
echo " - wine. install it with your distro's package manager"
echo " - cross crate. to install it, run this: cargo install cross --git https://github.com/cross-rs/cross"
echo " - docker, so you should run something like this on your distro: sudo systemctl start docker"
read -p "Press enter if you really want to do rm -rf build/"
rm -rf build
mkdir build
build_linux() {
mkdir build/linux-x86_64
mkdir build/linux-x86_64/misc
cargo build -r
cp target/release/bRAC build/linux-x86_64/misc/bRAC-gnotif
cp misc/user-install.sh build/linux-x86_64
cp misc/bRAC.png build/linux-x86_64/misc
cp misc/create-desktop.sh build/linux-x86_64/misc
cargo build -r -F libnotify
cp target/release/bRAC build/linux-x86_64
}
build_windows() {
curl https://www.mamachine.org/mslink/mslink_v1.3.sh -o misc/mslink.sh
chmod +x misc/mslink.sh
curl https://github.com/wingtk/gvsbuild/releases/download/2025.5.0/GTK4_Gvsbuild_2025.5.0_x64.zip -o build/gvsbuild.zip
unzip build/gvsbuild.zip "bin/*" -d build/windows-x86_64
cross build --target x86_64-pc-windows-gnu -r
cp target/release/bRAC.exe build/windows-x86_64/bin
./misc/mslink.sh -l bin\\bRAC.exe -o build/windows-x86_64/bRAC.lnk
}
build_linux
build_windows

View File

@ -1,7 +1,12 @@
#!/bin/bash #!/bin/bash
cp bRAC ~/.local/bin/bRAC mkdir -p ~/.local
mkdir -p ~/.local/bin
mkdir -p ~/.local/share
mkdir -p ~/.local/share/bRAC
cp misc/bRAC-gnotif ~/.local/bin/bRAC
chmod +x ~/.local/bin/bRAC chmod +x ~/.local/bin/bRAC
mkdir ~/.local/share/bRAC -p
cp misc/bRAC.png ~/.local/share/bRAC/icon.png cp misc/bRAC.png ~/.local/share/bRAC/icon.png
./misc/create-desktop.sh > ~/.local/share/applications/ru.themixray.bRAC.desktop ./misc/create-desktop.sh > ~/.local/share/applications/ru.themixray.bRAC.desktop