summaryrefslogtreecommitdiff
blob: fb45aecdd9acb26982f5cf20a7033552fbb45b9c (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
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

EAPI="5"

inherit eutils flag-o-matic toolchain-funcs mono-env multilib

RESTRICT="strip"

DESCRIPTION="IRTrans Server"
HOMEPAGE="http://www.irtrans.de"
SRC_URI="http://ftp.disconnected-by-peer.at/irtrans/irserver-src-${PV}.tar.gz
	 http://ftp.disconnected-by-peer.at/irtrans/irserver-${PV}.tar.gz
	http://www.irtrans.de/download/Server/Linux/irserver-src.tar.gz -> irserver-src-${PV}.tar.gz
	http://www.irtrans.de/download/Server/Linux/irserver.tar.gz -> irserver-${PV}.tar.gz"

LICENSE="BSD GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64 ~arm"
IUSE="mono"

RDEPEND="mono? ( >=dev-lang/mono-2.10.5 )"

S="${WORKDIR}"

src_prepare() {
	sed -e 's!^ODIRARM = .*!ODIRARM = n800!' -i makefile
}

src_compile() {
	append-flags -DLINUX -DMEDIACENTER
	append-ldflags --static

	# Set sane defaults (arm target has no -D flags added)
	irbuild=irserver_arm_noccf
	irserver=irserver

	# change variable by need
	if use x86 ; then
		irbuild=irserver
	elif use amd64 ; then
		irbuild=irserver64
		irserver=irserver64
	elif use arm ; then
		irbuild=irserver_arm
	fi

	# Some output for bugreport
	einfo "CFLAGS=\"${CFLAGS}\""
	einfo "Build Target=\"${irbuild}\""
	einfo "Build Binary=\"${irserver}\""

	# Build
	emake CXX="$(tc-getCXX)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" \
		CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" "${irbuild}"
}

src_install() {
	newbin "${WORKDIR}/${irserver}" irserver

	keepdir /etc/irserver/remotes

	docinto remotes
	dodoc remotes/*

	newinitd "${FILESDIR}"/irtrans-server.initd irtrans-server
	newconfd "${FILESDIR}"/irtrans-server.confd irtrans-server

	if use mono ; then
		# Wrapper script to launch mono
		make_wrapper irguiclient "mono /usr/$(get_libdir)/${PN}/GUIClient.exe"

		insinto /usr/$(get_libdir)/${PN}/
		exeinto /usr/$(get_libdir)/${PN}/

		# The Libs and Translations
		doins GUIClient/*.tra
		doexe GUIClient/*.dll

		# The actual executable
		doexe GUIClient/*.exe
	fi
}