net-libs/spectrum/spectrum-1.4.7.ebuild
author Da Risk <da_risk@geekorum.com>
Mon, 30 Mar 2015 09:39:30 +0200
changeset 151 1abc0aae9e43
parent 27 94b7b38eab86
permissions -rw-r--r--
dev-python/pyjwt: Remove old version as it is now in gentoo Remove keywords for live 9999 version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     1
# Copyright 1999-2010 Gentoo Foundation
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     2
# Distributed under the terms of the GNU General Public License v2
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     3
# $Header: $
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     4
EAPI=2
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     5
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     6
inherit cmake-utils
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     7
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     8
DESCRIPTION="Spectrum is an XMPP transport/gateway"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
     9
HOMEPAGE="http://spectrum.im"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    10
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    11
SRC_URI="http://spectrum.im/attachments/download/37/spectrum-${PV}.tar.gz"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    12
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    13
LICENSE="GPL-2"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    14
SLOT="0"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    15
KEYWORDS="~amd64 ~x86"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    16
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    17
IUSE="mysql sqlite symlinks tools staticport"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    18
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    19
RDEPEND=">=dev-libs/poco-1.3.3[mysql?,sqlite?]
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    20
	media-gfx/imagemagick[cxx]
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    21
        >=net-im/pidgin-2.6.0
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    22
        >=net-libs/gloox-1.0
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    23
        dev-python/xmpppy"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    24
DEPEND="${RDEPEND}
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    25
        sys-devel/gettext
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    26
        dev-util/cmake"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    27
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    28
PROTOCOL_LIST="aim facebook gg icq irc msn msn_pecan myspace qq simple sipe twitter xmpp yahoo"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    29
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    30
pkg_setup() {
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    31
	if ! ( use sqlite || use mysql ); then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    32
		ewarn "No database use flag set!"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    33
		ewarn "You need to enable the mysql or sqlite use flag!"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    34
		die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    35
	fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    36
}
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    37
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    38
src_install () {
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    39
	cmake-utils_src_install
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    40
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    41
	# Install transports with seperate config files (default).
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    42
	# If USE="symlinks" is set, install one config file with symlinks to all transports.
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    43
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    44
	port=5347
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    45
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    46
	# prepare config for mysql or just copy
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    47
	cp "${FILESDIR}/spectrum.cfg" "${WORKDIR}/spectrum.cfg"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    48
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    49
	if use mysql ; then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    50
	sed -e 's,^\(type\)=sqlite$,\1=mysql,' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    51
		-e 's,^#\(host=localhost\)$,\1,' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    52
		-e 's,^#\(user=user\)$,\1,' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    53
		-e 's,^#\(password=password\)$,\1,' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    54
		-e 's,^\(database=.*\),#\1,' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    55
		-e 's,^#\(prefix=.*\),\1,' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    56
		-i "${WORKDIR}/spectrum.cfg" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    57
	fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    58
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    59
	# install shared-config when using symlinks
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    60
	if use symlinks; then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    61
		insinto /etc/spectrum
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    62
		newins "${WORKDIR}"/spectrum.cfg spectrum-shared-conf || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    63
	fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    64
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    65
	# install protocol-specific configs or symlinks
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    66
	insinto /etc/spectrum
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    67
	for protocol in ${PROTOCOL_LIST}; do
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    68
		if use symlinks; then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    69
			dosym spectrum-shared-conf "/etc/spectrum/${protocol}:${port}.cfg" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    70
			sed -e 's,PROTOCOL,'${protocol}:${port}',g' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    71
				"${FILESDIR}"/spectrum.confd > "${WORKDIR}"/spectrum.confd
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    72
		else
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    73
			sed -e 's,\$filename:protocol,'${protocol}',g' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    74
				-e 's,\$filename:port,'${port}',g' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    75
				"${WORKDIR}"/spectrum.cfg > "${WORKDIR}/${protocol}.cfg" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    76
			sed -e 's,PROTOCOL,'${protocol}',g' \
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    77
				"${FILESDIR}"/spectrum.confd > "${WORKDIR}"/spectrum.confd
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    78
			doins "${WORKDIR}/${protocol}.cfg" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    79
		fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    80
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    81
		# install prepared confd
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    82
		newconfd "${WORKDIR}"/spectrum.confd spectrum.${protocol} || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    83
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    84
		if ! use staticport; then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    85
			port=$[${port}+1]
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    86
		fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    87
	done
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    88
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    89
	# Install init files
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    90
	newinitd "${FILESDIR}"/spectrum.initd spectrum || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    91
	for protocol in ${PROTOCOL_LIST}; do
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    92
		dosym spectrum /etc/init.d/spectrum."${protocol}"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    93
	done
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    94
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    95
	# Directories
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    96
	dodir "/var/lib/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    97
	dodir "/var/log/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    98
	dodir "/var/run/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
    99
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   100
	# Directories for each transport
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   101
	for protocol in ${PROTOCOL_LIST}; do
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   102
		dodir "/var/lib/spectrum/$protocol/database" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   103
		dodir "/var/lib/spectrum/$protocol/userdir" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   104
		dodir "/var/lib/spectrum/$protocol/filetransfer_cache" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   105
	done
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   106
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   107
	# Install mysql schema
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   108
	if use mysql; then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   109
		insinto "/usr/share/spectrum/schemas"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   110
		doins schemas/* || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   111
	fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   112
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   113
	# Install misc tools
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   114
	if use tools; then
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   115
		insinto "/usr/share/spectrum/tools"
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   116
		doins tools/* || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   117
	fi
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   118
}
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   119
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   120
pkg_postinst() {
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   121
	# Set correct rights
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   122
	chown jabber:jabber -R "/etc/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   123
	chown jabber:jabber -R "/var/lib/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   124
	chown jabber:jabber -R "/var/log/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   125
	chown jabber:jabber -R "/var/run/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   126
	chmod 750 "/etc/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   127
	chmod 750 "/var/lib/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   128
	chmod 750 "/var/log/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   129
	chmod 750 "/var/run/spectrum" || die
94b7b38eab86 Add spectrum ebuild
darisk
parents:
diff changeset
   130
}