New upstream release 0.9.12.
This commit is contained in:
parent
7be6c52977
commit
ba8f4b3754
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/apron-*.tar.xz
|
||||
/apron-*.tar.gz
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- japron/gmp/gmp_Mpfr.c.orig 2013-07-05 16:16:16.000000000 -0600
|
||||
+++ japron/gmp/gmp_Mpfr.c 2019-07-17 16:02:33.642733801 -0600
|
||||
--- japron/gmp/gmp_Mpfr.c.orig 2019-11-10 07:33:31.000000000 -0700
|
||||
+++ japron/gmp/gmp_Mpfr.c 2020-01-17 09:08:16.852531901 -0700
|
||||
@@ -824,10 +824,23 @@ JNIEXPORT jint JNICALL Java_gmp_Mpfr_cbr
|
||||
JNIEXPORT jint JNICALL Java_gmp_Mpfr_root
|
||||
(JNIEnv *env, jobject o1, jobject o2, jint i, jint p)
|
||||
@ -24,73 +24,3 @@
|
||||
}
|
||||
|
||||
/*
|
||||
--- num/numflt_mpfr.h.orig 2015-12-11 02:59:58.000000000 -0700
|
||||
+++ num/numflt_mpfr.h 2019-07-17 16:04:45.307464218 -0600
|
||||
@@ -123,8 +123,18 @@ static inline void numflt_root(numflt_t
|
||||
{
|
||||
assert(n > 0);
|
||||
assert((n & 1) || (mpfr_sgn(b) >= 0));
|
||||
+#if MPFR_VERSION_MAJOR >= 4
|
||||
+ if (mpfr_zero_p(b)) {
|
||||
+ mpfr_set_zero(up, mpfr_sgn(b));
|
||||
+ mpfr_set_zero(down, mpfr_sgn(b));
|
||||
+ } else {
|
||||
+ mpfr_rootn_ui(up, b, n, GMP_RNDU);
|
||||
+ mpfr_rootn_ui(down, b, n, GMP_RNDD);
|
||||
+ }
|
||||
+#else
|
||||
mpfr_root(up, b, n, GMP_RNDU);
|
||||
mpfr_root(down, b, n, GMP_RNDD);
|
||||
+#endif
|
||||
}
|
||||
static inline void numflt_mul_2exp(numflt_t a, numflt_t b, int c)
|
||||
{ mpfr_mul_2si(a,b,c,GMP_RNDU); }
|
||||
--- num/numflt_native.h.orig 2015-05-18 08:17:02.000000000 -0600
|
||||
+++ num/numflt_native.h 2019-07-17 16:04:02.792197087 -0600
|
||||
@@ -188,18 +188,46 @@ static inline void numflt_root(numflt_t
|
||||
#if defined(NUMFLT_DOUBLE)
|
||||
mpfr_init_set_d(arg, *b, GMP_RNDU);
|
||||
mpfr_init(res);
|
||||
+#if MPFR_VERSION_MAJOR >= 4
|
||||
+ if (mpfr_zero_p(arg))
|
||||
+ mpfr_set_zero(res, mpfr_sgn(arg));
|
||||
+ else
|
||||
+ mpfr_rootn_ui(res, arg, n, GMP_RNDU);
|
||||
+#else
|
||||
mpfr_root(res, arg, n, GMP_RNDU);
|
||||
+#endif
|
||||
*up = mpfr_get_d(res, GMP_RNDU);
|
||||
mpfr_set_d(arg, *b, GMP_RNDD);
|
||||
+#if MPFR_VERSION_MAJOR >= 4
|
||||
+ if (mpfr_zero_p(arg))
|
||||
+ mpfr_set_zero(res, mpfr_sgn(arg));
|
||||
+ else
|
||||
+ mpfr_rootn_ui(res, arg, n, GMP_RNDD);
|
||||
+#else
|
||||
mpfr_root(res, arg, n, GMP_RNDD);
|
||||
+#endif
|
||||
*down = mpfr_get_d(res, GMP_RNDD);
|
||||
#else
|
||||
mpfr_init_set_ld(arg, *b, GMP_RNDU);
|
||||
mpfr_init(res);
|
||||
+#if MPFR_VERSION_MAJOR >= 4
|
||||
+ if (mpfr_zero_p(arg))
|
||||
+ mpfr_set_zero(res, mpfr_sgn(arg));
|
||||
+ else
|
||||
+ mpfr_rootn_ui(res, arg, n, GMP_RNDU);
|
||||
+#else
|
||||
mpfr_root(res, arg, n, GMP_RNDU);
|
||||
+#endif
|
||||
*up = mpfr_get_ld(res, GMP_RNDU);
|
||||
mpfr_set_ld(arg, *b, GMP_RNDD);
|
||||
+#if MPFR_VERSION_MAJOR >= 4
|
||||
+ if (mpfr_zero_p(arg))
|
||||
+ mpfr_set_zero(res, mpfr_sgn(arg));
|
||||
+ else
|
||||
+ mpfr_rootn_ui(res, arg, n, GMP_RNDD);
|
||||
+#else
|
||||
mpfr_root(res, arg, n, GMP_RNDD);
|
||||
+#endif
|
||||
*down = mpfr_get_ld(res, GMP_RNDD);
|
||||
#endif
|
||||
mpfr_clear(arg);
|
||||
|
@ -1,16 +1,6 @@
|
||||
--- apron/apron.texi.orig 2015-09-21 13:23:19.000000000 -0600
|
||||
+++ apron/apron.texi 2016-01-27 20:16:48.938507952 -0700
|
||||
@@ -16,7 +16,9 @@
|
||||
|
||||
@c Please read the COPYING file packaged in the distribution
|
||||
|
||||
+@ifnottex
|
||||
@setcontentsaftertitlepage
|
||||
+@end ifnottex
|
||||
|
||||
@tex
|
||||
\global\parskip=0.5ex
|
||||
@@ -69,6 +71,7 @@ numerical variables.
|
||||
--- apron/apron.texi.orig 2019-11-10 07:33:31.000000000 -0700
|
||||
+++ apron/apron.texi 2020-01-17 09:04:07.152719196 -0700
|
||||
@@ -67,6 +67,7 @@ numerical variables.
|
||||
@contents
|
||||
@end ifnothtml
|
||||
|
||||
@ -18,7 +8,7 @@
|
||||
@menu
|
||||
* Copying::
|
||||
* Introduction to APRON::
|
||||
@@ -82,6 +85,7 @@ numerical variables.
|
||||
@@ -80,6 +81,7 @@ numerical variables.
|
||||
* Examples::
|
||||
* Appendices::
|
||||
@end menu
|
||||
@ -26,7 +16,7 @@
|
||||
|
||||
@c *******************************************************************
|
||||
@node Copying, Introduction to APRON, Top, Top
|
||||
@@ -2472,7 +2476,8 @@ Polynomial fraction with possibly interv
|
||||
@@ -2470,7 +2472,8 @@ Polynomial fraction with possibly interv
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun bool ap_texpr1_is_scalar (ap_texpr1_t* @var{e})
|
||||
@ -36,9 +26,9 @@
|
||||
|
||||
@c -------------------------------------------------------------------
|
||||
@node Operations on tree expressions of level 1, , Tests on tree expressions of level 1, Tree expressions of level 1
|
||||
--- apron/Makefile.orig 2016-01-25 10:41:11.000000000 -0700
|
||||
+++ apron/Makefile 2016-01-27 20:11:18.016455265 -0700
|
||||
@@ -103,15 +103,15 @@ newpolka.texi: ../newpolka/newpolka.texi
|
||||
--- apron/Makefile.orig 2019-11-10 07:33:31.000000000 -0700
|
||||
+++ apron/Makefile 2020-01-17 09:04:07.152719196 -0700
|
||||
@@ -106,15 +106,15 @@ newpolka.texi: ../newpolka/newpolka.texi
|
||||
box.texi: ../box/box.texi
|
||||
ln -sf $< $@
|
||||
|
||||
@ -57,10 +47,10 @@
|
||||
cp -f ../octagons/oct_doc.html html
|
||||
|
||||
#---------------------------------------
|
||||
--- configure.orig 2016-01-25 10:42:37.000000000 -0700
|
||||
+++ configure 2016-01-27 20:11:41.782530893 -0700
|
||||
@@ -599,8 +599,7 @@ OCAMLFIND = $ocamlfind
|
||||
LATEX = latex
|
||||
--- configure.orig 2019-11-10 07:33:31.000000000 -0700
|
||||
+++ configure 2020-01-17 09:04:07.152719196 -0700
|
||||
@@ -621,8 +621,7 @@ LATEX = latex
|
||||
PDFLATEX = pdflatex
|
||||
DVIPDF = dvipdf
|
||||
MAKEINDEX = makeindex
|
||||
-TEXI2DVI = texi2dvi
|
||||
@ -69,10 +59,10 @@
|
||||
|
||||
# OSX only:
|
||||
ABSOLUTE_DYLIB_INSTALL_NAMES = $absolute_dylib_install_names
|
||||
--- Makefile.config.model.orig 2015-08-20 07:27:35.000000000 -0600
|
||||
+++ Makefile.config.model 2016-01-27 20:11:30.047481096 -0700
|
||||
@@ -177,7 +177,6 @@ CAMLIDL = camlidl
|
||||
LATEX=latex
|
||||
--- Makefile.config.model.orig 2019-11-10 07:33:31.000000000 -0700
|
||||
+++ Makefile.config.model 2020-01-17 09:04:07.153719179 -0700
|
||||
@@ -178,7 +178,6 @@ LATEX=latex
|
||||
PDFLATEX=pdflatex
|
||||
DVIPDF=dvipdf
|
||||
MAKEINDEX=makeindex
|
||||
-TEXI2DVI=texi2dvi
|
||||
@ -80,23 +70,3 @@
|
||||
+TEXI2ANY=texi2any
|
||||
|
||||
OCAMLPACK = $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))/ocamlpack
|
||||
--- mlapronidl/Makefile.orig 2016-01-25 10:41:11.000000000 -0700
|
||||
+++ mlapronidl/Makefile 2016-01-27 21:47:15.529162480 -0700
|
||||
@@ -156,7 +156,7 @@ apron_ocamldoc.mli: introduction.odoc $(
|
||||
mlapronidl.pdf: mlapronidl.dvi
|
||||
$(DVIPDF) mlapronidl.dvi
|
||||
|
||||
-mlapronidl.dvi: mlapronidl.tex introduction.mli $(MLMODULES:%=%.mli) ../box/box.mli ../octagons/oct.mli ../newpolka/polka.mli ../ppl/ppl.mli ../products/polkaGrid.mli $(MLGMPIDL_LIB)/mpz.mli $(MLGMPIDL_LIB)/mpq.mli $(MLGMPIDL_LIB)/gmp_random.mli $(MLGMPIDL_LIB)/mpf.mli $(MLGMPIDL_LIB)/mpfr.mli $(MLGMPIDL_LIB)/mpzf.mli $(MLGMPIDL_LIB)/mpqf.mli $(MLGMPIDL_LIB)/mpfrf.mli
|
||||
+mlapronidl.dvi: mlapronidl.tex introduction.mli $(MLMODULES:%=%.mli) ../box/box.mli ../octagons/oct.mli ../newpolka/polka.mli ../ppl/ppl.mli ../products/polkaGrid.mli
|
||||
$(OCAMLDOC) $(OCAMLINC) -I ../newpolka -I ../ppl \
|
||||
-latextitle 1,chapter -latextitle 2,section -latextitle 3,subsection -latextitle 4,subsubsection -latextitle 5,paragraph -latextitle 6,subparagraph -noheader -notrailer -latex -sepfiles introduction.mli $(MLMODULES:%=%.mli) ../box/box.mli ../octagons/oct.mli ../newpolka/polka.mli ../ppl/ppl.mli ../products/polkaGrid.mli $(MLGMPIDL_LIB)/mpz.mli $(MLGMPIDL_LIB)/mpq.mli $(MLGMPIDL_LIB)/gmp_random.mli $(MLGMPIDL_LIB)/mpf.mli $(MLGMPIDL_LIB)/mpfr.mli $(MLGMPIDL_LIB)/mpzf.mli $(MLGMPIDL_LIB)/mpqf.mli $(MLGMPIDL_LIB)/mpfrf.mli
|
||||
$(LATEX) mlapronidl
|
||||
@@ -164,7 +164,7 @@ mlapronidl.dvi: mlapronidl.tex introduct
|
||||
$(LATEX) mlapronidl
|
||||
$(LATEX) mlapronidl
|
||||
|
||||
-html: mlapronidl.odoc introduction.mli $(IDLMODULES:%=%.mli) parser.mli $(MLMODULES:%=%.mli) ../box/box.mli ../octagons/oct.mli ../newpolka/polka.mli ../ppl/ppl.mli ../products/polkaGrid.mli $(MLGMPIDL_LIB)/mpz.mli $(MLGMPIDL_LIB)/mpq.mli $(MLGMPIDL_LIB)/gmp_random.mli $(MLGMPIDL_LIB)/mpf.mli $(MLGMPIDL_LIB)/mpfr.mli $(MLGMPIDL_LIB)/mpzf.mli $(MLGMPIDL_LIB)/mpqf.mli $(MLGMPIDL_LIB)/mpfrf.mli
|
||||
+html: mlapronidl.odoc introduction.mli $(IDLMODULES:%=%.mli) parser.mli $(MLMODULES:%=%.mli) ../box/box.mli ../octagons/oct.mli ../newpolka/polka.mli ../ppl/ppl.mli ../products/polkaGrid.mli
|
||||
mkdir -p html
|
||||
$(OCAMLDOC) $(OCAMLINC) -I ../newpolka -I ../ppl \
|
||||
-html -d html -colorize-code -intro mlapronidl.odoc introduction.mli $(IDLMODULES:%=%.mli) parser.mli ../box/box.mli ../octagons/oct.mli ../newpolka/polka.mli ../ppl/ppl.mli ../products/polkaGrid.mli $(MLGMPIDL_LIB)/mpz.mli $(MLGMPIDL_LIB)/mpq.mli $(MLGMPIDL_LIB)/gmp_random.mli $(MLGMPIDL_LIB)/mpf.mli $(MLGMPIDL_LIB)/mpfr.mli $(MLGMPIDL_LIB)/mpzf.mli $(MLGMPIDL_LIB)/mpqf.mli $(MLGMPIDL_LIB)/mpfrf.mli
|
||||
|
11
apron.rpmlintrc
Normal file
11
apron.rpmlintrc
Normal file
@ -0,0 +1,11 @@
|
||||
# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
|
||||
# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors
|
||||
|
||||
# The dictionary is missing some technical terms
|
||||
addFilter(r'W: spelling-error .* invariants')
|
||||
|
||||
# We use whatever version of jquery doxygen gives us
|
||||
addFilter(r'W: unversioned-explicit-provides bundled\(jquery\)')
|
||||
|
||||
# The configure script is not an autotools-generated script
|
||||
addFilter(r'apron\.spec:[^:]*: W: configure-without-libdir-spec')
|
64
apron.spec
64
apron.spec
@ -1,23 +1,14 @@
|
||||
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||
%global svndate 20180624
|
||||
%global svnrev 1104
|
||||
|
||||
Name: apron
|
||||
Version: 0.9.11
|
||||
Release: 33.%{svnrev}.svn%{svndate}%{?dist}
|
||||
Version: 0.9.12
|
||||
Release: 1%{?dist}
|
||||
Summary: Numerical abstract domain library
|
||||
|
||||
# The entire package is LGPLv2+ except newpolka/mf_qsort.c and ppl/*, all of
|
||||
# which are GPLv2+. This means that libpolkaMPQ.so.*, libpolkaRll.so.*, and
|
||||
# libap_ppl.so.* are GPLv2+, and the other libraries are all LGPLv2+.
|
||||
License: LGPLv2+ and GPLv2+
|
||||
URL: http://apron.cri.ensmp.fr/library/
|
||||
# Upstream has given up on making releases, so we pull from subversion now.
|
||||
# Create the source tarball as follows:
|
||||
# svn export -r %%{svnrev} svn://scm.gforge.inria.fr/svnroot/apron/apron/trunk \
|
||||
# apron-%%{version}
|
||||
# tar cJf apron-%%{version}.tar apron-%%{version}
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
URL: https://antoinemine.github.io/Apron/doc/
|
||||
Source0: https://github.com/antoinemine/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
# This patch has not been sent upstream as it is GCC-specific. Certain
|
||||
# symbols are defined in both libpolkaMPQ and libpolkaRll, with different
|
||||
# implementations. This patch makes references to those symbols in
|
||||
@ -32,6 +23,7 @@ Patch2: %{name}-mpfr4.patch
|
||||
BuildRequires: doxygen-latex
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: ghostscript-tools-dvipdf
|
||||
BuildRequires: java-devel
|
||||
BuildRequires: javapackages-local
|
||||
BuildRequires: mpfr-devel
|
||||
BuildRequires: ppl-devel
|
||||
@ -104,7 +96,7 @@ Java interface to the APRON library.
|
||||
%autosetup -p0
|
||||
|
||||
# Fix library path for 64-bit installs
|
||||
if [ "%{_libdir}" = "%{_prefix}/lib64" ]; then
|
||||
if [ "%{_lib}" = "lib64" ]; then
|
||||
sed -i 's,\${apron_prefix}/lib,&64,' configure
|
||||
sed -i 's,/lib,&64,' vars.mk
|
||||
fi
|
||||
@ -121,28 +113,36 @@ iconv -f iso8859-1 -t utf-8 Changes > Changes.utf8
|
||||
touch -r Changes Changes.utf8
|
||||
mv -f Changes.utf8 Changes
|
||||
|
||||
# Preserve timestamps
|
||||
# Preserve timestamps when copying
|
||||
sed -i 's/^\([[:blank:]]*cp[[:blank:]]\)/\1-p /' Makefile */Makefile
|
||||
|
||||
# Do not change -O2 to -O3
|
||||
sed -i 's/-O3/-O2/' configure Makefile.config.model
|
||||
|
||||
# Link the OCaml objects with our LDFLAGS
|
||||
sed -e "s|\$(OCAMLMKLIB) -L.*|& -g -ldopt '$RPM_LD_FLAGS'|" \
|
||||
-e "/CMXS/s|-linkall|-cclib '$RPM_LD_FLAGS' &|" \
|
||||
-i vars.mk
|
||||
|
||||
%build
|
||||
# This is NOT an autoconf-generated script. Do not use %%configure
|
||||
CPPFLAGS="-D_GNU_SOURCE" \
|
||||
CFLAGS="%{optflags} -fsigned-char" \
|
||||
CXXFLAGS="%{optflags} -fsigned-char" \
|
||||
LDFLAGS="-Wl,--as-needed $RPM_LD_FLAGS" \
|
||||
java_home="%{_jvmdir}/java" \
|
||||
export CPPFLAGS="-D_GNU_SOURCE"
|
||||
export CFLAGS="%{optflags} -fsigned-char"
|
||||
export CXXFLAGS="%{optflags} -fsigned-char"
|
||||
export LDFLAGS="$RPM_LD_FLAGS"
|
||||
export JAVA_HOME="%{_jvmdir}/java"
|
||||
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
|
||||
./configure -prefix %{_prefix} -java-prefix %{_jvmdir}/java
|
||||
|
||||
# Put back a flag that the configure script strips out
|
||||
sed -i 's/-Wp,-D_FORTIFY_SOURCE=2/-Werror=format-security &/' Makefile.config
|
||||
|
||||
# Building with JNI requires two include paths; configure only gives us one
|
||||
sed -i 's,^JNIINC.*,& -I%{_jvmdir}/java/include/linux,' Makefile.config
|
||||
|
||||
# FIXME: Cannot use %%{?_smp_mflags} due to missing Makefile dependencies
|
||||
make
|
||||
%make_build
|
||||
make doc
|
||||
|
||||
# for some reason this is no longer built in `make doc`
|
||||
make -C mlapronidl mlapronidl.pdf
|
||||
|
||||
%install
|
||||
# Install the ocaml bits into the buildroot
|
||||
sed -i 's, install ,&-destdir %{buildroot}%{_libdir}/ocaml -ldconf ignore ,' \
|
||||
@ -193,16 +193,15 @@ make -C test APRON_INCLUDE=%{buildroot}%{_includedir}/%{name} \
|
||||
CAMLIDL_PREFIX=%{buildroot}%{_libdir}
|
||||
test/ctest1
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%doc AUTHORS Changes README apron/apron.pdf
|
||||
%doc AUTHORS Changes README.md apron/apron.pdf
|
||||
%license COPYING
|
||||
%{_libdir}/*.so.*
|
||||
%{_libdir}/lib*.so.0
|
||||
%{_libdir}/lib*.so.0.*
|
||||
|
||||
%files devel
|
||||
%doc doc/apron doc/apronxx
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/lib*.so
|
||||
%{_includedir}/%{name}/
|
||||
|
||||
%files -n ocaml-%{name}
|
||||
@ -216,7 +215,7 @@ test/ctest1
|
||||
|
||||
%files -n ocaml-%{name}-devel
|
||||
%doc mlapronidl/html/*
|
||||
%if %opt
|
||||
%ifarch %{ocaml_native_compiler}
|
||||
%{_libdir}/ocaml/%{name}/*.a
|
||||
%{_libdir}/ocaml/%{name}/*.cmxa
|
||||
%{_libdir}/ocaml/%{name}/*.cmx
|
||||
@ -232,6 +231,9 @@ test/ctest1
|
||||
%{_jnidir}/*.so
|
||||
|
||||
%changelog
|
||||
* Wed Jan 22 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 0.9.12-1
|
||||
- New upstream release 0.9.12
|
||||
|
||||
* Sun Jan 19 2020 Richard W.M. Jones <rjones@redhat.com> - 0.9.11-33.1104.svn20180624
|
||||
- OCaml 4.10.0+beta1 rebuild.
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (apron-0.9.11.tar.xz) = f6b5332935b9ef4621328d69223bd41d08c5c440e2b228e6fbcf8cffd4b1c488ab9bee9f5cfc9b5b202a9a6340257e1f3b52e29f22e06c90f40081f1b27726c5
|
||||
SHA512 (apron-0.9.12.tar.gz) = c5c8c05f7bf04ecd2fb71c023a7a2537a366fcc68286f8319481b8274aa9c4bbd1883113ce10e5073232357cf0bbeb433e51339d504d14d656eccede98459742
|
||||
|
Loading…
Reference in New Issue
Block a user