1PORTNAME=	mc
2PORTVERSION=	4.8.31
3CATEGORIES=	misc shells
4MASTER_SITES=	http://ftp.midnight-commander.org/ \
5		https://ftp.osuosl.org/pub/midnightcommander/
6
7MAINTAINER=	ports@MidnightBSD.org
8COMMENT=	Midnight Commander, a free Norton Commander clone
9WWW=		https://midnight-commander.org/
10
11LICENSE=	gpl3+
12LICENSE_FILE=	${WRKSRC}/COPYING
13
14RUN_DEPENDS=	zip:archivers/zip
15
16.if ${:!diff --version 2>/dev/null | grep -c GNU\ diffutils || :!} < 1
17EXTRA_PATCHES+=	${FILESDIR}/extra-patch-src_diffviewer_ydiff.c
18RUN_DEPENDS+=	gdiff:textproc/diffutils
19.endif
20
21USES=		gmake gnome libtool perl5 pkgconfig python shebangfix tar:xz
22SHEBANG_FILES=	${WRKSRC}/src/vfs/extfs/helpers/s3+.in \
23		${WRKSRC}/src/vfs/extfs/helpers/uc1541
24python_OLD_CMD=	@PYTHON@
25USE_GNOME=	glib20
26GNU_CONFIGURE=	yes
27GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
28CONFIGURE_ENV=	ZIP=${LOCALBASE}/bin/zip UNZIP=${UNZIP_NATIVE_CMD}
29
30PORTDOCS=	AUTHORS FAQ HACKING MAINTAINERS NEWS README TODO
31
32OPTIONS_DEFINE=	ASPELL DOCS EDITOR EXTATTR ICONV NLS PCRE2 SFTP SUBSHELL X11
33OPTIONS_DEFAULT=	EDITOR ICONV SFTP SLANG SUBSHELL X11
34OPTIONS_SINGLE=	SCREEN
35OPTIONS_SINGLE_SCREEN=	SLANG NCURSES
36OPTIONS_SUB=	yes
37
38ASPELL_DESC=	Aspell support for internal editor
39EDITOR_DESC=	Build with internal text editor
40EXTATTR_DESC=	Extended filesystem attributes support
41PCRE2_DESC=	Use PCRE2 as low-level search engine
42SCREEN_DESC=	Screen library
43SFTP_DESC=	Support for SFTP (via libssh)
44SUBSHELL_DESC=	Build with subshell support
45X11_DESC=	X11 events support (if available)
46
47ASPELL_BUILD_DEPENDS=	${LOCALBASE}/include/aspell.h:textproc/aspell
48ASPELL_RUN_DEPENDS=	${LOCALBASE}/share/aspell/en.multi:textproc/en-aspell
49ASPELL_CONFIGURE_ENABLE=aspell
50
51EDITOR_CONFIGURE_WITH=	internal-edit
52
53EXTATTR_LIB_DEPENDS=	libe2p.so:sysutils/e2fsprogs-core
54
55ICONV_USES=		iconv
56ICONV_CONFIGURE_ENABLE=	charset
57
58NCURSES_CONFIGURE_ON=	--with-screen=ncurses
59NCURSES_CFLAGS+=	-DNCURSES_WIDECHAR
60
61NLS_CONFIGURE_ON=	--with-libintl-prefix=${LOCALBASE}
62NLS_CONFIGURE_OFF=	--disable-nls
63NLS_USES=		gettext
64
65PCRE2_LIB_DEPENDS=	libpcre2-8.so:devel/pcre2
66PCRE2_CONFIGURE_ON=	--with-search-engine=pcre2
67
68SFTP_LIB_DEPENDS=	libssh2.so:security/libssh2
69SFTP_CONFIGURE_ENABLE=	vfs-sftp
70
71SLANG_LIB_DEPENDS=	libslang.so:devel/libslang2
72SLANG_CONFIGURE_ON=	--with-screen=slang
73
74SUBSHELL_CONFIGURE_WITH=subshell
75SUBSHELL_SUB_FILES=	pkg-message
76
77X11_BUILD_DEPENDS=	${LOCALBASE}/include/X11/Xlib.h:x11/libX11
78X11_CONFIGURE_WITH=	x
79
80post-patch:
81	@${REINPLACE_CMD} -e 's|clang\*)|*)|' ${WRKSRC}/configure
82	@${REINPLACE_CMD} -e 's|x$$UNRAR_VERSION.*x|$$UNRAR_VERSION -ge |' \
83		${WRKSRC}/src/vfs/extfs/helpers/urar.in
84
85post-patch-EXTATTR-off:
86	@${REINPLACE_CMD} -e '/found_e2p=/s|yes|disabled|; /e2p library/ \
87		{ s| or|,|; s|)|&, or disabled|; }' ${WRKSRC}/configure
88
89post-install-DOCS-on:
90	@${MKDIR} ${FAKE_DESTDIR}${DOCSDIR}
91	${LN} -sf ../${PORTDOCS:[1]} ${WRKSRC}/doc
92	${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/doc/|} ${FAKE_DESTDIR}${DOCSDIR}
93
94post-install-X11-on:
95	${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.png \
96		${FAKE_DESTDIR}${PREFIX}/share/pixmaps/
97	${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.desktop ${FAKE_DESTDIR}${DESKTOPDIR}
98
99.include <bsd.port.mk>
100