Sophie

Sophie

distrib > Mandriva > current > i586 > media > contrib-release-src > by-pkgid > 7543497495fcd7db2ff26e9f9675d61c > files > 5

cdd-0.61a-4mdv2010.1.src.rpm

%define		cdddir		%{_datadir}/cdd
%define		cdd_version	0.61a
%define		cddxx_version	0.77a
%define		cddlib_version	0.94f
%define		libname		cddlib-devel

Name:		cdd
Group:		Sciences/Mathematics
License:	GPL
Summary:	Implementation of the Double Description Method of Motzkin et al
Version:	%{cdd_version}
Release:	%mkrel 4
Source0:	ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cdd-061a.tar.gz
Source1:	ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cdd+-077a.tar.gz
Source2:	ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-094f.tar.gz
Source3:	cdd_both_reps.c
URL:		http://www.ifor.math.ethz.ch/~fukuda/cdd_home/index.html

Patch0:		cdd-g++4.2.patch
Patch1:		cdd-sagemath.patch

BuildRequires:	libgmp-devel

BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root

%description
The program cdd is a C implementation of the Double Description
Method of Motzkin et al. for generating all vertices (i.e. extreme points)
and extreme rays of a general convex polyhedron in R^d given by a system
of linear inequalities:

   P = { x :  A  x  <=  b }

where  A  is an m x d real matrix and b is a real m dimensional vector.
The program can be used for the reverse operation (i.e. convex hull
computation).  This means that  one can move back and forth between 
an inequality representation  and a generator (i.e. vertex and ray) 
representation of a polyhedron with cdd.  Also, cdd can solve a linear
programming problem, i.e. a problem of maximizing and minimizing 
a linear function over P.

########################################################################
%package	-n cdd+
Group:		Sciences/Mathematics
Summary:	Implementation of the Double Description Method of Motzkin et al
Version:	%{cddxx_version}
Requires:	%{name}

%description	-n cdd+
The program cdd+ is a C++ implementation of the Double Description 
Method of Motzkin et al. for generating all vertices (i.e. extreme points)
and extreme rays of a general convex polyhedron in R^d given by a system 
of linear inequalities:

   P = { x :  A  x  <=  b }

where  A  is an m x d real matrix and b is a real m dimensional vector.
The program can be used for the reverse operation (i.e. convex hull
computation) if one run cdd with "hull" option.  This means that 
one can move back and forth between an inequality representation 
and a generator (i.e. vertex and ray) representation of a polyhedron
with cdd+.  Also, cdd+ can solve a linear programming problem, i.e.
a problem of maximizing and minimizing a linear function over P.

########################################################################
%package	-n %{libname}
Group:		Development/C
Summary:	Implementation of the Double Description Method of Motzkin et al
Version:	%{cddlib_version}

%description	-n %{libname}
The C-library cddlib is a C implementation of the Double Description 
Method of Motzkin et al. for generating all vertices (i.e. extreme points)
and extreme rays of a general convex polyhedron in R^d given by a system 
of linear inequalities:

   P = { x=(x1, ..., xd)^T :  b - A  x  >= 0 }

where  A  is a given m x d real matrix, b is a given m-vector 
and 0 is the m-vector of all zeros.

########################################################################
%prep
%setup -q -D -c cdd -a0 -a1 -a2

pushd cddlib-094f
  cp %{SOURCE3} src
  cd src-gmp
  ln -sf ../src/cdd_both_reps.c .
popd

%patch0	-p1
%patch1	-p1

%build
pushd cddlib-094f
  autoreconf -ifs
  %configure --bindir=%{cdddir}/bin --includedir=%{_includedir}/%{name}
  %make gmpdir=%{_prefix}
popd

pushd cdd-061
  make CC=gcc all
  pushd utility
    make CC=gcc CFLAGS="%{optflags} -lm" all
  popd
popd

pushd cdd+-077a
  make					\
	CC=g++				\
	LIBDIR=%{_libdir}		\
	GMPLIBDIR=%{_libdir}		\
	GMPINCLUDEDIR=%{_includedir}	\
	OPTFLAGS="%{optflags}"		\
	all
popd

########################################################################
%install
rm -rf %{buildroot}

mkdir -p %{buildroot}/%{cdddir}/bin

pushd cddlib-094f
  %makeinstall_std
  mkdir -p %{buildroot}/%{_docdir}/%{name} %{buildroot}/%{cdddir}/bin
  cp -fa src/cdd_both_reps src-gmp/cdd_both_reps_gmp 
  cp -fa doc/cddlibman.{dvi,pdf,ps} %{buildroot}/%{_docdir}/%{name}
  cp -fa examples{,-ext,-ine{,3d}}/ %{buildroot}/%{cdddir}
  cp -fa README %{buildroot}/%{_docdir}/%{name}/README.cddlib
popd

pushd cdd-061
  cp -fa cdd dplex_test utility/{delaunay,rlp,voronoi} %{buildroot}/%{cdddir}/bin
  cp -far ext/ ine/ %{buildroot}/%{cdddir}
  cp -fa cdd.readme %{buildroot}/%{_docdir}/%{name}
popd

pushd cdd+-077a
  cp -fa cddf+ cddr+ get_essential %{buildroot}/%{cdddir}/bin
  # Several files are duplicated from cdd-061
  cp -far ext/* %{buildroot}/%{cdddir}/ext
  cp -far ine/* %{buildroot}/%{cdddir}/ine
  cp -fa README.cdd+* cddman.dvi %{buildroot}/%{_docdir}/%{name}
popd

find %{buildroot} -type d -exec chmod a+x {} \;
find %{buildroot} -type f -exec chmod a+r {} \;

%clean
rm -rf %{buildroot}

########################################################################
%files
%defattr(-,root,root,-)
%dir %{cdddir}
%dir %{cdddir}/bin
%{cdddir}/bin/cdd
%{cdddir}/bin/cdd_both_reps
%{cdddir}/bin/cdd_both_reps_gmp
%{cdddir}/bin/dplex_test
%{cdddir}/bin/delaunay
%{cdddir}/bin/rlp
%{cdddir}/bin/voronoi
%dir %{cdddir}/ext
%{cdddir}/ext/ccc4.ext
%{cdddir}/ext/ccc5.ext
%{cdddir}/ext/ccc6.ext
%{cdddir}/ext/ccc7.ext
%{cdddir}/ext/ccp4.ext
%{cdddir}/ext/ccp5.ext
%{cdddir}/ext/ccp6.ext
%{cdddir}/ext/ccp7.ext
%{cdddir}/ext/irbox200-4.ext
%{cdddir}/ext/irbox20-4.ext
%{cdddir}/ext/prodst62.ext
%{cdddir}/ext/reg24-5.ext
%{cdddir}/ext/reg600-5.ext
%{cdddir}/ext/verifyinput1.ext
%dir %{cdddir}/ine
%{cdddir}/ine/cross10.ine
%{cdddir}/ine/cross12.ine
%{cdddir}/ine/cross6.ine
%{cdddir}/ine/cross8.ine
%{cdddir}/ine/cube10.ine
%{cdddir}/ine/cube12.ine
%{cdddir}/ine/cube14.ine
%{cdddir}/ine/cube16.ine
%{cdddir}/ine/cube6.ine
%{cdddir}/ine/cube8.ine
%{cdddir}/ine/ex1.ine
%{cdddir}/ine/findinter.ine
%{cdddir}/ine/infeas.ine
%{cdddir}/ine/integralpoints.ine
%{cdddir}/ine/lpmaxtest.ine
%{cdddir}/ine/lpmintest.ine
%{cdddir}/ine/lptableau.ine
%{cdddir}/ine/mit729-9.ine
%{cdddir}/ine/nonfull.ine
%{cdddir}/ine/origin.ine
%{cdddir}/ine/partialtest1.ine
%{cdddir}/ine/partialtest2.ine
%{cdddir}/ine/prodmT5.ine
%{cdddir}/ine/projtest.ine
%{cdddir}/ine/ucube.ine
%{cdddir}/ine/verifyinput2.ine
%doc %dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/cdd.readme

%files		-n cdd+
%defattr(-,root,root,-)
%dir %{cdddir}
%{cdddir}/bin/cddf+
%{cdddir}/bin/cddr+
%{cdddir}/bin/get_essential
%{cdddir}/ext/accuracy.ext
%{cdddir}/ext/cyclic10-4.ext
%{cdddir}/ext/cyclic12-6.ext
%{cdddir}/ext/cyclic14-8.ext
%{cdddir}/ext/cyclic16-10.ext
%{cdddir}/ext/postcdd.ext
%{cdddir}/ext/vertextest.ext
%{cdddir}/ine/facettest1.ine
%{cdddir}/ine/facettest2.ine
%{cdddir}/ine/kkd18_4.ine
%{cdddir}/ine/kkd27_5.ine
%{cdddir}/ine/kkd38_6.ine
%{cdddir}/ine/multiplerows.ine
%{cdddir}/ine/rational.ine
%{cdddir}/ine/topetest1.ine
%{cdddir}/ine/topetest2.ine
%{cdddir}/ine/topetest3.ine
%doc %{_docdir}/%{name}/cddman.dvi
%doc %{_docdir}/%{name}/README.cdd+*

%files		-n %{libname}
%defattr(-,root,root,-)
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*
%{_libdir}/libcdd.a
%{_libdir}/libcddgmp.a
%{cdddir}/bin/adjacency
%{cdddir}/bin/adjacency_gmp
%{cdddir}/bin/allfaces
%{cdddir}/bin/allfaces_gmp
%{cdddir}/bin/fourier
%{cdddir}/bin/fourier_gmp
%{cdddir}/bin/lcdd
%{cdddir}/bin/lcdd_gmp
%{cdddir}/bin/projection
%{cdddir}/bin/projection_gmp
%{cdddir}/bin/redcheck
%{cdddir}/bin/redcheck_gmp
%{cdddir}/bin/scdd
%{cdddir}/bin/scdd_gmp
%{cdddir}/bin/testcdd1
%{cdddir}/bin/testcdd1_gmp
%{cdddir}/bin/testcdd2
%{cdddir}/bin/testcdd2_gmp
%{cdddir}/bin/testlp1
%{cdddir}/bin/testlp1_gmp
%{cdddir}/bin/testlp2
%{cdddir}/bin/testlp2_gmp
%{cdddir}/bin/testlp3
%{cdddir}/bin/testlp3_gmp
%{cdddir}/bin/testshoot
%{cdddir}/bin/testshoot_gmp
%dir %{cdddir}/examples
%{cdddir}/examples/*
%dir %{cdddir}/examples-ext
%{cdddir}/examples-ext/*
%dir %{cdddir}/examples-ine
%{cdddir}/examples-ine/*
%dir %{cdddir}/examples-ine3d
%{cdddir}/examples-ine3d/*
%doc %{_docdir}/%{name}/cddlibman.*
%doc %{_docdir}/%{name}/README.cddlib


%changelog
* Wed Feb 17 2010 Paulo Andrade <pcpa@mandriva.com.br> 0.61a-3mdv2010.1
+ Revision: 507263
- Add sagemath 4.3.2 changes

* Thu Sep 10 2009 Thierry Vignaud <tv@mandriva.org> 0.61a-2mdv2010.0
+ Revision: 436958
- rebuild

* Fri Mar 06 2009 Paulo Andrade <pcpa@mandriva.com.br> 0.61a-1mdv2009.1
+ Revision: 350064
- Initial import of cdd.
  Implementation of the Double Description Method of Motzkin et al.
  url: http://www.ifor.math.ethz.ch/~fukuda/cdd_home/index.html
- cdd