about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix96
1 files changed, 0 insertions, 96 deletions
diff --git a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
deleted file mode 100644
index 48df439a1efb..000000000000
--- a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ /dev/null
@@ -1,96 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, python3
-, runCommand
-, makeWrapper
-, stress-ng
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "graphene-hardened-malloc";
-  version = "12";
-
-  src = fetchFromGitHub {
-    owner = "GrapheneOS";
-    repo = "hardened_malloc";
-    rev = finalAttrs.version;
-    sha256 = "sha256-ujwzr4njNsf/VTyEq7zKHWxoivU3feavSTx+MLIj1ZM=";
-  };
-
-  doCheck = true;
-  nativeCheckInputs = [ python3 ];
-  # these tests cover use as a build-time-linked library
-  checkTarget = "test";
-
-  installPhase = ''
-    install -Dm444 -t $out/include include/*
-    install -Dm444 -t $out/lib out/libhardened_malloc.so
-
-    mkdir -p $out/bin
-    substitute preload.sh $out/bin/preload-hardened-malloc --replace "\$dir" $out/lib
-    chmod 0555 $out/bin/preload-hardened-malloc
-  '';
-
-  separateDebugInfo = true;
-
-  passthru = {
-    ld-preload-tests = stdenv.mkDerivation {
-      name = "${finalAttrs.pname}-ld-preload-tests";
-      inherit (finalAttrs) src;
-
-      nativeBuildInputs = [ makeWrapper ];
-
-      # reuse the projects tests to cover use with LD_PRELOAD. we have
-      # to convince the test programs to build as though they're naive
-      # standalone executables. this includes disabling tests for
-      # malloc_object_size, which doesn't make sense to use via LD_PRELOAD.
-      buildPhase = ''
-        pushd test
-        make LDLIBS= LDFLAGS=-Wl,--unresolved-symbols=ignore-all CXXFLAGS=-lstdc++
-        substituteInPlace test_smc.py \
-          --replace 'test_malloc_object_size' 'dont_test_malloc_object_size' \
-          --replace 'test_invalid_malloc_object_size' 'dont_test_invalid_malloc_object_size'
-        popd # test
-      '';
-
-      installPhase = ''
-        mkdir -p $out/test
-        cp -r test $out/test
-
-        mkdir -p $out/bin
-        makeWrapper ${python3.interpreter} $out/bin/run-tests \
-          --add-flags "-I -m unittest discover --start-directory $out/test"
-      '';
-    };
-    tests = {
-      ld-preload = runCommand "ld-preload-test-run" { } ''
-        ${finalAttrs.finalPackage}/bin/preload-hardened-malloc ${finalAttrs.passthru.ld-preload-tests}/bin/run-tests
-        touch $out
-      '';
-      # to compensate for the lack of tests of correct normal malloc operation
-      stress = runCommand "stress-test-run" { } ''
-        ${finalAttrs.finalPackage}/bin/preload-hardened-malloc ${stress-ng}/bin/stress-ng \
-          --no-rand-seed \
-          --malloc 8 \
-          --malloc-ops 1000000 \
-          --verify
-        touch $out
-      '';
-    };
-  };
-
-  meta = with lib; {
-    homepage = "https://github.com/GrapheneOS/hardened_malloc";
-    description = "Hardened allocator designed for modern systems";
-    mainProgram = "preload-hardened-malloc";
-    longDescription = ''
-      This is a security-focused general purpose memory allocator providing the malloc API
-      along with various extensions. It provides substantial hardening against heap
-      corruption vulnerabilities yet aims to provide decent overall performance.
-    '';
-    license = licenses.mit;
-    maintainers = with maintainers; [ ris ];
-    platforms = [ "x86_64-linux" "aarch64-linux" ];
-  };
-})