aboutsummaryrefslogtreecommitdiff
blob: e5c6d3f5005a04a06cdd803288eb03f4ea515d86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: This ebuild is from Lua overlay; Bumped by mva; $

EAPI="5"

inherit eutils multilib mercurial

DESCRIPTION="Add-on modules for Prosody IM Server written in Lua."
HOMEPAGE="https://prosody-modules.googlecode.com/"
EHG_REPO_URI="https://hg.prosody.im/prosody-modules"

LICENSE="MIT"
SLOT="0"
KEYWORDS=""

IUSE="misc luajit"

PROSODY_MODULES="
	addressing adhoc_account_management admin_message admin_probe
	admin_web auth_any auth_ccert auth_custom_http auth_dovecot
	auth_external auth_ha1 auth_http_async auth_imap
	auth_internal_yubikey auth_joomla auth_ldap auth_ldap2 auth_pam
	auth_phpbb3 auth_sql auth_wordpress auto_accept_subscriptions
	auto_activate_hosts bidi blocking block_registrations
	block_s2s_subscriptions block_strangers block_subscribes
	block_subscriptions broadcast c2s_conn_throttle c2s_limit_sessions
	candy captcha_registration carbons carbons_adhoc carbons_copies
	checkcerts client_certs compat_bind compat_muc_admin compat_vcard
	component_client component_roundrobin conformance_restricted
	couchdb csi csi_compat data_access default_bookmarks default_vcard
	disable_tls discoitems dwd email_pass extdisco filter_chatstates
	firewall flash_policy group_bookmarks host_blacklist host_guard
	http_altconnect http_dir_listing http_favicon http_index
	http_muc_log http_user_count idlecompat incidents_handling
	inotify_reload ipcheck isolate_host jid_prep json_streams lastlog
	latex lib_ldap limit_auth limits list_inactive listusers log_auth
	log_events log_messages_sql log_sasl_mech mam mam_adhoc
	mam_archive mam_muc mam_muc_sql mam_sql manifesto measure_memory
	message_logging motd_sequential muc_ban_ip muc_config_restrict
	muc_intercom muc_limits muc_log muc_log_http muc_restrict_rooms
	munin net_dovecotauth offline_email onhold onions openid
	password_policy pastebin pep_vcard_avatar post_msg privacy_lists
	private_adhoc profile proxy65_whitelist pubsub_eventsource
	pubsub_feeds pubsub_github pubsub_googlecode pubsub_hub
	pubsub_mqtt pubsub_pivotaltracker pubsub_post pubsub_twitter
	query_client_ver rawdebug readonly register_json register_redirect
	register_web reload_modules remote_roster require_otr
	roster_allinall roster_command s2s_auth_compat s2s_auth_dane
	s2s_auth_fingerprint s2s_auth_monkeysphere s2s_blacklist
	s2s_idle_timeout s2s_keepalive s2s_keysize_policy s2s_log_certs
	s2s_never_encrypt_blacklist s2soutinjection
	s2s_reload_newcomponent s2s_whitelist saslauth_muc saslname
	seclabels secure_interfaces server_contact_info server_status
	service_directories sift smacks sms_clickatell srvinjection
	sslv3_warn stanza_counter statistics statistics_auth
	statistics_cputotal statistics_mem statistics_statsd statsd
	storage_gdbm storage_ldap storage_memory storage_mongodb
	storage_muc_log storage_multi streamstats strict_https
	support_contact swedishchef tcpproxy telnet_tlsinfo
	throttle_presence tls_policy turncredentials twitter
	uptime_presence vjud watchuntrusted webpresence
"


for x in ${PROSODY_MODULES}; do
	IUSE="${IUSE} ${x//[^+]/}prosody_modules_${x/+}"
done


DEPEND=">=net-im/prosody-0.9"
RDEPEND="
	${DEPEND}
	prosody_modules_inotify_reload? (
		dev-lua/linotify
	)
	prosody_modules_auth_joomla? (
		dev-lua/luadbi
	)
	prosody_modules_lib_ldap? (
		dev-lua/lualdap
	)
	prosody_modules_client_certs? (
		dev-lua/luasec
	)
	prosody_modules_listusers? (
		dev-lua/luasocket
		dev-lua/luafilesystem
	)
	prosody_modules_pubsub_pivotaltracker? (
		dev-lua/luaexpat
	)
	prosody_modules_auth_phpbb3? (
		dev-lua/luadbi
	)
	prosody_modules_log_messages_sql? (
		dev-lua/luadbi
	)
	prosody_modules_message_logging? (
		dev-lua/luafilesystem
	)
	prosody_modules_onions? (
		virtual/lua[bit]
	)
	prosody_modules_couchdb? (
		dev-lua/luasocket
	)
	prosody_modules_auth_custom_http? (
		dev-lua/luasocket
	)
	prosody_modules_mam_muc_sql? (
		dev-lua/luasocket
		dev-lua/luadbi
	)
	prosody_modules_checkcerts? (
		dev-lua/luasec
	)
	prosody_modules_auth_internal_yubikey? (
		virtual/lua[bit,luajit=]
		dev-lua/yubikey-lua
	)
	prosody_modules_auth_dovecot? (
		dev-lua/luasocket
	)
	prosody_modules_storage_ldap? (
		dev-lua/luasocket
	)
	prosody_modules_statistics? (
		dev-lua/luaposix[ncurses]
	)
	prosody_modules_http_dir_listing? (
		dev-lua/luasocket
		dev-lua/luafilesystem
	)
	prosody_modules_mam_sql? (
		dev-lua/luasocket
		dev-lua/luadbi
	)
	prosody_modules_storage_mongodb? (
		dev-lua/luamongo
	)
	prosody_modules_offline_email? (
		dev-lua/luasocket
	)
	prosody_modules_auth_wordpress? (
		dev-lua/luadbi
	)
	prosody_modules_muc_log_http? (
		dev-lua/luafilesystem
		dev-lua/luaexpat
	)
	prosody_modules_component_client? (
		dev-lua/luasocket
	)
	prosody_modules_auth_external? (
		dev-lua/lpc
	)
	prosody_modules_auth_sql? (
		dev-lua/luadbi
	)
"

REQUIRED_USE="
	prosody_modules_auth_ldap? ( prosody_modules_lib_ldap )
	prosody_modules_auth_ldap2? ( prosody_modules_lib_ldap )
"

src_install() {
	cd "${S}";
	for m in ${PROSODY_MODULES}; do
		if use prosody_modules_${m}; then
			insinto /usr/lib/prosody/modules;
			doins -r "mod_${m}"
		fi
	done
	use misc && (
		insinto /usr/lib/prosody/modules
		doins -r misc
	)
}