Github messages for voidlinux
 help / color / mirror / Atom feed
* 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).