# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/features/selinux/package.use.force,v 1.8 2013/05/21 19:02:54 swift Exp $

# Sven Vermeulen <swift@gentoo.org> (19 Apr 2013)
# sys-apps/policycoreutils (semanage command) uses sepolgen, which requires libselinux with USE="python". 
# sys-apps/policycoreutils also requires libsemanage with USE="python" and
# setools with USE="python"
sys-libs/libselinux python
sys-libs/libsemanage python
app-admin/setools python

# Sven Vermeulen <swift@gentoo.org> (21 May 2013)
# sys-apps/policycoreutils has PYTHON_USE_WITH="xml" set, so we force it
# here to allow stages to build with USE=xml on python
dev-lang/python xml
