[arch-commits] Commit in cuda/repos (7 files)
Lukas Fleischer
lfleischer at archlinux.org
Thu Dec 12 03:07:46 UTC 2019
Date: Thursday, December 12, 2019 @ 03:07:46
Author: lfleischer
Revision: 537134
db-move: moved cuda from [community-staging] to [community-testing] (x86_64)
Added:
cuda/repos/community-testing-x86_64/
cuda/repos/community-testing-x86_64/PKGBUILD
(from rev 537133, cuda/repos/community-staging-x86_64/PKGBUILD)
cuda/repos/community-testing-x86_64/cuda-findgllib_mk.diff
(from rev 537133, cuda/repos/community-staging-x86_64/cuda-findgllib_mk.diff)
cuda/repos/community-testing-x86_64/cuda.conf
(from rev 537133, cuda/repos/community-staging-x86_64/cuda.conf)
cuda/repos/community-testing-x86_64/cuda.install
(from rev 537133, cuda/repos/community-staging-x86_64/cuda.install)
cuda/repos/community-testing-x86_64/cuda.sh
(from rev 537133, cuda/repos/community-staging-x86_64/cuda.sh)
Deleted:
cuda/repos/community-staging-x86_64/
------------------------+
PKGBUILD | 88 +++++++++++++++++++++++++++++++++++++++++++++++
cuda-findgllib_mk.diff | 22 +++++++++++
cuda.conf | 3 +
cuda.install | 11 +++++
cuda.sh | 2 +
5 files changed, 126 insertions(+)
Copied: cuda/repos/community-testing-x86_64/PKGBUILD (from rev 537133, cuda/repos/community-staging-x86_64/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2019-12-12 03:07:46 UTC (rev 537134)
@@ -0,0 +1,88 @@
+# Maintainer: Sven-Hendrik Haase <sh at lutzhaase.com>
+# Maintainer: Konstantin Gizdov <arch at kge.pw>
+pkgname=cuda
+pkgver=10.2.89
+_driverver=440.33.01
+pkgrel=2
+pkgdesc="NVIDIA's GPU programming toolkit"
+arch=('x86_64')
+url="https://developer.nvidia.com/cuda-zone"
+license=('custom:NVIDIA')
+depends=('gcc8-libs' 'gcc8' 'opencl-nvidia' 'nvidia-utils')
+replaces=('cuda-toolkit' 'cuda-sdk')
+provides=('cuda-toolkit' 'cuda-sdk')
+optdepends=('gdb: for cuda-gdb'
+ 'java-runtime=8: for nsight and nvvp')
+options=(!strip staticlibs)
+install=cuda.install
+source=(http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_${pkgver}_${_driverver}_linux.run
+ cuda.sh
+ cuda.conf
+ cuda-findgllib_mk.diff)
+sha512sums=('ad8da539ff5df7caf411d1e497ff3d6978cfa8a1fd9150fa4846089e92a604ea56be8631f3efdfe7229a655b8d2d28e6edb32f5731530a77d6f00241cc7aab6e'
+ 'b3691913027b8390161c7412d87a905712d90434cc82027a52f203f8ae3dda755738f734f8190277471e4541d685b524568ad03af58d4b7ebad346eee11c10e4'
+ '714d973bc79446f73bebe85306b3566fe25b554bcbcba2fcbe76709a3eca71fb5d183ab4da2d3b5e9326cb9cd8d13a93f6d4a005ea5a41f7ef8e6c6e81e06b5e'
+ '41d6b6cad934f135eafde610d1cbd862033977fd4416a4b6abaa47709a70bab7fcf6f8377c21329084fb9db13f2a8c8c20e93c15292d7d4a6448d70a33b23f1b')
+
+prepare() {
+ sh cuda_${pkgver}_${_driverver}_linux.run --target "${srcdir}" --noexec
+
+ # Fix up samples tht use findgllib_mk
+ for f in builds/cuda-samples/*/*/findgllib.mk; do
+ patch $f cuda-findgllib_mk.diff
+ done
+}
+
+package() {
+ mkdir -p "${pkgdir}/opt/"
+
+ cd "${srcdir}/builds"
+ cp -r cuda-toolkit "${pkgdir}/opt/cuda"
+ cp -r cublas/include/* "${pkgdir}/opt/cuda/include/"
+ cp -r cublas/lib64/* "${pkgdir}/opt/cuda/lib64/"
+ cp -r cuda-samples "${pkgdir}/opt/cuda/samples"
+ ln -s /opt/cuda/targets/x86_64-linux/lib "${pkgdir}/opt/cuda/lib"
+ ln -s /opt/cuda/nvvm/lib64 "${pkgdir}/opt/cuda/nvvm/lib"
+
+ # Define compilers for CUDA to use.
+ # This allows us to use older versions of GCC if we have to.
+ ln -s /usr/bin/gcc-8 "${pkgdir}/opt/cuda/bin/gcc"
+ ln -s /usr/bin/g++-8 "${pkgdir}/opt/cuda/bin/g++"
+
+ # Create soname links.
+ # We have to be weird about this since for some reason the ELF SONAME is incorrect or at least partially incorrect for some libs.
+ # Best we can do is create all symlinks and hope for the best.
+ # Their installer used to perform this for us but now it's all manual and I think this is what we'll be stuck with for now.
+ find cuda-toolkit/targets -type f -name '*.so*' ! -path '*stubs/*' -print0 | while read -rd $'\0' _lib; do
+ _base=${_lib%.so.*}
+ _current_soname=$(basename ${_lib%.*})
+ while [[ $_current_soname != $(basename $_base) ]]; do
+ ln -sf ${_lib##*/} ${pkgdir}/opt/cuda/lib64/$_current_soname
+ _current_soname=${_current_soname%.*}
+ done
+ done
+
+ # Install profile and ld.so.config files
+ install -Dm755 "${srcdir}/cuda.sh" "${pkgdir}/etc/profile.d/cuda.sh"
+ install -Dm644 "${srcdir}/cuda.conf" "${pkgdir}/etc/ld.so.conf.d/cuda.conf"
+
+ mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}"
+ ln -s /opt/cuda/doc/pdf/EULA.pdf "${pkgdir}/usr/share/licenses/${pkgname}/EULA.pdf"
+
+ # Remove included copy of java and link to system java 8
+ rm -fr "${pkgdir}/opt/cuda/jre"
+ sed 's|../jre/bin/java|/usr/lib/jvm/java-8-openjdk/jre/bin/java|g' \
+ -i "${pkgdir}/opt/cuda/libnsight/nsight.ini" \
+ -i "${pkgdir}/opt/cuda/libnvvp/nvvp.ini"
+
+ # Allow GCC 9 to work
+ sed -i "/.*unsupported GNU version.*/d" "${pkgdir}"/opt/cuda/targets/x86_64-linux/include/crt/host_config.h
+
+ # Fix Makefile paths to CUDA
+ for f in $(find "$pkgdir"/opt/cuda -name Makefile); do
+ sed -i "s|/usr/local/cuda|/opt/cuda|g" "$f"
+ done
+}
+
+# vim:set ts=2 sw=2 et:
+
Copied: cuda/repos/community-testing-x86_64/cuda-findgllib_mk.diff (from rev 537133, cuda/repos/community-staging-x86_64/cuda-findgllib_mk.diff)
===================================================================
--- community-testing-x86_64/cuda-findgllib_mk.diff (rev 0)
+++ community-testing-x86_64/cuda-findgllib_mk.diff 2019-12-12 03:07:46 UTC (rev 537134)
@@ -0,0 +1,22 @@
+--- ./opt/cuda/samples/3_Imaging/bicubicTexture/findgllib.mk 2017-09-28 09:07:30.310563874 +0200
++++ findgllib.mk 2017-09-28 14:40:50.638930881 +0200
+@@ -60,6 +60,7 @@
+ RHEL = $(shell echo $(DISTRO) | grep -i 'red\|rhel' >/dev/null 2>&1; echo $$?)
+ CENTOS = $(shell echo $(DISTRO) | grep -i centos >/dev/null 2>&1; echo $$?)
+ SUSE = $(shell echo $(DISTRO) | grep -i 'suse\|sles' >/dev/null 2>&1; echo $$?)
++ ARCHLX = $(shell echo $(DISTRO) | grep -i arch >/dev/null 2>&1; echo $$?)
+ ifeq ("$(UBUNTU)","0")
+ ifeq ($(HOST_ARCH)-$(TARGET_ARCH),x86_64-armv7l)
+ GLPATH := /usr/arm-linux-gnueabihf/lib
+@@ -100,6 +101,11 @@
+ GLPATH ?= /usr/lib64/nvidia
+ GLLINK ?= -L/usr/lib64/nvidia
+ DFLT_PATH ?= /usr/lib64
++ endif
++ ifeq ("$(ARCHLX)","0")
++ GLPATH ?= /usr/lib64/nvidia
++ GLLINK ?= -L/usr/lib64/nvidia
++ DFLT_PATH ?= /usr/lib64
+ endif
+
+ # find libGL, libGLU, libXi,
Copied: cuda/repos/community-testing-x86_64/cuda.conf (from rev 537133, cuda/repos/community-staging-x86_64/cuda.conf)
===================================================================
--- community-testing-x86_64/cuda.conf (rev 0)
+++ community-testing-x86_64/cuda.conf 2019-12-12 03:07:46 UTC (rev 537134)
@@ -0,0 +1,3 @@
+/opt/cuda/lib64
+/opt/cuda/nvvm/lib64
+/opt/cuda/extras/CUPTI/lib64
Copied: cuda/repos/community-testing-x86_64/cuda.install (from rev 537133, cuda/repos/community-staging-x86_64/cuda.install)
===================================================================
--- community-testing-x86_64/cuda.install (rev 0)
+++ community-testing-x86_64/cuda.install 2019-12-12 03:07:46 UTC (rev 537134)
@@ -0,0 +1,11 @@
+post_install() {
+ echo "The cuda binaries are in /opt/cuda/bin"
+ echo "The cuda samples are in /opt/cuda/samples"
+ echo "The cuda docs are in /opt/cuda/doc"
+ echo "You need to relogin in order for the cuda binaries to appear in your PATH"
+ post_upgrade
+}
+
+post_upgrade() {
+ ldconfig -r .
+}
Copied: cuda/repos/community-testing-x86_64/cuda.sh (from rev 537133, cuda/repos/community-staging-x86_64/cuda.sh)
===================================================================
--- community-testing-x86_64/cuda.sh (rev 0)
+++ community-testing-x86_64/cuda.sh 2019-12-12 03:07:46 UTC (rev 537134)
@@ -0,0 +1,2 @@
+export CUDA_PATH=/opt/cuda
+export PATH=$PATH:/opt/cuda/bin
More information about the arch-commits
mailing list