summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Olivier Mercier <nemunaire@nemunai.re>2017-09-01 08:30:46 +0200
committerPatrice Clement <monsieurp@gentoo.org>2017-12-13 10:03:15 +0100
commitf3fa2458bc070753209d02466378843385e01cee (patch)
tree5372f937045ed1016ea422c377b27d80a3c37760 /dev-libs/keystone
parentdev-perl/Nmap-Parser: Bump to version 1.360.0 (diff)
downloadgentoo-f3fa2458bc070753209d02466378843385e01cee.tar.gz
gentoo-f3fa2458bc070753209d02466378843385e01cee.tar.bz2
gentoo-f3fa2458bc070753209d02466378843385e01cee.zip
dev-libs/keystone: new package.
Keystone is a lightweight multi-platform, multi-architecture assembler framework. Package-Manager: Portage-2.3.6, Repoman-2.3.1 Closes: https://github.com/gentoo/gentoo/pull/5577
Diffstat (limited to 'dev-libs/keystone')
-rw-r--r--dev-libs/keystone/Manifest1
-rw-r--r--dev-libs/keystone/keystone-0.9.1.ebuild84
-rw-r--r--dev-libs/keystone/keystone-9999.ebuild81
-rw-r--r--dev-libs/keystone/metadata.xml15
4 files changed, 181 insertions, 0 deletions
diff --git a/dev-libs/keystone/Manifest b/dev-libs/keystone/Manifest
new file mode 100644
index 000000000000..3de2f8ee42a3
--- /dev/null
+++ b/dev-libs/keystone/Manifest
@@ -0,0 +1 @@
+DIST keystone-0.9.1.tar.gz 4326151 SHA256 e9d706cd0c19c49a6524b77db8158449b9c434b415fbf94a073968b68cf8a9f0 SHA512 3bd9c3793d5862a0a8628b52da381625e62445f661dbd5ed715723e7d9db01ce3f9586e5ca0a5cc71e8ceb6c912050f5c28e3ccd540e72c8abcfd2f0d1bbae17 WHIRLPOOL 8ab5ba40dc3885c09f955f2c00371ccb8e7f655ae24aece318b8abbb734c065c9bff0c7241fb3a222cca2d4940ad517b25b543df632bd3874110b79af54422d4
diff --git a/dev-libs/keystone/keystone-0.9.1.ebuild b/dev-libs/keystone/keystone-0.9.1.ebuild
new file mode 100644
index 000000000000..58dfd226f042
--- /dev/null
+++ b/dev-libs/keystone/keystone-0.9.1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DISTUTILS_OPTIONAL=1
+CMAKE_MIN_VERSION=3.8.7
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit cmake-utils distutils-r1 llvm
+
+DESCRIPTION="assembly/assembler framework + bindings"
+HOMEPAGE="http://www.keystone-engine.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P/-rc/_rc}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+# Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm
+ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+IUSE="python ${ALL_LLVM_TARGETS[*]}"
+RDEPEND="${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )
+"
+
+S=${WORKDIR}/${P/_rc/-rc}
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+llvm_check_deps() {
+ has_version "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
+}
+
+wrap_python() {
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${EBUILD_PHASE_FUNC} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ default
+ cmake-utils_src_prepare
+ wrap_python
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+ )
+
+ cmake-utils_src_configure
+ wrap_python
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ wrap_python
+}
+
+src_install() {
+ cmake-utils_src_install
+ wrap_python
+}
diff --git a/dev-libs/keystone/keystone-9999.ebuild b/dev-libs/keystone/keystone-9999.ebuild
new file mode 100644
index 000000000000..f3f700fb6607
--- /dev/null
+++ b/dev-libs/keystone/keystone-9999.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DISTUTILS_OPTIONAL=1
+CMAKE_MIN_VERSION=3.8.7
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit cmake-utils distutils-r1
+
+DESCRIPTION="assembly/assembler framework + bindings"
+HOMEPAGE="http://www.keystone-engine.org/"
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/keystone-engine/keystone.git"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/keystone-engine/keystone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+# Keep in sync with llvm/CMakeLists.txt, subset of sys-devel/llvm
+ALL_LLVM_TARGETS=( AArch64 ARM Hexagon Mips PowerPC Sparc SystemZ X86 )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
+
+IUSE="python ${ALL_LLVM_TARGETS[*]}"
+RDEPEND="sys-devel/llvm:=[${LLVM_TARGET_USEDEPS// /,}]
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( ${ALL_LLVM_TARGETS[*]} )
+"
+
+S=${WORKDIR}/${P/_rc/-rc}
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+wrap_python() {
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${1} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ default
+ cmake-utils_src_prepare
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+ )
+
+ cmake-utils_src_configure
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ wrap_python ${FUNCNAME}
+}
+
+src_install() {
+ cmake-utils_src_install
+ wrap_python ${FUNCNAME}
+}
diff --git a/dev-libs/keystone/metadata.xml b/dev-libs/keystone/metadata.xml
new file mode 100644
index 000000000000..4283547f970d
--- /dev/null
+++ b/dev-libs/keystone/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nemunaire@nemunai.re</email>
+ <name>Pierre-Olivier Mercier</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">keystone-engine/keystone</remote-id>
+ </upstream>
+</pkgmetadata>