summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Henke <Jan.Henke@taujhe.de>2021-08-08 18:17:27 +0200
committerConrad Kostecki <conikost@gentoo.org>2021-08-16 19:09:09 +0200
commit169a449987cebdd7bdce2ca70974b56a7ae4a532 (patch)
treefe49e4cad457e83b5f193166b88eb990586d409d /dev-util
parentdev-util/spirv-llvm-translator: Update maintainer (diff)
downloadgentoo-169a449987cebdd7bdce2ca70974b56a7ae4a532.tar.gz
gentoo-169a449987cebdd7bdce2ca70974b56a7ae4a532.tar.bz2
gentoo-169a449987cebdd7bdce2ca70974b56a7ae4a532.zip
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@taujhe.de> Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/intel-graphics-compiler/Manifest1
-rw-r--r--dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-fix-missing-limits.patch23
-rw-r--r--dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.8173-opencl-clang_version.patch31
-rw-r--r--dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.8173.ebuild74
-rw-r--r--dev-util/intel-graphics-compiler/metadata.xml9
5 files changed, 137 insertions, 1 deletions
diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest
index fe838e9e4a21..420b17b3c1fb 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 000000000000..406262d2d914
--- /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.pagani@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 000000000000..54a3364e7c66
--- /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 000000000000..dd493717301b
--- /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 36d27b8681c7..c1144ffebb0c 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>gentoo@taujhe.de</email>
+ <name>Jan Henke</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">intel/intel-graphics-compiler</remote-id>
</upstream>