From 65feaa86d5461f73b568b24024a58e6f1c9f67f1 Mon Sep 17 00:00:00 2001 From: Raphael Date: Wed, 5 Mar 2025 16:13:37 +0100 Subject: [PATCH 1/6] style: adding a file test to the gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8b3330d..48c25ad 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ *.out *.so *.d +test/ host/funcheck /.vscode -/.vscode/* \ No newline at end of file +/.vscode/* From 020493a966095eeb2b64a9d3d6672273dffbde31 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 28 Mar 2026 13:02:27 +0100 Subject: [PATCH 2/6] build(nix/flake): updating the nixpkgs flake --- flake.lock | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 7757b6f..4739c73 100644 --- a/flake.lock +++ b/flake.lock @@ -20,10 +20,12 @@ }, "nixpkgs": { "locked": { - "lastModified": 0, - "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", - "path": "/nix/store/zq2axpgzd5kykk1v446rkffj3bxa2m2h-source", - "type": "path" + "lastModified": 1774273680, + "narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed", + "type": "github" }, "original": { "id": "nixpkgs", From da43665f94015284da57ac26c8ee33ea315adc99 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 28 Mar 2026 13:05:54 +0100 Subject: [PATCH 3/6] fix(nix/flake): removing the nix warning in package installation --- flake.nix | 62 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/flake.nix b/flake.nix index 6c79e75..b29bc02 100644 --- a/flake.nix +++ b/flake.nix @@ -5,44 +5,45 @@ flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { - self, - nixpkgs, - flake-utils, - }: + outputs = + { + self, + nixpkgs, + flake-utils, + }: flake-utils.lib.eachDefaultSystem ( - system: let + system: + let pkgs = nixpkgs.legacyPackages.${system}; llvm = pkgs.llvm_18; - commit = - if self ? rev then builtins.substring 0 12 self.rev - else if self ? dirtyRev then builtins.substring 0 12 (pkgs.lib.removeSuffix "-dirty" self.dirtyRev) - else "1.1.4"; + commit = + if self ? rev then + builtins.substring 0 12 self.rev + else if self ? dirtyRev then + builtins.substring 0 12 (pkgs.lib.removeSuffix "-dirty" self.dirtyRev) + else + "1.1.4"; funcheck_drv = pkgs.stdenv.mkDerivation (final: { pname = "funcheck"; version = commit; src = ./.; patches = [ - ( - builtins.toFile - "remove_fwrite_unlocked.patch" - '' - diff --git a/library/srcs/hook/functions/stdio.c b/library/srcs/hook/functions/stdio.c - index dbb9e2a..2d6b9dd 100644 - --- a/library/srcs/hook/functions/stdio.c - +++ b/library/srcs/hook/functions/stdio.c - @@ -104,7 +104,7 @@ DEFINE_HOOK_FUNCTION(size_t, fwrite, EIO, 0, const void *, ptr, size_t, size, si + (builtins.toFile "remove_fwrite_unlocked.patch" '' + diff --git a/library/srcs/hook/functions/stdio.c b/library/srcs/hook/functions/stdio.c + index dbb9e2a..2d6b9dd 100644 + --- a/library/srcs/hook/functions/stdio.c + +++ b/library/srcs/hook/functions/stdio.c + @@ -104,7 +104,7 @@ DEFINE_HOOK_FUNCTION(size_t, fwrite, EIO, 0, const void *, ptr, size_t, size, si - DEFINE_HOOK_FUNCTION(int, fputs_unlocked, EIO, 0, const char *, s, FILE *, stream); - DEFINE_HOOK_FUNCTION(size_t, fread_unlocked, EIO, 0, void *, ptr, size_t, size, size_t, nmemb, FILE *, stream); - -DEFINE_HOOK_FUNCTION(size_t, fwrite_unlocked, EIO, 0, const void *, ptr, size_t, size, size_t, nmemb, FILE *, stream); - +//DEFINE_HOOK_FUNCTION(size_t, fwrite_unlocked, EIO, 0, const void *, ptr, size_t, size, size_t, nmemb, FILE *, stream); + DEFINE_HOOK_FUNCTION(int, fputs_unlocked, EIO, 0, const char *, s, FILE *, stream); + DEFINE_HOOK_FUNCTION(size_t, fread_unlocked, EIO, 0, void *, ptr, size_t, size, size_t, nmemb, FILE *, stream); + -DEFINE_HOOK_FUNCTION(size_t, fwrite_unlocked, EIO, 0, const void *, ptr, size_t, size, size_t, nmemb, FILE *, stream); + +//DEFINE_HOOK_FUNCTION(size_t, fwrite_unlocked, EIO, 0, const void *, ptr, size_t, size, size_t, nmemb, FILE *, stream); - DEFINE_HOOK_FUNCTION(int, fseek, EIO, -1, FILE *, stream, long, offset, int, whence); - DEFINE_HOOK_FUNCTION(long, ftell, EIO, -1, FILE *, stream); + DEFINE_HOOK_FUNCTION(int, fseek, EIO, -1, FILE *, stream, long, offset, int, whence); + DEFINE_HOOK_FUNCTION(long, ftell, EIO, -1, FILE *, stream); - '' - ) + '') ]; nativeBuildInputs = [pkgs.makeWrapper pkgs.minilibx pkgs.gnumake pkgs.xorg.libX11]; buildInputs = [llvm]; @@ -61,16 +62,17 @@ cp ./host/funcheck "$out/bin/funcheck" cp ./library/libfuncheck.so "$out/share/funcheck/libfuncheck.so" wrapProgram $out/bin/funcheck \ - --prefix PATH : ${pkgs.lib.makeBinPath [llvm]} + --prefix PATH : ${pkgs.lib.makeBinPath [ llvm ]} ''; }); - in { + in + { packages = rec { funcheck = default; default = funcheck_drv; }; apps = rec { - funcheck = flake-utils.lib.mkApp {drv = self.packages.${system}.funcheck;}; + funcheck = flake-utils.lib.mkApp { drv = self.packages.${system}.funcheck; }; default = funcheck; }; } From 77d34ed62f8756cf2d4d8af717f9a9784b6f9cd6 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 28 Mar 2026 13:06:20 +0100 Subject: [PATCH 4/6] refactor(nix/flake): adding the nix format --- flake.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index b29bc02..448394c 100644 --- a/flake.nix +++ b/flake.nix @@ -45,8 +45,13 @@ '') ]; - nativeBuildInputs = [pkgs.makeWrapper pkgs.minilibx pkgs.gnumake pkgs.xorg.libX11]; - buildInputs = [llvm]; + nativeBuildInputs = with pkgs; [ + makeWrapper + minilibx + gnumake + libX11 + ]; + buildInputs = [ llvm ]; buildPhase = '' ls -la export CFLAGS="-Werror -Wextra -Wall -Wno-stringop-truncation \ From 4cf5e006ebb4a7416ca42fbc792f1a3b060740d7 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 28 Mar 2026 14:02:07 +0100 Subject: [PATCH 5/6] fix(nix/flake): fixing compilation --- flake.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 448394c..dcbf899 100644 --- a/flake.nix +++ b/flake.nix @@ -56,8 +56,9 @@ ls -la export CFLAGS="-Werror -Wextra -Wall -Wno-stringop-truncation \ -Wno-attributes -Wno-array-parameter -Wno-unused-result \ + -Wno-implicit-function-declaration -Wno-int-conversion \ -DABSOLUTE_LIBRARY_PATH=\\\"$out/share/funcheck/libfuncheck.so\\\" \ - -g -fPIC -fvisibility=hidden" + -g -fPIC -fvisibility=hidden -Wno-deprecated-declarations -std=gnu99" make -C library "CC=$CC" "CFLAGS=$CFLAGS" "VERSION=${final.version}" make -C host "CC=$CC" "CFLAGS=$CFLAGS" "VERSION=${final.version}" ''; From 70bfdbe2f6ed737ac94e1a6949c97d4ac0166b93 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sat, 28 Mar 2026 14:03:01 +0100 Subject: [PATCH 6/6] style(git/ignore): removing the test folder from gitignore file --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 48c25ad..e77721e 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,6 @@ *.out *.so *.d -test/ host/funcheck /.vscode /.vscode/*