From f8766be555a2624b4d482c4d3808a418ee233bc9 Mon Sep 17 00:00:00 2001 From: Dan Čermák Date: Jan 26 2020 23:14:08 +0000 Subject: New upstream release 0.9.12 --- diff --git a/.gitignore b/.gitignore index 7dc8d58..cfceb78 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /apron-*.tar.xz +/v0.9.12.tar.gz diff --git a/0001-Switch-from-texi2dvi-texi2html-to-texi2any.patch b/0001-Switch-from-texi2dvi-texi2html-to-texi2any.patch new file mode 100644 index 0000000..c31a989 --- /dev/null +++ b/0001-Switch-from-texi2dvi-texi2html-to-texi2any.patch @@ -0,0 +1,99 @@ +From cc7a771479254222743a1f10ab63e4b1b761cf08 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= +Date: Fri, 24 Jan 2020 21:00:45 +0100 +Subject: [PATCH] Switch from texi2dvi & texi2html to texi2any + +texi2html is dead upstream since 2011, texi2any on the other hand is still being +developed. +Original patch by: +Co-authored-by: Jerry James +--- + Makefile.config.model | 3 +-- + apron/Makefile | 6 +++--- + apron/apron.texi | 5 ++++- + configure | 3 +-- + 4 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/Makefile.config.model b/Makefile.config.model +index 4fd39a1..ef6d204 100644 +--- a/Makefile.config.model ++++ b/Makefile.config.model +@@ -178,7 +178,6 @@ LATEX=latex + PDFLATEX=pdflatex + DVIPDF=dvipdf + MAKEINDEX=makeindex +-TEXI2DVI=texi2dvi +-TEXI2HTML=texi2html ++TEXI2ANY=texi2any + + OCAMLPACK = $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))/ocamlpack +diff --git a/apron/Makefile b/apron/Makefile +index be1c441..38e3f08 100644 +--- a/apron/Makefile ++++ b/apron/Makefile +@@ -106,15 +106,15 @@ newpolka.texi: ../newpolka/newpolka.texi + box.texi: ../box/box.texi + ln -sf $< $@ + +-apron.pdf: apron.texi rationale.texi ap_pkgrid.texi ap_ppl.texi newpolka.texi box.texi +- $(TEXI2DVI) --pdf -o $@ $< ++apron.pdf: apron.texi rationale.texi ../products/ap_pkgrid.texi ../ppl/ap_ppl.texi ../newpolka/newpolka.texi ../box/box.texi ++ $(TEXI2ANY) --pdf -o $@ $< + + apron.info: apron.texi rationale.texi ap_pkgrid.texi ap_ppl.texi newpolka.texi box.texi + $(MAKEINFO) -o $@ $< + + + html: apron.texi rationale.texi ap_pkgrid.texi ap_ppl.texi newpolka.texi box.texi +- $(TEXI2HTML) -split=section -nonumber-sections -menu -subdir=html $< ++ $(TEXI2ANY) --html --split=section --no-number-sections $< + cp -f ../octagons/oct_doc.html html + + #--------------------------------------- +diff --git a/apron/apron.texi b/apron/apron.texi +index b873866..b344be1 100755 +--- a/apron/apron.texi ++++ b/apron/apron.texi +@@ -67,6 +67,7 @@ numerical variables. + @contents + @end ifnothtml + ++@ifnottex + @menu + * Copying:: + * Introduction to APRON:: +@@ -80,6 +81,7 @@ numerical variables. + * Examples:: + * Appendices:: + @end menu ++@end ifnottex + + @c ******************************************************************* + @node Copying, Introduction to APRON, Top, Top +@@ -2470,7 +2472,8 @@ Polynomial fraction with possibly interval coefficients, no rounding + @end deftypefun + + @deftypefun bool ap_texpr1_is_scalar (ap_texpr1_t* @var{e}) +-All coefficients are scalar (non-interval)@end deftypefun ++All coefficients are scalar (non-interval) ++@end deftypefun + + @c ------------------------------------------------------------------- + @node Operations on tree expressions of level 1, , Tests on tree expressions of level 1, Tree expressions of level 1 +diff --git a/configure b/configure +index 1ced897..17f656a 100755 +--- a/configure ++++ b/configure +@@ -621,8 +621,7 @@ LATEX = latex + PDFLATEX = pdflatex + DVIPDF = dvipdf + MAKEINDEX = makeindex +-TEXI2DVI = texi2dvi +-TEXI2HTML = texi2html ++TEXI2ANY = texi2any + + # OSX only: + ABSOLUTE_DYLIB_INSTALL_NAMES = $absolute_dylib_install_names +-- +2.24.1 + diff --git a/apron-mpfr4.patch b/apron-mpfr4.patch deleted file mode 100644 index bb69434..0000000 --- a/apron-mpfr4.patch +++ /dev/null @@ -1,96 +0,0 @@ ---- 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 -@@ -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) - { -+#if MPFR_VERSION_MAJOR >= 4 -+ mpfr_ptr mpfr1, mpfr2; -+#endif - check_nonnull(o1,0); - check_nonnull(o2,0); - check_positive(i,0); -+#if MPFR_VERSION_MAJOR >= 4 -+ mpfr1 = as_mpfr(o1); -+ mpfr2 = as_mpfr(o2); -+ if (mpfr_zero_p(mpfr2)) { -+ mpfr_set_zero(mpfr1, mpfr_sgn(mpfr2)); -+ return 0; -+ } -+ return mpfr_rootn_ui(mpfr1, mpfr2, i, p); -+#else - return mpfr_root(as_mpfr(o1), as_mpfr(o2), i, p); -+#endif - } - - /* ---- 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); diff --git a/apron-texinfo.patch b/apron-texinfo.patch deleted file mode 100644 index c6366c2..0000000 --- a/apron-texinfo.patch +++ /dev/null @@ -1,102 +0,0 @@ ---- 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. - @contents - @end ifnothtml - -+@ifnottex - @menu - * Copying:: - * Introduction to APRON:: -@@ -82,6 +85,7 @@ numerical variables. - * Examples:: - * Appendices:: - @end menu -+@end ifnottex - - @c ******************************************************************* - @node Copying, Introduction to APRON, Top, Top -@@ -2472,7 +2476,8 @@ Polynomial fraction with possibly interv - @end deftypefun - - @deftypefun bool ap_texpr1_is_scalar (ap_texpr1_t* @var{e}) --All coefficients are scalar (non-interval)@end deftypefun -+All coefficients are scalar (non-interval) -+@end deftypefun - - @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 - box.texi: ../box/box.texi - ln -sf $< $@ - --apron.pdf: apron.texi rationale.texi ap_pkgrid.texi ap_ppl.texi newpolka.texi box.texi -- $(TEXI2DVI) --pdf -o $@ $< -+apron.pdf: apron.texi rationale.texi ../products/ap_pkgrid.texi ../ppl/ap_ppl.texi ../newpolka/newpolka.texi ../box/box.texi -+ $(TEXI2ANY) --pdf -o $@ $< - - apron.info: apron.texi rationale.texi ap_pkgrid.texi ap_ppl.texi newpolka.texi box.texi - $(MAKEINFO) -o $@ $< - - - html: apron.texi rationale.texi ap_pkgrid.texi ap_ppl.texi newpolka.texi box.texi -- $(TEXI2HTML) -split=section -nonumber-sections -menu -subdir=html $< -+ $(TEXI2ANY) --html --split=section --no-number-sections $< - 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 - DVIPDF = dvipdf - MAKEINDEX = makeindex --TEXI2DVI = texi2dvi --TEXI2HTML = texi2html -+TEXI2ANY = texi2any - - # 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 - DVIPDF=dvipdf - MAKEINDEX=makeindex --TEXI2DVI=texi2dvi --TEXI2HTML=texi2html -+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 diff --git a/apron.spec b/apron.spec index 8b9360e..41ffb20 100644 --- a/apron.spec +++ b/apron.spec @@ -1,38 +1,31 @@ %global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) -%global svndate 20180624 -%global svnrev 1104 Name: apron -Version: 0.9.11 -Release: 32.%{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}.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 # libap_pkgrid be weak references, since that library can be combined with # either of the 2 implementations. Patch0: %{name}-weak.patch -# Adapt to texinfo 6.x -Patch1: %{name}-texinfo.patch -# Adapt to mpfr 4 -Patch2: %{name}-mpfr4.patch +# https://github.com/antoinemine/apron/pull/23 +# FIXME: merged upstream - drop on next release +Patch1: 0001-Switch-from-texi2dvi-texi2html-to-texi2any.patch BuildRequires: doxygen-latex BuildRequires: gcc-c++ BuildRequires: ghostscript-tools-dvipdf BuildRequires: javapackages-local +BuildRequires: java-devel BuildRequires: mpfr-devel BuildRequires: ppl-devel BuildRequires: ocaml @@ -70,7 +63,8 @@ Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: gmp-devel%{?_isa} Requires: mpfr-devel%{?_isa} -Provides: bundled(jquery) +# in apronxx/doc/html/jquery.js +Provides: bundled(jquery) = 1.7.2 %description devel The %{name}-devel package contains libraries and signature files for @@ -101,7 +95,9 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Java interface to the APRON library. %prep -%autosetup -p0 +%setup -q +%patch0 -p0 +%patch1 -p1 # Fix library path for 64-bit installs if [ "%{_libdir}" = "%{_prefix}/lib64" ]; then @@ -121,28 +117,31 @@ 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 %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" \ -./configure -prefix %{_prefix} -java-prefix %{_jvmdir}/java +export CPPFLAGS="-D_GNU_SOURCE" \ +CFLAGS="%{build_cflags}" \ +CXXFLAGS="%{build_cxxflags}" \ +LDFLAGS="%{build_ldflags}" \ +JAVA_HOME="%{_jvmdir}/java" +./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 +# add this env var, so that javadoc can process the author's name +export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8" make doc +# for some reason this is no longer build in `make doc` +pushd mlapronidl +make mlapronidl.pdf +popd + %install # Install the ocaml bits into the buildroot sed -i 's, install ,&-destdir %{buildroot}%{_libdir}/ocaml -ldconf ignore ,' \ @@ -193,10 +192,8 @@ 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.* @@ -232,6 +229,9 @@ test/ctest1 %{_jnidir}/*.so %changelog +* Fri Jan 17 2020 Dan Čermák - 0.9.12-1 +- New upstream release 0.9.12 + * Thu Jan 09 2020 Richard W.M. Jones - 0.9.11-32.1104.svn20180624 - OCaml 4.09.0 for riscv64 diff --git a/sources b/sources index 9bf835b..7021025 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apron-0.9.11.tar.xz) = f6b5332935b9ef4621328d69223bd41d08c5c440e2b228e6fbcf8cffd4b1c488ab9bee9f5cfc9b5b202a9a6340257e1f3b52e29f22e06c90f40081f1b27726c5 +SHA512 (v0.9.12.tar.gz) = c5c8c05f7bf04ecd2fb71c023a7a2537a366fcc68286f8319481b8274aa9c4bbd1883113ce10e5073232357cf0bbeb433e51339d504d14d656eccede98459742