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

EAPI=6
inherit eutils toolchain-funcs

# we need this since there are no tagged releases yet
DESCRIPTION="locks the local X display until a password is entered"
HOMEPAGE="http://darkshed.net/projects/alock
	https://github.com/mgumz/alock"
SRC_URI="https://github.com/mgumz/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="doc imlib pam"

DEPEND="x11-libs/libX11
	x11-libs/libXext
	x11-libs/libXpm
	x11-libs/libXrender
	x11-libs/libXcursor
	imlib? ( media-libs/imlib2[X] )
	pam? ( virtual/pam )
	doc? ( app-text/asciidoc )"
RDEPEND="${DEPEND}"

src_prepare() {
	epatch "${FILESDIR}"/implicit_pointer_conversion_fix_amd64.patch
	epatch "${FILESDIR}"/check-setuid.patch
	epatch "${FILESDIR}"/tidy-printf.patch
	epatch "${FILESDIR}"/fix-aliasing.patch
	epatch "${FILESDIR}"/no-xf86misc.patch
	eapply_user
}

src_configure() {
	tc-export CC

	econf \
		--prefix=/usr \
		--with-all \
		$(use_with pam) \
		$(use_with imlib imlib2)
}

src_compile() {
	# xmlto isn't required, so set to 'true' as dummy program
	# alock.1 is suitable for a manpage
	emake XMLTO=true
}

src_install() {
	dobin src/alock
	if use doc; then
		# We need to generate the manpage...
		a2x -d manpage -f manpage ./"${PN}".txt || die "a2x conversion failed."
		doman alock.1
		dodoc {CHANGELOG,README,TODO}.txt
	fi

	insinto /usr/share/alock/xcursors
	doins contrib/xcursor-*

	insinto /usr/share/alock/bitmaps
	doins bitmaps/*

	if ! use pam; then
		# Sets suid so alock can correctly work with shadow
		fperms 4755 /usr/bin/alock
	fi
}