debian/0000755000000000000000000000000012256060713007170 5ustar debian/changelog0000644000000000000000000000373112256060713011046 0ustar hol-light (20131026-1build1) trusty; urgency=medium * Rebuild for ocaml-4.01. -- Matthias Klose Mon, 23 Dec 2013 16:16:11 +0000 hol-light (20131026-1) unstable; urgency=low * new upstream version revision 177 from 2013-10-26 * use new pa_j and adjust camlp5 dependencies * delete executable bit of RichterHilbertAxiomGeometry/Topology.ml during installation -- Hendrik Tews Sun, 10 Nov 2013 20:37:21 +0100 hol-light (20130811-1) unstable; urgency=low * new upstream version revision 170 from 2013-08-11 * fix vcs fields * refresh patches * delete include-compiler-libs patch (applied upstream) * update elc file path in hol-light-source.exclude * update copyright -- Hendrik Tews Wed, 14 Aug 2013 22:45:11 +0200 hol-light (20130511-1) unstable; urgency=low * new upstream version revision 162 from 2013-05-11 * fix typo in package description (Closes: #680494) * set prioity to extra * omit new elc file from package * adapt copyright info * add new patch include-compiler-libs for OCaml 4 compatibility * bump to standards version 3.9.4 * improve debian readme -- Hendrik Tews Fri, 17 May 2013 13:54:42 +0200 hol-light (20120602-1) unstable; urgency=low * new upstream version revision 146 from 2012-06-02 * remove holtest-dependency-hint patch * refresh remaining patches -- Hendrik Tews Sun, 10 Jun 2012 21:59:35 +0200 hol-light (20120530-1) unstable; urgency=low * new upstream version revision 141 from 2012-05-30 * remove patches that have been applied upstream: adapt-holtest-for-debian and pa-j-makefile-fix * adapt debian/copyright * simplify debian/rules * add patch holtest-dependency-hint -- Hendrik Tews Thu, 31 May 2012 10:12:15 +0200 hol-light (20120423-1) unstable; urgency=low * Initial release (Closes: #663754) -- Hendrik Tews Tue, 24 Apr 2012 20:40:39 +0200 debian/hol-light.manpages0000644000000000000000000000002212243507761012573 0ustar debian/hol-light.1debian/menu0000644000000000000000000000017612243507761010070 0ustar ?package(hol-light):needs="text" section="Applications/Science/Mathematics"\ title="HOL Light" command="/usr/bin/hol-light" debian/rules0000755000000000000000000000270612243507762010263 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 # Uncomment this to turn on verbose mode. # export DH_VERBOSE=1 # export DH_OPTIONS=-v # This has to be exported to make some magic below work. export DH_OPTIONS %: dh $@ --with ocaml .PHONY: override_dh_auto_clean override_dh_auto_clean: dh_auto_clean make -C Mizarlight clean .PHONY: override_dh_auto_build override_dh_auto_build: cp pa_j_3.1x_6.11.ml pa_j.ml make make -C Mizarlight INSTDIR:=debian/hol-light .PHONY: override_dh_auto_install override_dh_auto_install: install -d $(INSTDIR)/usr/share/hol-light tar --anchored --exclude-from=debian/hol-light-source.exclude -c . | \ tar -C $(INSTDIR)/usr/share/hol-light -x chmod -x $(INSTDIR)/usr/share/hol-light/RichterHilbertAxiomGeometry/Topology.ml install -d $(INSTDIR)/usr/bin install debian/hol-light.sh $(INSTDIR)/usr/bin/hol-light .PHONY: override_dh_auto_test override_dh_auto_test: debian/test-hol-light .PHONY: override_dh_ocaml override_dh_ocaml: dh_ocaml --runtime-map hol-light debian/hol-light.lintian-overrides0000644000000000000000000000061412243507761014445 0ustar # hol-light should be Architecture: all, because it only contains # sources and architecture independent OCaml files (cmi and cmo). # However, until Bug #549679 is fixed, an arch:all package might be # uninstallable on some architectures. Therefore, for the time being, # hol-light is arch:any although it only installs material in /usr/share. hol-light binary: arch-dep-package-has-big-usr-sharedebian/hol-light.sh0000755000000000000000000000027712243507761011431 0ustar #!/bin/sh #set -xe if [ -f /usr/bin/readline-editor ] ; then readline=/usr/bin/readline-editor else readline= fi exec $readline /usr/bin/ocaml $* -init /usr/share/hol-light/hol.ml debian/README.Debian0000644000000000000000000000570212243507761011242 0ustar HOL Light for Debian ==================== Usage and Documentation ----------------------- On Debian you can use the command hol-light to run HOL Light, see the man page hol-light(1). For information on how to use HOL Light, please visit the HOL Light website at http://www.cl.cam.ac.uk/~jrh13/hol-light/ HOL Light runs inside an OCaml toplevel. On every session start, the logical core and all auxilary theorems are loaded as sources into the OCaml toplevel. On modern hardware this takes about 90 seconds. HOL Light can use several external tools. Prover9, CSDP, PARI/GP and Maxima are available in Debian as packages prover9, coinor-csdp, pari-gp and maxima. The SAT-solver interface of HOL Light requires MiniSat and zChaff. MiniSat can be installed as package minisat, but zChaff has a very restrictive license. If you are eligible you can install it from http://www.princeton.edu/~chaff/zchaff.html . HOL Light can also make use of cddlib (freely available from http://www.ifor.math.ethz.ch/~fukuda/cdd_home/) and of squolem2 (available at http://www.cprover.org/qbv/). Improve startup time with snapshots ----------------------------------- It is possible to save a snapshot of a running HOL Light instance to disk by using a user-level checkpointing tool. In Debian, dmtcp is available. To use it do: 1. install dmtcp: become root and do aptitude install dmtcp 2. run hol-light under control of dmtcp dmtcp_checkpoint hol-light 3. When you reached a state that you want to save, do dmtcp_command --checkpoint in a different terminal. This creates several dmtcp* and ckpt* files in the directory where you started hol-light. 4. To restart your snapshop do ./dmtcp_restart_script.sh Keep in mind that the snapshots of dmtcp contain all needed shared libraries. You should therefore regenerate your snapshots after installing security updates. Hol Light test suite -------------------- The HOL Light test suite is in /usr/share/hol-light/holtest. You should install the packages prover9, coinor-csdp, pari-gp and libocamlgraph-ocaml-dev before running it. The test suite will run for the best part of a day. To check success you have to search for "Error", "Not_found" and "not found" in the output, for example by doing /usr/share/hol-light/holtest 2>&1 | tee holtest.log | egrep -i '###|error|not.found' With this command you can watch all HOL Light messages flying by with "tail -f holtest.log". On Debian the test suite will produce one error "Error: skip Minisat/make.ml...", because the Minisat examples cannot be run without zChaff, which is not available in Debian. Further, there are a number of false positives, because a number of values and exceptions contain "error" in their name. Note that some tests pass successfully even if the functionality is not available. For instance, "QBF/make.ml" is loaded successfully, regardless of whether squolem2 is installed or not. -- Hendrik Tews , Fri, 17 May 2013 13:54:06 +0200 debian/gbp.conf0000644000000000000000000000003612243507761010613 0ustar [DEFAULT] pristine-tar = True debian/control0000644000000000000000000000206212243507762010601 0ustar Source: hol-light Section: math Priority: extra Maintainer: Debian OCaml Maintainers Uploaders: Hendrik Tews Build-Depends: camlp5 (>= 6.0.7), ocaml-base-nox, dh-ocaml (>= 0.9~), debhelper (>= 9.0.0) Standards-Version: 3.9.4 Homepage: http://www.cl.cam.ac.uk/~jrh13/hol-light/ Vcs-Git: git://anonscm.debian.org/pkg-ocaml-maint/packages/hol-light.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ocaml-maint/packages/hol-light.git Package: hol-light Architecture: any Depends: camlp5, ${ocaml:Depends}, ${shlibs:Depends}, ${misc:Depends} Suggests: readline-editor, prover9, coinor-csdp, pari-gp, maxima, dmtcp, libocamlgraph-ocaml-dev Description: HOL Light theorem prover HOL Light is an interactive theorem prover for Higher-Order Logic with a very simple logical core running in an OCaml toplevel. HOL Light is famous for the verification of floating-point arithmetic as well as for the Flyspeck project, which aims at the formalization of Tom Hales' proof of the Kepler conjecture. debian/hol-light.10000644000000000000000000000350412243507761011150 0ustar .\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH HOL-LIGHT 1 "March 16, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME hol-light \- HOL Light interactive theorem prover .SH SYNOPSIS .B hol-light .RI "[options...]" .SH DESCRIPTION The command .B hol-light is a simple wrapper for calling .B ocaml and loading the HOL Light basic definitions (by loading .I /usr/share/hol-light/hol.ml instead of .B .ocamlinit as initialization file). Loading these definitions takes about 2 minutes on modern hardware, please be patient. All options and other arguments are passed as options to .B ocaml\fR. .\"========================================================================== .P If you have a .B readline-editor such as .B rlwrap\fR, \fBledit\fR or \fBrlfe installed, the .B hol-light ocaml toplevel is wrapped in .B readline-editor\fR. Install just one of these readline editors or configure your preferred one via the alternative system. .SH SEE ALSO .BR ocaml "(1), " readline-editor "(1), " rlwrap "(1), " ledit "(1), " rlfe (1) .br HOL Light documentation at .I http://www.cl.cam.ac.uk/~jrh13/hol-light/ .SH AUTHOR The .B hol-light script and this manual page were written by Hendrik Tews , specifically for the Debian project (and may be used by others). debian/copyright0000644000000000000000000002007512243507761011134 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: hol-light Upstream-Contact: John Harrison Source: svn repository at http://hol-light.googlecode.com/svn/trunk Files: * Copyright: 1998 University of Cambridge 1998-2012 John Harrison and others License: BSD-2-clause Files: miz3/* Copyright: 2009-2012 Freek Wiedijk License: BSD-2-clause Comment: There is no license in subdirectory miz3, but miz3/README states that this directory is distributed under the same license terms as HOL Light. Files: Permutation/* Copyright: 2005-2007 Marco Maggesi License: BSD-2-clause Comment: There is no license in subdirectory Permutation, but Permutation/DOC.txt states that this directory is distributed under the same license terms as HOL Light. Files: QBF/* Copyright: 2010-2011 Ondřej Kunčar License: BSD-2-clause Comment: There is no license in subdirectory QBF, but QBF/README states that this directory is distributed under the same license terms as HOL Light. Files: Unity/* Copyright: 1989-2008 by Flemming Andersen License: BSD-2-clause Comment: There is no license in subdirectory Unity, but Unity/README states that this directory is distributed under the same license as HOL Light. Files: RichterHilbertAxiomGeometry/* Copyright: 2012, 2013 by Bill Richter License: BSD-2-clause Comment: There is no license in subdirectory RichterHilbertAxiomGeometry, but RichterHilbertAxiomGeometry/README states that this directory is distributed under the same license as HOL Light. Files: pa_j_3.07.ml pa_j_3.08.ml pa_j_3.09.ml Copyright: 2002-2006 INRIA License: LGPL-2 This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. . You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. . On Debian systems, the full text of the GNU Library General Public License version 2 can be found in the file `/usr/share/common-licenses/LGPL-2'. Comment: These files do not contain a license. They do contain significant portions of original camlp4 code, copied from the indicated OCaml release. Since OCaml 3.07, camlp4 is part of "the Library" and distributed under LGPL-2, therefore also these files fall under LGPL-2. Files: pa_j_3.1* Copyright: 2007-2010 INRIA License: BSD-3-clause Copyright (c) 2007-2012, INRIA (Institut National de Recherches en Informatique et Automatique). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of INRIA, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY INRIA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INRIA AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Comment: These files do not contain a license. They do contain a significant portion of orginial Camlp5 source code, which is distributed under the BSD-3-clause license. Files: Jordan/float.ml Copyright: Thomas C. Hales License: GPL-3 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the full text of the GNU General Public License version 3 can be found in the file `/usr/share/common-licenses/GPL-3'. Files: Minisat/zc2mso/zc2mso.C Copyright: 2003-2005, Niklas Een, Niklas Sorensson License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Files: Ntrie/ntrie.ml Copyright: 2009 Clelia Lomuto and Marco Maggesi License: BSD-2-clause Comment: There is no license in this file, but it states that this it distributed under the same license terms as HOL Light. Files: debian/* Copyright: 2012 Hendrik Tews License: BSD-2-clause License: BSD-2-clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . o Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . o Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. debian/source/0000755000000000000000000000000012243507761010475 5ustar debian/source/format0000644000000000000000000000001412243507761011703 0ustar 3.0 (quilt) debian/watch0000644000000000000000000000046012243507761010226 0ustar # format version number, currently 3; this line is compulsory! version=3 # The upstream version of HOL Light is only available as svn repository # at http://hol-light.googlecode.com/svn/trunk . There are no releases. # # If there is a way to let uscan check svn revision numbers then please # tell me! debian/patches/0000755000000000000000000000000012243507761010624 5ustar debian/patches/series0000644000000000000000000000006612243507761012043 0ustar default-hollight-dir holtest-no-proof-recording.patch debian/patches/holtest-no-proof-recording.patch0000644000000000000000000000101112243507761017027 0ustar Description: don't build the proof-recording version as part of the test suite Author: Hendrik Tews --- a/holtest +++ b/holtest @@ -172,7 +172,7 @@ echo '### Loading 100/wilson.ml'; echo 'loadt "100/wilson.ml";;' | (time $hollight) # Build the proof-recording version of HOL - -echo '### Building proof-recording version'; -cd Proofrecording/hol_light -make clean; make hol +# ... not on Debian +# echo '### Building proof-recording version'; +# cd Proofrecording/hol_light +# make clean; make hol debian/patches/default-hollight-dir0000644000000000000000000000134612243507761014563 0ustar Description: configure default HOL Light source directory Author: Hendrik Tews --- a/hol.ml +++ b/hol.ml @@ -11,10 +11,18 @@ let hol_version = "2.20++";; +let debian_hol_light_dir = "/usr/share/hol-light";; + #directory "+compiler-libs";; let hol_dir = ref - (try Sys.getenv "HOLLIGHT_DIR" with Not_found -> Sys.getcwd());; + (try Sys.getenv "HOLLIGHT_DIR" + with Not_found -> + try + if Sys.is_directory debian_hol_light_dir + then debian_hol_light_dir + else raise (Sys_error "") + with Sys_error _ -> Sys.getcwd());; (* ------------------------------------------------------------------------- *) (* Should eventually change to "ref(Filename.temp_dir_name)". *) debian/hol-light-source.exclude0000644000000000000000000000027512243507761013741 0ustar ./debian ./.git ./.gitignore ./.pc ./CHANGES ./LICENSE ./Makefile ./pa_j*.ml ./QUICK_REFERENCE.txt ./README ./VERYQUICK_REFERENCE.txt ./RichterHilbertAxiomGeometry/miz3/hol-light-fonts.elc debian/compat0000644000000000000000000000000212243507761010373 0ustar 9 debian/docs0000644000000000000000000000006312243507761010047 0ustar QUICK_REFERENCE.txt README VERYQUICK_REFERENCE.txt debian/test-hol-light0000755000000000000000000000130312243507761011764 0ustar #!/bin/bash set -e function hol_light () { /usr/bin/ocaml -init hol.ml } function holtest() { echo "######################## HOL Light test $1 ###################" echo "loadt \"$1\";;" | hol_light 2>&1 | tee /tmp/hol-light-test-log if egrep -i 'error|not.found' /tmp/hol-light-test-log ; then echo echo Error in $1, test failed false fi } holtest Library/agm.ml # holtest Library/binary.ml # holtest Library/binomial.ml # holtest Library/card.ml # The prover9 example fails in a clean build environment, because # prover9 is not installed there. If you want to test whether error # detection works in this script, uncomment the next holtest line. #holtest Examples/prover9.ml