57 lines
1.0 KiB
Nix
57 lines
1.0 KiB
Nix
{ lib
|
|
, stdenv
|
|
, cmake
|
|
, ninja
|
|
, cargo
|
|
, rustc
|
|
, rustPlatform
|
|
, corrosion
|
|
, qt6
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "att_browser";
|
|
version = "0.1.0";
|
|
|
|
src = lib.fileset.toSource {
|
|
root = ./.;
|
|
fileset = lib.fileset.unions [
|
|
./CMakeLists.txt
|
|
./src
|
|
./adblock/Cargo.toml
|
|
./adblock/Cargo.lock
|
|
./adblock/att_adblock.h
|
|
./adblock/src
|
|
];
|
|
};
|
|
|
|
# The adblock crate's dependencies, vendored from Cargo.lock so Corrosion's
|
|
# cargo invocation works offline inside the build sandbox.
|
|
cargoRoot = "adblock";
|
|
cargoDeps = rustPlatform.importCargoLock {
|
|
lockFile = ./adblock/Cargo.lock;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
ninja
|
|
cargo
|
|
rustc
|
|
rustPlatform.cargoSetupHook
|
|
corrosion
|
|
qt6.wrapQtAppsHook
|
|
];
|
|
|
|
buildInputs = with qt6; [
|
|
qtbase
|
|
qtwebengine
|
|
];
|
|
|
|
meta = {
|
|
description = "Minimal keyboard-driven QtWebEngine browser";
|
|
mainProgram = "att_browser";
|
|
platforms = lib.platforms.linux;
|
|
license = lib.licenses.mit;
|
|
};
|
|
})
|