dev-util/fnm
Fast and simple Node.js version manager, built in Rust
-
fnm-1.39.0~amd64debug
View
Download
Browse License: GPL-3 Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 openssl Overlay: orbintsoft
ChangeLog
commit 1024ff58b9876ca8ce52bf7e1c339593ee606fb4
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Sat Jun 20 08:11:24 2026 +0200
chore(ebuilds): declare # QA-TEST: strategy per package
binpkg for claude-desktop, fnm, fsearch, redo-backups (binhost-consistent closures, faster); source for the other 8. Verified locally: make test -> 12/12 pass, 0 fallbacks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 825ee4b1202f61c4e71b755cc59872b8f4814c74
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 19 09:27:55 2026 +0200
feat(fnm): convert to versioned ebuild 1.39.0 (drop -9999)
Crates vendored via a CRATES list generated by app-portage/pycargoebuild
(offline, hash-verified build) instead of the live network fetch; EAPI 8
(cargo eclass caps at 8). ring is not SPDX-tagged -> ISC + OpenSSL added by
hand. pkgcheck clean; builds + installs in a stage3 container (~34s compile);
livecheck now tracks fnm for future bumps. Documented pycargoebuild in
CONTRIBUTING (Rule 15); PLAN 3.7 updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 52b3cbfef563d2b90c09034856e7b79a7c2a6ebf
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 20:32:47 2026 +0200
chore(ebuilds): empty KEYWORDS on live ebuilds, drop empty assignments
Clear pkgcheck's VisibleVcsPkg and EmptyGlobalAssignment across the
overlay:
- set KEYWORDS="" on the 9 live (-9999) ebuilds; the versioned
nerd-fonts-3.2.1 keeps its keywords
- drop the redundant empty IUSE="" (pamtester, ssh-profile-config,
fsearch, polo)
- drop the other empty global assignments the same check flags:
SRC_URI="" (claude-desktop, shellcheck), DEPEND=""/RDEPEND="$"
(ssh-profile-config, which has no deps) and RDEPEND="" (shellcheck)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 09ac478fc027e2b8be6f853ee216247ce4766ff7
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 17:40:57 2026 +0200
fix(fnm): proper live cargo ebuild, install to /usr/bin (was /opt)
fnm was a fake-live ebuild: a manual git clone + checkout of the latest
tag, a hand-rolled cargo build and an install to /opt/fnm. Rework it as
an idiomatic live cargo package:
- inherit cargo git-r3; src_unpack runs git-r3_src_unpack +
cargo_live_src_unpack (vendors crates for the offline build/install)
- let the eclass's cargo_src_install place the binary in /usr/bin/fnm
- drop the redundant DEPEND/RDEPEND on dev-lang/rust (the rust eclass
adds the toolchain to BDEPEND) and RESTRICT="network-sandbox"
(git-r3 sets PROPERTIES=live, so network is allowed in src_unpack)
- fix LICENSE MIT -> GPL-3 (upstream Cargo.toml/GitHub both say GPL-3.0)
- add QA_FLAGS_IGNORED for the installed binary
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit ee218929232b48afc745953d5ff3908a74ee80d9
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 16:34:02 2026 +0200
feat(metadata): add metadata.xml for all packages, fix invalid/redundant ones
Add metadata.xml (maintainer + GitHub remote-id) for the eight packages
that lacked one: pamtester, tvision, fnm, shellcheck, ksshaskpass,
nerd-fonts, fsearch, polo. nerd-fonts also gets <use> descriptions for
all its local font flags (resolves UnknownUseFlags); ksshaskpass, a dummy
package, gets an explanatory longdescription and no upstream remote-id.
Fix the existing ones:
- claude-desktop: replace the placeholder maintainer with the real one,
drop the invalid type= on the upstream maintainer, give <slot> direct
text content, and add the github remote-id (resolves PkgInvalidXml).
- ssh-profile-config: drop the longdescription that merely repeated
DESCRIPTION (resolves RedundantLongDescription) and re-indent to tabs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 8f1a14efa05d0b02b65484318f9ba47f1c896e11
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 16:23:32 2026 +0200
style(ebuilds): normalize indentation to tabs
Convert leading-space indentation to tabs in the six space-indented
ebuilds (ssh-profile-config, tvision, fnm, ksshaskpass, fsearch, polo),
matching the tabs convention in .editorconfig and the rest of the repo.
Whitespace-only change; pkgcheck reports no whitespace/tab warnings.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit e761b3c76d648ffc98c99e3e244d6e3f2478b5e0
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 16:05:02 2026 +0200
docs(ebuilds): credit upstream package authors
Add a short acknowledgement comment above DESCRIPTION crediting the
author of the packaged software (not the ebuild author): pamtester,
claude-desktop, tvision, fnm, shellcheck, nerd-fonts, bt-keys-sync,
fsearch, polo. Skipped where the upstream is OrbintSoft
(ssh-profile-config) and for the ksshaskpass stub.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit a1906ef4e5cfdcb9378a0251a732db701acfd0f0
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 15:52:58 2026 +0200
chore(headers): standardize ebuild copyright/license headers
- original work -> "Copyright <year> Stefano Balzarotti" + GPL-3
(ssh-profile-config, fnm, shellcheck, ksshaskpass, polo)
- reworked from Gentoo(-Authors) ebuilds -> dual "Gentoo Authors" +
"Stefano Balzarotti" + GPL-2 (pamtester, tvision, bt-keys-sync,
fsearch, claude-desktop, nerd-fonts), preserving upstream attribution
- also covers the bt-keys-sync OpenRC initd/confd
- drop stray "/var/db/repos/..." path comments on fnm/shellcheck/polo
Marks PLAN.md item 1.1 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 474fe2d31f0a2be9e8a1efc38acf06460b236dbf
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Mon Aug 18 14:52:35 2025 +0200
add fnm
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Sat Jun 20 08:11:24 2026 +0200
chore(ebuilds): declare # QA-TEST: strategy per package
binpkg for claude-desktop, fnm, fsearch, redo-backups (binhost-consistent closures, faster); source for the other 8. Verified locally: make test -> 12/12 pass, 0 fallbacks.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 825ee4b1202f61c4e71b755cc59872b8f4814c74
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 19 09:27:55 2026 +0200
feat(fnm): convert to versioned ebuild 1.39.0 (drop -9999)
Crates vendored via a CRATES list generated by app-portage/pycargoebuild
(offline, hash-verified build) instead of the live network fetch; EAPI 8
(cargo eclass caps at 8). ring is not SPDX-tagged -> ISC + OpenSSL added by
hand. pkgcheck clean; builds + installs in a stage3 container (~34s compile);
livecheck now tracks fnm for future bumps. Documented pycargoebuild in
CONTRIBUTING (Rule 15); PLAN 3.7 updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 52b3cbfef563d2b90c09034856e7b79a7c2a6ebf
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 20:32:47 2026 +0200
chore(ebuilds): empty KEYWORDS on live ebuilds, drop empty assignments
Clear pkgcheck's VisibleVcsPkg and EmptyGlobalAssignment across the
overlay:
- set KEYWORDS="" on the 9 live (-9999) ebuilds; the versioned
nerd-fonts-3.2.1 keeps its keywords
- drop the redundant empty IUSE="" (pamtester, ssh-profile-config,
fsearch, polo)
- drop the other empty global assignments the same check flags:
SRC_URI="" (claude-desktop, shellcheck), DEPEND=""/RDEPEND="$"
(ssh-profile-config, which has no deps) and RDEPEND="" (shellcheck)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 09ac478fc027e2b8be6f853ee216247ce4766ff7
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 17:40:57 2026 +0200
fix(fnm): proper live cargo ebuild, install to /usr/bin (was /opt)
fnm was a fake-live ebuild: a manual git clone + checkout of the latest
tag, a hand-rolled cargo build and an install to /opt/fnm. Rework it as
an idiomatic live cargo package:
- inherit cargo git-r3; src_unpack runs git-r3_src_unpack +
cargo_live_src_unpack (vendors crates for the offline build/install)
- let the eclass's cargo_src_install place the binary in /usr/bin/fnm
- drop the redundant DEPEND/RDEPEND on dev-lang/rust (the rust eclass
adds the toolchain to BDEPEND) and RESTRICT="network-sandbox"
(git-r3 sets PROPERTIES=live, so network is allowed in src_unpack)
- fix LICENSE MIT -> GPL-3 (upstream Cargo.toml/GitHub both say GPL-3.0)
- add QA_FLAGS_IGNORED for the installed binary
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit ee218929232b48afc745953d5ff3908a74ee80d9
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 16:34:02 2026 +0200
feat(metadata): add metadata.xml for all packages, fix invalid/redundant ones
Add metadata.xml (maintainer + GitHub remote-id) for the eight packages
that lacked one: pamtester, tvision, fnm, shellcheck, ksshaskpass,
nerd-fonts, fsearch, polo. nerd-fonts also gets <use> descriptions for
all its local font flags (resolves UnknownUseFlags); ksshaskpass, a dummy
package, gets an explanatory longdescription and no upstream remote-id.
Fix the existing ones:
- claude-desktop: replace the placeholder maintainer with the real one,
drop the invalid type= on the upstream maintainer, give <slot> direct
text content, and add the github remote-id (resolves PkgInvalidXml).
- ssh-profile-config: drop the longdescription that merely repeated
DESCRIPTION (resolves RedundantLongDescription) and re-indent to tabs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 8f1a14efa05d0b02b65484318f9ba47f1c896e11
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 16:23:32 2026 +0200
style(ebuilds): normalize indentation to tabs
Convert leading-space indentation to tabs in the six space-indented
ebuilds (ssh-profile-config, tvision, fnm, ksshaskpass, fsearch, polo),
matching the tabs convention in .editorconfig and the rest of the repo.
Whitespace-only change; pkgcheck reports no whitespace/tab warnings.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit e761b3c76d648ffc98c99e3e244d6e3f2478b5e0
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 16:05:02 2026 +0200
docs(ebuilds): credit upstream package authors
Add a short acknowledgement comment above DESCRIPTION crediting the
author of the packaged software (not the ebuild author): pamtester,
claude-desktop, tvision, fnm, shellcheck, nerd-fonts, bt-keys-sync,
fsearch, polo. Skipped where the upstream is OrbintSoft
(ssh-profile-config) and for the ksshaskpass stub.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit a1906ef4e5cfdcb9378a0251a732db701acfd0f0
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Fri Jun 12 15:52:58 2026 +0200
chore(headers): standardize ebuild copyright/license headers
- original work -> "Copyright <year> Stefano Balzarotti" + GPL-3
(ssh-profile-config, fnm, shellcheck, ksshaskpass, polo)
- reworked from Gentoo(-Authors) ebuilds -> dual "Gentoo Authors" +
"Stefano Balzarotti" + GPL-2 (pamtester, tvision, bt-keys-sync,
fsearch, claude-desktop, nerd-fonts), preserving upstream attribution
- also covers the bt-keys-sync OpenRC initd/confd
- drop stray "/var/db/repos/..." path comments on fnm/shellcheck/polo
Marks PLAN.md item 1.1 done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
commit 474fe2d31f0a2be9e8a1efc38acf06460b236dbf
Author: Stefano Balzarotti <stefano.balzarotti@orbintsoft.net>
Date: Mon Aug 18 14:52:35 2025 +0200
add fnm

