summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/zip')
-rw-r--r--app-arch/zip/files/zip-3.0-clang-15-configure-tests.patch219
-rw-r--r--app-arch/zip/metadata.xml2
-rw-r--r--app-arch/zip/zip-3.0-r4.ebuild66
-rw-r--r--app-arch/zip/zip-3.0-r7.ebuild74
4 files changed, 294 insertions, 67 deletions
diff --git a/app-arch/zip/files/zip-3.0-clang-15-configure-tests.patch b/app-arch/zip/files/zip-3.0-clang-15-configure-tests.patch
new file mode 100644
index 000000000000..f776fb3ac04f
--- /dev/null
+++ b/app-arch/zip/files/zip-3.0-clang-15-configure-tests.patch
@@ -0,0 +1,219 @@
+https://bugs.gentoo.org/869203
+
+See also OE's variant: https://cgit.openembedded.org/openembedded-core/commit/?id=f898db2607ba3837f81292af92bc8cb605b96cb3
+--- a/unix/configure
++++ b/unix/configure
+@@ -32,7 +32,7 @@ CFLAGS_BZ=''
+ echo 'Check C compiler type (optimization options)'
+ # Sun C?
+ cat > conftest.c << _EOF_
+-int main()
++int main(void)
+ {
+ #ifndef __SUNPRO_C
+ bad code
+@@ -47,7 +47,7 @@ if test $? -eq 0; then
+ else
+ # Tru64 DEC/Compaq/HP C?
+ cat > conftest.c << _EOF_
+-int main()
++int main(void)
+ {
+ #ifndef __DECC
+ bad code
+@@ -62,7 +62,7 @@ _EOF_
+ else
+ # HP-UX HP C?
+ cat > conftest.c << _EOF_
+-int main()
++int main(void)
+ {
+ #ifdef __GNUC__
+ bad code
+@@ -88,7 +88,7 @@ _EOF_
+ else
+ # GNU C?
+ cat > conftest.c << _EOF_
+-int main()
++int main(void)
+ {
+ #ifndef __GNUC__
+ bad code
+@@ -197,7 +197,7 @@ else
+ echo " Check if OS already has bzip2 library installed"
+ cat > conftest.c << _EOF_
+ #include "bzlib.h"
+-int main()
++int main(void)
+ {
+ bz_stream strm;
+ BZ2_bzCompressEnd(&strm);
+@@ -260,7 +260,7 @@ rm -f _match.s _match.o _crc_i386.s _crc_i386.o
+
+ echo Check for ANSI options
+ cat > conftest.c << _EOF_
+-int main()
++int main(void)
+ {
+ #ifndef __STDC__
+ forget it
+@@ -288,7 +288,7 @@ $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
+ echo Check the handling of const
+ cat > conftest.c << _EOF_
+ typedef int charset[2];
+-int main()
++int main(void)
+ {
+ const charset x;
+ const char *foo;
+@@ -303,7 +303,7 @@ echo Check for time_t
+ cat > conftest.c << _EOF_
+ #include <sys/types.h>
+ #include <time.h>
+-int main()
++int main(void)
+ {
+ time_t t;
+ return 0;
+@@ -315,8 +315,9 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ echo Check for size_t
+ cat > conftest.c << _EOF_
++#include <stddef.h>
+ #include <sys/types.h>
+-int main()
++int main(void)
+ {
+ size_t s;
+ return 0;
+@@ -329,7 +330,7 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+ echo Check for off_t
+ cat > conftest.c << _EOF_
+ #include <sys/types.h>
+-int main()
++int main(void)
+ {
+ off_t s;
+ return 0;
+@@ -353,7 +354,7 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
+-int main()
++int main(void)
+ {
+ struct stat s;
+
+@@ -409,7 +410,7 @@ cat > conftest.c << _EOF_
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <stdio.h>
+-int main()
++int main(void)
+ {
+ off_t offset;
+ struct stat s;
+@@ -453,7 +454,7 @@ echo Check for wide char support
+ cat > conftest.c << _EOF_
+ #include <stdlib.h>
+ #include <stdio.h>
+-int main()
++int main(void)
+ {
+ int wsize;
+ wchar_t *wide_string;
+@@ -489,7 +490,7 @@ fi
+ echo Check for gcc no-builtin flag
+ # -fno-builtin since version 2
+ cat > conftest.c << _EOF_
+-int main()
++int main(void)
+ {
+ #if __GNUC__ >= 2
+ return 0;
+@@ -508,14 +509,14 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+ for func in rmdir strchr strrchr rename mktemp mktime mkstemp
+ do
+ echo Check for $func
+- echo "int main(){ $func(); return 0; }" > conftest.c
++ echo "char $func(); int main(void){ return $func(); }" > conftest.c
+ $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
+ done
+
+
+ echo Check for memset
+-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
++echo "int main(void){ char memset(); return memset(); }" > conftest.c
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
+
+@@ -523,7 +524,7 @@ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ echo Check for memmove
+ cat > conftest.c << _EOF_
+ #include <string.h>
+-int main() { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
++int main(void) { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
+ _EOF_
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_MEMMOVE"
+@@ -532,7 +533,7 @@ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ echo Check for strerror
+ cat > conftest.c << _EOF_
+ #include <string.h>
+-int main() { strerror( 0); return 0; }
++int main(void) { strerror(0); return 0; }
+ _EOF_
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_STRERROR"
+@@ -540,7 +541,7 @@ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ echo Check for errno declaration
+ cat > conftest.c << _EOF_
+ #include <errno.h>
+-main()
++int main(void)
+ {
+ errno = 0;
+ return 0;
+@@ -552,7 +553,7 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
+
+ echo Check for directory libraries
+ cat > conftest.c << _EOF_
+-int main() { return closedir(opendir(".")); }
++int main(void) { char closedir(); char opendir(); return closedir(opendir()); }
+ _EOF_
+
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+@@ -574,7 +575,7 @@ fi
+ # Dynix/ptx 1.3 needed this
+
+ echo Check for readlink
+-echo "int main(){ return readlink(); }" > conftest.c
++echo "int main(void){ char readlink(); return readlink(); }" > conftest.c
+ $CC -o conftest conftest.c >/dev/null 2>/dev/null
+ if [ $? -ne 0 ]; then
+ $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
+@@ -617,7 +618,7 @@ CFLAGS="${CFLAGS} ${OPT}"
+
+ echo Check for valloc
+ cat > conftest.c << _EOF_
+-main()
++int main(void)
+ {
+ #ifdef MMAP
+ valloc();
+@@ -652,12 +653,12 @@ elif [ -f /xenix ]; then
+ fi
+ elif uname -X >/dev/null 2>/dev/null; then
+ # SCO shared library check
+- echo "int main() { return 0;}" > conftest.c
++ echo "int main(void) { return 0;}" > conftest.c
+ $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
+ [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
+ else
+ SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
+- echo "int main() { return 0;}" > conftest.c
++ echo "int main(void) { return 0;}" > conftest.c
+ case $SYSTEM in
+ OSF1|ULTRIX)
+ echo Check for -Olimit option
diff --git a/app-arch/zip/metadata.xml b/app-arch/zip/metadata.xml
index 564fd76677c8..a703875414c6 100644
--- a/app-arch/zip/metadata.xml
+++ b/app-arch/zip/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/app-arch/zip/zip-3.0-r4.ebuild b/app-arch/zip/zip-3.0-r4.ebuild
deleted file mode 100644
index d03dd55d5bf2..000000000000
--- a/app-arch/zip/zip-3.0-r4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit toolchain-funcs flag-o-matic
-
-MY_P="${PN}${PV//.}"
-DESCRIPTION="Info ZIP (encryption support)"
-HOMEPAGE="http://www.info-zip.org/"
-SRC_URI="mirror://sourceforge/infozip/${MY_P}.zip"
-
-LICENSE="Info-ZIP"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux"
-IUSE="bzip2 crypt natspec unicode"
-
-DEPEND="${RDEPEND}"
-RDEPEND="bzip2? ( app-arch/bzip2 )
- natspec? ( dev-libs/libnatspec )"
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}/${P}"-no-crypt.patch #238398
- "${FILESDIR}/${P}"-pic.patch
- "${FILESDIR}/${P}"-exec-stack.patch #122849
- "${FILESDIR}/${P}"-build.patch #200995
- "${FILESDIR}/${P}"-zipnote-freeze.patch #322047
- "${FILESDIR}/${P}"-format-security.patch #512414
-)
-
-src_prepare() {
- default
- use natspec && eapply "${FILESDIR}/${PN}"-3.0-natspec.patch #275244
-}
-
-src_configure() {
- append-cppflags \
- -DLARGE_FILE_SUPPORT \
- -DUIDGID_NOT_16BIT \
- -D$(usex bzip2 '' NO)BZIP2_SUPPORT \
- -D$(usex crypt '' NO)CRYPT \
- -D$(usex unicode '' NO)UNICODE_SUPPORT
- # Third arg disables bzip2 logic as we handle it ourselves above.
- sh ./unix/configure "$(tc-getCC)" "-I. -DUNIX ${CFLAGS} ${CPPFLAGS}" "${T}" || die
- if use bzip2 ; then
- sed -i -e "s:LFLAGS2=:&'-lbz2 ':" flags || die
- fi
-}
-
-src_compile() {
- emake \
- CPP="$(tc-getCPP)" \
- -f unix/Makefile generic
-}
-
-src_install() {
- dobin zip zipnote zipsplit
- doman man/zip{,note,split}.1
- if use crypt ; then
- dobin zipcloak
- doman man/zipcloak.1
- fi
- dodoc BUGS CHANGES README* TODO WHATSNEW WHERE proginfo/*.txt
-}
diff --git a/app-arch/zip/zip-3.0-r7.ebuild b/app-arch/zip/zip-3.0-r7.ebuild
new file mode 100644
index 000000000000..3dcbb23850e3
--- /dev/null
+++ b/app-arch/zip/zip-3.0-r7.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo toolchain-funcs flag-o-matic
+
+MY_P="${PN}${PV//.}"
+DESCRIPTION="Info ZIP (encryption support)"
+HOMEPAGE="https://infozip.sourceforge.net/Zip.html"
+SRC_URI="https://downloads.sourceforge.net/infozip/${MY_P}.zip"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="Info-ZIP"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 crypt natspec unicode"
+
+RDEPEND="bzip2? ( app-arch/bzip2 )
+ natspec? ( dev-libs/libnatspec )"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-crypt.patch # bug #238398
+ "${FILESDIR}"/${P}-pic.patch
+ "${FILESDIR}"/${P}-exec-stack.patch # bug #122849
+ "${FILESDIR}"/${P}-build.patch # bug #200995
+ "${FILESDIR}"/${P}-zipnote-freeze.patch # bug #322047
+ "${FILESDIR}"/${P}-format-security.patch # bug #512414
+ "${FILESDIR}"/${P}-clang-15-configure-tests.patch
+)
+
+src_prepare() {
+ # bug #275244
+ use natspec && PATCHES+=( "${FILESDIR}"/${PN}-3.0-natspec.patch )
+ default
+}
+
+src_configure() {
+ # Needed for Clang 16
+ append-flags -std=gnu89
+
+ append-cppflags \
+ -DLARGE_FILE_SUPPORT \
+ -DUIDGID_NOT_16BIT \
+ -D$(usev !bzip2 'NO')BZIP2_SUPPORT \
+ -D$(usev !crypt 'NO')CRYPT \
+ -D$(usev !unicode 'NO')UNICODE_SUPPORT
+
+ # - We use 'sh' because: 1. lacks +x bit, easier; 2. it tries to load bashdb
+ # - Third arg disables bzip2 logic as we handle it ourselves above.
+ edo sh ./unix/configure "$(tc-getCC)" "-I. -DUNIX ${CFLAGS} ${CPPFLAGS}" "${T}"
+
+ if use bzip2 ; then
+ sed -i -e "s:LFLAGS2=:&'-lbz2 ':" flags || die
+ fi
+}
+
+src_compile() {
+ emake \
+ CPP="$(tc-getCPP)" \
+ -f unix/Makefile generic
+}
+
+src_install() {
+ dobin zip zipnote zipsplit
+ doman man/zip{,note,split}.1
+ if use crypt ; then
+ dobin zipcloak
+ doman man/zipcloak.1
+ fi
+ dodoc BUGS CHANGES README* TODO WHATSNEW WHERE proginfo/*.txt
+}