codechecker: 6.24.0 -> 6.28.0

(cherry picked from commit 9c9caec86f)
This commit is contained in:
Kacper Uminski
2026-06-17 12:04:30 +02:00
committed by github-actions[bot]
parent 3af5449e19
commit da2d5f3b5c

View File

@@ -1,65 +1,30 @@
{
lib,
python3,
fetchPypi,
fetchFromGitHub,
clang,
makeWrapper,
python3Packages,
libclang,
clang-tools,
cppcheck,
gcc,
makeWrapper,
infer,
withClang ? false,
withClangTools ? false,
withCppcheck ? false,
withGcc ? false,
withInfer ? false,
}:
let
python = python3.override {
packageOverrides = self: super: rec {
# codechecker is incompatible with SQLAlchemy greater than 1.3
sqlalchemy = super.sqlalchemy_1_4.overridePythonAttrs (oldAttrs: rec {
version = "1.3.23";
pname = oldAttrs.pname;
src = fetchFromGitHub {
owner = "sqlalchemy";
repo = "sqlalchemy";
rev = "rel_${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-hWA0/f7rQpEfYTg10i0rBK3qeJbw3p6HW7S59rLnD0Q=";
};
doCheck = false;
# That test does not exist in the 1.3 branch so we get an error for disabling it
disabledTestPaths = builtins.filter (
testPath: testPath != "test/ext/mypy"
) oldAttrs.disabledTestPaths;
});
sqlalchemy_1_4 = sqlalchemy;
# The current alembic version is not compatible with SQLAlchemy 1.3 so we need to downgrade it
alembic = super.alembic.overridePythonAttrs (oldAttrs: rec {
pname = "alembic";
version = "1.5.5";
src = fetchPypi {
inherit pname version;
hash = "sha256-3wAowZJ1os/xN+OWF6Oc3NvRFzczuHtr+iV7fAhgITs=";
};
doCheck = false;
dependencies = oldAttrs.dependencies ++ [
super.python-dateutil
super.python-editor
];
});
};
};
python3Packages = python.pkgs;
in
python3Packages.buildPythonApplication rec {
pname = "codechecker";
version = "6.24.0";
version = "6.28.0";
pyproject = true;
strictDeps = true;
__structuredAttrs = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-ftZACUf2lAHokcUXj45LRA7/3goOcIy521cGl6qhR98=";
hash = "sha256-wxV+/hzsk7RrzWTXNz5HyweYdFFI1upNS508QRPCefo=";
};
build-system = with python3Packages; [
@@ -67,40 +32,39 @@ python3Packages.buildPythonApplication rec {
];
dependencies = with python3Packages; [
alembic
argcomplete
authlib
distutils # required in python312 to call subcommands (see https://github.com/Ericsson/codechecker/issues/4350)
lxml
sqlalchemy
alembic
multiprocess
portalocker
psutil
multiprocess
semver
sqlalchemy
thrift
gitpython
pyyaml
requests
types-pyyaml
sarif-tools
types-psutil
];
pythonRelaxDeps = [
"thrift"
"portalocker"
"types-pyyaml"
"lxml"
"psutil"
"multiprocess"
"gitpython"
"sarif-tools"
"pyyaml"
pythonRelaxDeps = true;
nativeBuildInputs = with python3Packages; [
makeWrapper
pythonRelaxDepsHook
];
postInstall = ''
wrapProgram "$out/bin/CodeChecker" --prefix PATH : ${
lib.makeBinPath (
[ ]
++ lib.optional withClang clang
lib.optional withClang libclang
++ lib.optional withClangTools clang-tools
++ lib.optional withCppcheck cppcheck
++ lib.optional withGcc gcc
++ lib.optional withInfer infer
)
}
'';
@@ -116,6 +80,7 @@ python3Packages.buildPythonApplication rec {
maintainers = with lib.maintainers; [
zebreus
felixsinger
kacper-uminski
];
mainProgram = "CodeChecker";
platforms = lib.platforms.darwin ++ lib.platforms.linux;