emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#26223: closed ([PATCH] gnu: rcs: fix FTBFS against


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#26223: closed ([PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0)
Date: Thu, 23 Mar 2017 18:33:01 +0000

Your message dated Thu, 23 Mar 2017 19:32:10 +0100
with message-id <address@hidden>
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
address@hidden)


-- 
26223: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26223
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- 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 <address@hidden>
+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




--- End Message ---
--- Begin Message --- Subject: Re: bug#26223: [PATCH] gnu: rcs: fix FTBFS against gcc-5.4.0 Date: Thu, 23 Mar 2017 19:32:10 +0100 User-agent: Notmuch/0.24 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu)
Sergei Trofimovich <address@hidden> 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 <address@hidden>
> +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

Attachment: signature.asc
Description: PGP signature


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]