Bug 296548 - www/deno 2.9.1 requires llvm == 21
Summary: www/deno 2.9.1 requires llvm == 21
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Vladimir Druzenko
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-07-06 06:14 UTC by Konstantin Belousov
Modified: 2026-07-06 23:45 UTC (History)
2 users (show)

See Also:


Attachments
failed build log (213.54 KB, application/x-xz)
2026-07-06 06:14 UTC, Konstantin Belousov
no flags Details
require llvm == 21 (641 bytes, patch)
2026-07-06 06:16 UTC, Konstantin Belousov
no flags Details | Diff
A potential fix (1.97 KB, patch)
2026-07-06 06:56 UTC, Xin LI
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin Belousov freebsd_committer freebsd_triage 2026-07-06 06:14:30 UTC
Created attachment 272530 [details]
failed build log

It seems that the build is hard-wired to use llvm21.  See the attached poudriere log.
Comment 1 Konstantin Belousov freebsd_committer freebsd_triage 2026-07-06 06:16:10 UTC
Created attachment 272531 [details]
require llvm == 21

I am not sure what would the best fix, might be it is better to patch in the use
of the selected LLVM instead of hard-coding the version.  But the attached patch
at least allowed the port to build for me.
Comment 2 Xin LI freebsd_committer freebsd_triage 2026-07-06 06:56:23 UTC
Created attachment 272532 [details]
A potential fix

Could you please try if this patch helps?
Comment 3 Konstantin Belousov freebsd_committer freebsd_triage 2026-07-06 08:21:00 UTC
(In reply to Xin LI from comment #2)
Worked for me, thanks.
Comment 4 Vladimir Druzenko freebsd_committer freebsd_triage 2026-07-06 09:36:53 UTC
Testing build with llvm22 now.
Check bug #296377.
Comment 5 Gunther Nikl 2026-07-06 13:01:40 UTC
(In reply to Vladimir Druzenko from comment #4)
> Testing build with llvm22 now.
Build successful with llvm22 (and rust 1.96.1) on amd64 ;-)
Comment 6 Vladimir Druzenko freebsd_committer freebsd_triage 2026-07-06 13:15:14 UTC
(In reply to Gunther Nikl from comment #5)
Build just finished without errors 3h38m.
Who will commit?
Comment 7 Gunther Nikl 2026-07-06 13:18:51 UTC
@Xin LI
Thank you for updating the port, despite me only requiring it as runtime for yt-dlp-ejs...

Some comments/questions about the port and the update:
- The commit message for the update is misleading.

- The port does install lib/libdenort.so now but that library is not used by deno or denort. What purpose does it serve if not used? This adds 100MB to the package footprint...

- The port has "USE_GNOME" which adds a dependency on glib and gettext-runtime. I wonder what their purpose is since neither deno nor denort reference something from these packages... This was checked with ldd and "readelf -d".
I did not check a build without USE_GNOME= since the build took 2,5h on my end.

- Despite having llvm22 installed the ports framework wants to use llvm21. How do I override that decision without modifying the Makefile?
Comment 8 Vladimir Druzenko freebsd_committer freebsd_triage 2026-07-06 15:01:21 UTC
(In reply to Gunther Nikl from comment #7)
> - Despite having llvm22 installed the ports framework wants to use llvm21.
> How do I override that decision without modifying the Makefile?
Add to /etc/make.conf:
.if ${.CURDIR:M*/www/deno*}
DEFAULT_VERSIONS+=llvm=22
.endif

Or just:
DEFAULT_VERSIONS+=llvm=22
Comment 9 Gunther Nikl 2026-07-06 18:03:39 UTC
(In reply to Vladimir Druzenko from comment #8)
> [Add to /etc/make.conf]
Thank you! However, I was hoping for an approach without etc/make.conf. Then modifying the makefile is the simpler solution for me.
Comment 10 Vladimir Druzenko freebsd_committer freebsd_triage 2026-07-06 20:13:00 UTC
(In reply to Gunther Nikl from comment #9)
Ofc you can edit USES line in Makefile - replace 21 with 22.

USES=gnome, libffi.so:devel/libffi and libonig.so:devel/oniguruma are unnecessary.

If no one takes up this PR, I'll commit these changes tonight.
Comment 11 commit-hook freebsd_committer freebsd_triage 2026-07-06 23:43:36 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=54bba809860ba886a8d0eedd1c7f4ef2cc31a442

commit 54bba809860ba886a8d0eedd1c7f4ef2cc31a442
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2026-07-06 23:38:50 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2026-07-06 23:38:50 +0000

    www/deno: Improve port

    - Fix dependencies.
    - Fix PREFIX and LOCALBASE usage.
    - Fix warnings from portclippy.
    - Merge INSTALL_PROGRAMs.
    - Split long line in do-test.

    PR:             296548
    Sponsored by:   UNIS Labs

 www/deno/Makefile                                  | 48 +++++++++++-----------
 www/deno/files/patch-cli_task__runner.rs           |  8 ++--
 .../files/patch-tests_unit__node_process__test.ts  |  2 +-
 3 files changed, 28 insertions(+), 30 deletions(-)