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.
373 CXX="$(STAGING_DIR)/host/bin/g++-uc"
374 CXXFLAGS="$(TARGET_CFLAGS) -fno-builtin -fno-rtti -nostdinc++" \
375 CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
376 LDFLAGS="-nodefaultlibs -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
377 LIBS="-luClibc++ -lm -lssl $(LIBGCC_S) -lc"
384 CXX="$(STAGING_DIR)/host/bin/g++-uc"
386 define Build/Configure
387 # webadmin doesn't compile
388 $(RM
) $(PKG_BUILD_DIR
)/modules
/webadmin.
cpp
389 $(call Build
/Configure
/Default
,)
390 $(call libtool_disable_rpath
)
393 define Package
/znc
/install
394 $(INSTALL_DIR
) $(1)/usr
/bin
395 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/znc
$(1)/usr
/bin
/
396 $(INSTALL_DIR
) $(1)/etc
/init.d
397 $(INSTALL_BIN
) .
/files
/znc.init
$(1)/etc
/init.d
/znc
398 $(INSTALL_DIR
) $(1)/etc
/config
399 $(INSTALL_DATA
) .
/files
/znc.conf
$(1)/etc
/config
/znc
402 define Package
/znc-mod-admin
/install
403 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
404 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/admin.so
$(1)/usr
/lib
/znc
/
407 define Package
/znc-mod-adminlog
/install
408 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
409 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/adminlog.so
$(1)/usr
/lib
/znc
/
412 define Package
/znc-mod-autoattach
/install
413 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
414 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autoattach.so
$(1)/usr
/lib
/znc
/
417 define Package
/znc-mod-autocycle
/install
418 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
419 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autocycle.so
$(1)/usr
/lib
/znc
/
422 define Package
/znc-mod-autoop
/install
423 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
424 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autoop.so
$(1)/usr
/lib
/znc
/
427 define Package
/znc-mod-autoreply
/install
428 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
429 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/autoreply.so
$(1)/usr
/lib
/znc
/
432 define Package
/znc-mod-away
/install
433 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
434 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/away.so
$(1)/usr
/lib
/znc
/
437 define Package
/znc-mod-awaynick
/install
438 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
439 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/awaynick.so
$(1)/usr
/lib
/znc
/
442 define Package
/znc-mod-blockuser
/install
443 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
444 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/blockuser.so
$(1)/usr
/lib
/znc
/
447 define Package
/znc-mod-buffextras
/install
448 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
449 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/buffextras.so
$(1)/usr
/lib
/znc
/
452 define Package
/znc-mod-certauth
/install
453 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
454 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/certauth.so
$(1)/usr
/lib
/znc
/
457 define Package
/znc-mod-chansaver
/install
458 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
459 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/chansaver.so
$(1)/usr
/lib
/znc
/
462 define Package
/znc-mod-clientnotify
/install
463 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
464 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/clientnotify.so
$(1)/usr
/lib
/znc
/
467 define Package
/znc-mod-crypt
/install
468 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
469 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/crypt.so
$(1)/usr
/lib
/znc
/
472 define Package
/znc-mod-disconkick
/install
473 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
474 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/disconkick.so
$(1)/usr
/lib
/znc
/
477 define Package
/znc-mod-fail2ban
/install
478 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
479 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/fail2ban.so
$(1)/usr
/lib
/znc
/
482 define Package
/znc-mod-fixfreenode
/install
483 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
484 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/fixfreenode.so
$(1)/usr
/lib
/znc
/
487 define Package
/znc-mod-keepnick
/install
488 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
489 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/keepnick.so
$(1)/usr
/lib
/znc
/
492 define Package
/znc-mod-kickrejoin
/install
493 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
494 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/kickrejoin.so
$(1)/usr
/lib
/znc
/
497 define Package
/znc-mod-lastseen
/install
498 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
499 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/lastseen.so
$(1)/usr
/lib
/znc
/
502 define Package
/znc-mod-nickserv
/install
503 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
504 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/nickserv.so
$(1)/usr
/lib
/znc
/
507 define Package
/znc-mod-notes
/install
508 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
509 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/notes.so
$(1)/usr
/lib
/znc
/
512 define Package
/znc-mod-partyline
/install
513 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
514 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/partyline.so
$(1)/usr
/lib
/znc
/
517 define Package
/znc-mod-perform
/install
518 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
519 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/perform.so
$(1)/usr
/lib
/znc
/
522 define Package
/znc-mod-q
/install
523 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
524 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/q.so
$(1)/usr
/lib
/znc
/
527 define Package
/znc-mod-raw
/install
528 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
529 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/raw.so
$(1)/usr
/lib
/znc
/
532 define Package
/znc-mod-route-replies
/install
533 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
534 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/route_replies.so
$(1)/usr
/lib
/znc
/
537 define Package
/znc-mod-savebuff
/install
538 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
539 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/savebuff.so
$(1)/usr
/lib
/znc
/
542 define Package
/znc-mod-schat
/install
543 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
544 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/schat.so
$(1)/usr
/lib
/znc
/
547 define Package
/znc-mod-simple-away
/install
548 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
549 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/simple_away.so
$(1)/usr
/lib
/znc
/
552 define Package
/znc-mod-stickychan
/install
553 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
554 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/stickychan.so
$(1)/usr
/lib
/znc
/
557 define Package
/znc-mod-watch
/install
558 $(INSTALL_DIR
) $(1)/usr
/lib
/znc
/
559 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/modules
/watch.so
$(1)/usr
/lib
/znc
/
562 $(eval
$(call BuildPackage
,znc
))
563 $(eval
$(call BuildPackage
,znc-mod-admin
))
564 $(eval
$(call BuildPackage
,znc-mod-adminlog
))
565 $(eval
$(call BuildPackage
,znc-mod-autoattach
))
566 $(eval
$(call BuildPackage
,znc-mod-autocycle
))
567 $(eval
$(call BuildPackage
,znc-mod-autoop
))
568 $(eval
$(call BuildPackage
,znc-mod-autoreply
))
569 $(eval
$(call BuildPackage
,znc-mod-away
))
570 $(eval
$(call BuildPackage
,znc-mod-awaynick
))
571 $(eval
$(call BuildPackage
,znc-mod-blockuser
))
572 $(eval
$(call BuildPackage
,znc-mod-buffextras
))
573 $(eval
$(call BuildPackage
,znc-mod-certauth
))
574 $(eval
$(call BuildPackage
,znc-mod-chansaver
))
575 $(eval
$(call BuildPackage
,znc-mod-clientnotify
))
576 $(eval
$(call BuildPackage
,znc-mod-crypt
))
577 $(eval
$(call BuildPackage
,znc-mod-disconkick
))
578 $(eval
$(call BuildPackage
,znc-mod-fail2ban
))
579 $(eval
$(call BuildPackage
,znc-mod-fixfreenode
))
580 $(eval
$(call BuildPackage
,znc-mod-keepnick
))
581 $(eval
$(call BuildPackage
,znc-mod-kickrejoin
))
582 $(eval
$(call BuildPackage
,znc-mod-lastseen
))
583 $(eval
$(call BuildPackage
,znc-mod-nickserv
))
584 $(eval
$(call BuildPackage
,znc-mod-notes
))
585 $(eval
$(call BuildPackage
,znc-mod-partyline
))
586 $(eval
$(call BuildPackage
,znc-mod-perform
))
587 $(eval
$(call BuildPackage
,znc-mod-q
))
588 $(eval
$(call BuildPackage
,znc-mod-raw
))
589 $(eval
$(call BuildPackage
,znc-mod-route-replies
))
590 $(eval
$(call BuildPackage
,znc-mod-savebuff
))
591 $(eval
$(call BuildPackage
,znc-mod-schat
))
592 $(eval
$(call BuildPackage
,znc-mod-simple-away
))
593 $(eval
$(call BuildPackage
,znc-mod-stickychan
))
594 $(eval
$(call BuildPackage
,znc-mod-watch
))