Date: Monday, September 24, 2018 @ 05:23:23 Author: svenstaro Revision: 384305
archrelease: copy trunk to community-testing-x86_64 Added: cuda/repos/community-testing-x86_64/ cuda/repos/community-testing-x86_64/PKGBUILD (from rev 384304, cuda/trunk/PKGBUILD) cuda/repos/community-testing-x86_64/cuda-findgllib_mk.diff (from rev 384304, cuda/trunk/cuda-findgllib_mk.diff) cuda/repos/community-testing-x86_64/cuda.conf (from rev 384304, cuda/trunk/cuda.conf) cuda/repos/community-testing-x86_64/cuda.install (from rev 384304, cuda/trunk/cuda.install) cuda/repos/community-testing-x86_64/cuda.sh (from rev 384304, cuda/trunk/cuda.sh) ------------------------+ PKGBUILD | 93 +++++++++++++++++++++++++++++++++++++++++++++++ cuda-findgllib_mk.diff | 22 +++++++++++ cuda.conf | 5 ++ cuda.install | 11 +++++ cuda.sh | 1 5 files changed, 132 insertions(+) Copied: cuda/repos/community-testing-x86_64/PKGBUILD (from rev 384304, cuda/trunk/PKGBUILD) =================================================================== --- community-testing-x86_64/PKGBUILD (rev 0) +++ community-testing-x86_64/PKGBUILD 2018-09-24 05:23:23 UTC (rev 384305) @@ -0,0 +1,93 @@ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +pkgname=cuda +pkgver=10.0.130 +_basever=10.0.130 +_driverver=410.48 +pkgrel=1 +pkgdesc="NVIDIA's GPU programming toolkit" +arch=('x86_64') +url="http://www.nvidia.com/object/cuda_home.html" +license=('custom:NVIDIA') +depends=('gcc7-libs' 'opencl-nvidia' 'nvidia-utils' 'gcc7') +replaces=('cuda-toolkit' 'cuda-sdk') +provides=('cuda-toolkit' 'cuda-sdk') +optdepends=('gdb: for cuda-gdb' + 'java-runtime: for nsight and nvvp') +options=(!strip staticlibs) +install=cuda.install +source=(https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_${_basever}_${_driverver}_linux + cuda.sh + cuda.conf + cuda-findgllib_mk.diff) +sha512sums=('409ea4cc6aa0fe7063450e77c3b67b9b41aab1bbe556db673fb1a80610b20bd52e2020bf94034a92ab68c721d3d5739500bae4bd7a3558b2d8e73730a3b4ea25' + 'ce0b8df5d918ec8429da4ab8f9dee463ac04055ee5b0beeb0386b67d765a4c892d314995776a0d695cd06bcfbaf996e4904935ddc898a9d774f6bf965d989dea' + '0f1f5bed19f9eaf66b53e32d2e163a40d03e11565b3d5d9f5220b6904bb510fd9548e0dd8a33ee84e729845333158f9fed078584e80a8361ca434b1410624473' + '41d6b6cad934f135eafde610d1cbd862033977fd4416a4b6abaa47709a70bab7fcf6f8377c21329084fb9db13f2a8c8c20e93c15292d7d4a6448d70a33b23f1b') + +prepare() { + sh cuda_${_basever}_${_driverver}_linux --extract=${srcdir} + ./cuda-*.run --noexec --keep + ./cuda-samples*.run --noexec --keep + + # path hacks + + # 1rd sed line: sets right path to install man files + # 2rd sed line: hack to lie installer, now detect launch script by root + # 3rd sed line: sets right path in .desktop files and other .desktop stuff (warnings by desktop-file-validate) + sed -e "s|/usr/share|${srcdir}/../pkg/${pkgname}/usr/share|g" \ + -e 's|can_add_for_all_users;|1;|g' \ + -e 's|=\\"$prefix\\\"|=/opt/cuda|g' -e 's|Terminal=No|Terminal=false|g' -e 's|ParallelComputing|ParallelComputing;|g' \ + -i pkg/install-linux.pl + + # set right path in Samples Makefiles + sed 's|\$cudaprefix\\|\\/opt\\/cuda\\|g' -i pkg/install-sdk-linux.pl + + # use python2 + find pkg -name '*.py' | xargs sed -i -e 's|env python|env python2|g' -e 's|bin/python|bin/python2|g' + + # Fix up samples tht use findgllib_mk + for f in pkg/samples/*/*/findgllib.mk; do + patch $f cuda-findgllib_mk.diff + done +} + +package() { + cd pkg + export PERL5LIB=. + perl install-linux.pl -prefix="${pkgdir}/opt/cuda" -noprompt + perl install-sdk-linux.pl -cudaprefix="${pkgdir}/opt/cuda" -prefix="${pkgdir}/opt/cuda/samples" -noprompt + + # Hack we need because of glibc 2.26 (https://bugs.archlinux.org/task/55580) + # without which we couldn't compile anything at all. + # Super dirty hack. I really hope it doesn't break other stuff! + # Hopefully we can remove this for later version of cuda. + sed -i "1 i#define _BITS_FLOATN_H" "${pkgdir}/opt/cuda/include/host_defines.h" + + # Needs gcc7 + ln -s /usr/bin/gcc-7 "${pkgdir}/opt/cuda/bin/gcc" + ln -s /usr/bin/g++-7 "${pkgdir}/opt/cuda/bin/g++" + + # 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 redundant man and samples + rm -fr "${pkgdir}/opt/cuda/doc/man" + rm -fr "${pkgdir}/opt/cuda/cuda-samples" + rm -fr "${pkgdir}/usr/share/man/man3/deprecated.3"* + + # Remove included copy of java and link to system java + rm -fr "${pkgdir}/opt/cuda/jre" + sed 's|../jre/bin/java|/usr/bin/java|g' \ + -i "${pkgdir}/opt/cuda/libnsight/nsight.ini" \ + -i "${pkgdir}/opt/cuda/libnvvp/nvvp.ini" + + # Remove unused files + rm -fr "${pkgdir}/opt/cuda/"{bin,samples}"/.uninstall_manifest_do_not_delete.txt" + rm -fr "${pkgdir}/opt/cuda/samples/uninstall_cuda_samples"*.pl + rm -fr "${pkgdir}/opt/cuda/bin/cuda-install-samples"*.sh + rm -fr "${pkgdir}/opt/cuda/bin/uninstall_cuda_toolkit"*.pl +} Copied: cuda/repos/community-testing-x86_64/cuda-findgllib_mk.diff (from rev 384304, cuda/trunk/cuda-findgllib_mk.diff) =================================================================== --- community-testing-x86_64/cuda-findgllib_mk.diff (rev 0) +++ community-testing-x86_64/cuda-findgllib_mk.diff 2018-09-24 05:23:23 UTC (rev 384305) @@ -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 384304, cuda/trunk/cuda.conf) =================================================================== --- community-testing-x86_64/cuda.conf (rev 0) +++ community-testing-x86_64/cuda.conf 2018-09-24 05:23:23 UTC (rev 384305) @@ -0,0 +1,5 @@ +/opt/cuda/lib64 +/opt/cuda/lib +/opt/cuda/nvvm/lib64 +/opt/cuda/nvvm/lib +/opt/cuda/extras/CUPTI/lib64 Copied: cuda/repos/community-testing-x86_64/cuda.install (from rev 384304, cuda/trunk/cuda.install) =================================================================== --- community-testing-x86_64/cuda.install (rev 0) +++ community-testing-x86_64/cuda.install 2018-09-24 05:23:23 UTC (rev 384305) @@ -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 384304, cuda/trunk/cuda.sh) =================================================================== --- community-testing-x86_64/cuda.sh (rev 0) +++ community-testing-x86_64/cuda.sh 2018-09-24 05:23:23 UTC (rev 384305) @@ -0,0 +1 @@ +export PATH=$PATH:/opt/cuda/bin