mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-18 00:10:04 +00:00
sysutils/screen*: Rename screen and introduce a meta port
This is in preparation for the import of screen 5.0.0. I've tried screen-devel (5.0.0 prelrelease). There were some bugs and inconsistencies with screen 4.9.1. So we move screen to screen49 to maintain a version of screen that is known to work. This implements the concept of a master screen port by renaming it to screen49 and creating a slave port called screen. The idea of this is similar in concept used with the cfengine or krb5 family of ports. Users should never need to change port origins when a new stable version of screen is committed. People can install the screen port or package as before. However if they choose to use the other screen port/package they may remove screen and install the versioned "master" port/package directly. This is in preparation for import of screen 5.0.0 into the ports collection. Unfortunately my initial testing of screen 5.0.0 using the screen-devel port uncovered an annoying (to me) bug, which I have opened an issue with our upstream. I have not found the time to test their patches enough to feel comfortalbe replacing the existing screen 4.9.1 with 5.0.0. When 5.0.0 will be imported as sysutils/screen50, it will not become the default master port until we believe it won't become a source of many bugzilla bugs.
This commit is contained in:
parent
34bec8745e
commit
43808d10e2
@ -1361,6 +1361,7 @@
|
||||
SUBDIR += schedutils
|
||||
SUBDIR += schilyutils
|
||||
SUBDIR += screen
|
||||
SUBDIR += screen49
|
||||
SUBDIR += screen-devel
|
||||
SUBDIR += screenfetch
|
||||
SUBDIR += screenie
|
||||
|
@ -1,119 +1,6 @@
|
||||
PORTNAME= screen
|
||||
PORTVERSION= 4.9.1
|
||||
PORTREVISION= 5
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= GNU \
|
||||
ftp://ftp.gnu.org/gnu/screen/ \
|
||||
ftp://gnu.mirror.iweb.com/screen/ \
|
||||
http://gnu.mirror.iweb.com/screen/ \
|
||||
http://mirror.sdunix.com/gnu/ \
|
||||
ftp://mirrors.kernel.org/gnu/screen/ \
|
||||
http://cschubert.com/distfiles/ \
|
||||
LOCAL/cy
|
||||
VERSIONS= 49
|
||||
SCREEN_VERSION?= 49
|
||||
|
||||
MAINTAINER= cy@FreeBSD.org
|
||||
COMMENT= Multi-screen window manager
|
||||
WWW= https://www.gnu.org/software/screen/
|
||||
MASTERDIR= ${.CURDIR}/../screen${SCREEN_VERSION}
|
||||
|
||||
CONFLICTS= screen-devel*
|
||||
|
||||
LICENSE= GPLv3
|
||||
|
||||
OPTIONS_DEFINE= INFO NETHACK XTERM_256 SYSTEM_SCREENRC MULTIUSER \
|
||||
NOSOCKETDIR
|
||||
OPTIONS_DEFAULT= INFO NETHACK XTERM_256 SOCKETS SYSTEM_SCREENRC \
|
||||
NCURSES_DEFAULT MULTIUSER
|
||||
OPTIONS_SINGLE= IPC NCURSES
|
||||
OPTIONS_SINGLE_IPC= SOCKETS NAMED_PIPES
|
||||
OPTIONS_SINGLE_NCURSES= NCURSES_DEFAULT NCURSES_BASE NCURSES_PORT
|
||||
NETHACK_DESC= Enable nethack-style messages
|
||||
XTERM_256_DESC= Enable support for 256 colour xterm
|
||||
SOCKETS_DESC= Use new (4.2.1+) sockets for IPC (default)
|
||||
NAMED_PIPES_DESC= Use legacy (4.0.3) named pipes for IPC (override)
|
||||
SYSTEM_SCREENRC_DESC= Install system screenrc with helpful status line
|
||||
MULTIUSER_DESC= Install setuid-root screen to support multiuser
|
||||
MULTIUSER_PLIST_SUB= MULTISUID="@(,,4555) "
|
||||
MULTIUSER_PLIST_SUB_OFF=MULTISUID="@(,,0555) "
|
||||
NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base)
|
||||
NCURSES_BASE_DESC= Depend on ncurses in base
|
||||
NCURSES_PORT_DESC= Depend on devel/ncurses in ports
|
||||
NOSOCKETDIR_DESC= Use ~/.screen instead of socketdir
|
||||
|
||||
NCURSES_DEFAULT_USES= ncurses
|
||||
NCURSES_BASE_USES= ncurses:base
|
||||
NCURSES_PORT_USES= ncurses:port
|
||||
|
||||
OPTIONS_SUB=
|
||||
|
||||
USES= autoreconf:build gmake cpe
|
||||
MAKE_ARGS+= WITH_MAN=1
|
||||
|
||||
CPE_VENDOR= gnu
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
|
||||
CFLAGS+= -I${NCURSESINC}
|
||||
LDFLAGS+= -L${NCURSESLIB}
|
||||
|
||||
.if ${PORT_OPTIONS:MINFO}
|
||||
INFO= screen
|
||||
MAKE_ARGS+= WITH_INFO=1
|
||||
USES+= makeinfo
|
||||
.endif
|
||||
|
||||
# Enables support for 256 colour xterm. Note that you may need to
|
||||
# set up a custom termcap entry or .screenrc which modifies termcap
|
||||
# to contain the following: Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm
|
||||
#
|
||||
.if ${PORT_OPTIONS:MXTERM_256}
|
||||
CFLAGS+= -DCOLORS256
|
||||
.endif
|
||||
|
||||
.if ! ${PORT_OPTIONS:MNETHACK}
|
||||
CFLAGS+= -DNONETHACK
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MNOSOCKETDIR}
|
||||
CONFIGURE_ARGS+= --disable-socket-dir
|
||||
.endif
|
||||
|
||||
.if defined(SCREEN_SOCKET_DIR)
|
||||
CONFIGURE_ARGS+= --with-socket-dir=${SCREEN_SOCKET_DIR}
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${RM} ${WRKSRC}/doc/screen.info*
|
||||
|
||||
# Bug 191029: Users can choose whether to use sockets or named pipes.
|
||||
# Choose sockets if you don't know what the difference is.
|
||||
# Choose named pipes if your environment is heterogeneous,
|
||||
# using both screen 4.0.3 and 4.2.1.
|
||||
# Bug 191017
|
||||
|
||||
pre-configure:
|
||||
cd ${WRKSRC} && ./autogen.sh
|
||||
|
||||
post-configure-NAMED_PIPES-on:
|
||||
@${ECHO_CMD} '#define NAMEDPIPE 1' >> ${WRKSRC}/config.h
|
||||
@${ECHO_CMD} User selected named pipes override set.
|
||||
|
||||
ETCDIR?= ${PREFIX}/etc
|
||||
|
||||
post-install:
|
||||
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \
|
||||
${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-1
|
||||
${INSTALL_DATA} ${FILESDIR}/screenrc.sample \
|
||||
${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-2
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||
.if ${PORT_OPTIONS:MSYSTEM_SCREENRC}
|
||||
${INSTALL_DATA} ${FILESDIR}/screenrc.sample \
|
||||
${STAGEDIR}${ETCDIR}/screenrc.sample
|
||||
.else
|
||||
${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \
|
||||
${STAGEDIR}${ETCDIR}/screenrc.sample
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include "${MASTERDIR}/Makefile"
|
||||
|
123
sysutils/screen49/Makefile
Normal file
123
sysutils/screen49/Makefile
Normal file
@ -0,0 +1,123 @@
|
||||
PORTNAME= screen
|
||||
PORTVERSION= 4.9.1
|
||||
PORTREVISION= 5
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= GNU \
|
||||
ftp://ftp.gnu.org/gnu/screen/ \
|
||||
ftp://gnu.mirror.iweb.com/screen/ \
|
||||
http://gnu.mirror.iweb.com/screen/ \
|
||||
http://mirror.sdunix.com/gnu/ \
|
||||
ftp://mirrors.kernel.org/gnu/screen/ \
|
||||
http://cschubert.com/distfiles/ \
|
||||
LOCAL/cy
|
||||
.if !defined(MASTERDIR)
|
||||
PKGNAMESUFFIX= 49
|
||||
CONFLICTS= screen-*
|
||||
.endif
|
||||
|
||||
MAINTAINER= cy@FreeBSD.org
|
||||
COMMENT= Multi-screen window manager
|
||||
WWW= https://www.gnu.org/software/screen/
|
||||
|
||||
CONFLICTS+= screen-devel*
|
||||
|
||||
LICENSE= GPLv3
|
||||
|
||||
OPTIONS_DEFINE= INFO NETHACK XTERM_256 SYSTEM_SCREENRC MULTIUSER \
|
||||
NOSOCKETDIR
|
||||
OPTIONS_DEFAULT= INFO NETHACK XTERM_256 SOCKETS SYSTEM_SCREENRC \
|
||||
NCURSES_DEFAULT MULTIUSER
|
||||
OPTIONS_SINGLE= IPC NCURSES
|
||||
OPTIONS_SINGLE_IPC= SOCKETS NAMED_PIPES
|
||||
OPTIONS_SINGLE_NCURSES= NCURSES_DEFAULT NCURSES_BASE NCURSES_PORT
|
||||
NETHACK_DESC= Enable nethack-style messages
|
||||
XTERM_256_DESC= Enable support for 256 colour xterm
|
||||
SOCKETS_DESC= Use new (4.2.1+) sockets for IPC (default)
|
||||
NAMED_PIPES_DESC= Use legacy (4.0.3) named pipes for IPC (override)
|
||||
SYSTEM_SCREENRC_DESC= Install system screenrc with helpful status line
|
||||
MULTIUSER_DESC= Install setuid-root screen to support multiuser
|
||||
MULTIUSER_PLIST_SUB= MULTISUID="@(,,4555) "
|
||||
MULTIUSER_PLIST_SUB_OFF=MULTISUID="@(,,0555) "
|
||||
NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base)
|
||||
NCURSES_BASE_DESC= Depend on ncurses in base
|
||||
NCURSES_PORT_DESC= Depend on devel/ncurses in ports
|
||||
NOSOCKETDIR_DESC= Use ~/.screen instead of socketdir
|
||||
|
||||
NCURSES_DEFAULT_USES= ncurses
|
||||
NCURSES_BASE_USES= ncurses:base
|
||||
NCURSES_PORT_USES= ncurses:port
|
||||
|
||||
OPTIONS_SUB=
|
||||
|
||||
USES= autoreconf:build gmake cpe
|
||||
MAKE_ARGS+= WITH_MAN=1
|
||||
|
||||
CPE_VENDOR= gnu
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
GNU_CONFIGURE= yes
|
||||
GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
|
||||
CFLAGS+= -I${NCURSESINC}
|
||||
LDFLAGS+= -L${NCURSESLIB}
|
||||
|
||||
.if ${PORT_OPTIONS:MINFO}
|
||||
INFO= screen
|
||||
MAKE_ARGS+= WITH_INFO=1
|
||||
USES+= makeinfo
|
||||
.endif
|
||||
|
||||
# Enables support for 256 colour xterm. Note that you may need to
|
||||
# set up a custom termcap entry or .screenrc which modifies termcap
|
||||
# to contain the following: Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm
|
||||
#
|
||||
.if ${PORT_OPTIONS:MXTERM_256}
|
||||
CFLAGS+= -DCOLORS256
|
||||
.endif
|
||||
|
||||
.if ! ${PORT_OPTIONS:MNETHACK}
|
||||
CFLAGS+= -DNONETHACK
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MNOSOCKETDIR}
|
||||
CONFIGURE_ARGS+= --disable-socket-dir
|
||||
.endif
|
||||
|
||||
.if defined(SCREEN_SOCKET_DIR)
|
||||
CONFIGURE_ARGS+= --with-socket-dir=${SCREEN_SOCKET_DIR}
|
||||
.endif
|
||||
|
||||
post-patch:
|
||||
@${RM} ${WRKSRC}/doc/screen.info*
|
||||
|
||||
# Bug 191029: Users can choose whether to use sockets or named pipes.
|
||||
# Choose sockets if you don't know what the difference is.
|
||||
# Choose named pipes if your environment is heterogeneous,
|
||||
# using both screen 4.0.3 and 4.2.1.
|
||||
# Bug 191017
|
||||
|
||||
pre-configure:
|
||||
cd ${WRKSRC} && ./autogen.sh
|
||||
|
||||
post-configure-NAMED_PIPES-on:
|
||||
@${ECHO_CMD} '#define NAMEDPIPE 1' >> ${WRKSRC}/config.h
|
||||
@${ECHO_CMD} User selected named pipes override set.
|
||||
|
||||
ETCDIR?= ${PREFIX}/etc
|
||||
|
||||
post-install:
|
||||
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \
|
||||
${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-1
|
||||
${INSTALL_DATA} ${FILESDIR}/screenrc.sample \
|
||||
${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-2
|
||||
@${MKDIR} ${STAGEDIR}${ETCDIR}
|
||||
.if ${PORT_OPTIONS:MSYSTEM_SCREENRC}
|
||||
${INSTALL_DATA} ${FILESDIR}/screenrc.sample \
|
||||
${STAGEDIR}${ETCDIR}/screenrc.sample
|
||||
.else
|
||||
${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \
|
||||
${STAGEDIR}${ETCDIR}/screenrc.sample
|
||||
.endif
|
||||
|
||||
.include <bsd.port.mk>
|
Loading…
Reference in New Issue
Block a user