commit:     f3fa2458bc070753209d02466378843385e01cee
Author:     Pierre-Olivier Mercier <nemunaire <AT> nemunai <DOT> re>
AuthorDate: Fri Sep  1 06:30:46 2017 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Wed Dec 13 09:03:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3fa2458

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

 dev-libs/keystone/Manifest              |  1 +
 dev-libs/keystone/keystone-0.9.1.ebuild | 84 +++++++++++++++++++++++++++++++++
 dev-libs/keystone/keystone-9999.ebuild  | 81 +++++++++++++++++++++++++++++++
 dev-libs/keystone/metadata.xml          | 15 ++++++
 4 files changed, 181 insertions(+)

diff --git a/dev-libs/keystone/Manifest b/dev-libs/keystone/Manifest
new file mode 100644
index 00000000000..3de2f8ee42a
--- /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 00000000000..58dfd226f04
--- /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 00000000000..f3f700fb660
--- /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 00000000000..4283547f970
--- /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>[email protected]</email>
+               <name>Pierre-Olivier Mercier</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">keystone-engine/keystone</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to