mrrl

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

commit 27361f017cd1861f362890ccb9d0f7ea08e59a90
parent 7828cde401ae3a99cf362360d5e9ea2226135a2e
Author: Jan Pobrislo <ccx@te2000.cz>
Date:   Wed, 22 Oct 2025 21:31:23 +0000

ocaml packages

Diffstat:
Mdownloadlist.sha256 | 1+
Mtemplates/pkg/ocaml-base | 1+
Atemplates/pkg/ocaml_intrinsics_kernel | 37+++++++++++++++++++++++++++++++++++++
Mvariants/ccx-x86_64/ocaml-base | 1+
Avariants/ccx-x86_64/ocaml_intrinsics_kernel | 96+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mvariants/ccx-x86_64/wip.environment | 2+-
Mvariants/root-x86_64/ocaml-base | 1+
Avariants/root-x86_64/ocaml_intrinsics_kernel | 96+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mvariants/root-x86_64/wip.environment | 2+-
9 files changed, 235 insertions(+), 2 deletions(-)

diff --git a/downloadlist.sha256 b/downloadlist.sha256 @@ -81,3 +81,4 @@ c4d053029793c714e4e7340b1157428c0f90783585fb17f35158247a640467d9 14294433 https: 2ba6857f2991b7f69368e8db818b163d31cf5a367f15f5953bf8f01a77b3d4fc 202416 https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.16.1.tar.gz d6899935ccabf67f067a9af3f3f88d94e310075d13c648fa03ff498769ce039d 169953 https://github.com/ocaml/ocamlfind/archive/refs/tags/findlib-1.9.8.tar.gz 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 diff --git a/templates/pkg/ocaml-base b/templates/pkg/ocaml-base @@ -6,6 +6,7 @@ #+{{pkg_install_name("musl-cross-make")}} #+{{pkg_install_name("ocaml")}} #+{{pkg_install_name("dune")}} +#+{{pkg_install_name("ocaml_intrinsics_kernel")}} #@untar:-z:sha256:3f3f64789ab25bb5cb7f5f907dd651dec9cc9440981822fe75df6b94344b7208:. {% endblock %} {%- block prepare %} diff --git a/templates/pkg/ocaml_intrinsics_kernel b/templates/pkg/ocaml_intrinsics_kernel @@ -0,0 +1,37 @@ +{%- set pkg_version="0.17.1" -%} +{%- set pkg_format="tar.gz" -%} +{% extends "genlinks" %} +{% block package_deps -%} +#+{{pkg_install_name("busybox-diffutils")}} +#+{{pkg_install_name("musl-cross-make")}} +#+{{pkg_install_name("ocaml")}} +#+{{pkg_install_name("dune")}} +#@untar:-z:sha256:c988b7769a59749631c3c98ba5edd1d2fe91f5dc380b5e0593c073c92f4bee01:. +{% endblock %} +{%- block build %} + dune build --release --verbose + +{% endblock %} +{%- block install %} +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/{{shortname}}" \ + --datadir="$prefix/data" \ + +{% endblock %} +{% block check -%} +dune runtest --build-dir=.testenv --verbose + +{% endblock %} +{% block genlinks_begin %} + x["./library.ocaml/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel.ml"]=1 +{% endblock %} +{% block genlinks_rules %} +$2 == "library.ocaml" { link($0); next } +{% endblock -%} diff --git a/variants/ccx-x86_64/ocaml-base b/variants/ccx-x86_64/ocaml-base @@ -6,6 +6,7 @@ #+musl-cross-make.c8a0fd5e5e3f323f7c1c660f3fd06f389185bea4c3b65613a1cdb47b7e1c9738 #+ocaml.5b34db3f087fd067e8cf20c9806c599c52cf1d4564105f3841aa3594496ef578 #+dune.37ab3bc1107904f825cd30c58a660280156d915b26ffb0e1991b27e7bb46d178 +#+ocaml_intrinsics_kernel.a4a3b936b1dd95d7ce2c3c559a99b4a4fea7941d7b9c08626251048114746e8c #@untar:-z:sha256:3f3f64789ab25bb5cb7f5f907dd651dec9cc9440981822fe75df6b94344b7208:. diff --git a/variants/ccx-x86_64/ocaml_intrinsics_kernel b/variants/ccx-x86_64/ocaml_intrinsics_kernel @@ -0,0 +1,96 @@ +#!/usr/bin/env pthbs-build +#+busybox.be48119e488fda368379eb49b553d609d0988c3dd70c079af2eaa8c23c42043d +#+busybox-findutils.804ee3af0afdd7b1aa159f81593b490bacd3a0b622a7c1566ce82196ae88f771 +#+busybox-awk.5c33e58d30be821f0a1fc8ba082d0a34aaecacad2a1c3a8f25b05cd07b2c6dec +#+busybox-diffutils.89043788a08f3d90f6fc1e02d690f6e5eefa88e11c61a1fae5048e457e46eb6f +#+musl-cross-make.c8a0fd5e5e3f323f7c1c660f3fd06f389185bea4c3b65613a1cdb47b7e1c9738 +#+ocaml.5b34db3f087fd067e8cf20c9806c599c52cf1d4564105f3841aa3594496ef578 +#+dune.37ab3bc1107904f825cd30c58a660280156d915b26ffb0e1991b27e7bb46d178 +#@untar:-z:sha256:c988b7769a59749631c3c98ba5edd1d2fe91f5dc380b5e0593c073c92f4bee01:. + + +# - build script start - +prefix=/home/ccx/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'ocaml_intrinsics_kernel-0.17.1' + + + + dune build --release --verbose + + +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_intrinsics_kernel" \ + --datadir="$prefix/data" \ + + + +dune runtest --build-dir=.testenv --verbose + + +cd "$pthbs_destdir/home/ccx/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library.ocaml/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel.ml"]=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 @@ -2,5 +2,5 @@ #+ocaml.5b34db3f087fd067e8cf20c9806c599c52cf1d4564105f3841aa3594496ef578 #+dune.37ab3bc1107904f825cd30c58a660280156d915b26ffb0e1991b27e7bb46d178 #+ocamlbuild.b1a207889e03562ae93b48b197266f18124a8ccbb4707a3c95a3b5ac69629454 -#+ocaml-base.7762b41150ea3ad00cac12e47b8b8c0da81facf54196e4e6a2b15ed97b82c44b +#+ocaml-base.4c16c343551e866dbeb0eb7f2ca75821d6055373de88f7c97fe80c34e5baf1bd #+opam.accb6478611d17a4880bdab1e5208a56618ba1574f3b5d9f402dc3c0ba7cec25 \ No newline at end of file diff --git a/variants/root-x86_64/ocaml-base b/variants/root-x86_64/ocaml-base @@ -6,6 +6,7 @@ #+musl-cross-make.f87ce5b6081b67490d8993a640c0abb7213f4c5f3fc2d9e1736ba20b727ae9cd #+ocaml.7dac3082b76965ebaab371cfb7848a931581faf39bda33a9701667cb7503f802 #+dune.45b7129519ec9237967ca5c6fbb697c4ff9ededdc017623a58e431a90f7b42be +#+ocaml_intrinsics_kernel.81b62f41bc372852f37ac63295f7b503756d3d61ce0f470e5f9261f30fdd3151 #@untar:-z:sha256:3f3f64789ab25bb5cb7f5f907dd651dec9cc9440981822fe75df6b94344b7208:. diff --git a/variants/root-x86_64/ocaml_intrinsics_kernel b/variants/root-x86_64/ocaml_intrinsics_kernel @@ -0,0 +1,96 @@ +#!/usr/bin/env pthbs-build +#+busybox.1c53cabaafc9be2067b20d66609b37bc474e9bc93e2f223b4c06996fe65dff1e +#+busybox-findutils.77e02cf8e8c855b16cb60636507ca0c104c8b812535721b3ddd00deb85fab783 +#+busybox-awk.2db96ae9bd5ed9b9476bf92bb3bfae69caca475abd57385640428943edaa5fc5 +#+busybox-diffutils.c5eee57596d172f36d2db9220e421b72e49a339032512dcaec3563e463e0786d +#+musl-cross-make.f87ce5b6081b67490d8993a640c0abb7213f4c5f3fc2d9e1736ba20b727ae9cd +#+ocaml.7dac3082b76965ebaab371cfb7848a931581faf39bda33a9701667cb7503f802 +#+dune.45b7129519ec9237967ca5c6fbb697c4ff9ededdc017623a58e431a90f7b42be +#@untar:-z:sha256:c988b7769a59749631c3c98ba5edd1d2fe91f5dc380b5e0593c073c92f4bee01:. + + +# - build script start - +prefix=/versions/$pthbs_package +dest=${pthbs_destdir%/}${prefix} +cd 'ocaml_intrinsics_kernel-0.17.1' + + + + dune build --release --verbose + + +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_intrinsics_kernel" \ + --datadir="$prefix/data" \ + + + +dune runtest --build-dir=.testenv --verbose + + +cd "$pthbs_destdir/versions/$pthbs_package" +find -type d -o -print | awk -F/ ' +BEGIN { + x["./library.ocaml/ocaml_intrinsics_kernel/ocaml_intrinsics_kernel.ml"]=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 @@ -2,5 +2,5 @@ #+ocaml.7dac3082b76965ebaab371cfb7848a931581faf39bda33a9701667cb7503f802 #+dune.45b7129519ec9237967ca5c6fbb697c4ff9ededdc017623a58e431a90f7b42be #+ocamlbuild.f7f82e3a81af712dc4a9d4766b2c9d9984c292caa104d1d138cbd71144b675c8 -#+ocaml-base.8b021f195e5823f43d65dba3cc8947ad609eba7acd231c60eced35c50c73c21f +#+ocaml-base.24a916743e644ba94ca606a3f1a34777f1ed55b5be931bff3cd0a560b5a63501 #+opam.fe1b8551f2828970cf1e06578d521f87ecdfc85d5cf3912dd9f1305865cf54e7 \ No newline at end of file