anchor.diff: -{ lib, stdenv, fetchurl, fetchpatch
  -, getopt, tzdata, ksh
  +{ lib
  +, stdenv
  +, fetchurl
  +, fetchpatch
  +, getopt
  +, tzdata
  +, ksh
   , pkgsMusl # for passthru.tests
   }:
   
   stdenv.mkDerivation rec {
     pname = "bmake";
  -  version = "20210621";
  +  version = "20220208";
   
     src = fetchurl {
  -    url    = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
  -    sha256 = "0gpzv75ibzqz1j1h0hdjgx1v7hkl3i5cb5yf6q9sfcgx0bvb55xa";
  +    url = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
  +    hash = "sha256-ewDB4UYrLh5Upk2ND88n/HfursPxOSDv+NlST/BZ1to=";
     };
   
     # Make tests work with musl
  
positive.code:     ./bootstrap-fix.patch
      # preserve PATH from build env in unit tests
      ./fix-unexport-env-test.patch
      # Fix localtime tests without global /etc/zoneinfo directory
      ./fix-localtime-test.patch
      # Always enable ksh test since it checks in a impure location /bin/ksh
      ./unconditional-ksh-test.patch
      # decouple tests from build phase
  
negative.code:     })
    ];
  
    # The generated makefile is a small wrapper for calling ./boot-strap with a
    # given op. On a case-insensitive filesystem this generated makefile clobbers
    # a distinct, shipped, Makefile and causes infinite recursion during tests
    # which eventually fail with "fork: Resource temporarily unavailable"
    configureFlags = [
      "--without-makefile"
    ];
  
    # Disabled tests:
    # varmod-localtime: musl doesn't support TZDIR and this test relies on impure,
    # implicit paths
    # opt-chdir: ofborg complains about it somehow
    BROKEN_TESTS = "varmod-localtime opt-chdir";
  
    buildPhase = ''
      runHook preBuild
  