Created attachment 232814 [details] Patch file This port depends on databases/db5 which is marked DEPRECATED and set EXPIRATION_DATE to 2022-06-30. So also mark it as DEPRECATED and set EXPIRATION_DATE to same date of databases/db5.
It's sad, as it's still supported upstream and countless days went into the port - but there seems no good way around it (theoretically I could rip out parts of the port that use db5, but probably not worth the effort).
(In reply to Michael Gmelin from comment #1) I checked upstream and found ice switched from Berkelay DB to LMDB in ice 3.7.0. So if it is updated to 3.7.0 or later (latest version is 3.7.7) we need not mark it as DEPRECATED. https://github.com/zeroc-ice/ice/blob/v3.7.0/CHANGELOG-3.7.md#changes-in-ice-370
Oops, I overlooked there is already devel/ice37 in ports tree. Sorry for noise.
(In reply to Yasuhiro Kimura from comment #2) Thanks for spending time on this. We already have devel/ice37 ports for a few years now, but they are not 100% compatible/updating is not necessarily trivial (partially due to the change in database format), that's why I kept them both around and that's why upstream [AFAIK] still supports 3.6. I guess anyone relying on Ice 3.6 (and using FreeBSD) can always resurrect the ports locally if required though, so it's fine.
(In reply to Michael Gmelin from comment #4) (commented mid-air)
Created attachment 232848 [details] Patch file With attached patch build succeeds with both bdb5 and bdb18. I'm not sure if it works correctly with bdb18. But I think there is a great chance that it does.
(In reply to Yasuhiro Kimura from comment #6) I wasn't aware that we're ok with using the AGPL version of those libraries. devel/ice has some very thorough unit tests, so I'll check if it works okay wth those updated libraries (the things glacier and icegrid to with Berkeley DB are quite basic, so I'm optimistic).
(In reply to Yasuhiro Kimura from comment #6) Thanks again for your efforts, much appreciated. I built devel/ice on 13.0 amd64 using your patches and with DEFAULT_VERSIONS+=bdb=18 WITH_BDB6_PERMITTED=yes in make.conf and setting TEST on the port (in poudriere). It built fine and it also ran all 95 unit tests - `make test` (sans those skipped while jailed) successfully, including those that actually rely on bdb/Freeze (glacier and icegridregistry). Based on these results, all looks good to me. Please make sure to bump PORTREVISION when committing.
(In reply to Michael Gmelin from comment #8) Thanks for testing.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=f646a017a4a2c3a9fa7f7f8ca7287fd5e2962d55 commit f646a017a4a2c3a9fa7f7f8ca7287fd5e2962d55 Author: Yasuhiro Kimura <yasu@FreeBSD.org> AuthorDate: 2022-03-30 08:40:31 +0000 Commit: Yasuhiro Kimura <yasu@FreeBSD.org> CommitDate: 2022-04-01 05:32:59 +0000 devel/ice: Fix build with Berkeley DB 18.x PR: 262930 Tested by: grembo Approved by: grembo (maintainer) devel/ice/Makefile | 4 ++-- devel/ice/files/patch-cpp_src_FreezeScript_DumpDB.cpp (new) | 11 +++++++++++ devel/ice/files/patch-cpp_src_FreezeScript_Util.cpp (new) | 11 +++++++++++ .../files/patch-cpp_src_FreezeScript_transformdb.cpp (new) | 13 +++++++++++++ devel/ice/files/patch-cpp_src_Freeze_SharedDbEnv.cpp (new) | 11 +++++++++++ 5 files changed, 48 insertions(+), 2 deletions(-)
(In reply to commit-hook from comment #10) Thanks!