Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/
Date: Tue, 02 Feb 2021 13:46:06
Message-Id: 1612273556.3f0d7e45ca2a5c03c3838bda9062a584ddae282a.juippis@gentoo
1 commit: 3f0d7e45ca2a5c03c3838bda9062a584ddae282a
2 Author: Khue Nguyen <Z5483Y <AT> gmail <DOT> com>
3 AuthorDate: Sat Jan 16 00:39:40 2021 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 2 13:45:56 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3f0d7e45
7
8 dev-util/intel-graphics-compiler: bump to 1.0.5353
9
10 Signed-off-by: Khue Nguyen <Z5483Y <AT> gmail.com>
11 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
12
13 dev-util/intel-graphics-compiler/Manifest | 1 +
14 .../intel-graphics-compiler-1.0.5353.ebuild | 71 ++++++++++++++++++++++
15 2 files changed, 72 insertions(+)
16
17 diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest
18 index d7d3b0ae0c3..fe838e9e4a2 100644
19 --- a/dev-util/intel-graphics-compiler/Manifest
20 +++ b/dev-util/intel-graphics-compiler/Manifest
21 @@ -1,2 +1,3 @@
22 DIST intel-graphics-compiler-1.0.4111.tar.gz 5781246 BLAKE2B 6fe47422b31b0c73d24c3cef1265772927a57751bf5648f862f7c73528f2174268fdb2271c30c49ab038b4dfbe530bc088fe727e66babc5db0a41759e7212733 SHA512 8f589ee83a27b7a8f5abcd008e36a73fb704c20c1ae17e1ef265c59641768b75a0a08f2d6f80355442fff7625154603db3ebe9be0a4ba702b45e85db434f8110
23 DIST intel-graphics-compiler-1.0.4944.tar.gz 6632351 BLAKE2B a3d72730b8c10fd3810fdb8206d9d92da325a094627b678bb9f8d0941e29c1697994a2d98a1b49780fae62dc421e623dea4c3a7e3061347de5f5b644cfb5e105 SHA512 34fafd5387f3b86bef17511015ff1e8daef75ebdff5d1d14ff2000b58968bb502a9ec1aee988858a2992414f6cdb222e7de19c2d877f7fc8cd84a79417e9a85e
24 +DIST intel-graphics-compiler-1.0.5353.tar.gz 6642256 BLAKE2B 34b80b30f33dbd57bcea15852c80cdf8bdbf4630a7904946c7ce84481789e7db42f5216ba14140d445e9b0adbfcfe224468e462ea27768f0e8d31525ce56cde1 SHA512 e9f20e2261c5cb79d365d5d8257e8f4830b2364962c48413cc80154469db34c1c844ae5d576cbce2e3c5e5cbe22c7c3710ebd0a7fe7208e5412e81ce20077c80
25
26 diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.5353.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.5353.ebuild
27 new file mode 100644
28 index 00000000000..3945893333c
29 --- /dev/null
30 +++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.5353.ebuild
31 @@ -0,0 +1,71 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +CMAKE_ECLASS=cmake
38 +
39 +inherit cmake-multilib flag-o-matic llvm
40 +
41 +DESCRIPTION="LLVM-based OpenCL compiler targetting Intel Gen graphics hardware"
42 +HOMEPAGE="https://github.com/intel/intel-graphics-compiler"
43 +SRC_URI="https://github.com/intel/${PN}/archive/igc-${PV}.tar.gz -> ${P}.tar.gz"
44 +
45 +LICENSE="MIT"
46 +SLOT="0"
47 +KEYWORDS="~amd64"
48 +IUSE="debug"
49 +
50 +LLVM_MAX_SLOT=11
51 +
52 +# Yes, the last dependency does effectively force the use of llvm-10
53 +# - there are currently no SLOT=9 ebuilds of opencl-clang with mem2reg
54 +# support. Of course with there being no SLOT=9 ebuilds of vc-intrinsics
55 +# (which we'll need soon as well) at all either we are limited to llvm-10 anyway.
56 +DEPEND="<=sys-devel/llvm-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}]
57 + <=dev-libs/opencl-clang-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}]
58 + >=dev-libs/opencl-clang-11.0.0:=[${MULTILIB_USEDEP}]"
59 +RDEPEND="${DEPEND}"
60 +
61 +PATCHES=(
62 + "${FILESDIR}"/${PN}-1.0.9-no_Werror.patch
63 + "${FILESDIR}"/${PN}-1.0.4111-opencl-clang_version.patch
64 +)
65 +# "${FILESDIR}"/${PN}-1.0.4427-noVC_TranslateBuild_retval.patch
66 +
67 +S="${WORKDIR}"/${PN}-igc-${PV}
68 +
69 +find_best_llvm_slot() {
70 + local candidate_slot
71 +
72 + # Select the same slot as the best opencl-clang
73 + local ocl_clang_ver="$(best_version -d dev-libs/opencl-clang:=)"
74 + einfo "Selecting ${ocl_clang_ver}"
75 + candidate_slot=$(ver_cut 5 ${ocl_clang_ver})
76 +
77 + # Sanity check - opencl-clang brings the right LLVM slot as its
78 + # dependency so if this is missing, something is very wrong.
79 + has_version -d sys-devel/llvm:${candidate_slot} || die "LLVM slot matching ${ocl_clang_ver} not found (${candidate_slot})"
80 +
81 + echo ${candidate_slot}
82 +}
83 +
84 +multilib_src_configure() {
85 + local llvm_slot=$(find_best_llvm_slot)
86 + einfo "Selecting LLVM slot ${llvm_slot}: $(best_version -d sys-devel/llvm:${llvm_slot})"
87 + local llvm_prefix=$(get_llvm_prefix ${llvm_slot})
88 +
89 + # Since late March 2020 cmake.eclass does not set -DNDEBUG any more, and the way
90 + # IGC uses this definition causes problems for some users (see Bug #718824).
91 + use debug || append-cppflags -DNDEBUG
92 +
93 + # VectorCompiler needs work, at the moment upstream only supports building vc-intrinsics in place.
94 + local mycmakeargs=(
95 + -DCCLANG_SONAME_VERSION=${llvm_slot}
96 + -DCMAKE_LIBRARY_PATH="${llvm_prefix}"/$(get_libdir)
97 + -DIGC_OPTION__FORCE_SYSTEM_LLVM=ON
98 + -DIGC_PREFERRED_LLVM_VERSION=${llvm_slot}
99 + -DIGC_BUILD__VC_ENABLED=no
100 + )
101 + cmake_src_configure
102 +}