Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jan 2003 15:35:22 +0100 (CET)
From:      Ulrich Spoerlein <q@uni.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/47296: [New Port] irc/eggdrop
Message-ID:  <200301211435.h0LEZM8M021820@coyote.dnsalias.net>

next in thread | raw e-mail | index | archive | help

>Number:         47296
>Category:       ports
>Synopsis:       [New Port] irc/eggdrop
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 21 06:40:11 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Ulrich Spoerlein
>Release:        FreeBSD 4.7-STABLE i386
>Organization:
>Environment:
System: FreeBSD 4.7-STABLE: Mon Nov 18 09:46:38 CET 2002 i386

>Description:
Port of the Eggdrop IRC Bot. This port has tons of features and I had
to use it on one site, so I made a port for convenience.

Note: All the patches are taken from the NetBSD pkgsrc tree. Thanks to
them, eggdrop respects hier(7).

If I made a mistake with respect to placing files in the hierarchy, just
let me know, so I can fix this.

>How-To-Repeat:

>Fix:


--- eggdrop.port begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	.
#	./Makefile
#	./files
#	./files/patch-aa
#	./files/patch-ab
#	./files/patch-ac
#	./files/patch-ad
#	./files/patch-ae
#	./files/patch-ah
#	./files/patch-ai
#	./files/patch-aj
#	./files/patch-ak
#	./distinfo
#	./pkg-comment
#	./pkg-descr
#	./pkg-plist
#	./pkg-message
#
echo c - .
mkdir -p . > /dev/null 2>&1
echo x - ./Makefile
sed 's/^X//' >./Makefile << 'END-of-./Makefile'
X# New ports collection makefile for:	eggdrop
X# Date created:				18.01.2003
X# Whom:					Ulrich Spoerlein <q@uni.de>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	eggdrop
XPORTVERSION=	1.6.13
XCATEGORIES=	irc
XMASTER_SITES=	ftp://ftp.eggheads.org/pub/eggdrop/source/1.6/
XDISTNAME=	${PORTNAME:S/-//}${PORTVERSION}
X
XMAINTAINER=	q@uni.de
X
XGNU_CONFIGURE=	yes
XUSE_REINPLACE=	yes
XINSTALLS_SHLIB=	yes
X
XMAN1=		eggdrop.1
X
X.if defined(WITH_TCL)
XBUILD_DEPENDS+=	${LOCALBASE}/include/tcl8.3/tcl.h:${PORTSDIR}/lang/tcl83
XCONFIGURE_ARGS+=	--with-tcllib=${LOCALBASE}/lib/libtcl83.so \
X			--with-tclinc=${LOCALBASE}/include/tcl8.3/tcl.h
X.endif
X
Xpost-patch:
X	@(cd ${WRKSRC} && ${REINPLACE_CMD} \
X		-e 's,modules/,${PREFIX}/lib/eggdrop/,' \
X		-e 's,#! /path/to/executable/,#!${PREFIX}/bin/,' eggdrop.conf)
X
Xpost-configure:
X	@(cd ${BUILD_WRKSRC}; ${MAKE} config)
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/eggdrop ${PREFIX}/bin/
X	${INSTALL_MAN} ${WRKSRC}/doc/man1/eggdrop.1 ${PREFIX}/man/man1/
X	${INSTALL_DATA} ${WRKSRC}/eggdrop.conf ${PREFIX}/etc/eggdrop.conf.sample
X	${MKDIR} ${PREFIX}/lib/eggdrop
X	${MKDIR} ${PREFIX}/share/eggdrop ${PREFIX}/share/eggdrop/scripts \
X		${PREFIX}/share/eggdrop/language ${PREFIX}/share/eggdrop/help \
X		${PREFIX}/share/eggdrop/help/msg ${PREFIX}/share/eggdrop/help/set
X	${INSTALL_DATA} ${WRKSRC}/language/core.*.lang \
X		${PREFIX}/share/eggdrop/language/
X	@cd ${WRKSRC} && ${INSTALL_DATA} assoc.so blowfish.so channels.so \
X	compress.so console.so ctcp.so dns.so filesys.so irc.so notes.so seen.so \
X	server.so share.so transfer.so uptime.so wire.so ${PREFIX}/lib/eggdrop/
X	@cd ${WRKSRC}/src/mod && ${FIND} . -name "*.lang" -exec ${INSTALL_DATA} "{}" \
X		${PREFIX}/share/eggdrop/language/ ";"
X	@cd ${WRKSRC}/scripts && ${INSTALL_DATA} CONTENTS action.fix.tcl \
X		autobotchk alltools.tcl botchk cmd_resolve.tcl compat.tcl getops.tcl \
X		klined.tcl notes2.tcl ques5.tcl sentinel.tcl userinfo.tcl weed \
X		${PREFIX}/share/eggdrop/scripts/
X	@cd ${WRKSRC}/help && ${INSTALL_DATA} cmds1.help cmds2.help core.help \
X		${PREFIX}/share/eggdrop/help/
X	@cd ${WRKSRC}/help/set && ${INSTALL_DATA} cmds1.help cmds2.help \
X		${PREFIX}/share/eggdrop/help/set/
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${PREFIX}/share/eggdrop ${PREFIX}/share/eggdrop/html
X	@cd ${WRKSRC}/doc && ${INSTALL_DATA} BOTNET tcl-commands.doc tricks \
X		${PREFIX}/share/eggdrop/
X	@cd ${WRKSRC}/doc/html && ${INSTALL_DATA} *.html ${PREFIX}/share/eggdrop/html
X.endif
X
Xpost-install:
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-./Makefile
echo c - ./files
mkdir -p ./files > /dev/null 2>&1
echo x - ./files/patch-aa
sed 's/^X//' >./files/patch-aa << 'END-of-./files/patch-aa'
X--- configure.orig	Sat Mar 30 04:48:49 2002
X+++ configure
X@@ -2808,7 +2808,13 @@
X   *BSD)
X     # FreeBSD/OpenBSD/NetBSD
X     SHLIB_CC="$CC -fPIC"
X-    SHLIB_LD="ld -Bshareable -x"
X+    if [ `echo __ELF__ | $CC -E - | grep -v '#'` = 1 ]; then
X+	SHLIB_LD="ld -shared -x"
X+	BEL_MOD_LD="$CC -Wl,-E $LDFLAGS"
X+    else
X+	SHLIB_LD="ld -Bshareable -x"
X+	BEL_MOD_LD="$CC $LDFLAGS"
X+    fi
X     cat >>confdefs.h <<\_ACEOF
X #define MODULES_OK 1
X _ACEOF
END-of-./files/patch-aa
echo x - ./files/patch-ab
sed 's/^X//' >./files/patch-ab << 'END-of-./files/patch-ab'
X--- src/main.c.orig	Sun Jul 15 09:15:14 2001
X+++ src/main.c	Thu Nov  1 12:55:48 2001
X@@ -61,7 +61,7 @@
X #define _POSIX_SOURCE 1
X #endif
X 
X-extern char		 origbotname[], userfile[], botnetnick[];
X+extern char		 origbotname[], userfile[], botnetnick[], tempdir[];
X extern int		 dcc_total, conmask, cache_hit, cache_miss,
X 			 max_logs, quick_logs;
X extern struct dcc_t	*dcc;
X@@ -94,7 +94,7 @@
X 				   stats? */
X int	term_z = 0;		/* Foreground: use the terminal as a party
X 				   line? */
X-char	configfile[121] = "eggdrop.conf"; /* Name of the config file */
X+char	configfile[121] = __PREFIX__ "/etc/eggdrop.conf";
X char	helpdir[121];		/* Directory of help files (if used) */
X char	textdir[121] = "";	/* Directory for text files that get dumped */
X int	keep_all_logs = 0;	/* Never erase logfiles, no matter how old
X@@ -709,6 +709,8 @@
X     setrlimit(RLIMIT_CORE, &cdlim);
X   }
X #endif
X+
X+  chdir(__PREFIX__ "/share/eggdrop");
X 
X   /* Initialise context list */
X   for (i = 0; i < 16; i++)
X@@ -809,7 +809,8 @@
X   cache_miss = 0;
X   cache_hit = 0;
X   if (!pid_file[0])
X-  egg_snprintf(pid_file, sizeof pid_file, "pid.%s", botnetnick);
X+  egg_snprintf(pid_file, sizeof pid_file, "%.100s/pid.%.32s", 
X+		tempdir, botnetnick);
X 
X   /* Check for pre-existing eggdrop! */
X   f = fopen(pid_file, "r");
END-of-./files/patch-ab
echo x - ./files/patch-ac
sed 's/^X//' >./files/patch-ac << 'END-of-./files/patch-ac'
X--- src/Makefile.in.orig	Thu Nov 23 06:56:40 2000
X+++ src/Makefile.in	Thu Nov  1 12:57:48 2001
X@@ -16,7 +16,7 @@
X LD = @CC@
X STRIP = @STRIP@
X CFLAGS = @CFLAGS@ -I.. -I$(top_srcdir) @DEFS@ $(CFLGS)
X-CPPFLAGS = @CPPFLAGS@
X+CPPFLAGS = @CPPFLAGS@ '-D__PREFIX__="@prefix@"'
X 
X eggdrop_objs = bg.o botcmd.o botmsg.o botnet.o chanprog.o cmds.o dcc.o \
X dccutil.o dns.o flags.o language.o main.o mem.o misc.o misc_file.o \
X@@ -37,7 +37,7 @@
X 	@echo "Linking eggdrop... $(EGGBUILD)"
X 	@echo ""
X 	@touch mod/mod.xlibs
X-	$(LD) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLIBS) md5/md5c.o compat/*.o `cat mod/mod.xlibs`
X+	$(LD) -o ../$(EGGEXEC) $(eggdrop_objs) $(MODOBJS) $(XLDFLAGS) $(XLIBS) md5/md5c.o compat/*.o `cat mod/mod.xlibs`
X 	$(STRIP) ../$(EGGEXEC)
X 	@echo "Successful compile: $(EGGEXEC)"
X 	@echo ""
END-of-./files/patch-ac
echo x - ./files/patch-ad
sed 's/^X//' >./files/patch-ad << 'END-of-./files/patch-ad'
X--- src/mod/filesys.mod/filesys.c.orig	Wed Dec  9 20:05:21 1998
X+++ src/mod/filesys.mod/filesys.c	Wed Dec  9 20:09:13 1998
X@@ -458,7 +458,7 @@
X   if (at_limit(nick)) {
X     char xxx[1024];
X 
X-    sprintf(xxx, "%d*%s%s", strlen(dccdir), dccdir, dir);
X+    sprintf(xxx, "%lu*%s%s", strlen(dccdir), dccdir, dir);
X     queue_file(xxx, fn, dcc[idx].nick, nick);
X     dprintf(idx, "Queued: %s to %s\n", fn, nick);
X     my_free(s);
END-of-./files/patch-ad
echo x - ./files/patch-ae
sed 's/^X//' >./files/patch-ae << 'END-of-./files/patch-ae'
X--- src/mod/ctcp.mod/ctcp.c.orig	Wed Dec  9 23:18:06 1998
X+++ src/mod/ctcp.mod/ctcp.c	Wed Dec  9 23:18:55 1998
X@@ -155,9 +155,9 @@
X         /* Do me a favour and don't change this back to a CTCP reply,
X          * CTCP replies are NOTICE's this has to be a PRIVMSG
X          * -poptix 5/1/1997 */
X-	dprintf(DP_SERVER, "PRIVMSG %s :\001DCC CHAT chat %lu %u\001\n",
X+	dprintf(DP_SERVER, "PRIVMSG %s :\001DCC CHAT chat %u %u\001\n",
X 		nick,
X-		iptolong(natip[0] ? (IP) inet_addr(natip) : getmyip()),
X+		(unsigned)iptolong(natip[0] ? (IP) inet_addr(natip) : getmyip()),
X 		dcc[i].port);
X         return 1;
X       }
END-of-./files/patch-ae
echo x - ./files/patch-ah
sed 's/^X//' >./files/patch-ah << 'END-of-./files/patch-ah'
X--- src/modules.c.orig	Mon Jul 16 18:54:01 2001
X+++ src/modules.c	Fri Nov  2 11:49:45 2001
X@@ -94,7 +94,7 @@
X #ifndef STATIC
X 
X /* Directory to look for modules */
X-char moddir[121] = "modules/";
X+char moddir[121] = __PREFIX__ "/lib/eggdrop/";
X 
X #else
X 
END-of-./files/patch-ah
echo x - ./files/patch-ai
sed 's/^X//' >./files/patch-ai << 'END-of-./files/patch-ai'
X--- src/mod/share.mod/share.c.orig	Tue Jul 17 23:53:42 2001
X+++ src/mod/share.mod/share.c	Fri Nov  2 18:37:15 2001
X@@ -1121,7 +1123,8 @@
X   int i, sock;
X   FILE *f;
X 
X-  egg_snprintf(s, sizeof s, ".share.%s.%lu.users", botnetnick, now);
X+  egg_snprintf(s, sizeof s, "%.100s/.share.%.32s.%lu.users", 
X+		tempdir, botnetnick, now);
X   if (!(b_status(idx) & STAT_SHARE)) {
X     dprintf(idx, "s e You didn't ask; you just started sending.\n");
X     dprintf(idx, "s e Ask before sending the userfile.\n");
X@@ -1890,8 +1893,8 @@
X   struct chanuserrec *ch;
X   struct chanset_t *cst;
X 
X-  egg_snprintf(share_file, sizeof share_file, ".share.%s.%lu", dcc[idx].nick,
X-	       now);
X+  egg_snprintf(share_file, sizeof share_file, "%.100s/.share.%.32s.%lu", 
X+		tempdir, dcc[idx].nick, now);
X   if (dcc[idx].u.bot->uff_flags & UFF_OVERRIDE) {
X     debug1("NOTE: Sharing aggressively with %s, overriding its local bots.",
X 	   dcc[idx].nick);
END-of-./files/patch-ai
echo x - ./files/patch-aj
sed 's/^X//' >./files/patch-aj << 'END-of-./files/patch-aj'
X--- src/mod/Makefile.in.orig	Sat Feb  2 18:14:30 2002
X+++ src/mod/Makefile.in	Sat Feb  2 21:03:57 2002
X@@ -86,7 +86,7 @@
X 			echo "Configuring module $${modname} ..."; \
X 			echo ""; \
X 			if test ! -d $$i; then mkdir $$i; fi; \
X-			(cd $$i && $(MOD_UPDIR)$(srcdir)/$$i/configure $(egg_ac_parameters) --cache-file=../../../config.cache --srcdir=$(MOD_UPDIR)$(top_srcdir)/src/mod/$$i); \
X+			(cd $$i && $(MOD_UPDIR)$(srcdir)/$$i/configure "$(egg_ac_parameters)" --cache-file=../../../config.cache --srcdir=$(MOD_UPDIR)$(top_srcdir)/src/mod/$$i); \
X 		fi; \
X 	done; \
X 	echo ""
END-of-./files/patch-aj
echo x - ./files/patch-ak
sed 's/^X//' >./files/patch-ak << 'END-of-./files/patch-ak'
X--- src/eggdrop.h.orig	Fri Mar 29 22:40:24 2002
X+++ src/eggdrop.h	Sun Aug 18 22:51:25 2002
X@@ -68,7 +68,7 @@
X 
X /* Language stuff */
X 
X-#define LANGDIR	"./language"	/* language file directory		*/
X+#define LANGDIR	__PREFIX__ "/share/eggdrop/language"	/* language file directory		*/
X #define BASELANG "english"	/* language which always gets loaded
X 				   before all other languages. You do
X 				   not want to change this.		*/
END-of-./files/patch-ak
echo x - ./distinfo
sed 's/^X//' >./distinfo << 'END-of-./distinfo'
XMD5 (eggdrop1.6.13.tar.gz) = 7889fffec7d9105ad5ce875dd7e58ca8
END-of-./distinfo
echo x - ./pkg-comment
sed 's/^X//' >./pkg-comment << 'END-of-./pkg-comment'
XEggdrop, the world's most popular open source Internet Relay Chat bot
END-of-./pkg-comment
echo x - ./pkg-descr
sed 's/^X//' >./pkg-descr << 'END-of-./pkg-descr'
XEggdrop is the world's most popular open source Internet Relay Chat (IRC) bot.
XOriginally created by Robey Pointer in December 1993, it has spawned an almost
Xcult like following of users. It is a feature rich program designed to be
Xeasily used and expanded upon (using Tcl scripting) by both novice and
Xadvanced IRC users on a variety of hardware and software platforms.
X
XWWW: http://www.eggheads.org/
END-of-./pkg-descr
echo x - ./pkg-plist
sed 's/^X//' >./pkg-plist << 'END-of-./pkg-plist'
Xbin/eggdrop
Xetc/eggdrop.conf.sample
Xlib/eggdrop/assoc.so
Xlib/eggdrop/blowfish.so
Xlib/eggdrop/channels.so
Xlib/eggdrop/compress.so
Xlib/eggdrop/console.so
Xlib/eggdrop/ctcp.so
Xlib/eggdrop/dns.so
Xlib/eggdrop/filesys.so
Xlib/eggdrop/irc.so
Xlib/eggdrop/notes.so
Xlib/eggdrop/seen.so
Xlib/eggdrop/server.so
Xlib/eggdrop/share.so
Xlib/eggdrop/transfer.so
Xlib/eggdrop/uptime.so
Xlib/eggdrop/wire.so
Xshare/eggdrop/help/cmds1.help
Xshare/eggdrop/help/cmds2.help
Xshare/eggdrop/help/core.help
Xshare/eggdrop/help/set/cmds1.help
Xshare/eggdrop/help/set/cmds2.help
X%%PORTDOCS%%share/eggdrop/BOTNET
X%%PORTDOCS%%share/eggdrop/tcl-commands.doc
X%%PORTDOCS%%share/eggdrop/tricks
X%%PORTDOCS%%share/eggdrop/html/about.html
X%%PORTDOCS%%share/eggdrop/html/app-problems.html
X%%PORTDOCS%%share/eggdrop/html/app-textsub.html
X%%PORTDOCS%%share/eggdrop/html/app-tricks.html
X%%PORTDOCS%%share/eggdrop/html/app-weird.html
X%%PORTDOCS%%share/eggdrop/html/authors.html
X%%PORTDOCS%%share/eggdrop/html/bans.html
X%%PORTDOCS%%share/eggdrop/html/botnet.html
X%%PORTDOCS%%share/eggdrop/html/compiling.html
X%%PORTDOCS%%share/eggdrop/html/egg-core.html
X%%PORTDOCS%%share/eggdrop/html/faqs.html
X%%PORTDOCS%%share/eggdrop/html/features.html
X%%PORTDOCS%%share/eggdrop/html/index.html
X%%PORTDOCS%%share/eggdrop/html/install.html
X%%PORTDOCS%%share/eggdrop/html/mod-assoc.html
X%%PORTDOCS%%share/eggdrop/html/mod-blowfish.html
X%%PORTDOCS%%share/eggdrop/html/mod-channels.html
X%%PORTDOCS%%share/eggdrop/html/mod-compress.html
X%%PORTDOCS%%share/eggdrop/html/mod-console.html
X%%PORTDOCS%%share/eggdrop/html/mod-ctcp.html
X%%PORTDOCS%%share/eggdrop/html/mod-dns.html
X%%PORTDOCS%%share/eggdrop/html/mod-filesys.html
X%%PORTDOCS%%share/eggdrop/html/mod-irc.html
X%%PORTDOCS%%share/eggdrop/html/mod-notes.html
X%%PORTDOCS%%share/eggdrop/html/mod-seen.html
X%%PORTDOCS%%share/eggdrop/html/mod-server.html
X%%PORTDOCS%%share/eggdrop/html/mod-share.html
X%%PORTDOCS%%share/eggdrop/html/mod-uptime.html
X%%PORTDOCS%%share/eggdrop/html/mod-wire.html
X%%PORTDOCS%%share/eggdrop/html/mod-woobie.html
X%%PORTDOCS%%share/eggdrop/html/news.html
X%%PORTDOCS%%share/eggdrop/html/party.html
X%%PORTDOCS%%share/eggdrop/html/patch-howto.html
X%%PORTDOCS%%share/eggdrop/html/readme.html
X%%PORTDOCS%%share/eggdrop/html/starting.html
X%%PORTDOCS%%share/eggdrop/html/tcl-commands.html
X%%PORTDOCS%%share/eggdrop/html/users.html
Xshare/eggdrop/language/core.english.lang
Xshare/eggdrop/language/core.french.lang
Xshare/eggdrop/language/core.german.lang
Xshare/eggdrop/language/assoc.english.lang
Xshare/eggdrop/language/assoc.french.lang
Xshare/eggdrop/language/assoc.german.lang
Xshare/eggdrop/language/console.english.lang
Xshare/eggdrop/language/console.french.lang
Xshare/eggdrop/language/console.german.lang
Xshare/eggdrop/language/filesys.english.lang
Xshare/eggdrop/language/filesys.french.lang
Xshare/eggdrop/language/filesys.german.lang
Xshare/eggdrop/language/notes.english.lang
Xshare/eggdrop/language/notes.french.lang
Xshare/eggdrop/language/notes.german.lang
Xshare/eggdrop/language/transfer.english.lang
Xshare/eggdrop/language/transfer.french.lang
Xshare/eggdrop/language/wire.english.lang
Xshare/eggdrop/language/wire.french.lang
Xshare/eggdrop/language/wire.german.lang
Xshare/eggdrop/scripts/CONTENTS
Xshare/eggdrop/scripts/action.fix.tcl
Xshare/eggdrop/scripts/alltools.tcl
Xshare/eggdrop/scripts/autobotchk
Xshare/eggdrop/scripts/botchk
Xshare/eggdrop/scripts/cmd_resolve.tcl
Xshare/eggdrop/scripts/compat.tcl
Xshare/eggdrop/scripts/getops.tcl
Xshare/eggdrop/scripts/klined.tcl
Xshare/eggdrop/scripts/notes2.tcl
Xshare/eggdrop/scripts/ques5.tcl
Xshare/eggdrop/scripts/sentinel.tcl
Xshare/eggdrop/scripts/userinfo.tcl
Xshare/eggdrop/scripts/weed
X@dirrm lib/eggdrop
X%%PORTDOCS%%@dirrm share/eggdrop/html
X@dirrm share/eggdrop/help/set
X@dirrm share/eggdrop/help/msg
X@dirrm share/eggdrop/help
X@dirrm share/eggdrop/language
X@dirrm share/eggdrop/scripts
X@dirrm share/eggdrop
END-of-./pkg-plist
echo x - ./pkg-message
sed 's/^X//' >./pkg-message << 'END-of-./pkg-message'
XThis Port of Eggdrop differs from a normal eggdrop installation, because
Xit does respect hier(7). That means your eggdrop.conf goes to
X${PREFIX}/etc/eggdrop.conf and .chan, .notes, .user files go to
X${PREFIX}/share/eggdrop. Modules will go to ${PREFIX}/lib/eggdrop and
Xdocumentation can be found in ${PREFIX}/share/eggdrop/html, scripts go
Xto ${PREFIX}/share/eggdrop/scripts.
END-of-./pkg-message
exit
--- eggdrop.port ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301211435.h0LEZM8M021820>