From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1D667138359 for ; Sun, 20 Sep 2020 14:12:33 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 53CF3E08FB; Sun, 20 Sep 2020 14:12:32 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 28138E08FB for ; Sun, 20 Sep 2020 14:12:32 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C948E335D8E for ; Sun, 20 Sep 2020 14:12:30 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 43641342 for ; Sun, 20 Sep 2020 14:12:29 +0000 (UTC) From: "Marek Szuba" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Marek Szuba" Message-ID: <1600611141.b4e684caef46329bf85ec7b683701b3f02b2535b.marecki@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-util/intel-graphics-compiler/Manifest dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild X-VCS-Directories: dev-util/intel-graphics-compiler/ X-VCS-Committer: marecki X-VCS-Committer-Name: Marek Szuba X-VCS-Revision: b4e684caef46329bf85ec7b683701b3f02b2535b X-VCS-Branch: master Date: Sun, 20 Sep 2020 14:12:29 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4a088dd7-9b0f-4b3a-8bbc-78a5fb0c9dbf X-Archives-Hash: ebcbd41cef4c8872524e9c475afe80a7 commit: b4e684caef46329bf85ec7b683701b3f02b2535b Author: Marek Szuba gentoo org> AuthorDate: Sun Sep 20 13:58:45 2020 +0000 Commit: Marek Szuba gentoo org> CommitDate: Sun Sep 20 14:12:21 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4e684ca dev-util/intel-graphics-compiler: bump to 1.0.4944 The first version supporting VectorCompiler which actually builds (as well as lets intel-neo build afterwards; tested on 20.36 a moment ago) without patching with VC support disabled. Nb. I am still working on enabling VC support in Gentoo, dependencies have been taken care of but now src_compile fails due to IGC being unable to find functions and classes declared ELSEWHERE IN ITS OWN CODE. Signed-off-by: Marek Szuba gentoo.org> dev-util/intel-graphics-compiler/Manifest | 1 + .../intel-graphics-compiler-1.0.4944.ebuild | 72 ++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest index bb330148e01..d7d3b0ae0c3 100644 --- a/dev-util/intel-graphics-compiler/Manifest +++ b/dev-util/intel-graphics-compiler/Manifest @@ -1 +1,2 @@ DIST intel-graphics-compiler-1.0.4111.tar.gz 5781246 BLAKE2B 6fe47422b31b0c73d24c3cef1265772927a57751bf5648f862f7c73528f2174268fdb2271c30c49ab038b4dfbe530bc088fe727e66babc5db0a41759e7212733 SHA512 8f589ee83a27b7a8f5abcd008e36a73fb704c20c1ae17e1ef265c59641768b75a0a08f2d6f80355442fff7625154603db3ebe9be0a4ba702b45e85db434f8110 +DIST intel-graphics-compiler-1.0.4944.tar.gz 6632351 BLAKE2B a3d72730b8c10fd3810fdb8206d9d92da325a094627b678bb9f8d0941e29c1697994a2d98a1b49780fae62dc421e623dea4c3a7e3061347de5f5b644cfb5e105 SHA512 34fafd5387f3b86bef17511015ff1e8daef75ebdff5d1d14ff2000b58968bb502a9ec1aee988858a2992414f6cdb222e7de19c2d877f7fc8cd84a79417e9a85e diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild new file mode 100644 index 00000000000..7651df693d6 --- /dev/null +++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +CMAKE_ECLASS=cmake + +inherit cmake-multilib flag-o-matic llvm + +DESCRIPTION="LLVM-based OpenCL compiler targetting Intel Gen graphics hardware" +HOMEPAGE="https://github.com/intel/intel-graphics-compiler" +SRC_URI="https://github.com/intel/${PN}/archive/igc-${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug" + +LLVM_MAX_SLOT=10 + +# Yes, the last dependency does effectively force the use of llvm-10 +# - there are currently no SLOT=9 ebuilds of opencl-clang with mem2reg +# support. Of course with there being no SLOT=9 ebuilds of vc-intrinsics +# (which we'll need soon as well) at all either we are limited to llvm-10 anyway. +COMMON="<=sys-devel/llvm-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}] + <=dev-libs/opencl-clang-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}] + >=dev-libs/opencl-clang-10.0.0.2:=[${MULTILIB_USEDEP}]" +DEPEND="${COMMON}" +RDEPEND="${COMMON}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.9-no_Werror.patch + "${FILESDIR}"/${PN}-1.0.4111-opencl-clang_version.patch +) +# "${FILESDIR}"/${PN}-1.0.4427-noVC_TranslateBuild_retval.patch + +S="${WORKDIR}"/${PN}-igc-${PV} + +find_best_llvm_slot() { + local candidate_slot + + # Select the same slot as the best opencl-clang + local ocl_clang_ver="$(best_version -d dev-libs/opencl-clang:=)" + einfo "Selecting ${ocl_clang_ver}" + candidate_slot=$(ver_cut 5 ${ocl_clang_ver}) + + # Sanity check - opencl-clang brings the right LLVM slot as its + # dependency so if this is missing, something is very wrong. + has_version -d sys-devel/llvm:${candidate_slot} || die "LLVM slot matching ${ocl_clang_ver} not found (${candidate_slot})" + + echo ${candidate_slot} +} + +multilib_src_configure() { + local llvm_slot=$(find_best_llvm_slot) + einfo "Selecting LLVM slot ${llvm_slot}: $(best_version -d sys-devel/llvm:${llvm_slot})" + local llvm_prefix=$(get_llvm_prefix ${llvm_slot}) + + # Since late March 2020 cmake.eclass does not set -DNDEBUG any more, and the way + # IGC uses this definition causes problems for some users (see Bug #718824). + use debug || append-cppflags -DNDEBUG + + # VectorCompiler needs work, at the moment upstream only supports building vc-intrinsics in place. + local mycmakeargs=( + -DCCLANG_SONAME_VERSION=${llvm_slot} + -DCMAKE_LIBRARY_PATH="${llvm_prefix}"/$(get_libdir) + -DIGC_OPTION__FORCE_SYSTEM_LLVM=ON + -DIGC_PREFERRED_LLVM_VERSION=${llvm_slot} + -DIGC_BUILD__VC_ENABLED=no + ) + cmake_src_configure +}