1PORTNAME=	fish
2DISTVERSION=	3.7.1
3CATEGORIES=	shells
4MASTER_SITES=	https://github.com/fish-shell/fish-shell/releases/download/${PORTVERSION}/
5
6MAINTAINER=	ports@MidnightBSD.org
7COMMENT=	User friendly command line shell
8WWW=		https://fishshell.com/
9
10LICENSE=	gpl2
11LICENSE_FILE=	${WRKSRC}/COPYING
12
13LIB_DEPENDS=	libpcre2-32.so:devel/pcre2
14
15# The python dependency is only needed by shebangfix.  At runtime python is
16# only needed by some optional scripts that aren't in PATH.
17USES=		cmake compiler:c++11-lang cpe localbase ncurses python:env \
18		shebangfix tar:xz
19CPE_VENDOR=	fishshell
20SHEBANG_FILES=	share/tools/*.py share/tools/web_config/webconfig.py
21
22# sphinx stuff seems to be racy
23MAKE_JOBS_UNSAFE=	yes
24
25CONFLICTS_INSTALL=	comms/mlan3
26
27MANDIRS=	${DATADIR}/man
28
29PORTDOCS=	*
30
31OPTIONS_DEFINE=		DOCS MANPAGES NLS
32OPTIONS_DEFAULT=	MANPAGES NLS
33OPTIONS_SUB=		yes
34
35DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
36DOCS_CMAKE_BOOL=	BUILD_DOCS
37DOCS_VARS=		MAKE_JOBS_UNSAFE=yes
38
39NLS_USES=	gettext
40NLS_CMAKE_BOOL=	WITH_GETTEXT
41
42.include <bsd.port.pre.mk>
43
44.if ${NCURSESBASE:M${LOCALBASE}}
45CMAKE_ARGS+=	-DCURSES_NEED_NCURSES=TRUE
46.endif
47
48post-install:
49	@${MV} ${ETCDIR}/config.fish ${ETCDIR}/config.fish.sample
50
51post-fake-DOCS-on:
52	@${RM} ${FAKE_DESTDIR}${DOCSDIR}/.buildinfo
53
54post-install-DOCS-off:
55	# required because fish always installs documentation
56	@${ECHO_MSG} "====> DOCS disable; removing documentation"
57	@${RM} -r ${FAKE_DESTDIR}${DOCSDIR}
58
59post-install-MANPAGES-off:
60	# required because fish always installs manual pages
61	@${ECHO_MSG} "====> MANPAGES disable; removing manual pages"
62	for dir in ${MANDIRS:S/^/${FAKE_DESTDIR}/} ; do \
63		${FIND} $$dir -type f -delete ; \
64	done
65	@${RM} -r ${FAKE_DESTEDIR}${DATADIR}/man
66
67.include <bsd.port.post.mk>
68