summaryrefslogtreecommitdiff
blob: 4f16d1660c7d3b11b5fa561b4d554c5bf2429911 (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
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-pda/multisync/multisync-0.83_pre20050414.ebuild,v 1.1 2005/05/01 23:12:51 johnm Exp $

inherit versionator

CVS_VERSION="${PV/*_pre/}"
S=${WORKDIR}/${PN}
export WANT_AUTOMAKE=1.7

DESCRIPTION="Modular sync client which supports an array of plugins."
HOMEPAGE="http://multisync.sourceforge.net/"
SRC_URI="mirror://gentoo/${PN}-${CVS_VERSION}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64 ppc"
IUSE="evo irmc ldap bluetooth pda kdepim"
# evo    - evolution plugin
# irmc   - bluetooth/irmc/irda plugin ( local )
# pda    - opie plugin                ( local )
# ldap   - ldap plugin - experimental
# kdepim - sync with the kdepim app

DEPEND=">=gnome-base/libbonobo-2.2
		>=gnome-base/libgnomeui-2.2
		>=gnome-base/libgnome-2.2
		>=dev-libs/glib-2
		>=gnome-base/gconf-2
		>=gnome-base/gnome-vfs-2.2
		>=gnome-base/orbit-2.8.2
		>=dev-libs/openssl-0.9.6j
		evo?  ( mail-client/evolution )
		irmc? ( >=net-wireless/irda-utils-0.9.15
				>=dev-libs/openobex-1
				bluetooth? ( 	>=net-wireless/bluez-libs-2.7
				         		>=net-wireless/bluez-utils-2.7 ) )
		pda? ( >=net-misc/curl-7.10.5
				app-pda/pilot-link )
		kdepim? ( kde-base/kdepim )
		ldap? ( >=net-nds/openldap-2.0.27
				>=dev-libs/cyrus-sasl-2.1.4 )"

make_plugin_list() {
	local evoversion

	PLUGINS="backup_plugin syncml_plugin"
	if use evo
	then
		evoversion="$(best_version mail-client/evolution)"
		# remove prefix
		evoversion=${evoversion//*evolution-}
		# remove revisions
		evoversion=${evoversion//-*}
		# find major
		evoversion=$(get_major_version ${evoversion})

		[[ ${evoversion} -eq 2 ]] 	&& PLUGINS="${PLUGINS} evolution2_sync"
		[[ ${evoversion} -eq 1 ]] 	&& PLUGINS="${PLUGINS} evolution_sync"
	fi
	use irmc 	&& PLUGINS="${PLUGINS} irmc_sync"
	use pda 	&& PLUGINS="${PLUGINS} opie_sync palm_sync"
	use ldap 	&& PLUGINS="${PLUGINS} ldap_plugin"
	use kdepim	&& PLUGINS="${PLUGINS} kdepim_plugin"
}

run_compile() {
	aclocal || die "failed aclocal"
	libtoolize --copy --force || die "libtoolize failed!"
	autoheader || die "Failed during autoheader!"
	automake --add-missing --gnu || die "Failed during automake!"
	autoconf || die "Failed during autoconf!"
	econf || die "Failed during econf!"
	make || die "Failed during make!"
}

src_compile() {
	[[ -z ${PLUGINS} ]] && make_plugin_list

	einfo "Building Multisync with these plugins:"
	for plugin_dir in ${PLUGINS}; do
		einfo "      ${plugin_dir}"
	done

	cd ${S}
	EXTRA_ECONF="CPPFLAGS=-I/usr/include/libpisock"
	run_compile;

	for plugin_dir in ${PLUGINS}; do
		einfo "Building ${plugin_dir}"
		cd ${S}/plugins/${plugin_dir}
		run_compile;
	done
}

src_install() {
	[[ -z ${PLUGINS} ]] && make_plugin_list

	einstall || die "Multisync install failed!"
	for plugin_dir in ${PLUGINS}; do
		cd ${S}/plugins/${plugin_dir}
		einstall || die "${plugin_dir} make install failed!"
	done
}