Date: Thursday, March 16, 2023 @ 08:18:46
  Author: tpkessler
Revision: 1420996

upgpkg: intel-oneapi-compiler-shared-runtime 2023.0.0-2: Split off OpenCL 
runtime for Intel CPUs

Modified:
  intel-oneapi-compiler-shared-runtime/trunk/PKGBUILD

----------+
 PKGBUILD |   90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 80 insertions(+), 10 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-03-16 08:07:01 UTC (rev 1420995)
+++ PKGBUILD    2023-03-16 08:18:46 UTC (rev 1420996)
@@ -1,10 +1,12 @@
 # Maintainer: Konstantin Gizdov <arch at kge dot pw>
+# Maintainer: Torsten Keßler <tpkessler at archlinux dot org>
 
 _pkgname='intel-oneapi-compiler-shared'
-pkgname="${_pkgname}-runtime"
+pkgbase="${_pkgname}-runtime"
+pkgname=("${_pkgname}-runtime" "${_pkgname}-opencl-cpu")
 pkgver=2023.0.0
 _debpkgrel=25370
-pkgrel=1
+pkgrel=2
 pkgdesc="Intel oneAPI compiler runtime libraries"
 arch=('x86_64')
 url='https://software.intel.com/content/www/us/en/develop/tools/oneapi.html'
@@ -13,9 +15,6 @@
         
"https://apt.repos.intel.com/oneapi/pool/main/${_pkgname}-common-${pkgver}-${pkgver}-${_debpkgrel}_all.deb";)
 
b2sums=('f75dd1a84724dd2fc0328ef99fae04a4095db77698e4c62d10f0b696f99909d33633ebc740f7fb1f6564c60399fde2728ef0e0f2e694388b24155e86be4e69fe'
         
'a8deb7510bd8aed85e6e72b162f22f866e3b2f9f1ad3da60ed385d9ad86d6460e450cad1f047c1d84cf00763bd1c2fdfe2fc9f19033858a0bfbe6ed9005db45a')
-depends=('intel-oneapi-openmp' 'intel-oneapi-common')
-provides=("${_pkgname}-common")
-conflicts=('intel-oneapi-basekit')
 
 noextract=(
     "${pkgname}-${pkgver}-${pkgver}-${_debpkgrel}_amd64.deb"
@@ -22,18 +21,57 @@
     "${_pkgname}-common-${pkgver}-${pkgver}-${_debpkgrel}_all.deb"
 )
 
-package() {
-    cd "${srcdir}"
+prepare() {
+    mkdir "${_pkgname}-${pkgver}"
     ar x "${srcdir}/${pkgname}-${pkgver}-${pkgver}-${_debpkgrel}_amd64.deb"
-    tar xvf data.tar.xz -C "${pkgdir}"
+    tar xvf data.tar.xz -C "${_pkgname}-${pkgver}"
     rm data.tar.xz
     ar x 
"${srcdir}/${_pkgname}-common-${pkgver}-${pkgver}-${_debpkgrel}_all.deb"
-    tar xvf data.tar.xz -C "${pkgdir}"
+    tar xvf data.tar.xz -C "${_pkgname}-${pkgver}"
     rm data.tar.xz
+}
 
+package_intel-oneapi-compiler-shared-runtime() {
+    depends=('intel-oneapi-openmp' 'intel-oneapi-common')
+    provides=("${_pkgname}-common")
+    conflicts=('intel-oneapi-basekit')
 
+    local _lib_path='/opt/intel/oneapi/compiler'
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux"
+    cp -a 
"${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/bin-llvm" \
+        "${pkgdir}/${_lib_path}/${pkgver}/linux"
+
+    cp -a 
"${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/include" \
+        "${pkgdir}/${_lib_path}/${pkgver}/linux"
+
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/bin"
+    local _bin
+    for _bin in aocl-ioc64 icx-cc icx-cl icx.cfg ioc64; do
+        cp -a 
"${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/bin/${_bin}" \
+            "${pkgdir}/${_lib_path}/${pkgver}/linux/bin"
+    done
+
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/compiler"
+    cp -a 
"${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/compiler/include" 
\
+        "${pkgdir}/${_lib_path}/${pkgver}/linux/compiler"
+
+    cp -a 
"${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/compiler/lib" \
+        "${pkgdir}/${_lib_path}/${pkgver}/linux/compiler"
+
+    local _lib
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/lib"
+    cd "${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/lib"
+    for _lib in clbltfnshared.rtl icx-lto.so libcm.so libigfxcmrt_emu.so 
libshim.so libshim_l0.so libxpti.a libxptifw.so libsycl-*; do
+        cp -a "${_lib}" "${pkgdir}/${_lib_path}/${pkgver}/linux/lib"
+    done
+
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/lib/x64"
+    cd "${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/lib/x64"
+    for _lib in libclang_compiler* libcommon_clang* libtask_executor*; do
+        cp -a "${_lib}" "${pkgdir}/${_lib_path}/${pkgver}/linux/lib/x64"
+    done
+    
     # add latest and common symlink
-    local _lib_path='/opt/intel/oneapi/compiler'
     ln -s "${_lib_path}/${pkgver}" "${pkgdir}/${_lib_path}/latest"
     ln -s "${_lib_path}/latest/linux/compiler/lib/intel64_lin" \
           "${pkgdir}/${_lib_path}/${pkgver}/linux/compiler/lib/intel64"
@@ -48,3 +86,35 @@
     install -d "${pkgdir}"/usr/share/licenses/"${pkgname}"
     ln -s /usr/share/licenses/intel-oneapi 
"${pkgdir}"/usr/share/licenses/"${pkgname}"/oneapi
 }
+
+package_intel-oneapi-compiler-shared-opencl-cpu() {
+    depends=('intel-oneapi-compiler-shared-runtime' 'opencl-headers' 
'opencl-icd-loader') 
+    conflicts=('intel-oneapi-basekit')
+
+    local _lib_path='/opt/intel/oneapi/compiler'
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/bin"
+    local _bin
+    for _bin in sycl-ls sycl-post-link; do
+        cp -a 
"${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/bin/${_bin}" \
+            "${pkgdir}/${_lib_path}/${pkgver}/linux/bin"
+    done
+
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/lib"
+    local _lib
+    cd "${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/lib"
+    for _lib in libOpenCL.so* libpi_esimd_emulator.so libpi_opencl.so; do
+        cp -a "${_lib}" "${pkgdir}/${_lib_path}/${pkgver}/linux/lib"
+    done
+
+    install -d "${pkgdir}/${_lib_path}/${pkgver}/linux/lib/x64"
+    cd "${srcdir}/${_pkgname}-${pkgver}/${_lib_path}/${pkgver}/linux/lib/x64"
+    for _lib in __ocl_svml* cl*.rtl cllibrary*.o libOclCpuBackEnd* 
libcl_logger* libcpu_device* libintelocl*; do
+        cp -a "${_lib}" "${pkgdir}/${_lib_path}/${pkgver}/linux/lib/x64"
+    done
+
+    echo "/opt/intel/oneapi/compiler/${pkgver}/linux/lib/libOpenCL.so" > 
"${pkgname}.icd"
+    install -Dm644 "${pkgname}.icd" "$pkgdir/etc/OpenCL/vendors/${pkgname}.icd"
+
+    install -d "${pkgdir}"/usr/share/licenses/"${pkgname}"
+    ln -s /usr/share/licenses/intel-oneapi 
"${pkgdir}"/usr/share/licenses/"${pkgname}"/oneapi
+}

Reply via email to