Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
1.7 kB · 72 lines
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273{ lib, stdenv, fetchurl, gprbuild, which, gnat, xmlada, gnatcoll-core, gnatcoll-iconv, gnatcoll-gmp, enableShared ? !stdenv.hostPlatform.isStatic, # kb database source, if null assume it is pregenerated gpr2kbdir ? null,}:
stdenv.mkDerivation rec { pname = "gpr2"; version = "25.0.0";
src = fetchurl { url = "https://github.com/AdaCore/gpr/releases/download/v${version}/gpr2-with-gprconfig_kb-${lib.versions.majorMinor version}.tgz"; sha512 = "70fe0fcf541f6d3d90a34cab1638bbc0283dcd765c000406e0cfb73bae1817b30ddfe73f3672247a97c6b6bfc41900bc96a4440ca0c660f9c2f7b9d3cc8f8dcf"; };
nativeBuildInputs = [ which gnat gprbuild ];
makeFlags = [ "prefix=$(out)" "PROCESSORS=$(NIX_BUILD_CORES)" "ENABLE_SHARED=${if enableShared then "yes" else "no"}" "GPR2_BUILD=release" ] ++ lib.optionals (gpr2kbdir != null) [ "GPR2KBDIR=${gpr2kbdir}" ];
configurePhase = '' runHook preConfigure make setup "''${makeFlagsArray[@]}" $makeFlags runHook postConfigure '';
# fool make into thinking pregenerated targets are up to date preBuild = lib.optionalString (gpr2kbdir == null) '' touch .build/kb/{*.adb,*.ads,collect_kb} '';
propagatedBuildInputs = [ xmlada gnatcoll-gmp gnatcoll-core gnatcoll-iconv ];
meta = with lib; { description = "Framework for analyzing the GNAT Project (GPR) files"; homepage = "https://github.com/AdaCore/gpr"; license = with licenses; [ asl20 gpl3Only ]; maintainers = with maintainers; [ heijligen ]; platforms = platforms.all; # TODO(@sternenseemann): investigate failure with gnat 13 broken = lib.versionOlder gnat.version "14"; };}