1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

irc/eggdrop: Copy to irc/eggdrop16

Make way for irc/eggdrop to be updated to its latest stable version (1.8.4).
This commit is contained in:
Danilo G. Baio 2019-11-24 18:52:56 +00:00
parent 252ca216a4
commit 1f262a1a34
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=518348
19 changed files with 435 additions and 5 deletions

View File

@ -24,6 +24,7 @@
SUBDIR += dxirc
SUBDIR += eggdrop
SUBDIR += eggdrop-devel
SUBDIR += eggdrop16
SUBDIR += epic4
SUBDIR += epic5
SUBDIR += evangeline

View File

@ -27,7 +27,7 @@ LLD_UNSAFE= yes
SUB_FILES= pkg-message
CONFLICTS= eggdrop
CONFLICTS= eggdrop eggdrop16
OPTIONS_DEFINE= DOCS

122
irc/eggdrop16/Makefile Normal file
View File

@ -0,0 +1,122 @@
# Created by: Ulrich Spoerlein <q@uni.de>
# $FreeBSD$
PORTNAME= eggdrop
PORTVERSION= 1.6.21
CATEGORIES= irc
MASTER_SITES= ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/
PKGNAMESUFFIX= 16
DISTNAME= ${PORTNAME}${PORTVERSION}
DISTFILES= ${PORTNAME}${PORTVERSION}.tar.bz2
MAINTAINER= dbaio@FreeBSD.org
COMMENT= The most popular open source Internet Relay Chat bot
LICENSE= GPLv2
DEPRECATED= Outdated, use irc/eggdrop instead
EXPIRATION_DATE= 2020-02-28
OPTIONS_DEFINE= DOCS
USES= tcl
GNU_CONFIGURE= yes
CONFIGURE_ARGS+=--with-tcllib=${LOCALBASE}/lib/libtcl${TCL_SHLIB_VER}.so \
--with-tclinc=${LOCALBASE}/include/tcl${TCL_VER}/tcl.h
MAKE_JOBS_UNSAFE= yes
LLD_UNSAFE= yes
SUB_FILES= pkg-message
CONFLICTS= eggdrop eggdrop-devel
PORTDOCS= *
post-patch:
@${SED} -e 's#%%PREFIX%%#${PREFIX}#g' ${WRKSRC}/eggdrop.conf \
> ${WRKSRC}/eggdrop.conf.sample
post-configure:
@(cd ${WRKSRC}; ${MAKE} config)
# Workaround broken relative path in SSL-patch
# @(cd ${WRKSRC}/src && ${LN} -fs ../config.h)
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/eggdrop ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/doc/man1/eggdrop.1 ${STAGEDIR}${PREFIX}/man/man1
${INSTALL_DATA} ${WRKSRC}/eggdrop.conf.sample ${STAGEDIR}${PREFIX}/etc
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/eggdrop
.for f in assoc.so blowfish.so channels.so compress.so console.so ctcp.so \
dns.so filesys.so irc.so notes.so seen.so server.so share.so \
transfer.so uptime.so wire.so
${INSTALL_PROGRAM} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/lib/eggdrop
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/help
.for f in assoc.mod/help/assoc.help channels.mod/help/chaninfo.help \
channels.mod/help/channels.help console.mod/help/console.help \
compress.mod/help/compress.help ctcp.mod/help/ctcp.help \
filesys.mod/help/filesys.help irc.mod/help/irc.help \
notes.mod/help/notes.help seen.mod/help/seen.help \
server.mod/help/server.help share.mod/help/share.help \
transfer.mod/help/transfer.help uptime.mod/help/uptime.help \
wire.mod/help/wire.help
${INSTALL_DATA} ${WRKSRC}/src/mod/${f} ${STAGEDIR}${DATADIR}/help
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/help/set
.for f in channels.mod/help/set/channels.help \
compress.mod/help/set/compress.help \
console.mod/help/set/console.help ctcp.mod/help/set/ctcp.help \
filesys.mod/help/set/filesys.help irc.mod/help/set/irc.help \
notes.mod/help/set/notes.help server.mod/help/set/server.help \
share.mod/help/set/share.help transfer.mod/help/set/transfer.help
${INSTALL_DATA} ${WRKSRC}/src/mod/$f ${STAGEDIR}${DATADIR}/help/set
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/help/msg
.for f in irc.mod/help/msg/irc.help notes.mod/help/msg/notes.help \
seen.mod/help/msg/seen.help
${INSTALL_DATA} ${WRKSRC}/src/mod/$f ${STAGEDIR}${DATADIR}/help/msg
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/language
${INSTALL_DATA} ${WRKSRC}/language/core.*.lang ${STAGEDIR}${DATADIR}/language
@cd ${WRKSRC}/src/mod \
&& ${FIND} . -name "*.lang" -exec ${INSTALL_DATA} {} \
${STAGEDIR}${DATADIR}/language ";"
@${MKDIR} ${STAGEDIR}${DATADIR}/scripts
.for f in CONTENTS action.fix.tcl autobotchk alltools.tcl botchk \
cmd_resolve.tcl compat.tcl dccwhois.tcl getops.tcl klined.tcl notes2.tcl ques5.tcl \
quotepass.tcl quotepong.tcl sentinel.tcl userinfo.tcl weed
${INSTALL_DATA} ${WRKSRC}/scripts/${f} ${STAGEDIR}${DATADIR}/scripts
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/scripts/help
.for f in cmd_resolve.help userinfo.help
${INSTALL_DATA} ${WRKSRC}/scripts/help/${f} ${STAGEDIR}${DATADIR}/scripts/help
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/scripts/help/msg
.for f in userinfo.help
${INSTALL_DATA} ${WRKSRC}/scripts/help/msg/${f} ${STAGEDIR}${DATADIR}/scripts/help/msg
.endfor
.for f in cmds1.help cmds2.help core.help
${INSTALL_DATA} ${WRKSRC}/help/${f} ${STAGEDIR}${DATADIR}/help
.endfor
.for f in cmds1.help
${INSTALL_DATA} ${WRKSRC}/help/set/${f} ${STAGEDIR}${DATADIR}/help/set
.endfor
@${MKDIR} ${STAGEDIR}${DATADIR}/text
.for f in banner motd
${INSTALL_DATA} ${WRKSRC}/text/${f} ${STAGEDIR}${DATADIR}/text
.endfor
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for f in ABOUT BANS BOTNET BUG-REPORT COMPILE-GUIDE CONTENTS \
FIRST-SCRIPT KNOWN-PROBLEMS MODULES PARTYLINE PATCH-HOWTO \
TEXT-SUBSTITUTIONS TRICKS Changes1.6 USERS WEIRD-MESSAGES \
tcl-commands.doc
${INSTALL_DATA} ${WRKSRC}/doc/${f} ${STAGEDIR}${DOCSDIR}
.endfor
@${MKDIR} ${STAGEDIR}${DOCSDIR}/html
cd ${WRKSRC}/doc/html && ${INSTALL_DATA} *.html ${STAGEDIR}${DOCSDIR}/html
@${MKDIR} ${STAGEDIR}${DOCSDIR}/settings
cd ${WRKSRC}/doc/settings && ${INSTALL_DATA} * ${STAGEDIR}${DOCSDIR}/settings
.include <bsd.port.mk>

2
irc/eggdrop16/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (eggdrop1.6.21.tar.bz2) = 75bd5573a609eac3940c0b6ca8251c3f38ea5d54b520e1cad93c650b4bc21754
SIZE (eggdrop1.6.21.tar.bz2) = 999211

View File

@ -0,0 +1,29 @@
--- eggdrop.conf 2010-07-05 14:07:05.000000000 +0200
+++ eggdrop.conf 2011-01-07 06:13:49.000000000 +0100
@@ -1,4 +1,4 @@
-#! /path/to/executable/eggdrop
+#!%%PREFIX%%/bin/eggdrop
# ^- This should contain a fully qualified path to your Eggdrop executable.
#
# $Id: eggdrop.conf,v 1.66 2010/07/05 12:07:05 pseudo Exp $
@@ -444,7 +444,7 @@
# If you run the bot from the compilation directory, you will want to set
# this to "". If you use 'make install' (like all good kiddies do ;), this
# is a fine default. Otherwise, use your head :)
-set mod-path "modules/"
+set mod-path "%%PREFIX%%/lib/eggdrop/"
#### BLOWFISH MODULE ####
@@ -842,6 +842,11 @@
another.example.com:7000:password
}
+# Set this option, if you want a SSL connection to the IRC Server(s) specified
+# above. This setting applies to all servers, so make sure they all support SSL
+# connections. Eggdrop has to be compiled with SSL support for this to work!
+set use-ssl 0
+
# Number of seconds to wait between transmitting queued lines to the server.
# Lower this value at your own risk. ircd is known to start flood control
# at 512 bytes/2 seconds.

View File

@ -0,0 +1,11 @@
--- src/Makefile.in.orig Mon Feb 9 22:42:35 2004
+++ src/Makefile.in Mon Feb 9 22:43:23 2004
@@ -18,7 +18,7 @@
LD = @CC@
STRIP = @STRIP@
CFLAGS = @CFLAGS@ -I.. -I$(top_srcdir) @DEFS@ $(CFLGS)
-CPPFLAGS = @CPPFLAGS@
+CPPFLAGS = @CPPFLAGS@ '-D__PREFIX__="@prefix@"'
eggdrop_objs = bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o \
dccutil.o dns.o flags.o language.o match.o main.o mem.o misc.o misc_file.o \

View File

@ -0,0 +1,11 @@
--- src/eggdrop.h 2011-01-07 06:12:27.000000000 +0100
+++ src/eggdrop.h 2011-01-07 06:14:26.000000000 +0100
@@ -64,7 +64,7 @@
/* Language stuff */
-#define LANGDIR "./language" /* language file directory */
+#define LANGDIR __PREFIX__ "/share/eggdrop/language" /* language file directory */
#define BASELANG "english" /* language which always gets loaded before
all other languages. You do not want to
change this. */

View File

@ -0,0 +1,29 @@
--- src/main.c 2011-01-07 06:12:27.000000000 +0100
+++ src/main.c 2011-01-07 06:16:35.000000000 +0100
@@ -72,7 +72,7 @@
# define _POSIX_SOURCE 1 /* Solaris needs this */
#endif
-extern char origbotname[], userfile[], botnetnick[];
+extern char origbotname[], userfile[], botnetnick[], tempdir[];
extern int dcc_total, conmask, cache_hit, cache_miss, max_logs, quick_logs,
quiet_save;
extern struct dcc_t *dcc;
@@ -105,7 +105,7 @@
int term_z = 0; /* Foreground: use the terminal as a partyline? */
int use_stderr = 1; /* Send stuff to stderr instead of logfiles? */
-char configfile[121] = "eggdrop.conf"; /* Default config file name */
+char configfile[121] = __PREFIX__ "/etc/eggdrop.conf"; /* Default config file name */
char pid_file[120]; /* Name of the pid file */
char helpdir[121] = "help/"; /* Directory of help files */
char textdir[121] = "text/"; /* Directory for text files */
@@ -1064,7 +1064,7 @@
cache_miss = 0;
cache_hit = 0;
if (!pid_file[0])
- egg_snprintf(pid_file, sizeof pid_file, "pid.%s", botnetnick);
+ egg_snprintf(pid_file, sizeof pid_file, "%s/pid.%s", tempdir, botnetnick);
/* Check for pre-existing eggdrop! */
f = fopen(pid_file, "r");

View File

@ -0,0 +1,13 @@
$NetBSD: patch-src_match.c,v 1.1 2012/11/16 00:35:28 joerg Exp $
--- src/match.c.orig 2012-11-15 10:29:42.000000000 +0000
+++ src/match.c
@@ -367,7 +367,7 @@ int cidr_match(char *m, char *n, int cou
/* Inline for cron_match (obviously).
* Matches a single field of a crontab expression.
*/
-inline int cron_matchfld(char *mask, int match)
+static inline int cron_matchfld(char *mask, int match)
{
int skip = 0, f, t;
char *p, *q;

View File

@ -0,0 +1,22 @@
--- src/mod/share.mod/share.c 2010-02-18 10:52:30.000000000 +0100
+++ src/mod/share.mod/share.c 2011-01-07 06:22:16.000000000 +0100
@@ -1122,7 +1122,7 @@
int i, sock;
FILE *f;
- egg_snprintf(s, sizeof s, ".share.%s.%li.users", botnetnick, now);
+ egg_snprintf(s, sizeof s, "%s/.share.%s.%li.users", tempdir, botnetnick, now);
if (!(b_status(idx) & STAT_SHARE)) {
dprintf(idx, "s e You didn't ask; you just started sending.\n");
dprintf(idx, "s e Ask before sending the userfile.\n");
@@ -1891,8 +1891,8 @@
struct chanuserrec *ch;
struct chanset_t *cst;
- egg_snprintf(share_file, sizeof share_file, ".share.%s.%lu", dcc[idx].nick,
- now);
+ egg_snprintf(share_file, sizeof share_file, "%s/.share.%s.%lu",
+ tempdir, dcc[idx].nick, now);
if (dcc[idx].u.bot->uff_flags & UFF_OVERRIDE) {
debug1("NOTE: Sharing aggressively with %s, overriding its local bots.",
dcc[idx].nick);

View File

@ -0,0 +1,11 @@
--- src/modules.c 2011-01-07 06:12:27.000000000 +0100
+++ src/modules.c 2011-01-07 06:21:42.000000000 +0100
@@ -118,7 +118,7 @@
static int module_rename(char *name, char *newname);
#ifndef STATIC
-char moddir[121] = "modules/";
+char moddir[121] = __PREFIX__ "/lib/eggdrop/";
#endif
#ifdef STATIC

View File

@ -0,0 +1,13 @@
$NetBSD: patch-src_net.c,v 1.1 2012/11/16 00:35:28 joerg Exp $
--- src/net.c.orig 2012-11-15 10:30:07.000000000 +0000
+++ src/net.c
@@ -564,7 +564,7 @@ int open_address_listen(IP addr, int *po
/* Returns a socket number for a listening socket that will accept any
* connection -- port # is returned in port
*/
-inline int open_listen(int *port)
+int open_listen(int *port)
{
return open_address_listen(myip[0] ? getmyip() : INADDR_ANY, port);
}

View File

@ -0,0 +1,13 @@
$NetBSD: patch-src_proto.h,v 1.1 2012/11/16 00:35:28 joerg Exp $
--- src/proto.h.orig 2012-11-15 10:30:20.000000000 +0000
+++ src/proto.h
@@ -271,7 +271,7 @@ int getsock(int);
void killsock(int);
void killtclsock(int);
int answer(int, char *, unsigned long *, unsigned short *, int);
-inline int open_listen(int *);
+int open_listen(int *);
int open_address_listen(IP addr, int *);
int open_telnet(char *, int);
int open_telnet_dcc(int, char *, char *);

View File

@ -0,0 +1,13 @@
$NetBSD: patch-src_tclhash.c,v 1.1 2012/11/16 00:35:28 joerg Exp $
--- src/tclhash.c.orig 2012-11-15 10:32:40.000000000 +0000
+++ src/tclhash.c
@@ -109,7 +109,7 @@ static inline void tcl_bind_list_delete(
nfree(tl);
}
-inline void garbage_collect_tclhash(void)
+void garbage_collect_tclhash(void)
{
tcl_bind_list_t *tl, *tl_next, *tl_prev;
tcl_bind_mask_t *tm, *tm_next, *tm_prev;

View File

@ -0,0 +1,13 @@
$NetBSD: patch-src_tclhash.h,v 1.1 2012/11/16 00:35:28 joerg Exp $
--- src/tclhash.h.orig 2012-11-15 10:32:27.000000000 +0000
+++ src/tclhash.h
@@ -75,7 +75,7 @@ typedef struct tcl_bind_list_b {
#ifndef MAKING_MODS
-inline void garbage_collect_tclhash(void);
+void garbage_collect_tclhash(void);
void init_bind(void);
void kill_bind(void);

View File

@ -0,0 +1,12 @@
[
{ type: install
message: <<EOM
This Port of Eggdrop differs from a normal eggdrop installation, because
it does respect hier(7). That means your eggdrop.conf goes to
%%PREFIX%%/etc/eggdrop.conf and .chan, .notes, .user files go to
%%PREFIX%%/share/eggdrop. Modules will go to %%PREFIX%%/lib/eggdrop and
documentation can be found in %%PREFIX%%/share/doc/eggdrop, scripts go
to %%PREFIX%%/share/eggdrop/scripts.
EOM
}
]

7
irc/eggdrop16/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
Eggdrop is the world's most popular open source Internet Relay Chat (IRC) bot.
Originally created by Robey Pointer in December 1993, it has spawned an almost
cult like following of users. It is a feature rich program designed to be
easily used and expanded upon (using Tcl scripting) by both novice and
advanced IRC users on a variety of hardware and software platforms.
WWW: http://www.eggheads.org/

108
irc/eggdrop16/pkg-plist Normal file
View File

@ -0,0 +1,108 @@
bin/eggdrop
etc/eggdrop.conf.sample
man/man1/eggdrop.1.gz
lib/eggdrop/assoc.so
lib/eggdrop/blowfish.so
lib/eggdrop/channels.so
lib/eggdrop/compress.so
lib/eggdrop/console.so
lib/eggdrop/ctcp.so
lib/eggdrop/dns.so
lib/eggdrop/filesys.so
lib/eggdrop/irc.so
lib/eggdrop/notes.so
lib/eggdrop/seen.so
lib/eggdrop/server.so
lib/eggdrop/share.so
lib/eggdrop/transfer.so
lib/eggdrop/uptime.so
lib/eggdrop/wire.so
%%DATADIR%%/help/assoc.help
%%DATADIR%%/help/chaninfo.help
%%DATADIR%%/help/channels.help
%%DATADIR%%/help/cmds1.help
%%DATADIR%%/help/cmds2.help
%%DATADIR%%/help/compress.help
%%DATADIR%%/help/console.help
%%DATADIR%%/help/core.help
%%DATADIR%%/help/ctcp.help
%%DATADIR%%/help/filesys.help
%%DATADIR%%/help/irc.help
%%DATADIR%%/help/msg/irc.help
%%DATADIR%%/help/msg/notes.help
%%DATADIR%%/help/msg/seen.help
%%DATADIR%%/help/notes.help
%%DATADIR%%/help/seen.help
%%DATADIR%%/help/server.help
%%DATADIR%%/help/set/channels.help
%%DATADIR%%/help/set/cmds1.help
%%DATADIR%%/help/set/compress.help
%%DATADIR%%/help/set/console.help
%%DATADIR%%/help/set/ctcp.help
%%DATADIR%%/help/set/filesys.help
%%DATADIR%%/help/set/irc.help
%%DATADIR%%/help/set/notes.help
%%DATADIR%%/help/set/server.help
%%DATADIR%%/help/set/share.help
%%DATADIR%%/help/set/transfer.help
%%DATADIR%%/help/share.help
%%DATADIR%%/help/transfer.help
%%DATADIR%%/help/uptime.help
%%DATADIR%%/help/wire.help
%%DATADIR%%/language/assoc.danish.lang
%%DATADIR%%/language/assoc.english.lang
%%DATADIR%%/language/assoc.finnish.lang
%%DATADIR%%/language/assoc.french.lang
%%DATADIR%%/language/assoc.german.lang
%%DATADIR%%/language/console.danish.lang
%%DATADIR%%/language/console.english.lang
%%DATADIR%%/language/console.finnish.lang
%%DATADIR%%/language/console.french.lang
%%DATADIR%%/language/console.german.lang
%%DATADIR%%/language/core.danish.lang
%%DATADIR%%/language/core.english.lang
%%DATADIR%%/language/core.finnish.lang
%%DATADIR%%/language/core.french.lang
%%DATADIR%%/language/core.german.lang
%%DATADIR%%/language/filesys.danish.lang
%%DATADIR%%/language/filesys.english.lang
%%DATADIR%%/language/filesys.finnish.lang
%%DATADIR%%/language/filesys.french.lang
%%DATADIR%%/language/filesys.german.lang
%%DATADIR%%/language/notes.danish.lang
%%DATADIR%%/language/notes.english.lang
%%DATADIR%%/language/notes.finnish.lang
%%DATADIR%%/language/notes.french.lang
%%DATADIR%%/language/notes.german.lang
%%DATADIR%%/language/transfer.danish.lang
%%DATADIR%%/language/transfer.english.lang
%%DATADIR%%/language/transfer.finnish.lang
%%DATADIR%%/language/transfer.french.lang
%%DATADIR%%/language/transfer.german.lang
%%DATADIR%%/language/wire.danish.lang
%%DATADIR%%/language/wire.english.lang
%%DATADIR%%/language/wire.finnish.lang
%%DATADIR%%/language/wire.french.lang
%%DATADIR%%/language/wire.german.lang
%%DATADIR%%/scripts/CONTENTS
%%DATADIR%%/scripts/action.fix.tcl
%%DATADIR%%/scripts/alltools.tcl
%%DATADIR%%/scripts/autobotchk
%%DATADIR%%/scripts/botchk
%%DATADIR%%/scripts/cmd_resolve.tcl
%%DATADIR%%/scripts/compat.tcl
%%DATADIR%%/scripts/dccwhois.tcl
%%DATADIR%%/scripts/getops.tcl
%%DATADIR%%/scripts/help/cmd_resolve.help
%%DATADIR%%/scripts/help/msg/userinfo.help
%%DATADIR%%/scripts/help/userinfo.help
%%DATADIR%%/scripts/klined.tcl
%%DATADIR%%/scripts/notes2.tcl
%%DATADIR%%/scripts/ques5.tcl
%%DATADIR%%/scripts/quotepass.tcl
%%DATADIR%%/scripts/quotepong.tcl
%%DATADIR%%/scripts/sentinel.tcl
%%DATADIR%%/scripts/userinfo.tcl
%%DATADIR%%/scripts/weed
%%DATADIR%%/text/banner
%%DATADIR%%/text/motd

View File

@ -13,9 +13,9 @@ COMMENT= Seen-module for the eggdrop IRC bot
LICENSE= GPLv2+
EXTRACT_DEPENDS=${NONEXISTENT}:irc/eggdrop:extract
BUILD_DEPENDS= eggdrop:irc/eggdrop
RUN_DEPENDS= eggdrop:irc/eggdrop
EXTRACT_DEPENDS=${NONEXISTENT}:irc/eggdrop16:extract
BUILD_DEPENDS= eggdrop:irc/eggdrop16
RUN_DEPENDS= eggdrop:irc/eggdrop16
USES= tcl
GNU_CONFIGURE= yes
@ -30,7 +30,7 @@ SUB_FILES= pkg-message
do-extract:
@${RM} -r ${WRKDIR}
@${MKDIR} ${WRKDIR}
@${CP} -R $$(${MAKE} -C ${PORTSDIR}/irc/eggdrop -V WRKSRC) ${WRKSRC}
@${CP} -R $$(${MAKE} -C ${PORTSDIR}/irc/eggdrop16 -V WRKSRC) ${WRKSRC}
cd ${WRKSRC}/src/mod && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${EXTRACT_ONLY} ${EXTRACT_AFTER_ARGS}
post-extract: