Package: guix-patches;
Reported by: Sergei Trofimovich <slyfox <at> inbox.ru>
Date: Thu, 23 Mar 2017 10:24:02 UTC
Severity: normal
Tags: patch
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
Message #10 received at 26223-done <at> debbugs.gnu.org (full text, mbox):
From: Marius Bakke <mbakke <at> fastmail.com> To: Sergei Trofimovich <slyfox <at> inbox.ru>, 26223-done <at> debbugs.gnu.org Subject: Re: bug#26223: [PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0 Date: Thu, 23 Mar 2017 19:32:10 +0100
[Message part 1 (text/plain, inline)]
Sergei Trofimovich <slyfox <at> inbox.ru> writes: > The build failed due to mispaced _Noreturn (__attribute__((noreturn))) > statement. It was fixed upstream with this commit: > http://git.savannah.gnu.org/cgit/rcs.git/commit/?h=p&id=260704a9164dd34cf7128d6b1e88075ffa3be054 > > Unfortunately no release was issued yet. Tracked as: > http://savannah.gnu.org/bugs/?49568 > > The change applies upstream fix as-is. > For me it fixes hydra build of 'rcs' and it's dependency > 'cvs-fast-export' in 'core-updates' branch. > > * gnu/local.mk (dist_patch_DATA): add patch > * gnu/packages/patches/rcs-5.9.4-noreturn.patch: new file > * gnu/packages/version-control.scm (rcs): applied patch Thanks! I moved the comments from the commit message into the patch header and mangled the format a little bit to match what most patches have. Also added capitalizations and punctuations to the commit message. Pushed as 096f0080147c8a1a0285416f5ff0ecfc353414b6. :-) > --- > gnu/local.mk | 1 + > gnu/packages/patches/rcs-5.9.4-noreturn.patch | 83 +++++++++++++++++++++++++++ > gnu/packages/version-control.scm | 3 +- > 3 files changed, 86 insertions(+), 1 deletion(-) > create mode 100644 gnu/packages/patches/rcs-5.9.4-noreturn.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index 256682eff..a0b72b2ed 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -891,6 +891,7 @@ dist_patch_DATA = \ > %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ > %D%/packages/patches/rapicorn-isnan.patch \ > %D%/packages/patches/ratpoison-shell.patch \ > + %D%/packages/patches/rcs-5.9.4-noreturn.patch \ > %D%/packages/patches/readline-link-ncurses.patch \ > %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ > %D%/packages/patches/readline-7.0-mingw.patch \ > diff --git a/gnu/packages/patches/rcs-5.9.4-noreturn.patch b/gnu/packages/patches/rcs-5.9.4-noreturn.patch > new file mode 100644 > index 000000000..290a36047 > --- /dev/null > +++ b/gnu/packages/patches/rcs-5.9.4-noreturn.patch > @@ -0,0 +1,83 @@ > +commit 260704a9164dd34cf7128d6b1e88075ffa3be054 > +Author: Thien-Thi Nguyen <ttn <at> gnu.org> > +Date: Thu Jun 18 21:25:53 2015 +0200 > + > + [C slog] Move ‘exiting’ to beginning of func decl. > + > + Apparently, ‘gcc --std=c11’ does not abide the ‘exiting’ > + attribute appearing at the end of the func decl. > + Reported by Romain Francoise. > + See also <https://bugs.debian.org/778100>. > + > + * src/b-complain.h (generic_fatal, fatal_syntax, fatal_sys) > + * src/b-fb.h (Ierror, Oerror) > + * src/base.h (unexpected_EOF, thank_you_and_goodnight): > + Move ‘exiting’ attribute to beginning of func decl. > + > +diff --git a/src/b-complain.h b/src/b-complain.h > +index 0ffd157..ea0ffc5 100644 > +--- a/src/b-complain.h > ++++ b/src/b-complain.h > +@@ -32,12 +32,14 @@ extern void generic_warn (char const *who, char const *fmt, ...) > + printf_string (2, 3); > + extern void generic_error (char const *who, char const *fmt, ...) > + printf_string (2, 3); > ++exiting > + extern void generic_fatal (char const *who, char const *fmt, ...) > +- printf_string (2, 3) exiting; > ++ printf_string (2, 3); > ++exiting > + extern void fatal_syntax (size_t lno, char const *fmt, ...) > +- printf_string (2, 3) exiting; > +-extern void fatal_sys (char const *who) > +- exiting; > ++ printf_string (2, 3); > ++exiting > ++extern void fatal_sys (char const *who); > + > + /* Idioms. Here, prefix P stands for "program" (general operation); > + M for "manifestation"; R for "repository". */ > +diff --git a/src/b-fb.h b/src/b-fb.h > +index c9850e7..bf5eaf8 100644 > +--- a/src/b-fb.h > ++++ b/src/b-fb.h > +@@ -21,9 +21,11 @@ > + */ > + > + extern int change_mode (int fd, mode_t mode); > +-extern void Ierror (void) exiting; > ++exiting > ++extern void Ierror (void); > + extern void testIerror (FILE *f); > +-extern void Oerror (void) exiting; > ++exiting > ++extern void Oerror (void); > + extern void testOerror (FILE *o); > + extern FILE *fopen_safer (char const *filename, char const *type); > + extern void Ozclose (FILE **p); > +diff --git a/src/base.h b/src/base.h > +index 163ee09..5e7a9f8 100644 > +--- a/src/base.h > ++++ b/src/base.h > +@@ -755,8 +755,8 @@ int dorewrite (bool lockflag, int changed); > + int donerewrite (int changed, time_t newRCStime); > + void ORCSclose (void); > + void ORCSerror (void); > +-void unexpected_EOF (void) > +- exiting; > ++exiting > ++void unexpected_EOF (void); > + void initdiffcmd (struct diffcmd *dc); > + int getdiffcmd (struct fro *finfile, bool delimiter, > + FILE *foutfile, struct diffcmd *dc); > +@@ -831,8 +831,8 @@ char const *date2str (char const date[datesize], > + char datebuf[datesize + zonelenmax]); > + > + /* rcsutil */ > +-void thank_you_and_goodnight (int const how) > +- exiting; > ++exiting > ++void thank_you_and_goodnight (int const how); > + /* These are for ‘thank_you_and_goodnight’. */ > + #define TYAG_ORCSERROR (1 << 3) > + #define TYAG_DIRTMPUNLINK (1 << 2) > diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm > index aee424fbc..e18846778 100644 > --- a/gnu/packages/version-control.scm > +++ b/gnu/packages/version-control.scm > @@ -798,7 +798,8 @@ projects, from individuals to large-scale enterprise operations.") > version ".tar.xz")) > (sha256 > (base32 > - "1zsx7bb0rgvvvisiy4zlixf56ay8wbd9qqqcp1a1g0m1gl6mlg86")))) > + "1zsx7bb0rgvvvisiy4zlixf56ay8wbd9qqqcp1a1g0m1gl6mlg86")) > + (patches (search-patches "rcs-5.9.4-noreturn.patch")))) > (build-system gnu-build-system) > (native-inputs `(("ed" ,ed))) > (home-page "http://www.gnu.org/software/rcs/") > -- > 2.12.1
[signature.asc (application/pgp-signature, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.