File CUDA.spec of Package libcuda
%if 0%{?suse_version}
BuildRequires: kate fdupes libfakegpgpu
%endif
BuildRequires:chrpath
Name: CUDA
License: Redist
Summary: CUDA
Version: 3.1
Release: 1
Group: Development/Libraries/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%ifarch x86_64
Source0: cudatoolkit_%{version}_linux_64_suse11.2.run
%else
Source0: cudatoolkit_%{version}_linux_32_suse11.2.run
%endif
Source4: cu.xml
%description
This Package Provides CUDA, CuBLAS and CuFFT
%package -n libcudart3
Summary: Headers for CUDA libs, including cuBLAS and cuFFT
%description -n libcudart3
cufft
%package -n libcublas3
Summary: Headers for CUDA libs, including cuBLAS and cuFFT
%description -n libcublas3
cublas
%package -n libcufft3
Summary: Headers for CUDA libs, including cuBLAS and cuFFT
%description -n libcufft3
cufft
%package devel
Summary: Headers for CUDA libs, including cuBLAS and cuFFT
%description devel
This Package Provides CUDA, CuBLAS and CuFFT Headers
%package tools
Summary: Provide NVCC
Requires: libcuda3-devel
%description tools
This package provides NVCC, the Nvidia compiler for C for CUDA.
%package doc
Summary: Docs for cuda libs, includeing cublas and cufft
%description doc
This Package Provides CUDA, CuBLAS and CuFFT Docs
%package Profiler
Summary: Computeprofiler
%description Profiler
This Package Provides Cudaprofiler, to profile local performance of CUDA execution
%package -n libOpenCL-devel
Summary: OpenCL lib
%description -n libOpenCL-devel
This package provide a fake opencl lib
%prep
cp %{S:4} .
%build
sh %{S:0} --noexec --keep
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_includedir}/CL
mkdir -p %{buildroot}%{_includedir}/cuda
mkdir -p %{buildroot}%{_libdir}/cuda/bin
mkdir -p %{buildroot}%{_libdir}/cuda/include
mkdir -p %{buildroot}%{_libdir}/cuda/lib64
mkdir -p %{buildroot}%{_docdir}/cuda/open64
mkdir -p %{buildroot}%{_mandir}
mkdir -p %{buildroot}%{_datadir}/kde4/apps/katepart/syntax
cp %{_libdir}/nvidia/libOpenCL.so.1.0.0 %{buildroot}%{_libdir}/libOpenCL.so.1.0.0
cp %{_libdir}/nvidia/libcuda.so.1 %{buildroot}%{_libdir}/libcuda.so.1
install -m 644 cu.xml %{buildroot}%{_datadir}/kde4/apps/katepart/syntax
pushd pkg
pushd bin
for file in `find . -type f -not -iname 'nvcc.profile'`;do
install -s $file %{buildroot}%{_libdir}/cuda/bin
done
install nvcc.profile %{buildroot}%{_libdir}/cuda/bin
popd
install computeprof/bin/computeprof %{buildroot}%{_bindir}
pushd %_lib
for file in `find *.so.%{version}.9 -type f`;do
install -s $file %{buildroot}%{_libdir}
ln -s %{buildroot}%{_libdir}/$file %{buildroot}%{_libdir}/`basename $file .%{version}.9`
done
popd
pushd include
pushd CL;
for file in `find * -type f`;do
install -m 644 -D $file %{buildroot}%{_includedir}/CL
rm $file;
done;
ln -s %{_libdir}/libOpenCL.so.1.0.0 %{buildroot}%{_libdir}/libOpenCL.so
ln -s %{_libdir}/libcuda.so.1 %{buildroot}%{_libdir}/libcuda.so
popd;
for file in `find * -type f`;do
install -m 644 -D $file %{buildroot}t%{_libdir}/cuda/include
done;
popd
pushd doc
for file in `find * -type f`;do
install -m 644 -D $file %{buildroot}%{_docdir}/cuda
done;
popd
pushd open64
for file in `find * -type f`;do
install -s $file %{buildroot}%{_libdir}/cuda/open64
done;
popd
popd
ln -s %{_libdir}/cuda/bin/nvcc %{buildroot}%{_bindir}/nvcc
ln -s %{_libdir}/cuda/include %{buildroot}%{_includedir}/cuda
ln -s %{_libdir} %{buildroot}%{_libdir}/cuda/lib64
%if 0%{?suse_version}
%fdupes -s $RPM_BUILD_ROOT
chrpath --delete %{buildroot}%{_bindir}/computeprof
%endif
%post -n libcudart3
ldconfig
%postun -n libcudart3
ldconfig
%post -n libcublas3
ldconfig
%postun -n libcublas3
ldconfig
%post -n libcufft3
ldconfig
%postun -n libcufft3
ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files -n libcudart3
%{_libdir}/libcudart.so.%{version}.9
%files -n libcublas3
%{_libdir}/libcublas.so.%{version}.9
%files -n libcufft3
%{_libdir}/libcufft.so.%{version}.9
%files devel
%dir %{_libdir}/cuda
%dir %{_libdir}/cuda/include
%dir %{_libdir}/cuda/%{_lib}
%{_libdir}/*.so
%{_includedir}/cuda/
%config %{_datadir}/kde4/apps/katepart/syntax/cu.xml
%files tools
%{_bindir}/nvcc
%{_libdir}/cuda/bin
%{_libdir}/cuda/open64
%files Profiler
%{_bindir}/computeprof
%files doc
%doc %{_docdir}/cuda
%files -n libOpenCL-devel
%{_libdir}/libOpenCL.so
%{_includedir}/CL