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