mrrl

Minimal Reliable Reproducible Linux
git clone https://ccx.te2000.cz/git/mrrl
Log | Files | Refs | Submodules | README

commit 3fe041f9163390488add2f977869d6997fb9c247
parent 3f6bdc324cbfd073c2fd1230b517a1f07146c9aa
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Tue,  4 Nov 2025 11:53:07 +0000

ocaml packages

Diffstat:
Mdownloadlist.sha256 | 2++
Mtemplates/pkg/ocaml-bos | 2++
Atemplates/pkg/ocaml-logs | 20++++++++++++++++++++
Atemplates/pkg/ocaml-mtime | 19+++++++++++++++++++
Mvariants/ccx-x86_64/ocaml-bos | 2++
Avariants/ccx-x86_64/ocaml-logs | 104+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/ccx-x86_64/ocaml-mtime | 103+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mvariants/ccx-x86_64/wip.environment | 4++--
Mvariants/root-x86_64/ocaml-bos | 2++
Avariants/root-x86_64/ocaml-logs | 104+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Avariants/root-x86_64/ocaml-mtime | 103+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mvariants/root-x86_64/wip.environment | 4++--
12 files changed, 465 insertions(+), 4 deletions(-)

diff --git a/downloadlist.sha256 b/downloadlist.sha256 @@ -84,3 +84,5 @@ c988b7769a59749631c3c98ba5edd1d2fe91f5dc380b5e0593c073c92f4bee01 11922 https://g 662c910f774e9fee3a19c4e057f380581ab2fc4ee52da4761304ac9c31b8869d 274668 https://download.camlcity.org/download/findlib-1.9.8.tar.gz 4e547a631c36fbaadff60d3bd7724eb3f83ba274e92fb725950bae7868378582 93833 https://erratique.ch/software/cmdliner/releases/cmdliner-2.0.0.tbz 857cfd47a54b52429cd9b3e2665e44173cd1bd3b435bece7172f984ad5376a1b 23336 https://erratique.ch/software/fmt/releases/fmt-0.11.0.tbz +ee97065ba41ce28f19dea9453c6bec4e0ef26165ad7394c4131ea0c65c0f06d5 19795 https://erratique.ch/software/logs/releases/logs-0.9.0.tbz +097cb2802e3701ead9572e1b483d5a28c6e2f0a39449faaf9b44ad8a89834d88 15370 https://erratique.ch/software/mtime/releases/mtime-2.1.0.tbz diff --git a/templates/pkg/ocaml-bos b/templates/pkg/ocaml-bos @@ -8,6 +8,8 @@ #+{{pkg_install_name("ocaml-fpath")}} #+{{pkg_install_name("ocaml-rresult")}} #+{{pkg_install_name("ocaml-fmt")}} +#+{{pkg_install_name("ocaml-logs")}} +#+{{pkg_install_name("ocaml-mtime")}} {% endblock package_deps %} {% block genlinks_begin %} x["./library.ocaml/bos/bos.a"]=1 diff --git a/templates/pkg/ocaml-logs b/templates/pkg/ocaml-logs @@ -0,0 +1,20 @@ +{%- set pkg_version="0.9.0" -%} +{%- set upstream_name="logs" -%} +{%- set pkg_source="tbz" -%} +{% extends "topkg" %} +{% block package_deps -%} +#+{{pkg_install_name("ocaml-topkg")}} +#+{{pkg_install_name("ocaml-mtime")}} +{% endblock package_deps %} +{% block genlinks_begin %} + x["./library.ocaml/logs/logs.a"]=1 + x["./library.ocaml/logs/logs.cma"]=1 + x["./library.ocaml/logs/logs.cmi"]=1 + # x["./library.ocaml/logs/logs.cmt"]=1 + x["./library.ocaml/logs/logs.cmti"]=1 + x["./library.ocaml/logs/logs.cmx"]=1 + x["./library.ocaml/logs/logs.cmxa"]=1 + # x["./library.ocaml/logs/logs.cmxs"]=1 + # x["./library.ocaml/logs/logs.ml"]=1 + x["./library.ocaml/logs/logs.mli"]=1 +{% endblock genlinks_begin %} diff --git a/templates/pkg/ocaml-mtime b/templates/pkg/ocaml-mtime @@ -0,0 +1,19 @@ +{%- set pkg_version="2.1.0" -%} +{%- set upstream_name="mtime" -%} +{%- set pkg_source="tbz" -%} +{% extends "topkg" %} +{% block package_deps -%} +#+{{pkg_install_name("ocaml-topkg")}} +{% endblock package_deps %} +{% block genlinks_begin %} + x["./library.ocaml/mtime/mtime.a"]=1 + x["./library.ocaml/mtime/mtime.cma"]=1 + x["./library.ocaml/mtime/mtime.cmi"]=1 + # x["./library.ocaml/mtime/mtime.cmt"]=1 + x["./library.ocaml/mtime/mtime.cmti"]=1 + x["./library.ocaml/mtime/mtime.cmx"]=1 + x["./library.ocaml/mtime/mtime.cmxa"]=1 + # x["./library.ocaml/mtime/mtime.cmxs"]=1 + # x["./library.ocaml/mtime/mtime.ml"]=1 + x["./library.ocaml/mtime/mtime.mli"]=1 +{% endblock genlinks_begin %} diff --git a/variants/ccx-x86_64/ocaml-bos b/variants/ccx-x86_64/ocaml-bos @@ -13,6 +13,8 @@ #+ocaml-fpath.bec59f163bad0d726c722021b5892b78a593980056825251596e13f3ab31991d #+ocaml-rresult.9cb11f01ad3fc18ff1eac51edc2045aac895f559780b7eae99f5c259bb05b9a2 #+ocaml-fmt.5a323613e5740ba985fff767ea107f23c0c50ea8c50c2444dbd07ccd7582b1b6 +#+ocaml-logs.9b3c65fe662c1a85594e46668c35cda196672726d5cd154ae871f8abebc29eed +#+ocaml-mtime.cd79f92ec98a82602257e8a5d1bbd5010080db3c155ae186e135bd8f51f77b62 #@untar:-j:sha256:d8d62e786b10d697e0457205a8eedeaa27ebcc90f1855f18df190cac2e3d8f37:. diff --git a/variants/ccx-x86_64/ocaml-logs b/variants/ccx-x86_64/ocaml-logs @@ -0,0 +1,104 @@ +#!/usr/bin/env pthbs-build +#+busybox.47c820e8cf3f700bf5b693d7d379272d485e5078b2036912ce2e01bb998caf1f +#+busybox-findutils.79fab8ce17646e27c958348822c367903ddbef44dcebb134d16caa4fc287b716 +#+busybox-awk.6efe6e8726ffa7c47dc117be114219675ccea315e4e29685e40a06b61d249f9b +#+busybox-diffutils.f40ac7713836b6eaa4e46db3b7577b533f4738fb10bf732edc044ffc48eb9ec8 +#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f +#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5 +#+ocaml-findlib.fe147b0c821388c1663dcf058bfea31504d7bdf2af5161104aa5a20f821446a9 +#+ocamlbuild.af1e7c1126b473143018d4844d1142ae30a23db6b8c435f28ba21bbe015b03f8 +#+opam.714997e34c97a27678ee9a24f03256bbda3ac9e44597b10f56c795f37a17e989 +#+ocaml-topkg.c440f7f2689ef8ddaa0eceddf419d4d07f17675741ee871d9f017d268b91a1ef +#+ocaml-mtime.cd79f92ec98a82602257e8a5d1bbd5010080db3c155ae186e135bd8f51f77b62 +#@untar:-j:sha256:ee97065ba41ce28f19dea9453c6bec4e0ef26165ad7394c4131ea0c65c0f06d5:. + + +# - build script start - + +prefix=/home/ccx/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'logs-0.9.0' + + + +ocaml -I "$OCAMLPATH" pkg/pkg.ml build + + + opam-installer -i \ + --prefix="$dest" \ + --libdir="$dest/library.ocaml" \ + --mandir="$dest/man" \ + --docdir="$dest/doc/ocaml-logs" + + + + + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library.ocaml/logs/logs.a"]=1 + x["./library.ocaml/logs/logs.cma"]=1 + x["./library.ocaml/logs/logs.cmi"]=1 + # x["./library.ocaml/logs/logs.cmt"]=1 + x["./library.ocaml/logs/logs.cmti"]=1 + x["./library.ocaml/logs/logs.cmx"]=1 + x["./library.ocaml/logs/logs.cmxa"]=1 + # x["./library.ocaml/logs/logs.cmxs"]=1 + # x["./library.ocaml/logs/logs.ml"]=1 + x["./library.ocaml/logs/logs.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-mtime b/variants/ccx-x86_64/ocaml-mtime @@ -0,0 +1,103 @@ +#!/usr/bin/env pthbs-build +#+busybox.47c820e8cf3f700bf5b693d7d379272d485e5078b2036912ce2e01bb998caf1f +#+busybox-findutils.79fab8ce17646e27c958348822c367903ddbef44dcebb134d16caa4fc287b716 +#+busybox-awk.6efe6e8726ffa7c47dc117be114219675ccea315e4e29685e40a06b61d249f9b +#+busybox-diffutils.f40ac7713836b6eaa4e46db3b7577b533f4738fb10bf732edc044ffc48eb9ec8 +#+musl-cross-make.e4735d8572f9b6654a7381ebdfbd62e665d1d1da5e06a56923e89274cc6a510f +#+ocaml.b8790b4e31ab26a55165b60c745d8789addca32a91a851444cbf36abe8c19dc5 +#+ocaml-findlib.fe147b0c821388c1663dcf058bfea31504d7bdf2af5161104aa5a20f821446a9 +#+ocamlbuild.af1e7c1126b473143018d4844d1142ae30a23db6b8c435f28ba21bbe015b03f8 +#+opam.714997e34c97a27678ee9a24f03256bbda3ac9e44597b10f56c795f37a17e989 +#+ocaml-topkg.c440f7f2689ef8ddaa0eceddf419d4d07f17675741ee871d9f017d268b91a1ef +#@untar:-j:sha256:097cb2802e3701ead9572e1b483d5a28c6e2f0a39449faaf9b44ad8a89834d88:. + + +# - build script start - + +prefix=/home/ccx/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'mtime-2.1.0' + + + +ocaml -I "$OCAMLPATH" pkg/pkg.ml build + + + opam-installer -i \ + --prefix="$dest" \ + --libdir="$dest/library.ocaml" \ + --mandir="$dest/man" \ + --docdir="$dest/doc/ocaml-mtime" + + + + + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library.ocaml/mtime/mtime.a"]=1 + x["./library.ocaml/mtime/mtime.cma"]=1 + x["./library.ocaml/mtime/mtime.cmi"]=1 + # x["./library.ocaml/mtime/mtime.cmt"]=1 + x["./library.ocaml/mtime/mtime.cmti"]=1 + x["./library.ocaml/mtime/mtime.cmx"]=1 + x["./library.ocaml/mtime/mtime.cmxa"]=1 + # x["./library.ocaml/mtime/mtime.cmxs"]=1 + # x["./library.ocaml/mtime/mtime.ml"]=1 + x["./library.ocaml/mtime/mtime.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 @@ -4,4 +4,4 @@ #+ocamlbuild.af1e7c1126b473143018d4844d1142ae30a23db6b8c435f28ba21bbe015b03f8 #+ocaml-base.6f21ed59c1615888f40f14b4362c60d1043053ba17c1be3fe604d54b69b82081 #+opam.714997e34c97a27678ee9a24f03256bbda3ac9e44597b10f56c795f37a17e989 -#+ocaml-bos.9d6990d64aa732dd90d11797a4701265deaa93027c64e331da2f2ae8312deca1- \ No newline at end of file +#+ocaml-bos.04233ca1fa1a7477e1e3365827ab85f670b96aaf87252e55bdf415f22c8fe3a2+ \ No newline at end of file diff --git a/variants/root-x86_64/ocaml-bos b/variants/root-x86_64/ocaml-bos @@ -13,6 +13,8 @@ #+ocaml-fpath.406a982d259af5ce349b00db87cc30a1fa98fb992d86e6281a05128ccaa369e1 #+ocaml-rresult.2bf80737a8c2e7fb74a4964eaddecac799b32c6e389064e0c19fbc07db68e687 #+ocaml-fmt.27c928579ee8cbb67b165c7c832c51b2d19d7ba5aa403dd3ba5a7e81f5738d95 +#+ocaml-logs.8cb5e193343c5393a18b0be95b09d949fa7f93fd4549b4628c83a2d726a1d0b2 +#+ocaml-mtime.58ee1d2a6e5e2e7185a5fc9ffc1a2cfadf635806a55a961d6f44509de0a25e74 #@untar:-j:sha256:d8d62e786b10d697e0457205a8eedeaa27ebcc90f1855f18df190cac2e3d8f37:. diff --git a/variants/root-x86_64/ocaml-logs b/variants/root-x86_64/ocaml-logs @@ -0,0 +1,104 @@ +#!/usr/bin/env pthbs-build +#+busybox.05cde6bebcef146cc4de9201c82e0ef427702cc3bfe1acb48c0587542ba53002 +#+busybox-findutils.2c87d98d861d724e141128f395bed58e70601468aee2a192d77d5791d83772b7 +#+busybox-awk.a5b9d5a1c719361e565a642a57d44356c26855fb0eda30c03eaf582ba6c3194b +#+busybox-diffutils.977bc00da27e0150d3b3d395fe42cf24e0364b03390cab81002f27b34158d9fc +#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676 +#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090 +#+ocaml-findlib.904b5d142efa177bbf52240eab6c0c12939c379ef5aea4d3f2c39302d1a34522 +#+ocamlbuild.7dbc10e2fcb4197fa855b0d7ac0932a3c7920e53535a080407d725092501ef20 +#+opam.41ab4229b7606047164bfc9b9077da4555831edd67cf82d236ba1c6059bb9b96 +#+ocaml-topkg.5bf44aba09f15368614c9fadd8aed1698398a912cc215fca27bbe65284e64b47 +#+ocaml-mtime.58ee1d2a6e5e2e7185a5fc9ffc1a2cfadf635806a55a961d6f44509de0a25e74 +#@untar:-j:sha256:ee97065ba41ce28f19dea9453c6bec4e0ef26165ad7394c4131ea0c65c0f06d5:. + + +# - build script start - + +prefix=/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'logs-0.9.0' + + + +ocaml -I "$OCAMLPATH" pkg/pkg.ml build + + + opam-installer -i \ + --prefix="$dest" \ + --libdir="$dest/library.ocaml" \ + --mandir="$dest/man" \ + --docdir="$dest/doc/ocaml-logs" + + + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library.ocaml/logs/logs.a"]=1 + x["./library.ocaml/logs/logs.cma"]=1 + x["./library.ocaml/logs/logs.cmi"]=1 + # x["./library.ocaml/logs/logs.cmt"]=1 + x["./library.ocaml/logs/logs.cmti"]=1 + x["./library.ocaml/logs/logs.cmx"]=1 + x["./library.ocaml/logs/logs.cmxa"]=1 + # x["./library.ocaml/logs/logs.cmxs"]=1 + # x["./library.ocaml/logs/logs.ml"]=1 + x["./library.ocaml/logs/logs.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-mtime b/variants/root-x86_64/ocaml-mtime @@ -0,0 +1,103 @@ +#!/usr/bin/env pthbs-build +#+busybox.05cde6bebcef146cc4de9201c82e0ef427702cc3bfe1acb48c0587542ba53002 +#+busybox-findutils.2c87d98d861d724e141128f395bed58e70601468aee2a192d77d5791d83772b7 +#+busybox-awk.a5b9d5a1c719361e565a642a57d44356c26855fb0eda30c03eaf582ba6c3194b +#+busybox-diffutils.977bc00da27e0150d3b3d395fe42cf24e0364b03390cab81002f27b34158d9fc +#+musl-cross-make.ef7f483eefcad5b8f2d6c8329e61a0acaca7864b88e9521cb839392c62f45676 +#+ocaml.4b14d5c50c08207a0442af369f9995a12f6a15db8d8b0fd5247a982789fc3090 +#+ocaml-findlib.904b5d142efa177bbf52240eab6c0c12939c379ef5aea4d3f2c39302d1a34522 +#+ocamlbuild.7dbc10e2fcb4197fa855b0d7ac0932a3c7920e53535a080407d725092501ef20 +#+opam.41ab4229b7606047164bfc9b9077da4555831edd67cf82d236ba1c6059bb9b96 +#+ocaml-topkg.5bf44aba09f15368614c9fadd8aed1698398a912cc215fca27bbe65284e64b47 +#@untar:-j:sha256:097cb2802e3701ead9572e1b483d5a28c6e2f0a39449faaf9b44ad8a89834d88:. + + +# - build script start - + +prefix=/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'mtime-2.1.0' + + + +ocaml -I "$OCAMLPATH" pkg/pkg.ml build + + + opam-installer -i \ + --prefix="$dest" \ + --libdir="$dest/library.ocaml" \ + --mandir="$dest/man" \ + --docdir="$dest/doc/ocaml-mtime" + + + + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library.ocaml/mtime/mtime.a"]=1 + x["./library.ocaml/mtime/mtime.cma"]=1 + x["./library.ocaml/mtime/mtime.cmi"]=1 + # x["./library.ocaml/mtime/mtime.cmt"]=1 + x["./library.ocaml/mtime/mtime.cmti"]=1 + x["./library.ocaml/mtime/mtime.cmx"]=1 + x["./library.ocaml/mtime/mtime.cmxa"]=1 + # x["./library.ocaml/mtime/mtime.cmxs"]=1 + # x["./library.ocaml/mtime/mtime.ml"]=1 + x["./library.ocaml/mtime/mtime.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 @@ -4,4 +4,4 @@ #+ocamlbuild.7dbc10e2fcb4197fa855b0d7ac0932a3c7920e53535a080407d725092501ef20 #+ocaml-base.e5ace8983e084348e90d518c91ff918d0270001074c8c4890d93d7d0cc971120 #+opam.41ab4229b7606047164bfc9b9077da4555831edd67cf82d236ba1c6059bb9b96 -#+ocaml-bos.484810b305f8103d4474af1f776178611c355db08aa06b759125b0b386a1d35a- \ No newline at end of file +#+ocaml-bos.b29f44a8a24af130bf07665525e21408048b82ae339afdbff80a64fae5ad1457+ \ No newline at end of file