commit c0376768318e1cc3a52c19f13c44e7bd0bec829d
parent e905273d0ed0168cac0df3dc831bf83a3de6a13e
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Tue, 4 Nov 2025 02:23:22 +0000
ocaml packages
Diffstat:
11 files changed, 235 insertions(+), 6 deletions(-)
diff --git a/downloadlist.sha256 b/downloadlist.sha256
@@ -82,3 +82,4 @@ c4d053029793c714e4e7340b1157428c0f90783585fb17f35158247a640467d9 14294433 https:
3f3f64789ab25bb5cb7f5f907dd651dec9cc9440981822fe75df6b94344b7208 478230 https://github.com/janestreet/base/archive/refs/tags/v0.17.3.tar.gz
c988b7769a59749631c3c98ba5edd1d2fe91f5dc380b5e0593c073c92f4bee01 11922 https://github.com/janestreet/ocaml_intrinsics_kernel/archive/refs/tags/v0.17.1.tar.gz
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
diff --git a/templates/pkg/ocaml-cmdliner b/templates/pkg/ocaml-cmdliner
@@ -0,0 +1,19 @@
+{%- set pkg_version="2.0.0" -%}
+{%- set upstream_name="cmdliner" -%}
+{%- set pkg_source="tbz" -%}
+{% extends "topkg" %}
+{% block package_deps -%}
+#+{{pkg_install_name("ocaml-topkg")}}
+{% endblock package_deps %}
+{% block genlinks_begin %}
+ x["./library.ocaml/cmdliner/cmdliner.a"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cma"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmi"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.cmt"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmti"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmx"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmxa"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.cmxs"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.ml"]=1
+ x["./library.ocaml/cmdliner/cmdliner.mli"]=1
+{% endblock genlinks_begin %}
diff --git a/templates/pkg/ocaml-fmt b/templates/pkg/ocaml-fmt
@@ -4,6 +4,7 @@
{% extends "topkg" %}
{% block package_deps -%}
#+{{pkg_install_name("ocaml-topkg")}}
+#+{{pkg_install_name("ocaml-cmdliner")}}
{% endblock package_deps %}
{% block genlinks_begin %}
x["./library.ocaml/fmt/fmt.a"]=1
diff --git a/variants/ccx-x86_64/ocaml-bos b/variants/ccx-x86_64/ocaml-bos
@@ -12,7 +12,7 @@
#+ocaml-astring.20c5ab454f46b26a677ce1cec8eb7345850823314d3a93aab4849a3fe23b0d47
#+ocaml-fpath.bec59f163bad0d726c722021b5892b78a593980056825251596e13f3ab31991d
#+ocaml-rresult.9cb11f01ad3fc18ff1eac51edc2045aac895f559780b7eae99f5c259bb05b9a2
-#+ocaml-fmt.7e68c6891ae2939d9943698b41b7790b525a258c0bd51b538ef43cebe4a299fd
+#+ocaml-fmt.17958ded830aefa3e92ab361a230ac393af7849592c628e53ef49c9261ec38f8
#@untar:-j:sha256:d8d62e786b10d697e0457205a8eedeaa27ebcc90f1855f18df190cac2e3d8f37:.
diff --git a/variants/ccx-x86_64/ocaml-cmdliner b/variants/ccx-x86_64/ocaml-cmdliner
@@ -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:4e547a631c36fbaadff60d3bd7724eb3f83ba274e92fb725950bae7868378582:.
+
+
+# - build script start -
+
+prefix=/home/ccx/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'cmdliner-2.0.0'
+
+
+
+ocaml -I "$OCAMLPATH" pkg/pkg.ml build
+
+
+ opam-installer -i \
+ --prefix="$dest" \
+ --libdir="$dest/library.ocaml" \
+ --mandir="$dest/man" \
+ --docdir="$dest/doc/ocaml-cmdliner"
+
+
+
+
+
+cd "$pthbs_destdir/home/ccx/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./library.ocaml/cmdliner/cmdliner.a"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cma"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmi"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.cmt"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmti"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmx"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmxa"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.cmxs"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.ml"]=1
+ x["./library.ocaml/cmdliner/cmdliner.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-fmt b/variants/ccx-x86_64/ocaml-fmt
@@ -9,6 +9,7 @@
#+ocamlbuild.af1e7c1126b473143018d4844d1142ae30a23db6b8c435f28ba21bbe015b03f8
#+opam.714997e34c97a27678ee9a24f03256bbda3ac9e44597b10f56c795f37a17e989
#+ocaml-topkg.c440f7f2689ef8ddaa0eceddf419d4d07f17675741ee871d9f017d268b91a1ef
+#+ocaml-cmdliner.ec7ccf7d8eacbb9326906803a3eb395459f2636d627b0c402c0f5ca642e625c5
#@untar:-j:sha256:f1fb20805a22dd75a137d72704a370e7789cf6bdf63948e6817d1c226c141261:.
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.9e2cc6430a16b89d79fb98a3fbba0cc6eaafd8f8eceaec1b4ee1293f029802a8-
\ No newline at end of file
+#+ocaml-bos.04cd9472081563ca10b2050f99a202a57201fc0b42e65d4611ab1f50ee7b3995+
\ No newline at end of file
diff --git a/variants/root-x86_64/ocaml-bos b/variants/root-x86_64/ocaml-bos
@@ -12,7 +12,7 @@
#+ocaml-astring.efdd25e49a36264acd969292ebed318c1c5c9a9ac87d6432689fa05d74ed750b
#+ocaml-fpath.406a982d259af5ce349b00db87cc30a1fa98fb992d86e6281a05128ccaa369e1
#+ocaml-rresult.2bf80737a8c2e7fb74a4964eaddecac799b32c6e389064e0c19fbc07db68e687
-#+ocaml-fmt.bbd00889a1124d7f53dd1eb7da94fa3005a9955f645a51277af9ea8d1f9fd572
+#+ocaml-fmt.2ac9a5504d4bb4e49b9b35de2174efd1e3b251ffce872a2be98ce6332d87fef3
#@untar:-j:sha256:d8d62e786b10d697e0457205a8eedeaa27ebcc90f1855f18df190cac2e3d8f37:.
diff --git a/variants/root-x86_64/ocaml-cmdliner b/variants/root-x86_64/ocaml-cmdliner
@@ -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:4e547a631c36fbaadff60d3bd7724eb3f83ba274e92fb725950bae7868378582:.
+
+
+# - build script start -
+
+prefix=/versions/$pthbs_package
+dest=${pthbs_destdir%/}${prefix}
+cd 'cmdliner-2.0.0'
+
+
+
+ocaml -I "$OCAMLPATH" pkg/pkg.ml build
+
+
+ opam-installer -i \
+ --prefix="$dest" \
+ --libdir="$dest/library.ocaml" \
+ --mandir="$dest/man" \
+ --docdir="$dest/doc/ocaml-cmdliner"
+
+
+
+
+
+cd "$pthbs_destdir/versions/$pthbs_package"
+find -type d -o -print | awk -F/ '
+BEGIN {
+ x["./library.ocaml/cmdliner/cmdliner.a"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cma"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmi"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.cmt"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmti"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmx"]=1
+ x["./library.ocaml/cmdliner/cmdliner.cmxa"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.cmxs"]=1
+ # x["./library.ocaml/cmdliner/cmdliner.ml"]=1
+ x["./library.ocaml/cmdliner/cmdliner.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-fmt b/variants/root-x86_64/ocaml-fmt
@@ -9,6 +9,7 @@
#+ocamlbuild.7dbc10e2fcb4197fa855b0d7ac0932a3c7920e53535a080407d725092501ef20
#+opam.41ab4229b7606047164bfc9b9077da4555831edd67cf82d236ba1c6059bb9b96
#+ocaml-topkg.5bf44aba09f15368614c9fadd8aed1698398a912cc215fca27bbe65284e64b47
+#+ocaml-cmdliner.09fd939edba12db32abaaa689d5eea6cac869f674bc9846c6fd2fba84509b410
#@untar:-j:sha256:f1fb20805a22dd75a137d72704a370e7789cf6bdf63948e6817d1c226c141261:.
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.f7501fde746b4c49e80b5097c5025e095cda787aaabb46b605ce2600b5f0edde-
\ No newline at end of file
+#+ocaml-bos.5036b0169f6d6a3d063fc2c71c406722d13a2b622289351ed86987b6a514c308+
\ No newline at end of file