Commit Graph
802 Commits
Author SHA1 Message Date
Moritz Angermann 21ad0edcc4 Defer musl iserv source selection through the module fixed point 2026-10-17 06:52:15 +09:00
Moritz Angermann 7e33bfb4b7 Bound the canonical Windows TH gate and trace failed interpreter calls 2026-10-17 06:45:35 +09:00
Moritz Angermann eb79eece79 Preserve mobile component project metadata 2026-10-17 06:10:16 +09:00
Moritz Angermann c464566763 fix(nix): plan Windows x509 from its patched source
The v2 builder restores the original Cabal description override after source patching and also publishes that metadata into its index. Add the already selected 1.6.8 source as a prepatched local package so crypt32 reaches planning and source packaging. Apply the package patch once.

The actual native source producer changes only the Cabal file. Independent project capture retains Composition and byte-identical non-Windows project text. Production Windows planning, packaging, and final linking remain CI checks.
2026-10-17 05:06:13 +09:00
Moritz Angermann 3bf925bdfe Merge current master into the GHC 9.14 migration
Retain the new badge receipt modules and X.509 dependencies alongside the migrated dependency ranges. Cabal parsing and 84 compiler/platform/flag finalizations pass; full builds remain for CI.
2026-10-17 04:36:54 +09:00
Moritz Angermann 7f1e4cbb55 ci: retain Intel Setup diagnostics after compiler rebuilds 2026-10-17 04:20:00 +09:00
Moritz Angermann f0eacef513 Fix dynamic musl interpreter private AIO symbol registration 2026-10-17 04:15:25 +09:00
Moritz Angermann 6e300d5e43 docs: record current compiler and cross-build results 2026-10-17 04:09:11 +09:00
Moritz Angermann 11b7f33921 Seed SplitMix on Android below API 28
Use Bionic arc4random_buf for the older Android API route and retain the existing getentropy initializer from API 28. Register the real function address in the ARM32 interpreter so loaded SplitMix objects can resolve it.

Both ABI controls verify API26 compilation and linking against the actual NDK headers and providers, and API35 object equality. Final source checks use native LLVM21; exact final NDK18 and production package-tar validation remain for CI after local VM startup failures.
2026-10-17 04:03:38 +09:00
Moritz Angermann ad69b2b1a6 fix(nix): keep Intel Darwin info tables with their entry code
Mark x86 Mach-O info entries as alternate entries in both GHC stages, so LLD preserves tables-next-to-code. Add a production compiler object/link regression to the existing Intel CI job.
2026-10-17 03:32:41 +09:00
spaced4ndy a356512645 Merge branch 'master' into badge-in-app-checkout 2026-10-16 22:07:28 +04:00
spaced4ndy 5a80713699 ci: test the desktop app on Linux runners on request, with an optional Claude session (#7736) 2026-10-16 17:34:43 +00:00
spaced4ndy 7c5b6bb3d7 ci: test the iOS app in the simulator on request, with an optional Claude session (#7737) 2026-10-16 17:33:50 +00:00
Moritz Angermann c5b7a04fed docs: record completed builds and remaining cross-target validation 2026-10-17 02:18:26 +09:00
Moritz Angermann 89ffaea1be Allow musl cross interpreters to load C dependencies
Keep static Haskell libraries and fully static application outputs while planning ghc914-sh iserv projects with a dynamic musl C loader. Scope the policy to Linux-built musl Cabal v2 interpreters and check that scope in static Linux CI.

Normal and profiled target plans preserve all unit IDs, source records and Haskell ways; only the iserv executable-static flag changes. The shared V2 project skeleton changes auxiliary derivation hashes. A small i686 musl probe reproduces static dlopen failure and verifies the dynamic loader under QEMU; full interpreter TH validation remains for canonical CI.
2026-10-17 02:17:58 +09:00
Moritz Angermann 815d8434c3 Fix rebound negation of the Windows invalid handle constant 2026-10-17 02:05:28 +09:00
Moritz Angermann 2363559411 ci: invoke the Intel Setup abort tracer directly 2026-10-17 01:53:39 +09:00
Moritz Angermann c44ba566b8 Apply interpreter source fixes to both Android ABIs
Keep the QEMU and scheduling overrides specific to supported ARM32 emulation. Check the source-module routing with a pure regression in the Android CI group.
2026-10-17 01:19:22 +09:00
Moritz Angermann 75cb52df6a Share the mobile export manifest with desktop build guards 2026-10-17 00:51:06 +09:00
Moritz Angermann 7d045945a3 docs: record iconv controls and profiling core build limits 2026-10-16 23:55:27 +09:00
Moritz Angermann b329daa22a fix(nix): register ARM64 GNU iconv interpreter symbols 2026-10-16 23:55:12 +09:00
Moritz Angermann b7623c4416 ci: trace Intel Setup aborts without debugger access 2026-10-16 23:49:55 +09:00
Moritz Angermann 9493799c94 docs: explain cross-build compatibility fixes and current validation 2026-10-16 22:52:31 +09:00
Moritz Angermann 00afd113ad build: fix native GHC ELF section alignment 2026-10-16 22:51:54 +09:00
Moritz Angermann 2951153b49 build: cast Windows invalid handle to pointer-sized integer 2026-10-16 22:49:15 +09:00
sh aaa388e570 desktop: add emoji picker (#7708)
* desktop: add emoji picker data and generator

* desktop: emoji picker in compose field

* desktop: document compose emoji picker
2026-10-16 14:34:04 +01:00
Moritz Angermann eabd7d7f3b build: declare static crypto libraries for musl packages 2026-10-16 22:27:44 +09:00
Moritz Angermann bbcf3e4895 Respect Android API availability in the ARM64 interpreter symbol table 2026-10-16 22:27:44 +09:00
Moritz Angermann ba07843efb Preserve Nix CLI and flakes features in the CI installer 2026-10-16 21:34:39 +09:00
Moritz Angermann b4a1cdd54e Capture the pinned Intel Setup failure in Nix CI 2026-10-16 21:23:57 +09:00
Moritz Angermann 75f95375f8 build: diagnose Intel Darwin ghc-boot Setup failures with LLDB 2026-10-16 21:19:24 +09:00
Moritz Angermann 17554a9d17 Declare Composition wired dependency for GHC 9.14 cross builds 2026-10-16 21:12:32 +09:00
Moritz Angermann 87ab2143cc Capture native GHC faults with bounded GDB diagnostics
Run the existing failure-only native Linux trace through pinned GDB, following the compiler shell wrapper so package DB and -B flags remain intact. Fetch the debugger only from caches within the existing overall bound and preserve diagnostic exit failures. Capture bounded stacks, registers, PC disassembly and mappings without environment or core dumps.

Validation: 41 generated-wrapper forwarding/status cases and three extracted workflow-shell cases pass; debugger cache-only fetch succeeds. The local Rosetta Linux VM cannot ptrace the child, and the bounded native ARM control stopped at metadata, so actual native fault capture remains a CI validation step.
2026-10-16 21:06:02 +09:00
Moritz Angermann 1ba0c07c69 Enable the Nix feature required by guarded cross slices 2026-10-16 20:32:14 +09:00
Moritz Angermann 3fd3a03879 Preserve canonical core settings in cloud GHC traces 2026-10-16 20:20:25 +09:00
Moritz Angermann a62b1848c0 Run native and cross target groups independently in Nix CI 2026-10-16 20:10:08 +09:00
Moritz Angermann 58b736e73d Trace native Linux GHC phases after CI build failure 2026-10-16 20:00:20 +09:00
spacedandy-agents-simplex e3324c6828 Merge branch 'master' into badge-in-app-checkout
# Conflicts:
#	simplex-chat.cabal
#	src/Simplex/Chat/Store/Postgres/Migrations.hs
#	src/Simplex/Chat/Store/SQLite/Migrations.hs
#	src/Simplex/Chat/Store/SQLite/Migrations/chat_query_plans.txt
#	src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql
2026-10-16 09:40:53 +00:00
Moritz Angermann c3e2b5e7a8 docs: record final GHC 9.14 Mac artifact validation 2026-10-16 14:22:45 +09:00
Moritz Angermann f26dbbc0d9 Document passing ARM32 TH and upstream Hydra jobset 2026-10-16 13:26:57 +09:00
Moritz Angermann 748becda3e Enable ARM32 Android Template Haskell on emulated Linux builders
Scope the scheduling opt-out to the patched QEMU versions, patch the interpreter source before planning, and expose the real static Bionic and GNU iconv symbols. Use the RTS package dependency for Android libffi.

The production interpreter reaches Haskell main on Rosetta and native ARM64 QEMU. Normal target TH, the ARM32 shared export, a C caller returning 42, and upstream annotations pass. Profiling execution is not yet validated.
2026-10-16 13:22:52 +09:00
Moritz Angermann 6c5cc972ac Record final GHC 9.14 matrix and actual mobile builds 2026-10-16 01:39:17 +09:00
Moritz Angermann 2f314dd2b3 Document verified iOS archive packaging checks 2026-10-16 00:11:18 +09:00
Moritz Angermann 52cbb2c7f7 Propagate Android iconv to interpreter consumers
Declare GNU libiconv as a ghc-internal system dependency in Android projects. The setup hook satisfies configure before it records library names, so consumer slices must also receive the system dependency and its static link flag.

Checked exact production vanilla and profiled interpreter derivations: both now include GNU libiconv in runtimeLibs, and native/cross compiler identities remain unchanged. The core derivation changes through dependency and install metadata; its code generation inputs remain the same.
2026-10-16 00:08:51 +09:00
Moritz Angermann a07095f8bc Record GHC 9.14 matrix and runtime validation 2026-10-15 23:42:43 +09:00
Moritz Angermann ef3a3b0b78 Provide static iconv for Android GHC boot libraries
Apply the API 26 dependency before planning every ghc914-sh Android project, including the auxiliary iserv projects and evalWith variants. Preserve the GNU headers and library paths in the plan and ghc-internal registration, and compile the static iconv archives with PIC for libsimplex.so.

Validated Nix parsing, duplicate module handling, the actual ARMv7 iserv plan arguments, and a real static/PIC libiconv build. The focused ghc-internal build remains pending.
2026-10-15 22:24:36 +09:00
Moritz Angermann e1d2f1ebca Fix Android ARM32 QEMU personality on hosts without AArch32 EL0 2026-10-15 21:57:10 +09:00
Moritz Angermann 31b91a1cdc Apply platform patches before planning source repository packages 2026-10-15 21:57:10 +09:00
Moritz Angermann b0eab49f34 Fix hsc2hs option handling in Darwin archive builds
Cabal 3.17 deduplicates flattened compiler and linker argument lists,
which drops the second -framework from Security/CoreFoundation links.
Remove the two token-level deduplications while retaining framework
search-directory deduplication and registered framework metadata.

Patch the Cabal library in haskell.nix's v2 build tool only for Darwin
archive projects. Preserve the tool's existing patches and evalWith
variants, and leave native CLI and Linux/Android build tools unchanged.
2026-10-15 21:01:47 +09:00
Moritz Angermann 3394321a25 ci: advertise native x86 support for cross compiler slices 2026-10-15 20:50:56 +09:00