diff options
author | Yasuhiro Kimura <yasu@FreeBSD.org> | 2021-10-12 16:47:27 +0000 |
---|---|---|
committer | Yasuhiro Kimura <yasu@FreeBSD.org> | 2021-11-26 00:53:36 +0000 |
commit | ae1787aab23e44e369dbb0cc814e8318c6f86e0d (patch) | |
tree | 76211b7368294010b1f681d5cd129402224bb5f6 /shells | |
parent | 41681784479696645755afcd3489fb098f67dd85 (diff) | |
download | ports-ae1787aab23e44e369dbb0cc814e8318c6f86e0d.tar.gz ports-ae1787aab23e44e369dbb0cc814e8318c6f86e0d.zip |
shells/zsh: Add BASE_ZSH option
Add new option BASE_ZSH that makes zsh and rzsh also available as
/bin/zsh and /bin/rzsh.
Under ports flamework everything is installed under /usr/local unless
custom prefix is used. And according to it zsh is installed as
/usr/local/bin/zsh. But on most Linux based OSes zsh is installed as
/bin/zsh. And it causes problem if user's account information is
shared between FreeBSD and Linux by using such tools as LDAP or NIS as
account information also includes absolute path of user's login shell.
To work around it I have created /bin/zsh as symbolic link referencing
/usr/local/bin/zsh and also edited /etc/shells to add /bin/zsh to it
every time I set up new FreeBSD system. But it's quite bothersome and
that is why I add new BASE_ZSH option.
While I'm here,
* Pet portclippy
* Re-format Makefile with portfmt
PR: 259109
Proposed by: Chris Hutchinson (more intuitive option name)
Approved by: maintainer timeout (> 2 weeks)
Diffstat (limited to 'shells')
-rw-r--r-- | shells/zsh/Makefile | 80 | ||||
-rw-r--r-- | shells/zsh/pkg-plist | 2 |
2 files changed, 45 insertions, 37 deletions
diff --git a/shells/zsh/Makefile b/shells/zsh/Makefile index 2298ee440644..3d107054fe63 100644 --- a/shells/zsh/Makefile +++ b/shells/zsh/Makefile @@ -17,69 +17,69 @@ LICENSE_NAME= ZSH license LICENSE_FILE= ${WRKSRC}/LICENCE LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -MAKE_JOBS_UNSAFE= yes - -USES= autoreconf cpe iconv localbase:ldflags ncurses shebangfix tar:xz +USES= autoreconf cpe iconv localbase:ldflags ncurses shebangfix \ + tar:xz +SHEBANG_FILES= Functions/Calendar/* Functions/Misc/* SHEBANG_LANG= zsh -zsh_OLD_CMD= zsh # shebang appears as /bin/zsh and just zsh -SHEBANG_FILES= Functions/Calendar/* \ - Functions/Misc/* - -CONFIGURE_ARGS= --with-tcsetpgrp \ - --enable-function-subdirs \ - --enable-maildir-support \ - --enable-multibyte \ - --enable-zsh-secure-free \ - --sysconfdir=${PREFIX}/etc - +zsh_OLD_CMD= zsh # shebang appears as /bin/zsh and just zsh + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --enable-function-subdirs \ + --enable-maildir-support \ + --enable-multibyte \ + --enable-zsh-secure-free \ + --sysconfdir=${PREFIX}/etc \ + --with-tcsetpgrp # fix PREFIX != LOCALBASE -CONFIGURE_ARGS+=--disable-site-fndir \ - --enable-additional-fpath=${DATADIR}/site-functions +CONFIGURE_ARGS+= --disable-site-fndir \ + --enable-additional-fpath=${DATADIR}/site-functions +CONFIGURE_ENV+= ac_cv_header_sys_capability_h=no \ + zsh_cv_sys_path_dev_fd=no -CONFIGURE_ENV+= zsh_cv_sys_path_dev_fd=no \ - ac_cv_header_sys_capability_h=no +MAKE_JOBS_UNSAFE= yes +TEST_TARGET= test -GNU_CONFIGURE= yes CPPFLAGS+= -DBOOL_DEFINED LDFLAGS+= -Wl,--as-needed -TEST_TARGET= test -OPTIONS_DEFINE= DEBUG ETCDIR GDBM MEM PCRE STATIC \ - DOCS EXAMPLES +SUB_FILES= pkg-message + +PLIST_SUB+= ZSH_VER="${ZSH_VER}" +PORTDOCS= * + +OPTIONS_DEFINE= BASE_ZSH DEBUG DOCS ETCDIR EXAMPLES GDBM MEM PCRE STATIC OPTIONS_SUB= yes +BASE_ZSH_DESC= Make zsh and rzsh also available as /bin/zsh and /bin/rzsh ETCDIR_DESC= System-wide defaults in /etc (instead of $${PREFIX}/etc) GDBM_DESC= Enable GDBM support (GPL) MEM_DESC= Enable zsh-mem options -GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm -PCRE_LIB_DEPENDS= libpcre.so:devel/pcre - DEBUG_CONFIGURE_ENABLE= zsh-debug +DOCS_DISTFILES= ${DISTNAME}-doc${EXTRACT_SUFX}:doc ETCDIR_CONFIGURE_OFF= --enable-etcdir=${PREFIX}/etc +GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm GDBM_CONFIGURE_ENABLE= gdbm MEM_CONFIGURE_ENABLE= zsh-mem +PCRE_LIB_DEPENDS= libpcre.so:devel/pcre PCRE_CONFIGURE_ENABLE= pcre ## Some modules can only be built as a shared library. ## If you enable STATIC, you may get strange errors if you, a script, ## or a plugin tries to use the regex module. +STATIC_CONFIGURE_ON= --disable-dynamic \ + --with-term-lib="tinfow tinfo" +STATIC_CONFIGURE_OFF= --enable-dynamic \ + --with-term-lib="ncursesw ncurses" STATIC_LDFLAGS= -static -STATIC_CONFIGURE_ON= --disable-dynamic --with-term-lib="tinfow tinfo" -STATIC_CONFIGURE_OFF= --enable-dynamic --with-term-lib="ncursesw ncurses" -DOCS= LICENCE META-FAQ README \ - Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ Etc/completion-style-guide \ - Doc/zsh*.html Doc/zsh.dvi -DOCS_DISTFILES= ${DISTNAME}-doc${EXTRACT_SUFX}:doc +DOCS= LICENCE META-FAQ README Etc/BUGS Etc/CONTRIBUTORS Etc/FAQ \ + Etc/completion-style-guide Doc/zsh*.html Doc/zsh.dvi -PORTDOCS= * PORTEXAMPLES= zlogin zshenv zshrc ZSH_VER= ${PORTVERSION} -PLIST_SUB+= ZSH_VER="${ZSH_VER}" -SUB_FILES= pkg-message .include <bsd.port.pre.mk> @@ -123,12 +123,18 @@ post-install: ${CHMOD} 644 $$i.zwc ; \ done') -post-install-EXAMPLES-on: - @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} - (cd ${WRKSRC}/StartupFiles && ${INSTALL_DATA} ${PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR}) +post-install-BASE_ZSH-on: + @${MKDIR} ${STAGEDIR}/bin +.for f in zsh rzsh + ${RLN} ${STAGEDIR}${PREFIX}/bin/${f} ${STAGEDIR}/bin/${f} +.endfor post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR}) +post-install-EXAMPLES-on: + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + (cd ${WRKSRC}/StartupFiles && ${INSTALL_DATA} ${PORTEXAMPLES} ${STAGEDIR}${EXAMPLESDIR}) + .include <bsd.port.post.mk> diff --git a/shells/zsh/pkg-plist b/shells/zsh/pkg-plist index e51f7e5c411b..27783c0543af 100644 --- a/shells/zsh/pkg-plist +++ b/shells/zsh/pkg-plist @@ -1,5 +1,7 @@ @shell bin/zsh @shell bin/rzsh +%%BASE_ZSH%%@shell /bin/zsh +%%BASE_ZSH%%@shell /bin/rzsh bin/zsh-%%ZSH_VER%% %%NO_STATIC%%lib/zsh/%%ZSH_VER%%/zsh/cap.so %%NO_STATIC%%lib/zsh/%%ZSH_VER%%/zsh/clone.so |