File ocl-icd-nvidia.spec of Package ocl-icd-nvidia
#
# spec file for package ocl-icd
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: ocl-icd
Version: 2.3.1
Release: 0
Summary: OpenCL ICD Bindings
License: BSD-2-Clause
URL: https://github.com/OCL-dev/ocl-icd
Source: https://github.com/OCL-dev/ocl-icd/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: baselibs.conf
# PATCH-FEATURE-OPENSUSE n_UsrShare.patch boo#1173005, comment#8
Patch0: n_UsrShare.patch
BuildRequires: libtool
BuildRequires: opencl-headers >= 2.2
BuildRequires: pkgconfig
BuildRequires: ruby
BuildRequires: pkgconfig(egl)
%description
OpenCL is a royalty-free standard for cross-platform, parallel programming
of modern processors found in personal computers, servers and
handheld/embedded devices.
This package provides an Installable Client Driver Bindings (ICD Bindings).
The provided libOpenCL library is able to load any free or non-free installed
ICD (driver backend).
%ifarch x86_64
%package nvidiaG02-devel
Summary: Development files of ocl-icd
Group: Development/Libraries/C and C++
Requires: nvidia-computeG02
Requires: pkgconfig(egl)
Provides: libOpenCL.so.1(64bit)
Provides: libOpenCL.so.1(OPENCL_1.0)(64bit)
Provides: libOpenCL.so.1(OPENCL_1.1)(64bit)
Provides: libOpenCL.so.1(OPENCL_1.2)(64bit)
Provides: libOpenCL.so.1(OPENCL_2.0)(64bit)
Provides: libOpenCL.so.1(OPENCL_2.1)(64bit)
Provides: libOpenCL1(64bit) = %{version}
Conflicts: ocl-icd-nvidiaG03-devel
Conflicts: ocl-icd-nvidiaG04-devel
%description nvidiaG02-devel
This package provides the files needed to build OpenCL client drivers that
use ocl-icd for ICD functionality.
%package nvidiaG03-devel
Summary: Development files of ocl-icd
Group: Development/Libraries/C and C++
Requires: nvidia-computeG03
Requires: pkgconfig(egl)
Provides: libOpenCL.so.1(64bit)
Provides: libOpenCL.so.1(OPENCL_1.0)(64bit)
Provides: libOpenCL.so.1(OPENCL_1.1)(64bit)
Provides: libOpenCL.so.1(OPENCL_1.2)(64bit)
Provides: libOpenCL.so.1(OPENCL_2.0)(64bit)
Provides: libOpenCL.so.1(OPENCL_2.1)(64bit)
Provides: libOpenCL1(64bit) = %{version}
Provides: ocl-icd-devel
Conflicts: ocl-icd-nvidiaG02-devel
Conflicts: ocl-icd-nvidiaG04-devel
%description nvidiaG03-devel
This package provides the files needed to build OpenCL client drivers that
use ocl-icd for ICD functionality.
%package nvidiaG04-devel
Summary: Development files of ocl-icd
Group: Development/Libraries/C and C++
Requires: nvidia-computeG04
Requires: pkgconfig(egl)
Provides: libOpenCL.so.1(64bit)
Provides: libOpenCL.so.1(OPENCL_1.0)(64bit)
Provides: libOpenCL.so.1(OPENCL_1.1)(64bit)
Provides: libOpenCL.so.1(OPENCL_1.2)(64bit)
Provides: libOpenCL.so.1(OPENCL_2.0)(64bit)
Provides: libOpenCL.so.1(OPENCL_2.1)(64bit)
Provides: libOpenCL1(64bit) = %{version}
Provides: ocl-icd-devel
Conflicts: ocl-icd-nvidiaG02-devel
Conflicts: ocl-icd-nvidiaG03-devel
%else
%package nvidiaG02-devel
Summary: Development files of ocl-icd
Group: Development/Libraries/C and C++
Requires: nvidia-computeG02
Requires: pkgconfig(egl)
Provides: libOpenCL.so.1
Provides: libOpenCL.so.1(OPENCL_1.0)
Provides: libOpenCL.so.1(OPENCL_1.1)
Provides: libOpenCL.so.1(OPENCL_1.2)
Provides: libOpenCL.so.1(OPENCL_2.0)
Provides: libOpenCL.so.1(OPENCL_2.1)
Provides: libOpenCL1 = %{version}
Conflicts: ocl-icd-nvidiaG03-devel
Conflicts: ocl-icd-nvidiaG04-devel
%description nvidiaG02-devel
This package provides the files needed to build OpenCL client drivers that
use ocl-icd for ICD functionality.
%package nvidiaG03-devel
Summary: Development files of ocl-icd
Group: Development/Libraries/C and C++
Requires: nvidia-computeG03
Requires: pkgconfig(egl)
Provides: libOpenCL.so.1
Provides: libOpenCL.so.1(OPENCL_1.0)
Provides: libOpenCL.so.1(OPENCL_1.1)
Provides: libOpenCL.so.1(OPENCL_1.2)
Provides: libOpenCL.so.1(OPENCL_2.0)
Provides: libOpenCL.so.1(OPENCL_2.1)
Provides: libOpenCL1 = %{version}
Provides: ocl-icd-devel
Conflicts: ocl-icd-nvidiaG02-devel
Conflicts: ocl-icd-nvidiaG04-devel
%description nvidiaG03-devel
This package provides the files needed to build OpenCL client drivers that
use ocl-icd for ICD functionality.
%package nvidiaG04-devel
Summary: Development files of ocl-icd
Group: Development/Libraries/C and C++
Requires: nvidia-computeG04
Requires: pkgconfig(egl)
Provides: libOpenCL.so.1
Provides: libOpenCL.so.1(OPENCL_1_0)
Provides: libOpenCL.so.1(OPENCL_1_1)
Provides: libOpenCL.so.1(OPENCL_1_2)
Provides: libOpenCL.so.1(OPENCL_2_0)
Provides: libOpenCL.so.1(OPENCL_2_1)
Provides: libOpenCL1 = %{version}
Provides: ocl-icd-devel
Conflicts: ocl-icd-nvidiaG02-devel
Conflicts: ocl-icd-nvidiaG03-devel
%endif
%description nvidiaG04-devel
This package provides the files needed to build OpenCL client drivers that
use ocl-icd for ICD functionality.
%prep
%autosetup -p1
%build
./bootstrap
%if 0%{?suse_version} > 1500
%configure --enable-official-khronos-headers
%else
%configure
%endif
%make_build stamp-generator stamp-generator-dummy
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
rm -rf instdocs
mv %{buildroot}%{_datadir}/doc/%{name} instdocs
rm %{buildroot}%{_libdir}/libOpenCL*
%files nvidiaG02-devel
%defattr(-, root, root)
%doc README NEWS COPYING
%doc instdocs/*
%{_libdir}/pkgconfig/OpenCL.pc
%{_libdir}/pkgconfig/ocl-icd.pc
%{_includedir}/ocl_icd.h
%files nvidiaG03-devel
%defattr(-, root, root)
%doc README NEWS COPYING
%doc instdocs/*
%{_libdir}/pkgconfig/OpenCL.pc
%{_libdir}/pkgconfig/ocl-icd.pc
%{_includedir}/ocl_icd.h
%files nvidiaG04-devel
%defattr(-, root, root)
%doc README NEWS COPYING
%doc instdocs/*
%{_libdir}/pkgconfig/OpenCL.pc
%{_libdir}/pkgconfig/ocl-icd.pc
%{_includedir}/ocl_icd.h
%changelog