summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorjerry732042021-06-12 18:45:48 +0800
committerjerry732042021-06-12 18:46:10 +0800
commit6dd3fee53ce2913bd444c168ca37eb189c7f9731 (patch)
tree708984e4bb2f633c9390d1f904bc761b46793bd3 /PKGBUILD
downloadaur-6dd3fee53ce2913bd444c168ca37eb189c7f9731.tar.gz
Create cuda-11.1 package
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD116
1 files changed, 116 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f2d6eb067555
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,116 @@
+# Maintainer: jerry73204 <jerry73204@gmail.com>
+pkgname=cuda-11.1
+pkgver=11.1.1
+_driverver=455.32.00
+_reqdriverver=455.32
+pkgrel=1
+pkgdesc="NVIDIA's GPU programming toolkit"
+arch=('x86_64')
+url="https://developer.nvidia.com/cuda-zone"
+license=('custom:NVIDIA')
+depends=('gcc-libs' 'gcc' '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/${pkgver}/local_installers/cuda_${pkgver}_${_driverver}_linux.run
+ cuda.sh
+ cuda.conf
+ cuda-findgllib_mk.diff
+ *.pc)
+sha512sums=('3da629e6f63548d06050a77d6ad2dbf314db33b2bf4e7d1659f039b3d9ad2ad3f87a6e506ec54db9ca2d21ac7b5ec576748082684bbab3b6642c03d2793d73a9'
+ '79aa6fbeff13a2bcef5791c2288d4b072dfe7b17593261ee79302dc6c77ae368e73f5cac9ce38893fc0068e4895f5cde475faf507fac058fb697c8da3198587f'
+ '714d973bc79446f73bebe85306b3566fe25b554bcbcba2fcbe76709a3eca71fb5d183ab4da2d3b5e9326cb9cd8d13a93f6d4a005ea5a41f7ef8e6c6e81e06b5e'
+ '41d6b6cad934f135eafde610d1cbd862033977fd4416a4b6abaa47709a70bab7fcf6f8377c21329084fb9db13f2a8c8c20e93c15292d7d4a6448d70a33b23f1b'
+ 'a4b3b03682801a98a1d8c1d14c084fd35efd384d92d497e230e3a28e0bd97b1fa48a93ccb2150f892f0b4154ca4ea2d66f5484a6a59b5c9b49963de42ecf1736'
+ 'd69d3ec0e270648f55d8c3e420f89d056b120eca5b25e9e7fc1cca799d1a252909ee31ff399c137223eca57cdf82b856221a251b6ff1daf5d6f75c1a582b1e32'
+ 'e463a596d34cc7d7e42c32e8a72b327aedb8707902dda8767f2c22a6a7e6dda7fcd297c0036b004ce4f1677408084acb6f4ed683cd6c79558ba8bb4e1a83867f'
+ '2fc1a136ecbd7535a46c7c63e1218525230e44d15f461fdb461b727eb12799ebe66d46d57cacda9b7b55bbfed572c1c9a9c5c5f73de6e28da1a1deda7b7eaffd'
+ 'd91acc6e7f56f36a4b67ee06f39d87928bc49e7463077f9dc95716151df1a9a6f259ebf01dc860eacf2d5faf2feb4411b6ca8cef50cd5af823875aa5ad54d098'
+ '7bda70d783180d3dafea9f0117e0c396d4aedda3da02fea6c7382139b030c9111e044c454152526cca271d49883240782ba94fe89b098a41d9b451425dc4870d'
+ '408b553d5187e31086e10d236f2c8090045da0fae351c8b170d01aead88ea5f8a0b4ec50e2c5ccbb989167768bec58cb7ae051b7b87c00c59794879844d7679e'
+ '5fb9837e7830a02bd6e1fae0cd959bc35474801ab2836e385678ce893d760ff6b9f47e728707a755f842758cf2fe55c2f7bb04d3941b80a5fd1d4b4ba7a4d428'
+ 'd47d8bd10cf1183e9ab3ae59b669e8a8d7cc9127dbb07c4bafbc8b853b285676217e329e1cc49a277d0b9b5623c2e6066b087a66951d2e7fa8007f10aa4c074b'
+ '6728716dbe10553e876cb6a2c556bf9309197eb53c9d31fa1525843383ef531ca7a0913130507064fc24c59057b5f82f45705a23df43d77c5882bf53b087ea4b'
+ '653a29a874fde27defeb06cc4e3c69d9d129d9b9c04f15d2958629eaf03521d361c08fd41abee95378ae72f951f07c15d32e7d5563170829a0c90defebe95a0b'
+ '26c8ad1ff52ae51ee250b71b8427a2b89bd3d64e42c5fe2f55732bffb36e19d2946008e5058cd30d76b8129621aa5440b11601b10afc95f112bb8addfc0aeb0c'
+ 'a801a5fb9e963bbd796b050b514b412a6babab26e0cdbd61b7ea55071944723489b4305bebedc8828428756939cebe6bd936bfffed5a6fff8bf39629a8df5cce'
+ 'a5fd4fb8fa75d276c154fd48657aeeb689b39bc29cf0efc9c6e0bda741de36d740095007cda9849345c322162513530953ab5598c2dad03ac8c2c0c9395ff79a'
+ '40fbed6b5d62ac90afc0732e6713e34a35c8883b9b30ae76616ff689addb64553fd4b9d09ff360964e01ab2afaa3d3055b2a46725fb937fb117a28c0e5392a1a'
+ 'b17ba99efdc2bb8b83b3811ffb43515e663461185c659902bd3111f08f05a196a3919c463102b2d8bd0dea69cba8fa0a6ccc4a86c0b2584459218e1292074a13'
+ '4aa2bab32131bc3a81d5ba8412b10b6b30cebf5a0e1525e56bd7cddf20da8d306ba48165d6a6356eb9c1f705c4b3d58e1bf33c1d07c872c741739e70a7cb20ef'
+ 'af4fc1d293978bba254d3db6c941b4b7be2ce9b61d82ddaf1e30e19407f6bf10caa22c4406739179cdb12ebc5396013ea291554edea8d56c1661493804309f87'
+ '367151febaabe4eda8df64a10bbc43e29e5a5236dc4bc064a3a8d12c69818bedbaef156fddf08c99f0eca5bdae20b5a3a0f7e2401efedebf096ea143ef2d09fa'
+ 'b0ab2a5dac5fa1c7d2687a0f2f25de271b2638198744a27d492a02651afd4f676ac814252990d476a21f0b0c489d2487b5af766f32839c4d6ab2f91b2bb8ad04'
+ '328b3103a23d5de04efa7adc16d2cb8c23ab6617e0d83072e2ea0269f9af994125ae7e64e372697774fa1bfa9d3ec761d16ea489e51222d8babeca0fde95d239'
+ '4db458ff7db77303423fe38290c98caa1c4bb131d4c863d17880beac6e433998e4f85343b15e7166e3f7d9be41fdacae6ea66516db3b98d6371a16dac266539f'
+ 'df4fdc00e02ed8bd15cdda0a7dd375d36ff98c5df6188164caec530ae0d0ad8d632a6f29dbcebe7cad0edf2c579bd3594acb8d09fd81a6a3ba85e2cbc26101cd'
+ '3cb8c30f3936a464dbc214ee820941694e741de767c2636a5ce94cf5ea84d33a6265fff5777fb6a9f7328e076cc4c12e71624b3eb024bc0069d917f506a22750'
+ 'c2c0a15c1a1c4fe51c2be1eaf4ff790042b9d42b5959d02522ed7ad18b4c5880dd7d9cdfe88a6d1850b34ce7a22599fadc0e11ca94b595210c9150e44b5e8e66'
+ 'ede3cfcaaa655e73e47bd3475d94d33933c6e7c89c7dc7c98d9491e066ab4cf504e12ed4f1eab9edaeb358154bd86a43d359304675efa4fd4a67d01c97986f3b'
+ '4405d88a132f3cf4e6c506962860503537a3c946fbd5f1c29c52bb6e6b45b13d14333bc772c62589337875200b23b0af17c9e5ce188d2f4018f488ea75501054'
+ '16003e7e6307d39a95fe246a7d079e9a3d827bd03fd5f03bdd2051a5033a1f93d9c8531073ef587808a9d0c75d20e3d79417a90b14102bc872d32c2c7a5ebdcb')
+
+
+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() {
+ _target_dir="${pkgdir}/opt/cuda-11.1"
+ cd "${srcdir}/builds"
+
+ rm -r NVIDIA*.run bin
+ mkdir -p "${_target_dir}/extras"
+ mv cuda_samples "${_target_dir}/samples"
+ mv integration nsight_compute nsight_systems EULA.txt "${_target_dir}"
+ mv cuda_sanitizer_api/compute-sanitizer "${_target_dir}/extras/compute-sanitizer"
+ rmdir cuda_sanitizer_api
+ for lib in *; do
+ cp -r $lib/* "${_target_dir}/"
+ done
+
+ # Define compilers for CUDA to use.
+ # This allows us to use older versions of GCC if we have to.
+ ln -s /usr/bin/gcc "${_target_dir}/bin/gcc"
+ ln -s /usr/bin/g++ "${_target_dir}/bin/g++"
+
+ # Install profile and ld.so.config files
+ install -Dm755 "${srcdir}/cuda.sh" "${pkgdir}/etc/profile.d/cuda-11.1.sh"
+ install -Dm644 "${srcdir}/cuda.conf" "${pkgdir}/etc/ld.so.conf.d/cuda-11.1.conf"
+
+ # Install pkgconfig files
+ mkdir -p "$pkgdir"/usr/lib/pkgconfig
+ for file in "${srcdir}"/*.pc; do
+ file_name="$(basename $file)"
+ cp "$file" "${pkgdir}"/usr/lib/pkgconfig/"${file_name%.pc}-11.1.pc"
+ done
+
+ mkdir -p "${pkgdir}/usr/share/licenses/${pkgname}"
+ ln -s /opt/cuda-11.1/doc/pdf/EULA.pdf "${pkgdir}/usr/share/licenses/${pkgname}/EULA.pdf"
+
+ # Allow newer compilers to work. This is not officially supported in the Arch package but
+ # if users want to try, let them try.
+ # See https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
+ # for official requirements
+ sed -i "/.*unsupported GNU version.*/d" "${_target_dir}"/targets/x86_64-linux/include/crt/host_config.h
+ sed -i "/.*unsupported clang version.*/d" "${_target_dir}"/targets/x86_64-linux/include/crt/host_config.h
+
+ # Fix Makefile paths to CUDA
+ for f in $(find "$_target_dir" -name Makefile); do
+ sed -i "s|/usr/local/cuda|/opt/cuda-11.1|g" "$f"
+ done
+
+ # NVIDIA has trouble with counting and numbering
+ # as well as the elusive concept of a SONAME so...
+ ln -s /opt/cuda-11.1/targets/x86_64-linux/lib/libcudart.so.11.1.74 "${_target_dir}/targets/x86_64-linux/lib/libcudart.so.11.1"
+}
+
+# vim:set ts=2 sw=2 et: