Install this version:
emerge -a =app-misc/mcommander-9999
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-misc/mcommander-9999
Or alternatively:
emerge --autounmask-write -a =app-misc/mcommander-9999
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 9999 | 8 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools edo git-r3 flag-o-matic optfeature
DESCRIPTION="M-Commander, based on GNU Midnight Commander"
HOMEPAGE="https://github.com/blue-panels/mcommander"
EGIT_REPO_URI="https://github.com/blue-panels/${PN}.git"
LICENSE="GPL-3+"
SLOT="0"
IUSE="+edit ftp gpm lua mongodb nls s3 samba sftp +slang spell sqlite static-libs test X"
REQUIRED_USE="spell? ( edit )"
RESTRICT="!test? ( test )"
CDEPEND="dev-libs/glib:2
app-arch/libarchive:=
sys-apps/file
sys-fs/e2fsprogs
virtual/zlib:=
ftp? ( net-misc/curl )
gpm? ( sys-libs/gpm )
lua? ( dev-lang/lua:5.4 )
mongodb? ( dev-libs/libbson
dev-libs/mongo-c-driver )
s3? ( net-misc/curl )
samba? ( net-fs/samba[client] )
sftp? ( net-libs/libssh2 )
slang? ( sys-libs/slang )
!slang? ( sys-libs/ncurses:= )
sqlite? ( dev-db/sqlite:3 )
X? ( x11-libs/libX11 )"
DEPEND="${CDEPEND}
X? ( x11-base/xorg-proto )"
RDEPEND="${CDEPEND}
dev-lang/perl
!sftp? ( virtual/ssh )
spell? ( || ( app-text/aspell
app-text/hunspell ) )"
BDEPEND="dev-lang/perl
sys-apps/groff
virtual/pkgconfig
nls? ( sys-devel/gettext )
test? ( dev-libs/check )"
PATCHES=( "${FILESDIR}/${PN}"-20260923-configure.patch
"${FILESDIR}/${PN}"-20260923-Makefile.patch )
DOCS=( {CHANGELOG,README}.md )
src_prepare() {
default
# autogen.sh generates POTFILES.in, which is not included
use nls && edo xgettext --keyword={_,N_,Q_} --output=- \
$(find lib maint src tests -name '*.[ch]') |
sed -ne '/^#:/{s/#://;s/:[0-9]*/\n/g;s/ //g;p;}' |
grep -v '^$' | sort -u > po/POTFILES.in
eautoreconf
}
src_configure() {
filter-lto
econf --enable-mctree-magic=yes --enable-panel-plugin-arcmc=yes \
--enable-ext2fs-attr --enable-panel-plugin-shell-link=yes \
--enable-vfs --with-screen="$(usex slang slang ncurses)" \
"$(use_enable ftp panel-plugin-ftp)" \
"$(use_enable lua lua-plugin)" \
"$(use_enable mongodb panel-plugin-mongo)" \
"$(use_enable nls)" \
"$(use_enable s3 panel-plugin-s3)" \
"$(use_enable samba panel-plugin-samba)" \
"$(use_enable sftp panel-plugin-sftp)" \
"$(use_enable sftp shell-ssh2)" \
"$(use_enable static-libs static)" \
"$(use_enable sqlite panel-plugin-sqlite)" \
"$(use_enable test tests)" \
"$(use_with edit internal-edit)" \
"$(use_with gpm gpm-mouse)" \
"$(use_with X x)"
}
src_test() {
# avoid inheriting MC_TMPDIR from a running MC/MCommander instance
local -x MC_TMPDIR="${T}"
default
}
src_install() {
default
find "${ED}"/usr/"$(get_libdir)"/mcommander/{panel,runtime}-plugins \
-type f -name '*.la' -delete || die "removal failed"
}
pkg_postinst() {
optfeature "integration with git" dev-vcs/git
optfeature "integration with docker" app-containers/docker-cli
optfeature "integration with kubernetes" sys-cluster/kubectl
optfeature "integration with man pages" sys-apps/groff
use lua && optfeature "support for image previews" "media-gfx/chafa[tools]"
elog "To enable exiting to latest working directory,"
elog "put this into your ~/.bashrc:"
elog ". ${EPREFIX}/usr/libexec/mcommander/mc6.sh"
}
Manage flags for this package:
euse -i <flag> -p app-misc/mcommander |
euse -E <flag> -p app-misc/mcommander |
euse -D <flag> -p app-misc/mcommander
dev-libs/glib:2 app-arch/libarchive:= sys-apps/file sys-fs/e2fsprogs virtual/zlib:= ftp? ( net-misc/curl ) gpm? ( sys-libs/gpm ) lua? ( dev-lang/lua:5.4 ) mongodb? ( dev-libs/libbson dev-libs/mongo-c-driver ) s3? ( net-misc/curl ) samba? ( net-fs/samba[client] ) sftp? ( net-libs/libssh2 ) slang? ( sys-libs/slang ) !slang? ( sys-libs/ncurses:= ) sqlite? ( dev-db/sqlite:3 ) X? ( x11-libs/libX11 ) X? ( x11-base/xorg-proto )
${CDEPEND}
dev-lang/perl
!sftp? ( virtual/ssh )
spell? ( || ( app-text/aspell
app-text/hunspell ) )
dev-lang/perl sys-apps/groff virtual/pkgconfig nls? ( sys-devel/gettext ) test? ( dev-libs/check )