xmlto: fix build with clang 16

Fix implicit `int` on `main` and `static` declarations. Clang 16 reports
these as errors.
This commit is contained in:
Randy Eckenrode 2023-06-03 11:32:35 -04:00
parent 7cb8db1c02
commit 75f431fb84
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

View File

@ -1,5 +1,5 @@
{ fetchurl, lib, stdenv, libxml2, libxslt
, docbook_xml_dtd_45, docbook_xsl, w3m
{ fetchurl, fetchpatch, lib, stdenv, libxml2, libxslt
, docbook_xml_dtd_45, docbook_xsl, flex, w3m
, bash, getopt, makeWrapper }:
stdenv.mkDerivation rec {
@ -10,6 +10,20 @@ stdenv.mkDerivation rec {
sha256 = "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i";
};
# Note: These patches modify `xmlif/xmlif.l`, which requires `flex` to be rerun.
patches = [
# Fixes implicit `int` on `main`, which is an error with clang 16.
(fetchpatch {
url = "https://pagure.io/xmlto/c/8e34f087bf410bcc5fe445933d6ad9bae54f24b5.patch";
hash = "sha256-z5riDBZBVuFeBcjI++dAl3nTIgOPau4Gag0MJbYt+cc=";
})
# Fixes implicit `int` on `ifsense`, which is also an error with clang 16.
(fetchpatch {
url = "https://pagure.io/xmlto/c/1375e2df75530cd198bd16ac3de38e2b0d126276.patch";
hash = "sha256-fM6ZdTigrcC9cbXiKu6oa5Hs71mrREockB1wRlw6nDk=";
})
];
postPatch = ''
patchShebangs xmlif/test/run-test
@ -23,7 +37,7 @@ stdenv.mkDerivation rec {
# `libxml2' provides `xmllint', needed at build-time and run-time.
# `libxslt' provides `xsltproc', used by `xmlto' at run-time.
nativeBuildInputs = [ makeWrapper getopt ];
nativeBuildInputs = [ makeWrapper flex getopt ];
buildInputs = [ libxml2 libxslt docbook_xml_dtd_45 docbook_xsl ];
postInstall = ''