Package: guix-patches;
Reported by: Fis Trivial <ybbs.daans <at> hotmail.com>
Date: Sat, 12 May 2018 19:47:01 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Message #67 received at 31436-done <at> debbugs.gnu.org (full text, mbox):
From: ludo <at> gnu.org (Ludovic Courtès) To: Fis Trivial <ybbs.daans <at> hotmail.com> Cc: "31436 <at> debbugs.gnu.org" <31436-done <at> debbugs.gnu.org> Subject: Re: [PATCH 3/3] gnu: Add beignet. Date: Tue, 26 Jun 2018 23:00:16 +0200
[Message part 1 (text/plain, inline)]
Fis Trivial <ybbs.daans <at> hotmail.com> skribis: > * gnu/packages/opencl.scm (beignet): New variable. > * gnu/packages/patches/beignet-correct-paths.patch: New file. > * gnu/local.mk: Add it. Applied with the changes below. There’s one issue, though: the ‘beignet.pch’ file is not bit reproducible, as can be seen when running ‘guix build beignet --check -K’. The file is generated by Clang: --8<---------------cut here---------------start------------->8--- ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.local.pch COMMAND mkdir -p ${OCL_OBJECT_DIR} COMMAND ${CLANG_EXECUTABLE} -cc1 ${CLANG_OCL_FLAGS} -I ${OCL_OBJECT_DIR}/include/ -emit-pch -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.local.pch DEPENDS ${OCL_HEADER_FILES} COMMENT "Generate the pch file: ${OCL_OBJECT_DIR}/beignet.local.pch" ) --8<---------------cut here---------------end--------------->8--- This may be a Clang/LLVM issue not specific to Beignet, and we should ask the Clang/LLVM people about it. Thanks for following up on this patch series! I’m closing it now, but hopefully later on we’ll have POCL as well. Thanks, Ludo’.
[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/local.mk b/gnu/local.mk index b400c9f18..08888da35 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -583,7 +583,7 @@ dist_patch_DATA = \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ - %D%/packages/patches/beignet-correct-paths.patch \ + %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/bind-CVE-2018-5738.patch \ %D%/packages/patches/binutils-aarch64-symbol-relocation.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index b209d361d..644cd95e9 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -224,7 +224,12 @@ the system.") (sha256 (base32 "18r0lq3dkd4yn6bxa45s2lrr9cjbg70nr2nn6xablvgqwzw0jb0r")) - (patches (search-patches "beignet-correct-paths.patch")))) + (patches (search-patches "beignet-correct-file-names.patch")) + (modules '((guix build utils))) + (snippet + ;; There's a suspicious .isa binary file under kernels/. + ;; Remove it. + '(for-each delete-file (find-files "." "\\.isa$"))))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) (inputs `(("clang <at> 3.7" ,clang-3.7) @@ -251,13 +256,15 @@ the system.") (assoc-ref %build-inputs "clang <at> 3.7") "/lib") "-DENABLE_GL_SHARING=ON" "-DEXPERIMENTAL_DOUBLE=ON") + #:phases (modify-phases %standard-phases (add-after 'install 'remove-headers (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (delete-file-recursively - (string-append out "/include"))))) + (string-append out "/include")) + #t))) (add-after 'remove-headers 'install-kernels (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -265,14 +272,19 @@ the system.") (source-dir (string-append builddir "/../beignet-Release_v1.3.2/kernels"))) - (copy-recursively source-dir (string-append - out - "/lib/beignet/kernels")))))) + (copy-recursively source-dir + (string-append out "/lib/beignet/kernels")) + #t)))) ;; Beignet tries to find GPU when running tests, which is not available ;; during build. #:tests? #f)) (home-page "https://wiki.freedesktop.org/www/Software/Beignet/") - (synopsis "Intel's OpenCL framework") - (description "Intel's OpenCL framework that works with Intel IvyBridge GPUs -and above.") - (license license:gpl2))) + (synopsis "OpenCL framework for Intel GPUs") + (description + "Beignet is an implementation of the OpenCL specification. This code +base contains the code to run OpenCL programs on Intel GPUs---IvyBridge, +Haswell, Skylake, Apollolake, etc. It defines and implements the OpenCL host +functions required to initialize the device, create the command queues, the +kernels and the programs, and run them on the GPU. The code also contains a +back-end for the LLVM compiler framework.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/patches/beignet-correct-paths.patch b/gnu/packages/patches/beignet-correct-file-names.patch similarity index 73% rename from gnu/packages/patches/beignet-correct-paths.patch rename to gnu/packages/patches/beignet-correct-file-names.patch index 96f15d782..2c5d0bbae 100644 --- a/gnu/packages/patches/beignet-correct-paths.patch +++ b/gnu/packages/patches/beignet-correct-file-names.patch @@ -1,14 +1,5 @@ -From 0ba525465782ec3fd6484b7483941344f293d3ab Mon Sep 17 00:00:00 2001 -From: fis <ybbs.daans <at> hotmail.com> -Date: Sun, 8 Apr 2018 02:14:44 +0800 -Subject: [PATCH] Correct paths. - -* CMake/FindLLVM.cmake (CLANG_LIBRARY_DIR): New vairable. -* CMakelists: Let cmake figure out where to install icd file. ---- - CMake/FindLLVM.cmake | 2 +- - CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) +Help CMake find Clang's libraries. +Have it install the ICD file in the right place. diff --git a/CMake/FindLLVM.cmake b/CMake/FindLLVM.cmake index 5457f248..e8e8f94a 100644
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.