Sisyphus repository
Last update: 2017-06-24 02:06:06 +0400 | SRPMs: 17958 | Sign in or Sign up
en ru uk br
ALT Linux repositories
hide window
Sisyphus: 1.0.2-alt1.svn20121025
p8: 1.0.2-alt1.svn20121025
p7: 1.0.2-alt1.svn20121025
t7: 1.0.2-alt1.svn20121025
Platform6: 1.0.0-alt1.svn20110419
t6: 1.0.0-alt1.svn20110419

Group :: Sciences/Mathematics
Source RPM: CoinPFunc

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR (0/0)   Repocop 

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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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

 
© 2009–2016 Igor Zubkov