Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / minizinc / ide.nix
blobbacd769271e4c1998089cf2ed146b07d17391ca8
1 { lib, mkDerivation, fetchFromGitHub, qtbase, qtwebengine, qtwebkit, qmake, minizinc }:
3 mkDerivation rec {
4   pname = "minizinc-ide";
5   version = "2.5.5";
7   src = fetchFromGitHub {
8     owner = "MiniZinc";
9     repo = "MiniZincIDE";
10     rev = version;
11     sha256 = "sha256-0U3KFRDam8psbCaEOcrwqzICAy1oBgo8SFEiR/PMqZk=";
12     fetchSubmodules = true;
13   };
15   nativeBuildInputs = [ qmake ];
16   buildInputs = [ qtbase qtwebengine qtwebkit ];
18   sourceRoot = "${src.name}/MiniZincIDE";
20   dontWrapQtApps = true;
22   postInstall = ''
23     wrapProgram $out/bin/MiniZincIDE --prefix PATH ":" ${lib.makeBinPath [ minizinc ]}
24   '';
26   meta = with lib; {
27     homepage = "https://www.minizinc.org/";
28     description = "IDE for MiniZinc, a medium-level constraint modelling language";
29     longDescription = ''
30       MiniZinc is a medium-level constraint modelling
31       language. It is high-level enough to express most
32       constraint problems easily, but low-level enough
33       that it can be mapped onto existing solvers easily and consistently.
34       It is a subset of the higher-level language Zinc.
35     '';
36     license = licenses.mpl20;
37     platforms = platforms.linux;
38     maintainers = [ maintainers.dtzWill ];
39   };