âšď¸ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.2 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://www.dra27.uk/blog/platform/2025/07/17/fireworks.html |
| Last Crawled | 2026-04-04 22:23:18 (5 days ago) |
| First Indexed | 2025-07-18 15:34:53 (8 months ago) |
| HTTP Status Code | 200 |
| Meta Title | Fireworks and things | Notes from the Windows corner |
| Meta Description | Thanks to some targetted optimisations in the script which manages Relocatable OCamlâs various branches, Iâd vastly improved the turn-around time when making changes to the patch-set and propagating them through the various tests and backports. On Tuesday night, the entire set of branches was green in CI (theyâre sat here with green check marks and everything). All that was to be needed on Wednesday was to quickly update the opam packaging to take advantage of Relocatable-awesomeness and plumb it all together. The 2022 version of the packages for Ljubljana I knew contained a hack for searching a previous switch, but Iâd already investigated a more principled approach using opamâs build-id variable, so it would just be a matter of plumbing that in and using the cloning mechanism already in that script. |
| Meta Canonical | null |
| Boilerpipe Text | Thanks to some targetted optimisations in the
script which manages Relocatable
OCamlâs various branches
,
Iâd vastly improved the turn-around time when making changes to the patch-set
and propagating them through the various tests and backports. On Tuesday night,
the
entire
set of branches was green in CI (theyâre sat
here
with green check marks and everything). All that was to be needed on Wednesday
was to quickly update the opam packaging to take advantage of
Relocatable-awesomeness and plumb it all together. The 2022 version of the
packages for Ljubljana I knew contained a hack for searching a previous switch,
but Iâd already investigated a more principled approach using opamâs
build-id
variable, so it would just be a matter of plumbing that in and using the cloning
mechanism already in that script.
And then I opened that scripts which Iâd hacked together ready for the talk in
2022 in Ljubljana. I vaguely remember getting that all working at some ungodly
hour of the morning. The final clone is an unsightly:
# Cloning
SOURCE
=
"
$(
cat
clone-from
)
"
cp
"
$SOURCE
/share/ocaml/config.cache"
.
mkdir
-p
"
$1
/man/man1"
cp
"
$SOURCE
/man/man1/"
ocaml
*
"
$1
/man/man1/"
mkdir
-p
"
$1
/bin"
cp
"
$SOURCE
/bin/"
ocaml
*
"
$1
/bin/"
rm
-rf
"
$1
/lib/ocaml"
cp
-a
"
$SOURCE
/lib/ocaml"
"
$1
/lib/"
with no attempt to check the file lists đ Sorting out the installation targets
in OCamlâs build system is on my radar, but was not on my âRelocatable OCaml
blockersâ TODO list.
Alas, the things which you can get away for a demo in a conference talk arenât
quite the same as for actually maintained software. Ho hum - on the plus side,
Wednesday and Thursdayâs hacking now yields a version of OCaml which can
generate opam install files properly, and which can therefore be co-opted to
produce the cloning script actually required. Onwards and upwards, apparently
now with memes⌠|
| Markdown | [Notes from the Windows corner](https://www.dra27.uk/)
[About](https://www.dra27.uk/about/)
# Fireworks and things
Jul 17, 2025
Thanks to some targetted optimisations in the [script which manages Relocatable OCamlâs various branches](https://github.com/dra27/relocatable/commits/main/stack), Iâd vastly improved the turn-around time when making changes to the patch-set and propagating them through the various tests and backports. On Tuesday night, the *entire* set of branches was green in CI (theyâre sat [here](https://github.com/dra27/ocaml/pulls?q=is%3Apr+is%3Aopen+label%3Arelocatable+combined) with green check marks and everything). All that was to be needed on Wednesday was to quickly update the opam packaging to take advantage of Relocatable-awesomeness and plumb it all together. The 2022 version of the packages for Ljubljana I knew contained a hack for searching a previous switch, but Iâd already investigated a more principled approach using opamâs `build-id` variable, so it would just be a matter of plumbing that in and using the cloning mechanism already in that script.
And then I opened that scripts which Iâd hacked together ready for the talk in 2022 in Ljubljana. I vaguely remember getting that all working at some ungodly hour of the morning. The final clone is an unsightly:
```
# Cloning
SOURCE="$(cat clone-from)"
cp "$SOURCE/share/ocaml/config.cache" .
mkdir -p "$1/man/man1"
cp "$SOURCE/man/man1/"ocaml* "$1/man/man1/"
mkdir -p "$1/bin"
cp "$SOURCE/bin/"ocaml* "$1/bin/"
rm -rf "$1/lib/ocaml"
cp -a "$SOURCE/lib/ocaml" "$1/lib/"
```
with no attempt to check the file lists đ Sorting out the installation targets in OCamlâs build system is on my radar, but was not on my âRelocatable OCaml blockersâ TODO list.
Alas, the things which you can get away for a demo in a conference talk arenât quite the same as for actually maintained software. Ho hum - on the plus side, Wednesday and Thursdayâs hacking now yields a version of OCaml which can generate opam install files properly, and which can therefore be co-opted to produce the cloning script actually required. Onwards and upwards, apparently now with memesâŚ
## Notes from the Windows corner
- Notes from the Windows corner
- [David.Allsopp@cl.cam.ac.uk](mailto:David.Allsopp@cl.cam.ac.uk)
- [dra27](https://github.com/dra27)
David Allsoppâs blog featuring musings on O(x)Caml, Windows and other vaguely-related things. Views expressed are my own, rather than my employerâs. |
| Readable Markdown | Thanks to some targetted optimisations in the [script which manages Relocatable OCamlâs various branches](https://github.com/dra27/relocatable/commits/main/stack), Iâd vastly improved the turn-around time when making changes to the patch-set and propagating them through the various tests and backports. On Tuesday night, the *entire* set of branches was green in CI (theyâre sat [here](https://github.com/dra27/ocaml/pulls?q=is%3Apr+is%3Aopen+label%3Arelocatable+combined) with green check marks and everything). All that was to be needed on Wednesday was to quickly update the opam packaging to take advantage of Relocatable-awesomeness and plumb it all together. The 2022 version of the packages for Ljubljana I knew contained a hack for searching a previous switch, but Iâd already investigated a more principled approach using opamâs `build-id` variable, so it would just be a matter of plumbing that in and using the cloning mechanism already in that script.
And then I opened that scripts which Iâd hacked together ready for the talk in 2022 in Ljubljana. I vaguely remember getting that all working at some ungodly hour of the morning. The final clone is an unsightly:
```
# Cloning
SOURCE="$(cat clone-from)"
cp "$SOURCE/share/ocaml/config.cache" .
mkdir -p "$1/man/man1"
cp "$SOURCE/man/man1/"ocaml* "$1/man/man1/"
mkdir -p "$1/bin"
cp "$SOURCE/bin/"ocaml* "$1/bin/"
rm -rf "$1/lib/ocaml"
cp -a "$SOURCE/lib/ocaml" "$1/lib/"
```
with no attempt to check the file lists đ Sorting out the installation targets in OCamlâs build system is on my radar, but was not on my âRelocatable OCaml blockersâ TODO list.
Alas, the things which you can get away for a demo in a conference talk arenât quite the same as for actually maintained software. Ho hum - on the plus side, Wednesday and Thursdayâs hacking now yields a version of OCaml which can generate opam install files properly, and which can therefore be co-opted to produce the cloning script actually required. Onwards and upwards, apparently now with memes⌠|
| Shard | 103 (laksa) |
| Root Hash | 5825453635728510303 |
| Unparsed URL | uk,dra27!www,/blog/platform/2025/07/17/fireworks.html s443 |