New port: irc/birch: IRC client written in bash
PR: 245174 Submitted by: Lewis Cook <vulcan@wired.sh>
This commit is contained in:
parent
489cc5e01c
commit
95b4705364
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=529926
@ -6,6 +6,7 @@
|
||||
SUBDIR += anope
|
||||
SUBDIR += atheme-services
|
||||
SUBDIR += bip
|
||||
SUBDIR += birch
|
||||
SUBDIR += bitchx
|
||||
SUBDIR += bitlbee
|
||||
SUBDIR += bitlbee-discord
|
||||
|
37
irc/birch/Makefile
Normal file
37
irc/birch/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= birch
|
||||
DISTVERSION= g20200327
|
||||
CATEGORIES= irc
|
||||
|
||||
MAINTAINER= vulcan@wired.sh
|
||||
COMMENT= IRC client written in bash
|
||||
|
||||
LICENSE= MIT
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE.md
|
||||
|
||||
RUN_DEPENDS= bash:shells/bash
|
||||
|
||||
USES= shebangfix
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= dylanaraps
|
||||
GH_TAGNAME= f04f673a57d3f416174fb84755d528aefe5adc6d
|
||||
SHEBANG_FILES= ${PORTNAME}
|
||||
|
||||
NO_ARCH= yes
|
||||
NO_BUILD= yes
|
||||
|
||||
SUB_FILES= pkg-message
|
||||
PLIST_FILES= bin/${PORTNAME}
|
||||
PORTDOCS= README.md
|
||||
|
||||
OPTIONS_DEFINE= DOCS
|
||||
|
||||
do-install:
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
|
||||
|
||||
post-install-DOCS-on:
|
||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/${PORTDOCS} ${STAGEDIR}${DOCSDIR}
|
||||
|
||||
.include <bsd.port.mk>
|
3
irc/birch/distinfo
Normal file
3
irc/birch/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1585518968
|
||||
SHA256 (dylanaraps-birch-g20200327-f04f673a57d3f416174fb84755d528aefe5adc6d_GH0.tar.gz) = 3c07101640cf3b1d13304cf8a4ff0df490094645f4b7d4c2cd298468508ecc6e
|
||||
SIZE (dylanaraps-birch-g20200327-f04f673a57d3f416174fb84755d528aefe5adc6d_GH0.tar.gz) = 8206
|
83
irc/birch/files/pkg-message.in
Normal file
83
irc/birch/files/pkg-message.in
Normal file
@ -0,0 +1,83 @@
|
||||
[
|
||||
{ type: install
|
||||
message: <<EOM
|
||||
birch was successfully installed.
|
||||
|
||||
Caveats (or limitations):
|
||||
=========================
|
||||
|
||||
* Nick column is fixed and truncated to 10 columns wide.
|
||||
|
||||
This is something fixable down the line. It merely serves to
|
||||
simplify the alignment of messages into two columns (nick and
|
||||
messages).
|
||||
|
||||
* Lines are word-wrapped to a fixed 60 columns.
|
||||
|
||||
This is also fixable down the line though a lot more painful
|
||||
than the nick column issue. POSIX fold is used to achieve the
|
||||
word wrapping but doesn't take into account non-printable
|
||||
characters and unicode.
|
||||
|
||||
What this means is that wrapping will always be a little _off_
|
||||
as escape sequences, IRC formatting and unicode will throw
|
||||
out all attempts at calculating the "visible" line length.
|
||||
|
||||
It's an interesting problem to solve. I've made a myriad of
|
||||
attempts at writing a suitable function in bash though they're
|
||||
all too slow (as expected!).
|
||||
|
||||
* No automatic server reconnect.
|
||||
|
||||
This should be fairly easy to fix though I need to figure out
|
||||
the best way of doing so.
|
||||
|
||||
* No SSL (sadly).
|
||||
|
||||
The network connection is through bash's builtin /dev/tcp
|
||||
feature which doesn't allow for SSL.
|
||||
|
||||
Keybindings:
|
||||
============
|
||||
|
||||
Ctrl+n - Next buffer.
|
||||
Ctrl+p - Previous buffer.
|
||||
Tab - Completion of nicks and channels.
|
||||
|
||||
Further, all readline keybindings are available for use. See the
|
||||
readline or bash manpages for a list of these.
|
||||
|
||||
Keybindings to birch may also be set via a .inputrc file. Which
|
||||
can be configured by setting `$BIRCH_INPUTRC`.
|
||||
|
||||
(BIRCH_INPUTRC=/path/to/birch-inputrc birch)
|
||||
|
||||
Commands:
|
||||
=========
|
||||
|
||||
Channels
|
||||
|
||||
/join <channel> - Join a channel.
|
||||
/part <channel> - Leave a channel.
|
||||
/quit - Quit out of birch.
|
||||
|
||||
Messages
|
||||
|
||||
/msg <nick> <message> - Message a user.
|
||||
/me <message> - Send an action.
|
||||
|
||||
Navigation
|
||||
|
||||
/next - Next buffer.
|
||||
/prev - Previous buffer.
|
||||
/<num> - Buffer by number (0 indexed).
|
||||
|
||||
Other
|
||||
|
||||
/nick <nick> - Change nickname.
|
||||
/names - Display all nicks in channel.
|
||||
/topic - Display channel topic.
|
||||
/raw <args> - Send a raw IRC message.
|
||||
EOM
|
||||
}
|
||||
]
|
5
irc/birch/pkg-descr
Normal file
5
irc/birch/pkg-descr
Normal file
@ -0,0 +1,5 @@
|
||||
Minimal IRC client written in bash, featuring the full power of readline for
|
||||
input and keybindings, tab completion of nicks and unique (or semi-unique)
|
||||
nick colors.
|
||||
|
||||
WWW: https://github.com/dylanaraps/birch
|
Loading…
Reference in New Issue
Block a user