anchor.diff:  , mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking
   , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
   , libxslt, gst_all_1 ? null
  -, withPdfReader        ? true
  -, withMediaPlayback    ? true
  +, withPdfReader      ? true
  +, withMediaPlayback  ? true
  +, backend            ? "webkit"
   }:
   
   assert withMediaPlayback -> gst_all_1 != null;
  
positive.code:   postFixup = ''
      wrapProgram $out/bin/qutebrowser \
        "''${gappsWrapperArgs[@]}" \
        "''${qtWrapperArgs[@]}"
    '';
  
    meta = with stdenv.lib; {
  
negative.code:     sha256 = "1fpxsw0hzahccyng08acvc7g0gk29j2x701p6w6fg1718mvcrm1q";
      stripRoot = false;
    };
  
    backendPackage =
     if backend == "webengine" then python3Packages.pyqtwebengine else
     if backend == "webkit"    then python3Packages.pyqt5_with_qtwebkit else
     throw ''
       Unknown qutebrowser backend "${backend}".
       Valid choices are qtwebengine (recommended) or qtwebkit.
     '';
  
  in mkDerivationWith python3Packages.buildPythonApplication rec {
    pname = "qutebrowser";
  