add spec files for Fedora and Centos

These files are used in copr repository to build all Neo
components: IGC, opencl-clang, gmmlib.

copr project:
https://copr.fedorainfracloud.org/coprs/jdanecki/intel-opencl

Change-Id: I7f085b54a9315f3afeb36276b28b695477eb9f37
Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
This commit is contained in:
Jacek Danecki
2019-08-01 16:46:00 +02:00
committed by sys_ocldev
parent c56cc25730
commit e187d68f2f
7 changed files with 579 additions and 0 deletions

View File

@@ -0,0 +1,143 @@
%global igc_commit_id c7dec76146e3a18b9ed9f489d033e65ff224e869
%global cclang_commit_id 41cad395859684b18e762ca4a2c713c2fa349622
%global spirv_llvm_commit_id 83298e3c9b124486c16d0fde54c764a6c5a2b554
%global llvm_commit_id release_80
%global clang_commit_id release_80
%global llvm_patches_id a4af5b1386430fdbc7ea82b95706f231c656b5cf
%global major_version 1
%global minor_version 0
%global patch_version 10
%global package_release 1
Name: intel-igc
Version: %{major_version}.%{minor_version}.%{patch_version}
Release: %{package_release}%{?dist}
Summary: Intel(R) Graphics Compiler for OpenCL(TM)
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/intel-graphics-compiler
Source0: https://github.com/intel/intel-graphics-compiler/archive/%{igc_commit_id}/igc.tar.gz
Source1: https://github.com/intel/opencl-clang/archive/%{cclang_commit_id}/intel-opencl-clang.tar.gz
Source2: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_commit_id}/spirv-llvm-translator.tar.gz
Source3: https://github.com/llvm-mirror/llvm/archive/%{llvm_commit_id}/llvm-80.tar.gz
Source4: https://github.com/llvm-mirror/clang/archive/%{clang_commit_id}/clang-80.tar.gz
Source5: https://github.com/intel/llvm-patches/archive/%{llvm_patches_id}/llvm-patches.tar.gz
BuildRequires: centos-release-scl epel-release
BuildRequires: devtoolset-4-gcc-c++ cmake3
BuildRequires: git make patch pkgconfig python2 procps bison flex
%description
%package core
Summary: Intel(R) Graphics Compiler Core
%description core
%package opencl
Summary: Intel(R) Graphics Compiler Frontend for OpenCL(TM)
Requires: %{name}-core = %{version}-%{release}
%description opencl
%package opencl-devel
Summary: Intel(R) Graphics Compiler development package for OpenCL(TM)
Requires: %{name}-opencl = %{version}-%{release}
%description opencl-devel
%clean
echo "==== CLEAN ===="
%prep
echo "==== PREP ===="
mkdir llvm_source
tar xzf $RPM_SOURCE_DIR/llvm-80.tar.gz -C llvm_source --strip-components=1
cd llvm_source/tools
mkdir clang
tar xzf $RPM_SOURCE_DIR/clang-80.tar.gz -C clang --strip-components=1
cd clang
git init
git add .
git config --local user.name "pbuilder"
git config --local user.email "pbuilder@intel.com"
git commit -a -m "add sources"
cd ../../projects/
mkdir opencl-clang llvm-spirv
tar xzf $RPM_SOURCE_DIR/intel-opencl-clang.tar.gz -C opencl-clang --strip-components=1
cd opencl-clang
sed -i "s/ccfe04576c13497b9c422ceef0b6efe99077a392/master/" CMakeLists.txt
sed -i "s/83298e3c9b124486c16d0fde54c764a6c5a2b554/master/" CMakeLists.txt
cd ..
tar xzf $RPM_SOURCE_DIR/spirv-llvm-translator.tar.gz -C llvm-spirv --strip-components=1
cd llvm-spirv
git init
git add .
git config --local user.name "pbuilder"
git config --local user.email "pbuilder@intel.com"
git commit -a -m "add sources"
cd ../../..
mkdir igc
tar xzf $RPM_SOURCE_DIR/igc.tar.gz -C igc --strip-components=1
mkdir llvm_patches
tar xzf $RPM_SOURCE_DIR/llvm-patches.tar.gz -C llvm_patches --strip-components=1
%build
echo "==== BUILD ===="
mkdir build
pushd build
scl enable devtoolset-4 "cmake3 ../igc -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCOMMON_CLANG_LIBRARY_NAME=opencl-clang -DIGC_PREFERRED_LLVM_VERSION=8.0.0"
scl enable devtoolset-4 "make -j `nproc`"
popd
%install
echo "==== INSTALL ===="
cd build
make -j`nproc` install DESTDIR=$RPM_BUILD_ROOT
rm -fv $RPM_BUILD_ROOT/usr/bin/GenX_IR
rm -fv $RPM_BUILD_ROOT/usr/bin/iga64
rm -fv $RPM_BUILD_ROOT/usr/bin/clang-8
rm -fv $RPM_BUILD_ROOT/usr/include/opencl-c.h
chmod +x $RPM_BUILD_ROOT/usr/lib64/libopencl-clang.so.8
echo "==== DONE ===="
%files core
%defattr(-,root,root)
/usr/lib64/libiga64.so.%{major_version}
/usr/lib64/libiga64.so.%{major_version}.%{minor_version}.%{patch_version}
/usr/lib64/libigc.so.%{major_version}
/usr/lib64/libigc.so.%{major_version}.%{minor_version}.%{patch_version}
%files opencl
%defattr(-,root,root)
/usr/lib64/libigdfcl.so.%{major_version}
/usr/lib64/libigdfcl.so.%{major_version}.%{minor_version}.%{patch_version}
/usr/lib64/libopencl-clang.so.8
%files opencl-devel
%defattr(-,root,root)
/usr/include/igc/*
/usr/include/iga/*
/usr/include/visa/*
/usr/lib64/libiga64.so
/usr/lib64/libigc.so
/usr/lib64/libigdfcl.so
/usr/lib64/pkgconfig/*
%doc
%changelog

View File

@@ -0,0 +1,73 @@
%global gmmlib_commit_id e834bcd
%global major_version 19
%global minor_version 2
%global patch_version 3
%global package_release 1
%global api_major_version 9
%global api_minor_version 0
%global api_patch_version 589
Name: intel-gmmlib
Version: %{major_version}.%{minor_version}.%{patch_version}
Release: %{package_release}%{?dist}
Summary: Intel(R) Graphics Memory Management Library Package
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/gmmlib
Source0: https://github.com/intel/gmmlib/archive/%{gmmlib_commit_id}.tar.gz
%if 0%{?el7}
BuildRequires: centos-release-scl epel-release
BuildRequires: devtoolset-4-gcc-c++ cmake3
%else
BuildRequires: gcc-c++ cmake
%endif
BuildRequires: make
%description
%package devel
Summary: Intel(R) Graphics Memory Management Library development package
Requires: %{name} = %{version}-%{release}
%description devel
%prep
%build
echo "==== BUILD ===="
rm -rf *
mkdir gmmlib
tar xzf $RPM_SOURCE_DIR/%{gmmlib_commit_id}.tar.gz -C gmmlib --strip-components=1
mkdir build
cd build
%if 0%{?el7}
echo building for el7: %{el7}
scl enable devtoolset-4 "cmake3 -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release -DPATCH_VERSION=%{api_patch_version} -DRUN_TEST_SUITE:BOOL='ON' ../gmmlib"
scl enable devtoolset-4 "make -j`nproc` DESTDIR=$RPM_BUILD_DIR/build/install igfx_gmmumd_dll install"
%else
echo building for Fedora
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release -DPATCH_VERSION=%{api_patch_version} -DRUN_TEST_SUITE:BOOL='ON' ../gmmlib
make -j `nproc` DESTDIR=$RPM_BUILD_DIR/build/install igfx_gmmumd_dll install
%endif
%install
echo "==== INSTALL ===="
cp -ar $RPM_BUILD_DIR/build/install/usr $RPM_BUILD_ROOT
strip $RPM_BUILD_ROOT/usr/lib64/libigdgmm.so
echo "==== DONE ===="
%files
%defattr(-,root,root)
/usr/lib64/libigdgmm.so.%{api_major_version}
/usr/lib64/libigdgmm.so.%{api_major_version}.%{api_minor_version}.%{api_patch_version}
%files devel
%defattr(-,root,root)
/usr/include/igdgmm/*
/usr/lib64/libigdgmm.so
/usr/lib64/pkgconfig/igdgmm.pc

View File

@@ -0,0 +1,73 @@
%global neo_commit_id ab74b60
Name: intel-opencl
Version: 19.28.13502
Release: 1%{?dist}
Summary: Intel(R) Graphics Compute Runtime for OpenCL(TM)
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/compute-runtime
Source0: https://github.com/intel/compute-runtime/archive/%{neo_commit_id}.tar.gz
%if 0%{?el7}
BuildRequires: centos-release-scl epel-release
BuildRequires: devtoolset-4-gcc-c++ cmake3 make
%else
BuildRequires: make libva-devel gcc-c++ cmake
%endif
BuildRequires: intel-gmmlib-devel >= 19.2.3
Requires: intel-gmmlib >= 19.2.3
BuildRequires: intel-igc-opencl-devel >= 1.0.10
Requires: intel-igc-opencl >= 1.0.10
%description
%prep
%build
echo "==== BUILD ===="
rm -rf *
mkdir neo
tar xzf $RPM_SOURCE_DIR/%{neo_commit_id}.tar.gz -C neo --strip-components=1
mkdir build
cd build
%if 0%{?el7}
scl enable devtoolset-4 "cmake3 ../neo -DCMAKE_BUILD_TYPE=Release -DNEO_DRIVER_VERSION=%{version}"
scl enable devtoolset-4 "make -j`nproc` igdrcl_dll"
%else
cmake ../neo -DCMAKE_BUILD_TYPE=Release -DNEO_DRIVER_VERSION=%{version}
make -j`nproc` igdrcl_dll
%endif
echo "==== DONE ===="
%install
echo "==== INSTALL ===="
mkdir -p $RPM_BUILD_ROOT/usr/lib64/intel-opencl
mkdir -p $RPM_BUILD_ROOT/etc/OpenCL/vendors
cp $RPM_BUILD_DIR/build/bin/libigdrcl.so $RPM_BUILD_ROOT/usr/lib64/intel-opencl
strip $RPM_BUILD_ROOT/usr/lib64/intel-opencl/libigdrcl.so
echo "/usr/lib64/intel-opencl/libigdrcl.so" > $RPM_BUILD_ROOT/etc/OpenCL/vendors/intel.icd
echo "==== DONE ===="
%files
%defattr(-,root,root)
/usr/lib64/intel-opencl/libigdrcl.so
%config(noreplace)
/etc/OpenCL/vendors/intel.icd
# %doc
# %changelog

View File

@@ -0,0 +1,90 @@
%global igc_commit_id c7dec76146e3a18b9ed9f489d033e65ff224e869
%global major_version 1
%global minor_version 0
%global patch_version 10
%global package_release 2
Name: intel-igc
Version: %{major_version}.%{minor_version}.%{patch_version}
Release: %{package_release}%{?dist}
Summary: Intel(R) Graphics Compiler for OpenCL(TM)
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/intel-graphics-compiler
Source0: https://github.com/intel/intel-graphics-compiler/archive/%{igc_commit_id}/igc.tar.gz
BuildRequires: cmake clang gcc-c++ make procps flex bison python2 llvm-devel clang-devel pkg-config
BuildRequires: intel-opencl-clang-devel
%description
%package core
Summary: Intel(R) Graphics Compiler Core
%description core
%package opencl
Summary: Intel(R) Graphics Compiler Frontend for OpenCL(TM)
Requires: %{name}-core = %{version}-%{release}
%description opencl
%package opencl-devel
Summary: Intel(R) Graphics Compiler development package for OpenCL(TM)
Requires: %{name}-opencl = %{version}-%{release}
%description opencl-devel
%prep
%build
echo "==== BUILD ===="
rm -rf *
mkdir igc
tar xzf $RPM_SOURCE_DIR/igc.tar.gz -C igc --strip-components=1
mkdir build
cd build
cmake ../igc -Wno-dev -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCOMMON_CLANG_LIBRARY_NAME=opencl-clang -DIGC_PREFERRED_LLVM_VERSION=8.0.0
make -j 1
%install
echo "==== INSTALL ===="
cd build
make -j`nproc` install DESTDIR=$RPM_BUILD_ROOT
rm -fv $RPM_BUILD_ROOT/usr/bin/GenX_IR
rm -fv $RPM_BUILD_ROOT/usr/bin/iga64
echo "==== DONE ===="
%files core
%defattr(-,root,root)
/usr/lib64/libiga64.so.%{major_version}
/usr/lib64/libiga64.so.%{major_version}.%{minor_version}.%{patch_version}
/usr/lib64/libigc.so.%{major_version}
/usr/lib64/libigc.so.%{major_version}.%{minor_version}.%{patch_version}
%files opencl
%defattr(-,root,root)
/usr/lib64/libigdfcl.so.%{major_version}
/usr/lib64/libigdfcl.so.%{major_version}.%{minor_version}.%{patch_version}
%files opencl-devel
%defattr(-,root,root)
/usr/include/igc/*
/usr/include/iga/*
/usr/include/visa/*
/usr/lib64/libiga64.so
/usr/lib64/libigc.so
/usr/lib64/libigdfcl.so
/usr/lib64/pkgconfig/*
# %doc
# %changelog

View File

@@ -0,0 +1,59 @@
%global gmmlib_commit_id e834bcd
%global major_version 19
%global minor_version 2
%global patch_version 3
%global package_release 1
%global api_major_version 9
%global api_minor_version 0
%global api_patch_version 589
Name: intel-gmmlib
Version: %{major_version}.%{minor_version}.%{patch_version}
Release: %{package_release}%{?dist}
Summary: Intel(R) Graphics Memory Management Library Package
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/gmmlib
Source0: https://github.com/intel/gmmlib/archive/%{gmmlib_commit_id}.tar.gz
BuildRequires: cmake gcc-c++ ninja-build make
%description
%package devel
Summary: Intel(R) Graphics Memory Management Library development package
Requires: %{name} = %{version}-%{release}
%description devel
%prep
%build
echo "==== BUILD ===="
rm -rf *
mkdir gmmlib
tar xzf $RPM_SOURCE_DIR/%{gmmlib_commit_id}.tar.gz -C gmmlib --strip-components=1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TYPE=Release -DCMAKE_BUILD_TYPE=Release -DPATCH_VERSION=%{api_patch_version} -DRUN_TEST_SUITE:BOOL='ON' ../gmmlib
make -j `nproc` DESTDIR=$RPM_BUILD_DIR/build/install igfx_gmmumd_dll install
%install
echo "==== INSTALL ===="
cp -ar $RPM_BUILD_DIR/build/install/usr $RPM_BUILD_ROOT
strip $RPM_BUILD_ROOT/usr/lib64/libigdgmm.so
echo "==== DONE ===="
%files
%defattr(-,root,root)
/usr/lib64/libigdgmm.so.%{api_major_version}
/usr/lib64/libigdgmm.so.%{api_major_version}.%{api_minor_version}.%{api_patch_version}
%files devel
%defattr(-,root,root)
/usr/include/igdgmm/*
/usr/lib64/libigdgmm.so
/usr/lib64/pkgconfig/igdgmm.pc

View File

@@ -0,0 +1,63 @@
%global neo_commit_id ab74b60
Name: intel-opencl
Version: 19.28.13502
Release: 1%{?dist}
Summary: Intel(R) Graphics Compute Runtime for OpenCL(TM)
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/compute-runtime
Source0: https://github.com/intel/compute-runtime/archive/%{neo_commit_id}.tar.gz
BuildRequires: cmake gcc-c++ ninja-build make procps python2 sed libva-devel
BuildRequires: intel-gmmlib-devel >= 19.2.3
Requires: intel-gmmlib >= 19.2.3
BuildRequires: intel-igc-opencl-devel >= 1.0.10
Requires: intel-igc-opencl >= 1.0.10
%description
%prep
%build
echo "==== BUILD ===="
rm -rf *
mkdir neo
tar xzf $RPM_SOURCE_DIR/%{neo_commit_id}.tar.gz -C neo --strip-components=1
mkdir build
cd build
cmake ../neo -DCMAKE_BUILD_TYPE=Release -DNEO_DRIVER_VERSION=%{version}
make -j`nproc` igdrcl_dll
echo "==== DONE ===="
%install
echo "==== INSTALL ===="
mkdir -p $RPM_BUILD_ROOT/usr/lib64/intel-opencl
mkdir -p $RPM_BUILD_ROOT/etc/OpenCL/vendors
cp $RPM_BUILD_DIR/build/bin/libigdrcl.so $RPM_BUILD_ROOT/usr/lib64/intel-opencl
strip $RPM_BUILD_ROOT/usr/lib64/intel-opencl/libigdrcl.so
echo "/usr/lib64/intel-opencl/libigdrcl.so" > $RPM_BUILD_ROOT/etc/OpenCL/vendors/intel.icd
echo "==== DONE ===="
%files
%defattr(-,root,root)
/usr/lib64/intel-opencl/libigdrcl.so
%config(noreplace)
/etc/OpenCL/vendors/intel.icd
# %doc
# %changelog

View File

@@ -0,0 +1,78 @@
%global cclang_commit_id 41cad395859684b18e762ca4a2c713c2fa349622
%global spirv_llvm_commit_id 83298e3c9b124486c16d0fde54c764a6c5a2b554
%global package_version 8.0.72
%global package_release 1
Name: intel-opencl-clang
Version: %{package_version}
Release: %{package_release}%{?dist}
Summary: Intel(R) OpenCL(TM) Clang
Group: System Environment/Libraries
License: MIT
URL: https://github.com/intel/opencl-clang
Source0: https://github.com/intel/opencl-clang/archive/%{cclang_commit_id}/intel-opencl-clang.tar.gz
Source1: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/%{spirv_llvm_commit_id}/spirv-llvm-translator.tar.gz
BuildRequires: git cmake clang gcc-c++ make patch llvm-devel clang-devel pkg-config python2 procps dos2unix
%description
Common clang is a thin wrapper library around clang. Common clang has OpenCL-oriented API and is capable to compile OpenCL C kernels to SPIR-V modules.
%package devel
Summary: Development files Intel(R) OpenCL(TM) Clang
Requires: %{name} = %{version}-%{release}
%description devel
%clean
echo "==== CLEAN ===="
%prep
echo "==== PREP ===="
mkdir opencl-clang spirv-llvm
tar xzf $RPM_SOURCE_DIR/intel-opencl-clang.tar.gz -C opencl-clang --strip-components=1
tar xzf $RPM_SOURCE_DIR/spirv-llvm-translator.tar.gz -C spirv-llvm --strip-components=1
%build
echo "==== BUILD ===="
mkdir build_cc build_s
pushd spirv-llvm
dos2unix ../opencl-clang/patches/spirv/0001-Update-LowerOpenCL-pass-to-handle-new-blocks-represn.patch
dos2unix ../opencl-clang/patches/spirv/0002-Translation-of-llvm.dbg.declare-in-case-the-local-va.patch
patch -p1 < ../opencl-clang/patches/spirv/0001-Update-LowerOpenCL-pass-to-handle-new-blocks-represn.patch
patch -p1 < ../opencl-clang/patches/spirv/0002-Translation-of-llvm.dbg.declare-in-case-the-local-va.patch
popd
pushd build_s
cmake ../spirv-llvm -DCMAKE_INSTALL_PREFIX=install -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release
make llvm-spirv -j8 install
popd
pushd build_cc
cmake ../opencl-clang -DCOMMON_CLANG_LIBRARY_NAME=opencl-clang -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF -DSPIRV_TRANSLATOR_DIR=../build_s/install -DLLVM_NO_DEAD_STRIP=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX='/usr'
make -j8
popd
%install
echo "==== INSTALL ===="
cd build_cc
make install DESTDIR=$RPM_BUILD_ROOT
%files
/usr/lib64/libopencl-clang.so.8
%files devel
/usr/lib64/libopencl-clang.so
/usr/include/cclang/common_clang.h
%doc
%changelog