7 Commits
Author SHA1 Message Date
e1947b07a8 feat(windows): split host tools from target artifacts, and cross-install with --platform (#4)
* feat(windows): split host tools from target artifacts

Adds the x86_64-windows pseudo-system, and splits the two halves that
were previously keyed together:

  lgpm          -> BUILD system. It RUNS during the build to install the
                   .lgx, so on a cross target it must be a native binary.
  nix-bundle-lgx -> TARGET. It decides the variant name and the library
                   extension from its own pkgs, so keying it by the build
                   system labelled a Windows package "linux-amd64" and
                   looked for a .so payload that was really a .dll.

Getting this backwards fails in a way that names neither cause: the .lgx
build died with "main file 'capability_module_plugin.so' not found",
pointing at the payload rather than at the extension having been derived
from the wrong platform.

The install step itself is file shuffling on the builder, so it uses
pkgsBuildBuild.

NOT yet sufficient to enable installedModules on Windows: lgpm then
fail-closes with "Package does not contain variant for platform:
linux-x86_64-dev (package provides: windows-x86_64-dev)" -- which is
CORRECT behaviour. Cross-installation needs a platform override on lgpm,
which does not exist yet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* feat(windows): pass --platform when target differs from build

Completes the cross install path: lgpm runs on the builder, so it is told
which platform it is laying out. The flag is emitted ONLY when
hostPlatform != buildPlatform, so a normal build keeps the fail-closed
check that stops a package being installed for the wrong platform.

Nix doubles are <arch>-<os> and lgpm variants are <os>-<arch> with
different arch spellings, so the name is translated rather than passed
through -- x86_64-windows became "x86_64-windows-dev" and was rejected
against a package providing "windows-x86_64-dev". Unknown targets throw
rather than guess: a wrong variant name is rejected far from here.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* chore(deps): re-pin logos-nix, nix-bundle-lgx and logos-package-manager to their merged revs

L1 (logos-nix) and L3 (nix-bundle-lgx, logos-package-manager) are on their
default branches now, so the lock can name the merged revs instead of the
pre-merge branch tips it was resolving against while those PRs were open.

This is the level where the whole transitive tree lands on the merged logos-nix:
logos-package, nix-bundle-dir and logos-package-manager all move with it.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 14:22:37 -03:00
Khushboo-dev-cpp 55de9a6fce Merge pull request #3 from logos-co/chore/bump-deps-for-display-name
chore: bump nix-bundle-lgx + logos-package-manager for display_name
2026-06-22 15:28:20 +02:00
Khushboo Mehta 21006ecc89 chore: bump nix-bundle-lgx + logos-package-manager for display_name 2026-06-22 15:20:27 +02:00
Khushboo-dev-cpp 89cc9ea912 Merge pull request #2 from logos-co/feat/bumpLockFile
feat: update flake.lock
2026-04-10 18:43:08 +02:00
Khushboo Mehta b61a757314 feat: udpate flake.lock 2026-04-10 18:42:36 +02:00
Dario Gabriel Lipicar 61d27a3e35 bump dependencies 2026-04-08 17:39:32 -03:00
Dario Gabriel Lipicar 87afbb0241 initial commit 2026-03-30 16:37:47 -03:00