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.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Marius Bakke <mbakke <at> fastmail.com> Cc: tracker <at> debbugs.gnu.org Subject: bug#26223: closed ([PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0) Date: Thu, 23 Mar 2017 18:33:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 23 Mar 2017 19:32:10 +0100 with message-id <87y3vv4zf9.fsf <at> kirby.i-did-not-set--mail-host-address--so-tickle-me> and subject line Re: bug#26223: [PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0 has caused the debbugs.gnu.org bug report #26223, regarding [PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0 to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 26223: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26223 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Sergei Trofimovich <slyfox <at> inbox.ru> To: guix-patches <at> gnu.org Cc: Sergei Trofimovich <slyfox <at> inbox.ru> Subject: [PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0 Date: Thu, 23 Mar 2017 10:23:04 +0000The 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 --- 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
[Message part 3 (message/rfc822, inline)]
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 4 (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.