Commit Graph
14 Commits
Author SHA1 Message Date
Ole André Vadla Ravnås 11c28e41d9 Unpack the Barebone agent through liblzma
Off Apple the xz container was unpacked by running /usr/bin/env xz,
which Windows has no answer for: Process reports that the file does
not exist, and the message reaches the user as it stands.

Decode in-process instead, the way Compression already does on
Apple, and ask for the library the platforms package.
2026-09-15 13:44:57 +02:00
Ole André Vadla Ravnås b88a9be290 Replace SwiftyMonaco with native editors
Drop the Monaco webview. Edit in a GtkSourceView on GTK and in a
native text view on Apple, both speaking to Frida.Compiler's
in-process language server for completions, signature help,
hovers and diagnostics.

Color, complete and indent code natively, matching the GitHub
theme in light and dark.
2026-09-08 19:52:31 +02:00
Ole André Vadla Ravnås 205bbb9892 gtk: Bring up the Windows build
Bootstrap provisions Frida, radare2 and the Pharo VM at their pinned
revisions and skips what is present, so a re-run resumes. The Windows
CI job drives it a component at a time. Build from a plain shell via
vcvars, and order the prefixes so a stale Frida cannot win the load.
2026-09-08 18:54:43 +02:00
Ole André Vadla Ravnås 08918ffc14 gtk: Wire up the Pharo VM prefix on Windows
Resolve PHARO_PREFIX alongside the vcpkg, frida-core and radare2 ones,
so pkg-config finds pharo-vm and run.ps1 finds its DLLs. Document
building it from frida/pharo-vm.

Drop build.ps1's agent bundle pre-run: it writes into
Sources/LumaCore/Generated, which the manifest excludes outside Xcode,
so LumaBundlePlugin is what feeds the build.
2026-08-17 16:22:22 +02:00
Abhi 7a7407143f Expose overlay and extract package.nix from flake 2026-06-26 22:00:25 +02:00
Ole André Vadla Ravnås 56087022dc docs: Add missing Fedora build deps
libepoxy-devel and librsvg2-devel are needed by LumaGtk.
2026-06-04 22:44:41 +02:00
Ole André Vadla Ravnås a122583e67 docs: Lower macOS req, note Metal toolchain
The app builds and runs on macOS 15.0 since the deployment target
was lowered in 375d4c5. Xcode 26 also ships without the Metal SDK
by default, so call that out next to the Xcode requirement.
2026-04-21 18:53:40 +02:00
Ole André Vadla Ravnås 2e564dc6ef luma-gtk: Document Fedora build prereqs
Adds a Fedora subsection covering dnf packages, the frida-core
build (with libbpf subproject fallback), and an optimized
radare2 install.
2026-04-19 00:51:04 +02:00
Ole André Vadla Ravnås 6a54eea9b8 ci: Add macOS x86_64 and Windows arm64 to matrix
Fan both platform jobs out so Luma is built for:
  * macOS on macos-26 (arm64) and macos-15-large (x86_64)
  * Windows on windows-latest (x64) and windows-11-arm (arm64)

fail-fast is disabled so one failure doesn't mask the other. For
Windows arm64 the frida-core configure disables the Go-based
compiler backend, since no arm64 MinGW toolchain is available on
hosted runners yet. package-msi.ps1 takes a new -Arch parameter
that feeds WiX candle and names the output Luma-<version>-<arch>.msi
accordingly.

Also convert run.bat to run.ps1 for consistency with build.ps1 and
package-msi.ps1 (and update README + setup-env.ps1 references).
2026-04-18 11:56:30 +02:00
Ole André Vadla Ravnås 86acbb3682 luma-gtk: Fix Windows build, co-locate run.bat
FridaCore's shim.h pulls in frida-core.h, which in turn includes
json-glib/json-glib.h and libsoup transitively. vcpkg installs both
under versioned include subdirectories, so add them to CPATH in
setup-env.ps1 and the Windows CI env setup.

Also move run.bat under scripts/windows/ alongside build.ps1 and
package-msi.ps1; asymmetric layout surprised the user. The relative
path to .build/<mode>/LumaGtk.exe shifts up two levels accordingly.
2026-04-18 11:52:04 +02:00
Ole André Vadla Ravnås 7bc22f1946 luma-gtk: Add Windows build and MSI scripts 2026-04-17 12:24:16 +02:00
Ole André Vadla Ravnås 0e669be3dc Move the rest of business logic into LumaCore
Workspace is now a thin host adapter. Engine owns sessions and
notebook entries (via store observation), GitHub auth + OAuth
device flow, hook-pack discovery, address annotations and address
actions, the disassembler cache, and all instrument lifecycle.
EventLog is @Observable so SwiftUI tracks it directly; the host
no longer mirrors event arrays or version counters.

R2 (live disassembly + trace inspection) lives entirely in
LumaCore as concrete Disassembler / TraceDisassembler classes
returning portable StyledText spans. ProcessNodeViewModel and
InstrumentRuntime are gone; views read engine.processNodes /
node.instruments / engine.descriptor(for:) directly.

Reorganize Luma/Models/ — instrument UI dispatch lives under
Luma/Instruments/, Monaco editor glue under Luma/Editor/, and the
remaining UI types sit at the top of Luma/.
2026-04-07 10:11:31 +02:00
Ole André Vadla Ravnås 71dd948008 Simplify build system
- Switch `frida-swift` to Swift Package Manager dependency
- Use remote dependency for `SwiftyMonaco` instead of local checkout
- Add `Makefile` for convenient command-line builds
2025-12-09 01:02:24 +01:00
Ole André Vadla Ravnås 851b8e26bd Initial commit 2025-12-05 23:16:30 +01:00