57ca13faeaa9c4de5a39177b81e316bc5ec0b258
[openwrt/svn-archive/archive.git] / net / znc / Makefile
1 #
2 # Copyright (C) 2009-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=znc
11 PKG_VERSION:=0.094
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=@SF/znc
16 PKG_MD5SUM:=db101f7a7756285d824b59e3b33e3ad5
17
18 PKG_BUILD_PARALLEL:=1
19
20 include $(INCLUDE_DIR)/package.mk
21
22 define Package/znc/default
23 SUBMENU:=Instant Messaging
24 SECTION:=net
25 CATEGORY:=Network
26 TITLE:=ZNC
27 URL:=http://en.znc.in/
28 endef
29
30 define Package/znc
31 $(Package/znc/default)
32 DEPENDS:=+libopenssl +uclibcxx +coreutils-su
33 MENU:=1
34 endef
35
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.
40 endef
41
42 define Package/znc/conffiles
43 /etc/config/znc
44 endef
45
46 define Package/znc-mod-admin
47 $(Package/znc/default)
48 TITLE+= (admin plugin)
49 DEPENDS:=znc
50 endef
51
52 define Package/znc-mod-admin/description
53 Allows you to add/remove/edit users and settings on the fly via IRC messages.
54 endef
55
56 define Package/znc-mod-adminlog
57 $(Package/znc/default)
58 TITLE+= (adminlog plugin)
59 DEPENDS:=znc
60 endef
61
62 define Package/znc-mod-adminlog/description
63 Log user connects and disconnects and failed logins to file or syslog.
64 endef
65
66 define Package/znc-mod-autoattach
67 $(Package/znc/default)
68 TITLE+= (autoattach plugin)
69 DEPENDS:=znc
70 endef
71
72 define Package/znc-mod-autoattach/description
73 Reattaches you to channels on activity.
74 endef
75
76
77 define Package/znc-mod-autocycle
78 $(Package/znc/default)
79 TITLE+= (autocycle plugin)
80 DEPENDS:=znc
81 endef
82
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.
85 endef
86
87 define Package/znc-mod-autoop
88 $(Package/znc/default)
89 TITLE+= (autoop plugin)
90 DEPENDS:=znc
91 endef
92
93 define Package/znc-mod-autoop/description
94 Auto op the good guys.
95 endef
96
97 define Package/znc-mod-autoreply
98 $(Package/znc/default)
99 TITLE+= (autoreply plugin)
100 DEPENDS:=znc
101 endef
102
103 define Package/znc-mod-autoreply/description
104 Gives a automatic reply if someone messages you if you are away.
105 endef
106
107 define Package/znc-mod-away
108 $(Package/znc/default)
109 TITLE+= (away plugin)
110 DEPENDS:=znc
111 endef
112
113 define Package/znc-mod-away/description
114 Stores messages while away, also auto away.
115 endef
116
117 define Package/znc-mod-awaynick
118 $(Package/znc/default)
119 TITLE+= (awaynick plugin)
120 DEPENDS:=znc
121 endef
122
123 define Package/znc-mod-awaynick/description
124 Change your nick while you are away.
125 endef
126
127 define Package/znc-mod-blockuser
128 $(Package/znc/default)
129 TITLE+= (blockuser plugin)
130 DEPENDS:=znc
131 endef
132
133 define Package/znc-mod-blockuser/description
134 Blocks certain users from using ZNC saying their account was disabled.
135 endef
136
137 define Package/znc-mod-buffextras
138 $(Package/znc/default)
139 TITLE+= (buffextras plugin)
140 DEPENDS:=znc
141 endef
142
143 define Package/znc-mod-buffextras/description
144 Add nick changes, joins, parts, topic changes etc. to your playback buffer.
145 endef
146
147 define Package/znc-mod-certauth
148 $(Package/znc/default)
149 TITLE+= (certauth plugin)
150 DEPENDS:=znc
151 endef
152
153 define Package/znc-mod-certauth/description
154 This module allows users to log in via SSL client keys.
155 endef
156
157 define Package/znc-mod-chansaver
158 $(Package/znc/default)
159 TITLE+= (chansaver plugin)
160 DEPENDS:=znc
161 endef
162
163 define Package/znc-mod-chansaver/description
164 Keeping config up to date when user joins and parts.
165 endef
166
167 define Package/znc-mod-clientnotify
168 $(Package/znc/default)
169 TITLE+= (clientnotify plugin)
170 DEPENDS:=znc
171 endef
172
173 define Package/znc-mod-clientnotify/description
174 Notify about new incoming connections to your user.
175 endef
176
177 define Package/znc-mod-crypt
178 $(Package/znc/default)
179 TITLE+= (crypt plugin)
180 DEPENDS:=znc
181 endef
182
183 define Package/znc-mod-crypt/description
184 Encryption for channel/private messages.
185 endef
186
187 define Package/znc-mod-disconkick
188 $(Package/znc/default)
189 TITLE+= (disconkick plugin)
190 DEPENDS:=znc
191 endef
192
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.
195 endef
196
197 define Package/znc-mod-fail2ban
198 $(Package/znc/default)
199 TITLE+= (fail2ban plugin)
200 DEPENDS:=znc
201 endef
202
203 define Package/znc-mod-fail2ban/description
204 Block IPs for some time after a failed login.
205 endef
206
207 define Package/znc-mod-fixfreenode
208 $(Package/znc/default)
209 TITLE+= (fixfreenode plugin)
210 DEPENDS:=znc
211 endef
212
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.
216 endef
217
218 define Package/znc-mod-keepnick
219 $(Package/znc/default)
220 TITLE+= (keepnick plugin)
221 DEPENDS:=znc
222 endef
223
224 define Package/znc-mod-keepnick/description
225 Tries to get you your primary nick.
226 endef
227
228 define Package/znc-mod-kickrejoin
229 $(Package/znc/default)
230 TITLE+= (kickrejoin plugin)
231 DEPENDS:=znc
232 endef
233
234 define Package/znc-mod-kickrejoin/description
235 Implements auto-rejoin-on-kick.
236 endef
237
238 define Package/znc-mod-lastseen
239 $(Package/znc/default)
240 TITLE+= (lastseen plugin)
241 DEPENDS:=znc
242 endef
243
244 define Package/znc-mod-lastseen/description
245 Logs when a user last logged in to ZNC.
246 endef
247
248 define Package/znc-mod-nickserv
249 $(Package/znc/default)
250 TITLE+= (nickserv plugin)
251 DEPENDS:=znc
252 endef
253
254 define Package/znc-mod-nickserv/description
255 Auths you with NickServ.
256 endef
257
258 define Package/znc-mod-notes
259 $(Package/znc/default)
260 TITLE+= (notes plugin)
261 DEPENDS:=znc
262 endef
263
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.
266 endef
267
268 define Package/znc-mod-partyline
269 $(Package/znc/default)
270 TITLE+= (partyline plugin)
271 DEPENDS:=znc
272 endef
273
274 define Package/znc-mod-partyline/description
275 Allows ZNC users to join internal channels and query other ZNC users
276 on the same ZNC.
277 endef
278
279 define Package/znc-mod-perform
280 $(Package/znc/default)
281 TITLE+= (perform plugin)
282 DEPENDS:=znc
283 endef
284
285 define Package/znc-mod-perform/description
286 Performs commands on connect.
287 endef
288
289 define Package/znc-mod-q
290 $(Package/znc/default)
291 TITLE+= (q plugin)
292 DEPENDS:=znc
293 endef
294
295 define Package/znc-mod-q/description
296 Auths you with Q (and a little more).
297 endef
298
299 define Package/znc-mod-raw
300 $(Package/znc/default)
301 TITLE+= (raw plugin)
302 DEPENDS:=znc
303 endef
304
305 define Package/znc-mod-raw/description
306 View all of the raw traffic.
307 endef
308
309 define Package/znc-mod-route-replies
310 $(Package/znc/default)
311 TITLE+= (route replies plugin)
312 DEPENDS:=znc
313 endef
314
315 define Package/znc-mod-route-replies/description
316 Routes back answers to the right client when connected with multiple clients.
317 endef
318
319 define Package/znc-mod-savebuff
320 $(Package/znc/default)
321 TITLE+= (savebuff plugin)
322 DEPENDS:=znc
323 endef
324
325 define Package/znc-mod-savebuff/description
326 Saves your channel buffers into an encrypted file so they can survive
327 restarts and reboots.
328 endef
329
330 define Package/znc-mod-schat
331 $(Package/znc/default)
332 TITLE+= (schat plugin)
333 DEPENDS:=znc
334 endef
335
336 define Package/znc-mod-schat/description
337 SSL (encrypted) DCC chats.
338 endef
339
340 define Package/znc-mod-simple-away
341 $(Package/znc/default)
342 TITLE+= (simple away plugin)
343 DEPENDS:=znc
344 endef
345
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.
348 endef
349
350 define Package/znc-mod-stickychan
351 $(Package/znc/default)
352 TITLE+= (stickychan plugin)
353 DEPENDS:=znc
354 endef
355
356 define Package/znc-mod-stickychan/description
357 Keeps you sticked to specific channels.
358 endef
359
360 define Package/znc-mod-watch
361 $(Package/znc/default)
362 TITLE+= (watch plugin)
363 DEPENDS:=znc
364 endef
365
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.
369 endef
370
371
372 CONFIGURE_VARS += \
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"
378
379 CONFIGURE_ARGS += \
380 --disable-c-ares \
381 --disable-perl
382
383 MAKE_FLAGS += \
384 CXX="$(STAGING_DIR)/host/bin/g++-uc"
385
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)
391 endef
392
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
400 endef
401
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/
405 endef
406
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/
410 endef
411
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/
415 endef
416
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/
420 endef
421
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/
425 endef
426
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/
430 endef
431
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/
435 endef
436
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/
440 endef
441
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/
445 endef
446
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/
450 endef
451
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/
455 endef
456
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/
460 endef
461
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/
465 endef
466
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/
470 endef
471
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/
475 endef
476
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/
480 endef
481
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/
485 endef
486
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/
490 endef
491
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/
495 endef
496
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/
500 endef
501
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/
505 endef
506
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/
510 endef
511
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/
515 endef
516
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/
520 endef
521
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/
525 endef
526
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/
530 endef
531
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/
535 endef
536
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/
540 endef
541
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/
545 endef
546
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/
550 endef
551
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/
555 endef
556
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/
560 endef
561
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))