* Re: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
2020-02-14 11:46 ` New package: intel-parallel-studio-xe-2019.5.281_1 voidlinux-github
@ 2020-02-14 18:00 ` jbenden
2020-02-14 20:27 ` jbenden
` (6 subsequent siblings)
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-02-14 18:00 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 375 bytes --]
New comment by jbenden on void-packages repository
https://github.com/void-linux/void-packages/pull/19118#issuecomment-586401380
Comment:
I completely forgot. Yes, it does not permit redistribution. I've updated the template.
I wish for inclusion of this software, due to the absolute pain it is to install without a package (especially the kernel modules).
Thanks!!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
2020-02-14 11:46 ` New package: intel-parallel-studio-xe-2019.5.281_1 voidlinux-github
2020-02-14 18:00 ` jbenden
@ 2020-02-14 20:27 ` jbenden
2020-02-15 20:31 ` jbenden
` (5 subsequent siblings)
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-02-14 20:27 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 216 bytes --]
New comment by jbenden on void-packages repository
https://github.com/void-linux/void-packages/pull/19118#issuecomment-586459917
Comment:
Wow. :) Thank you so very much for the excellent reviews! It really helps!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
` (2 preceding siblings ...)
2020-02-14 20:27 ` jbenden
@ 2020-02-15 20:31 ` jbenden
2020-02-22 3:21 ` jbenden
` (4 subsequent siblings)
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-02-15 20:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 286 bytes --]
New comment by jbenden on void-packages repository
https://github.com/void-linux/void-packages/pull/19118#issuecomment-586638674
Comment:
I have pushed a new version. I am prepared to be destroyed! ;)
Thank you so much! Any comments, suggestions, or ideas are most welcomed,
-Joe
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
` (3 preceding siblings ...)
2020-02-15 20:31 ` jbenden
@ 2020-02-22 3:21 ` jbenden
2020-04-04 8:43 ` [PR PATCH] [Updated] " jbenden
` (3 subsequent siblings)
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-02-22 3:21 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 623 bytes --]
New comment by jbenden on void-packages repository
https://github.com/void-linux/void-packages/pull/19118#issuecomment-589912412
Comment:
I just figured out that a number of Python files were removed (post-install) by `xbps-src` hook scripts. But since these compiled Python files are required, I had to concoct a general solution to the problem.
I added a method of defining extra variables that control which hook scripts are skipped. For example, the one I'm using to skip over post-install hooks:
```
skip_post_install_hooks="02-remove-libtool-archives 02-remove-perl-files 02-remove-python-bytecode-files"
```
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PR PATCH] [Updated] New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
` (4 preceding siblings ...)
2020-02-22 3:21 ` jbenden
@ 2020-04-04 8:43 ` jbenden
2020-05-02 18:09 ` jbenden
` (2 subsequent siblings)
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-04-04 8:43 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 649 bytes --]
There is an updated pull request by jbenden against master on the void-packages repository
https://github.com/jbenden/void-packages intel-parallel-studio-xe
https://github.com/void-linux/void-packages/pull/19118
New package: intel-parallel-studio-xe-2019.5.281_1
This packages nearly all of the Intel Parallel Studio XE suite. It's commercial software.
I have been using the resultant packages for a bit now, and have worked out all kinks I've ran up against. I feel it's very useful for other folks now.
Signed-off-by: Joseph Benden <joe@benden.us>
A patch file from https://github.com/void-linux/void-packages/pull/19118.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-intel-parallel-studio-xe-19118.patch --]
[-- Type: text/x-diff, Size: 62845 bytes --]
From a71dff5142979b7c06c8643b67058543418590df Mon Sep 17 00:00:00 2001
From: Joseph Benden <joe@benden.us>
Date: Thu, 13 Feb 2020 19:00:13 -0700
Subject: [PATCH] New package: intel-parallel-studio-xe-2019.5.281_1
Signed-off-by: Joseph Benden <joe@benden.us>
---
common/shlibs | 29 +
common/xbps-src/shutils/common.sh | 16 +-
srcpkgs/intel-advisor | 1 +
srcpkgs/intel-common-libs | 1 +
srcpkgs/intel-compiler-base | 1 +
srcpkgs/intel-fortran-compiler | 1 +
srcpkgs/intel-inspector | 1 +
srcpkgs/intel-ipp | 1 +
srcpkgs/intel-mkl | 1 +
srcpkgs/intel-mpi | 1 +
srcpkgs/intel-openmp | 1 +
.../files/001-vtsspp.patch | 11 +
.../files/002-src-sys64.S.patch | 27 +
.../files/003-linux56.patch | 402 ++++++++++++
.../files/Makefile-dkms | 132 ++++
.../files/advixe-gui.desktop | 11 +
.../files/amplxe-gui.desktop | 12 +
.../files/inspxe-gui.desktop | 11 +
.../files/intel-common-libs.conf | 2 +
.../files/intel-fortran.conf | 1 +
.../files/intel-gdb.conf | 2 +
.../files/intel-ipp.conf | 2 +
.../files/intel-mkl-th.conf | 14 +
.../files/intel-mkl.conf | 1 +
.../files/intel-mkl.sh | 3 +
.../files/intel-mpi.conf | 4 +
.../files/intel-openmp.conf | 1 +
.../files/intel-tbb.conf | 2 +
.../files/intel-vtune-amplifier-dkms.dkms | 22 +
.../files/intel-vtune-amplifier-dkms.udev | 2 +
.../files/intel-vtune-amplifier.conf | 4 +
.../files/intel_advisor.sh | 2 +
.../files/intel_compilers.sh | 25 +
.../files/intel_inspector.sh | 2 +
.../files/intel_vtune-amplifier.sh | 2 +
.../intel-compiler-base.INSTALL | 14 +
.../intel-fortran-compiler.INSTALL | 14 +
.../intel-ipp.INSTALL | 14 +
.../intel-mkl.INSTALL | 14 +
.../intel-mpi.INSTALL | 14 +
.../intel-tbb-psxe.INSTALL | 14 +
srcpkgs/intel-parallel-studio-xe/template | 593 ++++++++++++++++++
srcpkgs/intel-tbb-psxe | 1 +
srcpkgs/intel-vtune-amplifier | 1 +
srcpkgs/intel-vtune-amplifier-dkms | 1 +
45 files changed, 1430 insertions(+), 1 deletion(-)
create mode 120000 srcpkgs/intel-advisor
create mode 120000 srcpkgs/intel-common-libs
create mode 120000 srcpkgs/intel-compiler-base
create mode 120000 srcpkgs/intel-fortran-compiler
create mode 120000 srcpkgs/intel-inspector
create mode 120000 srcpkgs/intel-ipp
create mode 120000 srcpkgs/intel-mkl
create mode 120000 srcpkgs/intel-mpi
create mode 120000 srcpkgs/intel-openmp
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/003-linux56.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/template
create mode 120000 srcpkgs/intel-tbb-psxe
create mode 120000 srcpkgs/intel-vtune-amplifier
create mode 120000 srcpkgs/intel-vtune-amplifier-dkms
diff --git a/common/shlibs b/common/shlibs
index 6d9745f8467..461e1503f95 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3855,3 +3855,32 @@ libraven.so.0 budgie-desktop-10.5.1_1
libbudgie-private.so.0 budgie-desktop-10.5.1_1
libbudgietheme.so.0 budgie-desktop-10.5.1_1
libbudgie-plugin.so.0 budgie-desktop-10.5.1_1
+libcilkrts.so.5 intel-common-libs-2019.5.281_1
+libcilkrts.so.5 intel-compiler-base-2019.5.281_1
+liboffload.so.5 intel-compiler-base-2019.5.281_1
+libioffload_host.so.5 intel-compiler-base-2019.5.281_1
+libioffload_target.so.5 intel-compiler-base-2019.5.281_1
+libpdbx.so.5 intel-common-libs-2019.5.281_1
+libintlc.so.5 intel-common-libs-2019.5.281_1
+libimf.so intel-common-libs-2019.5.281_1
+libsvml.so intel-common-libs-2019.5.281_1
+libirng.so intel-common-libs-2019.5.281_1
+libchkp.so intel-common-libs-2019.5.281_1
+libiomp5.so intel-openmp-2019.5.281_1
+libiompstubs5.so intel-openmp-2019.5.281_1
+libifcoremt.so.5 intel-fortran-compiler-2019.5.281_1
+libifport.so.5 intel-fortran-compiler-2019.5.281_1
+libifcore.so.5 intel-fortran-compiler-2019.5.281_1
+libfabric.so.1 intel-mpi-2019.5.281_1
+libmpi.so.12 intel-mpi-2019.5.281_1
+libmpicxx.so.12 intel-mpi-2019.5.281_1
+libmpijava.so.1 intel-mpi-2019.5.281_1
+libmpifort.so.12 intel-mpi-2019.5.281_1
+libtbb_preview_debug.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc_debug.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc_proxy.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc_proxy_debug.so.2 intel-tbb-psxe-2019.5.281_1
+libtbb.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc.so.2 intel-tbb-psxe-2019.5.281_1
+libtbb_preview.so.2 intel-tbb-psxe-2019.5.281_1
+libtbb_debug.so.2 intel-tbb-psxe-2019.5.281_1
diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh
index eb7a2545461..5489c6d2b32 100644
--- a/common/xbps-src/shutils/common.sh
+++ b/common/xbps-src/shutils/common.sh
@@ -221,13 +221,27 @@ source_file() {
}
run_pkg_hooks() {
- local phase="$1" hookn f
+ local phase="$1" hookn f skips j
+
+ eval skips="\$skip_${phase//\-/\_}_hooks"
eval unset -f hook
for f in ${XBPS_COMMONDIR}/hooks/${phase}/*.sh; do
[ ! -r $f ] && continue
hookn=${f##*/}
hookn=${hookn%.sh}
+ for j in ${skips}; do
+ if [ "$j" = "$hookn" ]; then
+ skiphook=1
+ break
+ fi
+ done
+ if [ -n "$skiphook" ]; then
+ msg_warn "Skipping $phase hook: $hookn\n"
+ unset skiphook
+ continue
+ fi
+
. $f
run_func hook "$phase hook: $hookn" ${phase}_${hookn}
done
diff --git a/srcpkgs/intel-advisor b/srcpkgs/intel-advisor
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-advisor
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-common-libs b/srcpkgs/intel-common-libs
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-common-libs
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-compiler-base b/srcpkgs/intel-compiler-base
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-compiler-base
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-fortran-compiler b/srcpkgs/intel-fortran-compiler
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-fortran-compiler
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-inspector b/srcpkgs/intel-inspector
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-inspector
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-ipp b/srcpkgs/intel-ipp
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-ipp
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-mkl b/srcpkgs/intel-mkl
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-mkl
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-mpi b/srcpkgs/intel-mpi
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-mpi
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-openmp b/srcpkgs/intel-openmp
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-openmp
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch b/srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch
new file mode 100644
index 00000000000..22514967df5
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch
@@ -0,0 +1,11 @@
+--- a/src/vtsspp/Makefile 2019-08-19 09:51:34.000000000 -0700
++++ b/src/vtsspp/Makefile 2019-12-28 12:55:53.422853567 -0700
+@@ -117,7 +117,7 @@
+ _KBUILD_CFLAGS := $(call flags,KBUILD_CFLAGS)
+ CHECK_BUILD := $(CC) $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(LINUXINCLUDE) \
+ $(_KBUILD_CFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) $(CFLAGS) \
+- -DKBUILD_BASENAME=\"$(DRIVER_NAME)\" -Werror -S -o /dev/null -xc >> $(obj)/.autoconf.log 2>&1
++ -DKBUILD_BASENAME=\"$(DRIVER_NAME)\" -Werror -S -Wno-pointer-sign -o /dev/null -xc >> $(obj)/.autoconf.log 2>&1
+
+ autoconf-srcs := $(sort $(wildcard $(M)/autoconf/*.c))
+ $(addprefix $(obj)/,$($(DRIVER_NAME)-objs)): $(obj)/autoconf.h
diff --git a/srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch b/srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch
new file mode 100644
index 00000000000..edb4caa0b21
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch
@@ -0,0 +1,27 @@
+--- a/src/sys64.S 2020-02-02 13:50:48.115924420 -0700
++++ b/src/sys64.S 2020-02-02 13:52:02.903102145 -0700
+@@ -44,10 +44,10 @@
+ #
+ #***********************************************************************
+ .global SYS_Get_GDT_Base
+-ENTRY(SYS_Get_GDT_Base)
++SYM_FUNC_START(SYS_Get_GDT_Base)
+ SGDT (%rdi)
+ ret
+-ENDPROC(SYS_Get_GDT_Base)
++SYM_FUNC_END(SYS_Get_GDT_Base)
+
+ #***********************************************************************
+ #
+@@ -79,9 +79,9 @@
+ #
+ #***********************************************************************
+ .global SYS_IO_Delay
+-ENTRY(SYS_IO_Delay)
++SYM_FUNC_START(SYS_IO_Delay)
+ ret
+-ENDPROC(SYS_IO_Delay)
++SYM_FUNC_END(SYS_IO_Delay)
+
+ # ----------------------------------------------------------------------------
+ # name: SYS_PerfVec_Handler
diff --git a/srcpkgs/intel-parallel-studio-xe/files/003-linux56.patch b/srcpkgs/intel-parallel-studio-xe/files/003-linux56.patch
new file mode 100644
index 00000000000..fdd2bd1b494
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/003-linux56.patch
@@ -0,0 +1,402 @@
+diff -ur src.org/chap.c src/chap.c
+--- a/src/chap.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/chap.c 2020-04-02 18:25:32.683588495 -0700
+@@ -40,6 +40,10 @@
+ #include "inc/ecb_iterators.h"
+ #include "inc/utility.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ extern DRV_CONFIG drv_cfg;
+ extern CHIPSET_CONFIG pma;
+ extern CPU_STATE pcb;
+diff -ur src.org/pax/pax.c src/pax/pax.c
+--- a/src.org/pax/pax.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/pax/pax.c 2020-04-02 19:35:20.361068607 -0700
+@@ -87,6 +87,14 @@
+
+ static int pax_version_proc_read(struct seq_file*, void *);
+ static int pax_version_proc_open(struct inode*, struct file*);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops pax_version_ops = {
++ .proc_open = pax_version_proc_open,
++ .proc_read = seq_read,
++ .proc_lseek = seq_lseek,
++ .proc_release = single_release,
++};
++#else
+ static struct file_operations pax_version_ops = {
+ .owner = THIS_MODULE,
+ .open = pax_version_proc_open,
+@@ -94,6 +102,7 @@
+ .llseek = seq_lseek,
+ .release = single_release,
+ };
++#endif
+
+ // Print macros for kernel debugging
+
+diff -ur src.org/pci.c src/pci.c
+--- a/src.org/pci.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/pci.c 2020-04-02 18:25:53.513949236 -0700
+@@ -45,6 +45,9 @@
+ #include "inc/pci.h"
+ #include "inc/utility.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
+
+ struct pci_bus* pci_buses[MAX_BUSNO] = {0};
+
+diff -ur src.org/socperf/src/haswellunc_sa.c src/socperf/src/haswellunc_sa.c
+--- a/src.org/socperf/src/haswellunc_sa.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/socperf/src/haswellunc_sa.c 2020-04-02 18:27:23.164501894 -0700
+@@ -72,6 +72,10 @@
+ #include "ecb_iterators.h"
+ #include "inc/pci.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ static U64 counter_virtual_address = 0;
+ static U32 counter_overflow[HSWUNC_SA_MAX_COUNTERS];
+ extern LWPMU_DEVICE device_uncore;
+diff -ur src.org/socperf/src/npk_uncore.c src/socperf/src/npk_uncore.c
+--- a/src.org/socperf/src/npk_uncore.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/socperf/src/npk_uncore.c 2020-04-02 18:27:37.395748364 -0700
+@@ -71,6 +71,9 @@
+ #include "inc/control.h"
+ #include "inc/npk_uncore.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
+
+ extern LWPMU_DEVICE device_uncore;
+ static U32 counter_overflow[SOC_NPK_COUNTER_MAX_COUNTERS];
+diff -ur src.org/socperf/src/pci.c src/socperf/src/pci.c
+--- a/src.org/socperf/src/pci.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/socperf/src/pci.c 2020-04-02 18:27:09.492265096 -0700
+@@ -68,6 +68,10 @@
+ #include "socperfdrv.h"
+ #include "pci.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ /* ------------------------------------------------------------------------- */
+ /*!
+ * @fn extern int SOCPERF_PCI_Read_From_Memory_Address(addr, val)
+diff -ur src.org/socperf/src/soc_uncore.c src/socperf/src/soc_uncore.c
+--- a/src.org/socperf/src/soc_uncore.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/socperf/src/soc_uncore.c 2020-04-02 18:26:57.556058374 -0700
+@@ -70,6 +70,10 @@
+ #include "inc/ecb_iterators.h"
+ #include "inc/pci.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ #if defined (PCI_HELPERS_API)
+ #include <asm/intel_mid_pcihelpers.h>
+ #elif defined(DRV_CHROMEOS)
+diff -ur src.org/utility.c src/utility.c
+--- a/src.org/utility.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/utility.c 2020-04-02 18:54:02.271136122 -0700
+@@ -33,7 +33,7 @@
+ #include <linux/kallsyms.h>
+ #include <asm/msr.h>
+ #include <linux/ptrace.h>
+-#include <linux/time.h>
++#include <linux/timekeeping.h>
+ #include <linux/vmalloc.h>
+
+ #include "lwpmudrv_defines.h"
+@@ -858,12 +858,6 @@
+ }
+ }
+ }
+-
+-#if defined(CONFIG_DYNAMIC_FTRACE)
+- if (category_verbosity & LOG_CHANNEL_TRACEK) {
+- trace_printk("%s", tmp_array);
+- }
+-#endif
+ }
+ }
+
+@@ -898,7 +892,11 @@
+ void
+ )
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0)
+ struct timespec cur_time;
++#else
++ struct timespec64 cur_time;
++#endif
+ U32 size = sizeof(*driver_log_buffer);
+ U8 using_contiguous_physical_memory;
+ U32 bitness;
+@@ -954,7 +952,11 @@
+ DRV_LOG_BUFFER_log_size(driver_log_buffer) = sizeof(*driver_log_buffer);
+ DRV_LOG_BUFFER_max_nb_pri_entries(driver_log_buffer) = DRV_LOG_MAX_NB_PRI_ENTRIES;
+ DRV_LOG_BUFFER_max_nb_aux_entries(driver_log_buffer) = DRV_LOG_MAX_NB_AUX_ENTRIES;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0)
+ getnstimeofday(&cur_time);
++#else
++ ktime_get_real_ts64(&cur_time);
++#endif
+ DRV_LOG_BUFFER_init_time(driver_log_buffer) = cur_time.tv_sec;
+ DRV_LOG_BUFFER_disambiguator(driver_log_buffer) = 0;
+ DRV_LOG_BUFFER_log_version(driver_log_buffer) = DRV_LOG_VERSION;
+diff -ur src.org/vtsspp/apic.c src/vtsspp/apic.c
+--- a/src.org/vtsspp/apic.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/vtsspp/apic.c 2020-04-02 18:26:12.203272915 -0700
+@@ -32,6 +32,10 @@
+
+ #include <asm/io.h>
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ /* APIC base MSR */
+ #define VTSS_APIC_BASE_MSR 0x01b
+
+diff -ur src.org/vtsspp/procfs.c src/vtsspp/procfs.c
+--- a/src.org/vtsspp/procfs.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/vtsspp/procfs.c 2020-04-02 19:47:10.820772845 -0700
+@@ -607,13 +607,12 @@
+ return 0;
+ }
+
+-static const struct file_operations vtss_procfs_ctrl_fops = {
+- .owner = THIS_MODULE,
+- .read = vtss_procfs_ctrl_read,
+- .write = vtss_procfs_ctrl_write,
+- .open = vtss_procfs_ctrl_open,
+- .release = vtss_procfs_ctrl_close,
+- .poll = vtss_procfs_ctrl_poll,
++static const struct proc_ops vtss_procfs_ctrl_fops = {
++ .proc_read = vtss_procfs_ctrl_read,
++ .proc_write = vtss_procfs_ctrl_write,
++ .proc_open = vtss_procfs_ctrl_open,
++ .proc_release = vtss_procfs_ctrl_close,
++ .proc_poll = vtss_procfs_ctrl_poll,
+ };
+
+ /* ************************************************************************* */
+@@ -651,12 +650,11 @@
+ return seq_open(file, &vtss_procfs_debug_sops);
+ }
+
+-static const struct file_operations vtss_procfs_debug_fops = {
+- .owner = THIS_MODULE,
+- .open = vtss_procfs_debug_open,
+- .read = seq_read,
+- .llseek = seq_lseek,
+- .release = seq_release,
++static const struct proc_ops vtss_procfs_debug_fops = {
++ .proc_open = vtss_procfs_debug_open,
++ .proc_read = seq_read,
++ .proc_lseek = seq_lseek,
++ .proc_release = seq_release,
+ };
+
+ /* ************************************************************************* */
+@@ -725,12 +723,11 @@
+ return 0;
+ }
+
+-static const struct file_operations vtss_procfs_cpumask_fops = {
+- .owner = THIS_MODULE,
+- .read = vtss_procfs_cpumask_read,
+- .write = vtss_procfs_cpumask_write,
+- .open = vtss_procfs_cpumask_open,
+- .release = vtss_procfs_cpumask_close,
++static const struct proc_ops vtss_procfs_cpumask_fops = {
++ .proc_read = vtss_procfs_cpumask_read,
++ .proc_write = vtss_procfs_cpumask_write,
++ .proc_open = vtss_procfs_cpumask_open,
++ .proc_release = vtss_procfs_cpumask_close,
+ };
+
+ /* ************************************************************************* */
+@@ -793,12 +790,11 @@
+ return 0;
+ }
+
+-static const struct file_operations vtss_procfs_defsav_fops = {
+- .owner = THIS_MODULE,
+- .read = vtss_procfs_defsav_read,
+- .write = vtss_procfs_defsav_write,
+- .open = vtss_procfs_defsav_open,
+- .release = vtss_procfs_defsav_close,
++static const struct proc_ops vtss_procfs_defsav_fops = {
++ .proc_read = vtss_procfs_defsav_read,
++ .proc_write = vtss_procfs_defsav_write,
++ .proc_open = vtss_procfs_defsav_open,
++ .proc_release = vtss_procfs_defsav_close,
+ };
+
+ /* ************************************************************************* */
+@@ -836,12 +832,11 @@
+ return seq_open(file, &vtss_procfs_targets_sops);
+ }
+
+-static const struct file_operations vtss_procfs_targets_fops = {
+- .owner = THIS_MODULE,
+- .open = vtss_procfs_targets_open,
+- .read = seq_read,
+- .llseek = seq_lseek,
+- .release = seq_release,
++static const struct proc_ops vtss_procfs_targets_fops = {
++ .proc_open = vtss_procfs_targets_open,
++ .proc_read = seq_read,
++ .proc_lseek = seq_lseek,
++ .proc_release = seq_release,
+ };
+
+ /* ************************************************************************* */
+@@ -903,12 +898,11 @@
+ return 0;
+ }
+
+-static const struct file_operations vtss_procfs_timesrc_fops = {
+- .owner = THIS_MODULE,
+- .read = vtss_procfs_timesrc_read,
+- .write = vtss_procfs_timesrc_write,
+- .open = vtss_procfs_timesrc_open,
+- .release = vtss_procfs_timesrc_close,
++static const struct proc_ops vtss_procfs_timesrc_fops = {
++ .proc_read = vtss_procfs_timesrc_read,
++ .proc_write = vtss_procfs_timesrc_write,
++ .proc_open = vtss_procfs_timesrc_open,
++ .proc_release = vtss_procfs_timesrc_close,
+ };
+
+ /* ************************************************************************* */
+@@ -966,12 +960,11 @@
+ return 0;
+ }
+
+-static const struct file_operations vtss_procfs_timelimit_fops = {
+- .owner = THIS_MODULE,
+- .read = vtss_procfs_timelimit_read,
+- .write = vtss_procfs_timelimit_write,
+- .open = vtss_procfs_timelimit_open,
+- .release = vtss_procfs_timelimit_close,
++static const struct proc_ops vtss_procfs_timelimit_fops = {
++ .proc_read = vtss_procfs_timelimit_read,
++ .proc_write = vtss_procfs_timelimit_write,
++ .proc_open = vtss_procfs_timelimit_open,
++ .proc_release = vtss_procfs_timelimit_close,
+ };
+
+ /* ************************************************************************* */
+@@ -1059,7 +1052,7 @@
+ }
+ }
+
+-static int vtss_procfs_create_entry(const char* name, const struct file_operations* fops)
++static int vtss_procfs_create_entry(const char* name, const struct proc_ops* fops)
+ {
+ struct proc_dir_entry *pde = proc_create(name, (mode_t)(mode ? (mode & 0666) : 0660), vtss_procfs_root, fops);
+ if (pde == NULL) {
+diff -ur src.org/vtsspp/record.c src/vtsspp/record.c
+--- a/src.org/vtsspp/record.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/vtsspp/record.c 2020-04-02 19:51:52.914419880 -0700
+@@ -673,15 +673,15 @@
+ }
+ /* generate time marker record */
+ {
+- struct timespec now;
++ struct timespec64 now;
+ time_marker_record_t timark;
+ timark.flagword = UEC_LEAF1 | UEC_VECTORED | UECL1_REALTSC;
+ timark.vectored = UECL1_REALTSC;
+ timark.vec_no = 2;
+ timark.tsc = vtss_time_real();
+- getnstimeofday(&now);
++ ktime_get_real_ts64(&now);
+ /* convert global time to 100ns units */
+- timark.utc = div64_u64((u64)timespec_to_ns(&now), 100ULL);
++ timark.utc = div64_u64((u64)timespec64_to_ns(&now), 100ULL);
+ rc |= vtss_transport_record_write(trnd, &timark, sizeof(timark), NULL, 0, is_safe);
+ }
+
+diff -ur src.org/vtsspp/time.h src/vtsspp/time.h
+--- a/src.org/vtsspp/time.h 2020-04-02 13:20:20.000000000 -0700
++++ b/src/vtsspp/time.h 2020-04-02 19:41:09.597822272 -0700
+@@ -59,9 +59,9 @@
+ static inline unsigned long long vtss_time_real(void)
+ {
+ if (!vtss_time_source) {
+- struct timespec now;
+- getrawmonotonic(&now); /* getnstimeofday(&now); */
+- return (unsigned long long)timespec_to_ns(&now);
++ struct timespec64 now;
++ ktime_get_real_ts64(&now);
++ return (unsigned long long)timespec64_to_ns(&now);
+ } else
+ return (unsigned long long)get_cycles();
+ }
+@@ -72,14 +72,14 @@
+ unsigned long long tsc = vtss_time_cpu();
+
+ if (!vtss_time_source) {
+- struct timespec now1, now2;
+- getrawmonotonic(&now1);
++ struct timespec64 now1, now2;
++ ktime_get_real_ts64(&now1);
+ // rdtsc barrier
+ asm volatile("mfence");
+ asm volatile("lfence");
+- getrawmonotonic(&now2);
++ ktime_get_real_ts64(&now2);
+ *ptsc = (tsc + vtss_time_cpu()) / 2;
+- *preal = (timespec_to_ns(&now1) + timespec_to_ns(&now2)) / 2;
++ *preal = (timespec64_to_ns(&now1) + timespec64_to_ns(&now2)) / 2;
+ } else
+ *ptsc = *preal = tsc;
+ }
+diff -ur src.org/vtsspp/transport.c src/vtsspp/transport.c
+--- a/src.org/vtsspp/transport.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/vtsspp/transport.c 2020-04-02 19:50:40.170221540 -0700
+@@ -1421,13 +1421,12 @@
+ return 0;
+ }
+
+-static struct file_operations vtss_transport_fops = {
+- .owner = THIS_MODULE,
+- .read = vtss_transport_read,
+- .write = vtss_transport_write,
+- .open = vtss_transport_open,
+- .release = vtss_transport_close,
+- .poll = vtss_transport_poll,
++static struct proc_ops vtss_transport_fops = {
++ .proc_read = vtss_transport_read,
++ .proc_write = vtss_transport_write,
++ .proc_open = vtss_transport_open,
++ .proc_release = vtss_transport_close,
++ .proc_poll = vtss_transport_poll,
+ };
+
+ static void vtss_transport_remove(struct vtss_transport_data* trnd)
+diff -ur src.org/vtsspp/utils.c src/vtsspp/utils.c
+--- a/src.org/vtsspp/utils.c 2020-04-02 13:20:20.000000000 -0700
++++ b/src/vtsspp/utils.c 2020-04-02 19:54:10.651688908 -0700
+@@ -30,6 +30,7 @@
+ #include "utils.h"
+
+ #include <linux/kallsyms.h>
++#include <asm-generic/io.h>
+
+ #ifdef CONFIG_KALLSYMS
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
diff --git a/srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms b/srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms
new file mode 100644
index 00000000000..16df217cca1
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms
@@ -0,0 +1,132 @@
+#
+# Version: 1.6
+#
+# Copyright (C) 2008-2019 Intel Corporation. All Rights Reserved.
+#
+# This file is part of SEP Development Kit
+#
+# SEP Development Kit is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# SEP Development Kit is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with SEP Development Kit; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+#
+
+# -------------------- user configurable options ------------------------
+
+# base name of SEP driver
+DRIVER_NAME = sep5
+
+# location to install driver
+ifeq ($(INSTALL),)
+INSTALL = .
+endif
+
+# current working directory
+DRV_CWD := $(shell pwd)/src
+
+# If KERNELRELEASE is defined, we've been invoked from the
+# kernel build system and can use its language.
+# Example flags are "-Werror", "-Wno-error", etc.
+EXTRA_CFLAGS += -I$(LDDINCDIR) -I$(LDDINCDIR1)
+
+# if ARCH variable is set, unset it to avoid conflicts with kbuild
+unexport ARCH
+
+# platform details
+MACH ?= $(shell uname -m)
+export MACH
+ifeq ($(MACH),x86_64)
+PLATFORM=x32_64
+endif
+ifeq ($(PLATFORM),)
+PLATFORM=x32
+endif
+KERNEL_VERSION ?= $(shell uname -r)
+SMP ?= $(shell uname -v | grep SMP)
+ARITY=up
+ifneq ($(SMP),)
+ARITY=smp
+endif
+
+ifeq ($(PER_USER_MODE),YES)
+SEP_PER_USER=-pu
+endif
+
+
+# this is a temporary work-around for handling the module structure changes across multiple kernels.
+# need to find out a proper solution.
+ifneq ($(KERNEL_SRC_DIR),)
+ PATH_PREFIX = $(KERNEL_SRC_DIR)
+endif
+PATH_PREFIX ?= /lib/modules/$(shell uname -r)/build
+ifneq ($(shell grep -s $(PATH_PREFIX)/include/linux/module.h -we "struct module_layout"),)
+ EXTRA_CFLAGS += -DSEP_CONFIG_MODULE_LAYOUT
+endif
+
+ifeq ($(shell test -e $(PATH_PREFIX)/include/linux/kaiser.h && echo -n YES),YES)
+ EXTRA_CFLAGS += -DKAISER_HEADER_PRESENT
+endif
+
+# eventual filename of SEP driver
+DRIVER_MODE=$(DRIVER_NAME)$(SEP_PER_USER)
+DRIVER_TYPE=$(PLATFORM)-$(KERNEL_VERSION)$(ARITY)
+DRIVER_FILENAME=$(DRIVER_MODE)-$(DRIVER_TYPE).ko
+
+ KERNEL_SRC_DIR ?= /lib/modules/$(shell uname -r)/build
+ PWD := $(shell pwd)
+
+socperfdir=$(DRV_CWD)/socperf
+ifeq ($(wildcard $(socperfdir)),)
+ socperfdir=
+endif
+
+all: default
+
+modules: default
+
+default:
+ @(cd $(socperfdir)/src && make all)
+ @cp $(socperfdir)/src/Module*.symvers src/.
+ $(MAKE) -C $(KERNEL_SRC_DIR) M=$(PWD)/src LDDINCDIR=$(PWD)/src/../include LDDINCDIR1=$(PWD)/src/inc modules PWD=$(PWD)/src KBUILD_EXTRA_SYMBOLS=$(socperfdir)/src/Module.symvers
+ cp src/$(DRIVER_NAME).ko src/$(DRIVER_FILENAME)
+ @(cd src/pax && make all)
+ @if [ -d src/vtsspp ]; then \
+ (cd src/vtsspp && make all); \
+ fi;
+
+clean:
+ ( cd src && rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno .cache.mk *.o.ur-safe .*.o.tmp; \
+ rm -f $(DRIVER_NAME).ko $(DRIVER_NAME).ko.unsigned; \
+ rm -f $(DRIVER_MODE)*$(DRIVER_TYPE).ko; \
+ rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers; \
+ rm -rf .tmp_versions )
+ @(cd src/pax && make clean)
+ @(cd $(socperfdir)/src && make clean)
+ @if [ -d src/vtsspp ]; then \
+ (cd src/vtsspp && make clean); \
+ fi;
+
+distclean: clean
+ ( cd src && rm -f $(DRIVER_NAME)*.ko )
+ @(cd src/pax && make distclean)
+ @(cd $(socperfdir)/src && make distclean)
+ @if [ -d src/vtsspp ]; then \
+ (cd src/vtsspp && make distclean); \
+ fi;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop b/srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop
new file mode 100755
index 00000000000..6249ed8ab7a
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Intel Advisor
+GenericName=Intel Advisor
+Exec="/opt/intel/advisor_<ver>/<arch>/advixe-gui"
+Terminal=false
+MimeType=text/plain;
+Categories=Development;
+StartupNotify=false
+Actions=Window;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop b/srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop
new file mode 100755
index 00000000000..e3e55f112a6
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Intel VTune Amplifier
+GenericName=VTune
+Exec="/opt/intel/vtune_amplifier_<ver>/<arch>/amplxe-gui"
+Terminal=false
+MimeType=text/plain;
+Icon=/opt/intel/vtune_amplifier_<ver>/<arch>/resources/app/icons/Amplifier.png
+Categories=Development;
+StartupNotify=false
+Actions=Window;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop b/srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop
new file mode 100755
index 00000000000..b45b030f71c
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Intel Inspector
+GenericName=Intel Inspector
+Exec="/opt/intel/inspector_<ver>/<arch>/inspxe-gui"
+Terminal=false
+MimeType=text/plain;
+Categories=Development;
+StartupNotify=false
+Actions=Window;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf
new file mode 100644
index 00000000000..5f6aef45c5b
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf
@@ -0,0 +1,2 @@
+/opt/intel/lib
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf
new file mode 100644
index 00000000000..606297f2bee
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf
@@ -0,0 +1 @@
+/opt/intel/composerxe/linux/compiler/lib/<arch>
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf
new file mode 100644
index 00000000000..923d50f7b07
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf
@@ -0,0 +1,2 @@
+/opt/intel/debugger_lib/<arch>
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf
new file mode 100644
index 00000000000..6567d613607
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf
@@ -0,0 +1,2 @@
+/opt/intel/ipp/lib/<arch>
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf
new file mode 100644
index 00000000000..aabc06e7d3f
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf
@@ -0,0 +1,14 @@
+#
+# Confgure the MKL multithreading
+# for more details visit: http://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_UG_managing_performance/Using_Additional_Threading_Control.htm
+#
+
+# Uncomment if you want to set a constant number o threads.
+# export MKL_NUM_THREADS=4
+
+# Uncomment and edit if you want to set the nr. of threads for every components.
+# export MKL_DOMAIN_NUM_THREADS="MKL_ALL=4, MKL_BLAS=4"
+
+# If TRUE MKL set automatically the optimal number of threads
+export MKL_DYNAMIC=TRUE
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf
new file mode 100644
index 00000000000..bd0cd3c0816
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf
@@ -0,0 +1 @@
+/opt/intel/mkl/lib/<arch>
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh
new file mode 100755
index 00000000000..b1959aafb6b
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+. /etc/intel-mkl-th.conf
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf
new file mode 100644
index 00000000000..e83ffa9ebfa
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf
@@ -0,0 +1,4 @@
+/opt/intel/composerxe/linux/mpi/<arch>/lib
+/opt/intel/mpi/<arch>/libfabric/lib
+/opt/intel/mpi/<arch>/lib/release
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf
new file mode 100644
index 00000000000..57bae35bafd
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf
@@ -0,0 +1 @@
+/opt/intel/lib/irml
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf
new file mode 100644
index 00000000000..7b0a89cb944
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf
@@ -0,0 +1,2 @@
+<INSTALLDIR>/tbb/lib/<arch>/gcc4.7
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms
new file mode 100644
index 00000000000..b73fcee0279
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms
@@ -0,0 +1,22 @@
+PACKAGE_NAME="intel-vtune-amplifier"
+PACKAGE_VERSION="#MODULE_VERSION#"
+MAKE[0]="'make' KERNEL_SRC_DIR=${kernel_source_dir} default"
+CLEAN="'make' KERNEL_SRC_DIR=${kernel_source_dir} clean"
+PATCH[0]="001-vtsspp.patch"
+PATCH[1]="002-src-sys64.S.patch"
+PATCH_MATCH[1]="^5.(5|6)"
+PATCH[2]="003-linux56.patch"
+PATCH_MATCH[2]="^5.6"
+BUILT_MODULE_NAME[0]="sep5"
+BUILT_MODULE_LOCATION[0]="src"
+DEST_MODULE_LOCATION[0]="/updates"
+BUILT_MODULE_NAME[1]="socperf3"
+BUILT_MODULE_LOCATION[1]="src/socperf/src"
+DEST_MODULE_LOCATION[1]="/updates"
+BUILT_MODULE_NAME[2]="pax"
+BUILT_MODULE_LOCATION[2]="src/pax"
+DEST_MODULE_LOCATION[2]="/updates"
+BUILT_MODULE_NAME[3]="vtsspp"
+BUILT_MODULE_LOCATION[3]="src/vtsspp"
+DEST_MODULE_LOCATION[3]="/updates"
+AUTOINSTALL="yes"
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev
new file mode 100644
index 00000000000..ee8a80c7bd1
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev
@@ -0,0 +1,2 @@
+KERNEL=="sep5*", OWNER="root", GROUP="vtune", MODE="0660", ENV{ACL_MANAGE}="1"
+KERNEL=="pax*", OWNER="root", GROUP="vtune", MODE="0660", ENV{ACL_MANAGE}="1"
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf
new file mode 100644
index 00000000000..87c980d8ffd
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf
@@ -0,0 +1,4 @@
+pax
+socperf3
+sep5
+vtsspp
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh
new file mode 100644
index 00000000000..8f909ab0cd7
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh
@@ -0,0 +1,2 @@
+PATH=$PATH:/opt/intel/advisor_<ver>/<arch>
+export PATH
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh
new file mode 100755
index 00000000000..e87a4c84fb4
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+TMP_LLP=$LD_LIBRARY_PATH
+if [ -z $TMP_LLP ] ; then
+ LLP_NULL=true ;
+else
+ LLP_NULL=false ;
+fi
+
+if [ -f /opt/intel/composerxe/linux/bin/compilervars.sh ] ; then
+. /opt/intel/composerxe/linux/bin/compilervars.sh <arch> -platform linux
+fi
+
+PATH=$PATH:/opt/intel/bin
+export PATH
+
+if [ $LLP_NULL ] ; then
+ unset LD_LIBRARY_PATH
+else
+ LD_LIBRARY_PATH=$TMP_LLP
+ export LD_LIBRARY_PATH
+fi
+
+INTEL_LICENSE_FILE=/opt/intel/licenses
+export INTEL_LICENSE_FILE
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh
new file mode 100644
index 00000000000..72a1edceb92
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh
@@ -0,0 +1,2 @@
+PATH=$PATH:/opt/intel/inspector_<ver>/<arch>
+export PATH
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh
new file mode 100644
index 00000000000..c260526464f
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh
@@ -0,0 +1,2 @@
+PATH=$PATH:/opt/intel/vtune_profiler_<ver>/<arch>
+export PATH
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/template b/srcpkgs/intel-parallel-studio-xe/template
new file mode 100644
index 00000000000..64fa44e6847
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/template
@@ -0,0 +1,593 @@
+# Template file for 'intel-parallel-studio-xe'
+pkgname=intel-parallel-studio-xe
+version=2019.5.281.5
+revision=1
+_version=( ${version//./ } )
+_year=${_version[0]}
+_v_a=${_version[1]}
+_v_b=${_version[2]}
+_update=${_version[3]}
+_sp='cluster_edition'
+_icc_ver='19.0.5'
+_vtune_ver='2019.6.0.602217'
+_inspector_ver='2019.5.0.602103'
+_advisor_ver='2019.5.0.602216'
+_dir_nr=15809
+_psxe_dir="parallel_studio_xe_${_year}${_update:+_update${_update}}_${_sp}"
+archs="x86_64"
+wrksrc="${_psxe_dir}"
+depends="bash gcc hicolor-icon-theme desktop-file-utils"
+short_desc="Intel C++ C and FORTRAN compiler"
+maintainer="Joseph Benden <joe@benden.us>"
+license="custom:Proprietary"
+homepage="https://software.intel.com/en-us/parallel-studio-xe"
+distfiles="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${_dir_nr}/${_psxe_dir}.tgz"
+checksum=c03421de616bd4e640ed25ce4103ec9c5c85768a940a5cb5bd1e97b45be33904
+repository="nonfree"
+restricted=yes
+
+build_options="nodocs staticlibs"
+build_options_default="nodocs"
+
+lib32disabled=yes
+nodebug=yes
+nopie=yes
+nostrip=yes
+# NOTE(jbenden): This variable fails xlint; need to patch it if accepted.
+skip_post_install_hooks="02-remove-libtool-archives 02-remove-perl-files 02-remove-python-bytecode-files"
+
+if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
+ _i_arch='intel64'
+ _bin_dir='bin64'
+ _not_arch='ia32'
+else
+ _i_arch='ia32'
+ _bin_dir='bin32'
+ _not_arch='intel64'
+fi
+
+extract_rpm() {
+ # filter out rpms for incompatible arch
+ local extract=true
+ if ! [[ "$1" =~ .noarch.rpm$ ]]; then
+ if [[ "$1" =~ (-32bit.+\.x86_64|\.i486)\.rpm$ ]]; then
+ if [[ "$XBPS_TARGET_MACHINE" != 'i686' ]]; then
+ extract=false
+ fi
+ else
+ if [[ "$XBPS_TARGET_MACHINE" == 'i686' ]]; then
+ extract=false
+ fi
+ fi
+ fi
+ if [ "$extract" = true ]; then
+ msg_normal " ${1##*/}\n"
+ bsdtar -xf $1 -C $2
+ else
+ msg_normal "skipped ${1##*/}\n"
+ fi
+}
+
+extract_rpms() {
+ # select binary files of specific arch
+ local rpm_dir=""
+ if [ -z "$3" ]; then
+ rpm_dir="${_rpm_dir}"
+ else
+ rpm_dir="$3"
+ fi
+ for rpm_file in ${rpm_dir}/$1 ; do
+ extract_rpm ${rpm_file} $2
+ done
+}
+
+set_build_vars() {
+ _composer_xe_dir="compilers_and_libraries_${_year}.${_v_a}.${_v_b}"
+ _rpm_dir=${wrksrc}/rpm
+ _xe_build_dir=${wrksrc}/cxe_build
+ _base_dir=$(realpath ${wrksrc}/..)
+ _man_dir=${_xe_build_dir}/usr/share/man/man1
+}
+
+do_install() {
+ set_build_vars
+
+ # clean build directories
+ [ -d ${_xe_build_dir} ] && rm -fr ${_xe_build_dir}
+ mkdir -p ${_xe_build_dir}
+
+ extract_rpms 'intel-parallel-studio-*.rpm' ${_xe_build_dir}
+ extract_rpms 'intel-psxe-*.rpm' ${_xe_build_dir}
+
+ vlicense ${wrksrc}/license.txt
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+}
+
+intel-common-libs_package() {
+ short_desc="Intel Common Libraries $_icc_ver"
+ shlib_provides="libintlc.so.5 libcilkrts.so.5 libpdbx.so.5
+ libimf.so libsvml.so libirng.so libchkp.so"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ install -Dm644 ${FILESDIR}/intel-common-libs.conf \
+ ${PKGDESTDIR}/etc/ld.so.conf.d/intel-common-libs.conf
+
+ extract_rpms 'intel-comp-ps-ss-bec*.rpm' ${_xe_build_dir}
+ ( cd ${_xe_build_dir}/opt/intel \
+ && ln -snf ${_composer_xe_dir}/linux/compiler/lib/${_i_arch}_lin \
+ lib )
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+ }
+}
+
+intel-openmp_package() {
+ short_desc="Intel OpenMP Implementation ${_icc_ver}"
+ shlib_provides="libiomp5.so libiompstubs5.so"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ extract_rpms 'intel-openmp*.rpm' ${_xe_build_dir}
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+ }
+}
+
+intel-compiler-base_package() {
+ short_desc="Intel C/C++ $_icc_ver"
+ shlib_provides="libcilkrts.so.5 liboffload.so.5
+ libioffload_host.so.5 libioffload_target.so.5"
+ nostrip=yes
+ allow_unknown_shlibs=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+ mkdir -p ${_man_dir}
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel_compilers.sh \
+ > ${_xe_build_dir}/etc/profile.d/intel_compilers.sh
+ chmod a+x ${_xe_build_dir}/etc/profile.d/intel_compilers.sh
+
+ extract_rpms 'intel-icc*.rpm' ${_xe_build_dir}
+ extract_rpms 'intel-c-comp-*.rpm' ${_xe_build_dir}
+ for rpm_file in \
+ $(find ${_rpm_dir} -name 'intel-comp-*.rpm' \
+ ! -name 'intel-comp-ps-ss-bec-*.rpm' -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ./opt/intel/${_composer_xe_dir}/linux/bin
+
+ rm *.csh
+
+ for f in *.sh ; do
+ sed -i 's/<PRODDIR>/\/opt\/intel/g' $f
+ sed -i \
+ "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}\/linux/g" \
+ $f
+ done
+
+ mv ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man/common/man1/*.1 ${_man_dir}
+ rm -rf ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/usr ${PKGDESTDIR}/
+
+ cd ${PKGDESTDIR}/opt/intel
+ ln -s ./${_composer_xe_dir} composerxe
+ ln -s ./${_composer_xe_dir}/linux/bin/${_i_arch} bin
+ ln -s ./${_composer_xe_dir}/linux/pkg_bin pkg_bin
+ }
+}
+
+intel-mpi_package() {
+ short_desc="Intel MPI library"
+ shlib_provides="libfabric.so.1 libmpi.so.12 libmpicxx.so.12
+ libmpijava.so.1 libmpifort.so.12"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./bin
+ mkdir -p ./etc/ld.so.conf.d
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-mpi.conf \
+ > ./etc/ld.so.conf.d/intel-mpi.conf
+
+ extract_rpms 'intel-mpi-*.rpm' ${_xe_build_dir}
+
+ cd ./opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/bin
+ rm mpivars.csh
+
+ for i in mpi* ; do
+ sed -i "s/I_MPI_SUBSTITUTE_INSTALLDIR/\/opt\/intel\/${_composer_xe_dir}\/linux\/mpi/g" $i
+ done
+
+ chmod a+x mpivars.sh
+
+ rm -rf ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi_${_year}
+ rm -rf ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/licensing/mpi_${_year}
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ # some libraries are missing, so remove problematic ones
+ rm -f ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/libfabric/lib/prov/libpsmx2-fi.so
+ rm -f ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/libfabric/lib/prov/libmlx-fi.so
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}
+
+ ln -s ./${_composer_xe_dir}/linux/mpi/ ${PKGDESTDIR}/opt/intel/mpi
+ }
+}
+
+intel-fortran-compiler_package() {
+ short_desc="Intel Fortran compiler $_icc_ver"
+ shlib_provides="libifcoremt.so.5 libifport.so.5 libifcore.so.5"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+ mkdir -p ${_man_dir}
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-fortran.conf \
+ > ./etc/ld.so.conf.d/intel-fortran.conf
+
+ extract_rpms 'intel-ifort*.rpm' ${_xe_build_dir}
+
+ rm ./opt/intel/${_composer_xe_dir}/linux/bin/*.csh
+
+ # remove duplicate logo and .css found in intel base
+ rm ${_xe_build_dir}/opt/intel/documentation_${_year}/en/compiler_f/ps${_year}/resources/{intel_gsp_styles.css,intel_logo.png}
+
+ mv ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man/common/man1/*.1 ${_man_dir}
+ rm -rf ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ rm ./compiler/include/omp_lib.f90
+ rm ./compiler/include/${_i_arch}/omp_lib.mod
+ rm ./compiler/include/${_i_arch}/omp_lib_kinds.mod
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/usr ${PKGDESTDIR}/
+ }
+}
+
+intel-ipp_package() {
+ short_desc="Intel Integrated Performance Primitives"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-ipp.conf \
+ > ./etc/ld.so.conf.d/intel-ipp.conf
+
+ extract_rpms 'intel-ipp-*.rpm' ${_xe_build_dir}
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/ipp/bin
+ rm ippvars.csh
+ sed -i "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}\/linux/g" ippvars.sh
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./samples ./examples')
+ $(vopt_if staticlibs "rm -fr ./ipp/lib/${_i_arch}/libipp*.a")
+ $(vopt_if staticlibs "rm -fr ./ipp/lib/${_i_arch}/nonpic/libipp*.a")
+ $(vopt_if staticlibs "rmdir ./ipp/lib/${_i_arch}/nonpic/")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ ln -s ./${_composer_xe_dir}/linux/ipp/ ${PKGDESTDIR}/opt/intel/ipp
+ }
+}
+
+intel-mkl_package() {
+ short_desc="Intel Math Kernel Library (Intel® MKL)"
+ nostrip=yes
+ conf_files=etc/intel-mkl-th.conf
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+ mkdir -p ./etc/profile.d
+
+ cp ${FILESDIR}/intel-mkl.sh ./etc/profile.d/
+ chmod a+x ./etc/profile.d/intel-mkl.sh
+
+ cp ${FILESDIR}/intel-mkl-th.conf ./etc/
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-mkl.conf \
+ > ./etc/ld.so.conf.d/intel-mkl.conf
+
+ extract_rpms 'intel-mkl-*.rpm' ${_xe_build_dir}
+
+ cd ./opt/intel/${_composer_xe_dir}/linux/mkl
+ rm ./bin/mklvars.csh
+ sed -i "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}\/linux/g" \
+ ./bin/mklvars.sh
+
+ $(vopt_if nodocs 'rm -fr ./examples ./benchmarks')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+ $(vopt_if staticlibs "rm -fr ./lib/${_i_arch}/libmkl_*.a")
+ $(vopt_if staticlibs "rm -f ./lib/mic/libmkl_*.a")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ ln -s ./${_composer_xe_dir}/linux/mkl/ \
+ ${PKGDESTDIR}/opt/intel/mkl
+ }
+}
+
+intel-tbb-psxe_package() {
+ short_desc="Intel Threading Building Blocks (TBB)"
+ shlib_provides="libtbb_preview_debug.so.2 libtbbmalloc_debug.so.2
+ libtbbmalloc_proxy.so.2 libtbbmalloc_proxy_debug.so.2 libtbb.so.2
+ libtbbmalloc.so.2 libtbb_preview.so.2 libtbb_debug.so.2"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-tbb.conf \
+ > ./etc/ld.so.conf.d/intel-tbb.conf
+ sed -i "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}/g" \
+ ./etc/ld.so.conf.d/intel-tbb.conf
+
+ extract_rpms 'intel-tbb-*.rpm' ${_xe_build_dir}
+
+ cd ./opt/intel/${_composer_xe_dir}/linux
+ rm ./tbb/bin/tbbvars.csh
+ sed -i "s/SUBSTITUTE_INSTALL_DIR_HERE/\/opt\/intel\/${_composer_xe_dir}\/linux\/tbb/g" \
+ ./tbb/bin/tbbvars.sh
+ chmod a+x ./tbb/bin/tbbvars.sh
+
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs 'rm -fr ./tbb/examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ ln -s ./${_composer_xe_dir}/linux/tbb/ ${PKGDESTDIR}/opt/intel/tbb
+ }
+}
+
+intel-vtune-amplifier_package() {
+ short_desc="Intel VTune Amplifier $_vtune_ver"
+ depends='desktop-file-utils pangox-compat python glibc libgomp libgcc
+ libstdc++ fontconfig freetype libxcb libxkbcommon-x11 libxkbcommon
+ zlib libX11 libGL glib gtk+3 pango atk cairo gdk-pixbuf libXcomposite
+ libXcursor libXdamage libXext libXfixes libXi libXrender libXtst
+ expat libuuid libXrandr libXScrnSaver alsa-lib dbus-libs at-spi2-atk
+ libcups'
+ nostrip=yes
+ noshlibprovides=yes
+ noverifyrdeps=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_vtune_ver}/g" \
+ < ${FILESDIR}/intel_vtune-amplifier.sh \
+ > etc/profile.d/intel_vtune-amplifier.sh
+ chmod a+x ./etc/profile.d/intel_vtune-amplifier.sh
+
+ for rpm_file in $(find ${_rpm_dir} -name 'intel-vtune-amplifier-*.rpm' \
+ ! -name "intel-vtune-amplifier-${_year}-sep-*.rpm" -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver}
+ rm -fr ./uninstall ./uninstall*.sh
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ rm -rf vpp/server/dist/3rdparty/vpp-python-centos
+ rm -rf vpp/server/dist/3rdparty/vpp-python-ubuntu
+ find ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver} \
+ -mindepth 1 -type d -empty -delete
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ vmkdir usr/share/applications
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_vtune_ver}/g" \
+ < ${FILESDIR}/amplxe-gui.desktop \
+ > ${PKGDESTDIR}/usr/share/applications/amplxe-gui.desktop
+ }
+}
+
+intel-vtune-amplifier-dkms_package() {
+ short_desc="Intel VTune Amplifier $_vtune_ver - module source for dkms"
+ dkms_modules="intel-vtune-amplifier ${version}"
+ depends='dkms'
+ archs=noarch
+ system_groups="vtune"
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+
+ for rpm_file in $(find ${_rpm_dir} \
+ -name "intel-vtune-amplifier-${_year}-sep-*.rpm" -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver}
+ find ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver} \
+ -mindepth 1 -type d -empty -delete
+
+ local _moddir=${PKGDESTDIR}/usr/src/intel-vtune-amplifier-${version}
+
+ install -d ${_moddir}
+ cp -a sepdk/. ${_moddir}
+ mkdir -p ${_moddir}/patches
+ install -m644 ${FILESDIR}/Makefile-dkms \
+ ${_moddir}/Makefile
+ install -m644 ${FILESDIR}/001-vtsspp.patch \
+ ${_moddir}/patches/001-vtsspp.patch
+ install -m644 ${FILESDIR}/002-src-sys64.S.patch \
+ ${_moddir}/patches/002-src-sys64.S.patch
+ install -m644 ${FILESDIR}/003-linux56.patch \
+ ${_moddir}/patches/003-linux56.patch
+ sed "s,#MODULE_VERSION#,${version}," \
+ ${FILESDIR}/intel-vtune-amplifier-dkms.dkms \
+ > ${_moddir}/dkms.conf
+ vinstall ${FILESDIR}/intel-vtune-amplifier-dkms.udev 644 \
+ usr/lib/udev/rules.d 60-intel-vtune-amplifier-dkms.rules
+ vinstall ${FILESDIR}/intel-vtune-amplifier.conf 644 \
+ usr/lib/modules-load.d
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ }
+}
+
+intel-advisor_package() {
+ short_desc="Intel Advisor $_advisor_ver"
+ depends='desktop-file-utils'
+ nostrip=yes
+ noshlibprovides=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_advisor_ver}/g" \
+ < ${FILESDIR}/intel_advisor.sh \
+ > etc/profile.d/intel_advisor.sh
+ chmod a+x etc/profile.d/intel_advisor.sh
+
+ for rpm_file in $(find ${_rpm_dir} \
+ -name 'intel-advisor-*.rpm' -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/advisor_${_advisor_ver}
+ rm -fr ./uninstall ./uninstall*.sh
+ find ${_xe_build_dir}/opt/intel/advisor_${_advisor_ver} \
+ -mindepth 1 -type d -empty -delete
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ vmkdir usr/share
+ mv ${_xe_build_dir}/opt/intel/advisor_${_advisor_ver}/man ${PKGDESTDIR}/usr/share
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ vmkdir usr/share/applications
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_advisor_ver}/g" \
+ < ${FILESDIR}/advixe-gui.desktop \
+ > ${PKGDESTDIR}/usr/share/applications/advixe-gui.desktop
+ }
+}
+
+intel-inspector_package() {
+ short_desc="Intel Inspector $_inspector_ver"
+ depends='desktop-file-utils'
+ nostrip=yes
+ noshlibprovides=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_inspector_ver}/g" \
+ < ${FILESDIR}/intel_inspector.sh \
+ > etc/profile.d/intel_inspector.sh
+ chmod a+x etc/profile.d/intel_inspector.sh
+
+ for rpm_file in $(find ${_rpm_dir} \
+ -name 'intel-inspector-*.rpm' -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/inspector_${_inspector_ver}
+ rm -fr ./uninstall ./uninstall*.sh
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ vmkdir usr/share
+ mv ${_xe_build_dir}/opt/intel/inspector_${_inspector_ver}/man \
+ ${PKGDESTDIR}/usr/share
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ vmkdir usr/share/applications
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_inspector_ver}/g" \
+ < ${FILESDIR}/inspxe-gui.desktop \
+ > ${PKGDESTDIR}/usr/share/applications/inspxe-gui.desktop
+ }
+}
diff --git a/srcpkgs/intel-tbb-psxe b/srcpkgs/intel-tbb-psxe
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-tbb-psxe
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-vtune-amplifier b/srcpkgs/intel-vtune-amplifier
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-vtune-amplifier
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-vtune-amplifier-dkms b/srcpkgs/intel-vtune-amplifier-dkms
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-vtune-amplifier-dkms
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PR PATCH] [Updated] New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
` (5 preceding siblings ...)
2020-04-04 8:43 ` [PR PATCH] [Updated] " jbenden
@ 2020-05-02 18:09 ` jbenden
2020-05-02 18:19 ` jbenden
2021-07-05 5:40 ` [PR PATCH] [Closed]: " jbenden
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-05-02 18:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 649 bytes --]
There is an updated pull request by jbenden against master on the void-packages repository
https://github.com/jbenden/void-packages intel-parallel-studio-xe
https://github.com/void-linux/void-packages/pull/19118
New package: intel-parallel-studio-xe-2019.5.281_1
This packages nearly all of the Intel Parallel Studio XE suite. It's commercial software.
I have been using the resultant packages for a bit now, and have worked out all kinks I've ran up against. I feel it's very useful for other folks now.
Signed-off-by: Joseph Benden <joe@benden.us>
A patch file from https://github.com/void-linux/void-packages/pull/19118.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-intel-parallel-studio-xe-19118.patch --]
[-- Type: text/x-diff, Size: 63877 bytes --]
From 573c46164273e809ca6e78ddab229d38b51775e3 Mon Sep 17 00:00:00 2001
From: Joseph Benden <joe@benden.us>
Date: Thu, 13 Feb 2020 19:00:13 -0700
Subject: [PATCH] New package: intel-parallel-studio-xe-2019.5.281_1
Signed-off-by: Joseph Benden <joe@benden.us>
---
common/shlibs | 29 +
common/xbps-src/shutils/common.sh | 16 +-
srcpkgs/intel-advisor | 1 +
srcpkgs/intel-common-libs | 1 +
srcpkgs/intel-compiler-base | 1 +
srcpkgs/intel-fortran-compiler | 1 +
srcpkgs/intel-inspector | 1 +
srcpkgs/intel-ipp | 1 +
srcpkgs/intel-mkl | 1 +
srcpkgs/intel-mpi | 1 +
srcpkgs/intel-openmp | 1 +
.../files/001-vtsspp.patch | 11 +
.../files/002-src-sys64.S.patch | 39 ++
.../files/003-ioremap.patch | 89 +++
.../files/004-remove-trace-printk.patch | 15 +
.../files/005-time64.patch | 102 +++
.../files/006-proc_ops.patch | 227 +++++++
.../files/Makefile-dkms | 132 ++++
.../files/advixe-gui.desktop | 11 +
.../files/amplxe-gui.desktop | 12 +
.../files/inspxe-gui.desktop | 11 +
.../files/intel-common-libs.conf | 2 +
.../files/intel-fortran.conf | 1 +
.../files/intel-gdb.conf | 2 +
.../files/intel-ipp.conf | 2 +
.../files/intel-mkl-th.conf | 14 +
.../files/intel-mkl.conf | 1 +
.../files/intel-mkl.sh | 3 +
.../files/intel-mpi.conf | 4 +
.../files/intel-openmp.conf | 1 +
.../files/intel-tbb.conf | 2 +
.../files/intel-vtune-amplifier-dkms.dkms | 23 +
.../files/intel-vtune-amplifier-dkms.udev | 2 +
.../files/intel-vtune-amplifier.conf | 4 +
.../files/intel_advisor.sh | 2 +
.../files/intel_compilers.sh | 25 +
.../files/intel_inspector.sh | 2 +
.../files/intel_vtune-amplifier.sh | 2 +
.../intel-compiler-base.INSTALL | 14 +
.../intel-fortran-compiler.INSTALL | 14 +
.../intel-ipp.INSTALL | 14 +
.../intel-mkl.INSTALL | 14 +
.../intel-mpi.INSTALL | 14 +
.../intel-tbb-psxe.INSTALL | 14 +
srcpkgs/intel-parallel-studio-xe/template | 593 ++++++++++++++++++
srcpkgs/intel-tbb-psxe | 1 +
srcpkgs/intel-vtune-amplifier | 1 +
srcpkgs/intel-vtune-amplifier-dkms | 1 +
48 files changed, 1474 insertions(+), 1 deletion(-)
create mode 120000 srcpkgs/intel-advisor
create mode 120000 srcpkgs/intel-common-libs
create mode 120000 srcpkgs/intel-compiler-base
create mode 120000 srcpkgs/intel-fortran-compiler
create mode 120000 srcpkgs/intel-inspector
create mode 120000 srcpkgs/intel-ipp
create mode 120000 srcpkgs/intel-mkl
create mode 120000 srcpkgs/intel-mpi
create mode 120000 srcpkgs/intel-openmp
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/003-ioremap.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/004-remove-trace-printk.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/005-time64.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/006-proc_ops.patch
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh
create mode 100755 srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL
create mode 100644 srcpkgs/intel-parallel-studio-xe/template
create mode 120000 srcpkgs/intel-tbb-psxe
create mode 120000 srcpkgs/intel-vtune-amplifier
create mode 120000 srcpkgs/intel-vtune-amplifier-dkms
diff --git a/common/shlibs b/common/shlibs
index 9fb74043e9f..40ac71336a6 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3862,3 +3862,32 @@ libkdsoap.so.1.9.0 KDSoap-1.9.0_1
libstoken.so.1 stoken-0.92_1
libjpegxr.so.0 jxrlib-0.2.2_1
libjxrglue.so.0 jxrlib-0.2.2_1
+libcilkrts.so.5 intel-common-libs-2019.5.281_1
+libcilkrts.so.5 intel-compiler-base-2019.5.281_1
+liboffload.so.5 intel-compiler-base-2019.5.281_1
+libioffload_host.so.5 intel-compiler-base-2019.5.281_1
+libioffload_target.so.5 intel-compiler-base-2019.5.281_1
+libpdbx.so.5 intel-common-libs-2019.5.281_1
+libintlc.so.5 intel-common-libs-2019.5.281_1
+libimf.so intel-common-libs-2019.5.281_1
+libsvml.so intel-common-libs-2019.5.281_1
+libirng.so intel-common-libs-2019.5.281_1
+libchkp.so intel-common-libs-2019.5.281_1
+libiomp5.so intel-openmp-2019.5.281_1
+libiompstubs5.so intel-openmp-2019.5.281_1
+libifcoremt.so.5 intel-fortran-compiler-2019.5.281_1
+libifport.so.5 intel-fortran-compiler-2019.5.281_1
+libifcore.so.5 intel-fortran-compiler-2019.5.281_1
+libfabric.so.1 intel-mpi-2019.5.281_1
+libmpi.so.12 intel-mpi-2019.5.281_1
+libmpicxx.so.12 intel-mpi-2019.5.281_1
+libmpijava.so.1 intel-mpi-2019.5.281_1
+libmpifort.so.12 intel-mpi-2019.5.281_1
+libtbb_preview_debug.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc_debug.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc_proxy.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc_proxy_debug.so.2 intel-tbb-psxe-2019.5.281_1
+libtbb.so.2 intel-tbb-psxe-2019.5.281_1
+libtbbmalloc.so.2 intel-tbb-psxe-2019.5.281_1
+libtbb_preview.so.2 intel-tbb-psxe-2019.5.281_1
+libtbb_debug.so.2 intel-tbb-psxe-2019.5.281_1
diff --git a/common/xbps-src/shutils/common.sh b/common/xbps-src/shutils/common.sh
index 44a92d52361..690ac8ef4f1 100644
--- a/common/xbps-src/shutils/common.sh
+++ b/common/xbps-src/shutils/common.sh
@@ -221,13 +221,27 @@ source_file() {
}
run_pkg_hooks() {
- local phase="$1" hookn f
+ local phase="$1" hookn f skips j
+
+ eval skips="\$skip_${phase//\-/\_}_hooks"
eval unset -f hook
for f in ${XBPS_COMMONDIR}/hooks/${phase}/*.sh; do
[ ! -r $f ] && continue
hookn=${f##*/}
hookn=${hookn%.sh}
+ for j in ${skips}; do
+ if [ "$j" = "$hookn" ]; then
+ skiphook=1
+ break
+ fi
+ done
+ if [ -n "$skiphook" ]; then
+ msg_warn "Skipping $phase hook: $hookn\n"
+ unset skiphook
+ continue
+ fi
+
. $f
run_func hook "$phase hook: $hookn" ${phase}_${hookn}
done
diff --git a/srcpkgs/intel-advisor b/srcpkgs/intel-advisor
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-advisor
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-common-libs b/srcpkgs/intel-common-libs
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-common-libs
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-compiler-base b/srcpkgs/intel-compiler-base
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-compiler-base
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-fortran-compiler b/srcpkgs/intel-fortran-compiler
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-fortran-compiler
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-inspector b/srcpkgs/intel-inspector
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-inspector
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-ipp b/srcpkgs/intel-ipp
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-ipp
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-mkl b/srcpkgs/intel-mkl
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-mkl
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-mpi b/srcpkgs/intel-mpi
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-mpi
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-openmp b/srcpkgs/intel-openmp
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-openmp
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch b/srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch
new file mode 100644
index 00000000000..22514967df5
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/001-vtsspp.patch
@@ -0,0 +1,11 @@
+--- a/src/vtsspp/Makefile 2019-08-19 09:51:34.000000000 -0700
++++ b/src/vtsspp/Makefile 2019-12-28 12:55:53.422853567 -0700
+@@ -117,7 +117,7 @@
+ _KBUILD_CFLAGS := $(call flags,KBUILD_CFLAGS)
+ CHECK_BUILD := $(CC) $(KBUILD_CPPFLAGS) $(CPPFLAGS) $(LINUXINCLUDE) \
+ $(_KBUILD_CFLAGS) $(CFLAGS_KERNEL) $(EXTRA_CFLAGS) $(CFLAGS) \
+- -DKBUILD_BASENAME=\"$(DRIVER_NAME)\" -Werror -S -o /dev/null -xc >> $(obj)/.autoconf.log 2>&1
++ -DKBUILD_BASENAME=\"$(DRIVER_NAME)\" -Werror -S -Wno-pointer-sign -o /dev/null -xc >> $(obj)/.autoconf.log 2>&1
+
+ autoconf-srcs := $(sort $(wildcard $(M)/autoconf/*.c))
+ $(addprefix $(obj)/,$($(DRIVER_NAME)-objs)): $(obj)/autoconf.h
diff --git a/srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch b/srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch
new file mode 100644
index 00000000000..0a143e3464e
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/002-src-sys64.S.patch
@@ -0,0 +1,39 @@
+--- a/src/sys64.S
++++ b/src/sys64.S
+@@ -44,10 +44,18 @@
+ #
+ #***********************************************************************
+ .global SYS_Get_GDT_Base
++#ifdef SYM_FUNC_START
++SYM_FUNC_START(SYS_Get_GDT_Base)
++#else
+ ENTRY(SYS_Get_GDT_Base)
++#endif
+ SGDT (%rdi)
+ ret
++#ifdef SYM_FUNC_END
++SYM_FUNC_END(SYS_Get_GDT_Base)
++#else
+ ENDPROC(SYS_Get_GDT_Base)
++#endif
+
+ #***********************************************************************
+ #
+@@ -79,9 +87,17 @@ ENDPROC(SYS_Get_GDT_Base)
+ #
+ #***********************************************************************
+ .global SYS_IO_Delay
++#ifdef SYM_FUNC_START
++SYM_FUNC_START(SYS_IO_Delay)
++#else
+ ENTRY(SYS_IO_Delay)
++#endif
+ ret
++#ifdef SYM_FUNC_END
++SYM_FUNC_END(SYS_IO_Delay)
++#else
+ ENDPROC(SYS_IO_Delay)
++#endif
+
+ # ----------------------------------------------------------------------------
+ # name: SYS_PerfVec_Handler
diff --git a/srcpkgs/intel-parallel-studio-xe/files/003-ioremap.patch b/srcpkgs/intel-parallel-studio-xe/files/003-ioremap.patch
new file mode 100644
index 00000000000..8bd0b244e20
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/003-ioremap.patch
@@ -0,0 +1,89 @@
+--- a/src/chap.c
++++ b/src/chap.c
+@@ -40,6 +40,10 @@
+ #include "inc/ecb_iterators.h"
+ #include "inc/utility.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ extern DRV_CONFIG drv_cfg;
+ extern CHIPSET_CONFIG pma;
+ extern CPU_STATE pcb;
+--- a/src/pci.c
++++ b/src/pci.c
+@@ -45,6 +45,9 @@
+ #include "inc/pci.h"
+ #include "inc/utility.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
+
+ struct pci_bus* pci_buses[MAX_BUSNO] = {0};
+
+--- a/src/socperf/src/haswellunc_sa.c
++++ b/src/socperf/src/haswellunc_sa.c
+@@ -72,6 +72,10 @@
+ #include "ecb_iterators.h"
+ #include "inc/pci.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ static U64 counter_virtual_address = 0;
+ static U32 counter_overflow[HSWUNC_SA_MAX_COUNTERS];
+ extern LWPMU_DEVICE device_uncore;
+--- a/src/socperf/src/npk_uncore.c
++++ b/src/socperf/src/npk_uncore.c
+@@ -71,6 +71,9 @@
+ #include "inc/control.h"
+ #include "inc/npk_uncore.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
+
+ extern LWPMU_DEVICE device_uncore;
+ static U32 counter_overflow[SOC_NPK_COUNTER_MAX_COUNTERS];
+--- a/src/socperf/src/pci.c
++++ b/src/socperf/src/pci.c
+@@ -68,6 +68,10 @@
+ #include "socperfdrv.h"
+ #include "pci.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ /* ------------------------------------------------------------------------- */
+ /*!
+ * @fn extern int SOCPERF_PCI_Read_From_Memory_Address(addr, val)
+--- a/src/socperf/src/soc_uncore.c
++++ b/src/socperf/src/soc_uncore.c
+@@ -70,6 +70,10 @@
+ #include "inc/ecb_iterators.h"
+ #include "inc/pci.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ #if defined (PCI_HELPERS_API)
+ #include <asm/intel_mid_pcihelpers.h>
+ #elif defined(DRV_CHROMEOS)
+--- a/src/vtsspp/apic.c
++++ b/src/vtsspp/apic.c
+@@ -32,6 +32,10 @@
+
+ #include <asm/io.h>
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++#define ioremap_nocache ioremap
++#endif
++
+ /* APIC base MSR */
+ #define VTSS_APIC_BASE_MSR 0x01b
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/004-remove-trace-printk.patch b/srcpkgs/intel-parallel-studio-xe/files/004-remove-trace-printk.patch
new file mode 100644
index 00000000000..946bdbe5bcd
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/004-remove-trace-printk.patch
@@ -0,0 +1,15 @@
+--- a/src/utility.c
++++ b/src/utility.c
+@@ -858,12 +858,6 @@ UTILITY_Log (
+ }
+ }
+ }
+-
+-#if defined(CONFIG_DYNAMIC_FTRACE)
+- if (category_verbosity & LOG_CHANNEL_TRACEK) {
+- trace_printk("%s", tmp_array);
+- }
+-#endif
+ }
+ }
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/005-time64.patch b/srcpkgs/intel-parallel-studio-xe/files/005-time64.patch
new file mode 100644
index 00000000000..811c8c001f3
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/005-time64.patch
@@ -0,0 +1,102 @@
+--- a/src/utility.c
++++ b/src/utility.c
+@@ -892,7 +892,11 @@ UTILITY_Driver_Log_Init (
+ void
+ )
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0)
+ struct timespec cur_time;
++#else
++ struct timespec64 cur_time;
++#endif
+ U32 size = sizeof(*driver_log_buffer);
+ U8 using_contiguous_physical_memory;
+ U32 bitness;
+@@ -948,7 +952,11 @@ UTILITY_Driver_Log_Init (
+ DRV_LOG_BUFFER_log_size(driver_log_buffer) = sizeof(*driver_log_buffer);
+ DRV_LOG_BUFFER_max_nb_pri_entries(driver_log_buffer) = DRV_LOG_MAX_NB_PRI_ENTRIES;
+ DRV_LOG_BUFFER_max_nb_aux_entries(driver_log_buffer) = DRV_LOG_MAX_NB_AUX_ENTRIES;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0)
+ getnstimeofday(&cur_time);
++#else
++ ktime_get_real_ts64(&cur_time);
++#endif
+ DRV_LOG_BUFFER_init_time(driver_log_buffer) = cur_time.tv_sec;
+ DRV_LOG_BUFFER_disambiguator(driver_log_buffer) = 0;
+ DRV_LOG_BUFFER_log_version(driver_log_buffer) = DRV_LOG_VERSION;
+--- a/src/vtsspp/record.c
++++ b/src/vtsspp/record.c
+@@ -673,15 +673,27 @@ int vtss_record_configs(struct vtss_tran
+ }
+ /* generate time marker record */
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ struct timespec64 now;
++#else
+ struct timespec now;
++#endif
+ time_marker_record_t timark;
+ timark.flagword = UEC_LEAF1 | UEC_VECTORED | UECL1_REALTSC;
+ timark.vectored = UECL1_REALTSC;
+ timark.vec_no = 2;
+ timark.tsc = vtss_time_real();
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ ktime_get_real_ts64(&now);
++#else
+ getnstimeofday(&now);
++#endif
+ /* convert global time to 100ns units */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ timark.utc = div64_u64((u64)timespec64_to_ns(&now), 100ULL);
++#else
+ timark.utc = div64_u64((u64)timespec_to_ns(&now), 100ULL);
++#endif
+ rc |= vtss_transport_record_write(trnd, &timark, sizeof(timark), NULL, 0, is_safe);
+ }
+
+--- a/src/vtsspp/time.h
++++ b/src/vtsspp/time.h
+@@ -59,9 +59,15 @@ static inline unsigned long long vtss_ti
+ static inline unsigned long long vtss_time_real(void)
+ {
+ if (!vtss_time_source) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ struct timespec64 now;
++ ktime_get_real_ts64(&now);
++ return (unsigned long long)timespec64_to_ns(&now);
++#else
+ struct timespec now;
+ getrawmonotonic(&now); /* getnstimeofday(&now); */
+ return (unsigned long long)timespec_to_ns(&now);
++#endif
+ } else
+ return (unsigned long long)get_cycles();
+ }
+@@ -72,14 +78,27 @@ static inline void vtss_time_get_sync(un
+ unsigned long long tsc = vtss_time_cpu();
+
+ if (!vtss_time_source) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ struct timespec64 now1, now2;
++ ktime_get_real_ts64(&now1);
++#else
+ struct timespec now1, now2;
+ getrawmonotonic(&now1);
++#endif
+ // rdtsc barrier
+ asm volatile("mfence");
+ asm volatile("lfence");
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ ktime_get_real_ts64(&now2);
++#else
+ getrawmonotonic(&now2);
++#endif
+ *ptsc = (tsc + vtss_time_cpu()) / 2;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++ *preal = (timespec64_to_ns(&now1) + timespec64_to_ns(&now2)) / 2;
++#else
+ *preal = (timespec_to_ns(&now1) + timespec_to_ns(&now2)) / 2;
++#endif
+ } else
+ *ptsc = *preal = tsc;
+ }
diff --git a/srcpkgs/intel-parallel-studio-xe/files/006-proc_ops.patch b/srcpkgs/intel-parallel-studio-xe/files/006-proc_ops.patch
new file mode 100644
index 00000000000..baddeacaab6
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/006-proc_ops.patch
@@ -0,0 +1,227 @@
+--- a/src/pax/pax.c
++++ b/src/pax/pax.c
+@@ -87,6 +87,14 @@ struct proc_dir_entry *pax_version_file
+
+ static int pax_version_proc_read(struct seq_file*, void *);
+ static int pax_version_proc_open(struct inode*, struct file*);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops pax_version_ops = {
++ .proc_open = pax_version_proc_open,
++ .proc_read = seq_read,
++ .proc_lseek = seq_lseek,
++ .proc_release = single_release,
++};
++#else
+ static struct file_operations pax_version_ops = {
+ .owner = THIS_MODULE,
+ .open = pax_version_proc_open,
+@@ -94,6 +102,7 @@ static struct file_operations pax_versio
+ .llseek = seq_lseek,
+ .release = single_release,
+ };
++#endif
+
+ // Print macros for kernel debugging
+
+--- a/src/vtsspp/procfs.c
++++ b/src/vtsspp/procfs.c
+@@ -607,6 +607,15 @@ static int vtss_procfs_ctrl_close(struct
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_ctrl_fops = {
++ .proc_read = vtss_procfs_ctrl_read,
++ .proc_write = vtss_procfs_ctrl_write,
++ .proc_open = vtss_procfs_ctrl_open,
++ .proc_release = vtss_procfs_ctrl_close,
++ .proc_poll = vtss_procfs_ctrl_poll,
++};
++#else
+ static const struct file_operations vtss_procfs_ctrl_fops = {
+ .owner = THIS_MODULE,
+ .read = vtss_procfs_ctrl_read,
+@@ -615,6 +624,7 @@ static const struct file_operations vtss
+ .release = vtss_procfs_ctrl_close,
+ .poll = vtss_procfs_ctrl_poll,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -651,6 +661,14 @@ static int vtss_procfs_debug_open(struct
+ return seq_open(file, &vtss_procfs_debug_sops);
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_debug_fops = {
++ .proc_open = vtss_procfs_debug_open,
++ .proc_read = seq_read,
++ .proc_lseek = seq_lseek,
++ .proc_release = seq_release,
++};
++#else
+ static const struct file_operations vtss_procfs_debug_fops = {
+ .owner = THIS_MODULE,
+ .open = vtss_procfs_debug_open,
+@@ -658,6 +676,7 @@ static const struct file_operations vtss
+ .llseek = seq_lseek,
+ .release = seq_release,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -725,6 +744,14 @@ static int vtss_procfs_cpumask_close(str
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_cpumask_fops = {
++ .proc_read = vtss_procfs_cpumask_read,
++ .proc_write = vtss_procfs_cpumask_write,
++ .proc_open = vtss_procfs_cpumask_open,
++ .proc_release = vtss_procfs_cpumask_close,
++};
++#else
+ static const struct file_operations vtss_procfs_cpumask_fops = {
+ .owner = THIS_MODULE,
+ .read = vtss_procfs_cpumask_read,
+@@ -732,6 +759,7 @@ static const struct file_operations vtss
+ .open = vtss_procfs_cpumask_open,
+ .release = vtss_procfs_cpumask_close,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -793,6 +821,14 @@ static int vtss_procfs_defsav_close(stru
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_defsav_fops = {
++ .proc_read = vtss_procfs_defsav_read,
++ .proc_write = vtss_procfs_defsav_write,
++ .proc_open = vtss_procfs_defsav_open,
++ .proc_release = vtss_procfs_defsav_close,
++};
++#else
+ static const struct file_operations vtss_procfs_defsav_fops = {
+ .owner = THIS_MODULE,
+ .read = vtss_procfs_defsav_read,
+@@ -800,6 +836,7 @@ static const struct file_operations vtss
+ .open = vtss_procfs_defsav_open,
+ .release = vtss_procfs_defsav_close,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -836,6 +873,14 @@ static int vtss_procfs_targets_open(stru
+ return seq_open(file, &vtss_procfs_targets_sops);
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_targets_fops = {
++ .proc_open = vtss_procfs_targets_open,
++ .proc_read = seq_read,
++ .proc_lseek = seq_lseek,
++ .proc_release = seq_release,
++};
++#else
+ static const struct file_operations vtss_procfs_targets_fops = {
+ .owner = THIS_MODULE,
+ .open = vtss_procfs_targets_open,
+@@ -843,6 +888,7 @@ static const struct file_operations vtss
+ .llseek = seq_lseek,
+ .release = seq_release,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -903,6 +949,14 @@ static int vtss_procfs_timesrc_close(str
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_timesrc_fops = {
++ .proc_read = vtss_procfs_timesrc_read,
++ .proc_write = vtss_procfs_timesrc_write,
++ .proc_open = vtss_procfs_timesrc_open,
++ .proc_release = vtss_procfs_timesrc_close,
++};
++#else
+ static const struct file_operations vtss_procfs_timesrc_fops = {
+ .owner = THIS_MODULE,
+ .read = vtss_procfs_timesrc_read,
+@@ -910,6 +964,7 @@ static const struct file_operations vtss
+ .open = vtss_procfs_timesrc_open,
+ .release = vtss_procfs_timesrc_close,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -966,6 +1021,14 @@ static int vtss_procfs_timelimit_close(s
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static const struct proc_ops vtss_procfs_timelimit_fops = {
++ .proc_read = vtss_procfs_timelimit_read,
++ .proc_write = vtss_procfs_timelimit_write,
++ .proc_open = vtss_procfs_timelimit_open,
++ .proc_release = vtss_procfs_timelimit_close,
++};
++#else
+ static const struct file_operations vtss_procfs_timelimit_fops = {
+ .owner = THIS_MODULE,
+ .read = vtss_procfs_timelimit_read,
+@@ -973,6 +1036,7 @@ static const struct file_operations vtss
+ .open = vtss_procfs_timelimit_open,
+ .release = vtss_procfs_timelimit_close,
+ };
++#endif
+
+ /* ************************************************************************* */
+
+@@ -1059,7 +1123,11 @@ void vtss_procfs_fini(void)
+ }
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static int vtss_procfs_create_entry(const char* name, const struct proc_ops* fops)
++#else
+ static int vtss_procfs_create_entry(const char* name, const struct file_operations* fops)
++#endif
+ {
+ struct proc_dir_entry *pde = proc_create(name, (mode_t)(mode ? (mode & 0666) : 0660), vtss_procfs_root, fops);
+ if (pde == NULL) {
+--- a/src/vtsspp/transport.c
++++ b/src/vtsspp/transport.c
+@@ -1421,6 +1421,15 @@ static int vtss_transport_close(struct i
+ return 0;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0)
++static struct proc_ops vtss_transport_fops = {
++ .proc_read = vtss_transport_read,
++ .proc_write = vtss_transport_write,
++ .proc_open = vtss_transport_open,
++ .proc_release = vtss_transport_close,
++ .proc_poll = vtss_transport_poll,
++};
++#else
+ static struct file_operations vtss_transport_fops = {
+ .owner = THIS_MODULE,
+ .read = vtss_transport_read,
+@@ -1429,6 +1438,7 @@ static struct file_operations vtss_trans
+ .release = vtss_transport_close,
+ .poll = vtss_transport_poll,
+ };
++#endif
+
+ static void vtss_transport_remove(struct vtss_transport_data* trnd)
+ {
diff --git a/srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms b/srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms
new file mode 100644
index 00000000000..16df217cca1
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/Makefile-dkms
@@ -0,0 +1,132 @@
+#
+# Version: 1.6
+#
+# Copyright (C) 2008-2019 Intel Corporation. All Rights Reserved.
+#
+# This file is part of SEP Development Kit
+#
+# SEP Development Kit is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# SEP Development Kit is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with SEP Development Kit; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+#
+
+# -------------------- user configurable options ------------------------
+
+# base name of SEP driver
+DRIVER_NAME = sep5
+
+# location to install driver
+ifeq ($(INSTALL),)
+INSTALL = .
+endif
+
+# current working directory
+DRV_CWD := $(shell pwd)/src
+
+# If KERNELRELEASE is defined, we've been invoked from the
+# kernel build system and can use its language.
+# Example flags are "-Werror", "-Wno-error", etc.
+EXTRA_CFLAGS += -I$(LDDINCDIR) -I$(LDDINCDIR1)
+
+# if ARCH variable is set, unset it to avoid conflicts with kbuild
+unexport ARCH
+
+# platform details
+MACH ?= $(shell uname -m)
+export MACH
+ifeq ($(MACH),x86_64)
+PLATFORM=x32_64
+endif
+ifeq ($(PLATFORM),)
+PLATFORM=x32
+endif
+KERNEL_VERSION ?= $(shell uname -r)
+SMP ?= $(shell uname -v | grep SMP)
+ARITY=up
+ifneq ($(SMP),)
+ARITY=smp
+endif
+
+ifeq ($(PER_USER_MODE),YES)
+SEP_PER_USER=-pu
+endif
+
+
+# this is a temporary work-around for handling the module structure changes across multiple kernels.
+# need to find out a proper solution.
+ifneq ($(KERNEL_SRC_DIR),)
+ PATH_PREFIX = $(KERNEL_SRC_DIR)
+endif
+PATH_PREFIX ?= /lib/modules/$(shell uname -r)/build
+ifneq ($(shell grep -s $(PATH_PREFIX)/include/linux/module.h -we "struct module_layout"),)
+ EXTRA_CFLAGS += -DSEP_CONFIG_MODULE_LAYOUT
+endif
+
+ifeq ($(shell test -e $(PATH_PREFIX)/include/linux/kaiser.h && echo -n YES),YES)
+ EXTRA_CFLAGS += -DKAISER_HEADER_PRESENT
+endif
+
+# eventual filename of SEP driver
+DRIVER_MODE=$(DRIVER_NAME)$(SEP_PER_USER)
+DRIVER_TYPE=$(PLATFORM)-$(KERNEL_VERSION)$(ARITY)
+DRIVER_FILENAME=$(DRIVER_MODE)-$(DRIVER_TYPE).ko
+
+ KERNEL_SRC_DIR ?= /lib/modules/$(shell uname -r)/build
+ PWD := $(shell pwd)
+
+socperfdir=$(DRV_CWD)/socperf
+ifeq ($(wildcard $(socperfdir)),)
+ socperfdir=
+endif
+
+all: default
+
+modules: default
+
+default:
+ @(cd $(socperfdir)/src && make all)
+ @cp $(socperfdir)/src/Module*.symvers src/.
+ $(MAKE) -C $(KERNEL_SRC_DIR) M=$(PWD)/src LDDINCDIR=$(PWD)/src/../include LDDINCDIR1=$(PWD)/src/inc modules PWD=$(PWD)/src KBUILD_EXTRA_SYMBOLS=$(socperfdir)/src/Module.symvers
+ cp src/$(DRIVER_NAME).ko src/$(DRIVER_FILENAME)
+ @(cd src/pax && make all)
+ @if [ -d src/vtsspp ]; then \
+ (cd src/vtsspp && make all); \
+ fi;
+
+clean:
+ ( cd src && rm -f *.o .*.o.cmd .*.o.d .*.ko.cmd .*.ko.unsigned.cmd *.gcno .cache.mk *.o.ur-safe .*.o.tmp; \
+ rm -f $(DRIVER_NAME).ko $(DRIVER_NAME).ko.unsigned; \
+ rm -f $(DRIVER_MODE)*$(DRIVER_TYPE).ko; \
+ rm -f Module.symvers Modules.symvers *.mod.c modules.order Module.markers; \
+ rm -rf .tmp_versions )
+ @(cd src/pax && make clean)
+ @(cd $(socperfdir)/src && make clean)
+ @if [ -d src/vtsspp ]; then \
+ (cd src/vtsspp && make clean); \
+ fi;
+
+distclean: clean
+ ( cd src && rm -f $(DRIVER_NAME)*.ko )
+ @(cd src/pax && make distclean)
+ @(cd $(socperfdir)/src && make distclean)
+ @if [ -d src/vtsspp ]; then \
+ (cd src/vtsspp && make distclean); \
+ fi;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop b/srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop
new file mode 100755
index 00000000000..6249ed8ab7a
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/advixe-gui.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Intel Advisor
+GenericName=Intel Advisor
+Exec="/opt/intel/advisor_<ver>/<arch>/advixe-gui"
+Terminal=false
+MimeType=text/plain;
+Categories=Development;
+StartupNotify=false
+Actions=Window;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop b/srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop
new file mode 100755
index 00000000000..e3e55f112a6
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/amplxe-gui.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Intel VTune Amplifier
+GenericName=VTune
+Exec="/opt/intel/vtune_amplifier_<ver>/<arch>/amplxe-gui"
+Terminal=false
+MimeType=text/plain;
+Icon=/opt/intel/vtune_amplifier_<ver>/<arch>/resources/app/icons/Amplifier.png
+Categories=Development;
+StartupNotify=false
+Actions=Window;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop b/srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop
new file mode 100755
index 00000000000..b45b030f71c
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/inspxe-gui.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Intel Inspector
+GenericName=Intel Inspector
+Exec="/opt/intel/inspector_<ver>/<arch>/inspxe-gui"
+Terminal=false
+MimeType=text/plain;
+Categories=Development;
+StartupNotify=false
+Actions=Window;
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf
new file mode 100644
index 00000000000..5f6aef45c5b
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-common-libs.conf
@@ -0,0 +1,2 @@
+/opt/intel/lib
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf
new file mode 100644
index 00000000000..606297f2bee
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-fortran.conf
@@ -0,0 +1 @@
+/opt/intel/composerxe/linux/compiler/lib/<arch>
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf
new file mode 100644
index 00000000000..923d50f7b07
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-gdb.conf
@@ -0,0 +1,2 @@
+/opt/intel/debugger_lib/<arch>
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf
new file mode 100644
index 00000000000..6567d613607
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-ipp.conf
@@ -0,0 +1,2 @@
+/opt/intel/ipp/lib/<arch>
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf
new file mode 100644
index 00000000000..aabc06e7d3f
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl-th.conf
@@ -0,0 +1,14 @@
+#
+# Confgure the MKL multithreading
+# for more details visit: http://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_UG_managing_performance/Using_Additional_Threading_Control.htm
+#
+
+# Uncomment if you want to set a constant number o threads.
+# export MKL_NUM_THREADS=4
+
+# Uncomment and edit if you want to set the nr. of threads for every components.
+# export MKL_DOMAIN_NUM_THREADS="MKL_ALL=4, MKL_BLAS=4"
+
+# If TRUE MKL set automatically the optimal number of threads
+export MKL_DYNAMIC=TRUE
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf
new file mode 100644
index 00000000000..bd0cd3c0816
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.conf
@@ -0,0 +1 @@
+/opt/intel/mkl/lib/<arch>
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh
new file mode 100755
index 00000000000..b1959aafb6b
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mkl.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+. /etc/intel-mkl-th.conf
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf
new file mode 100644
index 00000000000..e83ffa9ebfa
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-mpi.conf
@@ -0,0 +1,4 @@
+/opt/intel/composerxe/linux/mpi/<arch>/lib
+/opt/intel/mpi/<arch>/libfabric/lib
+/opt/intel/mpi/<arch>/lib/release
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf
new file mode 100644
index 00000000000..57bae35bafd
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-openmp.conf
@@ -0,0 +1 @@
+/opt/intel/lib/irml
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf
new file mode 100644
index 00000000000..7b0a89cb944
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-tbb.conf
@@ -0,0 +1,2 @@
+<INSTALLDIR>/tbb/lib/<arch>/gcc4.7
+
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms
new file mode 100644
index 00000000000..d24d2de1cb1
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.dkms
@@ -0,0 +1,23 @@
+PACKAGE_NAME="intel-vtune-amplifier"
+PACKAGE_VERSION="#MODULE_VERSION#"
+MAKE[0]="'make' KERNEL_SRC_DIR=${kernel_source_dir} default"
+CLEAN="'make' KERNEL_SRC_DIR=${kernel_source_dir} clean"
+PATCH[0]="001-vtsspp.patch"
+PATCH[1]="002-src-sys64.S.patch"
+PATCH[2]="003-ioremap.patch"
+PATCH[3]="004-remove-trace-printk.patch"
+PATCH[4]="005-time64.patch"
+PATCH[5]="006-proc_ops.patch"
+BUILT_MODULE_NAME[0]="sep5"
+BUILT_MODULE_LOCATION[0]="src"
+DEST_MODULE_LOCATION[0]="/updates"
+BUILT_MODULE_NAME[1]="socperf3"
+BUILT_MODULE_LOCATION[1]="src/socperf/src"
+DEST_MODULE_LOCATION[1]="/updates"
+BUILT_MODULE_NAME[2]="pax"
+BUILT_MODULE_LOCATION[2]="src/pax"
+DEST_MODULE_LOCATION[2]="/updates"
+BUILT_MODULE_NAME[3]="vtsspp"
+BUILT_MODULE_LOCATION[3]="src/vtsspp"
+DEST_MODULE_LOCATION[3]="/updates"
+AUTOINSTALL="yes"
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev
new file mode 100644
index 00000000000..ee8a80c7bd1
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier-dkms.udev
@@ -0,0 +1,2 @@
+KERNEL=="sep5*", OWNER="root", GROUP="vtune", MODE="0660", ENV{ACL_MANAGE}="1"
+KERNEL=="pax*", OWNER="root", GROUP="vtune", MODE="0660", ENV{ACL_MANAGE}="1"
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf
new file mode 100644
index 00000000000..87c980d8ffd
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel-vtune-amplifier.conf
@@ -0,0 +1,4 @@
+pax
+socperf3
+sep5
+vtsspp
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh
new file mode 100644
index 00000000000..8f909ab0cd7
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_advisor.sh
@@ -0,0 +1,2 @@
+PATH=$PATH:/opt/intel/advisor_<ver>/<arch>
+export PATH
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh
new file mode 100755
index 00000000000..e87a4c84fb4
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_compilers.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+TMP_LLP=$LD_LIBRARY_PATH
+if [ -z $TMP_LLP ] ; then
+ LLP_NULL=true ;
+else
+ LLP_NULL=false ;
+fi
+
+if [ -f /opt/intel/composerxe/linux/bin/compilervars.sh ] ; then
+. /opt/intel/composerxe/linux/bin/compilervars.sh <arch> -platform linux
+fi
+
+PATH=$PATH:/opt/intel/bin
+export PATH
+
+if [ $LLP_NULL ] ; then
+ unset LD_LIBRARY_PATH
+else
+ LD_LIBRARY_PATH=$TMP_LLP
+ export LD_LIBRARY_PATH
+fi
+
+INTEL_LICENSE_FILE=/opt/intel/licenses
+export INTEL_LICENSE_FILE
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh
new file mode 100644
index 00000000000..72a1edceb92
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_inspector.sh
@@ -0,0 +1,2 @@
+PATH=$PATH:/opt/intel/inspector_<ver>/<arch>
+export PATH
diff --git a/srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh b/srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh
new file mode 100644
index 00000000000..c260526464f
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/files/intel_vtune-amplifier.sh
@@ -0,0 +1,2 @@
+PATH=$PATH:/opt/intel/vtune_profiler_<ver>/<arch>
+export PATH
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-compiler-base.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-fortran-compiler.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-ipp.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-mkl.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-mpi.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL b/srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL
new file mode 100644
index 00000000000..e8c2a039fbf
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/intel-tbb-psxe.INSTALL
@@ -0,0 +1,14 @@
+export PATH="usr/bin:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin"
+
+update_ldcache() {
+ if [ -x sbin/ldconfig -o -x bin/ldconfig ]; then
+ echo "Updating ldconfig(8) cache..."
+ ldconfig -X || :
+ fi
+}
+
+case "$ACTION" in
+post)
+ update_ldcache
+ ;;
+esac
diff --git a/srcpkgs/intel-parallel-studio-xe/template b/srcpkgs/intel-parallel-studio-xe/template
new file mode 100644
index 00000000000..64fa44e6847
--- /dev/null
+++ b/srcpkgs/intel-parallel-studio-xe/template
@@ -0,0 +1,593 @@
+# Template file for 'intel-parallel-studio-xe'
+pkgname=intel-parallel-studio-xe
+version=2019.5.281.5
+revision=1
+_version=( ${version//./ } )
+_year=${_version[0]}
+_v_a=${_version[1]}
+_v_b=${_version[2]}
+_update=${_version[3]}
+_sp='cluster_edition'
+_icc_ver='19.0.5'
+_vtune_ver='2019.6.0.602217'
+_inspector_ver='2019.5.0.602103'
+_advisor_ver='2019.5.0.602216'
+_dir_nr=15809
+_psxe_dir="parallel_studio_xe_${_year}${_update:+_update${_update}}_${_sp}"
+archs="x86_64"
+wrksrc="${_psxe_dir}"
+depends="bash gcc hicolor-icon-theme desktop-file-utils"
+short_desc="Intel C++ C and FORTRAN compiler"
+maintainer="Joseph Benden <joe@benden.us>"
+license="custom:Proprietary"
+homepage="https://software.intel.com/en-us/parallel-studio-xe"
+distfiles="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${_dir_nr}/${_psxe_dir}.tgz"
+checksum=c03421de616bd4e640ed25ce4103ec9c5c85768a940a5cb5bd1e97b45be33904
+repository="nonfree"
+restricted=yes
+
+build_options="nodocs staticlibs"
+build_options_default="nodocs"
+
+lib32disabled=yes
+nodebug=yes
+nopie=yes
+nostrip=yes
+# NOTE(jbenden): This variable fails xlint; need to patch it if accepted.
+skip_post_install_hooks="02-remove-libtool-archives 02-remove-perl-files 02-remove-python-bytecode-files"
+
+if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
+ _i_arch='intel64'
+ _bin_dir='bin64'
+ _not_arch='ia32'
+else
+ _i_arch='ia32'
+ _bin_dir='bin32'
+ _not_arch='intel64'
+fi
+
+extract_rpm() {
+ # filter out rpms for incompatible arch
+ local extract=true
+ if ! [[ "$1" =~ .noarch.rpm$ ]]; then
+ if [[ "$1" =~ (-32bit.+\.x86_64|\.i486)\.rpm$ ]]; then
+ if [[ "$XBPS_TARGET_MACHINE" != 'i686' ]]; then
+ extract=false
+ fi
+ else
+ if [[ "$XBPS_TARGET_MACHINE" == 'i686' ]]; then
+ extract=false
+ fi
+ fi
+ fi
+ if [ "$extract" = true ]; then
+ msg_normal " ${1##*/}\n"
+ bsdtar -xf $1 -C $2
+ else
+ msg_normal "skipped ${1##*/}\n"
+ fi
+}
+
+extract_rpms() {
+ # select binary files of specific arch
+ local rpm_dir=""
+ if [ -z "$3" ]; then
+ rpm_dir="${_rpm_dir}"
+ else
+ rpm_dir="$3"
+ fi
+ for rpm_file in ${rpm_dir}/$1 ; do
+ extract_rpm ${rpm_file} $2
+ done
+}
+
+set_build_vars() {
+ _composer_xe_dir="compilers_and_libraries_${_year}.${_v_a}.${_v_b}"
+ _rpm_dir=${wrksrc}/rpm
+ _xe_build_dir=${wrksrc}/cxe_build
+ _base_dir=$(realpath ${wrksrc}/..)
+ _man_dir=${_xe_build_dir}/usr/share/man/man1
+}
+
+do_install() {
+ set_build_vars
+
+ # clean build directories
+ [ -d ${_xe_build_dir} ] && rm -fr ${_xe_build_dir}
+ mkdir -p ${_xe_build_dir}
+
+ extract_rpms 'intel-parallel-studio-*.rpm' ${_xe_build_dir}
+ extract_rpms 'intel-psxe-*.rpm' ${_xe_build_dir}
+
+ vlicense ${wrksrc}/license.txt
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+}
+
+intel-common-libs_package() {
+ short_desc="Intel Common Libraries $_icc_ver"
+ shlib_provides="libintlc.so.5 libcilkrts.so.5 libpdbx.so.5
+ libimf.so libsvml.so libirng.so libchkp.so"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ install -Dm644 ${FILESDIR}/intel-common-libs.conf \
+ ${PKGDESTDIR}/etc/ld.so.conf.d/intel-common-libs.conf
+
+ extract_rpms 'intel-comp-ps-ss-bec*.rpm' ${_xe_build_dir}
+ ( cd ${_xe_build_dir}/opt/intel \
+ && ln -snf ${_composer_xe_dir}/linux/compiler/lib/${_i_arch}_lin \
+ lib )
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+ }
+}
+
+intel-openmp_package() {
+ short_desc="Intel OpenMP Implementation ${_icc_ver}"
+ shlib_provides="libiomp5.so libiompstubs5.so"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ extract_rpms 'intel-openmp*.rpm' ${_xe_build_dir}
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+ }
+}
+
+intel-compiler-base_package() {
+ short_desc="Intel C/C++ $_icc_ver"
+ shlib_provides="libcilkrts.so.5 liboffload.so.5
+ libioffload_host.so.5 libioffload_target.so.5"
+ nostrip=yes
+ allow_unknown_shlibs=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+ mkdir -p ${_man_dir}
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel_compilers.sh \
+ > ${_xe_build_dir}/etc/profile.d/intel_compilers.sh
+ chmod a+x ${_xe_build_dir}/etc/profile.d/intel_compilers.sh
+
+ extract_rpms 'intel-icc*.rpm' ${_xe_build_dir}
+ extract_rpms 'intel-c-comp-*.rpm' ${_xe_build_dir}
+ for rpm_file in \
+ $(find ${_rpm_dir} -name 'intel-comp-*.rpm' \
+ ! -name 'intel-comp-ps-ss-bec-*.rpm' -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ./opt/intel/${_composer_xe_dir}/linux/bin
+
+ rm *.csh
+
+ for f in *.sh ; do
+ sed -i 's/<PRODDIR>/\/opt\/intel/g' $f
+ sed -i \
+ "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}\/linux/g" \
+ $f
+ done
+
+ mv ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man/common/man1/*.1 ${_man_dir}
+ rm -rf ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/usr ${PKGDESTDIR}/
+
+ cd ${PKGDESTDIR}/opt/intel
+ ln -s ./${_composer_xe_dir} composerxe
+ ln -s ./${_composer_xe_dir}/linux/bin/${_i_arch} bin
+ ln -s ./${_composer_xe_dir}/linux/pkg_bin pkg_bin
+ }
+}
+
+intel-mpi_package() {
+ short_desc="Intel MPI library"
+ shlib_provides="libfabric.so.1 libmpi.so.12 libmpicxx.so.12
+ libmpijava.so.1 libmpifort.so.12"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./bin
+ mkdir -p ./etc/ld.so.conf.d
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-mpi.conf \
+ > ./etc/ld.so.conf.d/intel-mpi.conf
+
+ extract_rpms 'intel-mpi-*.rpm' ${_xe_build_dir}
+
+ cd ./opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/bin
+ rm mpivars.csh
+
+ for i in mpi* ; do
+ sed -i "s/I_MPI_SUBSTITUTE_INSTALLDIR/\/opt\/intel\/${_composer_xe_dir}\/linux\/mpi/g" $i
+ done
+
+ chmod a+x mpivars.sh
+
+ rm -rf ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi_${_year}
+ rm -rf ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/licensing/mpi_${_year}
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ # some libraries are missing, so remove problematic ones
+ rm -f ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/libfabric/lib/prov/libpsmx2-fi.so
+ rm -f ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/mpi/${_i_arch}/libfabric/lib/prov/libmlx-fi.so
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}
+
+ ln -s ./${_composer_xe_dir}/linux/mpi/ ${PKGDESTDIR}/opt/intel/mpi
+ }
+}
+
+intel-fortran-compiler_package() {
+ short_desc="Intel Fortran compiler $_icc_ver"
+ shlib_provides="libifcoremt.so.5 libifport.so.5 libifcore.so.5"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+ mkdir -p ${_man_dir}
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-fortran.conf \
+ > ./etc/ld.so.conf.d/intel-fortran.conf
+
+ extract_rpms 'intel-ifort*.rpm' ${_xe_build_dir}
+
+ rm ./opt/intel/${_composer_xe_dir}/linux/bin/*.csh
+
+ # remove duplicate logo and .css found in intel base
+ rm ${_xe_build_dir}/opt/intel/documentation_${_year}/en/compiler_f/ps${_year}/resources/{intel_gsp_styles.css,intel_logo.png}
+
+ mv ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man/common/man1/*.1 ${_man_dir}
+ rm -rf ${_xe_build_dir}/opt/intel/documentation_${_year}/en/man
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ rm ./compiler/include/omp_lib.f90
+ rm ./compiler/include/${_i_arch}/omp_lib.mod
+ rm ./compiler/include/${_i_arch}/omp_lib_kinds.mod
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/usr ${PKGDESTDIR}/
+ }
+}
+
+intel-ipp_package() {
+ short_desc="Intel Integrated Performance Primitives"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-ipp.conf \
+ > ./etc/ld.so.conf.d/intel-ipp.conf
+
+ extract_rpms 'intel-ipp-*.rpm' ${_xe_build_dir}
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/ipp/bin
+ rm ippvars.csh
+ sed -i "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}\/linux/g" ippvars.sh
+
+ cd ${_xe_build_dir}/opt/intel/${_composer_xe_dir}/linux/
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./samples ./examples')
+ $(vopt_if staticlibs "rm -fr ./ipp/lib/${_i_arch}/libipp*.a")
+ $(vopt_if staticlibs "rm -fr ./ipp/lib/${_i_arch}/nonpic/libipp*.a")
+ $(vopt_if staticlibs "rmdir ./ipp/lib/${_i_arch}/nonpic/")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ ln -s ./${_composer_xe_dir}/linux/ipp/ ${PKGDESTDIR}/opt/intel/ipp
+ }
+}
+
+intel-mkl_package() {
+ short_desc="Intel Math Kernel Library (Intel® MKL)"
+ nostrip=yes
+ conf_files=etc/intel-mkl-th.conf
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+ mkdir -p ./etc/profile.d
+
+ cp ${FILESDIR}/intel-mkl.sh ./etc/profile.d/
+ chmod a+x ./etc/profile.d/intel-mkl.sh
+
+ cp ${FILESDIR}/intel-mkl-th.conf ./etc/
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-mkl.conf \
+ > ./etc/ld.so.conf.d/intel-mkl.conf
+
+ extract_rpms 'intel-mkl-*.rpm' ${_xe_build_dir}
+
+ cd ./opt/intel/${_composer_xe_dir}/linux/mkl
+ rm ./bin/mklvars.csh
+ sed -i "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}\/linux/g" \
+ ./bin/mklvars.sh
+
+ $(vopt_if nodocs 'rm -fr ./examples ./benchmarks')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+ $(vopt_if staticlibs "rm -fr ./lib/${_i_arch}/libmkl_*.a")
+ $(vopt_if staticlibs "rm -f ./lib/mic/libmkl_*.a")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ ln -s ./${_composer_xe_dir}/linux/mkl/ \
+ ${PKGDESTDIR}/opt/intel/mkl
+ }
+}
+
+intel-tbb-psxe_package() {
+ short_desc="Intel Threading Building Blocks (TBB)"
+ shlib_provides="libtbb_preview_debug.so.2 libtbbmalloc_debug.so.2
+ libtbbmalloc_proxy.so.2 libtbbmalloc_proxy_debug.so.2 libtbb.so.2
+ libtbbmalloc.so.2 libtbb_preview.so.2 libtbb_debug.so.2"
+ nostrip=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/ld.so.conf.d
+
+ sed "s/<arch>/${_i_arch}/" \
+ < ${FILESDIR}/intel-tbb.conf \
+ > ./etc/ld.so.conf.d/intel-tbb.conf
+ sed -i "s/<INSTALLDIR>/\/opt\/intel\/${_composer_xe_dir}/g" \
+ ./etc/ld.so.conf.d/intel-tbb.conf
+
+ extract_rpms 'intel-tbb-*.rpm' ${_xe_build_dir}
+
+ cd ./opt/intel/${_composer_xe_dir}/linux
+ rm ./tbb/bin/tbbvars.csh
+ sed -i "s/SUBSTITUTE_INSTALL_DIR_HERE/\/opt\/intel\/${_composer_xe_dir}\/linux\/tbb/g" \
+ ./tbb/bin/tbbvars.sh
+ chmod a+x ./tbb/bin/tbbvars.sh
+
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs 'rm -fr ./tbb/examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ ln -s ./${_composer_xe_dir}/linux/tbb/ ${PKGDESTDIR}/opt/intel/tbb
+ }
+}
+
+intel-vtune-amplifier_package() {
+ short_desc="Intel VTune Amplifier $_vtune_ver"
+ depends='desktop-file-utils pangox-compat python glibc libgomp libgcc
+ libstdc++ fontconfig freetype libxcb libxkbcommon-x11 libxkbcommon
+ zlib libX11 libGL glib gtk+3 pango atk cairo gdk-pixbuf libXcomposite
+ libXcursor libXdamage libXext libXfixes libXi libXrender libXtst
+ expat libuuid libXrandr libXScrnSaver alsa-lib dbus-libs at-spi2-atk
+ libcups'
+ nostrip=yes
+ noshlibprovides=yes
+ noverifyrdeps=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_vtune_ver}/g" \
+ < ${FILESDIR}/intel_vtune-amplifier.sh \
+ > etc/profile.d/intel_vtune-amplifier.sh
+ chmod a+x ./etc/profile.d/intel_vtune-amplifier.sh
+
+ for rpm_file in $(find ${_rpm_dir} -name 'intel-vtune-amplifier-*.rpm' \
+ ! -name "intel-vtune-amplifier-${_year}-sep-*.rpm" -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver}
+ rm -fr ./uninstall ./uninstall*.sh
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ rm -rf vpp/server/dist/3rdparty/vpp-python-centos
+ rm -rf vpp/server/dist/3rdparty/vpp-python-ubuntu
+ find ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver} \
+ -mindepth 1 -type d -empty -delete
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ vmkdir usr/share/applications
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_vtune_ver}/g" \
+ < ${FILESDIR}/amplxe-gui.desktop \
+ > ${PKGDESTDIR}/usr/share/applications/amplxe-gui.desktop
+ }
+}
+
+intel-vtune-amplifier-dkms_package() {
+ short_desc="Intel VTune Amplifier $_vtune_ver - module source for dkms"
+ dkms_modules="intel-vtune-amplifier ${version}"
+ depends='dkms'
+ archs=noarch
+ system_groups="vtune"
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+
+ for rpm_file in $(find ${_rpm_dir} \
+ -name "intel-vtune-amplifier-${_year}-sep-*.rpm" -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver}
+ find ${_xe_build_dir}/opt/intel/vtune_amplifier_${_vtune_ver} \
+ -mindepth 1 -type d -empty -delete
+
+ local _moddir=${PKGDESTDIR}/usr/src/intel-vtune-amplifier-${version}
+
+ install -d ${_moddir}
+ cp -a sepdk/. ${_moddir}
+ mkdir -p ${_moddir}/patches
+ install -m644 ${FILESDIR}/Makefile-dkms \
+ ${_moddir}/Makefile
+ install -m644 ${FILESDIR}/001-vtsspp.patch \
+ ${_moddir}/patches/001-vtsspp.patch
+ install -m644 ${FILESDIR}/002-src-sys64.S.patch \
+ ${_moddir}/patches/002-src-sys64.S.patch
+ install -m644 ${FILESDIR}/003-linux56.patch \
+ ${_moddir}/patches/003-linux56.patch
+ sed "s,#MODULE_VERSION#,${version}," \
+ ${FILESDIR}/intel-vtune-amplifier-dkms.dkms \
+ > ${_moddir}/dkms.conf
+ vinstall ${FILESDIR}/intel-vtune-amplifier-dkms.udev 644 \
+ usr/lib/udev/rules.d 60-intel-vtune-amplifier-dkms.rules
+ vinstall ${FILESDIR}/intel-vtune-amplifier.conf 644 \
+ usr/lib/modules-load.d
+
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ }
+}
+
+intel-advisor_package() {
+ short_desc="Intel Advisor $_advisor_ver"
+ depends='desktop-file-utils'
+ nostrip=yes
+ noshlibprovides=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_advisor_ver}/g" \
+ < ${FILESDIR}/intel_advisor.sh \
+ > etc/profile.d/intel_advisor.sh
+ chmod a+x etc/profile.d/intel_advisor.sh
+
+ for rpm_file in $(find ${_rpm_dir} \
+ -name 'intel-advisor-*.rpm' -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/advisor_${_advisor_ver}
+ rm -fr ./uninstall ./uninstall*.sh
+ find ${_xe_build_dir}/opt/intel/advisor_${_advisor_ver} \
+ -mindepth 1 -type d -empty -delete
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ vmkdir usr/share
+ mv ${_xe_build_dir}/opt/intel/advisor_${_advisor_ver}/man ${PKGDESTDIR}/usr/share
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ vmkdir usr/share/applications
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_advisor_ver}/g" \
+ < ${FILESDIR}/advixe-gui.desktop \
+ > ${PKGDESTDIR}/usr/share/applications/advixe-gui.desktop
+ }
+}
+
+intel-inspector_package() {
+ short_desc="Intel Inspector $_inspector_ver"
+ depends='desktop-file-utils'
+ nostrip=yes
+ noshlibprovides=yes
+
+ pkg_install() {
+ set_build_vars
+
+ mkdir -p ${_xe_build_dir}
+ cd ${_xe_build_dir}
+ mkdir -p ./opt
+ mkdir -p ./etc/profile.d
+
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_inspector_ver}/g" \
+ < ${FILESDIR}/intel_inspector.sh \
+ > etc/profile.d/intel_inspector.sh
+ chmod a+x etc/profile.d/intel_inspector.sh
+
+ for rpm_file in $(find ${_rpm_dir} \
+ -name 'intel-inspector-*.rpm' -print) ; do
+ extract_rpm $rpm_file ${_xe_build_dir}
+ done
+
+ cd ${_xe_build_dir}/opt/intel/inspector_${_inspector_ver}
+ rm -fr ./uninstall ./uninstall*.sh
+ $(vopt_if nodocs 'rm -fr ./documentation ./Documentation ./Samples ./examples')
+ $(vopt_if nodocs "rm -fr ${_xe_build_dir}/opt/intel/documentation_${_year}")
+
+ vmkdir usr/share
+ mv ${_xe_build_dir}/opt/intel/inspector_${_inspector_ver}/man \
+ ${PKGDESTDIR}/usr/share
+ mv ${_xe_build_dir}/opt ${PKGDESTDIR}/
+ mv ${_xe_build_dir}/etc ${PKGDESTDIR}/
+
+ vmkdir usr/share/applications
+ sed -e "s/<arch>/${_bin_dir}/g" \
+ -e "s/<ver>/${_inspector_ver}/g" \
+ < ${FILESDIR}/inspxe-gui.desktop \
+ > ${PKGDESTDIR}/usr/share/applications/inspxe-gui.desktop
+ }
+}
diff --git a/srcpkgs/intel-tbb-psxe b/srcpkgs/intel-tbb-psxe
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-tbb-psxe
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-vtune-amplifier b/srcpkgs/intel-vtune-amplifier
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-vtune-amplifier
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
diff --git a/srcpkgs/intel-vtune-amplifier-dkms b/srcpkgs/intel-vtune-amplifier-dkms
new file mode 120000
index 00000000000..1af84c1ea95
--- /dev/null
+++ b/srcpkgs/intel-vtune-amplifier-dkms
@@ -0,0 +1 @@
+intel-parallel-studio-xe
\ No newline at end of file
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
` (6 preceding siblings ...)
2020-05-02 18:09 ` jbenden
@ 2020-05-02 18:19 ` jbenden
2021-07-05 5:40 ` [PR PATCH] [Closed]: " jbenden
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2020-05-02 18:19 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 348 bytes --]
New comment by jbenden on void-packages repository
https://github.com/void-linux/void-packages/pull/19118#issuecomment-622994188
Comment:
I have refactored the DKMS kernel module patches; and have created a [new repository for them](https://github.com/jbenden/intel-vtune-dkms). This will help out other distributions which would like them, too.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PR PATCH] [Closed]: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
` (7 preceding siblings ...)
2020-05-02 18:19 ` jbenden
@ 2021-07-05 5:40 ` jbenden
8 siblings, 0 replies; 9+ messages in thread
From: jbenden @ 2021-07-05 5:40 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 476 bytes --]
There's a closed pull request on the void-packages repository
New package: intel-parallel-studio-xe-2019.5.281_1
https://github.com/void-linux/void-packages/pull/19118
Description:
This packages nearly all of the Intel Parallel Studio XE suite. It's commercial software.
I have been using the resultant packages for a bit now, and have worked out all kinks I've ran up against. I feel it's very useful for other folks now.
Signed-off-by: Joseph Benden <joe@benden.us>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: New package: intel-parallel-studio-xe-2019.5.281_1
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
@ 2020-02-14 11:46 ` voidlinux-github
2020-02-14 18:00 ` jbenden
` (7 subsequent siblings)
8 siblings, 0 replies; 9+ messages in thread
From: voidlinux-github @ 2020-02-14 11:46 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 279 bytes --]
New comment by xtraeme on void-packages repository
https://github.com/void-linux/void-packages/pull/19118#issuecomment-586250850
Comment:
I'm not sure if this allows redistribution and it's nonfree software so that you'll have to set
`repository=nonfree` and `restricted=yes`
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-07-05 5:40 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-19118@inbox.vuxu.org>
2020-02-14 11:46 ` New package: intel-parallel-studio-xe-2019.5.281_1 voidlinux-github
2020-02-14 18:00 ` jbenden
2020-02-14 20:27 ` jbenden
2020-02-15 20:31 ` jbenden
2020-02-22 3:21 ` jbenden
2020-04-04 8:43 ` [PR PATCH] [Updated] " jbenden
2020-05-02 18:09 ` jbenden
2020-05-02 18:19 ` jbenden
2021-07-05 5:40 ` [PR PATCH] [Closed]: " jbenden
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).