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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26223 in the body.
You can then email your comments to 26223 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#26223
; Package guix-patches
.
(Thu, 23 Mar 2017 10:24:02 GMT) Full text and rfc822 format available.Sergei Trofimovich <slyfox <at> inbox.ru>
:guix-patches <at> gnu.org
.
(Thu, 23 Mar 2017 10:24:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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 +0000
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 --- 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
Marius Bakke <mbakke <at> fastmail.com>
:Sergei Trofimovich <slyfox <at> inbox.ru>
: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)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 21 Apr 2017 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.