From 7eb5d48a3b741cefa0cbfe3f473b425aada85a33 Mon Sep 17 00:00:00 2001 From: ghpzin Date: Wed, 2 Apr 2025 16:55:46 +0300 Subject: [PATCH 1/2] zzuf: fix build with gcc14 - add patch from fedora: https://src.fedoraproject.org/rpms/zzuf/c/998c7e5e632ea4c635a53437a01bfb48cbd744ac fixing `implicit-function-declaration` error: ``` zzat.c: In function 'run': zzat.c:482:32: error: implicit declaration of function '_IO_getc' 482 | MY_FREAD(ch = (n = _IO_getc(f)), &ch, (n != EOF)); | ^~~~~~~~ ``` - add patch from fedora (vendored because patch is in format that does not apply with `fetchpatch`): https://src.fedoraproject.org/rpms/zzuf/c/ca7e406989e7ff461600084f2277ad15a8c00058 fixing `implicit-function-declaration` error: ``` zzat.c:565:26: error: implicit declaration of function '__fseeko64'; did you mean 'fseeko64'? 565 | MY_FSEEK(l = __fseeko64(f, l1, SEEK_CUR), | ^~~~~~~~~~ ``` --- pkgs/by-name/zz/zzuf/package.nix | 12 ++++++++++++ pkgs/by-name/zz/zzuf/zzuf-glibc.patch | 13 +++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/by-name/zz/zzuf/zzuf-glibc.patch diff --git a/pkgs/by-name/zz/zzuf/package.nix b/pkgs/by-name/zz/zzuf/package.nix index 4b68cb601489..45980fdfd2e2 100644 --- a/pkgs/by-name/zz/zzuf/package.nix +++ b/pkgs/by-name/zz/zzuf/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch, pkg-config, autoreconfHook, }: @@ -17,6 +18,17 @@ stdenv.mkDerivation rec { sha256 = "0li1s11xf32dafxq1jbnc8c63313hy9ry09dja2rymk9mza4x2n9"; }; + patches = [ + # fix build with gcc14 + # https://src.fedoraproject.org/rpms/zzuf/c/998c7e5e632ea4c635a53437a01bfb48cbd744ac + (fetchpatch { + url = "https://src.fedoraproject.org/rpms/zzuf/raw/998c7e5e632ea4c635a53437a01bfb48cbd744ac/f/zzuf-zzat-c99.patch"; + hash = "sha256-pQQzwsIjKg+9g+dnhFGn2PUlxHlQ5Mj+e4a1D1k2oEo="; + }) + # https://src.fedoraproject.org/rpms/zzuf/c/ca7e406989e7ff461600084f2277ad15a8c00058 + ./zzuf-glibc.patch + ]; + nativeBuildInputs = [ pkg-config autoreconfHook diff --git a/pkgs/by-name/zz/zzuf/zzuf-glibc.patch b/pkgs/by-name/zz/zzuf/zzuf-glibc.patch new file mode 100644 index 000000000000..1987d3b6395d --- /dev/null +++ b/pkgs/by-name/zz/zzuf/zzuf-glibc.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index 0915a5c..8ba501c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -79,7 +79,6 @@ AC_CHECK_FUNCS(mmap getpagesize) + AC_CHECK_FUNCS(getc_unlocked getchar_unlocked fgetc_unlocked fread_unlocked fgets_unlocked) + AC_CHECK_FUNCS(__getdelim __srefill __filbuf __srget __uflow) + AC_CHECK_FUNCS(open64 lseek64 mmap64 fopen64 freopen64 ftello64 fseeko64 fsetpos64) +-AC_CHECK_FUNCS(__open64 __lseek64 __fopen64 __freopen64 __ftello64 __fseeko64 __fsetpos64) + AC_CHECK_FUNCS(__fgets_chk __fgets_unlocked_chk __fread_chk __fread_unlocked_chk __read_chk __recv_chk __recvfrom_chk) + AC_CHECK_FUNCS(CreateFileA CreateFileW ReOpenFile ReadFile CloseHandle) + AC_CHECK_FUNCS(AllocConsole AttachConsole SetConsoleMode WriteConsoleOutputA WriteConsoleOutputW) + From 7e404eb447c654390c3dd14f6cf23a5ee93d8fea Mon Sep 17 00:00:00 2001 From: ghpzin Date: Wed, 2 Apr 2025 17:44:24 +0300 Subject: [PATCH 2/2] zzuf: modernize - replace `rec` with `finalAttrs` - remove `with lib;` from `meta` - replace `rev` with `tag` in `src` - replace `sha256` with `hash` in `src` --- pkgs/by-name/zz/zzuf/package.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/zz/zzuf/package.nix b/pkgs/by-name/zz/zzuf/package.nix index 45980fdfd2e2..5721d714f29f 100644 --- a/pkgs/by-name/zz/zzuf/package.nix +++ b/pkgs/by-name/zz/zzuf/package.nix @@ -7,15 +7,15 @@ autoreconfHook, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "zzuf"; version = "0.15"; src = fetchFromGitHub { owner = "samhocevar"; repo = "zzuf"; - rev = "v${version}"; - sha256 = "0li1s11xf32dafxq1jbnc8c63313hy9ry09dja2rymk9mza4x2n9"; + tag = "v${finalAttrs.version}"; + hash = "sha256-yYpO1K9pVp+Fki0Bn5OHI4xhGGJ2yYC7U00M10PQIVI="; }; patches = [ @@ -34,11 +34,11 @@ stdenv.mkDerivation rec { autoreconfHook ]; - meta = with lib; { + meta = { description = "Transparent application input fuzzer"; homepage = "http://caca.zoy.org/wiki/zzuf"; - license = licenses.wtfpl; - platforms = platforms.linux; - maintainers = with maintainers; [ lihop ]; + license = lib.licenses.wtfpl; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ lihop ]; }; -} +})