Sunday, January 04, 2026

Re: devel/cabal: add port update tools

On Sat, 03 Jan 2026 18:18:28 +0100,
Greg Steuck <gnezdo@openbsd.org> wrote:
>
> [1 <text/plain (7bit)>]
> I've grown tired of toiling, so here's a bit of automation which does
> all the easy parts of updating cabal-module(5) based ports.
>
> I have a sequence of commits extracting MODCABAL_MANIFEST into cabal.inc
> files which I want to commit as a follow-up. Here's the sequence of
> commits, look for "extract cabal.inc" commits:
> https://github.com/blackgnezdo/ports/commits/automate-openbsd-cabal-updates/
>
> Not making a secret that this was made with help of Claude Opus. I read
> and iterated on the code, so I stand behind this code. If people like
> it, I'm happy to get an OK and maintain it in the tree. Otherwise, I can
> leave it out and run myself.
> Thanks
> Greg
>
> [2 0001-devel-cabal-add-port-update-tools.patch <text/x-patch (7bit)>]
> From 5abcdd33e5defdbb0091b258d7a3ac1362b90ad7 Mon Sep 17 00:00:00 2001
> From: Claude <noreply@anthropic.com>
> Date: Mon, 29 Dec 2025 02:32:21 +0000
> Subject: [PATCH] devel/cabal: add port update tools
>
> Add update-cabal-port.pl and update-all-cabal-ports.sh to help
> maintain cabal ports. The Perl script uses cabal database to fetch
> version and generates cabal.inc files with dependency manifests.
>
> The batch script finds all ports using devel/cabal module and can update
> them in sequence, with optional git commits per port.
>
> devel/cabal: use make show= and simplify update script
>
> - Use OpenBSD ports `make show=VAR` instead of parsing Makefiles
> - Handle MODCABAL_REVISION from cabal-bundler output
> - Remove REVISION variable on port updates
> ---
> devel/cabal/tools/update-all-cabal-ports.sh | 74 +++++++++
> devel/cabal/tools/update-cabal-port.pl | 169 ++++++++++++++++++++
> 2 files changed, 243 insertions(+)
> create mode 100755 devel/cabal/tools/update-all-cabal-ports.sh
> create mode 100755 devel/cabal/tools/update-cabal-port.pl
>

Maybe I had missed something but why you haven't put it into
infrastructure/bin like it has for MODGO for example?

--
wbr, Kirill

No comments:

Post a Comment