diff options
author | Sam James <sam@gentoo.org> | 2023-03-17 21:42:45 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-03-17 21:52:36 +0000 |
commit | d63d78079332b0d18cdd745ff6ece3e9ea204533 (patch) | |
tree | b9f210e651eceec7b72f79b1cb9dc0a6f0502bee /dev-perl/Crypt-DES | |
parent | dev-perl/SDL: fix build w/ clang 16 (diff) | |
download | gentoo-d63d78079332b0d18cdd745ff6ece3e9ea204533.tar.gz gentoo-d63d78079332b0d18cdd745ff6ece3e9ea204533.tar.bz2 gentoo-d63d78079332b0d18cdd745ff6ece3e9ea204533.zip |
dev-perl/Crypt-DES: fix build w/ clang 16
Closes: https://bugs.gentoo.org/870427
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-perl/Crypt-DES')
-rw-r--r-- | dev-perl/Crypt-DES/Crypt-DES-2.70.0-r3.ebuild | 32 | ||||
-rw-r--r-- | dev-perl/Crypt-DES/files/Crypt-DES-2.07-implicit-func-decl.patch | 34 |
2 files changed, 66 insertions, 0 deletions
diff --git a/dev-perl/Crypt-DES/Crypt-DES-2.70.0-r3.ebuild b/dev-perl/Crypt-DES/Crypt-DES-2.70.0-r3.ebuild new file mode 100644 index 000000000000..1a477b6695dc --- /dev/null +++ b/dev-perl/Crypt-DES/Crypt-DES-2.70.0-r3.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DIST_AUTHOR=DPARIS +DIST_VERSION=2.07 +inherit perl-module + +DESCRIPTION="Perl DES encryption module" + +LICENSE="DES" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + virtual/perl-ExtUtils-MakeMaker + test? ( dev-perl/Crypt-CBC ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.07-implicit-func-decl.patch +) + +src_compile() { + mymake=( + "OPTIMIZE=${CFLAGS}" + ) + perl-module_src_compile +} diff --git a/dev-perl/Crypt-DES/files/Crypt-DES-2.07-implicit-func-decl.patch b/dev-perl/Crypt-DES/files/Crypt-DES-2.07-implicit-func-decl.patch new file mode 100644 index 000000000000..fa65def771b0 --- /dev/null +++ b/dev-perl/Crypt-DES/files/Crypt-DES-2.07-implicit-func-decl.patch @@ -0,0 +1,34 @@ +https://src.fedoraproject.org/rpms/perl-Crypt-DES/raw/0a4557f6b118387730b895037e4a17c90f212e68/f/perl-Crypt-DES-fedora-c99.patch +https://rt.cpan.org/Public/Bug/Display.html?id=133363 +https://rt.cpan.org/Public/Bug/Display.html?id=133412 +https://bugs.gentoo.org/870427 +--- a/DES.xs ++++ b/DES.xs +@@ -36,7 +36,7 @@ _des_expand_key(key) + if (key_len != sizeof(des_user_key)) + croak("Invalid key"); + +- perl_des_expand_key((i8 *)key, ks); ++ perl_des_expand_key((unsigned char *)key, ks); + + ST(0) = sv_2mortal(newSVpv((char *)ks, sizeof(ks))); + } +@@ -66,7 +66,8 @@ _des_crypt(input, output, ks, enc_flag) + + (SvUPGRADE(output, SVt_PV)); + +- perl_des_crypt(input, SvGROW(output, output_len), (i32 *)ks, enc_flag); ++ perl_des_crypt((unsigned char *)input, (unsigned char *)SvGROW(output, output_len), ++ (unsigned long *)ks, enc_flag); + + SvCUR_set(output, output_len); + *SvEND(output) = '\0'; +--- a/_des.h ++++ b/_des.h +@@ -5,3 +5,5 @@ typedef unsigned long des_ks[32]; + void _des_crypt( des_cblock in, des_cblock out, des_ks key, int encrypt ); + void _des_expand_key( des_user_key userKey, des_ks key ); + ++void perl_des_expand_key(des_user_key userKey, des_ks ks); ++void perl_des_crypt( des_cblock input, des_cblock output, des_ks ks, int encrypt ); + |