Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37573864
en ru br
ALT Linux repositórios
S:5.1.0-alt2.git20140417.2

Group :: Sistema/Bibliotecas
RPM: libflame

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

%{?optflags_lto:%global optflags_lto %optflags_lto -ffat-lto-objects}
# REMOVE ME (I was set for NMU) and uncomment real Release tags:
Release: alt2.git20140417.2
%define mpiimpl openmpi
%define mpidir %_libexecdir/%mpiimpl
%define somver 0
%define sover %somver.112.26

Name: libflame
Epoch: 1
Version: 5.1.0
#Release: alt1.git20140417
Summary: Formal Linear Algebra Method Environment
License: LGPL v2.1
Group: System/Libraries
Url: http://www.cs.utexas.edu/users/flame/
Packager: Eugeny A. Rostovtsev (REAL) <real at altlinux.org>

# https://github.com/flame/libflame.git

Source: %name-%version.tar
#Source1: http://www.cs.utexas.edu/users/flame/book/Downloads/FLAMEC/example.tar.gz
#Source2: elemental.tar.gz

BuildPreReq: gcc-fortran liblapack-devel
BuildPreReq: doxygen /usr/bin/dvips tex(draftcopy.sty)

%description
The objective of the FLAME project is to transform the development of dense
linear algebra libraries from an art reserved for experts to a science that can
be understood by novice and expert alike. Rather than being only a library, the
project encompasses a new notation for expressing algorithms, a methodology for
systematic derivation of algorithms, Application Program Interfaces (APIs) for
representing the algorithms in code, and tools for mechanical derivation,
implementation and analysis of algorithms and implementations.

%package devel
Summary: Development files of Formal Linear Algebra Method Environment
Group: Development/Other
Requires: %name = %EVR
Requires: liblapack-devel

%description devel
The objective of the FLAME project is to transform the development of dense
linear algebra libraries from an art reserved for experts to a science that can
be understood by novice and expert alike. Rather than being only a library, the
project encompasses a new notation for expressing algorithms, a methodology for
systematic derivation of algorithms, Application Program Interfaces (APIs) for
representing the algorithms in code, and tools for mechanical derivation,
implementation and analysis of algorithms and implementations.

This package contains development files dof libflame.

%package doc
Summary: Documentation for Formal Linear Algebra Method Environment
Group: Development/Documentation
BuildArch: noarch

%description doc
The objective of the FLAME project is to transform the development of dense
linear algebra libraries from an art reserved for experts to a science that can
be understood by novice and expert alike. Rather than being only a library, the
project encompasses a new notation for expressing algorithms, a methodology for
systematic derivation of algorithms, Application Program Interfaces (APIs) for
representing the algorithms in code, and tools for mechanical derivation,
implementation and analysis of algorithms and implementations.

This package contains development documentation for FLAME.

%package example
Summary: Example of using Formal Linear Algebra Method Environment
Group: Development/Other
BuildArch: noarch

%description example
The objective of the FLAME project is to transform the development of dense
linear algebra libraries from an art reserved for experts to a science that can
be understood by novice and expert alike. Rather than being only a library, the
project encompasses a new notation for expressing algorithms, a methodology for
systematic derivation of algorithms, Application Program Interfaces (APIs) for
representing the algorithms in code, and tools for mechanical derivation,
implementation and analysis of algorithms and implementations.

This package contains example of using FLAME.

%prep
%setup
#tar -xzf %SOURCE1
#tar -xzf %SOURCE2

sed -i "s| at fla_host_cpu at |%_arch|" build/config.mk.in

sed -i 's|libgoto\.a|libopenblas.so|g' $(find ./ -name makefile)
sed -i 's|libgoto_core2\.a|libopenblas.so|g' $(find ./ -name makefile)
sed -i 's|liblapack\.a|liblapack.so|g' $(find ./ -name makefile)

%build
%add_optflags %optflags_shared -std=gnu99
#autoreconf
./bootstrap
%configure \
--enable-debug \
--enable-static-build \
--enable-dynamic-build \
--enable-external-lapack-for-subproblems \
--enable-lapack2flame=no \
--enable-external-lapack-interfaces \
--enable-blas3-front-end-cntl-trees \
--enable-cblas-interfaces \
--disable-goto-interfaces \
--disable-gpu \
--enable-verbose-make-output \
--enable-multithreading=pthreads \
--enable-memory-leak-counter \
--enable-supermatrix \
--enable-supermatrix-visualization
%make_build HOST=%_host SOMVER=%somver SOVER=%sover

doxygen
pushd docs/libflame
%make_build
popd

%install
%makeinstall_std HOST=%_host INSTALL_PREFIX=%buildroot%prefix \
SOMVER=%somver SOVER=%sover

rm -f %buildroot%_includedir
mv %buildroot%prefix/include-%_arch-%version %buildroot%_includedir
%if "%_libexecdir" != "%_libdir"
mv %buildroot%_libexecdir %buildroot%_libdir
%endif

install -d %buildroot%_docdir/%name

install -m644 $(find ./ -name '*.pdf') %buildroot%_docdir/%name
mv doxygen/html %buildroot%_docdir/%name/

%files
%doc AUTHORS CHANGELOG CONTRIBUTORS LICENSE KNOWN-ISSUES README
%_libdir/*.so.*

%files devel
%_libdir/*.so
%_includedir/*

%files doc
%_docdir/%name

%files example
%doc examples

%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009