diff --git a/.cargo/config.toml b/.cargo/config.toml
new file mode 100644
index 00000000..0aaf0bbf
--- /dev/null
+++ b/.cargo/config.toml
@@ -0,0 +1,9 @@
+[target.'cfg(target_arch = "x86_64")']
+# Require AES-NI on x86-64 by default
+rustflags = ["-C", "target-feature=+aes"]
+
+[target.'cfg(target_arch = "aarch64")']
+# TODO: Try to remove once https://github.com/paritytech/substrate/issues/11538 is resolved
+# TODO: AES flag is such that we have decent performance on ARMv8, remove once `aes` crate bumps MSRV to at least
+# 1.61: https://github.com/RustCrypto/block-ciphers/issues/373
+rustflags = ["--cfg", "aes_armv8"]
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 13d6d28f..d23ca044 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -14,7 +14,7 @@ env:
CARGO_INCREMENTAL: 0
jobs:
- executables:
+ release:
strategy:
matrix:
build:
@@ -105,14 +105,30 @@ jobs:
# TODO: Package Linux and macOS
+ - name: Install cargo-wix (Windows)
+ uses: taiki-e/cache-cargo-install-action@1b76958d032c4d048c599f9fdfa48abe804d6319 # v1.2.2
+ with:
+ tool: cargo-wix
+ if: runner.os == 'Windows'
+
- name: Package (Windows)
run: |
- Remove-Item -Recurse -Force target/gtk4
- New-Item target/gtk4 -ItemType Directory
- Copy-Item -Path C:\gtk-build\gtk\x64\release\bin\*.dll -Destination target\gtk4
- heat dir target\gtk4 -gg -sfrag -template:fragment -out target\gtk4\gtk4.wxs -cg GTK -dr GTK
- # TODO
- cargo wix --include target\gtk4\gtk4.wxs --profile production
+ Remove-Item target\wix\gtk4 -Recurse -Confirm:$false -ErrorAction SilentlyContinue
+
+ New-Item target\wix\gtk4\bin -ItemType Directory
+ New-Item target\wix\gtk4\share\glib-2.0\schemas -ItemType Directory
+
+ Copy-Item -Path C:\gtk-build\gtk\x64\release\bin\*.dll -Destination target\wix\gtk4\bin
+ Copy-Item -Path C:\gtk-build\gtk\x64\release\bin\gdbus.exe -Destination target\wix\gtk4\bin
+
+ Copy-Item -Path C:\gtk-build\gtk\x64\release\share\glib-2.0\schemas\gschemas.compiled -Destination target\wix\gtk4\share\glib-2.0\schemas\gschemas.compiled
+ Copy-Item -Path C:\gtk-build\gtk\x64\release\share\glib-2.0\schemas\org.gtk.gtk4.Settings.Debug.gschema.xml -Destination target\wix\gtk4\share\glib-2.0\schemas\org.gtk.gtk4.Settings.Debug.gschema.xml
+ Copy-Item -Path C:\gtk-build\gtk\x64\release\share\glib-2.0\schemas\org.gtk.gtk4.Settings.FileChooser.gschema.xml -Destination target\wix\gtk4\share\glib-2.0\schemas\org.gtk.gtk4.Settings.FileChooser.gschema.xml
+
+ # TODO: Ideally something like this would have worked and we wouldn't need to hardcode stuff in `space-acres.wxs`: https://github.com/volks73/cargo-wix/issues/271
+ # & "C:\Program Files (x86)\WiX Toolset v3.11\bin\heat.exe" dir target\wix\gtk4 -gg -sfrag -template:fragment -out target\wix\gtk4.wxs -cg GTK -dr GTK
+
+ cargo wix --profile production
if: runner.os == 'Windows'
- name: Upload node and farmer executables to artifacts (Windows)
diff --git a/wix/space-acres.wxs b/wix/space-acres.wxs
index bb0474b2..41ea6a41 100644
--- a/wix/space-acres.wxs
+++ b/wix/space-acres.wxs
@@ -128,6 +128,64 @@
Source='$(var.CargoTargetBinDir)\space-acres.exe'
KeyPath='yes'/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -181,6 +239,8 @@
+
+