diff --git a/openmp/.footprint b/openmp/.footprint
new file mode 100644
index 000000000..905a87b0f
--- /dev/null
+++ b/openmp/.footprint
@@ -0,0 +1,75 @@
+drwxr-xr-x	root/root	usr/
+drwxr-xr-x	root/root	usr/include/
+-rw-r--r--	root/root	usr/include/omp-tools.h
+-rw-r--r--	root/root	usr/include/omp.h
+-rw-r--r--	root/root	usr/include/ompt-multiplex.h
+-rw-r--r--	root/root	usr/include/ompt.h
+drwxr-xr-x	root/root	usr/lib/
+drwxr-xr-x	root/root	usr/lib/cmake/
+drwxr-xr-x	root/root	usr/lib/cmake/openmp/
+-rw-r--r--	root/root	usr/lib/cmake/openmp/FindOpenMPTarget.cmake
+-rwxr-xr-x	root/root	usr/lib/libarcher.so
+-rw-r--r--	root/root	usr/lib/libarcher_static.a
+-rwxr-xr-x	root/root	usr/lib/libomp.so
+-rwxr-xr-x	root/root	usr/lib/libompd.so
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1010.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1030.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1031.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1032.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1033.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1034.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1035.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1036.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1100.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1101.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1102.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1103.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1150.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx1151.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx700.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx701.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx801.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx803.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx900.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx902.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx906.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx908.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx90a.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx90c.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-amdgpu-gfx940.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_35.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_37.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_50.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_52.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_53.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_60.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_61.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_62.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_70.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_72.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_75.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_80.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_86.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_87.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_89.bc
+-rw-r--r--	root/root	usr/lib/libomptarget-nvptx-sm_90.bc
+-rw-r--r--	root/root	usr/lib/libomptarget.devicertl.a
+lrwxrwxrwx	root/root	usr/lib/libomptarget.rtl.amdgpu.so -> libomptarget.rtl.amdgpu.so.17
+-rwxr-xr-x	root/root	usr/lib/libomptarget.rtl.amdgpu.so.17
+lrwxrwxrwx	root/root	usr/lib/libomptarget.rtl.cuda.so -> libomptarget.rtl.cuda.so.17
+-rwxr-xr-x	root/root	usr/lib/libomptarget.rtl.cuda.so.17
+lrwxrwxrwx	root/root	usr/lib/libomptarget.rtl.x86_64.so -> libomptarget.rtl.x86_64.so.17
+-rwxr-xr-x	root/root	usr/lib/libomptarget.rtl.x86_64.so.17
+lrwxrwxrwx	root/root	usr/lib/libomptarget.so -> libomptarget.so.17
+-rwxr-xr-x	root/root	usr/lib/libomptarget.so.17
+drwxr-xr-x	root/root	usr/share/
+drwxr-xr-x	root/root	usr/share/gdb/
+drwxr-xr-x	root/root	usr/share/gdb/python/
+drwxr-xr-x	root/root	usr/share/gdb/python/ompd/
+-rw-r--r--	root/root	usr/share/gdb/python/ompd/__init__.py
+-rw-r--r--	root/root	usr/share/gdb/python/ompd/frame_filter.py
+-rw-r--r--	root/root	usr/share/gdb/python/ompd/ompd.py
+-r-xr-xr-x	root/root	usr/share/gdb/python/ompd/ompdModule.so
+-rw-r--r--	root/root	usr/share/gdb/python/ompd/ompd_address_space.py
+-rw-r--r--	root/root	usr/share/gdb/python/ompd/ompd_callbacks.py
+-rw-r--r--	root/root	usr/share/gdb/python/ompd/ompd_handles.py
diff --git a/openmp/.signature b/openmp/.signature
new file mode 100644
index 000000000..c9e120665
--- /dev/null
+++ b/openmp/.signature
@@ -0,0 +1,6 @@
+untrusted comment: verify with /etc/ports/opt.pub
+RWSE3ohX2g5d/XVO3HTE5Ch7yTAXAgSkKQqfLSxVzOokNu8oyGvzaRUWYamtu8kFPZaaXLb2J0RBVKtr7HgCyrtUqe1DOBF3jgA=
+SHA256 (Pkgfile) = ef98d4ef789ed343df11e2795c613c7f1d716a1215294bccba43247dc1842f88
+SHA256 (.footprint) = 93beaeb774109771465857a0ae9c12873e8e8be0bf3814cfa6dbb58e9cca1add
+SHA256 (openmp-17.0.6.src.tar.xz) = 74334cbb4dc8b73a768448a7561d5a3540404940b2267b1fb9813a6464b320de
+SHA256 (cmake-17.0.6.src.tar.xz) = 807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4
diff --git a/openmp/Pkgfile b/openmp/Pkgfile
new file mode 100644
index 000000000..b1cf14503
--- /dev/null
+++ b/openmp/Pkgfile
@@ -0,0 +1,25 @@
+# Description: LLVM OpenMP Runtime Library
+# URL: https://openmp.llvm.org/
+# Maintainer: CRUX System Team, core-ports at crux dot nu
+# Depends on: clang
+
+name=openmp
+version=17.0.6
+release=1
+source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/$name-$version.src.tar.xz
+  https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/cmake-$version.src.tar.xz)
+
+build() {
+  mv cmake-$version.src cmake
+
+  cmake -S $name-$version.src -B build -G Ninja \
+    -D CMAKE_INSTALL_PREFIX=/usr \
+    -D CMAKE_BUILD_TYPE=Release \
+    -D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \
+    -D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
+    -D LIBOMP_INSTALL_ALIASES=OFF \
+    -Wno-dev
+
+  cmake --build build
+  DESTDIR=$PKG cmake --install build
+}