summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/mc')
-rw-r--r--app-misc/mc/Manifest1
-rw-r--r--app-misc/mc/mc-4.8.28.ebuild124
2 files changed, 125 insertions, 0 deletions
diff --git a/app-misc/mc/Manifest b/app-misc/mc/Manifest
index 24aa91127356..3bd448e40db0 100644
--- a/app-misc/mc/Manifest
+++ b/app-misc/mc/Manifest
@@ -1 +1,2 @@
DIST mc-4.8.27.tar.xz 2510296 BLAKE2B efb0f3a8beb7285a793085a8e3b3a49619d0f8a4babff7de90f7a462cf6c013bbc08b92bc48e2c2e2204799332cd0160a86e201d9368cabde78e653b4306763f SHA512 c955d66cee06e3a0e0c795f2f6b98b184762363390a903cf8ef83dc5e98e6e94d5a9c06c4788d9ff4b3ae111541df8c7dc0b864a5c21c40421a81cd8690e9a69
+DIST mc-4.8.28.tar.xz 2333072 BLAKE2B f4218e6c166df85b7b3736f0fd1414c9507c72074f06001f12b114ce6c6fbbf3688ab850aa70f5063eb3920736f878e113eb39a5d261ccfc3ffa9dab473a8436 SHA512 ca3b3a57281e9387cb52bf1fcfc3f39a4d5f438aafc256dc492c192678824f67c983a852c759664efc5bc6d0de471c9b3929834f8301f6302ca1ebeee513fdfd
diff --git a/app-misc/mc/mc-4.8.28.ebuild b/app-misc/mc/mc-4.8.28.ebuild
new file mode 100644
index 000000000000..3b62f454f445
--- /dev/null
+++ b/app-misc/mc/mc-4.8.28.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+MY_P="${P/_/-}"
+SRC_URI="http://ftp.midnight-commander.org/${MY_P}.tar.xz"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris"
+
+DESCRIPTION="GNU Midnight Commander is a text based file manager"
+HOMEPAGE="https://midnight-commander.org"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+edit gpm nls sftp +slang spell test unicode X"
+
+REQUIRED_USE="spell? ( edit )"
+
+RDEPEND="
+ >=dev-libs/glib-2.30.0:2
+ gpm? ( sys-libs/gpm )
+ kernel_linux? ( sys-fs/e2fsprogs )
+ sftp? ( net-libs/libssh2 )
+ slang? ( >=sys-libs/slang-2 )
+ !slang? ( sys-libs/ncurses:=[unicode(+)?] )
+ spell? ( app-text/aspell )
+ X? (
+ x11-libs/libX11
+ x11-libs/libICE
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libSM
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/xz-utils
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ test? ( dev-libs/check )
+"
+
+RESTRICT="!test? ( test )"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8.26-ncurses-mouse.patch
+)
+
+pkg_pretend() {
+ if use slang && use unicode ; then
+ ewarn "\"unicode\" USE flag only takes effect when the \"slang\" USE flag is disabled."
+ fi
+}
+
+src_prepare() {
+ default
+ # patch touches configure.ac
+ eautoreconf
+}
+
+src_configure() {
+ [[ ${CHOST} == *-solaris* ]] && append-ldflags "-lnsl -lsocket"
+
+ local myeconfargs=(
+ --enable-charset
+ --enable-vfs
+ --with-screen=$(usex slang 'slang' "ncurses$(usex unicode 'w' '')")
+ $(use_enable kernel_linux vfs-undelfs)
+ # Today mclib does not expose any headers and is linked to
+ # single 'mc' binary. Thus there is no advantage of having
+ # a library. Let's avoid shared library altogether
+ # as it also conflicts with sci-libs/mc: bug #685938
+ --disable-mclib
+ $(use_enable nls)
+ $(use_enable sftp vfs-sftp)
+ $(use_enable spell aspell)
+ $(use_enable test tests)
+ $(use_with gpm gpm-mouse)
+ $(use_with X x)
+ $(use_with edit internal-edit)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Bug #759466
+ if [[ ${EUID} == 0 ]] ; then
+ ewarn "You are emerging ${PN} as root with 'userpriv' disabled."
+ ewarn "Expect some test failures, or emerge with 'FEATURES=userpriv'!"
+ fi
+
+ # CK_FORK=no to avoid using fork() in check library
+ # as mc mocks fork() itself: bug #644462.
+ #
+ # VERBOSE=1 to make test failures contain detailed
+ # information.
+ CK_FORK=no emake check VERBOSE=1
+}
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS NEWS README
+
+ # fix bug #334383
+ if use kernel_linux && [[ ${EUID} == 0 ]] ; then
+ fowners root:tty /usr/libexec/mc/cons.saver
+ fperms g+s /usr/libexec/mc/cons.saver
+ fi
+}
+
+pkg_postinst() {
+ if use spell && ! has_version app-dicts/aspell-en ; then
+ elog "'spell' USE flag is enabled however app-dicts/aspell-en is not installed."
+ elog "You should manually set 'spell_language' in the Misc section of ~/.config/mc/ini"
+ elog "It has to be set to one of your installed aspell dictionaries or 'NONE'"
+ elog
+ fi
+ elog "To enable exiting to latest working directory,"
+ elog "put this into your ~/.bashrc:"
+ elog ". ${EPREFIX}/usr/libexec/mc/mc.sh"
+}