updated on Sat Jan 21 20:03:50 UTC 2012
[aur-mirror.git] / cuda3-sdk / PKGBUILD
blobe167a9a0eaa16a7d5fd3752a9ce38ac62762d174
1 # Maintainer: Thomas Jost <schnouki@schnouki.net>
2 # Contributor: Carson Reynolds <carson@k2.t.u-tokyo.ac.jp>
4 # A x86_64 binary version of this package is available from my custom
5 # repository. If you wish to use it, just add the following lines to your
6 # /etc/pacman.conf:
7 #   [schnouki]
8 #   Server = http://repo.schnouki.net/archlinux/$arch
9 # Then run "pacman -Sy cuda3-sdk" as root.
11 pkgname=cuda3-sdk
12 _pkgname=cuda-sdk
13 pkgver=3.2.16
14 pkgrel=1
15 _shortver=3_2
16 pkgdesc="NVIDIA's CUDA architecture can be programmed in the only C language environment that unlocks the processing power of GPUs to solve the most complex compute-intensive challenges."
17 arch=('i686' 'x86_64')
18 [ "$CARCH" = "i686"   ] && ARCH=x86
19 [ "$CARCH" = "x86_64" ] && ARCH=x86_64
20 url="http://www.nvidia.com/object/cuda_home.html"
21 license=('custom')
22 depends=("cuda3-toolkit>=${pkgver}"
23          'nvidia>=260.19.21'
24          'freeglut'
25          'gcc44')
26 provides=("cuda-sdk=$pkgver")
27 conflicts=('cuda-sdk')
28 source=(http://developer.download.nvidia.com/compute/cuda/${_shortver}_prod/sdk/gpucomputingsdk_${pkgver}_linux.run
29         common.mk.patch)
30 md5sums=('6f58a696627a236aed20c1f2cd9c74bf'
31          'cdfaddbd4c69f4f25a84e91991b2c45d')
33 build() {
34   # Extract the SDK
35   cd $srcdir
36   sh gpucomputingsdk_${pkgver}_linux.run --noexec --keep --nox11 &> /dev/null
37   
38   # Inspection hook
39   #echo "Inspect srcdir"
40   #read 
42   # Patch the Makefile
43   cp pkg/sdk/C/common/common.mk pkg/sdk/C/common/common.mk.original
44   patch -p0 -i $srcdir/common.mk.patch
46   # Build the C SDK
47   cd $srcdir/pkg/sdk/C
48   make
50   # Build the OpenCL SDK
51   cd $srcdir/pkg/sdk/OpenCL
52   make
55 package() {
56   # Make directories
57   mkdir -p $pkgdir/usr/share/licenses/cuda-sdk
58   mkdir -p $pkgdir/usr/share/doc/cuda-sdk/{C,OpenCL}/releaseNotesData
59   mkdir -p $pkgdir/usr/share/cuda-sdk/{C,OpenCL}/bin/data
60   
61   # Install the binaries
62   install -m755 $srcdir/pkg/sdk/C/bin/linux/release/* $pkgdir/usr/share/cuda-sdk/C/bin
63   install -m755 $srcdir/pkg/sdk/OpenCL/bin/linux/release/* $pkgdir/usr/share/cuda-sdk/OpenCL/bin
65   # Install license information
66   install -m644 $srcdir/pkg/sdk/cudpp_license.txt $pkgdir/usr/share/licenses/cuda-sdk
67   install -m644 $srcdir/pkg/sdk/License.txt $pkgdir/usr/share/licenses/cuda-sdk
69   # Install documentation files
70   install -m644 $srcdir/pkg/sdk/C/doc/*.rtf $srcdir/pkg/sdk/C/Samples.html $pkgdir/usr/share/doc/cuda-sdk/C
71   install -m644 $srcdir/pkg/sdk/OpenCL/doc/*.pdf $srcdir/pkg/sdk/OpenCL/Samples.html $pkgdir/usr/share/doc/cuda-sdk/OpenCL
72   install -m644 $srcdir/pkg/sdk/C/releaseNotesData/* $pkgdir/usr/share/doc/cuda-sdk/C/releaseNotesData
73   install -m644 $srcdir/pkg/sdk/OpenCL/releaseNotesData/* $pkgdir/usr/share/doc/cuda-sdk/OpenCL/releaseNotesData
75   # Copy over source and lib folders
76   cp -R $srcdir/pkg/sdk/C/{common,lib,src} $pkgdir/usr/share/cuda-sdk/C
77   cp -R $srcdir/pkg/sdk/OpenCL/{common,src} $pkgdir/usr/share/cuda-sdk/OpenCL
78   cp -R $srcdir/pkg/sdk/shared $pkgdir/usr/share/cuda-sdk
80   # Remove left-over object and ptx files
81   find $pkgdir/usr/share/cuda-sdk -depth -type d -name 'obj' -exec rm -rf \{\} \;
82   find $pkgdir/usr/share/cuda-sdk -type f -name '*.ptx' -exec rm -rf \{\} \;
84   # Copy data files for SDK
85   find $srcdir/pkg/sdk/C/src/ | grep '/data/' | \
86     xargs -I '{}' cp '{}' $pkgdir/usr/share/cuda-sdk/C/bin/data
87   find $srcdir/pkg/sdk/OpenCL/src/ | grep '/data/' | \
88     xargs -I '{}' cp '{}' $pkgdir/usr/share/cuda-sdk/OpenCL/bin/data
91 # NOTE: demos such as bandwidthTest, dxtc and simpleTexture may pass tests 
92 #       when run as root since the data directory is not writable by default.
93 # NOTE: if building with nvcc use the following flags:
94 # --compiler-options -fpermissive --compiler-bindir=/opt/gcc-4.4