anchor.diff:          ];
   
           buildInputs = lib.optionals stdenv.isLinux [
  -          zlib
  +          alsaLib # libasound.so wanted by lib/libjsound.so
             fontconfig
             freetype
  +          openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
  +          stdenv.cc.cc.lib # libstdc++.so.6
             xorg.libX11
  +          xorg.libXext
             xorg.libXi
             xorg.libXrender
  -          xorg.libXext
             xorg.libXtst
  -          stdenv.cc.cc.lib # libstdc++.so.6
  -          alsaLib # libasound.so wanted by lib/libjsound.so
  -          openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
  +          zlib
           ];
   
           # Workaround for libssl.so.10 wanted by TruffleRuby
           # Resulting TruffleRuby cannot use `openssl` library.
           autoPatchelfIgnoreMissingDeps = true;
   
  -        nativeBuildInputs = [ unzip perl autoPatchelfHook ];
  +        nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
   
           unpackPhase = ''
              unpack_jar() {
  
positive.code: , lib
  , fetchurl
  , autoPatchelfHook
  , Foundation
  , setJavaClassPath
  , alsaLib
  , fontconfig
  , freetype
  
negative.code: 
          dontStrip = true;
  
          preFixup = ''
            # We cannot use -exec since wrapProgram is a function but not a
            # command.
            for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' ); do
              if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then
                wrapProgram "$bin" \
                  --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
              fi
            done
  
            # copy-paste openjdk's preFixup
            # Set JAVA_HOME automatically.
            mkdir -p $out/nix-support
            cat <<EOF > $out/nix-support/setup-hook
  