[gap-guava] 04/04: Imported Debian patch 3.13+ds-1
Jerome Benoit
calculus-guest at moszumanska.debian.org
Thu Apr 21 14:25:25 UTC 2016
This is an automated email from the git hooks/post-receive script.
calculus-guest pushed a commit to branch master
in repository gap-guava.
commit fff9a17acca0f9e994a4c9ddf70960f86c07f3a0
Author: Jerome Benoit <calculus at rezozer.net>
Date: Thu Apr 21 14:53:27 2016 +0100
Imported Debian patch 3.13+ds-1
---
debian/changelog | 18 +-
debian/clean | 3 +
debian/control | 12 +-
debian/copyright | 2 +-
debian/gap-guava.docs | 1 +
debian/gap-guava.install | 7 +-
debian/makedoc.g | 9 +-
.../patches/debianization-bug-761052-gapdoc.patch | 18 -
debian/patches/series | 5 +-
.../upstream-configure_machinery-refreshment.patch | 175 -----
.../upstream-doc-bibdata-sanitization.patch | 438 +++++++++++++
debian/patches/upstream-doc-reproducible.patch | 21 -
debian/patches/upstream-fix-warnings.patch | 720 ---------------------
debian/rules | 5 +-
debian/tests/control | 1 +
debian/tests/makecheck.tst | 27 +
16 files changed, 509 insertions(+), 953 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 2a7a6f4..265a68f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,15 +1,27 @@
-gap-guava (3.13+ds-0) UNRELEASED; urgency=medium
+gap-guava (3.13+ds-1) unstable; urgency=medium
+ * New upstream release:
+ - the Debian patches have been integrated, thanks to the upstream
+ maintainer Joe Fields <fieldsj1 at southernct.edu>.
* Debianization:
+ - debian/control:
+ - Depends field, bump to GAP 4r8;
+ - Standards Version, bump to 3.9.7;
+ - Vcs-* fields, secure;
- debian/copyright:
- repack by using the Files-Excluded machinery instead of the ad-hoc
script debian/repack;
- refresh;
- debian/repack, discard (see above);
- debian/watch:
- - revisit (see above).
+ - revisit (see above);
+ - debian/rules:
+ - dpkg-buildflags, add hardening=+all;
+ - debian/tests/control, initiate (CI);
+ - debian/gap-guava.install, update;
+ - debian/patches/upstream-doc-bibdata-sanitization.patch, introduce.
- -- Jerome Benoit <calculus at rezozer.net> Mon, 18 Apr 2016 15:40:30 +0000
+ -- Jerome Benoit <calculus at rezozer.net> Thu, 21 Apr 2016 13:52:12 +0000
gap-guava (3.12+ds1-3) unstable; urgency=medium
diff --git a/debian/clean b/debian/clean
index 3773dc9..8343ba1 100644
--- a/debian/clean
+++ b/debian/clean
@@ -22,3 +22,6 @@ doc/ragged.css
doc/rainbow.js
doc/times.css
doc/toggless.{css,js}
+doc/guava_bib.xml.bib
+doc/guava_bib.xml
+doc/mathjax
diff --git a/debian/control b/debian/control
index 239ef28..485826a 100644
--- a/debian/control
+++ b/debian/control
@@ -5,17 +5,17 @@ Maintainer: Debian Science Maintainers <debian-science-maintainers at lists.alioth.
Uploaders: Jerome Benoit <calculus at rezozer.net>
Build-Depends:
debhelper (>= 9), autoconf, automake,
- gap (>=4r7p5), gap-dev (>=4r7p5), gap-gapdoc,
+ gap (>=4r8p3), gap-dev (>=4r8p3), gap-gapdoc (>=1.5.1-2),
texlive-latex-recommended, texlive-fonts-recommended, texlive-latex-extra
-Standards-Version: 3.9.6
+Standards-Version: 3.9.7
Homepage: http://www.gap-system.org/Packages/guava.html
-Vcs-Git: git://anonscm.debian.org/debian-science/packages/gap-guava.git
-Vcs-Browser: http://anonscm.debian.org/cgit/debian-science/packages/gap-guava.git
+Vcs-Git: https://anonscm.debian.org/git/debian-science/packages/gap-guava.git
+Vcs-Browser: https://anonscm.debian.org/cgit/debian-science/packages/gap-guava.git
Package: gap-guava
Provides: gap-pkg-guava
Architecture: all
-Depends: gap-guava-bin (>=${source:Version}), gap (>=4r7p5), ${misc:Depends}
+Depends: gap-guava-bin (>=${source:Version}), gap (>=4r8p3), ${misc:Depends}
Description: coding theory library for GAP
GAP is a system for computational discrete algebra with particular
emphasis on computational group theory, but which has already proved
@@ -26,7 +26,7 @@ Description: coding theory library for GAP
Package: gap-guava-bin
Provides: gap-pkg-guava-bin
Architecture: any
-Depends: ${shlibs:Depends}, gap (>=4r7p5), ${misc:Depends}
+Depends: ${shlibs:Depends}, gap (>=4r8p3), ${misc:Depends}
Description: coding theory library for GAP (arch-dep files)
GAP is a system for computational discrete algebra with particular
emphasis on computational group theory, but which has already proved
diff --git a/debian/copyright b/debian/copyright
index 69f35d2..b669b17 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -42,7 +42,7 @@ Files-Excluded:
Files: *
Copyright: The GUAVA Group
- 2009,2016 Joe Fields
+ 2009,2012,2016 Joe Fields
2007 Robert L. Miller
Tom Boothby
2004 David Joyner
diff --git a/debian/gap-guava.docs b/debian/gap-guava.docs
index 96e2f85..55a672a 100644
--- a/debian/gap-guava.docs
+++ b/debian/gap-guava.docs
@@ -1,3 +1,4 @@
README.guava
+HISTORY.guava
src/ctjhai/README.ctjhai
src/leon/doc/leon_guava_manual.pdf
diff --git a/debian/gap-guava.install b/debian/gap-guava.install
index 0e458bd..6881126 100644
--- a/debian/gap-guava.install
+++ b/debian/gap-guava.install
@@ -1,5 +1,6 @@
-*.g *.tst /usr/share/gap/pkg/guava
-lib /usr/share/gap/pkg/guava
-tbl /usr/share/gap/pkg/guava
+PackageInfo.g init.g read.g usr/share/gap/pkg/guava
+lib usr/share/gap/pkg/guava
+tbl usr/share/gap/pkg/guava
+tst usr/share/gap/pkg/guava
doc/*.txt doc/*.html doc/manual.six doc/manual.pdf usr/share/gap/pkg/guava/doc
doc/manual.css doc/manual.js usr/share/gap/pkg/guava/doc
diff --git a/debian/makedoc.g b/debian/makedoc.g
index c0c7231..58535f2 100644
--- a/debian/makedoc.g
+++ b/debian/makedoc.g
@@ -1,5 +1,12 @@
-# debian/makedoc.g -- GAP script
+## debian/makedoc.g -- GAP script
+## preambule
+bibdata := ParseBibFiles("doc/guava.bib");;
+WriteBibXMLextFile("doc/guava_bib.xml",bibdata);
+Exec("sed -i 's|\\\\url{http:\\([a-zA-Z0-9/\\.~]*\\)}|<URL>http:\\1</URL>|g' doc/guava_bib.xml");
+## amble
SetPackagePath("guava",".");
LoadPackage("guava");;
MakeGAPDocDoc("doc","guava",[],"guava");
CopyHTMLStyleFiles("doc");
+## postamble
+## eos
diff --git a/debian/patches/debianization-bug-761052-gapdoc.patch b/debian/patches/debianization-bug-761052-gapdoc.patch
deleted file mode 100644
index 4f446ea..0000000
--- a/debian/patches/debianization-bug-761052-gapdoc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: debianization -- workaround around gapdoc bug
- Meant to workaround bug #761052: to avoid inhomogeneity among the
- different type of generated documents, the so called Jr part of
- the faulty BibTeX's name (section 18 in btxdoc.pdf) is removed.
-Author: Jerome Benoit <calculus at rezozer.net>
-Last-Update: 2014-09-10
-
---- a/doc/guava.bib
-+++ b/doc/guava.bib
-@@ -215,7 +215,7 @@
- }
-
- @ARTICLE{TSSFC04,
-- author = {R. Tanner and D. Sridhara and A. Sridharan and T. Fuja and D. Costello{, Jr.}},
-+ author = {R. Tanner and D. Sridhara and A. Sridharan and T. Fuja and D. Costello},
- title = {{LDPC} Block and Convolutional Codes Based on Circulant Matrices},
- journal = {IEEE Trans. Inform. Theory},
- volume = {50},
diff --git a/debian/patches/series b/debian/patches/series
index 69fff2a..1192a92 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,2 @@
-upstream-doc-reproducible.patch
-upstream-configure_machinery-refreshment.patch
-upstream-fix-warnings.patch
+upstream-doc-bibdata-sanitization.patch
debianization.patch
-debianization-bug-761052-gapdoc.patch
diff --git a/debian/patches/upstream-configure_machinery-refreshment.patch b/debian/patches/upstream-configure_machinery-refreshment.patch
deleted file mode 100644
index e33cfb1..0000000
--- a/debian/patches/upstream-configure_machinery-refreshment.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-Description: upstream configure machinery refreshment
- Refresh the configure machinery as provided within
- the source tarball; ideally, an autotools machinery
- may be implemented from scratch, and even more.
-Origin: debian
-Author: Jerome Benoit <calculus at rezozer.net>
-Last-Update: 2015-12-28
-
---- a/configure
-+++ b/configure
-@@ -15,29 +15,38 @@
- shift
- done
-
--if [ x"$GAPPATH" = "x" ]; then
-+if [ x"$GAPPATH" = "x" ]; then
- GAPPATH=../..
-- echo "Using ../.. as default GAPPATH"
-+ echo "Using ../.. as default GAPPATH"
- fi
-
- if [ x"$CONFIGNAME" = "x" ]; then
- CONFIGNAME="default64"
- if [ ! -e $GAPPATH/sysinfo.gap-$CONFIGNAME ]; then
- CONFIGNAME="default32"
-- fi
-+ if [ ! -e $GAPPATH/sysinfo.gap-$CONFIGNAME ]; then
-+ CONFIGNAME="UNKNOWN"
-+ fi
-+ fi
- fi
-
--if [ ! -e $GAPPATH/sysinfo.gap-$CONFIGNAME ]; then
-+if [ x"$CONFIGNAME" != "xUNKNOWN" ]; then
-+ CONFIGSUFFIX="-$CONFIGNAME"
-+else
-+ CONFIGSUFFIX=""
-+fi
-+
-+if [ ! -e $GAPPATH/sysinfo.gap$CONFIGSUFFIX ]; then
-+ echo
-+ echo "No file $GAPPATH/sysinfo.gap$CONFIGSUFFIX found."
- echo
-- echo "No file "$GAPPATH"/sysinfo.gap-"$CONFIGNAME" found."
-- echo
- echo "Usage: ./configure [GAPPATH] [CONFIGNAME=confnam]"
- echo " where GAPPATH is a path to your GAP installation"
- echo " and confnam is the name of the GAP configuration to use."
- echo " (The default for GAPPATH is \"../..\" and default confignam"
- echo " is \"default64\" if it exists, otherwise \"default32\".)"
- echo
-- echo Either your GAPPATH is incorrect or the GAP it is pointing to
-+ echo "Either your GAPPATH is incorrect or the GAP it is pointing to"
- echo "is not properly compiled (do \"./configure ; make\" there first)."
- echo
- echo Aborting... No Makefile is generated.
-@@ -45,14 +54,17 @@
- exit 1
- fi
-
--echo "Using config in "$GAPPATH"/sysinfo.gap-"$CONFIGNAME
-+echo "Using config in $GAPPATH/sysinfo.gap$CONFIGSUFFIX"
-
--rm -f Makefile Makefile-$CONFIGNAME
--. $GAPPATH/sysinfo.gap-$CONFIGNAME
--GAParchprot="$GAParch"
--echo GAPPATH=$GAPPATH >Makefile-$CONFIGNAME
--echo CONFIGNAME=$CONFIGNAME >>Makefile-$CONFIGNAME
--cat Makefile.in | sed -e "s/@GAPARCH@/$GAParchprot/g" | sed -e "s/@CONFIGNAME@/$CONFIGNAME/g" >>Makefile-$CONFIGNAME
--ln -s Makefile-$CONFIGNAME Makefile
--echo "Created ./Makefile-"$CONFIGNAME" with link from ./Makefile"
-+rm -f Makefile Makefile$CONFIGSUFFIX
-+. $GAPPATH/sysinfo.gap$CONFIGSUFFIX
-+sed \
-+ -e 's|@GAPPATH@|'$GAPPATH'|g' \
-+ -e 's/@GAPARCH@/'$GAParch'/g' \
-+ Makefile.in > Makefile$CONFIGSUFFIX
-+
-+if [ x"$CONFIGNAME" != "xUNKNOWN" ]; then
-+ ln -s Makefile$CONFIGSUFFIX Makefile
-+ echo "Created ./Makefile$CONFIGSUFFIX with link from ./Makefile"
-+fi
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1,5 +1,6 @@
--CC = gcc
-+GAPPATH=@GAPPATH@
- GAPARCH=@GAPARCH@
-+CC = gcc
- CFLAGS = -O2
- SRCDIR = ./src/leon
- CJSRCDIR= ./src/ctjhai
-@@ -17,15 +18,15 @@
- if test ! -d $(BINDIR); then mkdir -p $(BINDIR); fi
-
- minimum-weight: $(CJSRCDIR)/minimum-weight.o $(CJSRCDIR)/minimum-weight-gf2.o $(CJSRCDIR)/minimum-weight-gf3.o $(CJSRCDIR)/popcount.o
-- $(CC) -o $(CJSRCDIR)/minimum-weight \
-+ $(CC) $(LDFLAGS) -o $(CJSRCDIR)/minimum-weight \
- $(CJSRCDIR)/minimum-weight.o $(CJSRCDIR)/minimum-weight-gf2.o \
- $(CJSRCDIR)/minimum-weight-gf3.o $(CJSRCDIR)/popcount.o -lm
-
- leonconv:
-- cd ./src; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)";
-+ cd ./src; $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)";
-
- desauto:
-- cd $(SRCDIR); ./configure; $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)";
-+ cd $(SRCDIR); autoreconf --install --force || true ; ./configure; $(MAKE) CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)";
-
- minimum-weight.o: $(CJSRCDIR)/minimum-weight.c $(CJSRCDIR)/minimum-weight-gf2.h $(CJSRCDIR)/minimum-weight-gf3.h $(CJSRCDIR)/popcount.h $(CJSRCDIR)/config.h $(CJSRCDIR)/types.h
- $(CC) -c -O3 -Wall -I $(CJSRCDIR) $(CJSRCDIR)/minimum-weight.c
-@@ -47,18 +48,18 @@
- ( cp $(SRCDIR)/wtdist $(BINDIR) )
-
- clean:
-- ( cd $(BINDIR); rm -f *.o )
-- ( cd src && make clean )
-- ( cd $(CJSRCDIR) && rm -f minimum-weight *.o)
-- ( cd $(SRCDIR) && make clean )
-+ -( cd $(BINDIR); rm -f *.o )
-+ -( cd src && make clean )
-+ -( cd $(CJSRCDIR) && rm -f minimum-weight *.o)
-+ -( cd $(SRCDIR) && make clean )
-
- distclean: clean
- ( rm -rf bin )
- ( mkdir bin )
- ( rm -f Makefile Makefile-*)
-- ( cd src && make distclean )
-- ( cd src/leon && make distclean )
-- ( cd doc && rm -f *.aux *.log *.dvi *.ps)
-+ -( cd src && make distclean )
-+ -( cd src/leon && make distclean )
-+ -( cd doc && rm -f *.aux *.log *.dvi *.ps)
-
- # for GAP distribution
- src_dist:
---- a/src/leon/configure.in
-+++ b/src/leon/configure.in
-@@ -1,7 +1,7 @@
- AC_INIT(leon,1.0)
- AC_CONFIG_SRCDIR(src/group.h)
- AM_INIT_AUTOMAKE
--AM_CONFIG_HEADER(src/leon_config.h)
-+AC_CONFIG_HEADERS([src/leon_config.h])
- AC_CHECK_SIZEOF(int)
-
- AC_PROG_INSTALL
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -14,7 +14,7 @@
- cd leon make
-
- leonconv: leonconv.c
-- $(CC) $(CFLAGS) -o leonconv leonconv.c
-+ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o leonconv leonconv.c
-
- $(SUBDIRS):
- $(MAKE) --directory=$@
---- a/src/leon/Makefile.in
-+++ b/src/leon/Makefile.in
-@@ -1,9 +1,9 @@
- COMPILE = gcc
--CFLAGS = -O2
-+CFLAGS += -O2
- SRCDIR = ./src
--COMPOPT = -c -O2
-+COMPOPT = $(CPPFLAGS) $(CFLAGS) -c
- INCLUDES =
--LINKOPT = -v
-+LINKOPT = $(LDFLAGS) -v
- LINKNAME = -o
- OBJ = o
- OBJS = setstab cent inter desauto generate commut cjrndper orblist fndelt compgrp orbdes randobj wtdist
diff --git a/debian/patches/upstream-doc-bibdata-sanitization.patch b/debian/patches/upstream-doc-bibdata-sanitization.patch
new file mode 100644
index 0000000..78afaee
--- /dev/null
+++ b/debian/patches/upstream-doc-bibdata-sanitization.patch
@@ -0,0 +1,438 @@
+Description: upstream documentation: BibTeX data: sanitization
+ Attempt to sanitize the BibTeX metadata file: the composed documentation
+ no more contains weird material (i.e., obscure verbatim LaTeX code); the
+ composed documentation is comparable to the one composed for GAP itself;
+ some metadata has been updated; meant to be submitted to the upstream
+ maintainer.
+Origin: debian
+Forwarded: https://github.com/osj1961/guava/pull/19
+Author: Jerome Benoit <calculus at rezozer.net>
+Last-Update: 2016-04-21
+
+--- a/doc/guava.bib
++++ b/doc/guava.bib
+@@ -9,214 +9,252 @@
+ %Y Copyright (C) 2005, David Joyner
+ %Y Copyright (C) 2011, 2016 Joe Fields
+
++ at STRING{CAMUP = "Cambridge University Press"}
++ at STRING{ELSEVIER = "Elsevier"}
++ at STRING{EURMATHSOC = "European Mathematical Society"}
++ at STRING{NHOLLAND = "North-Holland"}
++ at STRING{SPRINGER = "Springer"}
++
++ at STRING{APPAE = "Appl. Algebra Engrg. Comm. Comput."}
++ at STRING{GRAPC = "Graphs Combin."}
++ at STRING{IEETIT = "IEEE Trans. Inform. Theory"}
++ at STRING{IRETIT = "IRE Trans. Inf. Theor."}
++ at STRING{JSYMC = "J. Symbolic Comput."}
++
++ at STRING{EMSTMATH = "EMS Textbooks in Mathematics"}
++ at STRING{GTM = "Graduate Texts in Mathematics"}
++ at STRING{NHML = "North-Holland Mathematical Library"}
++
+ @article{BM03,
+- author = {L. Bazzi and S. K. Mitter},
+- title = {Some constructions of codes from group actions},
+- journal = {preprint},
+- year = {March 2003 (submitted)},
++ author = {L. Bazzi and S. K. Mitter},
++ title = {Some Randomized Code Constructions From Group Actions},
++ journal = IEETIT,
++ volume = {52},
++ year = {2006},
++ number = {7},
++ pages = {3210–3219},
+ }
+
+ @article{GDT91,
+- author = {E. Gabidulin and A. Davydov and L. Tombak},
+- title = {Linear codes with covering radius 2 and other new covering codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {37},
+- year = {1991},
+- number = {1},
+- pages = {219–224},
+-}
+-
+- at article{Gao03,
+- author = "S. Gao",
+- title = "A new algorithm for decoding Reed-Solomon codes",
+- journal = {Communications, Information and Network Security (V. Bhargava, H. V. Poor, V. Tarokh and S. Yoon, Eds.)},
+- publisher = {Kluwer Academic Publishers},
+- pages = {55–68},
+- year = {2003},
++ author = {E. Gabidulin and A. Davydov and L. Tombak},
++ title = {Linear codes with covering radius 2 and other new covering codes},
++ journal = IEETIT,
++ volume = {37},
++ year = {1991},
++ number = {1},
++ pages = {219–224},
++}
++
++ at incollection{Gao03,
++ author = {S. Gao},
++ title = {A New Algorithm for Decoding {R}eed-{S}olomon Codes},
++ editor = {V. Bhargava and H. V. Poor and V. Tarokh and S. Yoon},
++ booktitle = {Communications, Information and Network Security},
++ publisher = SPRINGER,
++ address = {Boston, MA},
++ pages = {55–68},
++ year = {2003},
+ }
+
+ @book{GG03,
+- author = {J. von zur Gathen and J. Gerhard},
+- title = {Modern computer algebra},
+- year = {2003},
+- publisher = {Cambridge Univ. Press},
++ author = {J. von zur Gathen and J. Gerhard},
++ title = {Modern computer algebra},
++ year = {2003},
++ publisher = CAMUP,
+ }
+
+ @article{GS85,
+- author = {R. Graham and N. Sloane},
+- title = {On the covering radius of codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {31},
+- year = {1985},
+- number = {1},
+- pages = {385–401},
++ author = {R. Graham and N. Sloane},
++ title = {On the Covering Radius of Codes},
++ journal = IEETIT,
++ volume = {31},
++ year = {1985},
++ number = {3},
++ pages = {385–401},
+ }
+
+- at article{Han99,
++ at incollection{Han99,
+ author = {J.~P. Hansen},
+- title = {Toric surfaces and error-correcting codes},
+- journal = {Coding theory, cryptography, and related areas (ed., Bachmann et al)},
+- publisher = {Springer-Verlag},
+- year = {1999},
++ title = {Toric Surfaces and Error-correcting Codes},
++ editor = {J. Buchmann and T. Høholdt and H. Stichtenoth and H. Tapia-Recillas},
++ booktitle = {Coding Theory, Cryptography and Related Areas},
++ publisher = SPRINGER,
++ address = {Berlin Heidelberg},
++ pages = {132–142},
++ year = {2000},
+ }
+
+ @article{He72,
+- author = {H.~J. Helgert},
+- title = {Srivastava codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {18},
+- month = {March},
+- year = {1972},
+- pages = {292–297},
++ author = {H.~J. Helgert},
++ title = {Srivastava Codes},
++ journal = IEETIT,
++ volume = {18},
++ number = {2},
++ month = {March},
++ year = {1972},
++ pages = {292–297},
+ }
+
+ @book{HP03,
+- author = {W.~C. Huffman and V. Pless},
+- title = {Fundamentals of error-correcting codes},
+- publisher = {Cambridge Univ. Press},
+- year = {2003},
++ author = {W.~C. Huffman and V. Pless},
++ title = {Fundamentals of error-correcting codes},
++ publisher = CAMUP,
++ year = {2003},
+ }
+
+ @article{Jo04,
+- author = {D. Joyner},
+- title = {Toric codes over finite fields},
+- journal = {Applicable Algebra in Engineering, Communication and Computing},
+- volume = {15},
+- year = {2004},
+- pages = {63–79},
++ author = {D. Joyner},
++ title = {Toric codes over finite fields},
++ journal = APPAE,
++ volume = {15},
++ number = {1},
++ year = {2004},
++ pages = {63–79},
+ }
+
+ @book{JH04,
+- author = {J. Justesen and T. Hoholdt},
+- title = {A course in error-correcting codes},
+- publisher = {European Mathematical Society},
+- year = {2004},
++ author = {J. Justesen and T. Høholdt},
++ title = {A course in Error-Correcting Codes},
++ series = EMSTMATH,
++ publisher = EURMATHSOC,
++ year = {2004},
+ }
+
+ @article{Leon82,
+- author = {J.~S. Leon},
+- title = {Computing automorphism groups of error-correcting codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {28},
+- month = {May},
+- year = {1982},
+- pages = {496–511},
++ author = {J.~S. Leon},
++ title = {Computing automorphism groups of error-correcting codes},
++ journal = IEETIT,
++ volume = {28},
++ number = {3},
++ month = {May},
++ year = {1982},
++ pages = {496–511},
+ }
+
+ @article{Leon88,
+- author = {J.~S. Leon},
+- title = {A probabilistic algorithm for computing minimum weights of large error-correcting codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {34},
+- month = {September},
+- year = {1988},
+- pages = {1354–1359},
++ author = {J.~S. Leon},
++ title = {A probabilistic algorithm for computing minimum weights of large error-correcting codes},
++ journal = IEETIT,
++ volume = {34},
++ number = {5},
++ month = {September},
++ year = {1988},
++ pages = {1354–1359},
+ }
+
+ @article{Leon91,
+- author = {J.~S. Leon},
+- title = {Permutation group algorithms based on partitions, {I}: theory and algorithms},
+- journal = {J. Symbolic Comput.},
+- volume = {12},
+- year = {1991},
+- pages = {533–583},
++ author = {J.~S. Leon},
++ title = {Permutation group algorithms based on partitions, {I}: Theory and algorithms},
++ journal = JSYMC,
++ volume = {12},
++ number = {4–5},
++ year = {1991},
++ pages = {533–583},
+ }
+
+ @book{MS83,
+- author = {F.~J. MacWilliams and N.~J.~A. Sloane},
+- title = {The theory of error-correcting codes},
+- publisher = {Amsterdam: North-Holland},
+- year = {1983},
++ author = {F.~J. MacWilliams and N.~J.~A. Sloane},
++ title = {The theory of error-correcting codes},
++ series = NHML,
++ volume = {16},
++ publisher = NHOLLAND,
++ address = {Amsterdam},
++ year = {1983},
+ }
+
+ @book{St93,
+- author = {H. Stichtenoth},
+- title = {Algebraic function fields and codes},
+- publisher = {Springer-Verlag},
+- year = 1993,
++ author = {H. Stichtenoth},
++ title = {Algebraic Function Fields and Codes},
++ series = GTM,
++ volume = {254},
++ publisher = SPRINGER,
++ year = {1993},
+ }
+
+ @misc{Br,
+- author = {A.~E. Brouwer},
+- title = {Bounds on the minimum distance of linear codes},
+- howpublished = {\href{http://www.win.tue.nl/~aeb/voorlincod.html}{http://www.win.tue.nl/~aeb/voorlincod.html}},
+- year = {1997-2006},
++ author = {A.~E. Brouwer},
++ title = {Bounds on the minimum distance of linear codes},
++ howpublished = {\url{http://www.codetables.de/}},
++ year = {1997–2006},
+ }
+
+ @article{HHKK07,
+- author = {M. Harada and W. Holzmann and H. Kharaghani and M. Khorvash},
+- title = {Extremal Ternary Self-Dual Codes Constructed from Negacirculant Matrices},
+- journal = {Graphs and Combinatorics},
+- volume = {23},
+- number = {4},
+- year = {2007},
+- pages = {401–417},
++ author = {M. Harada and W. Holzmann and H. Kharaghani and M. Khorvash},
++ title = {Extremal Ternary Self-Dual Codes Constructed from Negacirculant Matrices},
++ journal = GRAPC,
++ volume = {23},
++ number = {4},
++ year = {2007},
++ pages = {401–417},
+ }
+
+ @article{Sloane72,
+- author = {N. Sloane and S. Reddy and C. Chen},
+- title = {New binary codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {18},
+- month = {Jul},
+- year = {1972},
+- pages = {503–510},
++ author = {N. Sloane and S. Reddy and C. Chen},
++ title = {New binary codes},
++ journal = IEETIT,
++ volume = {18},
++ number = {4},
++ month = {July},
++ year = {1972},
++ pages = {503–510},
+ }
+
+ @article{Alltop84,
+- author = {W.~O. Alltop},
+- title = {A method for extending binary linear codes},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {30},
+- year = {1984},
+- pages = {871–872},
+-}
+-
+- at INCOLLECTION{Brouwer98,
+- author = {A.~E. Brouwer},
+- title = {Bounds on the Size of Linear Codes},
+- booktitle = {Handbook of Coding Theory},
+- publisher = {{Elsevier, North Holland}},
+- year = {1998},
+- pages = {295–461},
+- editor = {V.~S. Pless and W.~C. Huffman},
++ author = {W.~O. Alltop},
++ title = {A method for extending binary linear codes},
++ journal = IEETIT,
++ volume = {30},
++ number = {6},
++ year = {1984},
++ pages = {871–872},
++}
++
++ at incollection{Brouwer98,
++ author = {A.~E. Brouwer},
++ title = {Bounds on the Size of Linear Codes},
++ editor = {V.~S. Pless and W.~C. Huffman},
++ booktitle = {Handbook of Coding Theory},
++ publisher = ELSEVIER,
++ address = {Amsterdam},
++ year = {1998},
++ pages = {295-461},
+ }
+
+ @PHDTHESIS{Chen69,
+- author = {C.~L. Chen},
+- title = {Some Results on Algebraically Structured Error-Correcting Codes},
+- school = {{University of Hawaii}},
+- type = {Ph.{D} Dissertation},
+- address = {USA},
+- year = {1969},
++ author = {C.~L. Chen},
++ title = {Some Results on Algebraically Structured Error-Correcting Codes},
++ school = {University of Hawaii},
++ type = {Doctoral Dissertation},
++ address = {Honolulu, USA},
++ year = {1969},
+ }
+
+ @TECHREPORT{Zimmermann96,
+- author = {K.~H. Zimmermann},
+- title = {Integral Hecke Modules, Integral Generalized {Reed-Muller} Codes, and Linear Codes},
+- institution = {Technische Universität Hamburg-Harburg},
+- address = {Hamburg, Germany},
+- year = {1996},
+- number = {3–96},
++ author = {K.~H. Zimmermann},
++ title = {Integral {H}ecke Modules, Integral Generalized {R}eed-{M}uller Codes, and Linear Codes},
++ institution = {Technische Universität Hamburg-Harburg},
++ address = {Hamburg, Germany},
++ year = {1996},
++ number = {3–96},
+ }
+
+ @ARTICLE{Gallager.1962,
+- author = {R. Gallager},
+- title = {Low-Density Parity-Check Codes},
+- journal = {IRE Trans. Inform. Theory},
+- year = {1962},
+- month = {Jan},
+- volume = {IT-8},
+- pages = {21–28},
++ author = {R. Gallager},
++ title = {Low-Density Parity-Check Codes},
++ journal = IRETIT,
++ year = {1962},
++ month = {January},
++ volume = {IT-8},
++ pages = {21–28},
+ }
+
+ @ARTICLE{TSSFC04,
+- author = {R. Tanner and D. Sridhara and A. Sridharan and T. Fuja and Costello, Jr., D.},
++ author = {R. Tanner and D. Sridhara and A. Sridharan and T. Fuja and Costello, Jr., D.},
+ title = {{LDPC} Block and Convolutional Codes Based on Circulant Matrices},
+- journal = {IEEE Trans. Inform. Theory},
+- volume = {50},
+- number = {12},
+- pages = {2966–2984},
+- month = {Dec},
+- year = {2004},
++ journal = IEETIT,
++ volume = {50},
++ number = {12},
++ pages = {2966–2984},
++ month = {December},
++ year = {2004},
+ }
+--- a/gapdoc.g
++++ b/gapdoc.g
+@@ -1,12 +1,20 @@
+ ############################################################
+ #
+-# commands to create GUAVA documentation using GAPDoc
++# commands to create GUAVA documentation using GAPDoc
+ #
+ ###########################################################
+
+
+ path := Directory("/usr/local/lib/gap4r7/pkg/guava-3.13/doc"); ## edit this path if needed
+-main:="guava.xml";
+-files:=[];
+-bookname:="guava";
++
++bibfile := Filename( path , "guava.bib");
++bibxmlfile := Filename( path , "guava_bib.xml");
++
++bibdata := ParseBibFiles( bibfile);;
++WriteBibXMLextFile( bibxmlfile, bibdata);
++Exec(Concatenation( "sed -i 's|\\\\url{http:\\([a-zA-Z0-9/\\.~]*\\)}|<URL>http:\\1</URL>|g' ", bibxmlfile));
++
++main := "guava.xml";
++files := [];
++bookname := "guava";
+ MakeGAPDocDoc( path, main, files, bookname);
diff --git a/debian/patches/upstream-doc-reproducible.patch b/debian/patches/upstream-doc-reproducible.patch
deleted file mode 100644
index 062dfc0..0000000
--- a/debian/patches/upstream-doc-reproducible.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Description: upstream documentation: reproducible build
- Attempt to render reproducible TeX documentation;
- meant to be submitted to the upstream maintainer.
-Origin: debian
-Author: Jerome Benoit <calculus at rezozer.net>
-Last-Update: 2015-12-28
-
---- a/src/leon/doc/manual.tex
-+++ b/src/leon/doc/manual.tex
-@@ -64,9 +64,9 @@
- \parindent=0pt
- \raggedbottom
-
--% Make headline containing date
-+% Make headline containing the date of the license agreement (see COPYING.guava)
- \def\makeheadline{\vbox to 0pt{\vskip-45pt
-- \line{\vbox to 8.5pt{}\hskip-40pt\fiverm{\number\month}/{\number\day}/92\hfil}\vss}
-+ \line{\vbox to 8.5pt{}\hskip-40pt\fiverm{04}/{17}/{2007}\hfil}\vss}
- \nointerlineskip}
- %
- \def\makeactive#1{\catcode`#1 = \active \ignorespaces}%
diff --git a/debian/patches/upstream-fix-warnings.patch b/debian/patches/upstream-fix-warnings.patch
deleted file mode 100644
index 1c8df32..0000000
--- a/debian/patches/upstream-fix-warnings.patch
+++ /dev/null
@@ -1,720 +0,0 @@
-Description: fixes for upstream source warnings
- Fix warnings emitted by gcc when the package builds;
- meant to be submitted to the upstream maintainer.
-Origin: debian
-Author: Jerome Benoit <calculus at rezozer.net>
-Last-Update: 2015-12-28
-
---- a/src/leonconv.c
-+++ b/src/leonconv.c
-@@ -1,7 +1,5 @@
--#include <stdio.h>
--#if !defined(__APPLE__)
--#include <malloc.h>
--#endif
-+#include <stdlib.h>
-+#include <stdio.h>
-
- FILE *in, *out;
-
-@@ -10,7 +8,7 @@
- void EquivalentToGuave(char *inputfile, char *outputfile);
- void WeightToGuave(char *inputfile, char *outputfile);
-
--main(int argc, char *argv[])
-+int main(int argc, char *argv[])
- {
- char *sw, *inputfile, *outputfile;
-
-@@ -75,7 +73,7 @@
- res = fscanf(in, "%c", &bit);
- }
- fprintf(out, ");\n");
-- close(in);
-+ fclose(in);
- in = fopen(inputfile, "r");
- res = ReadUntil(in, '\n', 3);
- res = ReadUntil(in, ':', 1);
-@@ -86,7 +84,7 @@
- res = fscanf(in, "%c", &bit);
- }
- fprintf(out, ");\n");
-- close(in); close(out);
-+ fclose(in); fclose(out);
- }
-
- void ConstWeightToGuave(char *inputfile, char *outputfile) {
-@@ -110,7 +108,7 @@
- else fprintf(out, "]");
- }
- fprintf(out, "];\n");
-- close(in); close(out);
-+ fclose(in); fclose(out);
- }
-
- void EquivalentToGuave(char *inputfile, char *outputfile) {
-@@ -155,8 +153,8 @@
- }
- }
- fprintf(out, "\n");
-- if (!noteq) close(in);
-- close(out);
-+ if (!noteq) fclose(in);
-+ fclose(out);
- }
-
- void WeightToGuave(char *inputfile, char *outputfile) {
---- a/src/leon/src/errmesg.h
-+++ b/src/leon/src/errmesg.h
-@@ -2,33 +2,33 @@
- #define ERRMESG
-
- extern BOOLEAN isValidName(
-- char *name) /* The name to be checked for validity. */
-+ const char *name) /* The name to be checked for validity. */
- ;
-
- extern void errorMessage(
-- char *file, /* The file in which the error occured. */
-+ const char *file, /* The file in which the error occured. */
- int line, /* The line before which the error occured. */
-- char *function, /* The function in which the error occured. */
-- char *message) /* The message to be printed. It will be
-+ const char *function, /* The function in which the error occured. */
-+ const char *message) /* The message to be printed. It will be
- prefixed by "Error: ". */
- ;
-
- extern void errorMessage1i(
-- char *file, /* The file in which the error occured. */
-+ const char *file, /* The file in which the error occured. */
- int line, /* The line before which the error occured. */
-- char *function, /* The function in which the error occured. */
-- char *message1, /* The first part of the error message. */
-+ const char *function, /* The function in which the error occured. */
-+ const char *message1, /* The first part of the error message. */
- Unsigned intParm, /* The integer variable part of the message. */
-- char *message2) /* The second part of the error message. */
-+ const char *message2) /* The second part of the error message. */
- ;
-
- extern void errorMessage1s(
-- char *file, /* The file in which the error occured. */
-+ const char *file, /* The file in which the error occured. */
- int line, /* The line before which the error occured. */
-- char *function, /* The function in which the error occured. */
-- char *message1, /* The first part of the error message. */
-- char *strParm, /* The integer variable part of the message. */
-- char *message2) /* The second part of the error message. */
-+ const char *function, /* The function in which the error occured. */
-+ const char *message1, /* The first part of the error message. */
-+ const char *strParm, /* The integer variable part of the message. */
-+ const char *message2) /* The second part of the error message. */
- ;
-
- #endif
---- a/src/leon/src/errmesg.c
-+++ b/src/leon/src/errmesg.c
-@@ -14,7 +14,7 @@
- /*-------------------------- isValidName ----------------------------------*/
-
- BOOLEAN isValidName(
-- char *name) /* The name to be checked for validity. */
-+ const char *name) /* The name to be checked for validity. */
- {
- Unsigned i;
-
-@@ -32,10 +32,10 @@
- /*-------------------------- errorMessage ---------------------------------*/
-
- void errorMessage(
-- char *file, /* The file in which the error occured. */
-+ const char *file, /* The file in which the error occured. */
- int line, /* The line before which the error occured. */
-- char *function, /* The function in which the error occured. */
-- char *message) /* The message to be printed. It will be
-+ const char *function, /* The function in which the error occured. */
-+ const char *message) /* The message to be printed. It will be
- prefixed by "Error: ". */
- {
- printf( "\n\n Error: %s\n"
-@@ -48,12 +48,12 @@
- /*-------------------------- errorMessage1i -------------------------------*/
-
- void errorMessage1i(
-- char *file, /* The file in which the error occured. */
-+ const char *file, /* The file in which the error occured. */
- int line, /* The line before which the error occured. */
-- char *function, /* The function in which the error occured. */
-- char *message1, /* The first part of the error message. */
-+ const char *function, /* The function in which the error occured. */
-+ const char *message1, /* The first part of the error message. */
- Unsigned intParm, /* The integer variable part of the message. */
-- char *message2) /* The second part of the error message. */
-+ const char *message2) /* The second part of the error message. */
- {
- printf( "\n\n Error: %s%u%s\n"
- " Program was executing function %s (line %d in file %s).",
-@@ -65,12 +65,12 @@
- /*-------------------------- errorMessage1s -------------------------------*/
-
- void errorMessage1s(
-- char *file, /* The file in which the error occured. */
-+ const char *file, /* The file in which the error occured. */
- int line, /* The line before which the error occured. */
-- char *function, /* The function in which the error occured. */
-- char *message1, /* The first part of the error message. */
-- char *strParm, /* The integer variable part of the message. */
-- char *message2) /* The second part of the error message. */
-+ const char *function, /* The function in which the error occured. */
-+ const char *message1, /* The first part of the error message. */
-+ const char *strParm, /* The integer variable part of the message. */
-+ const char *message2) /* The second part of the error message. */
- {
- printf( "\n\n Error: %s%s%s\n"
- " Program was executing function %s (line %d in file %s).",
---- a/src/leon/src/cdesauto.c
-+++ b/src/leon/src/cdesauto.c
-@@ -39,28 +39,28 @@
-
-
- static BOOLEAN matrix01AutoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isMatrix01Isomorphism( DD, DD, s, FALSE);
- }
-
-
- static BOOLEAN matrix01IsoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isMatrix01Isomorphism( DD_L, DD_R, s, FALSE);
- }
-
-
- static BOOLEAN codeAutoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isCodeIsomorphism( CC, CC, s);
- }
-
-
- static BOOLEAN codeIsoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isCodeIsomorphism( CC_L, CC_R, s);
- }
-@@ -379,7 +379,7 @@
- else
- ptsNotInLambda = TRUE;
- if ( ptsInLambda && ptsNotInLambda ) {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = cellNo;
- reducingRefn.priority = 1;
- return reducingRefn;
-@@ -598,7 +598,7 @@
- /* If we can split the same cell as before using a different intersection
- count, do so immediately (priority 1). */
- if ( listSize > 0 ) {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = opposingCell;
- reducingRefn.refn.refnParm[1].intParm = 0;
- reducingRefn.refn.refnParm[2].intParm = list[listSize--];
-@@ -644,7 +644,7 @@
- reducingRefn.refn.refnParm[1].intParm = processingCell;
- reducingRefn.refn.refnParm[2].intParm = UpsilonStack->degree + 1;
- rowVsColRefine( family->familyParm, reducingRefn.refn.refnParm,
-- UpsilonStack);
-+ (PartitionStack *const)(UpsilonStack));
-
- /* If no splitting occured of opposing cell via processing cell is
- possible, nonZeroCount will be 1. If this occurs, skip to the next
-@@ -672,7 +672,7 @@
- list[++listSize] = nonZeroPosition[k];
-
- /* Finally return the first entry on the list. */
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = opposingCell;
- reducingRefn.refn.refnParm[1].intParm = processingCell;
- reducingRefn.refn.refnParm[2].intParm = list[listSize--];
---- a/src/leon/src/cmatauto.c
-+++ b/src/leon/src/cmatauto.c
-@@ -41,28 +41,28 @@
- static BOOLEAN informCols;
-
- static BOOLEAN matrix01AutoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isMatrix01Isomorphism( MM, MM, s, checkMonomialProperty);
- }
-
-
- static BOOLEAN matrix01IsoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isMatrix01Isomorphism( MM_L, MM_R, s, checkMonomialProperty);
- }
-
-
- static BOOLEAN codeAutoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isCodeIsomorphism( CC, CC, s);
- }
-
-
- static BOOLEAN codeIsoProperty(
-- Permutation *s )
-+ const Permutation *const s )
- {
- return isCodeIsomorphism( CC_L, CC_R, s);
- }
-@@ -449,7 +449,7 @@
- else
- ptsNotInLambda = TRUE;
- if ( ptsInLambda && ptsNotInLambda ) {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = cellNo;
- reducingRefn.priority = 1;
- return reducingRefn;
-@@ -694,7 +694,7 @@
- /* If we can split the same cell as before using a different weighted
- sum, do so immediately (priority 1). */
- if ( listSize > 0 ) {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = opposingCell;
- reducingRefn.refn.refnParm[1].intParm = 0;
- reducingRefn.refn.refnParm[2].intParm = list[listSize--];
-@@ -740,7 +740,7 @@
- reducingRefn.refn.refnParm[1].intParm = processingCell;
- reducingRefn.refn.refnParm[2].intParm = UNKNOWN;
- dummySplit = gRowVsColRefine( family->familyParm, reducingRefn.refn.refnParm,
-- UpsilonStack);
-+ (PartitionStack *const)(UpsilonStack));
-
- /* If no splitting occured of opposing cell via processing cell is
- possible, nonZeroCount will be 1. If this occurs, skip to the next
-@@ -768,7 +768,7 @@
- list[++listSize] = nonZeroPosition[k];
-
- /* Finally return the first entry on the list. */
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = opposingCell;
- reducingRefn.refn.refnParm[1].intParm = processingCell;
- reducingRefn.refn.refnParm[2].intParm = list[listSize--];
---- a/src/leon/src/randschr.c
-+++ b/src/leon/src/randschr.c
-@@ -150,7 +150,7 @@
-
- static void randomizeGen(
- const Unsigned genListLength, /* The length of the list genList. */
-- const Permutation *const genList[], /* The list of (generating) perms. */
-+ const Permutation *const *genList, /* The list of (generating) perms. */
- const Unsigned count1, /* The minimum word length, as above. */
- const Unsigned count2, /* The maximum word length, as above. */
- Permutation *const randGen) /* The old and new quasi-random elt. */
-@@ -159,7 +159,7 @@
- wordLength = count1 +
- ( (count2 > count1) ? randInteger( 0, count2-count1) : 0);
- for ( i = 1 ; i <= wordLength ; ++i )
-- rightMultiply( randGen, genList[ randInteger(1,genListLength) ]);
-+ rightMultiply( randGen, *(genList + randInteger(1,genListLength)) );
- }
-
-
-@@ -375,7 +375,7 @@
- (trueGroupOrder.noOfFactors == UNKNOWN ||
- !factEqual( G->order, &trueGroupOrder)) ) {
-
-- randomizeGen( noOfOriginalGens, originalGen,
-+ randomizeGen( noOfOriginalGens, (const Permutation *const *)(originalGen),
- rOptions.minWordLengthIncrement,
- rOptions.maxWordLengthIncrement, randGen);
- if ( factorGroupElt( G, randGen, h, &finalLevel) )
---- a/src/leon/src/ccent.c
-+++ b/src/leon/src/ccent.c
-@@ -26,7 +26,7 @@
- /* Forward declarations of functions. */
- static RefinementMapping centRefine;
- static ReducChkFn isCentReducible;
--static void initializeCentRefine( Permutation *e);
-+static void initializeCentRefine( const Permutation *const e);
- static Partition *cycleLengthPartn(
- const Permutation *const e,
- UnsignedS *const cycleLen,
-@@ -158,7 +158,7 @@
-
- /* Centralizer refinement. */
- CCC_e.refine = centRefine;
-- CCC_e.familyParm[0].ptrParm = e;
-+ CCC_e.familyParm[0].ptrParm = (Permutation *)(e);
- refnFamList[refnCount] = &CCC_e;
- reducChkList[refnCount] = isCentReducible;
- specialRefinement[refnCount] = NULL;
-@@ -288,8 +288,8 @@
-
- /* Centralizer refinement. */
- CCC_ef.refine = centRefine;
-- CCC_ef.familyParm_L[0].ptrParm = e;
-- CCC_ef.familyParm_R[0].ptrParm = f;
-+ CCC_ef.familyParm_L[0].ptrParm = (Permutation *)(e);
-+ CCC_ef.familyParm_R[0].ptrParm = (Permutation *)(f);
- refnFamList[refnCount] = &CCC_ef;
- reducChkList[refnCount] = isCentReducible;
- specialRefinement[refnCount] = NULL;
-@@ -411,7 +411,7 @@
- eCyclePartn = NULL;
- if ( centPartnCount > 0 ) {
- ex[centPartnCount+1] = NULL;
-- eCyclePartn = multipleCycleLengthPartn( ex);
-+ eCyclePartn = multipleCycleLengthPartn((const Permutation *const *)(ex));
- }
- else
- eCyclePartn = NULL;
-@@ -457,7 +457,7 @@
-
- static struct {
- Unsigned elementCount;
-- Permutation *element[17];
-+ const Permutation * element[17];
- RefnListEntry **hashTable[17];
- RefnListEntry *refnList[17];
- RefnListEntry *freeListHeader[17];
-@@ -473,7 +473,7 @@
-
- /*-------------------------- initializeCentRefine -------------------------*/
-
--static void initializeCentRefine( Permutation *e)
-+static void initializeCentRefine( const Permutation *const e)
- {
- int i;
-
-@@ -841,7 +841,7 @@
- if ( minPriority == ULONG_MAX )
- reducingRefn.priority = IRREDUCIBLE;
- else {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = minPosition->i;
- reducingRefn.refn.refnParm[1].intParm = minPosition->j;
- reducingRefn.priority = thisPriority;
---- a/src/leon/src/copy.h
-+++ b/src/leon/src/copy.h
-@@ -2,11 +2,11 @@
- #define COPY
-
- extern Permutation *copyOfPermutation(
-- Permutation *oldPerm) /* The permutation to be copied. */
-+ const Permutation *const oldPerm) /* The permutation to be copied. */
- ;
-
- extern PermGroup *copyOfPermGroup(
-- PermGroup *oldGroup) /* The group being copied. */
-+ const PermGroup *const oldGroup) /* The group being copied. */
- ;
-
- #endif
---- a/src/leon/src/copy.c
-+++ b/src/leon/src/copy.c
-@@ -24,7 +24,7 @@
- word field is not supported. */
-
- Permutation *copyOfPermutation(
-- Permutation *oldPerm) /* The permutation to be copied. */
-+ const Permutation *const oldPerm) /* The permutation to be copied. */
- {
- Unsigned pt;
- Permutation *newPerm = allocPermutation();
-@@ -64,7 +64,7 @@
- of the generators of the old group is modified. */
-
- PermGroup *copyOfPermGroup(
-- PermGroup *oldGroup) /* The group being copied. */
-+ const PermGroup *const oldGroup) /* The group being copied. */
- {
- Unsigned i, level, pt;
- Permutation *oldGen, *newGen, *previousGen, *temp;
---- a/src/leon/src/randgrp.c
-+++ b/src/leon/src/randgrp.c
-@@ -65,7 +65,7 @@
- stabilizer in the group of a designated number of base points. */
-
- Word *randGroupWord(
-- PermGroup *G,
-+ const PermGroup *const G,
- Unsigned atLevel)
- {
- Word *w = newTrivialWord();
-@@ -93,7 +93,7 @@
- in. */
-
- Permutation *randGroupPerm(
-- PermGroup *G,
-+ const PermGroup *const G,
- Unsigned atLevel)
- {
- Permutation *randPerm = newIdentityPerm( G->degree);
---- a/src/leon/src/randgrp.h
-+++ b/src/leon/src/randgrp.h
-@@ -11,12 +11,12 @@
- ;
-
- extern Word *randGroupWord(
-- PermGroup *G,
-+ const PermGroup *const G,
- Unsigned atLevel)
- ;
-
- extern Permutation *randGroupPerm(
-- PermGroup *G,
-+ const PermGroup *const G,
- Unsigned atLevel)
- ;
-
---- a/src/leon/src/orbrefn.c
-+++ b/src/leon/src/orbrefn.c
-@@ -765,7 +765,7 @@
- if ( minPriority == ULONG_MAX )
- reducingRefn.priority = IRREDUCIBLE;
- else {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = minPosition->i;
- reducingRefn.refn.refnParm[1].intParm = minPosition->j;
- reducingRefn.priority = thisPriority;
---- a/src/leon/src/csetstab.c
-+++ b/src/leon/src/csetstab.c
-@@ -281,7 +281,7 @@
- else
- ptsNotInLambda = TRUE;
- if ( ptsInLambda && ptsNotInLambda ) {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = cellNo;
- reducingRefn.priority = 1;
- return reducingRefn;
---- a/src/leon/src/cparstab.c
-+++ b/src/leon/src/cparstab.c
-@@ -277,7 +277,7 @@
- cellSize[cellNo] ; ++position )
- if ( Lambda->cellNumber[pointList[position]] !=
- Lambda->cellNumber[pointList[position-1]] ) {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = cellNo;
- reducingRefn.refn.refnParm[1].intParm =
- Lambda->cellNumber[pointList[position]];
---- a/src/leon/src/cuprstab.c
-+++ b/src/leon/src/cuprstab.c
-@@ -705,7 +705,7 @@
- if ( minPriority == ULONG_MAX )
- reducingRefn.priority = IRREDUCIBLE;
- else {
-- reducingRefn.refn.family = family;
-+ reducingRefn.refn.family = (RefinementFamily *)(family);
- reducingRefn.refn.refnParm[0].intParm = minPosition->i;
- reducingRefn.refn.refnParm[1].intParm = minPosition->j;
- reducingRefn.priority = thisPriority;
---- a/src/leon/src/relator.c
-+++ b/src/leon/src/relator.c
-@@ -30,7 +30,7 @@
- Unsigned degree);
- BOOLEAN onFreeList(
- Unsigned coset);
--static callCount = 0; /*DEBUG*/
-+/* static callCount = 0; */ /*DEBUG*/
-
-
- /*-------------------------- relatorLevel ---------------------------------*/
-@@ -166,7 +166,7 @@
- for ( i = 1 ; i <= symLength ; ++i ) {
- ++addCount;
- p = allocOccurenceOfGen();
-- p->r = r;
-+ p->r = (Relator *)(r);
- p->relLength = r->length;
- p->level = r->level;
- p->fRelStart = r->fRel + i;
-@@ -187,7 +187,7 @@
- if ( i < r->length && priority >= shiftPriority[j] ) {
- ++addCount;
- p = allocOccurenceOfGen();
-- p->r = r;
-+ p->r = (Relator *)(r);
- p->relLength = r->length;
- p->level = r->level;
- p->fRelStart = r->fRel + i;
-@@ -337,7 +337,7 @@
- Unsigned processCoincidence(
- const PermGroup *const G,
- DeductionQueue *deductionQueue,
-- const Permutation *const genHeader,
-+ Permutation *const genHeader,
- const Unsigned coset1,
- const Unsigned coset2)
- {
-@@ -480,7 +480,7 @@
- DeductionQueue *deductionQueue,
- const Unsigned level,
- const Deduction *const deduc,
-- const Permutation *const genHeader)
-+ Permutation *const genHeader)
- {
- OccurenceOfGen *occurence;
- Unsigned count, fCos, bCos, newEntryCount = 0, degree = G->degree;
-@@ -557,7 +557,7 @@
- const Unsigned level,
- DeductionQueue *deductionQueue,
- const Relator *const newRel,
-- const Permutation *const genHeader)
-+ Permutation *const genHeader)
- {
- Unsigned i, pt, startingPos, count, fCos, bCos, newEntryCount = 0;
- Unsigned **fPtr, **bPtr;
---- a/src/leon/src/stcs.c
-+++ b/src/leon/src/stcs.c
-@@ -717,7 +717,7 @@
- for ( i = 1 , j = sGen.word.length ; i < j ; ++i , --j )
- EXCHANGE( sGen.word.position[i], sGen.word.position[j] , temp);
-
-- sGen.word.position[++sGen.word.length] = gen;
-+ sGen.word.position[++sGen.word.length] = (Permutation *)(gen);
-
- for ( pt = gen->image[point] & NHB ; pt != basePt ;
- pt = schreierVec[pt]->invImage[pt] & NHB )
-@@ -771,7 +771,7 @@
- for ( i = 1 , j = sGen.word.length ; i < j ; ++i , --j )
- EXCHANGE( sGen.word.position[i], sGen.word.position[j] , temp);
-
-- sGen.word.position[++sGen.word.length] = gen;
-+ sGen.word.position[++sGen.word.length] = (Permutation *)(gen);
-
- for ( pt = equivCoset[gen->image[point] & NHB] ; pt != basePt ;
- pt = equivCoset[schreierVec[pt]->invImage[pt] & NHB] )
---- a/src/leon/src/relator.h
-+++ b/src/leon/src/relator.h
-@@ -52,7 +52,7 @@
- extern Unsigned processCoincidence(
- const PermGroup *const G,
- DeductionQueue *deductionQueue,
-- const Permutation *const genHeader,
-+ Permutation *const genHeader,
- const Unsigned coset1,
- const Unsigned coset2)
- ;
-@@ -62,7 +62,7 @@
- DeductionQueue *deductionQueue,
- const Unsigned level,
- const Deduction *const deduc,
-- const Permutation *const genHeader)
-+ Permutation *const genHeader)
- ;
-
- extern Unsigned xTraceNewRelator(
-@@ -70,7 +70,7 @@
- const Unsigned level,
- DeductionQueue *deductionQueue,
- const Relator *const newRel,
-- const Permutation *const genHeader)
-+ Permutation *const genHeader)
- ;
-
- extern void makeDefinition(
---- a/src/leon/src/setstab.c
-+++ b/src/leon/src/setstab.c
-@@ -183,7 +183,7 @@
- PointSet *Lambda, *Xi;
- Partition *PLambda, *PXi;
- BOOLEAN imageFlag = FALSE, imageFormatFlag = FALSE;
-- char ordUnord[] = "Ordered";
-+ char ordUnord[10] = "Ordered\0\0";
- char tempArg[8];
- enum { SET_STAB, SET_IMAGE, PARTN_STAB, PARTN_IMAGE,
- UPARTN_STAB, UPARTN_IMAGE} computationType = SET_STAB;
---- a/src/leon/src/desauto.c
-+++ b/src/leon/src/desauto.c
-@@ -20,7 +20,7 @@
- <design2>: The second of the two designs to be checked for isomorphism.
- <isoPerm>: Set to a permutation mapping <design1> to <design2>, if one
- exists. Not created otherwise. Depending on the options,
-- this will be set to a permutation on points only or on points
-+ this will be set to a permutation on points only or on points
- The name of the file in which the set stabilizer G_Lambda
- and blocks.
-
-@@ -499,7 +499,8 @@
- "Designs have different numbers of points.")
- if ( matrix_L->numberOfCols != matrix_R->numberOfCols ) {
- if ( options.inform ) {
-- printf( "\n\n%s and %s are not isomorphic. ");
-+ printf( "\n\n%s and %s are not isomorphic. ",
-+ matrix_L->name, matrix_R->name);
- printf( "They have %u and %u blocks, respectively.\n\n",
- matrix_L->numberOfCols, matrix_R->numberOfCols);
- }
-@@ -552,7 +553,8 @@
- 0);
- if ( C_L->dimension != C_R->dimension ) {
- if ( options.inform ) {
-- printf( "\n\n%s and %s are not isomorphic. ");
-+ printf( "\n\n%s and %s are not isomorphic. ",
-+ C_L->name, C_R->name);
- printf( "They have dimension %u and %u, respectively.\n\n",
- C_L->dimension, C_R->dimension);
- }
-@@ -560,7 +562,8 @@
- }
- if ( matrix_L->numberOfCols != matrix_R->numberOfCols ) {
- if ( options.inform ) {
-- printf( "\n\n%s and %s are not isomorphic. ");
-+ printf( "\n\n%s and %s are not isomorphic. ",
-+ matrix_L->name, matrix_R->name);
- printf( "The invariant vector sets have different sizes.\n");
- }
- return 1;
---- a/src/leon/src/token.c
-+++ b/src/leon/src/token.c
-@@ -29,7 +29,7 @@
- returned. */
- static BOOLEAN endOfStringReached; /* True if end of string has been reached. */
-
--static recognizeKeywordFlag = TRUE; /* If false, a colon is treated as an
-+static BOOLEAN recognizeKeywordFlag = TRUE; /* If false, a colon is treated as an
- ordinary character. Keywords are not
- recognized. */
-
---- a/src/leon/src/cjrndper.c
-+++ b/src/leon/src/cjrndper.c
-@@ -566,7 +566,7 @@
- {
- Unsigned i, j, k, delta, lambda, temp, m, mu;
- const Unsigned fSize = field->size - 1;
-- const degree = perm->degree;
-+ const Unsigned degree = perm->degree;
-
- for ( i = 1 ; i <= degree ; i += fSize ) {
- j = randInteger( i, (i <= subDegree) ? subDegree : degree);
---- a/src/leon/src/wtdist.c
-+++ b/src/leon/src/wtdist.c
-@@ -710,7 +710,7 @@
- FieldElement *x, *y;
- Unsigned *primeBasisVector;
- const Unsigned fieldExponent = (C->fieldSize == 2) ? 1 : C->field->exponent;
-- const primeDimension = C->dimension * fieldExponent;
-+ const Unsigned primeDimension = C->dimension * fieldExponent;
-
- primeBasisVector = (Unsigned *) malloc( (C->length+1) * sizeof(Unsigned));
- if ( !primeBasisVector )
diff --git a/debian/rules b/debian/rules
index 91fc647..7e54eab 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,5 +1,7 @@
#!/usr/bin/make -f
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
CGAP=/usr/bin/gap
DEB_BUILD_MULTIARCH ?= $(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)
@@ -17,7 +19,8 @@ override_dh_auto_configure:
override_dh_link:
dh_link -p gap-guava \
/usr/lib/gap/pkg/guava/bin /usr/share/gap/pkg/guava/bin \
- /usr/share/gap/pkg/guava/doc /usr/share/doc/gap-guava/doc
+ /usr/share/gap/pkg/guava/doc /usr/share/doc/gap-guava/doc \
+ /usr/share/javascript/mathjax /usr/share/gap/pkg/guava/doc/mathjax
dh_link -p gap-guava-bin \
/usr/lib/$(DEB_BUILD_MULTIARCH)/gap/pkg/guava/bin /usr/lib/gap/pkg/guava/bin/$(DEB_BUILD_GAP_INFO_ARCH)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..c05cca1
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1 @@
+Test-command: echo "QUIT_GAP(Test(\"debian/tests/makecheck.tst\",rec(rewriteToFile:=\"*stdout*\")));" | gap -A -q -T
diff --git a/debian/tests/makecheck.tst b/debian/tests/makecheck.tst
new file mode 100644
index 0000000..63e3a3e
--- /dev/null
+++ b/debian/tests/makecheck.tst
@@ -0,0 +1,27 @@
+## debian/tests/makecheck.tst -- GAP Test script
+## script format: GAP Reference Manual subsection 7.9.2 Test (GAP 4r8)
+##
+## inspired by `AvailabilityTest' in `PackageInfo.g'
+gap> AdHocAvailabilityTest :=
+> function()
+> local path, answer;
+> answer := true;
+> path := DirectoriesPackagePrograms( "guava" );
+> if ForAny( ["desauto", "leonconv", "wtdist"],
+> f -> Filename( path, f ) = fail
+> ) then
+> Print( "#I Cannot found at least one of the C code programs.\n" );
+> answer := false;
+> fi;
+> return answer;
+> end;;
+gap> TestPackageAvailability( "guava" , "=3.13" , true );
+"/usr/share/gap/pkg/guava"
+gap> AdHocAvailabilityTest();
+true
+gap> TestPackage( "guava" );
+#I No errors detected while testing package guava version 3.13
+#I using the test file `/usr/share/gap/pkg/guava/tst/guava.tst'
+
+##
+## eos
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/gap-guava.git
More information about the debian-science-commits
mailing list