commit:     169a449987cebdd7bdce2ca70974b56a7ae4a532
Author:     Jan Henke <Jan.Henke <AT> taujhe <DOT> de>
AuthorDate: Sun Aug  8 16:17:27 2021 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Mon Aug 16 17:09:09 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=169a4499

dev-util/intel-graphics-compiler: Version bump 1.0.8173

Also fixes compilation on GCC 11 and call to python during building.

Bug: https://github.com/gentoo/gentoo/pull/21917
Closes: https://bugs.gentoo.org/789027
Closes: https://bugs.gentoo.org/763651
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Jan Henke <Jan.Henke <AT> taujhe.de>
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 dev-util/intel-graphics-compiler/Manifest          |  1 +
 ...hics-compiler-1.0.8173-fix-missing-limits.patch | 23 +++++++
 ...cs-compiler-1.0.8173-opencl-clang_version.patch | 31 +++++++++
 .../intel-graphics-compiler-1.0.8173.ebuild        | 74 ++++++++++++++++++++++
 dev-util/intel-graphics-compiler/metadata.xml      |  9 ++-
 5 files changed, 137 insertions(+), 1 deletion(-)

diff --git a/dev-util/intel-graphics-compiler/Manifest 
b/dev-util/intel-graphics-compiler/Manifest
index fe838e9e4a2..420b17b3c1f 100644
--- a/dev-util/intel-graphics-compiler/Manifest
+++ b/dev-util/intel-graphics-compiler/Manifest
@@ -1,3 +1,4 @@
 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
 DIST intel-graphics-compiler-1.0.5353.tar.gz 6642256 BLAKE2B 
34b80b30f33dbd57bcea15852c80cdf8bdbf4630a7904946c7ce84481789e7db42f5216ba14140d445e9b0adbfcfe224468e462ea27768f0e8d31525ce56cde1
 SHA512 
e9f20e2261c5cb79d365d5d8257e8f4830b2364962c48413cc80154469db34c1c844ae5d576cbce2e3c5e5cbe22c7c3710ebd0a7fe7208e5412e81ce20077c80
+DIST intel-graphics-compiler-1.0.8173.tar.gz 7471884 BLAKE2B 
2248a8d5f23d4578c5bd04a799af65767916b3705e16a8145149794a2cf16e5a0e16c21669336151a241cc52e7672b05eb892ac4925f2c2d0b22673af4ebf67f
 SHA512 
bebccee0699dea48e98ddcdb320cacacda0cdcd36b68e51d932791756b0a8e2171a78cc1921ca2a092b9fe7dbd7a783d4898ada08c58bf856dd29bfc08334fa0

diff --git 
a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-fix-missing-limits.patch
 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-fix-missing-limits.patch
new file mode 100644
index 00000000000..406262d2d91
--- /dev/null
+++ 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-fix-missing-limits.patch
@@ -0,0 +1,23 @@
+Fix compilation with >=gcc-11, taken from upstream:
+https://github.com/intel/intel-graphics-compiler/pull/190
+
+From 8e1a461d3e6b85a6cf018caf6abf4a3ba9a1758d Mon Sep 17 00:00:00 2001
+From: Bruno Pagani <bruno.n.pag...@gmail.com>
+Date: Wed, 4 Aug 2021 20:54:21 +0200
+Subject: [PATCH] Fix missing include
+
+---
+ visa/iga/IGALibrary/IR/RegDeps.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/visa/iga/IGALibrary/IR/RegDeps.cpp 
b/visa/iga/IGALibrary/IR/RegDeps.cpp
+index 83c226a316..585896631e 100644
+--- a/visa/iga/IGALibrary/IR/RegDeps.cpp
++++ b/visa/iga/IGALibrary/IR/RegDeps.cpp
+@@ -10,6 +10,7 @@ SPDX-License-Identifier: MIT
+ #include "../asserts.hpp"
+ #include "../bits.hpp"
+ 
++#include <limits>
+ #include <sstream>
+ #include <cstring>

diff --git 
a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch
 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch
new file mode 100644
index 00000000000..54a3364e7c6
--- /dev/null
+++ 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch
@@ -0,0 +1,31 @@
+--- a/IGC/BiFModule/CMakeLists.txt
++++ b/IGC/BiFModule/CMakeLists.txt
+@@ -19,24 +19,10 @@
+ 
+ if(UNIX)
+   if(NOT ${CCLANG_BUILD_INTREE_LLVM})
+-    # Get common clang library soname
+-    get_target_property(CCLANG_LIB_PATH opencl-clang-lib "IMPORTED_LOCATION")
+-    execute_process(
+-      COMMAND readelf -d ${CCLANG_LIB_PATH}
+-      RESULT_VARIABLE CCLANG_READELF_RESULT
+-      OUTPUT_VARIABLE CCLANG_READELF_CALL)
+-    if(CCLANG_READELF_RESULT AND NOT CCLANG_READELF_RESULT EQUAL 0)
+-      message(FATAL_ERROR "[IGC\\BiFModule] : Error occurred while executing 
readelf:  ${CCLANG_READELF_RESULT}")
+-    endif()
+-    string(REGEX MATCH 
"\\[${COMMON_CLANG_LIB_FULL_NAME}\\.([0-9](\\.[0-9]*)*[a-zA-Z0-9]*)\\]" 
CCLANG_SONAME_VERSION "${CCLANG_READELF_CALL}")
+-    set(CCLANG_SONAME_VERSION "${CMAKE_MATCH_1}")
+-
+-    # Check if common clang library is newer than 5.0.0 version on which we 
have SPIR-V support
+-    if("${CCLANG_SONAME_VERSION}" VERSION_GREATER "5.0.0")
+-      set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_SONAME" 
"${COMMON_CLANG_LIB_FULL_NAME}.${CCLANG_SONAME_VERSION}")
+-    else()
+-      message(FATAL_ERROR "[IGC\\BiFModule] : Version 
${CCLANG_SONAME_VERSION} of library ${COMMON_CLANG_LIB_FULL_NAME} is below 
version 5.0.0 (where it's starts support of SPIR-V), please upgrade this 
library at least to version 5.0.0")
+-    endif()
++    # Workaround for https://bugs.gentoo.org/739138 : instead of checking
++    # the version of opencl-clang, have ebuilds set CCLANG_SONAME_VERSION
++    # for us.
++    set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_SONAME" 
"${COMMON_CLANG_LIB_FULL_NAME}.${CCLANG_SONAME_VERSION}")
+   endif()
+   if (NOT CCLANG_FROM_SYSTEM)
+     install(FILES $<TARGET_FILE:opencl-clang-lib> DESTINATION 
${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT igc-opencl)

diff --git 
a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.8173.ebuild 
b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.8173.ebuild
new file mode 100644
index 00000000000..dd493717301
--- /dev/null
+++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.8173.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python{3_9,3_10} )
+LLVM_MAX_SLOT=10
+
+inherit cmake flag-o-matic llvm python-any-r1
+
+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"
+S="${WORKDIR}"/${PN}-igc-${PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug"
+
+BDEPEND="${PYTHON_DEPS}
+       >=sys-devel/lld-${LLVM_MAX_SLOT}"
+# 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.
+DEPEND="<=sys-devel/llvm-${LLVM_MAX_SLOT}.9999:=
+       <=dev-libs/opencl-clang-${LLVM_MAX_SLOT}.9999:=
+       >=dev-libs/opencl-clang-12.0.0:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.0.9-no_Werror.patch"
+       "${FILESDIR}/${PN}-1.0.8173-opencl-clang_version.patch"
+       "${FILESDIR}/${PN}-1.0.8173-fix-missing-limits.patch"
+)
+
+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}
+}
+
+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})
+       local llvm_ver=$(best_version -d sys-devel/llvm:${llvm_slot})
+       llvm_ver=${llvm_ver##*-}
+
+       # 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_ver}
+               -DIGC_BUILD__VC_ENABLED=no
+       )
+       cmake_src_configure
+}

diff --git a/dev-util/intel-graphics-compiler/metadata.xml 
b/dev-util/intel-graphics-compiler/metadata.xml
index 36d27b8681c..c1144ffebb0 100644
--- a/dev-util/intel-graphics-compiler/metadata.xml
+++ b/dev-util/intel-graphics-compiler/metadata.xml
@@ -1,7 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
 <pkgmetadata>
-       <!-- maintainer-needed -->
+       <maintainer type="person" proxied="yes">
+               <email>gen...@taujhe.de</email>
+               <name>Jan Henke</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>proxy-ma...@gentoo.org</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
        <upstream>
                <remote-id 
type="github">intel/intel-graphics-compiler</remote-id>
        </upstream>

Reply via email to