anchor.diff:      let
         nodeDependencies = stdenv.mkDerivation {
           name = "node-dependencies-${name}-${version}";
  -        
  +
           buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
  -        
  +
           includeScript = includeDependencies { inherit dependencies; };
           passAsFile = [ "includeScript" ];
  -        
  +
           buildCommand = ''
             mkdir -p $out/lib
             cd $out/lib
             source $includeScriptPath
  -          
  +
             # Create fake package.json to make the npm commands work properly
             cat > package.json <<EOF
             {
  
positive.code:               else
                    return versionSpec;
            }
        
            var packageObj = JSON.parse(fs.readFileSync('./package.json'));
        
            /* Replace dependencies */
            if(packageObj.dependencies !== undefined) {
                for(var dependency in packageObj.dependencies) {
  
negative.code:     ''
        DIR=$(pwd)
        cd $TMPDIR
  
        unpackFile ${src}
  
        # Make the base dir in which the target dependency resides first
        mkdir -p "$(dirname "$DIR/${packageName}")"
  
        if [ -f "${src}" ]
        then
            # Figure out what directory has been unpacked
            packageDir="$(find . -maxdepth 1 -type d | tail -1)"
  
            # Restore write permissions to make building work
            find "$packageDir" -type d -print0 | xargs -0 chmod u+x
            chmod -R u+w "$packageDir"
  
            # Move the extracted tarball into the output folder
            mv "$packageDir" "$DIR/${packageName}"
        elif [ -d "${src}" ]
        then
            # Get a stripped name (without hash) of the source directory.
            # On old nixpkgs it's already set internally.
            if [ -z "$strippedName" ]
            then
                strippedName="$(stripHash ${src})"
            fi
  
            # Restore write permissions to make building work
            chmod -R u+w "$strippedName"
  
            # Move the extracted directory into the output folder
            mv "$strippedName" "$DIR/${packageName}"
        fi
  
        # Unset the stripped name to not confuse the next unpack step
        unset strippedName
  
        # Some version specifiers (latest, unstable, URLs, file paths) force NPM to make remote connections or consult paths outside the Nix store.
        # The following JavaScript replaces these by * to prevent that
        cd "$DIR/${packageName}"
        node ${fixImpureDependencies}
  
        # Include the dependencies of the package
        ${includeDependencies { inherit dependencies; }}
        cd ..
  