biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / science / logic / cadical / default.nix
blob8e5408d12f490daa9ee657d8d93abb5358d8f93e
1 { lib, stdenv, fetchFromGitHub, copyPkgconfigItems, makePkgconfigItem }:
3 stdenv.mkDerivation rec {
4   pname = "cadical";
5   version = "2.1.0";
7   src = fetchFromGitHub {
8     owner = "arminbiere";
9     repo = "cadical";
10     rev = "rel-${version}";
11     sha256 = "sha256-sSvJgHxsRaJ/xHEK32fox0MFI7u+pj5ERLfNn2s8kC8=";
12   };
14   outputs = [ "out" "dev" "lib" ];
15   doCheck = true;
17   nativeBuildInputs = [ copyPkgconfigItems ];
19   pkgconfigItems = [
20     (makePkgconfigItem {
21       name = "cadical";
22       inherit version;
23       cflags = [ "-I\${includedir}" ];
24       libs = [ "-L\${libdir}" "-lcadical" ];
25       variables = {
26         includedir = "@includedir@";
27         libdir = "@libdir@";
28       };
29       inherit (meta) description;
30     })
31   ];
33   env = {
34     # copyPkgconfigItems will substitute these in the pkg-config file
35     includedir = "${placeholder "dev"}/include";
36     libdir = "${placeholder "lib"}/lib";
37   };
39   enableParallelBuilding = true;
41   # fix static build
42   postPatch = ''
43     substituteInPlace makefile.in --replace-fail "ar rc" '$(AR) rc'
44   '';
46   # the configure script is not generated by autotools and does not accept the
47   # arguments that the default configurePhase passes like --prefix and --libdir
48   configurePhase = ''
49     runHook preConfigure
51     ./configure
53     runHook postConfigure
54   '';
56   installPhase = ''
57     runHook preInstall
59     install -Dm0755 build/cadical "$out/bin/cadical"
60     install -Dm0755 build/mobical "$out/bin/mobical"
61     install -Dm0644 src/ccadical.h "$dev/include/ccadical.h"
62     install -Dm0644 src/cadical.hpp "$dev/include/cadical.hpp"
63     install -Dm0644 build/libcadical.a "$lib/lib/libcadical.a"
64     mkdir -p "$out/share/doc/${pname}/"
65     install -Dm0755 {LICEN?E,README*,VERSION} "$out/share/doc/${pname}/"
67     runHook postInstall
68   '';
70   meta = with lib; {
71     description = "Simplified Satisfiability Solver";
72     maintainers = with maintainers; [ shnarazk ];
73     platforms = platforms.unix;
74     license = licenses.mit;
75     homepage = "https://fmv.jku.at/cadical/";
76   };