From 2e8ddbf7f359265962579988e0995fa3cacc440f Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Wed, 16 Jul 2025 16:44:11 -0400 Subject: [PATCH 1/5] python3Packages.libear: init at 19.1.7 --- .../python-modules/libear/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/libear/default.nix diff --git a/pkgs/development/python-modules/libear/default.nix b/pkgs/development/python-modules/libear/default.nix new file mode 100644 index 000000000000..b1f00bc1e1aa --- /dev/null +++ b/pkgs/development/python-modules/libear/default.nix @@ -0,0 +1,37 @@ +{ + lib, + llvmPackages, + buildPythonPackage, +}: +let + inherit (llvmPackages) clang-unwrapped; +in +buildPythonPackage rec { + pname = "libear"; + inherit (clang-unwrapped) version; + + format = "other"; + + src = clang-unwrapped.lib + "/lib/libear"; + + dontUnpack = true; + + installPhase = '' + LIBPATH="$(toPythonPath "$out")/libear" + mkdir -p "$LIBPATH" + + install -t "$LIBPATH" $src/* + ''; + + pythonImportsCheck = [ "libear" ]; + + meta = { + description = "Hooks into build systems to listen to which files are opened"; + homepage = "https://github.com/llvm/llvm-project/tree/llvmorg-${version}/clang/tools/scan-build-py/lib/libear"; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; + maintainers = with lib.maintainers; [ RossSmyth ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index da5ba1c36992..c6b8ea3651d6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8038,6 +8038,8 @@ self: super: with self; { (p: p.py) ]; + libear = callPackage ../development/python-modules/libear { }; + libevdev = callPackage ../development/python-modules/libevdev { }; libfdt = toPythonModule ( From 15e4bf1a47f5363cce529c9ebe27ac40dc4c312f Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Wed, 16 Jul 2025 16:45:11 -0400 Subject: [PATCH 2/5] python3Packages.libscanbuild: init at 19.1.7 --- .../python-modules/libscanbuild/default.nix | 42 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/development/python-modules/libscanbuild/default.nix diff --git a/pkgs/development/python-modules/libscanbuild/default.nix b/pkgs/development/python-modules/libscanbuild/default.nix new file mode 100644 index 000000000000..667c7e162e77 --- /dev/null +++ b/pkgs/development/python-modules/libscanbuild/default.nix @@ -0,0 +1,42 @@ +{ + lib, + llvmPackages, + buildPythonPackage, + libear, +}: +let + inherit (llvmPackages) clang-unwrapped; +in +buildPythonPackage rec { + pname = "libscanbuild"; + inherit (clang-unwrapped) version; + + format = "other"; + + src = clang-unwrapped.lib + "/lib/libscanbuild"; + + dontUnpack = true; + + dependencies = [ + libear + ]; + + installPhase = '' + LIBPATH="$(toPythonPath "$out")/libscanbuild" + mkdir -p "$LIBPATH" + + cp -r "$src/"* "$LIBPATH" + ''; + + pythonImportsCheck = [ "libscanbuild" ]; + + meta = { + description = "Captures all child process creation and log information about it"; + homepage = "https://github.com/llvm/llvm-project/tree/llvmorg-${version}/clang/tools/scan-build-py/lib/libscanbuild"; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; + maintainers = with lib.maintainers; [ RossSmyth ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c6b8ea3651d6..757061a25fef 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8175,6 +8175,8 @@ self: super: with self; { } ); + libscanbuild = callPackage ../development/python-modules/libscanbuild { }; + libselinux = lib.pipe pkgs.libselinux [ toPythonModule ( From 231a770356c1e71eb67f4dd194bbe440c374e643 Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Wed, 16 Jul 2025 16:53:33 -0400 Subject: [PATCH 3/5] intercept-build: init at 19.1.7 --- pkgs/by-name/in/intercept-build/package.nix | 38 +++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 pkgs/by-name/in/intercept-build/package.nix diff --git a/pkgs/by-name/in/intercept-build/package.nix b/pkgs/by-name/in/intercept-build/package.nix new file mode 100644 index 000000000000..0188b28aecc4 --- /dev/null +++ b/pkgs/by-name/in/intercept-build/package.nix @@ -0,0 +1,38 @@ +{ + lib, + llvmPackages, + python3, +}: +let + inherit (llvmPackages) clang-unwrapped; +in +python3.pkgs.buildPythonApplication rec { + pname = "intercept-build"; + inherit (clang-unwrapped) version; + + format = "other"; + + src = clang-unwrapped + "/bin"; + + dontUnpack = true; + + dependencies = with python3.pkgs; [ + libscanbuild + ]; + + installPhase = '' + mkdir -p "$out/bin" + install "$src/intercept-build" "$out/bin" + ''; + + meta = { + description = "intercepts the build process to generate a compilation database"; + homepage = "https://github.com/llvm/llvm-project/tree/llvmorg-${version}/clang/tools/scan-build-py/"; + mainProgram = "intercept-build"; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; + maintainers = with lib.maintainers; [ RossSmyth ]; + }; +} From 9e53640859014a6b658286d3d885845fec3ceb50 Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Wed, 16 Jul 2025 17:28:15 -0400 Subject: [PATCH 4/5] scan-build: init at 19.1.7 --- pkgs/by-name/sc/scan-build-py/package.nix | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/sc/scan-build-py/package.nix diff --git a/pkgs/by-name/sc/scan-build-py/package.nix b/pkgs/by-name/sc/scan-build-py/package.nix new file mode 100644 index 000000000000..934a77f5db21 --- /dev/null +++ b/pkgs/by-name/sc/scan-build-py/package.nix @@ -0,0 +1,46 @@ +{ + lib, + llvmPackages, + python3, +}: +let + inherit (llvmPackages) clang-unwrapped; +in +python3.pkgs.buildPythonApplication rec { + pname = "scan-build-py"; + inherit (clang-unwrapped) version; + + format = "other"; + + src = clang-unwrapped + "/bin"; + + dontUnpack = true; + + dependencies = with python3.pkgs; [ + libscanbuild + ]; + + installPhase = '' + mkdir -p "$out/bin" + install "$src/scan-build-py" "$out/bin/scan-build-py" + ''; + + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ clang-unwrapped ]) + ]; + + meta = { + description = "intercepts the build process to generate a compilation database"; + homepage = "https://github.com/llvm/llvm-project/tree/llvmorg-${version}/clang/tools/scan-build-py/"; + mainProgram = "scan-build-py"; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; + maintainers = with lib.maintainers; [ RossSmyth ]; + platforms = lib.intersectLists python3.meta.platforms clang-unwrapped.meta.platforms; + }; +} From b8f9fca96ab3934c5d5f7dc7d52855c5b058e541 Mon Sep 17 00:00:00 2001 From: Ross Smyth <18294397+RossSmyth@users.noreply.github.com> Date: Wed, 16 Jul 2025 17:42:27 -0400 Subject: [PATCH 5/5] analyze-build: init at 19.1.7 --- pkgs/by-name/an/analyze-build/package.nix | 46 +++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 pkgs/by-name/an/analyze-build/package.nix diff --git a/pkgs/by-name/an/analyze-build/package.nix b/pkgs/by-name/an/analyze-build/package.nix new file mode 100644 index 000000000000..7d4ec5845407 --- /dev/null +++ b/pkgs/by-name/an/analyze-build/package.nix @@ -0,0 +1,46 @@ +{ + lib, + llvmPackages, + python3, +}: +let + inherit (llvmPackages) clang-unwrapped; +in +python3.pkgs.buildPythonApplication rec { + pname = "analyze-build"; + inherit (clang-unwrapped) version; + + format = "other"; + + src = clang-unwrapped + "/bin"; + + dontUnpack = true; + + dependencies = with python3.pkgs; [ + libscanbuild + ]; + + installPhase = '' + mkdir -p "$out/bin" + install "$src/analyze-build" "$out/bin/" + ''; + + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath [ clang-unwrapped ]) + ]; + + meta = { + description = "run Clang static analyzer against a project with compilation database"; + homepage = "https://github.com/llvm/llvm-project/tree/llvmorg-${version}/clang/tools/scan-build-py/"; + mainProgram = "scan-build"; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; + maintainers = with lib.maintainers; [ RossSmyth ]; + platforms = lib.intersectLists python3.meta.platforms clang-unwrapped.meta.platforms; + }; +}