summaryrefslogtreecommitdiff
blob: afbaf94d94c7ba495e3c0c6fbdd4b94372f1c195 (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
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-p2p/fms/fms-0.3.63-r1.ebuild,v 1.1 2012/02/13 19:32:12 tommy Exp $

EAPI="2"

inherit eutils cmake-utils

DESCRIPTION="A spam-resistant message board application for Freenet"
HOMEPAGE="http://freenetproject.org/tools.html"
SRC_URI="mirror://gentoo/${PN}-src-${PV}.zip"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="frost"

RDEPEND="virtual/libiconv
	frost? ( >=dev-libs/libtomcrypt-1.17-r6 )
	>=dev-libs/poco-1.2.9
	>=dev-db/sqlite-3.6.15
	<dev-libs/libpcre-8.13"
#added dependency on <=dev-libs/libpcre-8.12 instead of blocking higher versions,
#to prevent some issues with blocker resolution in portage
DEPEND="${RDEPEND}
	app-arch/unzip"

S=${WORKDIR}

pkg_setup() {
	enewgroup freenet
	enewuser freenet -1 -1 /var/freenet freenet
}

src_prepare() {
	edos2unix src/http/pages/showfilepage.cpp
	epatch "${FILESDIR}"/${PN}-use-system-libs.patch
	sed -i "s:LTC_PKCS:LTC_LTC_PKCS:g" src/freenet/frostidentity.cpp
	sed -i 's:"../../../include/fmsapp.h":"../include/fmsapp.h":' src/*.cpp
	sed -i 's:"../../../include/fmsapp.h":"../../include/fmsapp.h":' src/*/*.cpp
}

src_configure() {
	local mycmakeargs="-DI_HAVE_READ_THE_README=ON \
		-DUSE_BUNDLED_SQLITE=OFF \
		-DDO_CHARSET_CONVERSION=ON \
		$(cmake-utils_use frost FROST_SUPPORT)"
	use frost && append-flags -DLTM_DESC
	cmake-utils_src_configure
}

src_install() {
	insinto /var/freenet/fms
	dobin "${CMAKE_BUILD_DIR}"/fms || die
	doins *.htm || die "doinstall failed"
	doins -r fonts images styles translations || die
	fperms -R o-rwx /var/freenet/fms/ /usr/bin/fms
	fowners -R freenet:freenet /var/freenet/fms/ /usr/bin/fms
	doinitd "${FILESDIR}/fms" || die "installing init.d file failed"
	dodoc readme.txt || die "installing doc failed"
}

pkg_postinst() {
	if ! has_version 'net-p2p/freenet' ; then
		ewarn "FMS needs a freenet node to up-/download #ssages."
		ewarn "Please make sure to have a node you can connect to"
		ewarn "or install net-p2p/freenet to get FMS working."
	fi
	elog "By default, the FMS NNTP server will listen on port 1119,"
	elog "and the web configuration interface will be running at"
	elog "http://localhost:8080. For more information, read"
	elog "${ROOT}usr/share/doc/${PF}/readme.txt.bz2"
	if use frost; then
		elog " "
		elog "You need to enable frost on the config page"
		elog "and restart fms for frost support."
	fi
}