ALT repositories
Last updated at Fri, 24 Jul 2020 16:33:50 +0000 | SRPMs: 18242
en ru
SRPMs in branches
hide window
  • 1.0.2-alt1.svn20121025
  • 1.0.2-alt1.svn20121025
  • 1.0.2-alt1.svn20121025
  • 1.0.2-alt1.svn20121025
  • 1.0.2-alt1.svn20121025
  • 1.0.2-alt1.svn20121025
  • 1.0.2-alt1.svn20121025
  • 1.0.0-alt1.svn20110419
  • 1.0.0-alt1.svn20110419
  • 1.0.0-alt1.svn20110419
Group :: Sciences/Mathematics
Source RPM: CoinPFunc
Raw spec file

%define somver 0
%define sover %somver.0.0

%define oname PFunc
Name: Coin%oname
Version: 1.0.2
Release: alt1.svn20121025
Summary: Generic task-parallel library for C/C++
License: Eclipse Public License 1.0
Group: Sciences/Mathematics
Url: https://projects.coin-or.org/PFunc
Packager: Eugeny A. Rostovtsev (REAL) <real at altlinux.org>

# https://projects.coin-or.org/svn/PFunc/trunk

Source: %oname-%version.tar.gz
Source1: CMakeCache.txt

BuildPreReq: doxygen graphviz gcc-c++ cmake libcilk-devel
BuildPreReq: libtbb-devel flex libstdc++-devel
BuildPreReq: texlive-latex-recommended ghostscript-utils

Requires: lib%name = %version-%release

%description
PFunc, short for Parallel Functions, is a lightweight and portable
library that provides C and C++ APIs to express task parallelism. The
features offered by PFunc are a strict superset of the features offered
by current solutions for task parallelism such as Cilk and Intel's
Threading Building Blocks. Specifically, PFunc extends the feature set
of current solutions with custom task scheduling, task priorities and
task affinities. Furthermore, PFunc offers task groups for SPMD-style
programming and multiple task completion notifications for parallel
execution of DAGs. PFunc's extended feature set is geared towards
helping knowledgeable users optimize their application performance.

%package -n lib%name
Summary: Shared libraries of generic task-parallel library for C/C++
Group: System/Libraries

%description -n lib%name
PFunc, short for Parallel Functions, is a lightweight and portable
library that provides C and C++ APIs to express task parallelism. The
features offered by PFunc are a strict superset of the features offered
by current solutions for task parallelism such as Cilk and Intel's
Threading Building Blocks. Specifically, PFunc extends the feature set
of current solutions with custom task scheduling, task priorities and
task affinities. Furthermore, PFunc offers task groups for SPMD-style
programming and multiple task completion notifications for parallel
execution of DAGs. PFunc's extended feature set is geared towards
helping knowledgeable users optimize their application performance.

This package contains shared libraries of generic task-parallel library
for C/C++.

%package -n lib%name-devel
Summary: Development files of generic task-parallel library for C/C++
Group: Development/C++
Requires: lib%name = %version-%release

%description -n lib%name-devel
PFunc, short for Parallel Functions, is a lightweight and portable
library that provides C and C++ APIs to express task parallelism. The
features offered by PFunc are a strict superset of the features offered
by current solutions for task parallelism such as Cilk and Intel's
Threading Building Blocks. Specifically, PFunc extends the feature set
of current solutions with custom task scheduling, task priorities and
task affinities. Furthermore, PFunc offers task groups for SPMD-style
programming and multiple task completion notifications for parallel
execution of DAGs. PFunc's extended feature set is geared towards
helping knowledgeable users optimize their application performance.

This package contains development files of generic task-parallel library
for C/C++.

%package -n lib%name-devel-doc
Summary: Documentation for generic task-parallel library for C/C++
Group: Development/Documentation
BuildArch: noarch

%description -n lib%name-devel-doc
PFunc, short for Parallel Functions, is a lightweight and portable
library that provides C and C++ APIs to express task parallelism. The
features offered by PFunc are a strict superset of the features offered
by current solutions for task parallelism such as Cilk and Intel's
Threading Building Blocks. Specifically, PFunc extends the feature set
of current solutions with custom task scheduling, task priorities and
task affinities. Furthermore, PFunc offers task groups for SPMD-style
programming and multiple task completion notifications for parallel
execution of DAGs. PFunc's extended feature set is geared towards
helping knowledgeable users optimize their application performance.

This package contains development documentation for generic
task-parallel library for C/C++.

%package examples
Summary: Examples for generic task-parallel library for C/C++
Group: Development/Documentation
BuildArch: noarch

%description examples
PFunc, short for Parallel Functions, is a lightweight and portable
library that provides C and C++ APIs to express task parallelism. The
features offered by PFunc are a strict superset of the features offered
by current solutions for task parallelism such as Cilk and Intel's
Threading Building Blocks. Specifically, PFunc extends the feature set
of current solutions with custom task scheduling, task priorities and
task affinities. Furthermore, PFunc offers task groups for SPMD-style
programming and multiple task completion notifications for parallel
execution of DAGs. PFunc's extended feature set is geared towards
helping knowledgeable users optimize their application performance.

This package contains examples for generic task-parallel library for
C/C++.

%prep
%setup
install -p -m644 %SOURCE1 .

%build
cmake \
%if %_lib == lib64
-DLIB_SUFFIX=64 \
%endif
-D CMAKE_INSTALL_PREFIX:PATH=%prefix \
.

%make_build all VERBOSE=1

%make doc

%install
%makeinstall_std

%ifarch x86_64
install -d %buildroot%_libdir
mv %buildroot%_libexecdir/* %buildroot%_libdir/
%endif

mkdir %buildroot%_libdir/tmp
pushd %buildroot%_libdir/tmp
for i in libpfunc; do
ar x ../$i.a
g++ -shared -Wl,-soname,$i.so.%somver * -o ../$i.so.%sover -lpthread
ln -s $i.so.%sover ../$i.so.%somver
ln -s $i.so.%somver ../$i.so
rm -f *
done
popd
rmdir %buildroot%_libdir/tmp

%files -n lib%name
%doc AUTHORS ChangeLog LICENSE NEWS README
%_libdir/*.so.*

%files -n lib%name-devel
%_libdir/*.so
%_includedir/*

%files -n lib%name-devel-doc
%doc doc/html
%doc tutorial/*.pdf

%files examples
%doc examples

%changelog
* Tue Feb 12 2013 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0.2-alt1.svn20121025
- New snapshot

* Mon Oct 03 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0.2-alt1.svn20110825
- Version 1.0.2

* Sun Apr 24 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0.0-alt1.svn20110419
- Version 1.0.0

* Mon Feb 28 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0-alt1.svn20100826.3
- Added -g into compiler flags

* Fri Feb 18 2011 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0-alt1.svn20100826.2
- Rebuilt for debuginfo

* Mon Oct 18 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0-alt1.svn20100826.1
- Rebuilt for soname set-versions

* Fri Sep 17 2010 Eugeny A. Rostovtsev (REAL) <real at altlinux.org> 1.0-alt1.svn20100826
- Initial build for Sisyphus

 
The Geyser project is based on code from Prometheus2.0, which had been made available under the MIT License.