Skip to content

Commit

Permalink
dev-util/intel-graphics-compiler: Version bump 1.0.8173
Browse files Browse the repository at this point in the history
Also fixes compilation on GCC 11 and call to python during building.

Bug: gentoo#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 <[email protected]>
Signed-off-by: Conrad Kostecki <[email protected]>
  • Loading branch information
janhenke authored and ConiKost committed Aug 16, 2021
1 parent 0c93f39 commit 169a449
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 1 deletion.
1 change: 1 addition & 0 deletions dev-util/intel-graphics-compiler/Manifest
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
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>
Original file line number Diff line number Diff line change
@@ -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)
Original file line number Diff line number Diff line change
@@ -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
}
9 changes: 8 additions & 1 deletion dev-util/intel-graphics-compiler/metadata.xml
Original file line number Diff line number Diff line change
@@ -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>[email protected]</email>
<name>Jan Henke</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>[email protected]</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="github">intel/intel-graphics-compiler</remote-id>
</upstream>
Expand Down

0 comments on commit 169a449

Please sign in to comment.