Adding Otter theorem prover. The development is frozen, but because of that Otter is considered a very reliable prover from soundness point of view.

+49
+47
pkgs/applications/science/logic/otter/default.nix
··· 1 + {stdenv, fetchurl, tcsh, libXaw, libXt, libX11}: 2 + let 3 + s = # Generated upstream information 4 + rec { 5 + version = "3.3f"; 6 + name = "otter"; 7 + url = "http://www.cs.unm.edu/~mccune/otter/otter-${version}.tar.gz"; 8 + sha256 = "16mc1npl7sk9cmqhrf3ghfmvx29inijw76f1b1lsykllaxjqqb1r"; 9 + }; 10 + buildInputs = [ 11 + tcsh libXaw libXt libX11 12 + ]; 13 + in 14 + stdenv.mkDerivation { 15 + inherit (s) name version; 16 + inherit buildInputs; 17 + src = fetchurl { 18 + inherit (s) url sha256; 19 + }; 20 + buildPhase = '' 21 + find . -name Makefile | xargs sed -i -e "s@/bin/rm@$(type -P rm)@g" 22 + find . -name Makefile | xargs sed -i -e "s@/bin/mv@$(type -P mv)@g" 23 + find . -perm +111 -type f | xargs sed -i -e "s@/bin/csh@$(type -P csh)@g" 24 + find . -perm +111 -type f | xargs sed -i -e "s@/bin/rm@$(type -P rm)@g" 25 + find . -perm +111 -type f | xargs sed -i -e "s@/bin/mv@$(type -P mv)@g" 26 + 27 + sed -i -e "s/^XLIBS *=.*/XLIBS=-lXaw -lXt -lX11/" source/formed/Makefile 28 + 29 + make all 30 + make -C examples all 31 + make -C examples-mace2 all 32 + make -C source/formed realclean 33 + make -C source/formed formed 34 + ''; 35 + installPhase = '' 36 + mkdir -p "$out"/{bin,share/otter} 37 + cp bin/* source/formed/formed "$out/bin/" 38 + cp -r examples examples-mace2 documents README* Legal Changelog Contents index.html "$out/share/otter/" 39 + ''; 40 + meta = { 41 + inherit (s) version; 42 + description = "A reliable first-order theorem prover"; 43 + license = stdenv.lib.licenses.publicDomain ; 44 + maintainers = [stdenv.lib.maintainers.raskin]; 45 + platforms = stdenv.lib.platforms.linux; 46 + }; 47 + }
+2
pkgs/top-level/all-packages.nix
··· 8882 8882 8883 8883 opensmt = callPackage ../applications/science/logic/opensmt { }; 8884 8884 8885 + otter = callPackage ../applications/science/logic/otter {}; 8886 + 8885 8887 picosat = callPackage ../applications/science/logic/picosat {}; 8886 8888 8887 8889 prover9 = callPackage ../applications/science/logic/prover9 { };