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
openSUSE Build Service is sponsored by