Update to latest subversion commit.
Also: - Add japron subpackage with the Java interface. - Add %check script. - Drop upstreamed -format-security, -mlgmpidl12, -test, and -ppl1 patches. - Add -texinfo patch to fix documentation build failure.
This commit is contained in:
parent
92eaa097cf
commit
aedee9c4f9
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
/apron-0.9.10.tgz
|
/apron-0.9.10.tgz
|
||||||
|
/apron-0.9.10.tar.xz
|
||||||
|
102
apron-texinfo.patch
Normal file
102
apron-texinfo.patch
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
--- 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
|
236
apron.spec
236
apron.spec
@ -1,10 +1,10 @@
|
|||||||
# Testing note: The makefile in test is broken in version 0.9.10. After
|
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||||
# repairing it, compilation of ctest1.c fails due to too few arguments to
|
%global svndate 20160125
|
||||||
# ap_pkgrid_manager_alloc(). Try to create a %%check section again later.
|
%global svnrev 1091
|
||||||
|
|
||||||
Name: apron
|
Name: apron
|
||||||
Version: 0.9.10
|
Version: 0.9.10
|
||||||
Release: 33%{?dist}
|
Release: 34.%{svnrev}.svn%{svndate}%{?dist}
|
||||||
Summary: Numerical abstract domain library
|
Summary: Numerical abstract domain library
|
||||||
|
|
||||||
# The entire package is LGPLv2+ except newpolka/mf_qsort.c and ppl/*, all of
|
# The entire package is LGPLv2+ except newpolka/mf_qsort.c and ppl/*, all of
|
||||||
@ -12,30 +12,36 @@ Summary: Numerical abstract domain library
|
|||||||
# libap_ppl.so.* are GPLv2+, and the other libraries are all LGPLv2+.
|
# libap_ppl.so.* are GPLv2+, and the other libraries are all LGPLv2+.
|
||||||
License: LGPLv2+ and GPLv2+
|
License: LGPLv2+ and GPLv2+
|
||||||
URL: http://apron.cri.ensmp.fr/library/
|
URL: http://apron.cri.ensmp.fr/library/
|
||||||
Source0: http://apron.cri.ensmp.fr/library/%{name}-%{version}.tgz
|
# 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-0.9.10
|
||||||
|
# tar cJf apron-0.9.10.tar apron-0.9.10
|
||||||
|
Source0: %{name}-%{version}.tar.xz
|
||||||
# This patch has not been sent upstream as it is GCC-specific. Certain
|
# This patch has not been sent upstream as it is GCC-specific. Certain
|
||||||
# symbols are defined in both libpolkaMPQ and libpolkaRll, with different
|
# symbols are defined in both libpolkaMPQ and libpolkaRll, with different
|
||||||
# implementations. This patch makes references to those symbols in
|
# implementations. This patch makes references to those symbols in
|
||||||
# libap_pkgrid be weak references, since that library can be combined with
|
# libap_pkgrid be weak references, since that library can be combined with
|
||||||
# either of the 2 implementations.
|
# either of the 2 implementations.
|
||||||
Patch0: %{name}-weak.patch
|
Patch0: %{name}-weak.patch
|
||||||
# Sent upstream 10 May 2012. This patch adapts to mlgmpidl 1.2.
|
# Adapt to texinfo 6.x
|
||||||
Patch1: %{name}-mlgmpidl12.patch
|
Patch1: %{name}-texinfo.patch
|
||||||
# Sent upstream 14 Feb 2013. Fix the tests for GCC 4.7.1.
|
|
||||||
Patch2: %{name}-test.patch
|
|
||||||
# Sent upstream 14 Feb 2013. Adapt to PPL 1.0 + GMP 5.1.0
|
|
||||||
Patch3: %{name}-ppl1.patch
|
|
||||||
# Alreay applied upstream. Fix a -Werror=format-security failure.
|
|
||||||
Patch4: %{name}-format-security.patch
|
|
||||||
|
|
||||||
|
BuildRequires: doxygen-latex
|
||||||
|
BuildRequires: ghostscript-core
|
||||||
|
BuildRequires: javapackages-local
|
||||||
BuildRequires: mpfr-devel
|
BuildRequires: mpfr-devel
|
||||||
BuildRequires: ppl-devel
|
BuildRequires: ppl-devel
|
||||||
BuildRequires: ocaml
|
BuildRequires: ocaml
|
||||||
BuildRequires: ocaml-camlidl-devel
|
BuildRequires: ocaml-camlidl-devel
|
||||||
|
BuildRequires: ocaml-findlib
|
||||||
BuildRequires: ocaml-mlgmpidl-devel
|
BuildRequires: ocaml-mlgmpidl-devel
|
||||||
BuildRequires: ocaml-ocamldoc
|
BuildRequires: ocaml-ocamldoc
|
||||||
|
BuildRequires: perl
|
||||||
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
BuildRequires: tex(adjustbox.sty)
|
||||||
|
BuildRequires: tex(fullpage.sty)
|
||||||
|
BuildRequires: tex(tabu.sty)
|
||||||
|
BuildRequires: texinfo-tex
|
||||||
|
|
||||||
%global sover %(cut -d. -f 1 <<< %{version})
|
%global sover %(cut -d. -f 1 <<< %{version})
|
||||||
|
|
||||||
@ -55,6 +61,7 @@ Summary: Development files for %{name}
|
|||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: gmp-devel%{?_isa}
|
Requires: gmp-devel%{?_isa}
|
||||||
Requires: mpfr-devel%{?_isa}
|
Requires: mpfr-devel%{?_isa}
|
||||||
|
Provides: bundled(jquery)
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
The %{name}-devel package contains libraries and signature files for
|
The %{name}-devel package contains libraries and signature files for
|
||||||
@ -77,123 +84,114 @@ Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|||||||
%description -n ocaml-%{name}-devel
|
%description -n ocaml-%{name}-devel
|
||||||
Development files for the Ocaml interface to the APRON library.
|
Development files for the Ocaml interface to the APRON library.
|
||||||
|
|
||||||
|
%package -n japron
|
||||||
|
Summary: Java interface to APRON
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n japron
|
||||||
|
Java interface to the APRON library.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0
|
%patch0
|
||||||
%patch1
|
%patch1
|
||||||
%patch2
|
|
||||||
%patch3
|
|
||||||
%patch4
|
|
||||||
|
|
||||||
# Set the configuration values
|
# Fix library path for 64-bit installs
|
||||||
sed -e "s|^# HAS_CPP.*|HAS_CPP = 1|" \
|
if [ "%{_libdir}" = "/usr/lib64" ]; then
|
||||||
-e "s|^# HAS_PPL.*|HAS_PPL = 1|" \
|
sed -i 's,\${apron_prefix}/lib,&64,' configure
|
||||||
-e "s|^# HAS_LONG_DOUBLE.*|HAS_LONG_DOUBLE = 1|" \
|
sed -i 's,/lib,&64,' vars.mk
|
||||||
-e "s|^APRON_PREFIX =.*|APRON_PREFIX=%{_prefix}|" \
|
|
||||||
-e "s|^MLGMPIDL_PREFIX =.*|MLGMPIDL_PREFIX=%{_libdir}/ocaml/gmp|" \
|
|
||||||
-e "s|^PPL_PREFIX =.*|PPL_PREFIX=%{_prefix}|" \
|
|
||||||
-e "s|^-fPIC -O3 -DNDEBUG|$RPM_OPT_FLAGS -fsigned-char -fPIC -DNDEBUG -Wl,--as-needed|" \
|
|
||||||
-e "s|^-fPIC -g -O0|$RPM_OPT_FLAGS -fsigned-char -fPIC -Wl,--as-needed|" \
|
|
||||||
-e "s|-std=c99|-std=gnu99 -D_GNU_SOURCE|" \
|
|
||||||
%if !%opt
|
|
||||||
-e "s|^HAS_OCAMLOPT.*|# HAS_OCAMLOPT = 1|" \
|
|
||||||
-e "s|\.opt||" \
|
|
||||||
%endif
|
|
||||||
Makefile.config.model > Makefile.config
|
|
||||||
|
|
||||||
# Fix library paths
|
|
||||||
sed -e "s|\$(CAMLIDL_PREFIX)/lib/ocaml|%{_libdir}/ocaml|g" \
|
|
||||||
-e "s|\$(MLGMPIDL_PREFIX)/include|\$(MLGMPIDL_PREFIX)|g" \
|
|
||||||
-e "s|\$(MLGMPIDL_PREFIX)/lib|\$(MLGMPIDL_PREFIX)|g" \
|
|
||||||
-e "s|-std=c99|-std=gnu99 -D_GNU_SOURCE|" \
|
|
||||||
-i Makefile box/Makefile examples/Makefile mlapronidl/Makefile \
|
|
||||||
newpolka/Makefile octagons/Makefile ppl/Makefile products/Makefile \
|
|
||||||
test/Makefile
|
|
||||||
|
|
||||||
# Remove rpaths
|
|
||||||
for f in `find . -name Makefile`; do
|
|
||||||
sed -r -e 's| ?-L\$\(APRON_PREFIX\)/lib||' \
|
|
||||||
-e 's| ?-L\$\(GMP_PREFIX\)/lib||' \
|
|
||||||
-e 's| ?-L\$\(MPFR_PREFIX\)/lib||' \
|
|
||||||
-e 's| ?-L\$\(PPL_PREFIX\)/lib||' \
|
|
||||||
-i $f
|
|
||||||
done
|
|
||||||
|
|
||||||
# Fix the install location for libraries
|
|
||||||
if [ %{_libdir} = "/usr/lib64" ]; then
|
|
||||||
sed -e "s|\$(APRON_PREFIX)/lib|\$(APRON_PREFIX)/lib64|g" \
|
|
||||||
-e "s|\$(PREFIX)/lib|\$(PREFIX)/lib64|g" \
|
|
||||||
-i apron/Makefile apronxx/Makefile box/Makefile examples/Makefile \
|
|
||||||
itv/Makefile mlapronidl/Makefile newpolka/Makefile octagons/Makefile \
|
|
||||||
ppl/Makefile products/Makefile test/Makefile
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add sonames
|
# Add sonames
|
||||||
sed -i -e "s|-shared|-shared -Wl,-soname=\$@.%{sover}|" apron/Makefile
|
sed "s|(-shared -o \\\$@ \\\$\^ \\\$\(LIBS.*\))|\1 -Wl,-soname=\$@.%{sover}|" \
|
||||||
sed -r -e "s|(-shared -o \\\$@ \\\$\^ \\\$\(LIBS.*\))|\1 -Wl,-soname=\$@.%{sover}|" \
|
-ri apronxx/Makefile
|
||||||
-i apronxx/Makefile box/Makefile newpolka/Makefile octagons/Makefile \
|
sed -i "s|_APRON_DYLIB)|& -Wl,-h,\$@.%{sover}|" apron/Makefile \
|
||||||
ppl/Makefile products/Makefile
|
box/Makefile newpolka/Makefile octagons/Makefile ppl/Makefile \
|
||||||
|
products/Makefile taylor1plus/Makefile
|
||||||
# Fix submakes
|
|
||||||
sed -i "s|make|\$(MAKE)|g" Makefile
|
|
||||||
|
|
||||||
# Fix encodings
|
# Fix encodings
|
||||||
iconv -f iso8859-1 -t utf-8 Changes > Changes.utf8
|
iconv -f iso8859-1 -t utf-8 Changes > Changes.utf8
|
||||||
touch -r Changes Changes.utf8
|
touch -r Changes Changes.utf8
|
||||||
mv -f Changes.utf8 Changes
|
mv -f Changes.utf8 Changes
|
||||||
|
|
||||||
|
# Preserve timestamps
|
||||||
|
sed -i 's/^\([[:blank:]]*cp[[:blank:]]\)/\1-p /' Makefile */Makefile
|
||||||
|
|
||||||
|
# Workaround bz 1305739; remove this once that is fixed
|
||||||
|
sed -i '/latex/i\\tgrep -Frl "operator%" doc/latex | xargs sed -i "s/operator%/operator\\\\\\\\%/g"' apronxx/Makefile
|
||||||
|
|
||||||
%build
|
%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="$RPM_LD_FLAGS" \
|
||||||
|
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
|
# FIXME: Cannot use %%{?_smp_mflags} due to missing Makefile dependencies
|
||||||
make
|
make
|
||||||
|
make doc
|
||||||
|
|
||||||
%install
|
%install
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}
|
# Install the ocaml bits into the buildroot
|
||||||
make install APRON_PREFIX=$RPM_BUILD_ROOT%{_prefix}
|
sed -i 's, install ,&-destdir %{buildroot}%{_libdir}/ocaml -ldconf ignore ,' \
|
||||||
|
Makefile
|
||||||
|
|
||||||
|
# Install
|
||||||
|
mkdir -p %{buildroot}%{_libdir}/ocaml
|
||||||
|
mkdir -p %{buildroot}%{_jnidir}
|
||||||
|
make install INSTALL="install -p" APRON_PREFIX=%{buildroot}%{_prefix} \
|
||||||
|
JAVA_PREFIX=%{buildroot}%{_jnidir}
|
||||||
|
|
||||||
|
# Move the JNI shared objects
|
||||||
|
mv %{buildroot}%{_libdir}/libj*.so %{buildroot}%{_jnidir}
|
||||||
|
|
||||||
# We don't really want the test binaries
|
# We don't really want the test binaries
|
||||||
rm -fr $RPM_BUILD_ROOT%{_bindir}
|
rm -fr %{buildroot}%{_bindir}
|
||||||
|
|
||||||
# Move the header files into a subdirectory
|
# Move the header files into a subdirectory
|
||||||
mkdir $RPM_BUILD_ROOT%{_includedir}/%{name}
|
mkdir %{buildroot}%{_includedir}/%{name}
|
||||||
mv $RPM_BUILD_ROOT%{_includedir}/*.h $RPM_BUILD_ROOT%{_includedir}/apronxx \
|
mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/apronxx \
|
||||||
$RPM_BUILD_ROOT%{_includedir}/oct $RPM_BUILD_ROOT%{_includedir}/%{name}
|
%{buildroot}%{_includedir}/oct %{buildroot}%{_includedir}/%{name}
|
||||||
|
|
||||||
# Most files in _libdir are ocaml files, and so are in the wrong place.
|
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}
|
|
||||||
mv $RPM_BUILD_ROOT%{_libdir}/*.{a,cma,cmi,idl,ml,mli} \
|
|
||||||
%if %opt
|
|
||||||
$RPM_BUILD_ROOT%{_libdir}/*.{cmx,cmxa} \
|
|
||||||
%endif
|
|
||||||
$RPM_BUILD_ROOT%{_libdir}/*_caml.so \
|
|
||||||
$RPM_BUILD_ROOT%{_libdir}/*_caml_debug.so \
|
|
||||||
$RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}
|
|
||||||
|
|
||||||
# Remove extraneous executable bits
|
# Remove extraneous executable bits
|
||||||
chmod a-x $RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}/*.{a,cma,cmi,idl,ml,mli}
|
find %{buildroot}%{_includedir} \( -name \*.h -o -name \*.hh \) \
|
||||||
%if %opt
|
-perm /0111 -execdir chmod a-x {} +
|
||||||
chmod a-x $RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}/*.cmx*
|
|
||||||
%endif
|
|
||||||
find $RPM_BUILD_ROOT%{_includedir} \( -name \*.h -o -name \*.hh \) \
|
|
||||||
-perm /0111 | xargs chmod a-x
|
|
||||||
|
|
||||||
# Make duplicate files be symbolic links instead of copies
|
# Erase the static libraries
|
||||||
for f in ap_ppl apron boxD boxMPFR boxMPQ octD octMPQ polkaGrid polkaMPQ \
|
rm -f %{buildroot}%{_libdir}/*.a
|
||||||
polkaRll; do
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}/dll${f}_caml.so
|
# Erase the debug libraries
|
||||||
ln -s lib${f}_caml.so \
|
rm -f %{buildroot}%{_libdir}/*_debug*
|
||||||
$RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}/dll${f}_caml.so
|
rm -f %{buildroot}%{_libdir}/ocaml/apron/*_debug*
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}/dll${f}_caml_debug.so
|
|
||||||
ln -s lib${f}_caml_debug.so \
|
|
||||||
$RPM_BUILD_ROOT%{_libdir}/ocaml/%{name}/dll${f}_caml_debug.so
|
|
||||||
done
|
|
||||||
|
|
||||||
# Fix up the shared library names
|
# Fix up the shared library names
|
||||||
cd $RPM_BUILD_ROOT%{_libdir}
|
pushd %{buildroot}%{_libdir}
|
||||||
for f in lib*.so; do
|
for f in lib*.so; do
|
||||||
mv $f $f.%{version}
|
mv $f $f.%{version}
|
||||||
ln -s $f.%{sover} $f
|
ln -s $f.%{sover} $f
|
||||||
ln -s $f.%{version} $f.%{sover}
|
ln -s $f.%{version} $f.%{sover}
|
||||||
done
|
done
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Don't have two sets of documentation both named html
|
||||||
|
mkdir doc
|
||||||
|
mv apron/html doc/apron
|
||||||
|
mv apronxx/doc/html doc/apronxx
|
||||||
|
|
||||||
|
%check
|
||||||
|
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:%{buildroot}%{_libdir}/ocaml/apron
|
||||||
|
make -C test APRON_INCLUDE=%{buildroot}%{_includedir}/%{name} \
|
||||||
|
APRON_LIB=%{buildroot}%{_libdir}/ocaml/%{name} \
|
||||||
|
CAMLIDL_PREFIX=%{buildroot}%{_libdir}
|
||||||
|
test/ctest1
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
@ -203,40 +201,46 @@ done
|
|||||||
%doc AUTHORS Changes README apron/apron.pdf
|
%doc AUTHORS Changes README apron/apron.pdf
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%{_libdir}/*.so.*
|
%{_libdir}/*.so.*
|
||||||
%exclude %{_libdir}/*_debug.so*
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc apron/html/*
|
%doc doc/apron doc/apronxx
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
%exclude %{_libdir}/*_debug.so
|
%{_includedir}/%{name}/
|
||||||
%{_includedir}/%{name}
|
|
||||||
%exclude %{_includedir}/%{name}/apron_caml.h
|
|
||||||
|
|
||||||
%files -n ocaml-%{name}
|
%files -n ocaml-%{name}
|
||||||
%doc mlapronidl/mlapronidl.pdf
|
%doc mlapronidl/mlapronidl.pdf
|
||||||
%{_libdir}/ocaml/%{name}
|
%dir %{_libdir}/ocaml/%{name}/
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*_debug.so
|
%{_libdir}/ocaml/%{name}/META
|
||||||
%if %opt
|
%{_libdir}/ocaml/%{name}/*.cma
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*.a
|
%{_libdir}/ocaml/%{name}/*.cmi
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*.cmxa
|
%{_libdir}/ocaml/%{name}/*.cmxs
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*.cmx
|
%{_libdir}/ocaml/%{name}/*.so
|
||||||
%endif
|
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*.ml
|
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*.mli
|
|
||||||
|
|
||||||
%files -n ocaml-%{name}-devel
|
%files -n ocaml-%{name}-devel
|
||||||
%doc mlapronidl/html/*
|
%doc mlapronidl/html/*
|
||||||
%{_includedir}/%{name}/apron_caml.h
|
|
||||||
%if %opt
|
%if %opt
|
||||||
%{_libdir}/ocaml/%{name}/*.a
|
%{_libdir}/ocaml/%{name}/*.a
|
||||||
%exclude %{_libdir}/ocaml/%{name}/*_debug.a
|
|
||||||
%{_libdir}/ocaml/%{name}/*.cmxa
|
%{_libdir}/ocaml/%{name}/*.cmxa
|
||||||
%{_libdir}/ocaml/%{name}/*.cmx
|
%{_libdir}/ocaml/%{name}/*.cmx
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/ocaml/%{name}/*.ml
|
%{_libdir}/ocaml/%{name}/*.h
|
||||||
|
%{_libdir}/ocaml/%{name}/*.idl
|
||||||
%{_libdir}/ocaml/%{name}/*.mli
|
%{_libdir}/ocaml/%{name}/*.mli
|
||||||
|
|
||||||
|
%files -n japron
|
||||||
|
%doc japron/README
|
||||||
|
%license japron/COPYING
|
||||||
|
%{_jnidir}/*.jar
|
||||||
|
%{_jnidir}/*.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 12 2016 Jerry James <loganjerry@gmail.com> - 0.9.10-34.1091.svn20160125
|
||||||
|
- Update to latest subversion commit
|
||||||
|
- Add japron subpackage with the Java interface
|
||||||
|
- Add %%check script
|
||||||
|
- Drop upstreamed -format-security, -mlgmpidl12, -test, and -ppl1 patches
|
||||||
|
- Add -texinfo patch to fix documentation build failure
|
||||||
|
|
||||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-33
|
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.10-33
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user