summaryrefslogtreecommitdiff
blob: d3580334e55a3f9c653fef92c91c2fe187f5a6a6 (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
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libpwquality/libpwquality-1.2.0-r2.ebuild,v 1.6 2013/01/06 09:24:53 ago Exp $

EAPI="5"
PYTHON_COMPAT=( python2_7 )

inherit eutils multilib pam python-r1 toolchain-funcs

DESCRIPTION="Library for password quality checking and generating random passwords"
HOMEPAGE="https://fedorahosted.org/libpwquality/"
SRC_URI="https://fedorahosted.org/releases/l/i/${PN}/${P}.tar.bz2"

LICENSE="|| ( BSD GPL-2 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="pam python static-libs"

RDEPEND=">=sys-libs/cracklib-2.8:=
	pam? ( virtual/pam )
	python? ( ${PYTHON_DEPS} )"
DEPEND="${RDEPEND}
	sys-devel/libtool
	virtual/pkgconfig"

src_prepare() {
	# ensure pkgconfig files go in /usr
	sed -e 's:\(pkgconfigdir *=\).*:\1 '${EPREFIX}/usr/$(get_libdir)'/pkgconfig:' \
		-i src/Makefile.{am,in} || die "sed failed"
	use python && python_copy_sources
}

src_configure() {
	# Install library in /lib for pam
	configuring() {
		local sitedir
		econf \
			--libdir="${EPREFIX}/$(get_libdir)" \
			$(use_enable pam) \
			--with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
			$(use_enable python python-bindings) \
			$(usex python "--with-pythonsitedir=$(use python && python_get_sitedir)" "") \
			$(use_enable static-libs static)
	}
	if_use_python_python_foreach_impl configuring
}

src_compile() {
	if_use_python_python_foreach_impl default
}

src_test() {
	if_use_python_python_foreach_impl default
}

src_install() {
	if_use_python_python_foreach_impl default
	if use static-libs; then
		# Do not install static libs in /lib
		mkdir -p "${ED}usr/$(get_libdir)"
		mv "${ED}$(get_libdir)/libpwquality.a" "${ED}/usr/$(get_libdir)/" || die
		gen_usr_ldscript libpwquality.so
	fi
	prune_libtool_files --modules
}

if_use_python_python_foreach_impl() {
	run_in_build_dir() {
		pushd "${BUILD_DIR}" > /dev/null || die
		"$@"
		popd > /dev/null
	}

	if use python; then
		python_foreach_impl run_in_build_dir "$@"
	else
		"$@"
	fi
}