mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-01 23:28:08 -07:00
dev-libs/libmcrypt: fix more modern C issues
Closes: https://bugs.gentoo.org/919293 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
42
dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99-2.patch
Normal file
42
dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99-2.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
https://src.fedoraproject.org/rpms/libmcrypt/blob/e02fbd614a5b7ba093e9e15ab322e7eb02d64e3b/f/libmcrypt-configure-c99-2.patch
|
||||
|
||||
Fix glitches in the readdir and bcopy probes. They were
|
||||
just invalid.
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index d0fb8783e147654b..4fe7660a16359171 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -6639,7 +6639,7 @@ fi
|
||||
done
|
||||
|
||||
|
||||
-for ac_func in readdir,,
|
||||
+for ac_func in readdir
|
||||
do
|
||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
echo "$as_me:$LINENO: checking for $ac_func" >&5
|
||||
@@ -6741,7 +6741,7 @@ fi
|
||||
done
|
||||
|
||||
|
||||
-for ac_func in bcopy,,
|
||||
+for ac_func in bcopy
|
||||
do
|
||||
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
echo "$as_me:$LINENO: checking for $ac_func" >&5
|
||||
diff --git a/configure.in b/configure.in
|
||||
index a815778931728ec2..f0c9a0e8f73e1153 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -204,8 +204,8 @@ AC_FUNC_MEMCMP
|
||||
AC_FUNC_REALLOC
|
||||
|
||||
AC_CHECK_FUNCS([bzero memmove memset mlock readdir_r strchr strdup strrchr])
|
||||
-AC_CHECK_FUNCS([readdir,,])
|
||||
-AC_CHECK_FUNCS([bcopy,,])
|
||||
+AC_CHECK_FUNCS([readdir])
|
||||
+AC_CHECK_FUNCS([bcopy])
|
||||
|
||||
dnl Checks for libraries.
|
||||
AC_C_BIGENDIAN
|
||||
56
dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99.patch
Normal file
56
dev-libs/libmcrypt/files/libmcrypt-2.5.8-c99.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
https://src.fedoraproject.org/rpms/libmcrypt/blob/e02fbd614a5b7ba093e9e15ab322e7eb02d64e3b/f/libmcrypt-c99.patch
|
||||
|
||||
Add return and argument types to fake prototypes in mcrypt_symb.c.
|
||||
This avoids build failures with future compilers that do not support
|
||||
implicit function declarations.
|
||||
|
||||
Also fix a minor type error in the perminit calls in the Triple DES
|
||||
implementation.
|
||||
|
||||
Submitted upstream: <https://sourceforge.net/p/mcrypt/patches/15/>
|
||||
|
||||
diff --git a/lib/Makefile.am b/lib/Makefile.am
|
||||
index a1a09578858aaf3c..a92f150627a1f610 100644
|
||||
--- a/lib/Makefile.am
|
||||
+++ b/lib/Makefile.am
|
||||
@@ -23,8 +23,8 @@ mcrypt_symb.c: mcrypt_internal.h
|
||||
@echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
|
||||
@echo "" >> mcrypt_symb.c
|
||||
-@for i in $(EXTRA_ALGOS); do \
|
||||
- if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
- if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
+ if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
+ if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
done
|
||||
@echo "" >> mcrypt_symb.c
|
||||
@echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
|
||||
diff --git a/lib/Makefile.in b/lib/Makefile.in
|
||||
index 1baaa1e94be1abce..e0e690d1c831370f 100644
|
||||
--- a/lib/Makefile.in
|
||||
+++ b/lib/Makefile.in
|
||||
@@ -561,8 +561,8 @@ mcrypt_symb.c: mcrypt_internal.h
|
||||
@echo "/* This is automatically created. Don't touch... */" >> mcrypt_symb.c
|
||||
@echo "" >> mcrypt_symb.c
|
||||
-@for i in $(EXTRA_ALGOS); do \
|
||||
- if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
- if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern "$$3"();";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
+ if test -f ../modules/algorithms/$$i.c; then cat ../modules/algorithms/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
+ if test -f ../modules/modes/$$i.c; then cat ../modules/modes/$$i.c 2>/dev/null|grep define|grep LTX|awk '{print "extern void "$$3"(void);";}' >> mcrypt_symb.c 2>/dev/null; fi; \
|
||||
done
|
||||
@echo "" >> mcrypt_symb.c
|
||||
@echo "const mcrypt_preloaded mps[] = {" >> mcrypt_symb.c
|
||||
diff --git a/modules/algorithms/tripledes.c b/modules/algorithms/tripledes.c
|
||||
index 98e9bd45b4f336b1..2737d2fd8fd02a3f 100644
|
||||
--- a/modules/algorithms/tripledes.c
|
||||
+++ b/modules/algorithms/tripledes.c
|
||||
@@ -201,8 +201,8 @@ static int _mcrypt_desinit(TRIPLEDES_KEY * key)
|
||||
spinit(key, 0);
|
||||
spinit(key, 1);
|
||||
spinit(key, 2);
|
||||
- perminit(&key->iperm, ip);
|
||||
- perminit(&key->fperm, fp);
|
||||
+ perminit(key->iperm, ip);
|
||||
+ perminit(key->fperm, fp);
|
||||
|
||||
|
||||
return 0;
|
||||
45
dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
Normal file
45
dev-libs/libmcrypt/libmcrypt-2.5.8-r7.ebuild
Normal file
@@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Provides an uniform interface to access several encryption algorithms"
|
||||
HOMEPAGE="https://mcrypt.sourceforge.net"
|
||||
SRC_URI="mirror://sourceforge/mcrypt/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
DOCS=(
|
||||
AUTHORS NEWS README THANKS TODO ChangeLog
|
||||
doc/README.config doc/README.key doc/README.xtea
|
||||
doc/example.c
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-rotate-mask.patch"
|
||||
"${FILESDIR}/${P}-autoconf-2.70.patch" #775113
|
||||
# http://sourceforge.net/tracker/index.php?func=detail&aid=1872801&group_id=87941&atid=584895
|
||||
"${FILESDIR}/${P}-uninitialized.patch"
|
||||
"${FILESDIR}/${P}-prototypes.patch"
|
||||
"${FILESDIR}/${P}-c99.patch"
|
||||
"${FILESDIR}/${P}-c99-2.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
mv configure.in configure.ac || die
|
||||
mv libltdl/configure.in libltdl/configure.ac || die
|
||||
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac libltdl/configure.ac || die
|
||||
|
||||
eautoreconf # update stale autotools
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
}
|
||||
Reference in New Issue
Block a user