commit:     eb7a87df42143a54309e6c16ec23dccaa430cfc9
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 27 01:17:54 2022 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sun Mar 27 22:21:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb7a87df

dev-util/intel-graphics-compiler: add 1.0.10713

Bug: https://bugs.gentoo.org/817146
Closes: https://bugs.gentoo.org/822438
Closes: https://github.com/gentoo/gentoo/pull/24731
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 dev-util/intel-graphics-compiler/Manifest          |  1 +
 ...713-allow-external-spirv-tools-fix-static.patch | 23 ++++++
 ...10713-allow-external-spirv-tools-last-fix.patch | 40 ++++++++++
 .../intel-graphics-compiler-1.0.10713.ebuild       | 87 ++++++++++++++++++++++
 4 files changed, 151 insertions(+)

diff --git a/dev-util/intel-graphics-compiler/Manifest 
b/dev-util/intel-graphics-compiler/Manifest
index a656665cd26a..a84e31babec5 100644
--- a/dev-util/intel-graphics-compiler/Manifest
+++ b/dev-util/intel-graphics-compiler/Manifest
@@ -1,2 +1,3 @@
+DIST intel-graphics-compiler-1.0.10713.tar.gz 8489446 BLAKE2B 
063b938ae6d32f3a64decf943215c54ea45eafdb828fdec467941f9e4288977332a3e5e0703193c95412c287f20944b5c2951310c6eb678233cd16dfdd3377b0
 SHA512 
a6c568d339c0316400f88e318a290a92f842eeb2ab92abd0c23ff155e6b90e2d8e012ac8714a9695a66a509ffef66574919d92bc03ff06b773a79896546fe1a6
 DIST intel-graphics-compiler-1.0.8744.tar.gz 7586378 BLAKE2B 
0f20f99a2659f733521af35c1dd63c2b1398bf4fc5745a217b96ad62cfa53f105d4c9a34eba09651d0f0679d6957820011446f5657170f5ad07d110372b8b1f3
 SHA512 
dbbe6c08f32b80be305add570187df883aacefbf90b252c70b5705ecc7732f25873732a85558f0aed2ee8db5bcd1a59aec4d7ba110774922dbb19d4d3522a539
 DIST intel-graphics-compiler-1.0.9441.tar.gz 7893557 BLAKE2B 
f050df0eddf63f880757fb04dded4ddc133c11fd7a7c8ceab152ac233ba9953b7efbe948433056654b2b43db2254a1edc15e5aada24fd3873face6f43d1307f9
 SHA512 
eaccec4213ea7af7deeaf8772784065839bb2f1dc98fb88b49acfcfc2b299f7e6ecb48c5df854448fa7db79f738654db722fcf684e9bbc94051d3bcfe449e20f

diff --git 
a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.10713-allow-external-spirv-tools-fix-static.patch
 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.10713-allow-external-spirv-tools-fix-static.patch
new file mode 100644
index 000000000000..6abfdfe60d53
--- /dev/null
+++ 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.10713-allow-external-spirv-tools-fix-static.patch
@@ -0,0 +1,23 @@
+From 7e6b78d1ccf5afb4080795aa87029e55b9e5499c Mon Sep 17 00:00:00 2001
+From: Andrey Agrachev <[email protected]>
+Date: Thu, 10 Mar 2022 12:51:37 +0000
+Subject: [PATCH]  Remove 'static' suffix
+
+Remove 'static' suffix to enable shared lib usage
+---
+ external/SPIRV-Tools/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/external/SPIRV-Tools/CMakeLists.txt 
b/external/SPIRV-Tools/CMakeLists.txt
+index f46a6988683..f40605c4b36 100644
+--- a/external/SPIRV-Tools/CMakeLists.txt
++++ b/external/SPIRV-Tools/CMakeLists.txt
+@@ -34,7 +34,7 @@ if(IGC_OPTION__SPIRV_TOOLS_MODE STREQUAL PREBUILDS_MODE_NAME)
+ 
+  set(INCLUDE_DIRS_LIST "${SPIRV-Tools_ROOT_DIR}/include" 
"${SPIRV-Headers_INCLUDE_DIR}")
+  set_target_properties(SPIRV-Tools-static PROPERTIES INCLUDE_DIRECTORIES 
"${INCLUDE_DIRS_LIST}")
+- set(IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools-static)
++ set(IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools)
+ 
+ else() #By default use build from sources
+  message(STATUS "[SPIRV-Tools] : IGC_OPTION__SPIRV_TOOLS_MODE set to Source")

diff --git 
a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.10713-allow-external-spirv-tools-last-fix.patch
 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.10713-allow-external-spirv-tools-last-fix.patch
new file mode 100644
index 000000000000..5959a514004c
--- /dev/null
+++ 
b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.10713-allow-external-spirv-tools-last-fix.patch
@@ -0,0 +1,40 @@
+From acfa99b5aefbebf037e4c939f5a8e592dfaed04e Mon Sep 17 00:00:00 2001
+From: Andrey Agrachev <[email protected]>
+Date: Tue, 22 Mar 2022 09:15:54 +0000
+Subject: [PATCH]  Fix missprints
+
+Fix misspints in Spirv-Tools CMakeList
+---
+ external/SPIRV-Tools/CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/external/SPIRV-Tools/CMakeLists.txt 
b/external/SPIRV-Tools/CMakeLists.txt
+index f40605c4b36..076079f7c86 100644
+--- a/external/SPIRV-Tools/CMakeLists.txt
++++ b/external/SPIRV-Tools/CMakeLists.txt
+@@ -16,7 +16,7 @@ if(IGC_OPTION__SPIRV_TOOLS_MODE STREQUAL PREBUILDS_MODE_NAME)
+  OPTION(IGC__OPTION_USE_PREINSTALLED_SPRIV_HEADERS OFF)
+ 
+  if(IGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS)
+-  message(STATUS "[SPIRV-Tools] : IGC__OPTION_USE_PREINSTALLED_SPRIV_HEADERS 
set to OFF, using preinstalled SPIRV-Headers")
++  message(STATUS "[SPIRV-Tools] : IGC__OPTION_USE_PREINSTALLED_SPRIV_HEADERS 
set to ON, using preinstalled SPIRV-Headers")
+   message(STATUS "[SPIRV-Tools] : Using preinstalled SPIRV-Headers")
+   set(SPIRV-Headers_INCLUDE_DIR "/usr/include")
+  else()
+@@ -33,13 +33,13 @@ if(IGC_OPTION__SPIRV_TOOLS_MODE STREQUAL 
PREBUILDS_MODE_NAME)
+  set(IGC_BUILD__SPIRV-Tools_DIR "${SPIRV-Tools_ROOT_DIR}")
+ 
+  set(INCLUDE_DIRS_LIST "${SPIRV-Tools_ROOT_DIR}/include" 
"${SPIRV-Headers_INCLUDE_DIR}")
+- set_target_properties(SPIRV-Tools-static PROPERTIES INCLUDE_DIRECTORIES 
"${INCLUDE_DIRS_LIST}")
++ set_target_properties(SPIRV-Tools PROPERTIES INCLUDE_DIRECTORIES 
"${INCLUDE_DIRS_LIST}")
+  set(IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools)
+ 
+ else() #By default use build from sources
+  message(STATUS "[SPIRV-Tools] : IGC_OPTION__SPIRV_TOOLS_MODE set to Source")
+- message(STATUS "[SPIRV-Tools] : IGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS 
set to ON")
+- message(STATUS "[SPIRV-Tools] : Using preinstalled packages")
++ message(STATUS "[SPIRV-Tools] : IGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS 
set to OFF")
++ message(STATUS "[SPIRV-Tools] : Building from source")
+  message(STATUS "[SPIRV-Tools] : Current source dir: 
${CMAKE_CURRENT_SOURCE_DIR}")
+ 
+  set(SPIRV-Headers_SOURCE_DIR 
"${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory

diff --git 
a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.10713.ebuild 
b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.10713.ebuild
new file mode 100644
index 000000000000..906d7de597c5
--- /dev/null
+++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.10713.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_BUILD_TYPE="Release"
+LLVM_MAX_SLOT="13"
+MY_PN="igc"
+MY_P="${MY_PN}-${PV}"
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit cmake flag-o-matic llvm python-any-r1
+
+DESCRIPTION="LLVM-based OpenCL compiler for OpenCL targetting Intel Gen 
graphics hardware"
+HOMEPAGE="https://github.com/intel/intel-graphics-compiler";
+SRC_URI="https://github.com/intel/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug"
+
+DEPEND="
+       dev-libs/opencl-clang:${LLVM_MAX_SLOT}=
+       dev-util/spirv-tools
+       sys-devel/llvm:${LLVM_MAX_SLOT}=
+"
+
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+       ${PYTHON_DEPS}
+       >=sys-devel/lld-${LLVM_MAX_SLOT}
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.0.9-no_Werror.patch"
+       "${FILESDIR}/${PN}-1.0.8173-opencl-clang_version.patch"
+       "${FILESDIR}/${PN}-1.0.8365-disable-git.patch"
+       
"${FILESDIR}/${PN}-1.0.10713-allow-external-spirv-tools-fix-static.patch"
+       "${FILESDIR}/${PN}-1.0.10713-allow-external-spirv-tools-last-fix.patch"
+)
+
+pkg_setup() {
+       llvm_pkg_setup
+       python-any-r1_pkg_setup
+}
+
+src_configure() {
+       # Get LLVM version
+       local llvm_version="$(best_version -d sys-devel/llvm:${LLVM_MAX_SLOT})"
+
+       # See https://github.com/intel/intel-graphics-compiler/issues/212
+       append-ldflags -Wl,-z,undefs
+
+       # See https://bugs.gentoo.org/718824
+       ! use debug && append-cppflags -DNDEBUG
+
+       local mycmakeargs=(
+               -DCCLANG_SONAME_VERSION="${LLVM_MAX_SLOT}"
+               -DCMAKE_LIBRARY_PATH="$(get_llvm_prefix 
${LLVM_MAX_SLOT})/$(get_libdir)"
+               -DIGC_OPTION__ARCHITECTURE_TARGET="Linux64"
+               -DIGC_OPTION__CLANG_MODE="Prebuilds"
+               -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR="ON"
+               -DIGC_OPTION__LLD_MODE="Prebuilds"
+               -DIGC_OPTION__LLDELF_H_DIR="${EPREFIX}/usr/include/lld/Common"
+               -DIGC_OPTION__LLVM_MODE="Prebuilds"
+               -DIGC_OPTION__LLVM_PREFERRED_VERSION="${llvm_version##*-}"
+               -DIGC_OPTION__SPIRV_TOOLS_MODE="Prebuilds"
+               -DIGC_OPTION__SPIRV_TRANSLATOR_MODE="Prebuilds"
+               -DIGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS="ON"
+               -DINSTALL_GENX_IR="ON"
+               
-DSPIRVLLVMTranslator_INCLUDE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/include/LLVMSPIRVLib"
+
+               # VectorCompiler needs work, as at the moment upstream
+               # only supports building vc-intrinsics in place.
+               -DIGC_BUILD__VC_ENABLED="OFF"
+               # -DIGC_OPTION__VC_INTRINSICS_MODE="Prebuilds"
+
+               # This will suspress some CMake warnings,
+               # which cannot be fixed at the moment.
+               -Wno-dev
+       )
+
+       cmake_src_configure
+}

Reply via email to