Packages: a manifest cannot declare that a package needs a runtime build variant (http/gfx/zlib/net) — the failure is an undefined builtin at import, not a clear message at install
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c
- Área
- build-system, compilers, documentation, tooling
Línea de trabajo
Start with docs/PACKAGE_SPEC.md and the capability probe used by run_all_tests.sh, then trace the package install/verify and import paths. Check how eigs-package-template is structured. Done means the manifest field is documented and templated, mismatches fail clearly during install or verification, and unmet variants produce a named import-time error.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Gap
The runtime's zero-dependency property is about the C build (libc/libm, or the freestanding HAL), and packages are EigenScript source vendored as git checkouts (docs/PACKAGE_SPEC.md) — install runs no code, import runs it inside whatever binary the user has. Those two layers are compatible by design. But a package can legitimately require a runtime EXTENSION: an HTTP client library needs the http variant (http_* builtins), a UI helper needs gfx, a compression helper needs zlib, a socket helper needs net.
Today eigs.json has name, version, deps (and lint.allow) — no way to say "this package needs variant X". So on a make (default) binary, a package that calls http_post fails at first use with an undefined-variable error deep inside the package, long after --pkg install said everything was fine, and the user has no way to know it was a build-variant problem rather than a broken package.
Ask
- A manifest field, e.g.
"requires": ["http"](values = the runtime's variant names), documented in PACKAGE_SPEC.md. --pkg install/--pkg verifycheck the running binary's capability set (the runtime already knows which extensions it was built with — the same proberun_all_tests.shuses to gate the HTTP sections) against every installed package'srequires, and print one clear line per mismatch: which package, which variant, whichmaketarget provides it. Exit nonzero on mismatch (loud, per the fail-soft reform).import <leaf>on a package whoserequiresis unmet raises a named error at import time ("package X requires the http variant; this binary was built without it"), not an undefined variable at the first call.eigs-package-templategets the field with an empty list.
Why now
The package system has zero real consumers (every ecosystem eigs.json is a project-root marker with deps: {}); the first planned edges (a SAT portfolio consumer → EigenMiniSat; iLambdaAi → the ouroboros frontend) are pure EigenScript and will not hit this, but an HTTP or UI helper package is the obvious third, and this is the first thing it would hit. Filed so the gap is named before the edge, per CLAUDE.md's "surface the gap, don't work around it".
- Lenguaje dominante
- C
- Estrellas
- 3
- Forks
- 7
- Merge medio
- 4 h 7 min
- PR fusionados (30 d)
- 112
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de InauguralSystems/EigenScript
-
area:embed kind:silent-wrong
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
InauguralSystems/EigenScript#1387 ·
Los mantenedores suelen responder en 1 día
-
area:stdlib kind:silent-wrong
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
InauguralSystems/EigenScript#1378 ·
Los mantenedores suelen responder en 1 día
-
area:gates kind:gate-defect
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
InauguralSystems/EigenScript#1374 ·
Los mantenedores suelen responder en 1 día
-
Error carets pad multi-byte UTF-8 byte-for-byte, so the ^ lands right of the token on a terminalAbiertoarea:lint-tooling kind:silent-wrong
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
InauguralSystems/EigenScript#1373 ·
Los mantenedores suelen responder en 1 día
-
area:gates kind:docs-drift
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
InauguralSystems/EigenScript#1372 ·
Los mantenedores suelen responder en 1 día
Todos los issues de InauguralSystems/EigenScript
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
microsoft/ebpf-for-windows#5604 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Update OPENEXR_IMATH_TAGAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
AcademySoftwareFoundation/openexr#2683 ·
Los mantenedores suelen responder en 1 día