From 77b21ceee59da541a4ad1b8b1b49abaa4c16427a Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Sun, 26 Oct 2025 00:06:26 -0700 Subject: [PATCH] ponyc: 0.59.0 -> 0.60.3 Enabling parallel building and checking takes the compile time down by 7 minutes on my 24 core EPYC 4. --- pkgs/by-name/po/ponyc/package.nix | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/po/ponyc/package.nix b/pkgs/by-name/po/ponyc/package.nix index f8595316d4e3..2068b56ed7da 100644 --- a/pkgs/by-name/po/ponyc/package.nix +++ b/pkgs/by-name/po/ponyc/package.nix @@ -1,5 +1,6 @@ { lib, + nix-update-script, stdenv, fetchFromGitHub, apple-sdk_13, @@ -24,13 +25,13 @@ stdenv.mkDerivation rec { pname = "ponyc"; - version = "0.59.0"; + version = "0.60.3"; src = fetchFromGitHub { owner = "ponylang"; repo = "ponyc"; tag = version; - hash = "sha256-4gDv8UWTk0RWVNC4PU70YKSK9fIMbWBsQbHboVls2BA="; + hash = "sha256-VlmIy2i7BZ8jK96KVnTzdjyXWTyOuWE5M3yNp7gcVCA="; fetchSubmodules = true; }; @@ -42,12 +43,12 @@ stdenv.mkDerivation rec { hash = "sha256-5xDg1duixLoWIuy59WT0r5ZBAvTR6RPP7YrhBYkMxc8="; }; - googletestRev = "1.15.2"; + googletestRev = "1.17.0"; googletest = fetchFromGitHub { owner = "google"; repo = "googletest"; rev = "v${googletestRev}"; - hash = "sha256-1OJ2SeSscRBNr7zZ/a8bJGIqAnhkg45re0j3DtPfcXM="; + hash = "sha256-HIHMxAUR4bjmFLoltJeIAVSulVQ6kVuIT2Ku+lwAx/4="; }; nativeBuildInputs = [ @@ -99,7 +100,7 @@ stdenv.mkDerivation rec { # Replace downloads with local copies. substituteInPlace lib/CMakeLists.txt \ --replace-fail "https://github.com/google/benchmark/archive/v$benchmarkRev.tar.gz" "$NIX_BUILD_TOP/deps/benchmark-$benchmarkRev.tar" \ - --replace-fail "https://github.com/google/googletest/archive/refs/tags/v$googletestRev.tar.gz" "$NIX_BUILD_TOP/deps/googletest-$googletestRev.tar" + --replace-fail "https://github.com/google/googletest/releases/download/v$googletestRev/googletest-$googletestRev.tar.gz" "$NIX_BUILD_TOP/deps/googletest-$googletestRev.tar" ''; preBuild = '' @@ -115,6 +116,8 @@ stdenv.mkDerivation rec { make configure "''${extraFlags[@]}" ''; + enableParallelBuilding = true; + makeFlags = [ "PONYC_VERSION=${version}" "prefix=${placeholder "out"}" @@ -128,6 +131,8 @@ stdenv.mkDerivation rec { doCheck = true; + enableParallelChecking = true; + nativeCheckInputs = [ procps ]; installPhase = '' @@ -156,7 +161,10 @@ stdenv.mkDerivation rec { # Stripping breaks linking for ponyc dontStrip = true; - passthru.tests.pony-corral = pony-corral; + passthru = { + tests.pony-corral = pony-corral; + updateScript = nix-update-script { }; + }; meta = with lib; { description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language";