1 { lib, stdenv, fetchFromGitHub, callPackage, jq, cmake, flex, bison, gecode, mpfr, cbc, zlib }:
3 stdenv.mkDerivation (finalAttrs: {
7 src = fetchFromGitHub {
10 rev = finalAttrs.version;
11 sha256 = "sha256-/1rMrmwx8oYuiIoaS7YjDOey4jBCTJgzrPv6U0Vid8A=";
14 nativeBuildInputs = [ bison cmake flex jq ];
16 buildInputs = [ gecode mpfr cbc zlib ];
19 mkdir -p $out/share/minizinc/solvers/
21 '.version = "${gecode.version}"
22 | .mznlib = "${gecode}/share/gecode/mznlib"
23 | .executable = "${gecode}/bin/fzn-gecode"' \
25 >$out/share/minizinc/solvers/gecode.msc
29 simple = callPackage ./simple-test { };
33 homepage = "https://www.minizinc.org/";
34 description = "A medium-level constraint modelling language";
36 MiniZinc is a medium-level constraint modelling
37 language. It is high-level enough to express most
38 constraint problems easily, but low-level enough
39 that it can be mapped onto existing solvers easily and consistently.
40 It is a subset of the higher-level language Zinc.
42 license = licenses.mpl20;
43 platforms = platforms.unix;
44 maintainers = [ maintainers.sheenobu ];