Unverified Commit b1044bdc authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #258184 from mdarocha/dotnet-fixes

buildDotnetModule small improvements
parents 731d094b d016404c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -138,7 +138,9 @@ in buildDotnetModule rec {
  src = ./.;

  projectFile = "src/project.sln";
  nugetDeps = ./deps.nix; # File generated with `nix-build -A package.passthru.fetch-deps`.
  # File generated with `nix-build -A package.passthru.fetch-deps`.
  # To run fetch-deps when this file does not yet exist, set nugetDeps to null
  nugetDeps = ./deps.nix;

  projectReferences = [ referencedProject ]; # `referencedProject` must contain `nupkg` in the folder structure.

+17 −1
Original line number Diff line number Diff line
@@ -158,6 +158,22 @@ stdenvNoCC.mkDerivation (args // {
    dotnet-sdk
  ];

  # Parse the version attr into a format acceptable for the Version msbuild property
  # The actual version attr is saved in InformationalVersion, which accepts an arbitrary string
  versionForDotnet = if !(lib.hasAttr "version" args) || args.version == null
  then null else let
    components = lib.pipe args.version [
      lib.splitVersion
      (lib.filter (x: (lib.strings.match "[0-9]+" x) != null))
      (lib.filter (x: (lib.toInt x) < 65535)) # one version component in dotnet has to fit in 16 bits
    ];
  in if (lib.length components) == 0
  then null
  else lib.concatStringsSep "." ((lib.take 4 components)
    ++ (if (lib.length components) < 4
       then lib.replicate (4 - (lib.length components)) "0"
       else [ ]));

  makeWrapperArgs = args.makeWrapperArgs or [ ] ++ [
    "--prefix LD_LIBRARY_PATH : ${dotnet-sdk.icu}/lib"
  ];
@@ -172,7 +188,7 @@ stdenvNoCC.mkDerivation (args // {

  passthru = {
    inherit nuget-source;
  } // lib.optionalAttrs (nugetDepsFile != null) {
  } // lib.optionalAttrs (!lib.isDerivation nugetDeps) {
    fetch-deps =
      let
        flags = dotnetFlags ++ dotnetRestoreFlags;
+7 −2
Original line number Diff line number Diff line
@@ -24,8 +24,13 @@ dotnetBuildHook() {
        dotnetBuildFlags+=("-p:UseAppHost=true")
    fi

    local versionFlags=()
    if [ "${version-}" ]; then
        local -r versionFlag="-p:Version=${version-}"
        versionFlags+=("-p:InformationalVersion=${version-}")
    fi

    if [ "${versionForDotnet-}" ]; then
        versionFlags+=("-p:Version=${versionForDotnet-}")
    fi

    dotnetBuild() {
@@ -43,7 +48,7 @@ dotnetBuildHook() {
            -p:Deterministic=true \
            --configuration "@buildType@" \
            --no-restore \
            ${versionFlag-} \
            ${versionFlags[@]} \
            ${runtimeIdFlags[@]} \
            ${dotnetBuildFlags[@]}  \
            ${dotnetFlags[@]}