summaryrefslogtreecommitdiff
blob: 39d264c8ef8237d29e5618f8015f91e92c575322 (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
181
182
183
184
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit eutils cmake-utils linux-info

DESCRIPTION="An advanced, highly configurable system monitor for X"
HOMEPAGE="https://github.com/brndnmtthws/conky"
SRC_URI="https://github.com/brndnmtthws/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-3 BSD LGPL-2.1 MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ppc ~x86"
IUSE="apcupsd audacious cmus curl debug eve hddtemp ical iconv imlib iostats
	ipv6 irc lua-cairo lua-imlib lua-rsvg math moc mpd mysql nano-syntax
	ncurses nvidia +portmon rss thinkpad truetype vim-syntax weather-metar
	weather-xoap webserver wifi X xmms2"

DEPEND_COMMON="
	X? (
		imlib? ( media-libs/imlib2[X] )
		lua-cairo? (
			>=dev-lua/toluapp-1.0.93
			x11-libs/cairo[X] )
		lua-imlib? (
			>=dev-lua/toluapp-1.0.93
			media-libs/imlib2[X] )
		lua-rsvg? (
			>=dev-lua/toluapp-1.0.93
			gnome-base/librsvg )
		nvidia? ( || ( x11-drivers/nvidia-drivers[tools,static-libs] media-video/nvidia-settings ) )
		truetype? ( x11-libs/libXft >=media-libs/freetype-2 )
		x11-libs/libX11
		x11-libs/libXdamage
		x11-libs/libXfixes
		x11-libs/libXext
		audacious? ( >=media-sound/audacious-1.5 dev-libs/glib:2 )
		xmms2? ( media-sound/xmms2 )
	)
	cmus? ( media-sound/cmus )
	curl? ( net-misc/curl )
	eve? ( net-misc/curl dev-libs/libxml2 )
	ical? ( dev-libs/libical )
	iconv? ( virtual/libiconv )
	irc? ( net-libs/libircclient )
	mysql? ( >=virtual/mysql-5.0 )
	ncurses? ( sys-libs/ncurses:= )
	rss? ( dev-libs/libxml2 net-misc/curl dev-libs/glib:2 )
	wifi? ( net-wireless/wireless-tools )
	weather-metar? ( net-misc/curl )
	weather-xoap? ( dev-libs/libxml2 net-misc/curl )
	webserver? ( net-libs/libmicrohttpd )
	>=dev-lang/lua-5.1.4-r8:0
	"
RDEPEND="
	${DEPEND_COMMON}
	apcupsd? ( sys-power/apcupsd )
	hddtemp? ( app-admin/hddtemp )
	moc? ( media-sound/moc )
	nano-syntax? ( app-editors/nano )
	vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )
	"
DEPEND="
	${DEPEND_COMMON}
	app-text/docbook2X
	"

CONFIG_CHECK=~IPV6

DOCS=( README.md TODO ChangeLog NEWS AUTHORS )

pkg_setup() {
	use ipv6 && linux-info_pkg_setup
}

src_prepare() {
	epatch "${FILESDIR}/${P}-includewlan.patch" \
		"${FILESDIR}/${P}-ncurses-tinfo.patch"

	# Allow user patches #478482
	epatch_user
}

src_configure() {
	local mycmakeargs

	if use X; then
		mycmakeargs=(
			-DBUILD_X11=ON
			-DOWN_WINDOW=ON
			-DBUILD_XDAMAGE=ON
			-DBUILD_XDBE=ON
			$(cmake-utils_use_build truetype XFT)
			$(cmake-utils_use_build imlib IMLIB2)
			-DBUILD_XSHAPE=ON
			-DBUILD_ARGB=ON
			$(cmake-utils_use_build lua-cairo LUA_CAIRO)
			$(cmake-utils_use_build lua-imlib LUA_IMLIB2)
			$(cmake-utils_use_build lua-rsvg LUA_RSVG)
			$(cmake-utils_use_build nvidia)
			$(cmake-utils_use_build audacious)
			$(cmake-utils_use_build xmms2)
		)
	else
		mycmakeargs=(
			-DBUILD_X11=OFF
			-DBUILD_NVIDIA=OFF
			-DBUILD_LUA_CAIRO=OFF
			-DBUILD_LUA_IMLIB2=OFF
			-DBUILD_LUA_RSVG=OFF
			-DBUILD_AUDACIOUS=OFF
			-DBUILD_XMMS2=OFF
		)
	fi

	mycmakeargs+=(
		$(cmake-utils_use_build apcupsd)
		$(cmake-utils_use_build debug)
		$(cmake-utils_use_build cmus)
		$(cmake-utils_use_build curl)
		$(cmake-utils_use_build eve)
		$(cmake-utils_use_build hddtemp)
		$(cmake-utils_use_build iostats)
		$(cmake-utils_use_build ical)
		$(cmake-utils_use_build iconv)
		$(cmake-utils_use_build ipv6)
		$(cmake-utils_use_build irc)
		$(cmake-utils_use_build math)
		$(cmake-utils_use_build moc)
		$(cmake-utils_use_build mpd)
		$(cmake-utils_use_build mysql)
		$(cmake-utils_use_build ncurses)
		$(cmake-utils_use_build portmon PORT_MONITORS)
		$(cmake-utils_use_build rss)
		$(cmake-utils_use_build thinkpad IBM)
		$(cmake-utils_use_build weather-metar WEATHER_METAR)
		$(cmake-utils_use_build weather-xoap WEATHER_XOAP)
		$(cmake-utils_use_build webserver HTTP)
		$(cmake-utils_use_build wifi WLAN)
		-DBUILD_BUILTIN_CONFIG=ON
		-DBUILD_OLD_CONFIG=ON
		-DBUILD_I18N=ON
		-DMAINTAINER_MODE=OFF
		-DRELEASE=ON
		-DBUILD_AUDACIOUS_LEGACY=OFF
		-DBUILD_BMPX=OFF
		-DDOC_PATH=/usr/share/doc/${PF}
	)

	cmake-utils_src_configure
}

src_install() {
	cmake-utils_src_install

	if use vim-syntax; then
		insinto /usr/share/vim/vimfiles/ftdetect
		doins "${S}"/extras/vim/ftdetect/conkyrc.vim

		insinto /usr/share/vim/vimfiles/syntax
		doins "${S}"/extras/vim/syntax/conkyrc.vim
	fi

	if use nano-syntax; then
		insinto /usr/share/nano/
		doins "${S}"/extras/nano/conky.nanorc
	fi
}

pkg_postinst() {
	if [[ -z "${REPLACING_VERSIONS}" ]]; then
		elog "You can find sample configurations at ${ROOT%/}/usr/share/doc/${PF}."
		elog "To customize, copy to ${XDG_CONFIG_HOME}/conky/conky.conf"
		elog "and edit it to your liking."
		elog
		elog "There are pretty html docs available at the conky homepage"
		elog "or in ${ROOT%/}/usr/share/doc/${PF}/html."
		elog
		elog "Also see https://wiki.gentoo.org/wiki/Conky/HOWTO"
		elog
	fi
}