summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/gcc-python-plugin/gcc-python-plugin-0.12-r2.ebuild')
-rw-r--r--dev-util/gcc-python-plugin/gcc-python-plugin-0.12-r2.ebuild91
1 files changed, 91 insertions, 0 deletions
diff --git a/dev-util/gcc-python-plugin/gcc-python-plugin-0.12-r2.ebuild b/dev-util/gcc-python-plugin/gcc-python-plugin-0.12-r2.ebuild
new file mode 100644
index 0000000..4afb2f2
--- /dev/null
+++ b/dev-util/gcc-python-plugin/gcc-python-plugin-0.12-r2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+SUPPORT_PYTHON_ABIS="1"
+PYTHON_DEPEND="*"
+PYTHON_EXPORT_PHASE_FUNCTIONS="1"
+
+inherit python eutils
+
+DESCRIPTION="GCC Python plugin for static analysis"
+HOMEPAGE="https://fedorahosted.org/gcc-python-plugin"
+SRC_URI="https://fedorahosted.org/releases/g/c/gcc-python-plugin/${P}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc"
+
+DEPEND="${DEPEND}
+>=sys-devel/gcc-4.6
+dev-python/six
+dev-python/pygments
+media-gfx/graphviz"
+
+RDEPEND="${DEPEND}"
+
+DEPEND="${DEPEND}
+dev-python/sphinx
+doc? (
+dev-python/pycairo
+)"
+
+src_configure() {
+ return
+}
+
+src_compile() {
+ rename_items() {
+ PLUGIN_NAME="python$(python_get_version --major)"
+ GCC_WITH_PYTHON_SCRIPT_NAME="gcc-with-${PLUGIN_NAME}"
+
+ cp python.so "${PLUGIN_NAME}.so"
+ cp gcc-with-python "${GCC_WITH_PYTHON_SCRIPT_NAME}"
+ sed -i -e"s|-fplugin=[^ ]*|-fplugin=${PLUGIN_NAME}|" "${GCC_WITH_PYTHON_SCRIPT_NAME}"
+ sed -i -e"s|-fplugin-arg-python-script|-fplugin-arg-${PLUGIN_NAME}-script|" "${GCC_WITH_PYTHON_SCRIPT_NAME}"
+ }
+
+ python_execute_function -d -s plugin
+ python_execute_function -s rename_items
+
+ cd "${WORKDIR}/${P}-$(python_get_version -f)"
+
+ emake man
+
+ if use doc; then
+ emake html
+ fi
+}
+
+src_test() {
+ emake testcpybuilder test-suite testcpychecker
+}
+
+src_install() {
+ GCC_PLUGIN_DIR="$(gcc --print-file-name=plugin)"
+
+ install_plugin_files() {
+ dobin "gcc-with-python$(python_get_version --major)"
+ insinto "${GCC_PLUGIN_DIR}"
+ doins "python$(python_get_version --major).so"
+ insinto "$(python_get_sitedir)"
+ doins -r gccutils
+ doins -r libcpychecker
+ }
+
+ python_execute_function -s install_plugin_files
+ dobin "${FILESDIR}/gcc-with-python"
+
+ cd "${WORKDIR}/${P}-$(python_get_version -f)"
+
+ insinto "${GCC_PLUGIN_DIR}"
+ doins "gcc-c-api/libgcc-c-api.so"
+ doman docs/_build/man/*
+
+ if use doc; then
+ dodoc -r examples
+ dodoc -r docs/_build/html
+ fi
+}