2 # Copyright (C) 2009-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=@SF
/znc
16 PKG_MD5SUM
:=db101f7a7756285d824b59e3b33e3ad5
20 include $(INCLUDE_DIR
)/package.mk
22 define Package
/znc
/default
23 SUBMENU
:=Instant Messaging
27 URL
:=http
://en.znc.in
/
31 $(Package
/znc
/default
)
32 DEPENDS
:=+libopenssl
+uclibcxx
+coreutils-su
36 define Package
/znc
/description
37 ZNC is an IRC bouncer with many advanced features like detaching
,
38 multiple users
, per channel playback buffer
, SSL
, IPv6
, transparent DCC
39 bouncing
, and c
++ module support to name a few.
42 define Package
/znc
/conffiles
46 define Package
/znc-mod-admin
47 $(Package
/znc
/default
)
48 TITLE
+= (admin plugin
)
52 define Package
/znc-mod-admin
/description
53 Allows you to add
/remove
/edit users and settings on the fly via IRC messages.
56 define Package
/znc-mod-adminlog
57 $(Package
/znc
/default
)
58 TITLE
+= (adminlog plugin
)
62 define Package
/znc-mod-adminlog
/description
63 Log user connects and disconnects and failed logins to file or syslog.
66 define Package
/znc-mod-autoattach
67 $(Package
/znc
/default
)
68 TITLE
+= (autoattach plugin
)
72 define Package
/znc-mod-autoattach
/description
73 Reattaches you to channels on activity.
77 define Package
/znc-mod-autocycle
78 $(Package
/znc
/default
)
79 TITLE
+= (autocycle plugin
)
83 define Package
/znc-mod-autocycle
/description
84 Cycles a channel when you are the only one in there and you don
't have op.
87 define Package/znc-mod-autoop
88 $(Package/znc/default)
89 TITLE+= (autoop plugin)
93 define Package/znc-mod-autoop/description
94 Auto op the good guys.
97 define Package/znc-mod-autoreply
98 $(Package/znc/default)
99 TITLE+= (autoreply plugin)
103 define Package/znc-mod-autoreply/description
104 Gives a automatic reply if someone messages you if you are away.
107 define Package/znc-mod-away
108 $(Package/znc/default)
109 TITLE+= (away plugin)
113 define Package/znc-mod-away/description
114 Stores messages while away, also auto away.
117 define Package/znc-mod-awaynick
118 $(Package/znc/default)
119 TITLE+= (awaynick plugin)
123 define Package/znc-mod-awaynick/description
124 Change your nick while you are away.
127 define Package/znc-mod-blockuser
128 $(Package/znc/default)
129 TITLE+= (blockuser plugin)
133 define Package/znc-mod-blockuser/description
134 Blocks certain users from using ZNC saying their account was disabled.
137 define Package/znc-mod-buffextras
138 $(Package/znc/default)
139 TITLE+= (buffextras plugin)
143 define Package/znc-mod-buffextras/description
144 Add nick changes, joins, parts, topic changes etc. to your playback buffer.
147 define Package/znc-mod-certauth
148 $(Package/znc/default)
149 TITLE+= (certauth plugin)
153 define Package/znc-mod-certauth/description
154 This module allows users to log in via SSL client keys.
157 define Package/znc-mod-chansaver
158 $(Package/znc/default)
159 TITLE+= (chansaver plugin)
163 define Package/znc-mod-chansaver/description
164 Keeping config up to date when user joins and parts.
167 define Package/znc-mod-clientnotify
168 $(Package/znc/default)
169 TITLE+= (clientnotify plugin)
173 define Package/znc-mod-clientnotify/description
174 Notify about new incoming connections to your user.
177 define Package/znc-mod-crypt
178 $(Package/znc/default)
179 TITLE+= (crypt plugin)
183 define Package/znc-mod-crypt/description
184 Encryption for channel/private messages.
187 define Package/znc-mod-disconkick
188 $(Package/znc/default)
189 TITLE+= (disconkick plugin)
193 define Package/znc-mod-disconkick/description
194 This module will kick your client from all channels where you are, in case if ZNC disconnects from server.
197 define Package/znc-mod-fail2ban
198 $(Package/znc/default)
199 TITLE+= (fail2ban plugin)
203 define Package/znc-mod-fail2ban/description
204 Block IPs for some time after a failed login.
207 define Package/znc-mod-fixfreenode
208 $(Package/znc/default)
209 TITLE+= (fixfreenode plugin)
213 define Package/znc-mod-fixfreenode/description
214 This module blocks some freenode-specific feature which results in plus (+)
215 and minus (-) signs being displayed in front of every message from a client.
218 define Package/znc-mod-keepnick
219 $(Package/znc/default)
220 TITLE+= (keepnick plugin)
224 define Package/znc-mod-keepnick/description
225 Tries to get you your primary nick.
228 define Package/znc-mod-kickrejoin
229 $(Package/znc/default)
230 TITLE+= (kickrejoin plugin)
234 define Package/znc-mod-kickrejoin/description
235 Implements auto-rejoin-on-kick.
238 define Package/znc-mod-lastseen
239 $(Package/znc/default)
240 TITLE+= (lastseen plugin)
244 define Package/znc-mod-lastseen/description
245 Logs when a user last logged in to ZNC.
248 define Package/znc-mod-nickserv
249 $(Package/znc/default)
250 TITLE+= (nickserv plugin)
254 define Package/znc-mod-nickserv/description
255 Auths you with NickServ.
258 define Package/znc-mod-notes
259 $(Package/znc/default)
260 TITLE+= (notes plugin)
264 define Package/znc-mod-notes/description
265 This modules stores and displays short notes using a key/note pairs and shows them to you on connect.
268 define Package/znc-mod-partyline
269 $(Package/znc/default)
270 TITLE+= (partyline plugin)
274 define Package/znc-mod-partyline/description
275 Allows ZNC users to join internal channels and query other ZNC users
279 define Package/znc-mod-perform
280 $(Package/znc/default)
281 TITLE+= (perform plugin)
285 define Package/znc-mod-perform/description
286 Performs commands on connect.
289 define Package/znc-mod-q
290 $(Package/znc/default)
295 define Package/znc-mod-q/description
296 Auths you with Q (and a little more).
299 define Package/znc-mod-raw
300 $(Package/znc/default)
305 define Package/znc-mod-raw/description
306 View all of the raw traffic.
309 define Package/znc-mod-route-replies
310 $(Package/znc/default)
311 TITLE+= (route replies plugin)
315 define Package/znc-mod-route-replies/description
316 Routes back answers to the right client when connected with multiple clients.
319 define Package/znc-mod-savebuff
320 $(Package/znc/default)
321 TITLE+= (savebuff plugin)
325 define Package/znc-mod-savebuff/description
326 Saves your channel buffers into an encrypted file so they can survive
327 restarts and reboots.
330 define Package/znc-mod-schat
331 $(Package/znc/default)
332 TITLE+= (schat plugin)
336 define Package/znc-mod-schat/description
337 SSL (encrypted) DCC chats.
340 define Package/znc-mod-simple-away
341 $(Package/znc/default)
342 TITLE+= (simple away plugin)
346 define Package/znc-mod-simple-away/description
347 This module will automatically set you away on IRC while you are disconnected from the bouncer.
350 define Package/znc-mod-stickychan
351 $(Package/znc/default)
352 TITLE+= (stickychan plugin)
356 define Package/znc-mod-stickychan/description
357 Keeps you sticked to specific channels.
360 define Package/znc-mod-watch
361 $(Package/znc/default)
362 TITLE+= (watch plugin)
366 define Package/znc-mod-watch/description
367 Monitor activity for specific text patterns from specific users and have
368 the text sent to a special query window.
372 CXX="$(STAGING_DIR)/host/bin/g++-uc"
373 CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -fno-rtti -nostdinc++" \
374 CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
375 LDFLAGS="-nodefaultlibs -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
376 LIBS="-luClibc++ -lm -lssl $(LIBGCC_S) -lc"
383 CXX="$(STAGING_DIR)/host/bin/g++-uc"
385 define Build/Configure
386 # webadmin doesn't compile
387 $(RM
) $(PKG_BUILD_DIR
)/modules
/webadmin.
cpp
388 $(call Build
/Configure
/Default
,)
389 $(call libtool_disable_rpath
)
392 define Package
/znc
/install
393 $(INSTALL_DIR
) $(1)/usr
/bin
394 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/znc
$(1)/usr
/bin
/
395 $(INSTALL_DIR
) $(1)/etc
/init.d
396 $(INSTALL_BIN
) .
/files
/znc.init
$(1)/etc
/init.d
/znc
397 $(INSTALL_DIR
) $(1)/etc
/config
398 $(INSTALL_DATA
) .
/files
/znc.conf
$(1)/etc
/config
/znc
401 define Package
/znc-mod-admin
/install
402 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
403 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/admin.so
$(1)/usr
/lib
/znc
/
406 define Package
/znc-mod-adminlog
/install
407 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
408 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/adminlog.so
$(1)/usr
/lib
/znc
/
411 define Package
/znc-mod-autoattach
/install
412 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
413 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autoattach.so
$(1)/usr
/lib
/znc
/
416 define Package
/znc-mod-autocycle
/install
417 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
418 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autocycle.so
$(1)/usr
/lib
/znc
/
421 define Package
/znc-mod-autoop
/install
422 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
423 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autoop.so
$(1)/usr
/lib
/znc
/
426 define Package
/znc-mod-autoreply
/install
427 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
428 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autoreply.so
$(1)/usr
/lib
/znc
/
431 define Package
/znc-mod-away
/install
432 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
433 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/away.so
$(1)/usr
/lib
/znc
/
436 define Package
/znc-mod-awaynick
/install
437 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
438 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/awaynick.so
$(1)/usr
/lib
/znc
/
441 define Package
/znc-mod-blockuser
/install
442 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
443 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/blockuser.so
$(1)/usr
/lib
/znc
/
446 define Package
/znc-mod-buffextras
/install
447 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
448 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/buffextras.so
$(1)/usr
/lib
/znc
/
451 define Package
/znc-mod-certauth
/install
452 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
453 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/certauth.so
$(1)/usr
/lib
/znc
/
456 define Package
/znc-mod-chansaver
/install
457 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
458 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/chansaver.so
$(1)/usr
/lib
/znc
/
461 define Package
/znc-mod-clientnotify
/install
462 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
463 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/clientnotify.so
$(1)/usr
/lib
/znc
/
466 define Package
/znc-mod-crypt
/install
467 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
468 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/crypt.so
$(1)/usr
/lib
/znc
/
471 define Package
/znc-mod-disconkick
/install
472 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
473 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/disconkick.so
$(1)/usr
/lib
/znc
/
476 define Package
/znc-mod-fail2ban
/install
477 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
478 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/fail2ban.so
$(1)/usr
/lib
/znc
/
481 define Package
/znc-mod-fixfreenode
/install
482 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
483 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/fixfreenode.so
$(1)/usr
/lib
/znc
/
486 define Package
/znc-mod-keepnick
/install
487 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
488 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/keepnick.so
$(1)/usr
/lib
/znc
/
491 define Package
/znc-mod-kickrejoin
/install
492 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
493 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/kickrejoin.so
$(1)/usr
/lib
/znc
/
496 define Package
/znc-mod-lastseen
/install
497 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
498 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/lastseen.so
$(1)/usr
/lib
/znc
/
501 define Package
/znc-mod-nickserv
/install
502 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
503 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/nickserv.so
$(1)/usr
/lib
/znc
/
506 define Package
/znc-mod-notes
/install
507 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
508 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/notes.so
$(1)/usr
/lib
/znc
/
511 define Package
/znc-mod-partyline
/install
512 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
513 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/partyline.so
$(1)/usr
/lib
/znc
/
516 define Package
/znc-mod-perform
/install
517 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
518 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/perform.so
$(1)/usr
/lib
/znc
/
521 define Package
/znc-mod-q
/install
522 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
523 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/q.so
$(1)/usr
/lib
/znc
/
526 define Package
/znc-mod-raw
/install
527 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
528 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/raw.so
$(1)/usr
/lib
/znc
/
531 define Package
/znc-mod-route-replies
/install
532 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
533 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/route_replies.so
$(1)/usr
/lib
/znc
/
536 define Package
/znc-mod-savebuff
/install
537 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
538 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/savebuff.so
$(1)/usr
/lib
/znc
/
541 define Package
/znc-mod-schat
/install
542 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
543 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/schat.so
$(1)/usr
/lib
/znc
/
546 define Package
/znc-mod-simple-away
/install
547 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
548 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/simple_away.so
$(1)/usr
/lib
/znc
/
551 define Package
/znc-mod-stickychan
/install
552 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
553 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/stickychan.so
$(1)/usr
/lib
/znc
/
556 define Package
/znc-mod-watch
/install
557 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
558 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/watch.so
$(1)/usr
/lib
/znc
/
561 $(eval
$(call BuildPackage
,znc
))
562 $(eval
$(call BuildPackage
,znc-mod-admin
))
563 $(eval
$(call BuildPackage
,znc-mod-adminlog
))
564 $(eval
$(call BuildPackage
,znc-mod-autoattach
))
565 $(eval
$(call BuildPackage
,znc-mod-autocycle
))
566 $(eval
$(call BuildPackage
,znc-mod-autoop
))
567 $(eval
$(call BuildPackage
,znc-mod-autoreply
))
568 $(eval
$(call BuildPackage
,znc-mod-away
))
569 $(eval
$(call BuildPackage
,znc-mod-awaynick
))
570 $(eval
$(call BuildPackage
,znc-mod-blockuser
))
571 $(eval
$(call BuildPackage
,znc-mod-buffextras
))
572 $(eval
$(call BuildPackage
,znc-mod-certauth
))
573 $(eval
$(call BuildPackage
,znc-mod-chansaver
))
574 $(eval
$(call BuildPackage
,znc-mod-clientnotify
))
575 $(eval
$(call BuildPackage
,znc-mod-crypt
))
576 $(eval
$(call BuildPackage
,znc-mod-disconkick
))
577 $(eval
$(call BuildPackage
,znc-mod-fail2ban
))
578 $(eval
$(call BuildPackage
,znc-mod-fixfreenode
))
579 $(eval
$(call BuildPackage
,znc-mod-keepnick
))
580 $(eval
$(call BuildPackage
,znc-mod-kickrejoin
))
581 $(eval
$(call BuildPackage
,znc-mod-lastseen
))
582 $(eval
$(call BuildPackage
,znc-mod-nickserv
))
583 $(eval
$(call BuildPackage
,znc-mod-notes
))
584 $(eval
$(call BuildPackage
,znc-mod-partyline
))
585 $(eval
$(call BuildPackage
,znc-mod-perform
))
586 $(eval
$(call BuildPackage
,znc-mod-q
))
587 $(eval
$(call BuildPackage
,znc-mod-raw
))
588 $(eval
$(call BuildPackage
,znc-mod-route-replies
))
589 $(eval
$(call BuildPackage
,znc-mod-savebuff
))
590 $(eval
$(call BuildPackage
,znc-mod-schat
))
591 $(eval
$(call BuildPackage
,znc-mod-simple-away
))
592 $(eval
$(call BuildPackage
,znc-mod-stickychan
))
593 $(eval
$(call BuildPackage
,znc-mod-watch
))