···11+{ lib, stdenv, fetchFromGitHub
22+, drat-trim, p7zip
33+}:
44+55+stdenv.mkDerivation rec {
66+ pname = "kissat";
77+ version = "2.0.1";
88+99+ src = fetchFromGitHub {
1010+ owner = "arminbiere";
1111+ repo = "kissat";
1212+ # https://github.com/arminbiere/kissat/issues/18
1313+ rev = "abfa45fb782fa3b7c6e2eb6b939febe74d7270b7";
1414+ sha256 = "06pbmkjxgf2idhsrd1yzvbxr2wf8l06pjb38bzbygm6n9ami89b8";
1515+ };
1616+1717+ outputs = [ "out" "dev" "lib" ];
1818+1919+ checkInputs = [ drat-trim p7zip ];
2020+ doCheck = true;
2121+2222+ # 'make test' assumes that /etc/passwd is not writable.
2323+ patches = [ ./writable-passwd-is-ok.patch ];
2424+2525+ # the configure script is not generated by autotools and does not accept the
2626+ # arguments that the default configurePhase passes like --prefix and --libdir
2727+ dontAddPrefix = true;
2828+ setOutputFlags = false;
2929+3030+ installPhase = ''
3131+ runHook preInstall
3232+3333+ install -Dm0755 build/kissat "$out/bin/kissat"
3434+ install -Dm0644 src/kissat.h "$dev/include/kissat.h"
3535+ install -Dm0644 build/libkissat.a "$lib/lib/libkissat.a"
3636+ mkdir -p "$out/share/doc/kissat/"
3737+ install -Dm0644 {LICEN?E,README*,VERSION} "$out/share/doc/kissat/"
3838+3939+ runHook postInstall
4040+ '';
4141+4242+ meta = with lib; {
4343+ description = "A 'keep it simple and clean bare metal SAT solver' written in C";
4444+ longDescription = ''
4545+ Kissat is a "keep it simple and clean bare metal SAT solver" written in C.
4646+ It is a port of CaDiCaL back to C with improved data structures,
4747+ better scheduling of inprocessing and optimized algorithms and implementation.
4848+ '';
4949+ maintainers = with maintainers; [ shnarazk ];
5050+ platforms = platforms.unix;
5151+ license = licenses.mit;
5252+ homepage = "http://fmv.jku.at/kissat";
5353+ };
5454+}