anchor.diff:      ninja
       unzip
       wrapQtAppsHook
  -    makeWrapper
     ];
   
     buildInputs = [
  
positive.code:     "-DENABLE_UNICODE_DATABASE_DOWNLOAD=false"
    ];
  
    NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
  
    # Upstream install rules are missing
    # https://github.com/awesomekling/ladybird/issues/36
    installPhase = ''
      runHook preInstall
      install -Dm755 ladybird $out/bin/ladybird
      mkdir -p $out/lib/ladybird
      cp -d _deps/lagom-build/*.so* $out/lib/ladybird/
      runHook postInstall
    '';
  
    # Patch rpaths
    # https://github.com/awesomekling/ladybird/issues/36
    preFixup = ''
      for f in $out/bin/ladybird $out/lib/ladybird/*.so; do
        old_rpath=$(patchelf --print-rpath "$f")
        # Remove reference to libraries from build directory
        rpath_without_build=$(sed -e 's@[^:]*/_deps/lagom-build:@@g' <<< $old_rpath)
        # Add directory where we install those libraries
        new_rpath=$out/lib/ladybird:$rpath_without_build
        patchelf --set-rpath "$new_rpath" "$f"
      done
    '';
  
    # According to the readme, the program needs access to the serenity sources
    # at runtime
    postFixup = ''
      wrapProgram $out/bin/ladybird --set SERENITY_SOURCE_DIR "${serenity}"
    '';
  
    # Stripping results in a symbol lookup error
    dontStrip = true;
  
    passthru.tests = {
      nixosTest = nixosTests.ladybird;
    };
  
negative.code:     license = licenses.bsd2;
      maintainers = with maintainers; [ fgaz ];
      # SerenityOS only works on x86, and can only be built on unix systems.
      platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
    };
  }
  