commit 5556f7a5d061cabe147bda2bf87132180a95d3a4
parent 586e63cb8f7e2f839cc3fc7c73e4b844dc85ee03
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Thu, 6 Nov 2025 14:07:46 +0000
Simplify namedenv definitions, avoid name collisions
Diffstat:
11 files changed, 33 insertions(+), 44 deletions(-)
diff --git a/templates/macros b/templates/macros
@@ -19,3 +19,11 @@
x["./library.ocaml/{{name}}/{{m}}.mli"]=1
{%- endfor -%}
{% endmacro %}
+
+{% macro named_environment(name) -%}
+{{ shebang }}
+{%- set env_name=name.replace(".", "_").replace(":", "__") %}
+{%- import "package_sets" as ps %}
+{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %}
+{{ ps[env_name]() }}
+{%- endmacro %}
diff --git a/templates/package_sets b/templates/package_sets
@@ -1,15 +1,21 @@
{#
-{% macro foo() -%}
+{% macro foo_environment() -%}
{%- endmacro %}
#}
-{% macro bootstrap() -%}
+{% macro kernel_environment() -%}
+{% if kernel is undefined %}{% do skip("kernel variable is undefined") %}{% endif -%}
+#+{{pkg_install_name(kernel)}}
+#+{{pkg_install_name("busybox:modutils")}}
+{%- endmacro %}
+
+{% macro bootstrap_environment() -%}
#+{{pkg_install_name("busybox:bootstrap")}}
#+{{pkg_install_name("gnu-make:bootstrap")}}
#+{{pkg_install_name("musl-cross-make:bootstrap-1")}}
{%- endmacro %}
-{% macro wip() -%}
+{% macro wip_environment() -%}
#+{{pkg_install_name("ocaml:dynlink")}}
#+{{pkg_install_name("dune")}}
#+{{pkg_install_name("ocamlbuild")}}
@@ -21,13 +27,13 @@
{#- #+{{pkg_install_name("ocaml-findlib")}} #}
{%- endmacro %}
-{% macro ocaml() -%}{%- endmacro %}
+{% macro ocaml_environment() -%}{%- endmacro %}
-{% macro vm() -%}
+{% macro vm_environment() -%}
#+{{pkg_install_name("linux-qemu-guest")}}
{%- endmacro %}
-{% macro mdevd() -%}
+{% macro mdevd_environment() -%}
#+{{pkg_install_name("busybox")}}
#+{{pkg_install_name("execline")}}
#+{{pkg_install_name("s6")}}
@@ -36,7 +42,7 @@
#+{{pkg_install_name(["busybox-modutils", "busybox:modutils"][kernel is defined|int])}}
{%- endmacro %}
-{% macro containers() -%}
+{% macro containers_environment() -%}
#+{{pkg_install_name("busybox")}}
#+{{pkg_install_name("busybox-diffutils")}}
#+{{pkg_install_name("execline")}}
@@ -58,7 +64,7 @@
#+{{pkg_install_name("nawk")}}
{%- endmacro %}
-{% macro userspace() -%}
+{% macro userspace_environment() -%}
#+{{pkg_install_name("busybox")}}
#+{{pkg_install_name("gnu-make")}}
#+{{pkg_install_name("musl-cross-make")}}
@@ -103,8 +109,8 @@
#+{{pkg_install_name("squashfs-tools")}}
{%- endmacro %}
-{% macro default() -%}
-{{ userspace() }}
+{% macro default_environment() -%}
+{{ userspace_environment() }}
#+{{pkg_install_name("system-config")}}
#+{{pkg_install_name("system-config-rc")}}
#+{{pkg_install_name("system-config-scripts")}}
diff --git a/templates/pkg/bootstrap.environment b/templates/pkg/bootstrap.environment
@@ -1,5 +1 @@
-{{ shebang }}
-{%- set env_name=name.split('.')[0] -%}
-{%- import "package_sets" as ps %}
-{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %}
-{{ ps[env_name]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/containers.environment b/templates/pkg/containers.environment
@@ -1,3 +1 @@
-{{ shebang }}
-{%- import "package_sets" as ps %}
-{{ ps[name.split('.')[0]]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/default.environment b/templates/pkg/default.environment
@@ -1,3 +1 @@
-{{ shebang }}
-{%- import "package_sets" as ps %}
-{{ ps.default() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/kernel.environment b/templates/pkg/kernel.environment
@@ -1,4 +1 @@
-{% if kernel is undefined %}{% do skip("kernel variable is undefined") %}{% endif -%}
-{{ shebang }}
-#+{{pkg_install_name(kernel)}}
-#+{{pkg_install_name("busybox:modutils")}}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/mdevd.environment b/templates/pkg/mdevd.environment
@@ -1,3 +1 @@
-{{ shebang }}
-{%- import "package_sets" as ps %}
-{{ ps[name.split('.')[0]]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/ocaml.environment b/templates/pkg/ocaml.environment
@@ -1,5 +1 @@
-{{ shebang }}
-{%- set env_name=name.split('.')[0] -%}
-{%- import "package_sets" as ps %}
-{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %}
-{{ ps[env_name]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/userspace.environment b/templates/pkg/userspace.environment
@@ -1,3 +1 @@
-{{ shebang }}
-{%- import "package_sets" as ps %}
-{{ ps[name.split('.')[0]]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/vm.environment b/templates/pkg/vm.environment
@@ -1,3 +1 @@
-{{ shebang }}
-{%- import "package_sets" as ps %}
-{{ ps[name.split('.')[0]]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}
diff --git a/templates/pkg/wip.environment b/templates/pkg/wip.environment
@@ -1,5 +1 @@
-{{ shebang }}
-{%- set env_name=name.split('.')[0] -%}
-{%- import "package_sets" as ps %}
-{%- if ps[env_name]() == "" %}{% do skip("package set is empty: " ~ env_name) %}{% endif %}
-{{ ps[env_name]() }}
+{%- import "macros" as m %}{{ m.named_environment(name) }}