* gnu/packages/patches/mpg321-gcc-10.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/mp3.scm (mpg321)[source]: Use it.
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From f930c3b81bdf9c05152fb005562b3869f6e36f34 Mon Sep 17 00:00:00 2001
 | |
| From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
 | |
| Date: Thu, 4 Jun 2020 20:41:25 +0300
 | |
| Subject: [PATCH] Fix GCC10 compilation
 | |
| 
 | |
| ---
 | |
|  mpg321.c |  8 ++++++++
 | |
|  mpg321.h | 16 ++++++++--------
 | |
|  2 files changed, 16 insertions(+), 8 deletions(-)
 | |
| 
 | |
| diff --git a/mpg321.c b/mpg321.c
 | |
| index 19282bb..663882e 100644
 | |
| --- a/mpg321.c
 | |
| +++ b/mpg321.c
 | |
| @@ -63,6 +63,14 @@
 | |
|  #include <pthread.h>
 | |
|  #include <semaphore.h>
 | |
|  
 | |
| +output_frame *Output_Queue;
 | |
| +decoded_frames *Decoded_Frames;
 | |
| +int semarray;
 | |
| +int mad_decoder_position;
 | |
| +int output_buffer_position;
 | |
| +double real[FFT_BUFFER_SIZE];
 | |
| +double imag[FFT_BUFFER_SIZE];
 | |
| +int loop_remaining;
 | |
|  
 | |
|  int pflag = 0;
 | |
|  int volume = 0;
 | |
| diff --git a/mpg321.h b/mpg321.h
 | |
| index 798bff0..235cf4a 100644
 | |
| --- a/mpg321.h
 | |
| +++ b/mpg321.h
 | |
| @@ -116,7 +116,7 @@ extern char *playlist_file;
 | |
|  extern int quit_now;
 | |
|  extern char remote_input_buf[PATH_MAX + 5];
 | |
|  extern int file_change;
 | |
| -int loop_remaining;
 | |
| +extern int loop_remaining;
 | |
|  
 | |
|  extern int status;
 | |
|  extern int scrobbler_time;
 | |
| @@ -233,8 +233,8 @@ RETSIGTYPE handle_sigchld(int sig);
 | |
|  #define FFT_BUFFER_SIZE_LOG 9
 | |
|  #define FFT_BUFFER_SIZE (1 << FFT_BUFFER_SIZE_LOG) /* 512 */
 | |
|  /*Temporary data stores to perform FFT in */
 | |
| -double real[FFT_BUFFER_SIZE];
 | |
| -double imag[FFT_BUFFER_SIZE];
 | |
| +extern double real[FFT_BUFFER_SIZE];
 | |
| +extern double imag[FFT_BUFFER_SIZE];
 | |
|  
 | |
|  typedef struct {
 | |
|  	double real[FFT_BUFFER_SIZE];
 | |
| @@ -258,10 +258,10 @@ fft_state *fft_init(void);
 | |
|  /* Output buffer process */
 | |
|  void frame_buffer_p();
 | |
|  /* Semaphore array */
 | |
| -int semarray;
 | |
| +extern int semarray;
 | |
|  /* Input/Output buffer position */
 | |
| -int mad_decoder_position;
 | |
| -int output_buffer_position;
 | |
| +extern int mad_decoder_position;
 | |
| +extern int output_buffer_position;
 | |
|  /* Output Frame including needed information */
 | |
|  typedef struct {
 | |
|  	unsigned char data[4*1152];
 | |
| @@ -285,10 +285,10 @@ typedef struct {
 | |
|  } decoded_frames;
 | |
|  
 | |
|  /* Output frame queue pointer */
 | |
| -output_frame *Output_Queue;
 | |
| +extern output_frame *Output_Queue;
 | |
|  
 | |
|  /* Shared total decoded frames */
 | |
| -decoded_frames *Decoded_Frames;
 | |
| +extern decoded_frames *Decoded_Frames;
 | |
|  
 | |
|  #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
 | |
|  /* */
 | |
| -- 
 | |
| 2.26.2
 | |
| 
 |