Группа :: Development/Tools
Пакет: tbb
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
%define _unpackaged_files_terminate_build 1
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict
Name: tbb
Version: 2021.10.0
Release: alt1
Summary: Threading Building Blocks
License: Apache-2.0
Group: Development/Tools
Url: https://github.com/oneapi-src/oneTBB
# https://github.com/oneapi-src/oneTBB.git
Source: %name-%version.tar
# Fedora patches
# Fix compilation on aarch64 and s390x. See
# https://github.com/oneapi-src/oneTBB/issues/186
Patch4: tbb-2019-fetchadd4.patch
# ALT patches
# https://github.com/oneapi-src/oneTBB/pull/609
Patch1000: tbb-2021.5-upstream-i586-fix.patch
# Elbrus support
Patch2000: tbb-e2k.patch
#Fix for building on GCC13
Patch5: 0001-Fix-build-on-GCC13.patch
Requires: lib%name = %EVR
BuildRequires(pre): rpm-build-python3
BuildRequires: gcc-c++
BuildRequires: libgomp-devel
BuildRequires: python3-devel
BuildRequires: swig
BuildRequires: cmake ctest
# needed for some tests
BuildRequires: /proc
%description
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
%package -n lib%name
Summary: Shared libraries of Threading Building Blocks
Group: Development/C++
%description -n lib%name
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains shared libraries of Threading Building Blocks.
%package devel
Summary: Development libraries and headers of Threading Building Blocks
Group: Development/C++
Requires: lib%name = %EVR
Requires: %name-headers = %EVR
Provides: lib%name-devel = %EVR
Conflicts: lib%name-devel < %EVR
Obsoletes: lib%name-devel
Provides: %name-headers = %EVR
Conflicts: %name-headers < %EVR
Obsoletes: %name-headers
%description devel
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains development libraries for Threading Building
Blocks.
%package examples
Summary: Examples for Threading Building Blocks
Group: Development/Documentation
Requires: lib%name = %EVR
BuildArch: noarch
%description examples
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains examples for Threading Building Blocks.
%package -n python3-module-%name
Summary: Python 3 Threading Building Blocks module
Group: Development/Python3
%description -n python3-module-%name
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains python3 module for Threading Building Blocks.
%prep
%setup
%patch4 -p1
%patch5 -p1
#%%patch1000 -p1
%ifarch %e2k
%patch2000 -p1
%endif
%build
%add_optflags -D_FILE_OFFSET_BITS=64
export CFLAGS="${CFLAGS:-%optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD"
export CXXFLAGS="${CXXFLAGS:-%optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD"
export CPLUS_FLAGS="%{optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD"
export LDFLAGS="${LDFLAGS:-} -lpthread"
export RPM_LD_FLAGS="${RPM_LD_FLAGS:-} -lpthread"
%ifarch riscv64
export LDFLAGS="${LDFLAGS:-} -latomic"
export RPM_LD_FLAGS="${RPM_LD_FLAGS:-} -latomic"
%endif
%cmake \
-DCMAKE_CXX_STANDARD=14 \
-DTBB_EXAMPLES:BOOL=ON \
-DTBB_STRICT:BOOL=OFF \
-DTBB4PY_BUILD:BOOL=ON \
%nil
%cmake_build
%cmake_build -t python_build
%install
%cmakeinstall_std
rm -f %buildroot%_defaultdocdir/TBB/README.md
%ifnarch ppc64le aarch64 %arm
%check
%cmake_build -t test
%endif
%files -n lib%name
%doc LICENSE.txt
%doc README.md
%_libdir/*.so.*
%files devel
%_includedir/oneapi
%_includedir/tbb
%_libdir/cmake/TBB
%_libdir/lib*.so
%_pkgconfigdir/*.pc
%files examples
%doc examples
%files -n python3-module-%name
%python3_sitelibdir/TBB*
%python3_sitelibdir/tbb
%python3_sitelibdir/__pycache__/*
%changelog
…
Полный changelog можно просмотреть здесь
%define _stripped_files_terminate_build 1
%set_verify_elf_method strict
Name: tbb
Version: 2021.10.0
Release: alt1
Summary: Threading Building Blocks
License: Apache-2.0
Group: Development/Tools
Url: https://github.com/oneapi-src/oneTBB
# https://github.com/oneapi-src/oneTBB.git
Source: %name-%version.tar
# Fedora patches
# Fix compilation on aarch64 and s390x. See
# https://github.com/oneapi-src/oneTBB/issues/186
Patch4: tbb-2019-fetchadd4.patch
# ALT patches
# https://github.com/oneapi-src/oneTBB/pull/609
Patch1000: tbb-2021.5-upstream-i586-fix.patch
# Elbrus support
Patch2000: tbb-e2k.patch
#Fix for building on GCC13
Patch5: 0001-Fix-build-on-GCC13.patch
Requires: lib%name = %EVR
BuildRequires(pre): rpm-build-python3
BuildRequires: gcc-c++
BuildRequires: libgomp-devel
BuildRequires: python3-devel
BuildRequires: swig
BuildRequires: cmake ctest
# needed for some tests
BuildRequires: /proc
%description
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
%package -n lib%name
Summary: Shared libraries of Threading Building Blocks
Group: Development/C++
%description -n lib%name
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains shared libraries of Threading Building Blocks.
%package devel
Summary: Development libraries and headers of Threading Building Blocks
Group: Development/C++
Requires: lib%name = %EVR
Requires: %name-headers = %EVR
Provides: lib%name-devel = %EVR
Conflicts: lib%name-devel < %EVR
Obsoletes: lib%name-devel
Provides: %name-headers = %EVR
Conflicts: %name-headers < %EVR
Obsoletes: %name-headers
%description devel
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains development libraries for Threading Building
Blocks.
%package examples
Summary: Examples for Threading Building Blocks
Group: Development/Documentation
Requires: lib%name = %EVR
BuildArch: noarch
%description examples
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains examples for Threading Building Blocks.
%package -n python3-module-%name
Summary: Python 3 Threading Building Blocks module
Group: Development/Python3
%description -n python3-module-%name
Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
leverage multi-core processors for performance and scalability without
having to be a threading expert.
This package contains python3 module for Threading Building Blocks.
%prep
%setup
%patch4 -p1
%patch5 -p1
#%%patch1000 -p1
%ifarch %e2k
%patch2000 -p1
%endif
%build
%add_optflags -D_FILE_OFFSET_BITS=64
export CFLAGS="${CFLAGS:-%optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD"
export CXXFLAGS="${CXXFLAGS:-%optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD"
export CPLUS_FLAGS="%{optflags} -DDO_ITT_NOTIFY -DUSE_PTHREAD"
export LDFLAGS="${LDFLAGS:-} -lpthread"
export RPM_LD_FLAGS="${RPM_LD_FLAGS:-} -lpthread"
%ifarch riscv64
export LDFLAGS="${LDFLAGS:-} -latomic"
export RPM_LD_FLAGS="${RPM_LD_FLAGS:-} -latomic"
%endif
%cmake \
-DCMAKE_CXX_STANDARD=14 \
-DTBB_EXAMPLES:BOOL=ON \
-DTBB_STRICT:BOOL=OFF \
-DTBB4PY_BUILD:BOOL=ON \
%nil
%cmake_build
%cmake_build -t python_build
%install
%cmakeinstall_std
rm -f %buildroot%_defaultdocdir/TBB/README.md
%ifnarch ppc64le aarch64 %arm
%check
%cmake_build -t test
%endif
%files -n lib%name
%doc LICENSE.txt
%doc README.md
%_libdir/*.so.*
%files devel
%_includedir/oneapi
%_includedir/tbb
%_libdir/cmake/TBB
%_libdir/lib*.so
%_pkgconfigdir/*.pc
%files examples
%doc examples
%files -n python3-module-%name
%python3_sitelibdir/TBB*
%python3_sitelibdir/tbb
%python3_sitelibdir/__pycache__/*
%changelog
…
Полный changelog можно просмотреть здесь