chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / bo / boogie / package.nix
blob75d089c0aab2cd1525065c331a1e4dc0acf40317
1 { lib, buildDotnetModule, fetchFromGitHub, z3 }:
3 buildDotnetModule rec {
4   pname = "Boogie";
5   version = "3.2.4";
7   src = fetchFromGitHub {
8     owner = "boogie-org";
9     repo = "boogie";
10     rev = "v${version}";
11     hash = "sha256-wpMENrhfD8+bt66gd29xkfLANcMbPpkzDacj0KPuXT4=";
12   };
14   projectFile = [ "Source/Boogie.sln" ];
15   nugetDeps = ./deps.nix;
17   # [...]Microsoft.NET.Publish.targets(248,5): error MSB3021: Unable to copy file "[...]/NUnit3.TestAdapter.pdb" to "[...]/NUnit3.TestAdapter.pdb". Access to the path '[...]/NUnit3.TestAdapter.pdb' is denied. [[...]/ExecutionEngineTests.csproj]
18   enableParallelBuilding = false;
20   executables = [ "BoogieDriver" ];
22   makeWrapperArgs = [
23     "--prefix PATH : ${z3}/bin"
24   ];
26   postInstall = ''
27       # so that this derivation can be used as a vim plugin to install syntax highlighting
28       vimdir=$out/share/vim-plugins/boogie
29       install -Dt $vimdir/syntax/ Util/vim/syntax/boogie.vim
30       mkdir $vimdir/ftdetect
31       echo 'au BufRead,BufNewFile *.bpl set filetype=boogie' > $vimdir/ftdetect/bpl.vim
32       mkdir -p $out/share/nvim
33       ln -s $out/share/vim-plugins/boogie $out/share/nvim/site
34   '';
36   postFixup = ''
37       ln -s "$out/bin/BoogieDriver" "$out/bin/boogie"
38       rm -f $out/bin/{Microsoft,NUnit3,System}.* "$out/bin"/*Tests
39   '';
41   doInstallCheck = true;
42   installCheckPhase = ''
43     $out/bin/boogie ${./install-check-file.bpl}
44   '';
46   meta = with lib; {
47     description = "Intermediate verification language";
48     homepage = "https://github.com/boogie-org/boogie";
49     longDescription = ''
50       Boogie is an intermediate verification language (IVL), intended as a
51       layer on which to build program verifiers for other languages.
53       This derivation may be used as a vim plugin to provide syntax highlighting.
54     '';
55     license = licenses.mspl;
56     maintainers = [ maintainers.taktoa ];
57     platforms = with platforms; (linux ++ darwin);
58   };