use unpatched qt for dev tooling (fmt, lint, devshell)
This commit is contained in:
parent
e85cd40266
commit
06fb97bc23
2 changed files with 38 additions and 24 deletions
41
flake.nix
41
flake.nix
|
|
@ -55,8 +55,9 @@
|
||||||
nixpkgs.lib.genAttrs systems (
|
nixpkgs.lib.genAttrs systems (
|
||||||
system:
|
system:
|
||||||
fn rec {
|
fn rec {
|
||||||
pkgs = (nixpkgs.legacyPackages.${system}).extend qtbaseOverlay;
|
rawPkgs = nixpkgs.legacyPackages.${system};
|
||||||
treefmt-eval = treefmt-nix.lib.evalModule pkgs treefmt-config;
|
pkgs = rawPkgs.extend qtbaseOverlay;
|
||||||
|
treefmt-eval = treefmt-nix.lib.evalModule rawPkgs treefmt-config;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
|
|
@ -64,7 +65,7 @@
|
||||||
formatter = forAllSystems ({ treefmt-eval, ... }: treefmt-eval.config.build.wrapper);
|
formatter = forAllSystems ({ treefmt-eval, ... }: treefmt-eval.config.build.wrapper);
|
||||||
|
|
||||||
packages = forAllSystems (
|
packages = forAllSystems (
|
||||||
{ pkgs, ... }:
|
{ pkgs, rawPkgs, ... }:
|
||||||
let
|
let
|
||||||
# Rebuild quickshell against patched Qt via its overlay
|
# Rebuild quickshell against patched Qt via its overlay
|
||||||
qs = (pkgs.extend quickshell.overlays.default).quickshell.override {
|
qs = (pkgs.extend quickshell.overlays.default).quickshell.override {
|
||||||
|
|
@ -94,28 +95,30 @@
|
||||||
pname = "screen-uaf-reproducer-patched";
|
pname = "screen-uaf-reproducer-patched";
|
||||||
version = "0";
|
version = "0";
|
||||||
src = ./test/screen-uaf-reproducer;
|
src = ./test/screen-uaf-reproducer;
|
||||||
nativeBuildInputs = [ pkgs.cmake pkgs.qt6.wrapQtAppsHook ];
|
nativeBuildInputs = [
|
||||||
|
pkgs.cmake
|
||||||
|
pkgs.qt6.wrapQtAppsHook
|
||||||
|
];
|
||||||
buildInputs = [ pkgs.qt6.qtbase ];
|
buildInputs = [ pkgs.qt6.qtbase ];
|
||||||
};
|
};
|
||||||
screen-uaf-reproducer-unpatched =
|
screen-uaf-reproducer-unpatched = rawPkgs.stdenv.mkDerivation {
|
||||||
let
|
|
||||||
rawPkgs = nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
|
||||||
in
|
|
||||||
rawPkgs.stdenv.mkDerivation {
|
|
||||||
pname = "screen-uaf-reproducer-unpatched";
|
pname = "screen-uaf-reproducer-unpatched";
|
||||||
version = "0";
|
version = "0";
|
||||||
src = ./test/screen-uaf-reproducer;
|
src = ./test/screen-uaf-reproducer;
|
||||||
nativeBuildInputs = [ rawPkgs.cmake rawPkgs.qt6.wrapQtAppsHook ];
|
nativeBuildInputs = [
|
||||||
|
rawPkgs.cmake
|
||||||
|
rawPkgs.qt6.wrapQtAppsHook
|
||||||
|
];
|
||||||
buildInputs = [ rawPkgs.qt6.qtbase ];
|
buildInputs = [ rawPkgs.qt6.qtbase ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
devShells = forAllSystems (
|
devShells = forAllSystems (
|
||||||
{ pkgs, ... }:
|
{ rawPkgs, ... }:
|
||||||
{
|
{
|
||||||
default = pkgs.mkShell {
|
default = rawPkgs.mkShell {
|
||||||
packages = with pkgs; [
|
packages = with rawPkgs; [
|
||||||
cargo
|
cargo
|
||||||
rustc
|
rustc
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
|
|
@ -129,21 +132,25 @@
|
||||||
);
|
);
|
||||||
|
|
||||||
checks = forAllSystems (
|
checks = forAllSystems (
|
||||||
{ pkgs, treefmt-eval }:
|
{
|
||||||
|
pkgs,
|
||||||
|
rawPkgs,
|
||||||
|
treefmt-eval,
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
formatting = treefmt-eval.config.build.check self;
|
formatting = treefmt-eval.config.build.check self;
|
||||||
build = self.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
build = self.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||||
nova-stats = self.packages.${pkgs.stdenv.hostPlatform.system}.nova-stats;
|
nova-stats = self.packages.${pkgs.stdenv.hostPlatform.system}.nova-stats;
|
||||||
docs = self.packages.${pkgs.stdenv.hostPlatform.system}.docs;
|
docs = self.packages.${pkgs.stdenv.hostPlatform.system}.docs;
|
||||||
qmllint =
|
qmllint =
|
||||||
pkgs.runCommand "nova-shell-qmllint"
|
rawPkgs.runCommand "nova-shell-qmllint"
|
||||||
{
|
{
|
||||||
nativeBuildInputs = [ pkgs.qt6.qtdeclarative ];
|
nativeBuildInputs = [ rawPkgs.qt6.qtdeclarative ];
|
||||||
src = self;
|
src = self;
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
cd $src
|
cd $src
|
||||||
export QML_IMPORT_PATH="${pkgs.qt6.qtdeclarative}/lib/qt-6/qml:${
|
export QML_IMPORT_PATH="${rawPkgs.qt6.qtdeclarative}/lib/qt-6/qml:${
|
||||||
quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
}/lib/qt-6/qml"
|
}/lib/qt-6/qml"
|
||||||
qmllint -E \
|
qmllint -E \
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
{
|
||||||
|
pkgs ? import <nixpkgs> { },
|
||||||
|
}:
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
nativeBuildInputs = with pkgs; [ cmake qt6.qtbase qt6.wrapQtAppsHook wlr-randr ];
|
nativeBuildInputs = with pkgs; [
|
||||||
|
cmake
|
||||||
|
qt6.qtbase
|
||||||
|
qt6.wrapQtAppsHook
|
||||||
|
wlr-randr
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue