commit e886f7dd280d144a960b5df7ab209853b1e8880b
parent ba92fc467b61fa9a2885b7782b7c5499a8a68ad9
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Tue, 4 Nov 2025 17:37:25 +0000
ocaml packages
Diffstat:
19 files changed, 713 insertions(+), 7 deletions(-)
diff --git a/commitlist.sha1 b/commitlist.sha1
@@ -366,7 +366,6 @@ fae441e25a1ac266742ba6446b37ae56c8e57076 sources/ccx-utils
c6aef8098d37a1773439117a5674bfc8662ef62b sources/confz
41d6ee2d6aa33b323eee611013dd4aab6a09fc89 sources/containers
5d2b98a3c54b6f142b80773e4a18dea3749bfea6 sources/containers
-8ec212c9411088ad7e116e330d6a33f68c539678 sources/containers
b2ba08f728a01a5bac734c823016be77035ab687 sources/containers
e8dfe8dcb4396ac0f12f0d0017f9836fa113e3a6 sources/containers
94422be00da71ff44c8ad1fe3455587c62ca29d3 sources/easyseccomp
diff --git a/downloadlist.sha256 b/downloadlist.sha256
@@ -90,3 +90,9 @@ cca8badff83b470fdcfb1840116f8e8a6f2cb86cde2f44ed28cf26cbf692a793 26006 https://g
b6595ee187dea792b31fc54a0e1524ab1e48bc6068d3066c45215a138cc73b95 2530 https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz
2e223837e7cecc3bc84a432432c0a72f4e1d5be9165c9c33772f156db85db0b3 413133 https://github.com/ocaml-ppx/ppxlib/releases/download/0.37.0/ppxlib-0.37.0.tbz
c91d1ea5e15e6928a2f8947dbd135b9f765cc0e2d72be271427981afcd350c24 48969 https://github.com/ocaml-ppx/ppx_deriving/releases/download/v6.1.1/ppx_deriving-6.1.1.tar.gz
+9b9644d7351db699e57ddba7c767bb4153e6e988ccf45ead2fb238a3bd75cdc7 5006 https://github.com/janestreet/ocaml-compiler-libs/archive/refs/tags/v0.17.0.tar.gz
+ec49c452dc337a620556ab682bf0198bf50182550b502d8fb230a591260aa6a4 77476 https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/2.4.0/ocaml-migrate-parsetree-2.4.0.tbz
+e7cb473d4bffcf419f307c658cf2599fab03a2b4fe655bfd0be699f8f7af176e 7982 https://github.com/janestreet/stdio/archive/refs/tags/v0.17.0.tar.gz
+b1c2d176ff1444041f2775786ba605be796e46dfd2acb06c96f35d2bb88b8fb5 173019 https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v1.8.0/ocaml-migrate-parsetree-v1.8.0.tbz
+6e62a8ee0217c9cc38d5860110eb18eb8d89c05c420353d298e1431fe8bac00f 43588 https://github.com/ocaml-community/cppo/archive/v1.8.0.tar.gz
+babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a 10163 https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz
diff --git a/templates/pkg/ocaml-compiler-libs b/templates/pkg/ocaml-compiler-libs
@@ -0,0 +1,9 @@
+{%- set pkg_version="0.17.0" -%}
+{% extends "dune" %}
+{% import "macros" as m %}
+{% block package_deps -%}
+#@untar:-z:{{downloads["https://github.com/janestreet/"~upstream_name~"/archive/refs/tags/v"~pkg_version~".tar.gz"]}}:.
+{% endblock package_deps %}
+{% block genlinks_begin %}
+{{ m.genlinks_ocaml_library(upstream_name, ["common/ocaml_common"]) }}
+{% endblock genlinks_begin %}
diff --git a/templates/pkg/ocaml-cppo b/templates/pkg/ocaml-cppo
@@ -0,0 +1,10 @@
+{%- set pkg_version="1.8.0" -%}
+{%- set upstream_name="cppo" -%}
+{% extends "dune" %}
+{% import "macros" as m %}
+{% block package_deps -%}
+#@untar:-z:{{downloads["https://github.com/ocaml-community/"~upstream_name~"/archive/v"~pkg_version~".tar.gz"]}}:.
+{% endblock package_deps %}
+{% block genlinks_begin %}
+{{ m.genlinks_ocaml_library(upstream_name, [upstream_name]) }}
+{% endblock genlinks_begin %}
diff --git a/templates/pkg/ocaml-ppx_deriving b/templates/pkg/ocaml-ppx_deriving
@@ -3,6 +3,7 @@
{% extends "dune" %}
{% import "macros" as m %}
{% block package_deps -%}
+#+{{pkg_install_name("ocaml-cppo")}}
#+{{pkg_install_name("ocaml-ppxlib")}}
#@untar:-z:{{downloads["https://github.com/ocaml-ppx/"~upstream_name~"/releases/download/v"~pkg_version~"/"~upstream_name~"-"~pkg_version~".tar.gz"]}}:.
{% endblock package_deps %}
diff --git a/templates/pkg/ocaml-ppxlib b/templates/pkg/ocaml-ppxlib
@@ -3,7 +3,10 @@
{% extends "dune" %}
{% import "macros" as m %}
{% block package_deps -%}
+#+{{pkg_install_name("ocaml-compiler-libs")}}
#+{{pkg_install_name("ocaml-ppx_derivers")}}
+#+{{pkg_install_name("ocaml-sexplib0")}}
+#+{{pkg_install_name("ocaml-stdlib-shims")}}
#@untar:-j:{{downloads["https://github.com/ocaml-ppx/"~upstream_name~"/releases/download/"~pkg_version~"/"~upstream_name~"-"~pkg_version~".tbz"]}}:.
{% endblock package_deps %}
{% block genlinks_begin %}
diff --git a/templates/pkg/ocaml-stdlib-shims b/templates/pkg/ocaml-stdlib-shims
@@ -0,0 +1,10 @@
+{%- set pkg_version="0.3.0" -%}
+{%- set upstream_name="stdlib-shims" -%}
+{% extends "dune" %}
+{% import "macros" as m %}
+{% block package_deps -%}
+#@untar:-j:{{downloads["https://github.com/ocaml/"~upstream_name~"/releases/download/"~pkg_version~"/"~upstream_name~"-"~pkg_version~".tbz"]}}:.
+{% endblock package_deps %}
+{% block genlinks_begin %}
+{{ m.genlinks_ocaml_library(upstream_name, [upstream_name]) }}
+{% endblock genlinks_begin %}
diff --git a/variants/ccx-x86_64/ocaml-compiler-libs b/variants/ccx-x86_64/ocaml-compiler-libs
@@ -0,0 +1,110 @@
+#!/usr/bin/env pthbs-build
+#+busybox.47c820e8cf3f700bf5b693d7d379272d485e5078b2036912ce2e01bb998caf1f
+#+busybox-findutils.79fab8ce17646e27c958348822c367903ddbef44dcebb134d16caa4fc287b716
+#+busybox-awk.6efe6e8726ffa7c47dc117be114219675ccea315e4e29685e40a06b61d249f9b
+#+busybox-diffutils.f40ac7713836b6eaa4e46db3b7577b533f4738fb10bf732edc044ffc48eb9ec8
+#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f
+#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5
+#+dune.c0d42300ccdc7cde0eb62ac8076b599c1b8504fd53a02f3b433a5461d2b92b53
+#@untar:-z:sha256:9b9644d7351db699e57ddba7c767bb4153e6e988ccf45ead2fb238a3bd75cdc7:.
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'ocaml-compiler-libs-0.17.0'
+
+
+export DUNE_CACHE=disabled
+
+
+
+dune build --no-buffer --verbose --release -j "${JOBS:-1}"
+
+
+dune install \
+ --destdir="$pthbs_destdir" \
+ --prefix="$prefix" \
+ --libdir="$prefix/library.ocaml" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --etcdir="$prefix/config/etc" \
+ --mandir="$prefix/man" \
+ --docdir="$prefix/doc/ocaml-compiler-libs" \
+ --datadir="$prefix/data" \
+
+
+
+
+dune runtest --build-dir=.testenv --no-buffer --verbose
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+
+ x["./library.ocaml/ocaml-compiler-libs/META"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.a"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cma"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmi"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmti"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmx"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmxa"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.mli"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "library.ocaml" { link($0); next }
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/ccx-x86_64/ocaml-cppo b/variants/ccx-x86_64/ocaml-cppo
@@ -0,0 +1,110 @@
+#!/usr/bin/env pthbs-build
+#+busybox.47c820e8cf3f700bf5b693d7d379272d485e5078b2036912ce2e01bb998caf1f
+#+busybox-findutils.79fab8ce17646e27c958348822c367903ddbef44dcebb134d16caa4fc287b716
+#+busybox-awk.6efe6e8726ffa7c47dc117be114219675ccea315e4e29685e40a06b61d249f9b
+#+busybox-diffutils.f40ac7713836b6eaa4e46db3b7577b533f4738fb10bf732edc044ffc48eb9ec8
+#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f
+#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5
+#+dune.c0d42300ccdc7cde0eb62ac8076b599c1b8504fd53a02f3b433a5461d2b92b53
+#@untar:-z:sha256:6e62a8ee0217c9cc38d5860110eb18eb8d89c05c420353d298e1431fe8bac00f:.
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'cppo-1.8.0'
+
+
+export DUNE_CACHE=disabled
+
+
+
+dune build --no-buffer --verbose --release -j "${JOBS:-1}"
+
+
+dune install \
+ --destdir="$pthbs_destdir" \
+ --prefix="$prefix" \
+ --libdir="$prefix/library.ocaml" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --etcdir="$prefix/config/etc" \
+ --mandir="$prefix/man" \
+ --docdir="$prefix/doc/ocaml-cppo" \
+ --datadir="$prefix/data" \
+
+
+
+
+dune runtest --build-dir=.testenv --no-buffer --verbose
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+
+ x["./library.ocaml/cppo/META"]=1
+ x["./library.ocaml/cppo/cppo.a"]=1
+ x["./library.ocaml/cppo/cppo.cma"]=1
+ x["./library.ocaml/cppo/cppo.cmi"]=1
+ x["./library.ocaml/cppo/cppo.cmti"]=1
+ x["./library.ocaml/cppo/cppo.cmx"]=1
+ x["./library.ocaml/cppo/cppo.cmxa"]=1
+ x["./library.ocaml/cppo/cppo.mli"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "library.ocaml" { link($0); next }
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/ccx-x86_64/ocaml-ppx_deriving b/variants/ccx-x86_64/ocaml-ppx_deriving
@@ -6,7 +6,8 @@
#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f
#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5
#+dune.c0d42300ccdc7cde0eb62ac8076b599c1b8504fd53a02f3b433a5461d2b92b53
-#+ocaml-ppxlib.89942cf7cf4f81dbb226b53537e264ffc3047e5ce01e1c78a9e5fd0fecec7823
+#+ocaml-cppo.a887e01728f196b318674773aa40808e621a4a0b4296d2ba1d25e72738dace62
+#+ocaml-ppxlib.5e442820d0e41a6ad4a1ae5a06fb1e62c5b28fe268057b9b97ac521cf04048d4
#@untar:-z:sha256:c91d1ea5e15e6928a2f8947dbd135b9f765cc0e2d72be271427981afcd350c24:.
diff --git a/variants/ccx-x86_64/ocaml-ppxlib b/variants/ccx-x86_64/ocaml-ppxlib
@@ -6,7 +6,10 @@
#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f
#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5
#+dune.c0d42300ccdc7cde0eb62ac8076b599c1b8504fd53a02f3b433a5461d2b92b53
+#+ocaml-compiler-libs.e52ca3c2c3a4a628378dbc4c71c1f010c4b6f5914a91cdfba9d3b1101cfd8f1a
#+ocaml-ppx_derivers.1038266d1d098dc9c0ad0d62024bd823b1cdcbf6e5c58c7648079e92e5569e20
+#+ocaml-sexplib0.f1d2ff864ddf85d6a2412f3821211c24691b5d04e7c69efa5e7195ec54f467a3
+#+ocaml-stdlib-shims.fe0317ac925b95842ffe49fcc80e6ba245f9921ded105b0f6242a400889f4786
#@untar:-j:sha256:2e223837e7cecc3bc84a432432c0a72f4e1d5be9165c9c33772f156db85db0b3:.
diff --git a/variants/ccx-x86_64/ocaml-stdlib-shims b/variants/ccx-x86_64/ocaml-stdlib-shims
@@ -0,0 +1,110 @@
+#!/usr/bin/env pthbs-build
+#+busybox.47c820e8cf3f700bf5b693d7d379272d485e5078b2036912ce2e01bb998caf1f
+#+busybox-findutils.79fab8ce17646e27c958348822c367903ddbef44dcebb134d16caa4fc287b716
+#+busybox-awk.6efe6e8726ffa7c47dc117be114219675ccea315e4e29685e40a06b61d249f9b
+#+busybox-diffutils.f40ac7713836b6eaa4e46db3b7577b533f4738fb10bf732edc044ffc48eb9ec8
+#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f
+#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5
+#+dune.c0d42300ccdc7cde0eb62ac8076b599c1b8504fd53a02f3b433a5461d2b92b53
+#@untar:-j:sha256:babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a:.
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'stdlib-shims-0.3.0'
+
+
+export DUNE_CACHE=disabled
+
+
+
+dune build --no-buffer --verbose --release -j "${JOBS:-1}"
+
+
+dune install \
+ --destdir="$pthbs_destdir" \
+ --prefix="$prefix" \
+ --libdir="$prefix/library.ocaml" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --etcdir="$prefix/config/etc" \
+ --mandir="$prefix/man" \
+ --docdir="$prefix/doc/ocaml-stdlib-shims" \
+ --datadir="$prefix/data" \
+
+
+
+
+dune runtest --build-dir=.testenv --no-buffer --verbose
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+
+ x["./library.ocaml/stdlib-shims/META"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.a"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cma"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmi"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmti"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmx"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmxa"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.mli"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "library.ocaml" { link($0); next }
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/ccx-x86_64/wip.environment b/variants/ccx-x86_64/wip.environment
@@ -6,4 +6,4 @@
#+opam.714997e34c97a27678ee9a24f03256bbda3ac9e44597b10f56c795f37a17e989
#+ocaml-bos.f48bde6d519b44d74cedb6e034a1d2e2e2333b0fae628167c141d3c990272474
#+ocaml-lun.52d3ef1c3c4ae340516453de1a4be7223131ca6681718bf1e980b079356c42be
-#+ocaml-ppx_deriving.83a2bb9f09a519e0059d4825524e55b1002bd09e60c207f7c85facdd68e13952-
\ No newline at end of file
+#+ocaml-ppx_deriving.67c12aeb427d3e07a8e43eff1ad09e6258d12599a02e64b872fd32e7cf31a63b+
\ No newline at end of file
diff --git a/variants/root-x86_64/ocaml-compiler-libs b/variants/root-x86_64/ocaml-compiler-libs
@@ -0,0 +1,110 @@
+#!/usr/bin/env pthbs-build
+#+busybox.05cde6bebcef146cc4de9201c82e0ef427702cc3bfe1acb48c0587542ba53002
+#+busybox-findutils.2c87d98d861d724e141128f395bed58e70601468aee2a192d77d5791d83772b7
+#+busybox-awk.a5b9d5a1c719361e565a642a57d44356c26855fb0eda30c03eaf582ba6c3194b
+#+busybox-diffutils.977bc00da27e0150d3b3d395fe42cf24e0364b03390cab81002f27b34158d9fc
+#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676
+#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090
+#+dune.95c82b3a7b7ca44addea06a8be851397ad92a3cb48b570829ef4e6509757ea02
+#@untar:-z:sha256:9b9644d7351db699e57ddba7c767bb4153e6e988ccf45ead2fb238a3bd75cdc7:.
+
+
+# - build script start -
+
+prefix=/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'ocaml-compiler-libs-0.17.0'
+
+
+export DUNE_CACHE=disabled
+
+
+
+dune build --no-buffer --verbose --release -j "${JOBS:-1}"
+
+
+dune install \
+ --destdir="$pthbs_destdir" \
+ --prefix="$prefix" \
+ --libdir="$prefix/library.ocaml" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --etcdir="$prefix/config/etc" \
+ --mandir="$prefix/man" \
+ --docdir="$prefix/doc/ocaml-compiler-libs" \
+ --datadir="$prefix/data" \
+
+
+
+
+dune runtest --build-dir=.testenv --no-buffer --verbose
+
+
+
+cd "$pthbs_destdir/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+
+ x["./library.ocaml/ocaml-compiler-libs/META"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.a"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cma"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmi"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmti"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmx"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.cmxa"]=1
+ x["./library.ocaml/ocaml-compiler-libs/common/ocaml_common.mli"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "library.ocaml" { link($0); next }
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/root-x86_64/ocaml-cppo b/variants/root-x86_64/ocaml-cppo
@@ -0,0 +1,110 @@
+#!/usr/bin/env pthbs-build
+#+busybox.05cde6bebcef146cc4de9201c82e0ef427702cc3bfe1acb48c0587542ba53002
+#+busybox-findutils.2c87d98d861d724e141128f395bed58e70601468aee2a192d77d5791d83772b7
+#+busybox-awk.a5b9d5a1c719361e565a642a57d44356c26855fb0eda30c03eaf582ba6c3194b
+#+busybox-diffutils.977bc00da27e0150d3b3d395fe42cf24e0364b03390cab81002f27b34158d9fc
+#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676
+#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090
+#+dune.95c82b3a7b7ca44addea06a8be851397ad92a3cb48b570829ef4e6509757ea02
+#@untar:-z:sha256:6e62a8ee0217c9cc38d5860110eb18eb8d89c05c420353d298e1431fe8bac00f:.
+
+
+# - build script start -
+
+prefix=/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'cppo-1.8.0'
+
+
+export DUNE_CACHE=disabled
+
+
+
+dune build --no-buffer --verbose --release -j "${JOBS:-1}"
+
+
+dune install \
+ --destdir="$pthbs_destdir" \
+ --prefix="$prefix" \
+ --libdir="$prefix/library.ocaml" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --etcdir="$prefix/config/etc" \
+ --mandir="$prefix/man" \
+ --docdir="$prefix/doc/ocaml-cppo" \
+ --datadir="$prefix/data" \
+
+
+
+
+dune runtest --build-dir=.testenv --no-buffer --verbose
+
+
+
+cd "$pthbs_destdir/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+
+ x["./library.ocaml/cppo/META"]=1
+ x["./library.ocaml/cppo/cppo.a"]=1
+ x["./library.ocaml/cppo/cppo.cma"]=1
+ x["./library.ocaml/cppo/cppo.cmi"]=1
+ x["./library.ocaml/cppo/cppo.cmti"]=1
+ x["./library.ocaml/cppo/cppo.cmx"]=1
+ x["./library.ocaml/cppo/cppo.cmxa"]=1
+ x["./library.ocaml/cppo/cppo.mli"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "library.ocaml" { link($0); next }
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/root-x86_64/ocaml-ppx_deriving b/variants/root-x86_64/ocaml-ppx_deriving
@@ -6,7 +6,8 @@
#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676
#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090
#+dune.95c82b3a7b7ca44addea06a8be851397ad92a3cb48b570829ef4e6509757ea02
-#+ocaml-ppxlib.354da5c4da850b24ab40b84c08c5ee25d67b03fa1451c23db46e47f406ba3bee
+#+ocaml-cppo.bc449963de811069d9158eb3238c9c51fdb3f555b5acb7516b5aeb38d09cf6d0
+#+ocaml-ppxlib.6a4e285d27e98f837126955949a2bdc2510141652320330c31d4a09b09dac67d
#@untar:-z:sha256:c91d1ea5e15e6928a2f8947dbd135b9f765cc0e2d72be271427981afcd350c24:.
diff --git a/variants/root-x86_64/ocaml-ppxlib b/variants/root-x86_64/ocaml-ppxlib
@@ -6,7 +6,10 @@
#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676
#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090
#+dune.95c82b3a7b7ca44addea06a8be851397ad92a3cb48b570829ef4e6509757ea02
+#+ocaml-compiler-libs.c84c66d4fddffa4fd0034a1c830ea20cdbc1e60f843e322c54fb6f64314a9cd8
#+ocaml-ppx_derivers.35e6f616d00c8d9587de17e8f270724f7d9bbc634b72553405781db8a69fe666
+#+ocaml-sexplib0.54346d5f7100dd24505e6d0276eb387bd28cbcc86ae61625f634c6372ab59b05
+#+ocaml-stdlib-shims.2fca331c5a896a7c0a768e1b1e0df8e387d6179487bbf3d6d2dc631de6220a18
#@untar:-j:sha256:2e223837e7cecc3bc84a432432c0a72f4e1d5be9165c9c33772f156db85db0b3:.
diff --git a/variants/root-x86_64/ocaml-stdlib-shims b/variants/root-x86_64/ocaml-stdlib-shims
@@ -0,0 +1,110 @@
+#!/usr/bin/env pthbs-build
+#+busybox.05cde6bebcef146cc4de9201c82e0ef427702cc3bfe1acb48c0587542ba53002
+#+busybox-findutils.2c87d98d861d724e141128f395bed58e70601468aee2a192d77d5791d83772b7
+#+busybox-awk.a5b9d5a1c719361e565a642a57d44356c26855fb0eda30c03eaf582ba6c3194b
+#+busybox-diffutils.977bc00da27e0150d3b3d395fe42cf24e0364b03390cab81002f27b34158d9fc
+#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676
+#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090
+#+dune.95c82b3a7b7ca44addea06a8be851397ad92a3cb48b570829ef4e6509757ea02
+#@untar:-j:sha256:babf72d3917b86f707885f0c5528e36c63fccb698f4b46cf2bab5c7ccdd6d84a:.
+
+
+# - build script start -
+
+prefix=/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'stdlib-shims-0.3.0'
+
+
+export DUNE_CACHE=disabled
+
+
+
+dune build --no-buffer --verbose --release -j "${JOBS:-1}"
+
+
+dune install \
+ --destdir="$pthbs_destdir" \
+ --prefix="$prefix" \
+ --libdir="$prefix/library.ocaml" \
+ --bindir="$prefix/command" \
+ --sbindir="$prefix/command" \
+ --etcdir="$prefix/config/etc" \
+ --mandir="$prefix/man" \
+ --docdir="$prefix/doc/ocaml-stdlib-shims" \
+ --datadir="$prefix/data" \
+
+
+
+
+dune runtest --build-dir=.testenv --no-buffer --verbose
+
+
+
+cd "$pthbs_destdir/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+
+ x["./library.ocaml/stdlib-shims/META"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.a"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cma"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmi"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmti"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmx"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.cmxa"]=1
+ x["./library.ocaml/stdlib-shims/stdlib-shims.mli"]=1
+}
+
+function r1(s) {
+ sub("^[.]/[^/]*", ".", s)
+ return s
+}
+function s1(repl, s) {
+ sub("^[.]/[^/]*", "./"repl, s)
+ return s
+}
+function link(src) {
+ x[$0]=0
+ printf "%s\t%s\n", $0, src
+ printf "genlinks >>%s\t%s<<\n", $0, src >>"/dev/stderr"
+}
+$1!="."{exit 1}
+
+
+$2 == "library.ocaml" { link($0); next }
+
+$2 == "config" { link($0); next }
+$2 == "keys" { link($0); next }
+$2 == "zsh" { link($0); next }
+$2 == "env" { link($0); next }
+$2 == "command" { link($0); next }
+$2 == "bin" { link(s1("command", $0)); next }
+
+$2 == "library.so" { link($0); next }
+$2 == "library" { link($0); next }
+$2 == "lib" && $NF ~ /\.l?a$/ { link(s1("library", $0)); next }
+$2 == "lib" && $NF ~ /\.so(\..*)?$/ { link(s1("library.so", $0)); next }
+
+$2 == "share" && $3 ~ /^(info|man|doc|icons|terminfo)$/ { link(r1($0)); next }
+
+$2 == "man" { link($0); next }
+$2 == "info" { link($0); next }
+$2 == "doc" { link($0); next }
+$2 == "icons" { link($0); next }
+$2 == "terminfo" { link($0); next }
+$2 == "data" { link($0); next }
+$2 == "include" { link($0); next }
+
+{ printf "genlinks ##%s## skipped\n", $0 >>"/dev/stderr" }
+
+END {
+ for(fname in x) { printf "DEBUG: x[\"%s\"]=\"%s\"\n", fname, x[fname] >"/dev/stderr" }
+ for(fname in x) {
+ if(x[fname]) {
+ printf "ERROR: missing expected file \"%s\"\n", fname >"/dev/stderr"
+ exit 3
+ }
+ }
+}' >.install-links.new
+mv .install-links.new .install-links
+
diff --git a/variants/root-x86_64/wip.environment b/variants/root-x86_64/wip.environment
@@ -6,4 +6,4 @@
#+opam.41ab4229b7606047164bfc9b9077da4555831edd67cf82d236ba1c6059bb9b96
#+ocaml-bos.c2747b73ddecbe1a271975c98b5b2cde1bd9da2a2e395ca2ab8b442dd8decbea
#+ocaml-lun.690dee92fa955153b40e02502f46edb36af3f5f5f523fb6d34dea295701cee42
-#+ocaml-ppx_deriving.9faf2da1b7ee38cee7841b0d642722e09c1be8e55cbc58c5021be03acb25e870-
\ No newline at end of file
+#+ocaml-ppx_deriving.bf460c681f4d39d98c0b0b7c3bb4f2abb260beeb3974e87ad3126723ba14d700+
\ No newline at end of file