anchor.diff:    prePatch = ''
       substituteInPlace setup.py \
         --replace "from setuptools_rust import Binding, RustExtension" "" \
  -      --replace "RustExtension(\"portmod.portmod\", binding=Binding.PyO3, strip=True)" ""
  +      --replace "RustExtension(\"portmodlib.portmod\", binding=Binding.PyO3, strip=True)" ""
     '';
  +
  +  patches = [
  +    (fetchpatch {
  +      # fix error when symlinks are present in the path (https://gitlab.com/portmod/portmod/-/merge_requests/393)
  +      # happen with ~/.nix-profile
  +      url = "https://gitlab.com/portmod/portmod/-/merge_requests/393.patch";
  +      sha256 = "sha256-XHifwD/Nh7UiMZdvSNudVF7qpBOpjGTKSr4VVdJqUdA=";
  +    })
  +  ];
   
     propagatedBuildInputs = with python3Packages; [
       setuptools-scm
  
positive.code:     "test_execute_network_permissions"
      "test_execute_permissions_bleed"
      "test_git"
    ];
  
    # for some reason, installPhase doesn't copy the compiled binary
    postInstall = ''
      cp ${portmod-rust}/lib/libportmod.so $out/${python3Packages.python.sitePackages}/portmod/portmod.so
  
      makeWrapperArgs+=("--prefix" "GIT_SSL_CAINFO" ":" "${cacert}/etc/ssl/certs/ca-bundle.crt" \
        "--prefix" "PATH" ":" "${lib.makeBinPath bin-programs }")
  
negative.code: { lib, callPackage, python3Packages, fetchFromGitLab, cacert,
    rustPlatform, bubblewrap, git, perlPackages, imagemagick, fetchurl, fetchzip,
    jre, makeWrapper, tr-patcher, tes3cmd, fetchpatch }:
  
  let
    version = "2.0.3";
  
    src = fetchFromGitLab {
      owner = "portmod";
      repo = "Portmod";
      rev = "v${version}";
      sha256 = "sha256-vMdyaI1Ps7bFoRvwdVNVG9vPFEiGb7CPvKEWfxiM128=";
    };
  
    portmod-rust = rustPlatform.buildRustPackage rec {
      inherit src version;
      pname = "portmod-rust";
  
      cargoHash = "sha256-tAghZmlg34jHr8gtNgL3MQ8EI7K6/TfDcTbBjxdWLr0=";
  
      nativeBuildInputs = [ python3Packages.python ];
  
  