[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