From b69e2e84e06f40b9ead2019e20e6ace673feca01 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Wed, 16 Oct 2024 10:50:33 -0300 Subject: [PATCH 1/2] jam: add test for OS=UNKNOWN --- pkgs/by-name/ja/jam/package.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/by-name/ja/jam/package.nix b/pkgs/by-name/ja/jam/package.nix index 584617180db6..65b02a15076b 100644 --- a/pkgs/by-name/ja/jam/package.nix +++ b/pkgs/by-name/ja/jam/package.nix @@ -87,6 +87,15 @@ stdenv.mkDerivation (finalAttrs: { package = finalAttrs.finalPackage; command = "jam -v"; }; + tests.os = testers.runCommand { + name = "${finalAttrs.finalPackage.name}-os"; + nativeBuildInputs = [ finalAttrs.finalPackage ]; + script = '' + echo 'echo $(OS) ;' > Jamfile + os=$(jam -d0) + [[ $os != UNKNOWN* ]] && touch $out + ''; + }; }; meta = { From 59ede8c22324289fd812bc10274c4b47b64fd727 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Wed, 16 Oct 2024 10:50:13 -0300 Subject: [PATCH 2/2] jam: fix OS determination on linux --- pkgs/by-name/ja/jam/package.nix | 35 +++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/ja/jam/package.nix b/pkgs/by-name/ja/jam/package.nix index 65b02a15076b..9fbe6f4c7724 100644 --- a/pkgs/by-name/ja/jam/package.nix +++ b/pkgs/by-name/ja/jam/package.nix @@ -49,21 +49,26 @@ stdenv.mkDerivation (finalAttrs: { export AR="$AR rc" ''; - # When cross-compiling, we need to set the preprocessor macros - # OSMAJOR/OSMINOR/OSPLAT to the values from the target platform, not the host - # platform. This looks a little ridiculous because the vast majority of build - # tools don't embed target-specific information into their binary, but in this - # case we behave more like a compiler than a make(1)-alike. - postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) '' - cat >>jam.h <>jam.h <