[ocaml-tplib] Initial import.

Jerry James jjames at fedoraproject.org
Thu Jan 17 15:14:42 UTC 2013


commit aa3ce73a33f813bd00c9f7025854025ad7274aa1
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Thu Jan 17 08:14:32 2013 -0700

    Initial import.

 .gitignore                   |    1 +
 compute_ext_rays.1           |   32 ++++++++++++
 compute_ext_rays_polar.1     |   23 ++++++++
 compute_halfspaces.1         |   23 ++++++++
 compute_tangent_hypergraph.1 |   25 +++++++++
 ocaml-tplib.spec             |  114 ++++++++++++++++++++++++++++++++++++++++++
 sources                      |    1 +
 7 files changed, 219 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..c5e038b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/TPLib-1.2.tar.gz
diff --git a/compute_ext_rays.1 b/compute_ext_rays.1
new file mode 100644
index 0000000..98c8332
--- /dev/null
+++ b/compute_ext_rays.1
@@ -0,0 +1,32 @@
+.TH "compute_ext_rays" "1" "May 2012" "TPLib 1.2" "User Commands"
+.SH "NAME"
+compute_ext_rays \- compute extreme rays of a tropical cone
+.SH "DESCRIPTION"
+Computes the extreme rays of a tropical cone given by a system of tropically
+affine inequalities.
+.SH "ARGUMENTS"
+.TP
+\fB\-numerical\-data\fP
+Set the type of numerical data used by the algorithm, one of: ocaml_int,
+ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
+.TP
+\fB\-min\-plus\fP
+Use the min\-plus semiring instead of the default max\-plus semiring.
+.TP
+\fB\-no\-ordering\fP
+The constraints are not dynamically ordered during the execution.
+.TP
+\fB\-polymake\-output\fP
+Output under polymake format.  Takes an optional argument, corresponding to a
+list c_1,...,c_p of coordinates on which the result is projected.
+.TP
+\fB\-bounding\-box\fP
+Set a bounding box, specified as a list (separated by commas) of
+triples (c,l,u), where c is the index of a coordinate, and l and u are lower
+and upper bounds (\fB\-infinity\fP/\fB+infinity\fP are allowed).
+.TP
+\fB\-help\fP, \fB\-\-help\fP
+Display this list of options.
+.SH "SEE ALSO"
+\fBcompute_ext_rays_polar\fP(1), \fBcompute_halfspaces\fP(1),
+\fBcompute_tangent_hypergraph\fP(1)
diff --git a/compute_ext_rays_polar.1 b/compute_ext_rays_polar.1
new file mode 100644
index 0000000..78a0a27
--- /dev/null
+++ b/compute_ext_rays_polar.1
@@ -0,0 +1,23 @@
+.TH "compute_ext_rays_polar" "1" "May 2012" "TPLib 1.2" "User Commands"
+.SH "NAME"
+compute_ext_rays_polar \- compute extreme rays of the polar of a tropical cone
+.SH "DESCRIPTION"
+Computes the extreme rays of the polar of a tropical cone given by a generating
+set.
+.SH "ARGUMENTS"
+.TP
+\fB\-numerical\-data\fP
+Set the type of numerical data used by the algorithm, one of: ocaml_int,
+ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
+.TP
+\fB\-min\-plus\fP
+Use the min\-plus semiring instead of the default max\-plus semiring.
+.TP
+\fB\-no\-ordering\fP
+The constraints are not dynamically ordered during the execution.
+.TP
+\fB\-help\fP, \fB\-\-help\fP
+Display this list of options.
+.SH "SEE ALSO"
+\fBcompute_ext_rays\fP(1), \fBcompute_halfspaces\fP(1),
+\fBcompute_tangent_hypergraph\fP(1)
diff --git a/compute_halfspaces.1 b/compute_halfspaces.1
new file mode 100644
index 0000000..389b107
--- /dev/null
+++ b/compute_halfspaces.1
@@ -0,0 +1,23 @@
+.TH "compute_halfspaces" "1" "May 2012" "TPLib 1.2" "User Commands"
+.SH "NAME"
+compute_halfspaces \- use half-spaces to represent a tropical cone
+.SH "DESCRIPTION"
+Computes an external representation of a tropical cone given by a generating
+set, by means of half-spaces.
+.SH "ARGUMENTS"
+.TP
+\fB\-numerical\-data\fP
+Set the type of numerical data used by the algorithm, one of: ocaml_int,
+ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
+.TP
+\fB\-min\-plus\fP
+Use the min\-plus semiring instead of the default max\-plus semiring.
+.TP
+\fB\-no\-ordering\fP
+The constraints are not dynamically ordered during the execution.
+.TP
+\fB\-help\fP, \fB\-\-help\fP
+Display this list of options.
+.SH "SEE ALSO"
+\fBcompute_ext_rays\fP(1), \fBcompute_ext_rays_polar\fP(1),
+\fBcompute_tangent_hypergraph\fP(1)
diff --git a/compute_tangent_hypergraph.1 b/compute_tangent_hypergraph.1
new file mode 100644
index 0000000..eb2a278
--- /dev/null
+++ b/compute_tangent_hypergraph.1
@@ -0,0 +1,25 @@
+.TH "compute_tangent_hypergraph" "1" "May 2012" "TPLib 1.2" "User Commands"
+.SH "NAME"
+compute_tangent_hypergraph \- compute tangent hypergraph in a tropical cone
+.SH "DESCRIPTION"
+Computes the tangent directed hypergraph at a given point in a tropical cone.
+.SH "ARGUMENTS"
+.TP
+\fB\-numerical\-data\fP
+Set the type of numerical data used by the algorithm, one of: ocaml_int,
+ocaml_float, ocaml_big_int, ocaml_big_rat, zarith_int, and zarith_rat.
+.TP
+\fB\-generators\fP
+Specify the cone from a generating family.
+.TP
+\fB\-half\-spaces\fP
+Specify the cone from half-spaces.
+.TP
+\fB\-min\-plus\fP
+Use the min\-plus semiring instead of the default max\-plus semiring.
+.TP
+\fB\-help\fP, \fB\-\-help\fP
+Display this list of options.
+.SH "SEE ALSO"
+\fBcompute_ext_rays\fP(1), \fBcompute_ext_rays_polar\fP(1),
+\fBcompute_halfspaces\fP(1)
diff --git a/ocaml-tplib.spec b/ocaml-tplib.spec
new file mode 100644
index 0000000..965d0ea
--- /dev/null
+++ b/ocaml-tplib.spec
@@ -0,0 +1,114 @@
+# Debuginfo generation for OCaml is not yet functional in Fedora
+%global debug_package %{nil}
+%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
+
+Name:           ocaml-tplib
+Version:        1.2
+Release:        2%{?dist}
+Summary:        Tropical Polyhedra Library
+
+License:        LGPLv2+
+URL:            https://gforge.inria.fr/projects/tplib
+Source0:        https://gforge.inria.fr/frs/download.php/30827/TPLib-%{version}.tar.gz
+# Man pages written by Jerry James using text from the sources; i.e., I
+# contributed only the formatting.  Thus, the license and copyright for these
+# files is the same as for the sources.
+Source1:        compute_ext_rays.1
+Source2:        compute_ext_rays_polar.1
+Source3:        compute_halfspaces.1
+Source4:        compute_tangent_hypergraph.1
+
+BuildRequires:  gmp-devel
+BuildRequires:  mpfr-devel
+BuildRequires:  ocaml
+BuildRequires:  ocaml-camlidl-devel
+BuildRequires:  ocaml-findlib-devel
+BuildRequires:  ocaml-mlgmpidl-devel
+BuildRequires:  ocaml-ocamldoc
+BuildRequires:  ocaml-zarith-devel
+
+ExclusiveArch:  %{ocaml_arches}
+
+# This is an internal symbol that winds up in Requires, but not Provides
+%global __requires_exclude ocaml\\\(Numeric_plugin\\\)
+
+# Don't advertise the numeric plugins
+%global __provides_exclude plugin
+
+%description
+TPLib computes a description by means of vertices and rays of tropical
+polyhedra defined by means of inequalities, and conversely.
+
+It also provides a numerical abstract domain based on tropical
+polyhedra, in order to infer min-/max- invariants over programs.
+
+%package devel
+Summary:        Library files and headers for developing with TPLib
+Requires:       %{name}%{?_isa} = %{version}-%{release}
+Provides:       %{name}-static = %{version}-%{release}
+
+%description devel
+Library files and headers for developing applications that use TPLib.
+
+%package tools
+Summary:        Tools that use TPLib
+Requires:       %{name}%{?_isa} = %{version}-%{release}
+
+%description tools
+Tools that use TPLib.
+
+%prep
+%setup -q -n TPLib-%{version}
+
+# This header file doesn't exist, and isn't needed anyway.
+sed -i '/zarith\.h/d' src/bindings/tplib_rational.c
+
+%build
+%configure
+# Don't use %%{?_smp_mflags}; it leads to build failures
+make
+
+%install
+export OCAMLFIND_DESTDIR=%{buildroot}%{_libdir}/ocaml
+mkdir -p $OCAMLFIND_DESTDIR
+mkdir -p %{buildroot}%{_includedir}
+make install bindir=%{buildroot}%{_bindir} libdir=%{buildroot}%{_libdir} \
+  includedir=%{buildroot}%{_includedir}
+
+strip %{buildroot}%{_bindir}/compute*
+strip %{buildroot}%{_libdir}/ocaml/tplib/*.cmxs
+
+mkdir -p %{buildroot}%{_mandir}/man1
+cp -p %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{buildroot}%{_mandir}/man1
+
+%check
+make test
+_build/tests/test_tplib_double
+_build/tests/test_tplib_rational
+
+%files
+%doc LICENSE README
+%{_libdir}/ocaml/tplib/
+%exclude %{_libdir}/ocaml/tplib/*.a
+%exclude %{_libdir}/ocaml/tplib/*.cmxa
+%exclude %{_libdir}/ocaml/tplib/*.mli
+
+%files devel
+%{_includedir}/tplib_*.h
+%{_libdir}/*.a
+%{_libdir}/ocaml/tplib/*.a
+%{_libdir}/ocaml/tplib/*.cmxa
+%{_libdir}/ocaml/tplib/*.mli
+
+%files tools
+%{_bindir}/*
+%doc %{_mandir}/man1/*
+
+%changelog
+* Wed Jan 16 2013 Jerry James <loganjerry at gmail.com> - 1.2-2
+- Add man pages
+- Don't Provide the numeric plugins
+- Make -devel also Provide -static
+
+* Wed Oct 31 2012 Jerry James <loganjerry at gmail.com> - 1.2-1
+- Initial RPM
diff --git a/sources b/sources
index e69de29..4344789 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+7484171d5c6d87ee964ab7e3a6119f08  TPLib-1.2.tar.gz


More information about the scm-commits mailing list