summaryrefslogtreecommitdiff
path: root/dev-libs/beignet
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:18:26 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 20:18:26 +0100
commit6c30cc2d5bd48ddbdbe8d75544899cd5dbfcaba4 (patch)
tree6ef7f6e1d48141a5da904d788b906da5bba4b697 /dev-libs/beignet
parent62f82c107c3904ac6917ece47301d2999c7dd90e (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/beignet')
-rw-r--r--dev-libs/beignet/Manifest2
-rw-r--r--dev-libs/beignet/beignet-1.3.2-r1.ebuild106
-rw-r--r--dev-libs/beignet/files/beignet-1.3.2_llvm6.patch27
3 files changed, 135 insertions, 0 deletions
diff --git a/dev-libs/beignet/Manifest b/dev-libs/beignet/Manifest
index d45eea7f0d09..eac6d2260967 100644
--- a/dev-libs/beignet/Manifest
+++ b/dev-libs/beignet/Manifest
@@ -1,11 +1,13 @@
AUX beignet-1.2.0_no-hardcoded-cflags.patch 721 BLAKE2B 033bd173462a38e9a35aedb7090adf6c621c040d3a732dfec12c2807a33ffeebbd3dac85a1bfc500f86b997604c6e66d144653cf2ada95b589fac6f6bd4f2600 SHA512 fdb922091986a60a416f9f7be3487e30974e085f8d1fddf0dba2fdcca155d26523c504289d8775e4943acce01bbb7bd3619c1af5e9a43af8afada276a52506e6
AUX beignet-1.3.1-oclicd_no_upstream_icdfile.patch 564 BLAKE2B f90bdf1c1a795007e9c9322e43df988267eaa1544b2f896bfc1b0bf333647fff753cc7a2e0ec5715f4251b1c54220590d796e48b8a0d0d1681e30f51247639f3 SHA512 c26772accbd5c2a04f8b8a108b87a518cba5ee4fdd142c7514d67f387080d2d37d6d3e87020b4d44b602dfa0cd6387dad29d5fc1bb75e1d5d090f674f937ddd9
AUX beignet-1.3.2_cmake-llvm-config-multilib.patch 950 BLAKE2B 9028eede7ee68dfd539bb268914c354eeaac8a9d26647c6dfb030078199e749cf67d2c396305ccaa7a139f10fcc8eca7b36657d4425439137e7199a4e62c4d13 SHA512 9a9a0348b39f0f9d256166141b48e255ccbc03e4d5150e660cfad2c23af8ff67b75049361fa84f2c2c26be2be914ad07efeae5e150f4f390ec7d5503c49b1c74
+AUX beignet-1.3.2_llvm6.patch 1039 BLAKE2B 990a653b7ff52ec89ec1204cc5bae1d0b041ae51da4a16fd1a459abfe083be1e5647e9fdac3b336284fcdb6c460dbd9c151d5818c084d49c0c2d68fb56aed905 SHA512 634ddb79878b017be984c0327160affc06d7acaf17b1030e55542d2d2cc873bebd3808638f0966538b0dd7bca763eda2263f22f818dd0b73167a4ba3f5933aaa
AUX beignet-1.4.0-oclicd_no_upstream_icdfile.patch 726 BLAKE2B 4d182497c099e174a95524b4bd7bda66c03e128cb089b7536716afda442d8959beab19f0e6015173fbe761f1f569ce065fd1701545ebfdd0680b070644a4d9c4 SHA512 3a77f85cb8f28096b21a77e70f901ccc64291e7439c5e4ae6d7259c30531ea550604f54d0cf910e4482089ab5782f50dcb1940e5df723b0457fdafd550b2b537
AUX beignet-1.4.0_no-debian-multiarch.patch 862 BLAKE2B 54fb9124832e57b3466c11696cf311d32863bdc36d9f4f4e946958233884f95ad9c212bf63f598e52ad054da79f453fb5a3208958de48e45bd9f21a010309edf SHA512 6760b3b7038ba0dc125998de65ec688b5eb840d8a41543ab35f6d6b6084a877fe0e383bd44b6947695ff835b391794547d7eec21bf787548e6bb03ccf2b73587
AUX llvm-terminfo.patch 788 BLAKE2B cb652c28aac1cca566cb801b9e7f2b6ea8a9ff9457896a50b3323b41a009e039085d2d4aeff14d9d8cf35fca3e4a23bacb3078451c4981b6f806cec4146aec83 SHA512 63706376f086b02be067ab54e818afab55cddb34668bc67c2c3f546142e4ca50f5536be4c15f359b3c1c6f62f36b90b3e76d67095d4bba452cf5b5a2c8891312
AUX no-debian-multiarch.patch 1652 BLAKE2B 4d112429412a7ada957228aa8e6beb145fbaf04065d6f816b0f13513631211894c57e9999157db5f22d7044f231be65396040efe450d090e3774bd24c9c93482 SHA512 c77dd485d22e61e558f002a18103bd8dd8091ac51e702335e8713fe7f8fef24e44607744165cf0997e10941b1044d96a4876f251e8e32ffd82781e5c303f0383
DIST beignet-1.3.2-source.tar.gz 1143573 BLAKE2B e95e9ad352e7e695a0c56a8cea7bff312d7e1e811e17da6c744f16833130ca5339c163504afff3ed61947e752b94dc0465f6702317feb7662fb9676939838f20 SHA512 ed09a895c2f7e9b6e18687a899f1303dfda95e505c3c2d54bf7598cc4eba6c2fb5926589b19dd294384a4ff3f832c43235b1f03f8b7fd295cd558e78bda1400a
+EBUILD beignet-1.3.2-r1.ebuild 2668 BLAKE2B 12e4ec730bd82c38086c7b6516353c3d884cc6578f9b73a9d671b409ac1ac1e2c575887252c762b2df2323c098e89c134030850a7919acaa4ada20809d303557 SHA512 3e59792f8235d1f659abfff9be27b69384b01c1bd6cfc6fe15bfbc4d5da0860a12bfe13dd3c506d132695ee739631a413e5f4d70ac481f3348e9c4f5d90d1f57
EBUILD beignet-1.3.2.ebuild 2630 BLAKE2B 09a301f4174494e0f8007de277f9c3d888361661631ace7e1858a0a4cfec7cac07f494b2187862e447e1079716b9561bc6526422ce8100df54bdaf282de8cf0b SHA512 823a890987d1c6e3c16f9127ebe20947ea09d9114f9e5e42fe97e212d32ae53d44dcfb37aead35608c8b3c2f2214f9c493c99381073cabd4d6ab8872f49762db
EBUILD beignet-9999.ebuild 2452 BLAKE2B 91b4102d667aa6e265c725f7e77a5bf66198b75569d15a6ea7ea6e89a064639a5783d7670dd7627e47b6ee90124a076fba3abc8a13aeb7f82d3aaf9a7e4ab7a0 SHA512 def37f0a7884bcf1f87f3ec1da46d499a7cb6f8dc216ce51212f72039490f70746a5ca3fe3ab1bc7da481834b16d54c0bdf11f7834de319b5e978e5b641d203b
MISC metadata.xml 473 BLAKE2B e805dfe8af6753bfd30bc46d81637c28106320d8a149a41adb893b3fbe6deb54ef16589f78223153ae9446110b9b905267724034664896f9970bd6fd200c52fc SHA512 79c6f3d28b6c15b05616af2b5224f7b6e79642ae6e6b3579ac510c0935f288940d015258b1c2d07820fcbdca117eca66f25a5a4dc7df3af92c771e9ff9243186
diff --git a/dev-libs/beignet/beignet-1.3.2-r1.ebuild b/dev-libs/beignet/beignet-1.3.2-r1.ebuild
new file mode 100644
index 000000000000..c562b68c13b3
--- /dev/null
+++ b/dev-libs/beignet/beignet-1.3.2-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+CMAKE_BUILD_TYPE="Release"
+
+inherit python-any-r1 cmake-multilib flag-o-matic llvm toolchain-funcs
+
+DESCRIPTION="OpenCL implementation for Intel GPUs"
+HOMEPAGE="https://01.org/beignet"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+IUSE="ocl-icd ocl20"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://anongit.freedesktop.org/git/beignet.git"
+ KEYWORDS=""
+else
+ KEYWORDS="~amd64"
+ SRC_URI="https://01.org/sites/default/files/${P}-source.tar.gz"
+ S=${WORKDIR}/Beignet-${PV}-Source
+fi
+
+COMMON="media-libs/mesa[${MULTILIB_USEDEP}]
+ <sys-devel/clang-6.0.9999:=[${MULTILIB_USEDEP}]
+ >=x11-libs/libdrm-2.4.70[video_cards_intel,${MULTILIB_USEDEP}]
+ x11-libs/libXext[${MULTILIB_USEDEP}]
+ x11-libs/libXfixes[${MULTILIB_USEDEP}]"
+RDEPEND="${COMMON}
+ app-eselect/eselect-opencl"
+DEPEND="${COMMON}
+ ${PYTHON_DEPS}
+ ocl-icd? ( dev-libs/ocl-icd )
+ virtual/pkgconfig"
+
+LLVM_MAX_SLOT=6
+
+PATCHES=(
+ "${FILESDIR}"/no-debian-multiarch.patch
+ "${FILESDIR}"/${PN}-1.3.2_cmake-llvm-config-multilib.patch
+ "${FILESDIR}"/${PN}-1.3.2_llvm6.patch
+ "${FILESDIR}"/${PN}-1.3.1-oclicd_no_upstream_icdfile.patch
+ "${FILESDIR}"/${PN}-1.2.0_no-hardcoded-cflags.patch
+ "${FILESDIR}"/llvm-terminfo.patch
+)
+
+DOCS=(
+ docs/.
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ if tc-is-gcc; then
+ if [[ $(gcc-major-version) -eq 4 ]] && [[ $(gcc-minor-version) -lt 6 ]]; then
+ eerror "Compilation with gcc older than 4.6 is not supported"
+ die "Too old gcc found."
+ fi
+ fi
+ fi
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python_setup
+}
+
+src_prepare() {
+ # See Bug #593968
+ append-flags -fPIC
+
+ cmake-utils_src_prepare
+ # We cannot run tests because they require permissions to access
+ # the hardware, and building them is very time-consuming.
+ cmake_comment_add_subdirectory utests
+}
+
+multilib_src_configure() {
+ VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}"
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${VENDOR_DIR}"
+ -DOCLICD_COMPAT=$(usex ocl-icd)
+ $(usex ocl20 "" "-DENABLE_OPENCL_20=OFF")
+ )
+
+ cmake-utils_src_configure
+}
+
+multilib_src_install() {
+ VENDOR_DIR="/usr/$(get_libdir)/OpenCL/vendors/${PN}"
+
+ cmake-utils_src_install
+
+ insinto /etc/OpenCL/vendors/
+ echo "${VENDOR_DIR}/lib/${PN}/libcl.so" > "${PN}-${ABI}.icd" || die "Failed to generate ICD file"
+ doins "${PN}-${ABI}.icd"
+
+ dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so.1
+ dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libOpenCL.so
+ dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so.1
+ dosym "lib/${PN}/libcl.so" "${VENDOR_DIR}"/libcl.so
+}
diff --git a/dev-libs/beignet/files/beignet-1.3.2_llvm6.patch b/dev-libs/beignet/files/beignet-1.3.2_llvm6.patch
new file mode 100644
index 000000000000..be3ccbc44325
--- /dev/null
+++ b/dev-libs/beignet/files/beignet-1.3.2_llvm6.patch
@@ -0,0 +1,27 @@
+--- a/backend/src/llvm/llvm_to_gen.cpp
++++ b/backend/src/llvm/llvm_to_gen.cpp
+@@ -322,7 +322,11 @@ namespace gbe
+ DataLayout DL(&mod);
+
+ gbeDiagnosticContext dc;
++#if LLVM_VERSION_MAJOR >= 6
++ mod.getContext().setDiagnosticHandlerCallBack(&gbeDiagnosticHandler,&dc);
++#else
+ mod.getContext().setDiagnosticHandler(&gbeDiagnosticHandler,&dc);
++#endif
+
+ #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 37
+ mod.setDataLayout(DL);
+--- a/backend/src/llvm/llvm_unroll.cpp
++++ b/backend/src/llvm/llvm_unroll.cpp
+@@ -205,7 +205,9 @@ namespace gbe {
+ if (parentTripCount != 0 && currTripCount * parentTripCount > 32) {
+ //Don't change the unrollID if doesn't force unroll.
+ //setUnrollID(parentL, false);
+-#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38
++#if LLVM_VERSION_MAJOR >= 6
++ loopInfo.erase(parentL);
++#elif LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 38
+ loopInfo.markAsRemoved(parentL);
+ #else
+ LPM.deleteLoopFromQueue(parentL);