From 4b90ae30ff87b210e9a7da58b449a2d33fe93ec9 Mon Sep 17 00:00:00 2001 From: ghpzin Date: Tue, 16 Sep 2025 17:19:32 +0300 Subject: [PATCH] hotdoc: fix build with gcc15 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add patch from merged upstream commit: https://github.com/hotdoc/hotdoc/commit/adf8518431fafb78c9b47862a0a9a58824b6a421 Fixes build failure with gcc15: ``` /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l: In function ‘yylex’: /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:49:10: error: too many arguments to function ‘parse_comment’; expected 0, have 1 49 | "/*" { return parse_comment (comments);} | ^~~~~~~~~~~~~ ~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:37:12: note: declared here 37 | static int parse_comment (); | ^~~~~~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:50:10: error: too many arguments to function ‘parse_define’; expected 0, have 1 50 | {HASH}{SPACE}*"define"{SPACE}* { return parse_define (comments); } | ^~~~~~~~~~~~ ~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:38:12: note: declared here 38 | static int parse_define (); | ^~~~~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l: At top level: /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:80:1: error: conflicting types for ‘parse_define’; have ‘int(PyObject *)’ {aka ‘int(struct _object *)’} 80 | parse_define (PyObject *comments) | ^~~~~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:38:12: note: previous declaration of ‘parse_define’ with type ‘int(void)’ 38 | static int parse_define (); | ^~~~~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:126:1: error: conflicting types for ‘parse_comment’; have ‘int(PyObject *)’ {aka ‘int(struct _object *)’} 126 | parse_comment (PyObject *comments) | ^~~~~~~~~~~~~ /build/hotdoc-0.17.4/hotdoc/parsers/c_comment_scanner/scanner.l:37:12: note: previous declaration of ‘parse_comment’ with type ‘int(void)’ 37 | static int parse_comment (); | ^~~~~~~~~~~~~ ``` --- pkgs/development/tools/hotdoc/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/tools/hotdoc/default.nix b/pkgs/development/tools/hotdoc/default.nix index 505182bc06aa..b6ee390228d9 100644 --- a/pkgs/development/tools/hotdoc/default.nix +++ b/pkgs/development/tools/hotdoc/default.nix @@ -2,6 +2,7 @@ lib, stdenv, buildPythonApplication, + fetchpatch, fetchPypi, replaceVars, clang, @@ -45,6 +46,13 @@ buildPythonApplication rec { clang = lib.getExe clang; libclang = "${lib.getLib libclang}/lib/libclang${stdenv.hostPlatform.extensions.sharedLibrary}"; }) + + # Fix build with gcc15 + (fetchpatch { + name = "hotdoc-fix-c_comment_scanner-function-prototypes-gcc15.patch"; + url = "https://github.com/hotdoc/hotdoc/commit/adf8518431fafb78c9b47862a0a9a58824b6a421.patch"; + hash = "sha256-5y50Yk+AjV3aSk8H3k9od/Yvy09FyQQOcVOAcstQnw8="; + }) ]; build-system = [ setuptools ];