commit:     5c65f9976ebf4e21f5cf31d8c0fa1757447ab676
Author:     Akinori Hattori <hattya <AT> gentoo <DOT> org>
AuthorDate: Tue May 12 14:42:29 2020 +0000
Commit:     Akinori Hattori <hattya <AT> gentoo <DOT> org>
CommitDate: Tue May 12 14:42:53 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c65f997

app-admin/pwcrypt: fix build with >=sys-devel/gcc-10

Closes: https://bugs.gentoo.org/707854
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Akinori Hattori <hattya <AT> gentoo.org>

 app-admin/pwcrypt/files/pwcrypt-gcc-10.patch | 66 ++++++++++++++++++++++++++++
 app-admin/pwcrypt/pwcrypt-1.2.2-r2.ebuild    |  1 +
 2 files changed, 67 insertions(+)

diff --git a/app-admin/pwcrypt/files/pwcrypt-gcc-10.patch 
b/app-admin/pwcrypt/files/pwcrypt-gcc-10.patch
new file mode 100644
index 00000000000..745c93f5d15
--- /dev/null
+++ b/app-admin/pwcrypt/files/pwcrypt-gcc-10.patch
@@ -0,0 +1,66 @@
+--- a/src/cli-crypt.h
++++ b/src/cli-crypt.h
+@@ -27,16 +27,16 @@
+ #define LSIZE 1024    /* our standard buffer size for static memory */
+ 
+ /* our global variables */
+-char cleartext_pass[LSIZE];   /* where do we store the initial cleartext of 
the password */
+-char encrypted_pass[LSIZE];   /* where we stuff our password once it's 
encrypted */
+-char salt_src[LSIZE];         /* a place we can store text to scramble to get 
our salt */
+-char salt[LSIZE];             /* the actual salt we end up with using in our 
call to crypt(); */
++extern char cleartext_pass[LSIZE];    /* where do we store the initial 
cleartext of the password */
++extern char encrypted_pass[LSIZE];    /* where we stuff our password once 
it's encrypted */
++extern char salt_src[LSIZE];          /* a place we can store text to 
scramble to get our salt */
++extern char salt[LSIZE];              /* the actual salt we end up with using 
in our call to crypt(); */
+ 
+ /* flags we use to determine how we're doing things */
+-short int md5;                /* we doing md5 passwords */
+-short int quiet;      /* are we to be quiet */
+-short int debug;      /* do we print debug info? */
+-short int do_salt;    /* do we need to provide a salt? */
++extern short int md5;         /* we doing md5 passwords */
++extern short int quiet;       /* are we to be quiet */
++extern short int debug;       /* do we print debug info? */
++extern short int do_salt;     /* do we need to provide a salt? */
+ 
+ 
+ /* from main.c */
+--- a/src/crypt.c
++++ b/src/crypt.c
+@@ -26,7 +26,7 @@
+ 
+ #include "include.h"
+ 
+-
++char encrypted_pass[LSIZE];
+ 
+ short int cr_crypt() {
+               char *cp;
+--- a/src/getopt.c
++++ b/src/getopt.c
+@@ -25,6 +25,13 @@
+ 
+ #include "include.h"
+ 
++char cleartext_pass[LSIZE];
++
++short int md5;
++short int quiet;
++short int debug;
++short int do_salt;
++
+ void cr_version(char *me) {
+       /* some quick mutzing around to get the == of `basename $0` */
+       char lme[LSIZE];
+--- a/src/random.c
++++ b/src/random.c
+@@ -27,6 +27,9 @@
+ 
+ #include "include.h"
+ 
++char salt_src[LSIZE];
++char salt[LSIZE];
++
+ /* shared amongst the functions in this file */
+ long int rand_file;
+ 

diff --git a/app-admin/pwcrypt/pwcrypt-1.2.2-r2.ebuild 
b/app-admin/pwcrypt/pwcrypt-1.2.2-r2.ebuild
index bc081dbe683..250ada02cb4 100644
--- a/app-admin/pwcrypt/pwcrypt-1.2.2-r2.ebuild
+++ b/app-admin/pwcrypt/pwcrypt-1.2.2-r2.ebuild
@@ -14,6 +14,7 @@ SLOT="0"
 KEYWORDS="amd64 ppc x86"
 IUSE=""
 
+PATCHES=( "${FILESDIR}"/${PN}-gcc-10.patch )
 DOCS=( CREDITS README )
 
 src_prepare() {

Reply via email to