app-containers/nerdctl - 2.3.1 (gentoo)

Search

Install

Install this version:

emerge -a =app-containers/nerdctl-2.3.1

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =app-containers/nerdctl-2.3.1

Or alternatively:

emerge --autounmask-write -a =app-containers/nerdctl-2.3.1

Package Information

Description:
Docker-compatible CLI for containerd, with support for Compose
Homepage:
https://github.com/containerd/nerdctl
License:
Apache-2.0 BSD BSD-2 ISC MIT

Ebuild Details

Version EAPI Keywords Slot
2.3.1 8 ~amd64 0
View Raw Ebuild
# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit go-module optfeature shell-completion sysroot

EGIT_COMMIT="04f63fe15f3f8d77fe41e56ab7ff1d1f3e312860"

DESCRIPTION="Docker-compatible CLI for containerd, with support for Compose"
HOMEPAGE="https://github.com/containerd/nerdctl"
SRC_URI="
	https://github.com/containerd/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
	https://github.com/containerd/${PN}/releases/download/v${PV}/${P}-go-mod-vendor.tar.gz
"

LICENSE="Apache-2.0"
LICENSE+=" BSD BSD-2 ISC MIT"
SLOT="0"
KEYWORDS="~amd64"

BDEPEND=">=dev-lang/go-1.26.3"

src_unpack() {
	unpack "${P}.tar.gz"
	cd "${S}"
	unpack "${P}-go-mod-vendor.tar.gz"
	mv home/runner/work/nerdctl/nerdctl/vendor . || die
}

src_prepare() {
	default
	sed -e 's/TestGet/_&/' -i pkg/resolvconf/resolvconf_linux_test.go || die
}

src_compile() {
	emake VERSION=v${PV} REVISION="${EGIT_COMMIT}" GO_BUILD_LDFLAGS="-w"

	einfo "generating shell completion files"
	sysroot_try_run_prefixed ./_output/nerdctl completion bash > ${PN}.bash || die
	sysroot_try_run_prefixed ./_output/nerdctl completion zsh > ${PN}.zsh || die
	sysroot_try_run_prefixed ./_output/nerdctl completion fish > ${PN}.fish || die
}

src_install() {
	local emake_args=(
		DESTDIR="${D}"
		VERSION=v${PV}
		REVISION="${EGIT_COMMIT}"
		DOCDIR="${EPREFIX}/usr/share/doc/${PF}"
		PREFIX="${EPREFIX}/usr"
	)
	emake "${emake_args[@]}" install
	local DOCS=( README.md docs/* examples )
	einstalldocs

	[[ -s ${PN}.bash ]] && newbashcomp ${PN}.bash ${PN}
	[[ -s ${PN}.zsh ]] && newzshcomp ${PN}.zsh _${PN}
	[[ -s ${PN}.fish ]] && dofishcomp ${PN}.fish
}

pkg_postinst() {
	optfeature "rootless mode" "app-containers/slirp4netns sys-apps/rootlesskit"
}

Inherited Eclasses

Dependencies

BDEPEND

>=dev-lang/go-1.26.3

Manifest for 2.3.1

Type File Size Source URLs
DIST nerdctl-2.3.1-go-mod-vendor.tar.gz 7460204 bytes https://github.com/containerd/nerdctl/releases/download/v2.3.1/nerdctl-2.3.1-go-mod-vendor.tar.gz
DIST nerdctl-2.3.1.tar.gz 1550447 bytes https://github.com/containerd/nerdctl/archive/refs/tags/v2.3.1.tar.gz