Commit Graph
779 Commits
Author SHA1 Message Date
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
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
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
Moritz Angermann ba4c165ed0 docs: record GHC 9.14 matrix validation and remaining artifact checks 2026-10-15 20:01:14 +09:00
Moritz Angermann c72da15836 Export the iOS C library instruction baseline through structured env 2026-10-15 19:28:56 +09:00
Moritz Angermann 595f6c798e Reuse the cached native compiler in cross interpreter projects 2026-10-15 19:16:09 +09:00
Moritz Angermann 8854f6ae93 nix: construct native package sets for ARM64 Linux 2026-10-15 19:09:44 +09:00
Moritz Angermann 8ab73b4098 Select the native compiler for cross build tools 2026-10-15 18:50:41 +09:00
Moritz Angermann 9198b0d0b0 Preserve mobile runtime settings and the ARM instruction baseline 2026-10-15 18:37:30 +09:00
Moritz Angermann 65fc1c159f test: smoke CLI encryption and profile password persistence 2026-10-15 18:12:52 +09:00
Moritz Angermann 251f342313 Scope compiler selection to the cached Hydra build context 2026-10-15 18:03:46 +09:00
Moritz Angermann 8f13410c5e build: resolve BLST Mach-O storage through its C definition 2026-10-15 17:45:12 +09:00
Moritz Angermann f9530b0a5c Share the Cabal v2 mobile packaging adapter with Nix probes 2026-10-15 17:38:10 +09:00
Moritz Angermann d8c9f932e6 Relink and package mobile libraries from Cabal v2 slices 2026-10-15 17:28:47 +09:00
Moritz Angermann d9be796f1c ci: keep build artifacts portable and bound environment setup 2026-10-15 16:36:03 +09:00
Moritz Angermann 238289fff7 Build existing Haskell targets through one pinned Nix checkout 2026-10-15 15:54:50 +09:00
sh 489b07ff4f ci: record package releases in simplex-chat-libs (#7719)
* ci: use default registries for empty variables

* ci: drop package publish tags

* ci: record releases in simplex-chat-libs

* ci: skip recorded versions in publish plan

* nodejs: raise default test timeout for migrations

* nodejs: print download progress without console.error

* nodejs: use the default timeout in migrating core tests
2026-10-14 15:10:31 +00:00
sh f65c2da587 nodejs: lazy per-backend libsimplex download (#7543)
* ci: drop dlltool from nodejs libs release

* nodejs: download libsimplex into the user cache

* nodejs: load libsimplex at runtime per backend

* support bot: select db backend with --db

* python: match backend switch error text

* nodejs: download prebuilt add-on at runtime

* ci: build nodejs add-on for libs release

* calculator bot: load libs and add-on in image

* support bot: document add-on override

* nodejs: keep worker test output free of colors

* nodejs: verify sha-256 of downloaded assets

* python: pin core libs release with sha-256

* ci: add packages release script

* ci: release nodejs add-on and open release PR

* ci: publish packages after release PR

* nodejs: keep npm from building the add-on

* calculator bot: build the add-on in the image

* ci: merge package release workflows

* ci: open release PR when publishing fails

* ci: build the add-on with node-addon-api only

* ci: skip publishing in a called packages workflow

* ci: update package release actions to Node 24

* nodejs: fix receive test timeout

* ci: test packages on pull requests

* nodejs: reuse the database in the close stress test

* ci: keep failed package tests from hanging

* ci: skip preset server tests

* ci: plan package builds from the changes

* ci: test packages with a given libsimplex

* ci: test packages with libsimplex of core changes
2026-10-14 09:53:53 +01:00