1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-29 05:38:00 +00:00

Sulci, an Jabber bot.

PR:		ports/83178
Submitted by:	Denis Shaposhnikov <dsh@vlink.ru>
This commit is contained in:
Pav Lucistnik 2005-07-13 22:54:35 +00:00
parent 4883c1281d
commit ac2de602c1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=139151
15 changed files with 583 additions and 0 deletions

52
net-im/sulci/Makefile Normal file
View File

@ -0,0 +1,52 @@
# New ports collection makefile for: sulci
# Date created: Fri Jul 8 13:12:34 MSD 2005
# Whom: Denis Shaposhnikov <dsh@vlink.ru>
#
# $FreeBSD$
#
PORTNAME= sulci
PORTVERSION= 20050708
CATEGORIES= net
MASTER_SITES= http://neva.vlink.ru/distfiles/
MAINTAINER= dsh@vlink.ru
COMMENT= A Jabber bot
BUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml \
${LOCALBASE}/lib/ocaml/cryptokit.cma:${PORTSDIR}/security/ocaml-cryptokit \
${OCAML_SITELIBDIR}/ulex/ulexing.a:${PORTSDIR}/devel/ocaml-ulex \
ocamlfind:${PORTSDIR}/devel/ocaml-findlib
LIB_DEPENDS= sqlite.2:${PORTSDIR}/databases/sqlite2 \
pcre.0:${PORTSDIR}/devel/pcre-utf8
RUN_DEPENDS= ${OCAML_SITELIBDIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net \
${OCAML_SITELIBDIR}/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre
BUILD_DEPENDS+= ${RUN_DEPENDS}
OCAML_SITELIBDIR= ${LOCALBASE}/lib/ocaml/site-lib
USE_BZIP2= yes
USE_GMAKE= yes
USE_RC_SUBR= ${PORTNAME}.sh
ALL_TARGET= subdirs
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}/${PORTNAME} ${PREFIX}/sbin
${MKDIR} ${DATADIR}/lang
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/lang/*.htbl ${WRKSRC}/${PORTNAME}/lang/*.ml ${WRKSRC}/${PORTNAME}/lang/*.msg ${DATADIR}/lang
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/tlds.db ${DATADIR}
${MKDIR} ${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/${PORTNAME}.conf.example ${EXAMPLESDIR}
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/COPYING ${FILESDIR}/cmdlist.ru.txt ${DOCSDIR}
.endif
post-install:
${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>

2
net-im/sulci/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (sulci-20050708.tar.bz2) = 0a6420464acd8bab7fdd7203cc57210e
SIZE (sulci-20050708.tar.bz2) = 152432

View File

@ -0,0 +1,161 @@
* msg jid message
Заставляет послать сообщение message пользователю jid. Доступно
только администратору.
* quit
Завершиться. Доступно только администратору.
* join room nick
Зайти в конференцию room под ником nick. Доступно только
администратору.
* lang_update lang
Перезагружает файл сообщений языка lang. Доступно только
администратору.
* rpn 1 3 + ...
Калькулятор в польской нотации.
* calc 1 + 3
Калькулятор в прямой нотации.
* curr 10 usd rur
Валютный конвертер.
* curr list
Показывает список валют.
* dict -list
Показывает список баз данных с dict.org или другого сервера,
указанного в конфигурации.
* dict [db] word
Запрашивает значение слова word в базе данных db, через dict.org или
другой сервер из конфигурации. При отсутствии db, поиск
осуществляется во всех базах сервера.
* stats server.name
* uptime server.name
Возвращает информацию о jabber сервере.
* google query
Поисковый запрос к Google. Возвращается первый найденный результат.
* google_adv start limit query
Поисковый запрос к Google. Возвращаются limit результатов, начиная с
start.
* gspell query
Возвращает совет Google по написанию запроса.
* !!!count
Возвращает число пар слов в болтологической базе текущей
конференции.
* !!!top
TOP 10 пар слов по этой же базе.
* dns ip_addr
* dns name
Возвращает результат DNS резолвинга.
* mueller text
Англо-русский словарь.
* ping [nick]
Понг.
* tryme
"Русская рулетка".
* greet jid room@server greet
Устанавливает приветствие greet при появлении пользователя jid в
комнате room@server. Доступно только для администратора.
* seen nick
Когда последний раз видел указанный nick.
* talkers [nick]
Без указания nick'а показывает TOP 10 болтливых, иначе стастическую
информацию о болтливости указанного nick'а. nick может представлять
из себя SQL'ное LIKE выражение, с символами [%_].
* tld tld
Показывает название страны, за которой закреплен домен первого
уровня tld.
* version [nick]
Выводит версию клиента nick'а или, при его отсутствии, отправителя
запроса.
* version_server server.name
Выводит версию jabber сервера server.name.
* idle [nick]
Выводит idle запросившего или nick'а, если он указан.
* time [nick]
Выводит локальное время на компьютере запросившего или nick'а, если
он указан.
* status [nick]
Аналогично предыдущим, выводит статус.
* wtf word ?
Возвращает определение термина word.
* dfn word = text
Задает определение термина word, как text.
* wz code
Выводит прогноз погоды с http://weather.noaa.gov/ для города,
обозначенного 4-х буквенным кодом code.

View File

@ -0,0 +1,30 @@
#!/bin/sh
# $FreeBSD$
# PROVIDE: sulci
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
# Define these sulci_* variables in one of these files:
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/sulci
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
#
sulci_enable=${sulci_enable-"NO"}
sulci_precmd=":"
. %%RC_SUBR%%
name="sulci"
rcvar=`set_rcvar`
command="%%PREFIX%%/sbin/sulci"
command_args="> /dev/null 2>&1 &"
load_rc_config $name
start_precmd="${sulci_precmd}"
run_rc_command "$1"

3
net-im/sulci/pkg-descr Normal file
View File

@ -0,0 +1,3 @@
Sulci, an Jabber bot.
WWW: http://home.ermine.pp.ru/svn/ocaml/trunk/

23
net-im/sulci/pkg-message Normal file
View File

@ -0,0 +1,23 @@
You have to do something like bellow before starting up the bot.
# mkdir home/of/the/sulci/the/bot
# cd home/of/the/sulci/the/bot
# cp ${PREFIX}/share/examples/sulci/sulci.conf.example sulci.conf
# vi sulci.conf
# ln -s ${PREFIX}/share/sulci/tlds.db .
# echo sulci_enable=\"YES"\ >> /etc/rc.conf
# echo sulci_chdir=\"home/of/the/sulci/the/bot\" >> /etc/rc.conf
Also, you could add rc.subr's vars like this:
sulci_user="sulci"
sulci_nice="20"
sulci_precmd="eval `/usr/bin/limits -U sulci -e`"
and don't forget to chown home/of/the/sulci/the/bot
Note: you have to get the key from Google before using the "google"
plug-in. See http://api.google.com/ for how to.

20
net-im/sulci/pkg-plist Normal file
View File

@ -0,0 +1,20 @@
sbin/sulci
%%DATADIR%%/tlds.db
%%DATADIR%%/lang/en.htbl
%%DATADIR%%/lang/en.msg
%%DATADIR%%/lang/en_time.ml
%%DATADIR%%/lang/es.htbl
%%DATADIR%%/lang/es.msg
%%DATADIR%%/lang/es_time.ml
%%DATADIR%%/lang/nl.htbl
%%DATADIR%%/lang/nl.msg
%%DATADIR%%/lang/ru.htbl
%%DATADIR%%/lang/ru.msg
%%DATADIR%%/lang/ru_time.ml
%%EXAMPLESDIR%%/sulci.conf.example
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/cmdlist.ru.txt
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm %%DATADIR%%/lang
@dirrm %%DATADIR%%
@dirrm %%EXAMPLESDIR%%

View File

@ -782,6 +782,7 @@
SUBDIR += straw
SUBDIR += stund
SUBDIR += suckblow
SUBDIR += sulci
SUBDIR += sup
SUBDIR += svnc
SUBDIR += tac_plus-libradius

52
net/sulci/Makefile Normal file
View File

@ -0,0 +1,52 @@
# New ports collection makefile for: sulci
# Date created: Fri Jul 8 13:12:34 MSD 2005
# Whom: Denis Shaposhnikov <dsh@vlink.ru>
#
# $FreeBSD$
#
PORTNAME= sulci
PORTVERSION= 20050708
CATEGORIES= net
MASTER_SITES= http://neva.vlink.ru/distfiles/
MAINTAINER= dsh@vlink.ru
COMMENT= A Jabber bot
BUILD_DEPENDS= ocamlc:${PORTSDIR}/lang/ocaml \
${LOCALBASE}/lib/ocaml/cryptokit.cma:${PORTSDIR}/security/ocaml-cryptokit \
${OCAML_SITELIBDIR}/ulex/ulexing.a:${PORTSDIR}/devel/ocaml-ulex \
ocamlfind:${PORTSDIR}/devel/ocaml-findlib
LIB_DEPENDS= sqlite.2:${PORTSDIR}/databases/sqlite2 \
pcre.0:${PORTSDIR}/devel/pcre-utf8
RUN_DEPENDS= ${OCAML_SITELIBDIR}/netstring/netstring.a:${PORTSDIR}/www/ocaml-net \
${OCAML_SITELIBDIR}/pcre/pcre.a:${PORTSDIR}/devel/ocaml-pcre
BUILD_DEPENDS+= ${RUN_DEPENDS}
OCAML_SITELIBDIR= ${LOCALBASE}/lib/ocaml/site-lib
USE_BZIP2= yes
USE_GMAKE= yes
USE_RC_SUBR= ${PORTNAME}.sh
ALL_TARGET= subdirs
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}/${PORTNAME} ${PREFIX}/sbin
${MKDIR} ${DATADIR}/lang
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/lang/*.htbl ${WRKSRC}/${PORTNAME}/lang/*.ml ${WRKSRC}/${PORTNAME}/lang/*.msg ${DATADIR}/lang
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/tlds.db ${DATADIR}
${MKDIR} ${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}/${PORTNAME}.conf.example ${EXAMPLESDIR}
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/COPYING ${FILESDIR}/cmdlist.ru.txt ${DOCSDIR}
.endif
post-install:
${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>

2
net/sulci/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (sulci-20050708.tar.bz2) = 0a6420464acd8bab7fdd7203cc57210e
SIZE (sulci-20050708.tar.bz2) = 152432

View File

@ -0,0 +1,161 @@
* msg jid message
Заставляет послать сообщение message пользователю jid. Доступно
только администратору.
* quit
Завершиться. Доступно только администратору.
* join room nick
Зайти в конференцию room под ником nick. Доступно только
администратору.
* lang_update lang
Перезагружает файл сообщений языка lang. Доступно только
администратору.
* rpn 1 3 + ...
Калькулятор в польской нотации.
* calc 1 + 3
Калькулятор в прямой нотации.
* curr 10 usd rur
Валютный конвертер.
* curr list
Показывает список валют.
* dict -list
Показывает список баз данных с dict.org или другого сервера,
указанного в конфигурации.
* dict [db] word
Запрашивает значение слова word в базе данных db, через dict.org или
другой сервер из конфигурации. При отсутствии db, поиск
осуществляется во всех базах сервера.
* stats server.name
* uptime server.name
Возвращает информацию о jabber сервере.
* google query
Поисковый запрос к Google. Возвращается первый найденный результат.
* google_adv start limit query
Поисковый запрос к Google. Возвращаются limit результатов, начиная с
start.
* gspell query
Возвращает совет Google по написанию запроса.
* !!!count
Возвращает число пар слов в болтологической базе текущей
конференции.
* !!!top
TOP 10 пар слов по этой же базе.
* dns ip_addr
* dns name
Возвращает результат DNS резолвинга.
* mueller text
Англо-русский словарь.
* ping [nick]
Понг.
* tryme
"Русская рулетка".
* greet jid room@server greet
Устанавливает приветствие greet при появлении пользователя jid в
комнате room@server. Доступно только для администратора.
* seen nick
Когда последний раз видел указанный nick.
* talkers [nick]
Без указания nick'а показывает TOP 10 болтливых, иначе стастическую
информацию о болтливости указанного nick'а. nick может представлять
из себя SQL'ное LIKE выражение, с символами [%_].
* tld tld
Показывает название страны, за которой закреплен домен первого
уровня tld.
* version [nick]
Выводит версию клиента nick'а или, при его отсутствии, отправителя
запроса.
* version_server server.name
Выводит версию jabber сервера server.name.
* idle [nick]
Выводит idle запросившего или nick'а, если он указан.
* time [nick]
Выводит локальное время на компьютере запросившего или nick'а, если
он указан.
* status [nick]
Аналогично предыдущим, выводит статус.
* wtf word ?
Возвращает определение термина word.
* dfn word = text
Задает определение термина word, как text.
* wz code
Выводит прогноз погоды с http://weather.noaa.gov/ для города,
обозначенного 4-х буквенным кодом code.

View File

@ -0,0 +1,30 @@
#!/bin/sh
# $FreeBSD$
# PROVIDE: sulci
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
# Define these sulci_* variables in one of these files:
# /etc/rc.conf
# /etc/rc.conf.local
# /etc/rc.conf.d/sulci
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
#
sulci_enable=${sulci_enable-"NO"}
sulci_precmd=":"
. %%RC_SUBR%%
name="sulci"
rcvar=`set_rcvar`
command="%%PREFIX%%/sbin/sulci"
command_args="> /dev/null 2>&1 &"
load_rc_config $name
start_precmd="${sulci_precmd}"
run_rc_command "$1"

3
net/sulci/pkg-descr Normal file
View File

@ -0,0 +1,3 @@
Sulci, an Jabber bot.
WWW: http://home.ermine.pp.ru/svn/ocaml/trunk/

23
net/sulci/pkg-message Normal file
View File

@ -0,0 +1,23 @@
You have to do something like bellow before starting up the bot.
# mkdir home/of/the/sulci/the/bot
# cd home/of/the/sulci/the/bot
# cp ${PREFIX}/share/examples/sulci/sulci.conf.example sulci.conf
# vi sulci.conf
# ln -s ${PREFIX}/share/sulci/tlds.db .
# echo sulci_enable=\"YES"\ >> /etc/rc.conf
# echo sulci_chdir=\"home/of/the/sulci/the/bot\" >> /etc/rc.conf
Also, you could add rc.subr's vars like this:
sulci_user="sulci"
sulci_nice="20"
sulci_precmd="eval `/usr/bin/limits -U sulci -e`"
and don't forget to chown home/of/the/sulci/the/bot
Note: you have to get the key from Google before using the "google"
plug-in. See http://api.google.com/ for how to.

20
net/sulci/pkg-plist Normal file
View File

@ -0,0 +1,20 @@
sbin/sulci
%%DATADIR%%/tlds.db
%%DATADIR%%/lang/en.htbl
%%DATADIR%%/lang/en.msg
%%DATADIR%%/lang/en_time.ml
%%DATADIR%%/lang/es.htbl
%%DATADIR%%/lang/es.msg
%%DATADIR%%/lang/es_time.ml
%%DATADIR%%/lang/nl.htbl
%%DATADIR%%/lang/nl.msg
%%DATADIR%%/lang/ru.htbl
%%DATADIR%%/lang/ru.msg
%%DATADIR%%/lang/ru_time.ml
%%EXAMPLESDIR%%/sulci.conf.example
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/cmdlist.ru.txt
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm %%DATADIR%%/lang
@dirrm %%DATADIR%%
@dirrm %%EXAMPLESDIR%%