public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Conrad Kostecki" <conikost@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/files/, dev-util/intel-graphics-compiler/
Date: Mon, 16 Aug 2021 17:12:08 +0000 (UTC)	[thread overview]
Message-ID: <1629133749.169a449987cebdd7bdce2ca70974b56a7ae4a532.conikost@gentoo> (raw)

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.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 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>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>


             reply	other threads:[~2021-08-16 20:48 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-16 17:12 Conrad Kostecki [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-12-30 23:39 [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/files/, dev-util/intel-graphics-compiler/ Conrad Kostecki
2022-09-25 23:12 Conrad Kostecki
2022-04-23 18:33 Conrad Kostecki
2021-10-21 22:36 Conrad Kostecki
2021-09-21 18:26 Conrad Kostecki
2021-09-03 18:25 Conrad Kostecki
2021-08-28  1:57 Conrad Kostecki
2020-09-13 22:45 Marek Szuba
2020-06-19 14:31 Marek Szuba
2019-08-05 15:26 Marek Szuba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1629133749.169a449987cebdd7bdce2ca70974b56a7ae4a532.conikost@gentoo \
    --to=conikost@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox