summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/7zip/7zip-23.01.ebuild109
-rw-r--r--app-arch/7zip/Manifest2
-rw-r--r--app-arch/7zip/files/7zip-23.01-respect-build-env.patch53
-rw-r--r--app-arch/7zip/metadata.xml28
-rw-r--r--app-arch/advancecomp/Manifest2
-rw-r--r--app-arch/advancecomp/advancecomp-2.6.ebuild (renamed from app-arch/advancecomp/advancecomp-2.2_pre20190301.ebuild)39
-rw-r--r--app-arch/advancecomp/files/advancecomp-2.2_pre20190301-gcc-11.patch184
-rw-r--r--app-arch/afio/afio-2.5.1-r2.ebuild4
-rw-r--r--app-arch/afio/metadata.xml2
-rw-r--r--app-arch/alien/Manifest1
-rw-r--r--app-arch/alien/alien-8.95-r2.ebuild (renamed from app-arch/alien/alien-8.95-r1.ebuild)17
-rw-r--r--app-arch/alien/alien-8.95.6.ebuild25
-rw-r--r--app-arch/alien/metadata.xml3
-rw-r--r--app-arch/arc/arc-5.21p-r1.ebuild (renamed from app-arch/arc/arc-5.21p.ebuild)10
-rw-r--r--app-arch/arc/files/arc-5.21o-interix.patch11
-rw-r--r--app-arch/arc/files/arc-5.21p-variadic-arcdie.patch38
-rw-r--r--app-arch/arj/arj-3.10.22-r8.ebuild (renamed from app-arch/arj/arj-3.10.22-r7.ebuild)24
-rw-r--r--app-arch/arj/files/arj-3.10.22-interix.patch45
-rw-r--r--app-arch/atool/atool-0.39.0-r1.ebuild4
-rw-r--r--app-arch/bloscpack/Manifest1
-rw-r--r--app-arch/bloscpack/bloscpack-0.16.0.ebuild31
-rw-r--r--app-arch/bloscpack/metadata.xml18
-rw-r--r--app-arch/brotli/Manifest2
-rw-r--r--app-arch/brotli/brotli-1.0.9-r6.ebuild106
-rw-r--r--app-arch/brotli/brotli-1.1.0.ebuild (renamed from app-arch/brotli/brotli-1.0.9-r3.ebuild)67
-rw-r--r--app-arch/brotli/brotli-9999.ebuild62
-rw-r--r--app-arch/brotli/metadata.xml4
-rw-r--r--app-arch/bsdsfv/bsdsfv-1.18-r3.ebuild (renamed from app-arch/bsdsfv/bsdsfv-1.18-r2.ebuild)12
-rw-r--r--app-arch/bzip2/Manifest1
-rw-r--r--app-arch/bzip2/bzip2-1.0.8-r4.ebuild135
-rw-r--r--app-arch/bzip2/bzip2-1.0.8-r5.ebuild (renamed from app-arch/bzip2/bzip2-1.0.8-r1.ebuild)53
-rw-r--r--app-arch/bzip2/bzip2-9999.ebuild41
-rw-r--r--app-arch/bzip2/metadata.xml1
-rw-r--r--app-arch/bzip3/Manifest1
-rw-r--r--app-arch/bzip3/bzip3-1.4.0.ebuild32
-rw-r--r--app-arch/bzip3/metadata.xml21
-rw-r--r--app-arch/cabextract/Manifest4
-rw-r--r--app-arch/cabextract/cabextract-1.11.ebuild (renamed from app-arch/cabextract/cabextract-1.9.1.ebuild)17
-rw-r--r--app-arch/cabextract/cabextract-1.8.ebuild39
-rw-r--r--app-arch/cabextract/cabextract-1.9-r2.ebuild72
-rw-r--r--app-arch/cabextract/cabextract-9999.ebuild17
-rw-r--r--app-arch/cabextract/files/cabextract-1.9-fix-bigendian.patch17
-rw-r--r--app-arch/cabextract/files/cabextract-1.9-remove-spurious-test_files.patch17
-rw-r--r--app-arch/cabextract/metadata.xml23
-rw-r--r--app-arch/cfv/Manifest1
-rw-r--r--app-arch/cfv/cfv-3.0.0.ebuild48
-rw-r--r--app-arch/cfv/metadata.xml20
-rw-r--r--app-arch/clzip/Manifest2
-rw-r--r--app-arch/clzip/clzip-1.14.ebuild32
-rw-r--r--app-arch/clzip/metadata.xml (renamed from app-arch/unmakeself/metadata.xml)5
-rw-r--r--app-arch/cpio/Manifest4
-rw-r--r--app-arch/cpio/cpio-2.12-r1.ebuild26
-rw-r--r--app-arch/cpio/cpio-2.13-r5.ebuild55
-rw-r--r--app-arch/cpio/cpio-2.13.ebuild27
-rw-r--r--app-arch/cpio/cpio-2.14.ebuild50
-rw-r--r--app-arch/cpio/cpio-2.15.ebuild54
-rw-r--r--app-arch/cpio/files/cpio-2.12-gcc-10.patch27
-rw-r--r--app-arch/cpio/files/cpio-2.12-name-overflow.patch15
-rw-r--r--app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch47
-rw-r--r--app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch42
-rw-r--r--app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch23
-rw-r--r--app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch42
-rw-r--r--app-arch/createrepo_c/Manifest3
-rw-r--r--app-arch/createrepo_c/createrepo_c-0.16.2.ebuild38
-rw-r--r--app-arch/createrepo_c/createrepo_c-1.0.4.ebuild66
-rw-r--r--app-arch/createrepo_c/createrepo_c-1.1.0.ebuild66
-rw-r--r--app-arch/createrepo_c/createrepo_c-9999.ebuild66
-rw-r--r--app-arch/createrepo_c/metadata.xml14
-rw-r--r--app-arch/csnappy/Manifest1
-rw-r--r--app-arch/csnappy/csnappy-0_pre20220804.ebuild44
-rw-r--r--app-arch/csnappy/files/csnappy-0_pre20220804-fix-tests.patch41
-rw-r--r--app-arch/csnappy/metadata.xml11
-rw-r--r--app-arch/deb2targz/deb2targz-1-r3.ebuild4
-rw-r--r--app-arch/dpkg/Manifest5
-rw-r--r--app-arch/dpkg/dpkg-1.20.12-r1.ebuild101
-rw-r--r--app-arch/dpkg/dpkg-1.20.9-r1.ebuild (renamed from app-arch/dpkg/dpkg-1.20.7.1.ebuild)11
-rw-r--r--app-arch/dpkg/dpkg-1.21.1.ebuild (renamed from app-arch/dpkg/dpkg-1.20.9.ebuild)12
-rw-r--r--app-arch/dpkg/dpkg-1.21.15-r2.ebuild112
-rw-r--r--app-arch/dpkg/dpkg-1.21.15-r3.ebuild113
-rw-r--r--app-arch/dpkg/dpkg-1.21.19-r1.ebuild113
-rw-r--r--app-arch/dpkg/dpkg-1.21.19.ebuild112
-rw-r--r--app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch25
-rw-r--r--app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch324
-rw-r--r--app-arch/dpkg/files/dpkg-1.21.15-arch_pm.patch32
-rw-r--r--app-arch/dpkg/files/dpkg-1.21.15-buf-overflow.patch45
-rw-r--r--app-arch/dpkg/metadata.xml5
-rw-r--r--app-arch/drpm/Manifest1
-rw-r--r--app-arch/drpm/drpm-0.5.2.ebuild46
-rw-r--r--app-arch/drpm/drpm-9999.ebuild46
-rw-r--r--app-arch/drpm/metadata.xml11
-rw-r--r--app-arch/dtrx/Manifest1
-rw-r--r--app-arch/dtrx/dtrx-8.5.3-r1.ebuild57
-rw-r--r--app-arch/dtrx/dtrx-9999.ebuild57
-rw-r--r--app-arch/dtrx/metadata.xml14
-rw-r--r--app-arch/dump/dump-0.4.47-r2.ebuild96
-rw-r--r--app-arch/dump/dump-0.4.47-r3.ebuild107
-rw-r--r--app-arch/dump/files/dump-fix-incompatible-pointer-to-integer-conversion.patch25
-rw-r--r--app-arch/engrampa/Manifest5
-rw-r--r--app-arch/engrampa/engrampa-1.24.1.ebuild69
-rw-r--r--app-arch/engrampa/engrampa-1.24.2.ebuild69
-rw-r--r--app-arch/engrampa/engrampa-1.26.1.ebuild74
-rw-r--r--app-arch/engrampa/engrampa-1.26.2.ebuild74
-rw-r--r--app-arch/engrampa/engrampa-1.28.1.ebuild67
-rw-r--r--app-arch/engrampa/files/engrampa-1.26.0-clang16.patch24
-rw-r--r--app-arch/engrampa/metadata.xml16
-rw-r--r--app-arch/fastjar/Manifest1
-rw-r--r--app-arch/fastjar/fastjar-0.98-r3.ebuild22
-rw-r--r--app-arch/fastjar/files/0.98-traversal.patch112
-rw-r--r--app-arch/fastjar/metadata.xml13
-rw-r--r--app-arch/file-roller/Manifest3
-rw-r--r--app-arch/file-roller/file-roller-44.1.ebuild103
-rw-r--r--app-arch/file-roller/file-roller-44.ebuild (renamed from app-arch/file-roller/file-roller-3.40.0.ebuild)38
-rw-r--r--app-arch/file-roller/files/3.36-packages.match2
-rw-r--r--app-arch/file-roller/metadata.xml23
-rw-r--r--app-arch/funzix/funzix-1.0-r1.ebuild (renamed from app-arch/funzix/funzix-1.0.ebuild)12
-rw-r--r--app-arch/gcab/Manifest2
-rw-r--r--app-arch/gcab/gcab-1.6.ebuild (renamed from app-arch/gcab/gcab-1.4.ebuild)24
-rw-r--r--app-arch/gcab/metadata.xml11
-rw-r--r--app-arch/gnome-autoar/Manifest3
-rw-r--r--app-arch/gnome-autoar/gnome-autoar-0.4.1.ebuild48
-rw-r--r--app-arch/gnome-autoar/gnome-autoar-0.4.4.ebuild (renamed from app-arch/gnome-autoar/gnome-autoar-0.4.0.ebuild)8
-rw-r--r--app-arch/gnome-autoar/metadata.xml17
-rw-r--r--app-arch/gtk-splitter/gtk-splitter-2.2.1-r2.ebuild4
-rw-r--r--app-arch/gxz/Manifest1
-rw-r--r--app-arch/gxz/gxz-0.5.12.ebuild28
-rw-r--r--app-arch/gxz/metadata.xml11
-rw-r--r--app-arch/gzip/Manifest4
-rw-r--r--app-arch/gzip/gzip-1.10.ebuild39
-rw-r--r--app-arch/gzip/gzip-1.11.ebuild48
-rw-r--r--app-arch/gzip/gzip-1.13.ebuild97
-rw-r--r--app-arch/gzip/metadata.xml21
-rw-r--r--app-arch/hardlink/hardlink-0.3.2.ebuild6
-rw-r--r--app-arch/hardlink/metadata.xml2
-rw-r--r--app-arch/innoextract/files/innoextract-1.9-boost-1.85.0.patch21
-rw-r--r--app-arch/innoextract/innoextract-1.9.ebuild5
-rw-r--r--app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16-musl-info.patch21
-rw-r--r--app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16.patch27
-rw-r--r--app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild (renamed from app-arch/lbzip2/lbzip2-2.5_p20181227-r1.ebuild)22
-rw-r--r--app-arch/lbzip2/metadata.xml3
-rw-r--r--app-arch/lcab/lcab-1.0_beta12.ebuild4
-rw-r--r--app-arch/lha/Manifest1
-rw-r--r--app-arch/lha/lha-114i_p20201004.ebuild11
-rw-r--r--app-arch/lha/lha-114i_p20210328.ebuild32
-rw-r--r--app-arch/lha/metadata.xml3
-rw-r--r--app-arch/libarchive/Manifest7
-rw-r--r--app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch27
-rw-r--r--app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch29
-rw-r--r--app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch26
-rw-r--r--app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch27
-rw-r--r--app-arch/libarchive/libarchive-3.7.2-r1.ebuild (renamed from app-arch/libarchive/libarchive-3.5.2.ebuild)84
-rw-r--r--app-arch/libarchive/libarchive-3.7.2-r3.ebuild180
-rw-r--r--app-arch/libarchive/libarchive-3.7.3.ebuild176
-rw-r--r--app-arch/libarchive/libarchive-3.7.4.ebuild176
-rw-r--r--app-arch/libarchive/metadata.xml7
-rw-r--r--app-arch/libdeflate/Manifest2
-rw-r--r--app-arch/libdeflate/files/libdeflate-1.19-make-gzip-tests-conditional.patch37
-rw-r--r--app-arch/libdeflate/libdeflate-1.19.ebuild59
-rw-r--r--app-arch/libdeflate/libdeflate-1.20.ebuild59
-rw-r--r--app-arch/libdeflate/libdeflate-9999.ebuild59
-rw-r--r--app-arch/libdeflate/metadata.xml22
-rw-r--r--app-arch/lrzip-next/Manifest1
-rw-r--r--app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild67
-rw-r--r--app-arch/lrzip-next/metadata.xml22
-rw-r--r--app-arch/lrzip/Manifest2
-rw-r--r--app-arch/lrzip/files/lrzip-0.631-solaris.patch11
-rw-r--r--app-arch/lrzip/files/lrzip-missing-stdarg_h.patch11
-rw-r--r--app-arch/lrzip/lrzip-0.651.ebuild (renamed from app-arch/lrzip/lrzip-0.641-r1.ebuild)40
-rw-r--r--app-arch/lrzip/metadata.xml5
-rw-r--r--app-arch/lunzip/Manifest2
-rw-r--r--app-arch/lunzip/lunzip-1.14.ebuild31
-rw-r--r--app-arch/lunzip/metadata.xml8
-rw-r--r--app-arch/lxqt-archiver/Manifest3
-rw-r--r--app-arch/lxqt-archiver/lxqt-archiver-0.9.0.ebuild (renamed from app-arch/lxqt-archiver/lxqt-archiver-0.4.0.ebuild)26
-rw-r--r--app-arch/lxqt-archiver/lxqt-archiver-0.9.1.ebuild53
-rw-r--r--app-arch/lz4/Manifest2
-rw-r--r--app-arch/lz4/files/lz4-1.9.3-negative-memmove.patch22
-rw-r--r--app-arch/lz4/lz4-1.9.4.ebuild (renamed from app-arch/lz4/lz4-1.9.3-r1.ebuild)11
-rw-r--r--app-arch/lz5/lz5-2.0-r1.ebuild (renamed from app-arch/lz5/lz5-2.0.ebuild)17
-rw-r--r--app-arch/lzip/Manifest3
-rw-r--r--app-arch/lzip/lzip-1.22.ebuild25
-rw-r--r--app-arch/lzip/lzip-1.24.1.ebuild29
-rw-r--r--app-arch/lzip/metadata.xml3
-rw-r--r--app-arch/lziprecover/Manifest3
-rw-r--r--app-arch/lziprecover/lziprecover-1.24.ebuild (renamed from app-arch/lziprecover/lziprecover-1.22.ebuild)17
-rw-r--r--app-arch/lziprecover/metadata.xml4
-rw-r--r--app-arch/lzlib/Manifest4
-rw-r--r--app-arch/lzlib/lzlib-1.12.ebuild32
-rw-r--r--app-arch/lzlib/lzlib-1.14.ebuild (renamed from app-arch/lzlib/lzlib-1.11.ebuild)19
-rw-r--r--app-arch/lzma/Manifest1
-rw-r--r--app-arch/lzma/lzma-9.20-r1.ebuild35
-rw-r--r--app-arch/lzop/lzop-1.04-r1.ebuild (renamed from app-arch/lzop/lzop-1.04.ebuild)8
-rw-r--r--app-arch/makeself/Manifest2
-rw-r--r--app-arch/makeself/makeself-2.5.0.ebuild (renamed from app-arch/makeself/makeself-2.4.5.ebuild)7
-rw-r--r--app-arch/makeself/metadata.xml10
-rw-r--r--app-arch/mscompress/mscompress-0.3-r1.ebuild4
-rw-r--r--app-arch/mt-st/Manifest1
-rw-r--r--app-arch/mt-st/mt-st-1.3.ebuild24
-rw-r--r--app-arch/ncompress/ncompress-5.0-r1.ebuild37
-rw-r--r--app-arch/ncompress/ncompress-5.0.ebuild29
-rw-r--r--app-arch/p7zip/Manifest1
-rw-r--r--app-arch/p7zip/files/p7zip-17.05-natspec.patch117
-rw-r--r--app-arch/p7zip/files/p7zip-17.05-unit64.patch21
-rw-r--r--app-arch/p7zip/metadata.xml3
-rw-r--r--app-arch/p7zip/p7zip-16.02-r8.ebuild23
-rw-r--r--app-arch/p7zip/p7zip-17.05-r1.ebuild116
-rw-r--r--app-arch/pack/Manifest1
-rw-r--r--app-arch/pack/metadata.xml11
-rw-r--r--app-arch/pack/pack-0.0.0.1.ebuild35
-rw-r--r--app-arch/par2cmdline-turbo/Manifest2
-rw-r--r--app-arch/par2cmdline-turbo/metadata.xml15
-rw-r--r--app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.0.ebuild30
-rw-r--r--app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.1.ebuild30
-rw-r--r--app-arch/par2cmdline-turbo/par2cmdline-turbo-9999.ebuild30
-rw-r--r--app-arch/par2cmdline/Manifest1
-rw-r--r--app-arch/par2cmdline/files/par2cmdline-0.8.1-big-endian.patch70
-rw-r--r--app-arch/par2cmdline/par2cmdline-0.8.1-r1.ebuild (renamed from app-arch/par2cmdline/par2cmdline-0.8.0.ebuild)6
-rw-r--r--app-arch/par2cmdline/par2cmdline-0.8.1-r2.ebuild (renamed from app-arch/par2cmdline/par2cmdline-0.8.1.ebuild)11
-rw-r--r--app-arch/patool/Manifest5
-rw-r--r--app-arch/patool/metadata.xml4
-rw-r--r--app-arch/patool/patool-1.12.ebuild16
-rw-r--r--app-arch/patool/patool-1.15.0.ebuild129
-rw-r--r--app-arch/patool/patool-2.0.0.ebuild129
-rw-r--r--app-arch/patool/patool-2.1.1.ebuild128
-rw-r--r--app-arch/patool/patool-2.2.0.ebuild128
-rw-r--r--app-arch/pax/pax-20201030.ebuild4
-rw-r--r--app-arch/pbzip2/metadata.xml8
-rw-r--r--app-arch/pbzip2/pbzip2-1.1.13.ebuild17
-rw-r--r--app-arch/pdlzip/Manifest4
-rw-r--r--app-arch/pdlzip/pdlzip-1.11.ebuild28
-rw-r--r--app-arch/pdlzip/pdlzip-1.13.ebuild (renamed from app-arch/pdlzip/pdlzip-1.10.ebuild)13
-rw-r--r--app-arch/pdv/files/pdv-1.5.1-missing-prototype.patch19
-rw-r--r--app-arch/pdv/files/pdv-1.5.1-no-strip.patch11
-rw-r--r--app-arch/pdv/pdv-1.5.1-r5.ebuild (renamed from app-arch/pdv/pdv-1.5.1-r3.ebuild)51
-rw-r--r--app-arch/pigz/Manifest3
-rw-r--r--app-arch/pigz/metadata.xml7
-rw-r--r--app-arch/pigz/pigz-2.6.ebuild39
-rw-r--r--app-arch/pigz/pigz-2.8.ebuild41
-rw-r--r--app-arch/pixz/pixz-1.0.7-r1.ebuild (renamed from app-arch/pixz/pixz-1.0.7.ebuild)26
-rw-r--r--app-arch/pixz/pixz-9999.ebuild29
-rw-r--r--app-arch/plzip/Manifest4
-rw-r--r--app-arch/plzip/plzip-1.11.ebuild (renamed from app-arch/plzip/plzip-1.8.ebuild)14
-rw-r--r--app-arch/plzip/plzip-1.9.ebuild31
-rw-r--r--app-arch/pure-sfv/files/pure-sfv-0.3-fix-build-system.patch3
-rw-r--r--app-arch/pure-sfv/pure-sfv-0.3-r2.ebuild (renamed from app-arch/pure-sfv/pure-sfv-0.3-r1.ebuild)12
-rw-r--r--app-arch/pxz/Manifest2
-rw-r--r--app-arch/pxz/files/pxz-5.0_pre20220509-fix-xz-path.patch21
-rw-r--r--app-arch/pxz/metadata.xml25
-rw-r--r--app-arch/pxz/pxz-5.0_pre20151029.ebuild29
-rw-r--r--app-arch/pxz/pxz-5.0_pre20220509-r1.ebuild48
-rw-r--r--app-arch/pxz/pxz-9999.ebuild41
-rw-r--r--app-arch/qpress/Manifest2
-rw-r--r--app-arch/qpress/files/qpress-1.1-fix-build-system.patch7
-rw-r--r--app-arch/qpress/files/qpress-1.1-fix-includes.patch7
-rw-r--r--app-arch/qpress/files/qpress-20220819-fix-build-system.patch39
-rw-r--r--app-arch/qpress/metadata.xml3
-rw-r--r--app-arch/qpress/qpress-1.1.ebuild32
-rw-r--r--app-arch/qpress/qpress-20220819.ebuild21
-rw-r--r--app-arch/rar/Manifest6
-rw-r--r--app-arch/rar/metadata.xml6
-rw-r--r--app-arch/rar/rar-7.00.ebuild (renamed from app-arch/rar/rar-6.0.2_p20210611.ebuild)83
-rw-r--r--app-arch/rpm/Manifest4
-rw-r--r--app-arch/rpm/files/rpm-4.16.0-autotools.patch13
-rw-r--r--app-arch/rpm/files/rpm-4.16.1.3-libdir.patch34
-rw-r--r--app-arch/rpm/files/rpm-4.18.1-musl-nls.patch42
-rw-r--r--app-arch/rpm/files/rpm-4.19.0-libdir.patch13
-rw-r--r--app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch17
-rw-r--r--app-arch/rpm/files/rpm-4.8.1-clang.patch52
-rw-r--r--app-arch/rpm/metadata.xml12
-rw-r--r--app-arch/rpm/rpm-4.16.1.3.ebuild148
-rw-r--r--app-arch/rpm/rpm-4.18.1.ebuild (renamed from app-arch/rpm/rpm-4.17.0.ebuild)125
-rw-r--r--app-arch/rpm/rpm-4.19.1.1.ebuild134
-rw-r--r--app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild6
-rw-r--r--app-arch/rzip/files/rzip-2.1-configure-clang16.patch13
-rw-r--r--app-arch/rzip/rzip-2.1-r5.ebuild (renamed from app-arch/rzip/rzip-2.1-r3.ebuild)9
-rw-r--r--app-arch/sharutils/metadata.xml1
-rw-r--r--app-arch/sharutils/sharutils-4.15.2-r2.ebuild2
-rw-r--r--app-arch/snappy/Manifest4
-rw-r--r--app-arch/snappy/files/snappy-1.1.7-0001-cmake-Add-missing-linking-to-GTEST_LIBRARIES.patch30
-rw-r--r--app-arch/snappy/files/snappy-1.1.9_gcc_inline.patch67
-rw-r--r--app-arch/snappy/files/snappy-1.2.0_external-gtest.patch46
-rw-r--r--app-arch/snappy/files/snappy-1.2.0_no-werror.patch24
-rw-r--r--app-arch/snappy/files/snappy-1.2.0_remove-no-rtti.patch32
-rw-r--r--app-arch/snappy/metadata.xml1
-rw-r--r--app-arch/snappy/snappy-1.1.10-r1.ebuild (renamed from app-arch/snappy/snappy-1.1.9.ebuild)21
-rw-r--r--app-arch/snappy/snappy-1.1.8.ebuild64
-rw-r--r--app-arch/snappy/snappy-1.2.0-r1.ebuild (renamed from app-arch/snappy/snappy-1.1.9-r1.ebuild)20
-rw-r--r--app-arch/stenc/Manifest4
-rw-r--r--app-arch/stenc/stenc-1.0.7.ebuild18
-rw-r--r--app-arch/stenc/stenc-1.1.1.ebuild (renamed from app-arch/stenc/stenc-1.0.8.ebuild)11
-rw-r--r--app-arch/stenc/stenc-2.0.0.ebuild31
-rw-r--r--app-arch/stormlib/Manifest3
-rw-r--r--app-arch/stormlib/files/stormlib-9.24-gnuinstalldirs.patch (renamed from app-arch/stormlib/files/stormlib-9.23-gnuinstalldirs.patch)24
-rw-r--r--app-arch/stormlib/metadata.xml3
-rw-r--r--app-arch/stormlib/stormlib-9.24.ebuild (renamed from app-arch/stormlib/stormlib-9.23-r1.ebuild)15
-rw-r--r--app-arch/stormlib/stormlib-9.25.ebuild44
-rw-r--r--app-arch/stuffit/stuffit-5.2.0.611-r1.ebuild (renamed from app-arch/stuffit/stuffit-5.2.0.611.ebuild)14
-rw-r--r--app-arch/tapeutils/tapeutils-0.4-r1.ebuild (renamed from app-arch/tapeutils/tapeutils-0.4.ebuild)6
-rw-r--r--app-arch/tar/Manifest3
-rw-r--r--app-arch/tar/files/tar-1.34-fix-cve-2022-48303.patch32
-rw-r--r--app-arch/tar/tar-1.34-r3.ebuild106
-rw-r--r--app-arch/tar/tar-1.34.ebuild79
-rw-r--r--app-arch/tar/tar-1.35.ebuild113
-rw-r--r--app-arch/tardelta/tardelta-1.0.1-r1.ebuild (renamed from app-arch/tardelta/tardelta-1.0.1.ebuild)9
-rw-r--r--app-arch/tarlz/Manifest2
-rw-r--r--app-arch/tarlz/metadata.xml4
-rw-r--r--app-arch/tarlz/tarlz-0.25.ebuild (renamed from app-arch/tarlz/tarlz-0.21.ebuild)21
-rw-r--r--app-arch/tarsync/Manifest2
-rw-r--r--app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch59
-rw-r--r--app-arch/tarsync/files/tarsync-0.2.1-make.patch13
-rw-r--r--app-arch/tarsync/files/tarsync-0.2.1-symlink.patch139
-rw-r--r--app-arch/tarsync/tarsync-0.2.1-r1.ebuild33
-rw-r--r--app-arch/tarsync/tarsync-0.2.1-r2.ebuild34
-rw-r--r--app-arch/tarsync/tarsync-0.2.2.ebuild26
-rw-r--r--app-arch/tarsync/tarsync-0.2.3.ebuild4
-rw-r--r--app-arch/torrentzip/Manifest2
-rw-r--r--app-arch/torrentzip/files/torrentzip-1.2-checksum-detection.patch51
-rw-r--r--app-arch/torrentzip/metadata.xml11
-rw-r--r--app-arch/torrentzip/torrentzip-1.2-r1.ebuild28
-rw-r--r--app-arch/torrentzip/torrentzip-1.3.ebuild48
-rw-r--r--app-arch/unace/files/unace-2.5-includes.patch10
-rw-r--r--app-arch/unace/unace-2.5-r6.ebuild (renamed from app-arch/unace/unace-2.5-r5.ebuild)16
-rw-r--r--app-arch/unadf/unadf-0.7.12-r2.ebuild (renamed from app-arch/unadf/unadf-0.7.12-r1.ebuild)15
-rw-r--r--app-arch/unar/Manifest2
-rw-r--r--app-arch/unar/files/unar-1.10.8-Wint-conversion.patch40
-rw-r--r--app-arch/unar/metadata.xml5
-rw-r--r--app-arch/unar/unar-1.10.8.ebuild (renamed from app-arch/unar/unar-1.10.7.ebuild)48
-rw-r--r--app-arch/unmakeself/Manifest1
-rw-r--r--app-arch/unmakeself/unmakeself-1.1.ebuild34
-rw-r--r--app-arch/unp/Manifest2
-rw-r--r--app-arch/unp/metadata.xml4
-rw-r--r--app-arch/unp/unp-2.0.ebuild53
-rw-r--r--app-arch/unp/unp-2.0_pre10.ebuild52
-rw-r--r--app-arch/unp/unp-2.0_pre9.ebuild6
-rw-r--r--app-arch/unrar/Manifest7
-rw-r--r--app-arch/unrar/files/unrar-5.9.3-build.patch35
-rw-r--r--app-arch/unrar/files/unrar-6.2.6-honor-flags.patch (renamed from app-arch/unrar/files/unrar-5.5.5-honor-flags.patch)12
-rw-r--r--app-arch/unrar/metadata.xml4
-rw-r--r--app-arch/unrar/unrar-6.2.10.ebuild (renamed from app-arch/unrar/unrar-6.0.7.ebuild)11
-rw-r--r--app-arch/unrar/unrar-6.2.12-r1.ebuild79
-rw-r--r--app-arch/unrar/unrar-6.2.12.ebuild (renamed from app-arch/unrar/unrar-6.1.2.ebuild)11
-rw-r--r--app-arch/unrar/unrar-6.2.8.ebuild62
-rw-r--r--app-arch/unrar/unrar-6.2.9.ebuild62
-rw-r--r--app-arch/unrar/unrar-7.0.7.ebuild79
-rw-r--r--app-arch/unrpa/metadata.xml10
-rw-r--r--app-arch/unrpa/unrpa-2.3.0-r1.ebuild (renamed from app-arch/unrpa/unrpa-2.3.0.ebuild)9
-rw-r--r--app-arch/unshield/Manifest2
-rw-r--r--app-arch/unshield/files/unshield-1.4.3-mandir.patch21
-rw-r--r--app-arch/unshield/unshield-1.5.1.ebuild (renamed from app-arch/unshield/unshield-1.4.3.ebuild)8
-rw-r--r--app-arch/unzip/Manifest2
-rw-r--r--app-arch/unzip/unzip-6.0_p27-r1.ebuild (renamed from app-arch/unzip/unzip-6.0_p26.ebuild)48
-rw-r--r--app-arch/upx-bin/Manifest21
-rw-r--r--app-arch/upx-bin/upx-bin-4.1.0.ebuild (renamed from app-arch/upx-bin/upx-bin-3.96.ebuild)14
-rw-r--r--app-arch/upx-bin/upx-bin-4.2.3.ebuild39
-rw-r--r--app-arch/upx/Manifest3
-rw-r--r--app-arch/upx/files/upx-3.96_CVE-2020-24119.patch34
-rw-r--r--app-arch/upx/files/upx-3.96_CVE-2021-20285.patch76
-rw-r--r--app-arch/upx/upx-3.96-r2.ebuild41
-rw-r--r--app-arch/upx/upx-4.1.0.ebuild30
-rw-r--r--app-arch/upx/upx-4.2.3.ebuild34
-rw-r--r--app-arch/vimball/vimball-0.5.1-r1.ebuild (renamed from app-arch/vimball/vimball-0.5.1.ebuild)18
-rw-r--r--app-arch/vimball/vimball-9999.ebuild18
-rw-r--r--app-arch/wimlib/Manifest2
-rw-r--r--app-arch/wimlib/metadata.xml5
-rw-r--r--app-arch/wimlib/wimlib-1.13.3-r1.ebuild73
-rw-r--r--app-arch/wimlib/wimlib-1.13.4-r1.ebuild2
-rw-r--r--app-arch/wimlib/wimlib-1.14.1.ebuild52
-rw-r--r--app-arch/xar/Manifest5
-rw-r--r--app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch12
-rw-r--r--app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch18
-rw-r--r--app-arch/xar/files/xar-1.8.0.0.498-impl-decls.patch24
-rw-r--r--app-arch/xar/xar-1.8-r2.ebuild54
-rw-r--r--app-arch/xar/xar-1.8.0.0.487.100.1.ebuild (renamed from app-arch/xar/xar-1.8.0.0.452.ebuild)18
-rw-r--r--app-arch/xar/xar-1.8.0.0.498.ebuild (renamed from app-arch/xar/xar-1.8-r4.ebuild)26
-rw-r--r--app-arch/xarchiver/Manifest2
-rw-r--r--app-arch/xarchiver/xarchiver-0.5.4.23.ebuild (renamed from app-arch/xarchiver/xarchiver-0.5.4.17.ebuild)28
-rw-r--r--app-arch/xz-utils/Manifest5
-rw-r--r--app-arch/xz-utils/metadata.xml27
-rw-r--r--app-arch/xz-utils/xz-utils-5.2.5-r1.ebuild96
-rw-r--r--app-arch/xz-utils/xz-utils-5.4.2.ebuild140
-rw-r--r--app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild140
-rw-r--r--app-arch/xz-utils/xz-utils-9999.ebuild147
-rw-r--r--app-arch/zchunk/Manifest2
-rw-r--r--app-arch/zchunk/metadata.xml11
-rw-r--r--app-arch/zchunk/zchunk-1.3.2.ebuild37
-rw-r--r--app-arch/zchunk/zchunk-1.4.0.ebuild37
-rw-r--r--app-arch/zchunk/zchunk-9999.ebuild37
-rw-r--r--app-arch/zip/files/zip-3.0-clang-15-configure-tests.patch219
-rw-r--r--app-arch/zip/zip-3.0-r4.ebuild66
-rw-r--r--app-arch/zip/zip-3.0-r7.ebuild74
-rw-r--r--app-arch/zoo/files/zoo-2.10-implicit-int.patch75
-rw-r--r--app-arch/zoo/metadata.xml5
-rw-r--r--app-arch/zoo/zoo-2.10-r5.ebuild2
-rw-r--r--app-arch/zoo/zoo-2.10-r6.ebuild36
-rw-r--r--app-arch/zopfli/zopfli-1.0.3.ebuild7
-rw-r--r--app-arch/zpaq/zpaq-7.15-r1.ebuild (renamed from app-arch/zpaq/zpaq-7.15.ebuild)18
-rw-r--r--app-arch/zstd/Manifest4
-rw-r--r--app-arch/zstd/files/zstd-1.5.4-no-find-valgrind.patch12
-rw-r--r--app-arch/zstd/metadata.xml4
-rw-r--r--app-arch/zstd/zstd-1.4.9.ebuild69
-rw-r--r--app-arch/zstd/zstd-1.5.0.ebuild64
-rw-r--r--app-arch/zstd/zstd-1.5.5-r1.ebuild67
-rw-r--r--app-arch/zstd/zstd-1.5.5.ebuild73
-rw-r--r--app-arch/zstd/zstd-1.5.6.ebuild67
403 files changed, 9384 insertions, 3879 deletions
diff --git a/app-arch/7zip/7zip-23.01.ebuild b/app-arch/7zip/7zip-23.01.ebuild
new file mode 100644
index 000000000000..cd0af0601e23
--- /dev/null
+++ b/app-arch/7zip/7zip-23.01.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edos2unix flag-o-matic toolchain-funcs
+
+NO_DOT_PV=$(ver_rs 1- '')
+DESCRIPTION="Free file archiver for extremely high compression"
+HOMEPAGE="https://www.7-zip.org/ https://sourceforge.net/projects/sevenzip/"
+# linux-x64 tarball is only used for docs
+SRC_URI="
+ mirror://sourceforge/sevenzip/7-Zip/${PV}/7z${NO_DOT_PV}-src.tar.xz
+ mirror://sourceforge/sevenzip/7-Zip/${PV}/7z${NO_DOT_PV}-linux-x64.tar.xz
+"
+S="${WORKDIR}"
+
+LICENSE="LGPL-2 BSD rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="uasm jwasm rar"
+REQUIRED_USE="?? ( uasm jwasm )"
+
+DOCS=( readme.txt History.txt License.txt )
+HTML_DOCS=( MANUAL )
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+ uasm? ( dev-lang/uasm )
+ jwasm? ( dev-lang/jwasm )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-respect-build-env.patch"
+)
+
+# TODO(NRK): also build and install the library
+# TODO(NRK): make it so this package can be used as a drop-in replacement
+# for app-arch/p7zip ??
+
+pkg_setup() {
+ # instructions in DOC/readme.txt, Compiling 7-Zip for Unix/Linux
+ # TLDR; every combination of options (clang|gcc)+(asm/noasm)
+ # has a dedicated makefile & builddir
+ mfile="cmpl"
+ if tc-is-clang; then
+ mfile="${mfile}_clang"
+ bdir=c
+ elif tc-is-gcc; then
+ mfile="${mfile}_gcc"
+ bdir=g
+ else
+ die "Unsupported compiler: $(tc-getCC)"
+ fi
+ if use jwasm || use uasm ; then
+ mfile="${mfile}_x64"
+ bdir="${bdir}_x64"
+ fi
+ export mfile="${mfile}.mak"
+ export bdir
+}
+
+src_prepare() {
+ # patch doesn't deal with CRLF even if file+patch match
+ # not even with --ignore-whitespace, --binary or --force
+ pushd "./CPP/7zip" || die "Unable to switch directory"
+ edos2unix ./7zip_gcc.mak ./var_gcc{,_x64}.mak ./var_clang{,_x64}.mak
+ sed -i -e 's/-Werror //g' ./7zip_gcc.mak || die "Error removing -Werror"
+ popd >/dev/null || die "Unable to switch directory"
+
+ default
+}
+
+src_compile() {
+ pushd "./CPP/7zip/Bundles/Alone2" || die "Unable to switch directory"
+
+ # avoid executable stack when using uasm/jwasm, harmless otherwise
+ append-ldflags -Wl,-z,noexecstack
+ export G_CFLAGS=${CFLAGS}
+ export G_CXXFLAGS=${CXXFLAGS}
+ export G_LDFLAGS=${LDFLAGS}
+
+ local args=(
+ -f "../../${mfile}"
+ CC=$(tc-getCC)
+ CXX=$(tc-getCXX)
+ )
+ # NOTE: makefile doesn't check the value of DISABLE_RAR_COMPRESS, only
+ # whether it's defined or not. so in case user has `rar` enabled
+ # DISABLE_RAR_COMPRESS (and DISABLE_RAR) needs to stay undefined.
+ if ! use rar; then
+ # disables non-free rar code but allows listing and extracting
+ # non-compressed rar archives
+ args+=( DISABLE_RAR_COMPRESS=1 )
+ fi
+ if use jwasm; then
+ args+=( USE_JWASM=1 )
+ elif use uasm; then
+ args+=( MY_ASM=uasm )
+ fi
+
+ emake ${args[@]}
+ popd > /dev/null || die "Unable to switch directory"
+}
+
+src_install() {
+ dobin "./CPP/7zip/Bundles/Alone2/b/${bdir}/7zz"
+ einstalldocs
+}
diff --git a/app-arch/7zip/Manifest b/app-arch/7zip/Manifest
new file mode 100644
index 000000000000..bd132922c901
--- /dev/null
+++ b/app-arch/7zip/Manifest
@@ -0,0 +1,2 @@
+DIST 7z2301-linux-x64.tar.xz 1527700 BLAKE2B 35dc74f0a7a4e586ea5ae969dce72c14e0231822630d2d70f24e1c911cea0492354a258ef65096a6ce0da1510117c12466bc6cda577cdf9e8e74ede17e47f23e SHA512 d3549468de8fd161e4c9233fa0b170af1f28c74749d20f3d0eeb3873857f6c6d2cc0777d564e6a79be7cc21c9e982e10710a795320428dc51db809a8d0f9454e
+DIST 7z2301-src.tar.xz 1378588 BLAKE2B 348484b24b39db70e513fe50d79954ea0e2dd669f83e3601fa796c8f0ca4734132ca20fac8cda9b8ba550bad9146627fc0ae07056abb99028ef6d825b6a533bd SHA512 e39f660c023aa65e55388be225b5591fe2a5c9138693f3c9107e2eb4ce97fafde118d3375e01ada99d29de9633f56221b5b3d640c982178884670cd84c8aa986
diff --git a/app-arch/7zip/files/7zip-23.01-respect-build-env.patch b/app-arch/7zip/files/7zip-23.01-respect-build-env.patch
new file mode 100644
index 000000000000..a5871db9159c
--- /dev/null
+++ b/app-arch/7zip/files/7zip-23.01-respect-build-env.patch
@@ -0,0 +1,53 @@
+Respect build environment settings
+
+Bug: https://bugs.gentoo.org/913186
+Bug: https://bugs.gentoo.org/913188
+Bug: https://bugs.gentoo.org/913189
+
+
+--- a/CPP/7zip/7zip_gcc.mak
++++ b/CPP/7zip/7zip_gcc.mak
+@@ -87,14 +87,14 @@ SHARED_EXT=.dll
+ LDFLAGS = -shared -DEF $(DEF_FILE) $(LDFLAGS_STATIC)
+ else
+ SHARED_EXT=.so
+-LDFLAGS = -shared -fPIC $(LDFLAGS_STATIC)
++LDFLAGS = -shared -fPIC $(G_LDFLAGS) $(LDFLAGS_STATIC)
+ CC_SHARED=-fPIC
+ endif
+
+
+ else
+
+-LDFLAGS = $(LDFLAGS_STATIC)
++LDFLAGS = $(LDFLAGS_STATIC) $(G_LDFLAGS)
+ # -s is not required for clang, do we need it for GCC ???
+
+ #-static -static-libgcc -static-libstdc++
+@@ -149,7 +149,7 @@ endif
+
+
+
+-CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) -o $@
++CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CC_SHARED) $(G_CFLAGS) -o $@
+
+
+ ifdef IS_MINGW
+@@ -190,7 +190,7 @@ CXX_WARN_FLAGS =
+ #-Wno-invalid-offsetof
+ #-Wno-reorder
+
+-CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) -o $@
++CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(FLAGS_FLTO) $(CXXFLAGS_EXTRA) $(CC_SHARED) $(CXX_WARN_FLAGS) $(CXX_STD_FLAGS) $(G_CXXFLAGS) -o $@
+
+ STATIC_TARGET=
+ ifdef COMPL_STATIC
+@@ -208,7 +208,7 @@ $(O):
+ # -Wl,--print-gc-sections
+
+ ifneq ($(CC), $(CROSS_COMPILE)clang)
+-LFLAGS_STRIP = -s
++
+ endif
+
+ LFLAGS_ALL = $(LFLAGS_STRIP) $(MY_ARCH_2) $(LDFLAGS) $(FLAGS_FLTO) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
diff --git a/app-arch/7zip/metadata.xml b/app-arch/7zip/metadata.xml
new file mode 100644
index 000000000000..a4f1984333a5
--- /dev/null
+++ b/app-arch/7zip/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>nrk@disroot.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>arthurzam@gentoo.org</email>
+ <name>Arthur Zamarin</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <use>
+ <flag name="rar">Enable support for non-free rar decoder</flag>
+ <flag name="uasm">Use <pkg>dev-lang/uasm</pkg> to include optimized code</flag>
+ <flag name="jwasm">Use <pkg>dev-lang/jwasm</pkg> to include optimized code (doesn't support AES)</flag>
+ </use>
+ <upstream>
+ <maintainer>
+ <name>Igor Pavlov</name>
+ </maintainer>
+ <remote-id type="sourceforge">sevenzip</remote-id>
+ <changelog>https://www.7-zip.org/history.txt</changelog>
+ <bugs-to>https://sourceforge.net/p/sevenzip/bugs/</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/advancecomp/Manifest b/app-arch/advancecomp/Manifest
index bd12c7510490..3aa125412b03 100644
--- a/app-arch/advancecomp/Manifest
+++ b/app-arch/advancecomp/Manifest
@@ -1 +1 @@
-DIST advancecomp-fcf71a89265c78fc26243574dda3a872574a5c02.tar.gz 1195310 BLAKE2B 9dcab7e266023f996504cfcfc9ba8237f216f2bf1af56d645e3fe7fb79a5e3d0dae2abdd47cc9c38c6ade385d1eb44b1e0ae6afa6fd2485afd1423be37276d06 SHA512 2c3e01146441aa940f6de464e0c19613f22d6a5fd671e4e0b1b83e68cad322ff0dc6be0fa328524332e6a782198edfeac0443b72a30d9c51c86e7c5ad141f6b7
+DIST advancecomp-2.6.tar.gz 1343700 BLAKE2B 8666565721090217c396cb992b62c3f7c4c06932705db1f71acaa8283fd2795206808811ecd293344293e01a15da58675e8f397f1114c5ad5cc3186627286979 SHA512 10cc2a72b0cf486868b52cdb78a8dc2c965bfa9f43f712fdf97af58e4b0eac62460a635fe58435e2efbc605ed281b8bf0dc560b08bbbe66ee5a8673ec40ea0a6
diff --git a/app-arch/advancecomp/advancecomp-2.2_pre20190301.ebuild b/app-arch/advancecomp/advancecomp-2.6.ebuild
index b13f318de57e..01b5197ad763 100644
--- a/app-arch/advancecomp/advancecomp-2.2_pre20190301.ebuild
+++ b/app-arch/advancecomp/advancecomp-2.6.ebuild
@@ -1,38 +1,31 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools
-
-EGIT_COMMIT="fcf71a89265c78fc26243574dda3a872574a5c02"
DESCRIPTION="Recompress ZIP, PNG and MNG, considerably improving compression"
-HOMEPAGE="https://www.advancemame.it/comp-readme.html"
-SRC_URI="https://github.com/amadvance/advancecomp/archive/${EGIT_COMMIT}.tar.gz
- -> ${PN}-${EGIT_COMMIT}.tar.gz"
-S=${WORKDIR}/${PN}-${EGIT_COMMIT}
+HOMEPAGE="
+ https://www.advancemame.it/comp-readme.html
+ https://github.com/amadvance/advancecomp/
+"
+SRC_URI="
+ https://github.com/amadvance/advancecomp/releases/download/v${PV}/${P}.tar.gz
+"
LICENSE="GPL-2+ Apache-2.0 LGPL-2.1+ MIT"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~riscv x86"
-IUSE=""
-
-RDEPEND="app-arch/bzip2:=
- sys-libs/zlib:="
-DEPEND="${RDEPEND}"
-
# Tests seem to rely on exact output:
# https://sourceforge.net/p/advancemame/bugs/270/
RESTRICT="test"
-PATCHES=(
- "${FILESDIR}"/${P}-gcc-11.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
+RDEPEND="
+ app-arch/bzip2:=
+ sys-libs/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+"
src_configure() {
local myconf=(
diff --git a/app-arch/advancecomp/files/advancecomp-2.2_pre20190301-gcc-11.patch b/app-arch/advancecomp/files/advancecomp-2.2_pre20190301-gcc-11.patch
deleted file mode 100644
index b72a6824a305..000000000000
--- a/app-arch/advancecomp/files/advancecomp-2.2_pre20190301-gcc-11.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From 7b08f7a2af3f66ab95437e4490499cebb20e5e41 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 28 Apr 2021 22:11:42 +0200
-Subject: [PATCH] Remove dynamic exception specification to fix C++17
- compatibility
-
-The dynamic exception specifications have been deprecated in C++11
-and eventually removed in C++17 [1]. GCC-11 uses gnu++17 by default,
-causing advancecomp to fail to compile:
-
- In file included from rezip.cc:24:
- file.h:70:43: error: ISO C++17 does not allow dynamic exception specifications
- 70 | bool file_exists(const std::string& file) throw (error);
- | ^~~~~
- file.h:71:75: error: ISO C++17 does not allow dynamic exception specifications
- 71 | e(const std::string& path, const char* data, unsigned size) throw (error);
- | ^~~~~
- ...
-
-Since there is really no gain from having these specifications anymore,
-just remove them to fix the build.
-
-[1] https://en.cppreference.com/w/cpp/language/except_spec
----
- file.cc | 26 +++++++++++++-------------
- file.h | 24 ++++++++++++------------
- 2 files changed, 25 insertions(+), 25 deletions(-)
-
-diff --git a/file.cc b/file.cc
-index 1e90348..d676d25 100644
---- a/file.cc
-+++ b/file.cc
-@@ -98,7 +98,7 @@ void infopath::readonly_set(bool Areadonly)
- /**
- * Check if a file exists.
- */
--bool file_exists(const string& path) throw (error)
-+bool file_exists(const string& path)
- {
- struct stat s;
- if (stat(path.c_str(), &s) != 0) {
-@@ -114,7 +114,7 @@ bool file_exists(const string& path) throw (error)
- /**
- * Write a whole file.
- */
--void file_write(const string& path, const char* data, unsigned size) throw (error)
-+void file_write(const string& path, const char* data, unsigned size)
- {
- FILE* f = fopen(path.c_str(), "wb");
- if (!f)
-@@ -134,7 +134,7 @@ void file_write(const string& path, const char* data, unsigned size) throw (erro
- /**
- * Read a whole file.
- */
--void file_read(const string& path, char* data, unsigned size) throw (error)
-+void file_read(const string& path, char* data, unsigned size)
- {
- file_read(path, data, 0, size);
- }
-@@ -142,7 +142,7 @@ void file_read(const string& path, char* data, unsigned size) throw (error)
- /**
- * Read a whole file.
- */
--void file_read(const string& path, char* data, unsigned offset, unsigned size) throw (error)
-+void file_read(const string& path, char* data, unsigned offset, unsigned size)
- {
- FILE* f = fopen(path.c_str(), "rb");
- if (!f)
-@@ -166,7 +166,7 @@ void file_read(const string& path, char* data, unsigned offset, unsigned size) t
- /**
- * Get the time of a file.
- */
--time_t file_time(const string& path) throw (error)
-+time_t file_time(const string& path)
- {
- struct stat s;
- if (stat(path.c_str(), &s)!=0)
-@@ -178,7 +178,7 @@ time_t file_time(const string& path) throw (error)
- /**
- * Set the time of a file.
- */
--void file_utime(const string& path, time_t tod) throw (error)
-+void file_utime(const string& path, time_t tod)
- {
- struct utimbuf u;
-
-@@ -192,7 +192,7 @@ void file_utime(const string& path, time_t tod) throw (error)
- /**
- * Get the size of a file.
- */
--unsigned file_size(const string& path) throw (error)
-+unsigned file_size(const string& path)
- {
- struct stat s;
- if (stat(path.c_str(), &s)!=0)
-@@ -204,7 +204,7 @@ unsigned file_size(const string& path) throw (error)
- /**
- * Get the crc of a file.
- */
--crc_t file_crc(const string& path) throw (error)
-+crc_t file_crc(const string& path)
- {
- unsigned size = file_size(path);
-
-@@ -227,7 +227,7 @@ crc_t file_crc(const string& path) throw (error)
- /**
- * Copy a file.
- */
--void file_copy(const string& path1, const string& path2) throw (error)
-+void file_copy(const string& path1, const string& path2)
- {
- unsigned size;
-
-@@ -249,7 +249,7 @@ void file_copy(const string& path1, const string& path2) throw (error)
- /**
- * Move a file.
- */
--void file_move(const string& path1, const string& path2) throw (error)
-+void file_move(const string& path1, const string& path2)
- {
- if (rename(path1.c_str(), path2.c_str())!=0
- && errno==EXDEV) {
-@@ -271,7 +271,7 @@ void file_move(const string& path1, const string& path2) throw (error)
- /**
- * Remove a file.
- */
--void file_remove(const string& path1) throw (error)
-+void file_remove(const string& path1)
- {
- if (remove(path1.c_str())!=0) {
- throw error() << "Failed remove of " << path1;
-@@ -281,7 +281,7 @@ void file_remove(const string& path1) throw (error)
- /**
- * Rename a file.
- */
--void file_rename(const string& path1, const string& path2) throw (error)
-+void file_rename(const string& path1, const string& path2)
- {
- if (rename(path1.c_str(), path2.c_str())!=0) {
- throw error() << "Failed rename of " << path1 << " to " << path2;
-@@ -409,7 +409,7 @@ string file_adjust(const string& path) throw ()
- /**
- * Make a drectory tree.
- */
--void file_mktree(const std::string& path) throw (error)
-+void file_mktree(const std::string& path)
- {
- string dir = file_dir(path);
- string name = file_name(path);
-diff --git a/file.h b/file.h
-index 1b0cf85..49429b5 100644
---- a/file.h
-+++ b/file.h
-@@ -67,18 +67,18 @@ typedef unsigned crc_t;
- crc_t crc_compute(const char* data, unsigned len);
- crc_t crc_compute(crc_t pred, const char* data, unsigned len);
-
--bool file_exists(const std::string& file) throw (error);
--void file_write(const std::string& path, const char* data, unsigned size) throw (error);
--void file_read(const std::string& path, char* data, unsigned size) throw (error);
--void file_read(const std::string& path, char* data, unsigned offset, unsigned size) throw (error);
--time_t file_time(const std::string& path) throw (error);
--void file_utime(const std::string& path, time_t tod) throw (error);
--unsigned file_size(const std::string& path) throw (error);
--crc_t file_crc(const std::string& path) throw (error);
--void file_copy(const std::string& path1, const std::string& path2) throw (error);
--void file_move(const std::string& path1, const std::string& path2) throw (error);
--void file_remove(const std::string& path1) throw (error);
--void file_mktree(const std::string& path1) throw (error);
-+bool file_exists(const std::string& file);
-+void file_write(const std::string& path, const char* data, unsigned size);
-+void file_read(const std::string& path, char* data, unsigned size);
-+void file_read(const std::string& path, char* data, unsigned offset, unsigned size);
-+time_t file_time(const std::string& path);
-+void file_utime(const std::string& path, time_t tod);
-+unsigned file_size(const std::string& path);
-+crc_t file_crc(const std::string& path);
-+void file_copy(const std::string& path1, const std::string& path2);
-+void file_move(const std::string& path1, const std::string& path2);
-+void file_remove(const std::string& path1);
-+void file_mktree(const std::string& path1);
-
- std::string file_temp(const std::string& path) throw ();
- std::string file_randomize(const std::string& path, int n) throw ();
diff --git a/app-arch/afio/afio-2.5.1-r2.ebuild b/app-arch/afio/afio-2.5.1-r2.ebuild
index ccc6b32585da..8b7b67f12a2f 100644
--- a/app-arch/afio/afio-2.5.1-r2.ebuild
+++ b/app-arch/afio/afio-2.5.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
-DESCRIPTION="Afio creates cpio-format archives."
+DESCRIPTION="Afio creates cpio-format archives"
HOMEPAGE="http://members.chello.nl/k.holtman/afio.html https://github.com/kholtman/afio"
SRC_URI="http://members.chello.nl/k.holtman/${P}.tgz"
diff --git a/app-arch/afio/metadata.xml b/app-arch/afio/metadata.xml
index e87efba35be1..a9181451e983 100644
--- a/app-arch/afio/metadata.xml
+++ b/app-arch/afio/metadata.xml
@@ -10,6 +10,6 @@
script.
</longdescription>
<upstream>
- <remote-id type="freshmeat">afio</remote-id>
+ <remote-id type="github">kholtman/afio</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/alien/Manifest b/app-arch/alien/Manifest
index fd59649f095b..8dcb3ef90dc6 100644
--- a/app-arch/alien/Manifest
+++ b/app-arch/alien/Manifest
@@ -1 +1,2 @@
+DIST alien-8.95.6.tar.xz 58088 BLAKE2B 5b7467552856d809fc1b43af7de905d7f52629799bfd01dfb7ab61dfbd1c27e0f6f6b8364aa03a925cc6bea74616bf497f4fd195c637d6d1bcd7847a17ab5ccd SHA512 29ed80f249b38b47a26ee9d058d057be8728d18d771c1f847919f296d2c8359fcc33a32912749f2ed77b1214e61f101b75960a82cbd3d76bbb7f205acfd4f152
DIST alien-8.95.tar.xz 56940 BLAKE2B c2f6b71d39800a7bc4ab00bcd50d165855bad4eb1a17fe217aeb302c6b7af701bcd9445276d7e522db7e6c81f1e8d7e9e2ada99f9d7505e6ec958ae87df7c9f7 SHA512 c46d3c82542dc3d96eeabea0f0c7ab5b572acaf67d15e2064ea01df32d69a2cf6e083754be49269df6cd7431ec5b3e09ddcb83fbe2ee17843b22e9cd3e73073c
diff --git a/app-arch/alien/alien-8.95-r1.ebuild b/app-arch/alien/alien-8.95-r2.ebuild
index fac253c4e118..9155c848fb61 100644
--- a/app-arch/alien/alien-8.95-r1.ebuild
+++ b/app-arch/alien/alien-8.95-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit perl-module
@@ -11,7 +11,7 @@ SRC_URI="mirror://debian/pool/main/a/${PN}/${PN}_${PV}.tar.xz -> ${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ppc ppc64 x86"
+KEYWORDS="~alpha amd64 ~hppa ppc ppc64 ~riscv x86"
IUSE="+bzip2"
RDEPEND="
@@ -19,16 +19,7 @@ RDEPEND="
app-arch/dpkg
dev-util/debhelper
>=app-arch/tar-1.14.91
- bzip2? (
- app-arch/bzip2
- )"
-
+ bzip2? ( app-arch/bzip2 )"
DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}/${P}-tar-extensions.patch" )
-
-src_prepare() {
- default
- sed -e s%'$(VARPREFIX)'%${D}% -e s%'$(PREFIX)'%${D}/usr%g \
- -i "${S}"/Makefile.PL || die "sed failed"
-}
diff --git a/app-arch/alien/alien-8.95.6.ebuild b/app-arch/alien/alien-8.95.6.ebuild
new file mode 100644
index 000000000000..f2d6dfad91e1
--- /dev/null
+++ b/app-arch/alien/alien-8.95.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit perl-module
+
+DESCRIPTION="Converts between the rpm, dpkg, stampede slp, and slackware tgz file formats"
+HOMEPAGE="https://sourceforge.net/projects/alien-pkg-convert"
+SRC_URI="mirror://debian/pool/main/a/${PN}/${PN}_${PV}.tar.xz -> ${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+IUSE="+bzip2"
+
+RDEPEND="
+ app-arch/rpm
+ app-arch/dpkg
+ dev-util/debhelper
+ >=app-arch/tar-1.14.91
+ bzip2? ( app-arch/bzip2 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${PN}-8.95-tar-extensions.patch" )
diff --git a/app-arch/alien/metadata.xml b/app-arch/alien/metadata.xml
index 4e8fa005bc7a..6cab649acb8d 100644
--- a/app-arch/alien/metadata.xml
+++ b/app-arch/alien/metadata.xml
@@ -5,7 +5,4 @@
<email>lordvan@gentoo.org</email>
<name>Thomas Raschbacher</name>
</maintainer>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- </maintainer>
</pkgmetadata>
diff --git a/app-arch/arc/arc-5.21p.ebuild b/app-arch/arc/arc-5.21p-r1.ebuild
index 37ec75be30cc..d16740c09251 100644
--- a/app-arch/arc/arc-5.21p.ebuild
+++ b/app-arch/arc/arc-5.21p-r1.ebuild
@@ -1,23 +1,23 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="Create & extract files from DOS .ARC files"
-HOMEPAGE="http://arc.sourceforge.net"
+HOMEPAGE="https://arc.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
PATCHES=(
"${FILESDIR}"/${PN}-5.21m-darwin.patch
"${FILESDIR}"/${PN}-5.21m-gentoo-fbsd.patch
- "${FILESDIR}"/${PN}-5.21o-interix.patch
"${FILESDIR}"/${PN}-5.21p-fno-common.patch
+ "${FILESDIR}"/${PN}-5.21p-variadic-arcdie.patch
)
src_prepare() {
diff --git a/app-arch/arc/files/arc-5.21o-interix.patch b/app-arch/arc/files/arc-5.21o-interix.patch
deleted file mode 100644
index 8c90eed819f1..000000000000
--- a/app-arch/arc/files/arc-5.21o-interix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/arcdos.c
-+++ b/arcdos.c
-@@ -30,7 +30,7 @@
- #if UNIX
- #include <sys/types.h>
- #include <sys/stat.h>
--#if BSD
-+#if BSD || defined(__INTERIX)
- #include <sys/time.h>
- #else
- #include <time.h> /* Sys V. Bleah. */
diff --git a/app-arch/arc/files/arc-5.21p-variadic-arcdie.patch b/app-arch/arc/files/arc-5.21p-variadic-arcdie.patch
new file mode 100644
index 000000000000..787748f6d3fa
--- /dev/null
+++ b/app-arch/arc/files/arc-5.21p-variadic-arcdie.patch
@@ -0,0 +1,38 @@
+Convert arcdie to variadic function, which solves the issue with
+-Werror=implicit-int enabled.
+
+Bug: https://bugs.gentoo.org/870517
+
+diff --git a/arcmisc.c b/arcmisc.c
+index ea12b41..3d6272e 100644
+--- a/arcmisc.c
++++ b/arcmisc.c
+@@ -3,6 +3,7 @@
+ * $Header: /cvsroot/arc/arc/arcmisc.c,v 1.4 2005/10/09 01:38:22 highlandsun Exp $
+ */
+
++#include <stdarg.h>
+ #include <stdio.h>
+ #include <ctype.h>
+ #include "arc.h"
+@@ -223,11 +224,14 @@ upper(string)
+ }
+ /* VARARGS1 */
+ VOID
+-arcdie(s, arg1, arg2, arg3)
+- char *s;
++arcdie(char * s, ...)
+ {
++ va_list ap;
++
+ fprintf(stderr, "ARC: ");
+- fprintf(stderr, s, arg1, arg2, arg3);
++ va_start(ap, s);
++ vfprintf(stderr, s, ap);
++ va_end(ap);
+ fprintf(stderr, "\n");
+ #if UNIX
+ perror("UNIX");
+--
+2.35.1
+
diff --git a/app-arch/arj/arj-3.10.22-r7.ebuild b/app-arch/arj/arj-3.10.22-r8.ebuild
index 25397e35a751..411fee4059d2 100644
--- a/app-arch/arj/arj-3.10.22-r7.ebuild
+++ b/app-arch/arj/arj-3.10.22-r8.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit autotools toolchain-funcs
@@ -9,39 +9,29 @@ PATCH_LEVEL=15
MY_P="${PN}_${PV}"
DESCRIPTION="Utility for opening arj archives"
-HOMEPAGE="http://arj.sourceforge.net/"
-SRC_URI="mirror://debian/pool/main/a/arj/${MY_P}.orig.tar.gz
+HOMEPAGE="https://arj.sourceforge.net/"
+SRC_URI="
+ mirror://debian/pool/main/a/arj/${MY_P}.orig.tar.gz
mirror://debian/pool/main/a/arj/${MY_P}-${PATCH_LEVEL}.debian.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE=""
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
PATCHES=(
"${FILESDIR}/${P}-implicit-declarations.patch"
"${FILESDIR}/${P}-glibc2.10.patch"
"${WORKDIR}"/debian/patches/
"${FILESDIR}/${P}-darwin.patch"
- "${FILESDIR}/${P}-interix.patch"
)
-DOCS=(
- doc/compile.txt
- doc/debug.txt
- doc/glossary.txt
- doc/rev_hist.txt
- doc/xlation.txt
-)
+DOCS=( doc/compile.txt doc/debug.txt doc/glossary.txt doc/rev_hist.txt doc/xlation.txt )
src_prepare() {
default
cd gnu || die 'failed to change to the "gnu" directory'
echo -n "" > stripgcc.lnk || die "failed to disable stripgcc.lnk"
- # This gets rid of the QA warning, but should be fixed upstream...
- mv configure.{in,ac} || die 'failed to move configure.in to configure.ac'
-
eautoreconf
}
diff --git a/app-arch/arj/files/arj-3.10.22-interix.patch b/app-arch/arj/files/arj-3.10.22-interix.patch
deleted file mode 100644
index 8294f1e96bb4..000000000000
--- a/app-arch/arj/files/arj-3.10.22-interix.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -ru arj-3.10.22.orig/environ.c arj-3.10.22/environ.c
---- arj-3.10.22.orig/environ.c 2008-03-30 16:51:40 +0200
-+++ arj-3.10.22/environ.c 2008-03-30 16:50:16 +0200
-@@ -61,7 +61,7 @@
- #elif defined(__FreeBSD__)||defined(__NetBSD__)||defined(__APPLE__)
- #include <sys/param.h>
- #include <sys/mount.h>
-- #elif defined(__QNXNTO__)
-+ #elif defined(__QNXNTO__) || defined(__INTERIX)
- #include <sys/statvfs.h>
- #else
- #include <sys/statfs.h>
-@@ -2286,7 +2286,7 @@
- else
- return((LONG_MAX/(spclu*bps)<fclu)?LONG_MAX:spclu*bps*fclu);
- #elif TARGET==UNIX
-- #if defined(__QNXNTO__)||defined(__sco__)||defined(SUNOS)
-+ #if defined(__QNXNTO__)||defined(__sco__)||defined(SUNOS)||defined(__INTERIX)
- struct statvfs vfs;
-
- if(statvfs(name, &vfs)==-1)
-@@ -3802,7 +3802,9 @@
- #elif TARGET==WIN32
- return(0);
- #elif TARGET==UNIX
-+ #ifndef __INTERIX
- sync();
-+ #endif
- return(0);
- #endif
- }
-diff -ru arj-3.10.22.orig/gnu/configure.in arj-3.10.22/gnu/configure.in
---- arj-3.10.22.orig/gnu/configure.in 2008-03-30 16:51:40 +0200
-+++ arj-3.10.22/gnu/configure.in 2008-03-30 16:41:37 +0200
-@@ -67,8 +67,9 @@
- DLL_EXT=".dylib"
- DLL_FLAGS=""
- ;;
--interix3*)
-+interix*)
- # not ELF
-+ DYN_LIBS="-ldl"
- DLL_FLAGS="-shared"
- DLL_CFLAGS=""
- ;;
diff --git a/app-arch/atool/atool-0.39.0-r1.ebuild b/app-arch/atool/atool-0.39.0-r1.ebuild
index b5a2d655b278..3c875d01e158 100644
--- a/app-arch/atool/atool-0.39.0-r1.ebuild
+++ b/app-arch/atool/atool-0.39.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://savannah.nongnu.org/download/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ppc x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~ia64 ppc ~ppc64 ~riscv ~sparc x86"
DEPEND="dev-lang/perl"
RDEPEND="${DEPEND}
diff --git a/app-arch/bloscpack/Manifest b/app-arch/bloscpack/Manifest
deleted file mode 100644
index 4ea87053d80f..000000000000
--- a/app-arch/bloscpack/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST bloscpack-0.16.0.tar.gz 99059 BLAKE2B 415894771d6b987170b6938fd20ad065d30075410ddf021bd6e65e3e02d12bff6f5bb22960cdd186d9e52666a1d934047e0383e5d74016c3ad2ba1eef06cafb6 SHA512 0608c795570961c2dc6ba5a6ea3c8c79b215609c2d141db797429abbceb8ee43843196a2d14fc94797d7df62d562abf5efdae10f093154d5d7a20b3b9bcd85ed
diff --git a/app-arch/bloscpack/bloscpack-0.16.0.ebuild b/app-arch/bloscpack/bloscpack-0.16.0.ebuild
deleted file mode 100644
index eb9555caa3d5..000000000000
--- a/app-arch/bloscpack/bloscpack-0.16.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit distutils-r1
-
-DESCRIPTION="Command line interface for Blosc compression"
-HOMEPAGE="https://github.com/Blosc/bloscpack"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-# needs porting to newer numpy, bug #732790
-RESTRICT="test"
-
-RDEPEND="
- dev-python/blosc[${PYTHON_USEDEP}]
- dev-python/deprecated[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests nose
-
-python_test() {
- PYTHONPATH="${BUILD_DIR}"/lib nosetests -v || die
-}
diff --git a/app-arch/bloscpack/metadata.xml b/app-arch/bloscpack/metadata.xml
deleted file mode 100644
index 427fc0e662c7..000000000000
--- a/app-arch/bloscpack/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <stabilize-allarches/>
- <longdescription lang="en">
- Command line interface to and serialization format for Blosc, a high
- performance, multi-threaded, blocking and shuffling compressor. Uses
- python-blosc bindings to interface with blosc.
- </longdescription>
- <upstream>
- <remote-id type="pypi">bloscpack</remote-id>
- <remote-id type="github">Blosc/bloscpack</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/app-arch/brotli/Manifest b/app-arch/brotli/Manifest
index a7171277c819..9f804bc4a3fd 100644
--- a/app-arch/brotli/Manifest
+++ b/app-arch/brotli/Manifest
@@ -1 +1,3 @@
DIST brotli-1.0.9.tar.gz 486984 BLAKE2B 8b9939d5224396ef33b43e019250ba4bc8949903583615e8dc02c85340fc0a1e2d1632161e00b0ee7355d77f05529ac772f482e05d2089afd71a0bf71e803904 SHA512 b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5
+DIST brotli-1.0.9.testdata.tar.xz 3771536 BLAKE2B e22a7e926a68b64cf3ddcf90d2381201d0bac6486f28c3a675c83a2a685108491011195faf48df9abd478a011e874df560ae81988348f7605197805cc3be20dd SHA512 d98c48dbc7772959a9cf276b638cf773a05a896c9daf4f6235f7d7fd625490b3f538e0690afcd6968ff81ad3745c7d78419850c2518048c44d73b470bcd08c97
+DIST brotli-1.1.0.tar.gz 511969 BLAKE2B 7ac767fd6dafaabfb4e3834d690f71abceb4d4e7f131849d6c328a04f3a16c54d0a9463a37f03663a4158c35e970a089512c8a5bc43eda79fb43c1f61223379e SHA512 6eb280d10d8e1b43d22d00fa535435923c22ce8448709419d676ff47d4a644102ea04f488fc65a179c6c09fee12380992e9335bad8dfebd5d1f20908d10849d9
diff --git a/app-arch/brotli/brotli-1.0.9-r6.ebuild b/app-arch/brotli/brotli-1.0.9-r6.ebuild
new file mode 100644
index 000000000000..7a77db722acd
--- /dev/null
+++ b/app-arch/brotli/brotli-1.0.9-r6.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_OPTIONAL="1"
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit cmake-multilib distutils-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://github.com/google/${PN}.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${P}.testdata.tar.xz
+ )
+ "
+fi
+
+DESCRIPTION="Generic-purpose lossless compression algorithm"
+HOMEPAGE="https://github.com/google/brotli/"
+
+LICENSE="MIT python? ( Apache-2.0 )"
+SLOT="0/$(ver_cut 1)"
+IUSE="python static-libs test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ python? (
+ ${DISTUTILS_DEPS}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/unittest-or-fail[${PYTHON_USEDEP}]
+ ' 3.{9..11})
+ )
+ )
+"
+
+DOCS=( README.md CONTRIBUTING.md )
+
+PATCHES=( "${FILESDIR}/${PV}-linker.patch" )
+
+src_prepare() {
+ cmake_src_prepare
+ use python && distutils-r1_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_configure() {
+ append-lfs-flags
+
+ cmake-multilib_src_configure
+ use python && distutils-r1_src_configure
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+ use python && distutils-r1_src_compile
+}
+
+python_test() {
+ eunittest -s python -p "*_test.py"
+}
+
+src_test() {
+ cmake-multilib_src_test
+ use python && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ cmake_src_install
+ if ! use static-libs; then
+ rm "${ED}"/usr/$(get_libdir)/*.a || die
+ fi
+}
+
+multilib_src_install_all() {
+ use python && distutils-r1_src_install
+
+ doman docs/brotli.1
+
+ local page
+ for page in constants decode encode types ; do
+ newman docs/${page}.h.3 ${PN}_${page}.h.3
+ done
+}
diff --git a/app-arch/brotli/brotli-1.0.9-r3.ebuild b/app-arch/brotli/brotli-1.1.0.ebuild
index 71cd23501c5a..af761fb90b3f 100644
--- a/app-arch/brotli/brotli-1.0.9-r3.ebuild
+++ b/app-arch/brotli/brotli-1.1.0.ebuild
@@ -1,39 +1,54 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL="1"
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit cmake-multilib distutils-r1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake-multilib distutils-r1 flag-o-matic
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/google/${PN}.git"
inherit git-r3
else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ "
fi
DESCRIPTION="Generic-purpose lossless compression algorithm"
-HOMEPAGE="https://github.com/google/brotli"
+HOMEPAGE="https://github.com/google/brotli/"
LICENSE="MIT python? ( Apache-2.0 )"
SLOT="0/$(ver_cut 1)"
-IUSE="python static-libs test"
-
+IUSE="python test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-# tests are currently broken, see https://github.com/google/brotli/issues/850
-RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ python? (
+ ${DISTUTILS_DEPS}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/unittest-or-fail[${PYTHON_USEDEP}]
+ ' 3.{9..11})
+ )
+ )
+"
DOCS=( README.md CONTRIBUTING.md )
-PATCHES=( "${FILESDIR}/${PV}-linker.patch" )
-
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
-
src_prepare() {
cmake_src_prepare
use python && distutils-r1_src_prepare
@@ -45,26 +60,23 @@ multilib_src_configure() {
)
cmake_src_configure
}
+
src_configure() {
+ append-lfs-flags
+
cmake-multilib_src_configure
use python && distutils-r1_src_configure
}
-multilib_src_compile() {
- cmake_src_compile
-}
src_compile() {
cmake-multilib_src_compile
use python && distutils-r1_src_compile
}
python_test() {
- esetup.py test || die
+ eunittest -s python -p "*_test.py"
}
-multilib_src_test() {
- cmake_src_test
-}
src_test() {
cmake-multilib_src_test
use python && distutils-r1_src_test
@@ -72,8 +84,15 @@ src_test() {
multilib_src_install() {
cmake_src_install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die
}
+
multilib_src_install_all() {
use python && distutils-r1_src_install
+
+ doman docs/brotli.1
+
+ local page
+ for page in constants decode encode types ; do
+ newman docs/${page}.h.3 ${PN}_${page}.h.3
+ done
}
diff --git a/app-arch/brotli/brotli-9999.ebuild b/app-arch/brotli/brotli-9999.ebuild
index 16d89922f83c..53768510bba9 100644
--- a/app-arch/brotli/brotli-9999.ebuild
+++ b/app-arch/brotli/brotli-9999.ebuild
@@ -1,35 +1,53 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+DISTUTILS_EXT=1
DISTUTILS_OPTIONAL="1"
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit cmake-multilib distutils-r1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit cmake-multilib distutils-r1 flag-o-matic
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/google/${PN}.git"
inherit git-r3
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
- SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+ SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ "
fi
DESCRIPTION="Generic-purpose lossless compression algorithm"
-HOMEPAGE="https://github.com/google/brotli"
+HOMEPAGE="https://github.com/google/brotli/"
LICENSE="MIT python? ( Apache-2.0 )"
SLOT="0/$(ver_cut 1)"
-IUSE="python static-libs test"
-
+IUSE="python test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
RESTRICT="!test? ( test )"
-DOCS=( README.md CONTRIBUTING.md )
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ python? (
+ ${DISTUTILS_DEPS}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/unittest-or-fail[${PYTHON_USEDEP}]
+ ' 3.{9..11})
+ )
+ )
+"
-RDEPEND="python? ( ${PYTHON_DEPS} )"
-DEPEND="${RDEPEND}"
+DOCS=( README.md CONTRIBUTING.md )
src_prepare() {
cmake_src_prepare
@@ -42,26 +60,23 @@ multilib_src_configure() {
)
cmake_src_configure
}
+
src_configure() {
+ append-lfs-flags
+
cmake-multilib_src_configure
use python && distutils-r1_src_configure
}
-multilib_src_compile() {
- cmake_src_compile
-}
src_compile() {
cmake-multilib_src_compile
use python && distutils-r1_src_compile
}
python_test() {
- esetup.py test || die
+ eunittest -s python -p "*_test.py"
}
-multilib_src_test() {
- cmake_src_test
-}
src_test() {
cmake-multilib_src_test
use python && distutils-r1_src_test
@@ -69,8 +84,15 @@ src_test() {
multilib_src_install() {
cmake_src_install
- use static-libs || rm "${ED}"/usr/$(get_libdir)/*.a || die
}
+
multilib_src_install_all() {
use python && distutils-r1_src_install
+
+ doman docs/brotli.1
+
+ local page
+ for page in constants decode encode types ; do
+ newman docs/${page}.h.3 ${PN}_${page}.h.3
+ done
}
diff --git a/app-arch/brotli/metadata.xml b/app-arch/brotli/metadata.xml
index 98d133815abb..2b14295d52d7 100644
--- a/app-arch/brotli/metadata.xml
+++ b/app-arch/brotli/metadata.xml
@@ -5,6 +5,9 @@
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
<longdescription>
Brotli is a generic-purpose lossless compression algorithm that
compresses data using a combination of a modern variant of the
@@ -13,6 +16,7 @@
deflate but offers denser compression.
</longdescription>
<upstream>
+ <remote-id type="cpe">cpe:/a:google:brotli</remote-id>
<remote-id type="github">google/brotli</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/bsdsfv/bsdsfv-1.18-r2.ebuild b/app-arch/bsdsfv/bsdsfv-1.18-r3.ebuild
index 9c59d15f47c6..4304b2353edf 100644
--- a/app-arch/bsdsfv/bsdsfv-1.18-r2.ebuild
+++ b/app-arch/bsdsfv/bsdsfv-1.18-r3.ebuild
@@ -1,25 +1,23 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="all-in-one SFV checksum utility"
-HOMEPAGE="http://bsdsfv.sourceforge.net/"
+HOMEPAGE="https://bsdsfv.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm ~hppa ~m68k ppc ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE=""
-
-S=${WORKDIR}/${PN}
PATCHES=( "${FILESDIR}"/${P}-64bit.patch )
src_compile() {
- emake STRIP=true CC=$(tc-getCC)
+ emake STRIP=":" CC="$(tc-getCC)"
}
src_install() {
diff --git a/app-arch/bzip2/Manifest b/app-arch/bzip2/Manifest
index a4b18f5d5bf2..099151807c27 100644
--- a/app-arch/bzip2/Manifest
+++ b/app-arch/bzip2/Manifest
@@ -1 +1,2 @@
DIST bzip2-1.0.8.tar.gz 810029 BLAKE2B 22ab3acd84f4db8c3d6f59340c252faedfd4447cea00dafbd652e65b6cf8a20adf6835c22e58563004cfafdb15348c924996230b4b23cae42da5e25eeac4bdad SHA512 083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3
+DIST bzip2-1.0.8.tar.gz.sig 310 BLAKE2B 0d702dcb19f7738da9f05ee9d719f5cd3653540365e78db143404e599ea54bc6f9d5e6a38cdf5cdd3c6550243d34266343467c6b1db9d5d3c134f9353b00f395 SHA512 4a4a3fa0ec1c10a704b9870e8e629fd007cca55184423c6bfc3049a702fb41e4aeb73bfe9ca7442c27d32d278f1f34f27523a6be67d35b37896acdded12bf40d
diff --git a/app-arch/bzip2/bzip2-1.0.8-r4.ebuild b/app-arch/bzip2/bzip2-1.0.8-r4.ebuild
new file mode 100644
index 000000000000..c90c3005af92
--- /dev/null
+++ b/app-arch/bzip2/bzip2-1.0.8-r4.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
+# (since we're building shared libs) ...
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bzip2.gpg
+inherit toolchain-funcs multilib multilib-minimal usr-ldscript verify-sig
+
+DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
+HOMEPAGE="https://sourceware.org/bzip2/"
+SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://sourceware.org/pub/${PN}/${P}.tar.gz.sig )"
+
+LICENSE="BZIP2"
+SLOT="0/1" # subslot = SONAME
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos"
+IUSE="static static-libs"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-bzip2 )
+"
+PDEPEND="
+ app-alternatives/bzip2
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
+ "${FILESDIR}"/${PN}-1.0.8-saneso.patch
+ "${FILESDIR}"/${PN}-1.0.4-man-links.patch #172986
+ "${FILESDIR}"/${PN}-1.0.6-progress.patch
+ "${FILESDIR}"/${PN}-1.0.3-no-test.patch
+ "${FILESDIR}"/${PN}-1.0.8-mingw.patch #393573
+ "${FILESDIR}"/${PN}-1.0.8-out-of-tree-build.patch
+)
+
+DOCS=( CHANGES README{,.COMPILATION.PROBLEMS,.XML.STUFF} manual.pdf )
+HTML_DOCS=( manual.html )
+
+src_prepare() {
+ default
+
+ # - Use right man path
+ # - Generate symlinks instead of hardlinks
+ # - pass custom variables to control libdir
+ sed -i \
+ -e 's:\$(PREFIX)/man:\$(PREFIX)/share/man:g' \
+ -e 's:ln -s -f $(PREFIX)/bin/:ln -s -f :' \
+ -e 's:$(PREFIX)/lib:$(PREFIX)/$(LIBDIR):g' \
+ Makefile || die
+}
+
+bemake() {
+ emake \
+ VPATH="${S}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)" \
+ RANLIB="$(tc-getRANLIB)" \
+ "$@"
+}
+
+multilib_src_compile() {
+ bemake -f "${S}"/Makefile-libbz2_so all
+ # Make sure we link against the shared lib #504648
+ ln -s libbz2.so.${PV} libbz2.so || die
+ bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
+}
+
+multilib_src_test() {
+ cp "${S}"/sample* "${BUILD_DIR}" || die
+ bemake -f "${S}"/Makefile check
+}
+
+multilib_src_install() {
+ into /usr
+
+ # Install the shared lib manually. We install:
+ # .x.x.x - standard shared lib behavior
+ # .x.x - SONAME some distros use #338321
+ # .x - SONAME Gentoo uses
+ dolib.so libbz2.so.${PV}
+ local v
+ for v in libbz2.so{,.{${PV%%.*},${PV%.*}}} ; do
+ dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
+ done
+
+ use static-libs && dolib.a libbz2.a
+
+ if multilib_is_native_abi ; then
+ gen_usr_ldscript -a bz2
+
+ dobin bzip2recover$(get_exeext)
+ into /
+ newbin bzip2$(get_exeext) bzip2-reference$(get_exeext)
+ fi
+}
+
+multilib_src_install_all() {
+ # `make install` doesn't cope with out-of-tree builds, nor with
+ # installing just non-binaries, so handle things ourselves.
+ insinto /usr/include
+ doins bzlib.h
+ into /usr
+ dobin bz{diff,grep,more}
+ doman bz{diff,grep,more}.1
+ newman bzip2.1 bzip2-reference.1
+
+ dosym bzdiff /usr/bin/bzcmp
+ dosym bzdiff.1 /usr/share/man/man1/bzcmp.1
+
+ dosym bzmore /usr/bin/bzless
+ dosym bzmore.1 /usr/share/man/man1/bzless.1
+
+ dosym bzip2-reference.1 /usr/share/man/man1/bzip2recover.1
+ local x
+ for x in bz{e,f}grep ; do
+ dosym bzgrep /usr/bin/${x}
+ dosym bzgrep.1 /usr/share/man/man1/${x}.1
+ done
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ # ensure to preserve the symlinks before app-alternatives/bzip2
+ # is installed
+ local x
+ for x in bzip2 bunzip2 bzcat; do
+ if [[ ! -h ${EROOT}/bin/${x} ]]; then
+ ln -s bzip2-reference$(get_exeext) "${EROOT}/bin/${x}$(get_exeext)" || die
+ fi
+ done
+}
diff --git a/app-arch/bzip2/bzip2-1.0.8-r1.ebuild b/app-arch/bzip2/bzip2-1.0.8-r5.ebuild
index 49d36f93d65a..8b2111a2bfcb 100644
--- a/app-arch/bzip2/bzip2-1.0.8-r1.ebuild
+++ b/app-arch/bzip2/bzip2-1.0.8-r5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: atm, libbz2.a is always PIC :(, so it is always built quickly
@@ -6,17 +6,26 @@
EAPI=7
-inherit toolchain-funcs multilib-minimal usr-ldscript
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bzip2.gpg
+inherit toolchain-funcs multilib multilib-minimal verify-sig
DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
HOMEPAGE="https://sourceware.org/bzip2/"
SRC_URI="https://sourceware.org/pub/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://sourceware.org/pub/${PN}/${P}.tar.gz.sig )"
LICENSE="BZIP2"
SLOT="0/1" # subslot = SONAME
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos"
IUSE="static static-libs"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-bzip2 )
+"
+PDEPEND="
+ app-alternatives/bzip2
+"
+
PATCHES=(
"${FILESDIR}"/${PN}-1.0.4-makefile-CFLAGS.patch
"${FILESDIR}"/${PN}-1.0.8-saneso.patch
@@ -59,6 +68,11 @@ multilib_src_compile() {
bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static '')"
}
+multilib_src_test() {
+ cp "${S}"/sample* "${BUILD_DIR}" || die
+ bemake -f "${S}"/Makefile check
+}
+
multilib_src_install() {
into /usr
@@ -72,21 +86,12 @@ multilib_src_install() {
dosym libbz2.so.${PV} /usr/$(get_libdir)/${v}
done
- # Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
- # Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
- # OK to remove one year after 2020-04-11.
- if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2.so.1.0" ]]; then
- dosym libbz2.so.${PV} "/usr/$(get_libdir)/libbz2.so.1.0"
- fi
-
use static-libs && dolib.a libbz2.a
if multilib_is_native_abi ; then
- gen_usr_ldscript -a bz2
-
- dobin bzip2recover
+ dobin bzip2recover$(get_exeext)
into /
- dobin bzip2
+ newbin bzip2$(get_exeext) bzip2-reference$(get_exeext)
fi
}
@@ -97,7 +102,8 @@ multilib_src_install_all() {
doins bzlib.h
into /usr
dobin bz{diff,grep,more}
- doman *.1
+ doman bz{diff,grep,more}.1
+ newman bzip2.1 bzip2-reference.1
dosym bzdiff /usr/bin/bzcmp
dosym bzdiff.1 /usr/share/man/man1/bzcmp.1
@@ -105,18 +111,23 @@ multilib_src_install_all() {
dosym bzmore /usr/bin/bzless
dosym bzmore.1 /usr/share/man/man1/bzless.1
+ dosym bzip2-reference.1 /usr/share/man/man1/bzip2recover.1
local x
- for x in bunzip2 bzcat bzip2recover ; do
- dosym bzip2.1 /usr/share/man/man1/${x}.1
- done
for x in bz{e,f}grep ; do
dosym bzgrep /usr/bin/${x}
dosym bzgrep.1 /usr/share/man/man1/${x}.1
done
einstalldocs
+}
- # move "important" bzip2 binaries to /bin and use the shared libbz2.so
- dosym bzip2 /bin/bzcat
- dosym bzip2 /bin/bunzip2
+pkg_postinst() {
+ # ensure to preserve the symlinks before app-alternatives/bzip2
+ # is installed
+ local x
+ for x in bzip2 bunzip2 bzcat; do
+ if [[ ! -h ${EROOT}/bin/${x} ]]; then
+ ln -s bzip2-reference$(get_exeext) "${EROOT}/bin/${x}$(get_exeext)" || die
+ fi
+ done
}
diff --git a/app-arch/bzip2/bzip2-9999.ebuild b/app-arch/bzip2/bzip2-9999.ebuild
index a5f4b823c2f1..e8b4774ac56e 100644
--- a/app-arch/bzip2/bzip2-9999.ebuild
+++ b/app-arch/bzip2/bzip2-9999.ebuild
@@ -1,24 +1,28 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit meson-multilib usr-ldscript
DESCRIPTION="A high-quality data compressor used extensively by Gentoo Linux"
-HOMEPAGE="https://gitlab.com/federicomenaquintero/bzip2"
-if [[ "${PV}" == 9999 ]] ; then
+HOMEPAGE="https://gitlab.com/bzip2/bzip2"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://gitlab.com/bzip2/bzip2"
inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/federicomenaquintero/bzip2.git"
else
- SRC_URI=""
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos"
fi
+
LICENSE="BZIP2"
SLOT="0/1" # subslot = SONAME
IUSE="static-libs"
+PDEPEND="
+ app-alternatives/bzip2
+"
+
multilib_src_configure() {
local emesonargs=(
-Ddefault_library=$(usex static-libs both shared)
@@ -32,25 +36,19 @@ multilib_src_configure() {
multilib_src_install() {
meson_src_install
- # Install libbz2.so.1.0 due to accidental soname change in 1.0.7.
- # Reference: 98da0ad82192d21ad74ae52366ea8466e2acea24.
- # OK to remove one year after 2020-04-11.
- if [[ ! -L "${ED}/usr/$(get_libdir)/libbz2.so.1.0" ]]; then
- dosym libbz2.so.1 "/usr/$(get_libdir)/libbz2.so.1.0"
- fi
-
if multilib_is_native_abi ; then
gen_usr_ldscript -a bz2
-
- dodir /bin
- mv "${ED}"/usr/bin/bzip2 "${ED}"/bin || die
fi
}
multilib_src_install_all() {
- # move "important" bzip2 binaries to /bin and use the shared libbz2.so
- dosym bzip2 /bin/bzcat
- dosym bzip2 /bin/bunzip2
+ dodir /bin
+ mv "${ED}"/usr/bin/bzip2 "${ED}"/bin/bzip2-reference || die
+ mv "${ED}"/usr/share/man/man1/bzip2{,-reference}.1 || die
+
+ # moved to app-alternatives/bzip2
+ rm "${ED}"/usr/bin/{bzcat,bunzip2} || die
+ rm "${ED}"/usr/share/man/man1/{bzcat,bunzip2.1} || die
dosym bzdiff /usr/bin/bzcmp
dosym bzmore /usr/bin/bzless
@@ -59,8 +57,7 @@ multilib_src_install_all() {
dosym bzgrep /usr/bin/${x}
done
- dosym bzip2.1 /usr/share/man/man1/bzip2recover.1
+ dosym bzip2-reference.1 /usr/share/man/man1/bzip2recover.1
- local DOCS=( AUTHORS NEWS{,-pre-1.0.7} README.md )
einstalldocs
}
diff --git a/app-arch/bzip2/metadata.xml b/app-arch/bzip2/metadata.xml
index 87e613c2ed69..e3880e673f7f 100644
--- a/app-arch/bzip2/metadata.xml
+++ b/app-arch/bzip2/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:bzip:bzip2</remote-id>
+ <remote-id type="gitlab">bzip2/bzip2</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/bzip3/Manifest b/app-arch/bzip3/Manifest
new file mode 100644
index 000000000000..ae651b30a1be
--- /dev/null
+++ b/app-arch/bzip3/Manifest
@@ -0,0 +1 @@
+DIST bzip3-1.4.0.tar.xz 278424 BLAKE2B d3e4ae283d3b4512e70ffe3ef63c4ee4fe6f7a0a272aacfe67aae155aed547b54c7e46bce2448b140c7af58ec968b33a1ea7660ffa492bd6bf6eed9fd9f9c4d1 SHA512 584eb77b3071b09c15f20ec88248c9295ca2107107fdcb0495364ac60807c688d167a6cbbdd1b67cc851cbebc0791661ecb44b4d03ca5fb7d2b89ce839452062
diff --git a/app-arch/bzip3/bzip3-1.4.0.ebuild b/app-arch/bzip3/bzip3-1.4.0.ebuild
new file mode 100644
index 000000000000..7cdf987ce525
--- /dev/null
+++ b/app-arch/bzip3/bzip3-1.4.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="A better and stronger spiritual successor to BZip2"
+HOMEPAGE="https://github.com/kspalaiologos/bzip3"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/kspalaiologos/${PN}.git"
+else
+ SRC_URI="https://github.com/kspalaiologos/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~loong x86"
+fi
+
+LICENSE="LGPL-3+"
+SLOT="0"
+
+src_configure() {
+ # ./configure script will default to Clang if it is found on the system,
+ # force the use of CC selected by the user with CC=$(tc-getCC)
+ econf CC=$(tc-getCC)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/app-arch/bzip3/metadata.xml b/app-arch/bzip3/metadata.xml
new file mode 100644
index 000000000000..5dee14e0081f
--- /dev/null
+++ b/app-arch/bzip3/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <longdescription>
+ A better, faster and stronger spiritual successor to BZip2. Features higher
+ compression ratios and better performance thanks to a order-0 context
+ mixing entropy coder, a fast Burrows-Wheeler transform code making use of
+ suffix arrays and a RLE with Lempel Ziv+Prediction pass based on LZ77-style
+ string matching and PPM-style context modeling.
+ Like its ancestor, BZip3 excels at compressing text or code.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/kspalaiologos/bzip3/issues/</bugs-to>
+ <remote-id type="github">kspalaiologos/bzip3</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/cabextract/Manifest b/app-arch/cabextract/Manifest
index d833dc8f192e..ccd96f2e0180 100644
--- a/app-arch/cabextract/Manifest
+++ b/app-arch/cabextract/Manifest
@@ -1,3 +1 @@
-DIST cabextract-1.8.tar.gz 289256 BLAKE2B ba9fea0cd12859b0de97b13362eaf276066650eb7151e0115af7ed2586cfa7497f72be2f9287d3ccb5ce5256ec26ca69e729df5bb0a327bb9f32ded25391460c SHA512 f8d676d6b738b0b13ac1cac7716c2fb46db423ef30b05ee64f00fcb19596131fbd34341c8b417af3de04896e9b6a8abf0d5976ee4bf87d016806a71317246d7a
-DIST cabextract-1.9.1.tar.gz 469369 BLAKE2B 5bfc697b40cbf47b42ab7857804b703c9622d8dae1648aae1bb5c0ec7c7978bff01b7ca2526f1b6090f193d88c00e3f49ae111f348d03fec9f575bddbb4b4096 SHA512 c354a4b20a222b40813f01baf8311c9a76611da427f9f44e977a3fd09508e24a18b486e3eef889a9debdca459f1b0c28d5d25429ccd555d3a2e4ff92d91cec14
-DIST cabextract-1.9.tar.gz 466334 BLAKE2B 1a82bddca826ee35ed13e1c0b50deca3ae1b7e31d7f427f54b5d6cf9651a727b7cbf8049c1a4326237725e007baecb4356721489611bb5e015bd7460e2530758 SHA512 d144c1df9ed8e8c339bcadb3d1be2eb2576bb066e3f75a3480df0d5e81407a633554e4674b3bb43716c0cf33a0f2327e6f798cd6d7825bceefa0ad839fcc3f64
+DIST cabextract-1.11.tar.gz 489656 BLAKE2B c0360e63359c3c3db26d442a92be8ac3f05903015be0f8fc76e81b572e882807b881756d6541aa77e55e8c083cda3363f8d2f9a32a7ab35a0b79482a9c91ef47 SHA512 416bdc5a889c3986b2a5d6ecb8526a69f2d85c34f4856da43951271ff4f31013e4197c56ea5f6b05061b511b980d5a65cb34b9b859d3013c1dbcbb89d43114f9
diff --git a/app-arch/cabextract/cabextract-1.9.1.ebuild b/app-arch/cabextract/cabextract-1.11.ebuild
index ae2d04bfcc58..aa1c7c5dffd9 100644
--- a/app-arch/cabextract/cabextract-1.9.1.ebuild
+++ b/app-arch/cabextract/cabextract-1.11.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit autotools toolchain-funcs
+inherit toolchain-funcs
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
- inherit git-r3
+ inherit autotools git-r3
MY_P="${PN}-9999"
LIBMSPACK_DEPEND="~dev-libs/libmspack-9999:="
else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
MY_PV="${PV/_alpha/alpha}"
MY_P="${PN}-${MY_PV}"
SRC_URI="https://www.cabextract.org.uk/${P}.tar.gz"
@@ -27,10 +27,11 @@ LICENSE="GPL-3"
SLOT="0"
IUSE="extras"
-DEPEND="${LIBMSPACK_DEPEND}
- virtual/pkgconfig"
+DEPEND="${LIBMSPACK_DEPEND}"
RDEPEND="${LIBMSPACK_DEPEND}
extras? ( dev-lang/perl )"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
src_prepare() {
if [[ ${PV} == "9999" ]] ; then
@@ -44,7 +45,7 @@ src_prepare() {
default
- eautoreconf
+ [[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
diff --git a/app-arch/cabextract/cabextract-1.8.ebuild b/app-arch/cabextract/cabextract-1.8.ebuild
deleted file mode 100644
index acb8183e9aa5..000000000000
--- a/app-arch/cabextract/cabextract-1.8.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Extracts files from Microsoft cabinet archive files"
-HOMEPAGE="https://www.cabextract.org.uk/"
-SRC_URI="https://www.cabextract.org.uk/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
-IUSE="extras"
-
-RDEPEND="extras? ( dev-lang/perl )"
-
-src_prepare() {
- default
- # the code attempts to set up a fnmatch replacement, but then fails to code
- # it properly leading to undefined references to rpl_fnmatch(). This may be
- # removed in the future if building still works by setting "yes" to "no".
- export ac_cv_func_fnmatch_works=yes
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- local DOCS=( AUTHORS ChangeLog INSTALL NEWS README TODO doc/magic )
- default
- docinto html
- dodoc doc/wince_cab_format.html
- if use extras; then
- dobin src/{wince_info,wince_rename,cabinfo,cabsplit}
- fi
-}
diff --git a/app-arch/cabextract/cabextract-1.9-r2.ebuild b/app-arch/cabextract/cabextract-1.9-r2.ebuild
deleted file mode 100644
index fdf50aa99b13..000000000000
--- a/app-arch/cabextract/cabextract-1.9-r2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit autotools toolchain-funcs
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
- inherit git-r3
- MY_P="${PN}-9999"
-
- LIBMSPACK_DEPEND="~dev-libs/libmspack-9999:="
-else
- KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
- MY_PV="${PV/_alpha/alpha}"
- MY_P="${PN}-${MY_PV}"
- SRC_URI="https://www.cabextract.org.uk/${P}.tar.gz"
-
- LIBMSPACK_DEPEND=">=dev-libs/libmspack-0.8_alpha:="
-fi
-
-DESCRIPTION="Extracts files from Microsoft cabinet archive files"
-HOMEPAGE="https://www.cabextract.org.uk/"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="extras"
-
-DEPEND="${LIBMSPACK_DEPEND}
- virtual/pkgconfig"
-RDEPEND="${LIBMSPACK_DEPEND}
- extras? ( dev-lang/perl )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-bigendian.patch
- "${FILESDIR}"/${P}-remove-spurious-test_files.patch
-)
-
-src_prepare() {
- if [[ ${PV} == "9999" ]] ; then
- # Re-create file layout from release tarball
- pushd "${WORKDIR}" &>/dev/null || die
- cp -aL "${S}"/${PN} "${WORKDIR}"/${PN}-source || die
- rm -r "${S}" || die
- mv "${WORKDIR}"/${PN}-source "${S}" || die
- popd &>/dev/null || die
- fi
-
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf \
- --with-external-libmspack=yes
-}
-
-src_compile() {
- emake AR="$(tc-getAR)"
-}
-
-src_install() {
- local DOCS=( AUTHORS ChangeLog NEWS README TODO doc/magic )
- default
- docinto html
- dodoc doc/wince_cab_format.html
- if use extras; then
- dobin src/{wince_info,wince_rename,cabinfo,cabsplit}
- fi
-}
diff --git a/app-arch/cabextract/cabextract-9999.ebuild b/app-arch/cabextract/cabextract-9999.ebuild
index 1e017470206f..256ec4427719 100644
--- a/app-arch/cabextract/cabextract-9999.ebuild
+++ b/app-arch/cabextract/cabextract-9999.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
-inherit autotools toolchain-funcs
+inherit toolchain-funcs
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/kyz/libmspack.git"
- inherit git-r3
+ inherit autotools git-r3
MY_P="${PN}-9999"
LIBMSPACK_DEPEND="~dev-libs/libmspack-9999:="
else
- KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
MY_PV="${PV/_alpha/alpha}"
MY_P="${PN}-${MY_PV}"
SRC_URI="https://www.cabextract.org.uk/${P}.tar.gz"
@@ -27,10 +27,11 @@ LICENSE="GPL-3"
SLOT="0"
IUSE="extras"
-DEPEND="${LIBMSPACK_DEPEND}
- virtual/pkgconfig"
+DEPEND="${LIBMSPACK_DEPEND}"
RDEPEND="${LIBMSPACK_DEPEND}
extras? ( dev-lang/perl )"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
src_prepare() {
if [[ ${PV} == "9999" ]] ; then
@@ -44,7 +45,7 @@ src_prepare() {
default
- eautoreconf
+ [[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
diff --git a/app-arch/cabextract/files/cabextract-1.9-fix-bigendian.patch b/app-arch/cabextract/files/cabextract-1.9-fix-bigendian.patch
deleted file mode 100644
index 760dd9dbb013..000000000000
--- a/app-arch/cabextract/files/cabextract-1.9-fix-bigendian.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://github.com/kyz/libmspack/commit/c19e707936947b45cf05bc9aaee68517c6c2aca6
-
----
- configure.ac | 1 +
- 1 files changed, 1 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
---- a/configure.ac
-+++ b/configure.ac
-@@ -30,6 +30,7 @@ AC_CHECK_HEADERS([inttypes.h])
- # Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- AC_C_INLINE
-+AC_C_BIGENDIAN
- AC_TYPE_MODE_T
- AC_TYPE_OFF_T
- AC_TYPE_SIZE_T
diff --git a/app-arch/cabextract/files/cabextract-1.9-remove-spurious-test_files.patch b/app-arch/cabextract/files/cabextract-1.9-remove-spurious-test_files.patch
deleted file mode 100644
index d80b8704834c..000000000000
--- a/app-arch/cabextract/files/cabextract-1.9-remove-spurious-test_files.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://github.com/kyz/libmspack/commit/2f78851e3927b05931574b380ca6dccaf91e3807
-
----
- test/bugs.test | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/test/bugs.test
-+++ b/test/bugs.test
-@@ -2,7 +2,7 @@
- # test that known crash bugs remain fixed
- . test/testcase
-
--$cabextract -t $test_files/bugs/*.cab
-+$cabextract -t bugs/*.cab
-
- # fail if exit code indicates a crash (SIGBUS, SIGSEGV, etc.)
- test $? -le 1
diff --git a/app-arch/cabextract/metadata.xml b/app-arch/cabextract/metadata.xml
index 7d44a3ceb01c..0789fd696930 100644
--- a/app-arch/cabextract/metadata.xml
+++ b/app-arch/cabextract/metadata.xml
@@ -1,14 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>fonts@gentoo.org</email>
- <name>Fonts</name>
- </maintainer>
- <use>
- <flag name="extras">Install experimental extra tools: wince_info and
- wince_rename for examining and processing Windows CE installation cabinet
- header files; cabinfo for examining the structure of a cab file.
- </flag>
- </use>
+ <maintainer type="project">
+ <email>fonts@gentoo.org</email>
+ <name>Fonts</name>
+ </maintainer>
+ <use>
+ <flag name="extras">Install experimental extra tools: wince_info and
+ wince_rename for examining and processing Windows CE installation cabinet
+ header files; cabinfo for examining the structure of a cab file.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="github">kyz/libmspack</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/cfv/Manifest b/app-arch/cfv/Manifest
new file mode 100644
index 000000000000..db038dfc39a1
--- /dev/null
+++ b/app-arch/cfv/Manifest
@@ -0,0 +1 @@
+DIST cfv-3.0.0.gh.tar.gz 91600 BLAKE2B 5a0d53a2b75973967ef976ce55d5262f71af97a8d7c64e8ea94ed9d66fd12778e10321e82bdbc4b8037df3f1a9c9c817694a7cd5e60615fc903127df9057b04f SHA512 9a44bf20f0a4f48a93631353d0b0ab79ea15d19f1da5492296dd4bd4e6208d3f0d71e957165e31d07b5faa7fc75122f0ae5ddbd8d54b9c6b633c43695b362640
diff --git a/app-arch/cfv/cfv-3.0.0.ebuild b/app-arch/cfv/cfv-3.0.0.ebuild
new file mode 100644
index 000000000000..02f12d0e670c
--- /dev/null
+++ b/app-arch/cfv/cfv-3.0.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# Tests fail with pypy3 as of PyPy 7.3.9 / Python 3.9.12
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Command-line File Verify - versatile file checksum creator and verifier"
+HOMEPAGE="https://github.com/cfv-project/cfv/"
+# Tests aren't included in PyPI tarballs
+SRC_URI="https://github.com/cfv-project/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ app-arch/cksfv
+ )
+"
+
+python_prepare_all() {
+ # Remove upstream's attempt to install the man page
+ sed -i '/\sdata_files=/d' setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # In order to run integration tests in addition to unit tests, we can't
+ # just rely on pytest here, we need to use upstream's runner.
+ "${EPYTHON}" "test/test.py" || die "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ doman cfv.1
+}
+
+pkg_postinst() {
+ optfeature "the dimension column of JPEG Sheriff crc files" dev-python/pillow
+}
diff --git a/app-arch/cfv/metadata.xml b/app-arch/cfv/metadata.xml
new file mode 100644
index 000000000000..373591c9c7a7
--- /dev/null
+++ b/app-arch/cfv/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sbraz@gentoo.org</email>
+ <name>Louis Sautier</name>
+ </maintainer>
+ <longdescription>
+ cfv is a utility to test and create a wide range of checksum
+ verification files. It currently supports testing and creating sfv,
+ sfvmd5, csv, csv2, csv4, md5, bsdmd5, sha1, sha224, sha256, sha384,
+ sha512, torrent and crc files. Test-only support is available for par,
+ par2.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">cfv</remote-id>
+ <remote-id type="github">cfv-project/cfv</remote-id>
+ <bugs-to>https://github.com/cfv-project/cfv/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/clzip/Manifest b/app-arch/clzip/Manifest
new file mode 100644
index 000000000000..b2f74c5e9c73
--- /dev/null
+++ b/app-arch/clzip/Manifest
@@ -0,0 +1,2 @@
+DIST clzip-1.14.tar.gz 125412 BLAKE2B e28dc890ef233871f8b38e1d4c306032131b714a560e7ebfe756ce3bddb84c9fd0ac3a04e789884951b74760e248503ec2f3555eccf568244c3b3efeae80cb4a SHA512 54047979cc4477e8edba648074ff64b512627aba4da693052052e96faf2c41386db986d73a477aab8ebaef974d753e6b42fa53a0fd293b047efcf60b1fc7483d
+DIST clzip-1.14.tar.gz.sig 72 BLAKE2B f397d586ae3c052bdda80229993746c085196bd01e7e4eddd843ed053b8449109c774199c74c7cd97f1a19623d57965188cf3d3a046e581d9cfbae58f16723c8 SHA512 31e23c3deb63c2c09b71bc9b11d12337a629bed097905d37560f3b8cbcb4730355dc8effa050ec95c1e7e0e00eb4651fa891d9fabdf58df66563e38b3f8b6380
diff --git a/app-arch/clzip/clzip-1.14.ebuild b/app-arch/clzip/clzip-1.14.ebuild
new file mode 100644
index 000000000000..156f044902ad
--- /dev/null
+++ b/app-arch/clzip/clzip-1.14.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
+
+DESCRIPTION="C language version of lzip"
+HOMEPAGE="https://www.nongnu.org/lzip/clzip.html"
+SRC_URI="https://download.savannah.gnu.org/releases/lzip/clzip/${P/_/-}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz.sig )"
+S="${WORKDIR}/${P/_/-}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
+
+src_configure() {
+ # not autotools-based
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ CC="$(tc-getCC)"
+ CPPFLAGS="${CPPFLAGS}"
+ CFLAGS="${CFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ )
+
+ ./configure "${myconf[@]}" || die
+}
diff --git a/app-arch/unmakeself/metadata.xml b/app-arch/clzip/metadata.xml
index 115e9d64a669..076793e3f54b 100644
--- a/app-arch/unmakeself/metadata.xml
+++ b/app-arch/clzip/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
</pkgmetadata>
diff --git a/app-arch/cpio/Manifest b/app-arch/cpio/Manifest
index e3d8f9e77f92..fd953b128e70 100644
--- a/app-arch/cpio/Manifest
+++ b/app-arch/cpio/Manifest
@@ -1,2 +1,4 @@
-DIST cpio-2.12.tar.bz2 1258605 BLAKE2B 4b6d42a1d8aaeaa980cab5894b2e264451e96a108f2c3aa89d3e6fde0bff338e026ee233ebd7c8cf41f3c926d42d38b866778244db774055736ca8792889e160 SHA512 0cd4da5f2fbca179ab4e666a5f878414c086a5f98bce4c76273f21d9b2a6fe422d901b5d453826c5f81bbe363aa015047a1e99779ad1a451c8feca6205c63120
+DIST cpio-2.13-CVE-2021-38185.patch.xz 7844 BLAKE2B e338950e03c3eed3b4288435c9c75af8f0c3497b43680be4ee347e628db7cfac616b437a848094bf82cfc2c7f29d59b388bf0f6368b3b99770022e3f9533be11 SHA512 4d2cafefcd1ae9d86cb5171de2896799713490dfd9ed27d3dce0886fa4588c8df2b16ad8508a5dbb9155c9de6e40b6d1083bdb4774d967193a270a1dcbe37a33
DIST cpio-2.13.tar.bz2 1354559 BLAKE2B 45d77723acb55f15c8574ab5a2fdff6fb1767629d177dd3416b0268e9f82ee6bdd11b4fa591ef020efccbdc3f4918cf77263169da1a0f6422dfe1a9712295778 SHA512 459398e69f7f48201c04d1080218c50f75edcf114ffcbb236644ff6fcade5fcc566929bdab2ebe9be5314828d6902e43b348a8adf28351df978c8989590e93a3
+DIST cpio-2.14.tar.bz2 1521004 BLAKE2B f2fa9f5bc39cd91f4755fdf27f43cff4d1c1f098639502689a01314762ad686bf357a1eda7f92e4c802e6e8335548ca31fc789cea056ef685c558892ddcbebd1 SHA512 2dc93a81e31b6fb7ff9976243d22ca7a84bb396c7ad09e0abfb5d5efae1164ebb319fb89be45045797f8c604b3e3d2ea0746e3cfe559aa86282ea4ec9a17da28
+DIST cpio-2.15.tar.bz2 1651320 BLAKE2B ca2aae6a00239be7aff5558a2e62b4fb4b43c2ed7f4d7a23699c958ae10b348c4ebf39233f0dd0242cba895fdac4d0ff3b4e56fefa0b1afe3db41eb6916e0b23 SHA512 e3c3d0344d13d540887198ee5d6209a9254ed34b87c3b3cabe6dc3ce22ef94d3f380bb60d3395eee44e4b0ec8460b957032c6251f101b4a9fbc5951a701aadff
diff --git a/app-arch/cpio/cpio-2.12-r1.ebuild b/app-arch/cpio/cpio-2.12-r1.ebuild
deleted file mode 100644
index 8e803897a8cc..000000000000
--- a/app-arch/cpio/cpio-2.12-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A file archival tool which can also read and write tar files"
-HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
-SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
- "${FILESDIR}"/${PN}-2.12-name-overflow.patch #572428
- "${FILESDIR}"/${PN}-2.12-gcc-10.patch #705900
-)
-
-src_configure() {
- econf \
- $(use_enable nls) \
- --bindir="${EPREFIX}"/bin \
- --with-rmt="${EPREFIX}"/usr/sbin/rmt
-}
diff --git a/app-arch/cpio/cpio-2.13-r5.ebuild b/app-arch/cpio/cpio-2.13-r5.ebuild
new file mode 100644
index 000000000000..6eb8fef26047
--- /dev/null
+++ b/app-arch/cpio/cpio-2.13-r5.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A file archival tool which can also read and write tar files"
+HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
+SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-CVE-2021-38185.patch.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="nls"
+
+PDEPEND="
+ app-alternatives/cpio
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
+ "${WORKDIR}"/${P}-CVE-2021-38185.patch
+ "${FILESDIR}"/${PN}-2.13-sysmacros-glibc-2.26.patch
+ "${FILESDIR}"/${PN}-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch
+ "${FILESDIR}"/${PN}-2.13-wincompatible-function-pointer-types.patch
+)
+
+src_prepare() {
+ default
+
+ # Drop after 2.13 (only here for CVE patch)
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ --bindir="${EPREFIX}"/bin
+ --with-rmt="${EPREFIX}"/usr/sbin/rmt
+ # install as gcpio for better compatibility with non-GNU userland
+ --program-prefix=g
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+pkg_postinst() {
+ # ensure to preserve the symlink before app-alternatives/cpio
+ # is installed
+ if [[ ! -h ${EROOT}/bin/cpio ]]; then
+ ln -s gcpio "${EROOT}/bin/cpio" || die
+ fi
+}
diff --git a/app-arch/cpio/cpio-2.13.ebuild b/app-arch/cpio/cpio-2.13.ebuild
deleted file mode 100644
index 89a3336d5afa..000000000000
--- a/app-arch/cpio/cpio-2.13.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A file archival tool which can also read and write tar files"
-HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
-SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="nls"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
- "${FILESDIR}"/${PN}-2.12-gcc-10.patch #705900
-)
-
-src_configure() {
- local myeconfargs=(
- $(use_enable nls)
- --bindir="${EPREFIX}"/bin
- --with-rmt="${EPREFIX}"/usr/sbin/rmt
- )
- econf "${myeconfargs[@]}"
-}
diff --git a/app-arch/cpio/cpio-2.14.ebuild b/app-arch/cpio/cpio-2.14.ebuild
new file mode 100644
index 000000000000..3e229fd5d932
--- /dev/null
+++ b/app-arch/cpio/cpio-2.14.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="A file archival tool which can also read and write tar files"
+HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
+SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="nls"
+
+PDEPEND="
+ app-alternatives/cpio
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch #275295
+ "${FILESDIR}"/${PN}-2.14-sysmacros-glibc-2.26.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ --bindir="${EPREFIX}"/bin
+ --with-rmt="${EPREFIX}"/usr/sbin/rmt
+ # install as gcpio for better compatibility with non-GNU userland
+ --program-prefix=g
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+pkg_postinst() {
+ # ensure to preserve the symlink before app-alternatives/cpio
+ # is installed
+ if [[ ! -h ${EROOT}/bin/cpio ]]; then
+ ln -s gcpio "${EROOT}/bin/cpio" || die
+ fi
+}
diff --git a/app-arch/cpio/cpio-2.15.ebuild b/app-arch/cpio/cpio-2.15.ebuild
new file mode 100644
index 000000000000..fe1d24ebc861
--- /dev/null
+++ b/app-arch/cpio/cpio-2.15.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing
+
+DESCRIPTION="File archival tool which can also read and write tar files"
+HOMEPAGE="https://www.gnu.org/software/cpio/cpio.html"
+SRC_URI="mirror://gnu/cpio/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="nls"
+
+PDEPEND="
+ app-alternatives/cpio
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.12-non-gnu-compilers.patch # bug #275295
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ unreachable
+ MIN
+ alignof
+ static_assert
+)
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable nls)
+ --bindir="${EPREFIX}"/bin
+ --with-rmt="${EPREFIX}"/usr/sbin/rmt
+ # install as gcpio for better compatibility with non-GNU userland
+ --program-prefix=g
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
+}
+
+pkg_postinst() {
+ # Ensure to preserve the symlink before app-alternatives/cpio
+ # is installed
+ if [[ ! -h ${EROOT}/bin/cpio ]]; then
+ ln -s gcpio "${EROOT}/bin/cpio" || die
+ fi
+}
diff --git a/app-arch/cpio/files/cpio-2.12-gcc-10.patch b/app-arch/cpio/files/cpio-2.12-gcc-10.patch
deleted file mode 100644
index 9c7d7edd88f5..000000000000
--- a/app-arch/cpio/files/cpio-2.12-gcc-10.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 641d3f489cf6238bb916368d4ba0d9325a235afb Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Mon, 20 Jan 2020 07:45:39 +0200
-Subject: Minor fix * src/global.c: Remove superfluous declaration of
- program_name
-
----
- src/global.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/global.c b/src/global.c
-index fb3abe9..acf92bc 100644
---- a/src/global.c
-+++ b/src/global.c
-@@ -184,9 +184,6 @@ unsigned int warn_option = 0;
- /* Extract to standard output? */
- bool to_stdout_option = false;
-
--/* The name this program was run with. */
--char *program_name;
--
- /* A pointer to either lstat or stat, depending on whether
- dereferencing of symlinks is done for input files. */
- int (*xstat) ();
---
-cgit v1.2.1
-
diff --git a/app-arch/cpio/files/cpio-2.12-name-overflow.patch b/app-arch/cpio/files/cpio-2.12-name-overflow.patch
deleted file mode 100644
index f85246884c39..000000000000
--- a/app-arch/cpio/files/cpio-2.12-name-overflow.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://bugs.gentoo.org/572428
-https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00002.html
-http://seclists.org/oss-sec/2016/q1/136
-
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -1385,6 +1385,8 @@
- break;
- }
-
-+ if (file_hdr.c_namesize <= 1)
-+ file_hdr.c_name = xrealloc (file_hdr.c_name, 2);
- cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag,
- false);
-
diff --git a/app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch b/app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch
new file mode 100644
index 000000000000..326489a54943
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.13-fix-no-absolute-filenames-revert-CVE-2015-1197-handling.patch
@@ -0,0 +1,47 @@
+https://sources.debian.org/patches/cpio/2.13%2Bdfsg-7.1/revert-CVE-2015-1197-handling.patch/
+https://bugs.gentoo.org/700020
+
+From: Chris Lamb <lamby@debian.org>
+Date: Sat, 1 Feb 2020 13:36:37 +0100
+Subject: Fix a regression in handling of CVE-2015-1197 &
+ --no-absolute-filenames.
+
+See:
+
+ * https://bugs.debian.org/946267
+ * https://bugs.debian.org/946469
+
+This reverts (most of): https://git.savannah.gnu.org/cgit/cpio.git/diff/?id=45b0ee2b407913c533f7ded8d6f8cbeec16ff6ca&id2=3177d660a4c62a6acb538b0f7c54ba423698889a
+--- a/src/copyin.c
++++ b/src/copyin.c
+@@ -646,8 +646,6 @@ copyin_link (struct cpio_file_stat *file_hdr, int in_file_des)
+ link_name = xstrdup (file_hdr->c_tar_linkname);
+ }
+
+- cpio_safer_name_suffix (link_name, true, !no_abs_paths_flag, false);
+-
+ res = UMASKED_SYMLINK (link_name, file_hdr->c_name,
+ file_hdr->c_mode);
+ if (res < 0 && create_dir_flag)
+--- a/tests/testsuite
++++ b/tests/testsuite
+@@ -2787,7 +2787,7 @@ read at_status <"$at_status_file"
+ #AT_START_14
+ at_fn_group_banner 14 'CVE-2015-1197.at:17' \
+ "CVE-2015-1197 (--no-absolute-filenames for symlinks)" ""
+-at_xfail=no
++at_xfail=yes
+ (
+ $as_echo "14. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+--- a/tests/CVE-2015-1197.at
++++ b/tests/CVE-2015-1197.at
+@@ -15,6 +15,7 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ AT_SETUP([CVE-2015-1197 (--no-absolute-filenames for symlinks)])
++AT_XFAIL_IF([true])
+ AT_CHECK([
+ tempdir=$(pwd)/tmp
+ mkdir $tempdir
diff --git a/app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch b/app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch
new file mode 100644
index 000000000000..90e7bc77bd9b
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.13-sysmacros-glibc-2.26.patch
@@ -0,0 +1,42 @@
+--- a/am/ax_compile_check_rettype.m4
++++ b/am/ax_compile_check_rettype.m4
+@@ -70,6 +70,9 @@ AC_CACHE_VAL(AC_CV_NAME,
+ [for ac_type in char short int long "long long" $4
+ do
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <sys/types.h>
+ $3
+ ]], [[switch (0) case 0: case (sizeof ($1($2)) == sizeof ($ac_type)):;]])], [AC_CV_NAME=$ac_type])
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,14 +39,11 @@ AC_C_PROTOTYPES
+ AC_SYS_LARGEFILE
+
+ AC_TYPE_SIGNAL
+-AC_HEADER_MAJOR
+ AC_C_CONST
+ AC_TYPE_UID_T
+ AC_CHECK_TYPE(gid_t, int)
+ AC_HEADER_STDC
+ AC_HEADER_DIRENT
+-AC_COMPILE_CHECK_RETTYPE([major], [0])
+-AC_COMPILE_CHECK_RETTYPE([minor], [0])
+
+ AC_CHECK_FUNCS([fchmod fchown])
+ # This is needed for mingw build
+@@ -67,7 +64,11 @@ AC_ARG_ENABLE(mt,
+
+ AM_CONDITIONAL([CPIO_MT_COND], [test "$enable_mt" = yes])
+
+-AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h process.h sys/ioctl.h])
++AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h process.h sys/ioctl.h sys/sysmacros.h])
++
++AC_HEADER_MAJOR
++AC_COMPILE_CHECK_RETTYPE([major], [0])
++AC_COMPILE_CHECK_RETTYPE([minor], [0])
+
+ AC_CHECK_DECLS([errno, getpwnam, getgrnam, getgrgid, strdup, strerror, getenv, atoi, exit], , , [
+ #include <stdio.h>
diff --git a/app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch b/app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch
new file mode 100644
index 000000000000..4f2dc3153656
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.13-wincompatible-function-pointer-types.patch
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/880373
+https://savannah.gnu.org/bugs/index.php?63349
+https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=0cc39712803ade7b2d4b89c36b143dad72404063
+
+From 0cc39712803ade7b2d4b89c36b143dad72404063 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sun, 18 Oct 2020 14:37:13 +0200
+Subject: obstack: Fix a clang warning.
+
+* lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
+--- a/gnu/obstack.c
++++ b/gnu/obstack.c
+@@ -326,7 +326,7 @@ int obstack_exit_failure = EXIT_FAILURE;
+ # include <libio/iolibio.h>
+ # endif
+
+-static _Noreturn void
++static __attribute_noreturn__ void
+ print_and_abort (void)
+ {
+ /* Don't change any of these strings. Yes, it would be possible to add
+--
+cgit v1.1
diff --git a/app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch b/app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch
new file mode 100644
index 000000000000..e6b187c8f5c6
--- /dev/null
+++ b/app-arch/cpio/files/cpio-2.14-sysmacros-glibc-2.26.patch
@@ -0,0 +1,42 @@
+--- a/am/ax_compile_check_rettype.m4
++++ b/am/ax_compile_check_rettype.m4
+@@ -70,6 +70,9 @@ AC_CACHE_VAL(AC_CV_NAME,
+ [for ac_type in char short int long "long long" $4
+ do
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++#ifdef HAVE_SYS_SYSMACROS_H
++#include <sys/sysmacros.h>
++#endif
+ #include <sys/types.h>
+ $3
+ ]], [[switch (0) case 0: case (sizeof ($1($2)) == sizeof ($ac_type)):;]])], [AC_CV_NAME=$ac_type])
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,14 +37,11 @@ gl_EARLY
+ AC_C_PROTOTYPES
+
+ AC_SYS_LARGEFILE
+-AC_HEADER_MAJOR
+ AC_C_CONST
+ AC_TYPE_UID_T
+ AC_CHECK_TYPE(gid_t, int)
+
+ AC_HEADER_DIRENT
+-AX_COMPILE_CHECK_RETTYPE([major], [0])
+-AX_COMPILE_CHECK_RETTYPE([minor], [0])
+
+ AC_CHECK_FUNCS([fchmod fchown])
+ # This is needed for mingw build
+@@ -65,7 +62,11 @@ AC_ARG_ENABLE(mt,
+
+ AM_CONDITIONAL([CPIO_MT_COND], [test "$enable_mt" = yes])
+
+-AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h process.h sys/ioctl.h])
++AC_CHECK_HEADERS([unistd.h stdlib.h string.h fcntl.h pwd.h grp.h sys/io/trioctl.h utmp.h getopt.h locale.h libintl.h sys/wait.h utime.h locale.h process.h sys/ioctl.h sys/sysmacros.h])
++
++AC_HEADER_MAJOR
++AC_COMPILE_CHECK_RETTYPE([major], [0])
++AC_COMPILE_CHECK_RETTYPE([minor], [0])
+
+ AC_CHECK_DECLS([errno, getpwnam, getgrnam, getgrgid, strdup, strerror, getenv, atoi, exit], , , [
+ #include <stdio.h>
diff --git a/app-arch/createrepo_c/Manifest b/app-arch/createrepo_c/Manifest
index 3207cc02e8ba..cdb51ffe2cf8 100644
--- a/app-arch/createrepo_c/Manifest
+++ b/app-arch/createrepo_c/Manifest
@@ -1 +1,2 @@
-DIST createrepo_c-0.16.2.tar.gz 601935 BLAKE2B 8b9f279d97744e9eeb68cfcc7e9a229ab5a4d8cfca74a2a3d444915eaae7a6d2fa113e517fdcd72b69d0343e541ccce8020f50162e4800c54ba989cea8d5756e SHA512 c63abc8aa6c65584b51a0aa337e261fe5d9a52d72287874f86531caa8133718290a4f44aa765979fa319973c4ba0681437a26f84f64bd5bf781c86a6daa8a39b
+DIST createrepo_c-1.0.4.tar.gz 630635 BLAKE2B d1ed426642471ae9a92a342553a0c841de676c23056edae1f4f7360e2334e6f809296296009a7bd5818f0aa50406ff773a2b3b9feb88a7e2b838e51efae82c2e SHA512 1871697a95e75163ea79e509a3d3ae15a4f7c873699962419b5011dd9b960d9764a6f3782c18b094e1bd0d6c90330d8225589a0362fe199440844c5359dbee0c
+DIST createrepo_c-1.1.0.tar.gz 637506 BLAKE2B 9e8ccc9da83f071b2426f3be08a363281f30356d5811648eeaa322d2761d2152310af6ca87a744e9024ac54e46368496d0b9b4fb2b6702e99ab965bafa0203cc SHA512 9e09a2a1dcc0b285975037b70b961f66f08f43b84b384c87b607aaa76462956e2dee305fd2ac620956e4bf365aa3fcf3874e1145054c96c0e41656957835d97e
diff --git a/app-arch/createrepo_c/createrepo_c-0.16.2.ebuild b/app-arch/createrepo_c/createrepo_c-0.16.2.ebuild
deleted file mode 100644
index 7a4f717f367a..000000000000
--- a/app-arch/createrepo_c/createrepo_c-0.16.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="C implementation of createrepo"
-HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
-SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-# Notes: Help with enabling the python support would be great
-
-DEPEND="app-arch/bzip2:=
- app-arch/rpm
- dev-db/sqlite:3
- dev-libs/glib:2
- dev-libs/libxml2
- dev-libs/openssl:=
- net-misc/curl
- sys-apps/file
- sys-libs/zlib:="
-RDEPEND="${DEPEND}
- app-arch/lzma"
-
-src_configure() {
- # Other than for python (where tests are failing) we have special no-in-tree dependencies.
- local mycmakeargs=(
- -DENABLE_DRPM=OFF
- -DENABLE_PYTHON=OFF
- -DWITH_ZCHUNK=OFF
- -DWITH_LIBMODULEMD=OFF
- )
- cmake_src_configure
-}
diff --git a/app-arch/createrepo_c/createrepo_c-1.0.4.ebuild b/app-arch/createrepo_c/createrepo_c-1.0.4.ebuild
new file mode 100644
index 000000000000..afc050773235
--- /dev/null
+++ b/app-arch/createrepo_c/createrepo_c-1.0.4.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C implementation of createrepo"
+HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
+else
+ SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="legacy test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/drpm
+ app-arch/rpm
+ app-arch/xz-utils
+ app-arch/zchunk
+ app-arch/zstd:=
+ >=dev-db/sqlite-3.6.18:3
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ net-misc/curl
+ sys-apps/file
+ sys-libs/libmodulemd
+ sys-libs/zlib:=
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DRPM=ON
+ # As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
+ -DENABLE_PYTHON=OFF
+ # Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
+ -DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
+ -DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
+ -DWITH_LIBMODULEMD=ON
+ -DWITH_ZCHUNK=ON
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ # Tests have a magic target!
+ use test && cmake_src_compile tests
+}
+
+src_test() {
+ "${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
+}
diff --git a/app-arch/createrepo_c/createrepo_c-1.1.0.ebuild b/app-arch/createrepo_c/createrepo_c-1.1.0.ebuild
new file mode 100644
index 000000000000..afc050773235
--- /dev/null
+++ b/app-arch/createrepo_c/createrepo_c-1.1.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C implementation of createrepo"
+HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
+else
+ SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="legacy test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/drpm
+ app-arch/rpm
+ app-arch/xz-utils
+ app-arch/zchunk
+ app-arch/zstd:=
+ >=dev-db/sqlite-3.6.18:3
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ net-misc/curl
+ sys-apps/file
+ sys-libs/libmodulemd
+ sys-libs/zlib:=
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DRPM=ON
+ # As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
+ -DENABLE_PYTHON=OFF
+ # Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
+ -DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
+ -DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
+ -DWITH_LIBMODULEMD=ON
+ -DWITH_ZCHUNK=ON
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ # Tests have a magic target!
+ use test && cmake_src_compile tests
+}
+
+src_test() {
+ "${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
+}
diff --git a/app-arch/createrepo_c/createrepo_c-9999.ebuild b/app-arch/createrepo_c/createrepo_c-9999.ebuild
new file mode 100644
index 000000000000..afc050773235
--- /dev/null
+++ b/app-arch/createrepo_c/createrepo_c-9999.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C implementation of createrepo"
+HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/createrepo_c.git"
+else
+ SRC_URI="https://github.com/rpm-software-management/createrepo_c/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="legacy test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/drpm
+ app-arch/rpm
+ app-arch/xz-utils
+ app-arch/zchunk
+ app-arch/zstd:=
+ >=dev-db/sqlite-3.6.18:3
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/openssl:=
+ net-misc/curl
+ sys-apps/file
+ sys-libs/libmodulemd
+ sys-libs/zlib:=
+"
+
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DRPM=ON
+ # As best I can tell, this enables distribution as a wheel. No need for this on gentoo!
+ -DENABLE_PYTHON=OFF
+ # Upstream enables some 'Legacy' stuff by default, let's put that behind a USE flag
+ -DENABLE_LEGACY_WEAKDEPS=$(usex legacy ON OFF)
+ -DWITH_LEGACY_HASHES=$(usex legacy ON OFF)
+ -DWITH_LIBMODULEMD=ON
+ -DWITH_ZCHUNK=ON
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ # Tests have a magic target!
+ use test && cmake_src_compile tests
+}
+
+src_test() {
+ "${S}"_build/tests/run_tests.sh || die "Failed to run C library tests"
+}
diff --git a/app-arch/createrepo_c/metadata.xml b/app-arch/createrepo_c/metadata.xml
index a8e77b1ab467..d68ba2954545 100644
--- a/app-arch/createrepo_c/metadata.xml
+++ b/app-arch/createrepo_c/metadata.xml
@@ -6,7 +6,21 @@
<name>Jaco Kroon</name>
</maintainer>
<maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="legacy">Build with support for legacy weakdeps and hashes (not recommended!)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">rpm-software-management/createrepo_c</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/csnappy/Manifest b/app-arch/csnappy/Manifest
new file mode 100644
index 000000000000..c2e159458d59
--- /dev/null
+++ b/app-arch/csnappy/Manifest
@@ -0,0 +1 @@
+DIST csnappy-0_pre20220804.tar.gz 594988 BLAKE2B ce82ef7945ba3110d0d2878d4fcd3d48631f260dad94c1b40f7811de17e60568b2934d33e43966f559b0d840f5eed659bde84eab46954679754e9de5306508a1 SHA512 53f602c58a3a9932ac580412d90f3aa7f820cb9bbc9e2dec240dd28de55210fd17ac61a5f8e4a2cebffe2914837c7cabba1061536abd96e35da57c799e8ee7b7
diff --git a/app-arch/csnappy/csnappy-0_pre20220804.ebuild b/app-arch/csnappy/csnappy-0_pre20220804.ebuild
new file mode 100644
index 000000000000..4e2334f7054e
--- /dev/null
+++ b/app-arch/csnappy/csnappy-0_pre20220804.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_COMMIT="6c10c305e8dde193546e6b33cf8a785d5dc123e2"
+
+DESCRIPTION="Google's snappy compression library for the Linux Kernel"
+HOMEPAGE="https://github.com/zeevt/csnappy"
+SRC_URI="https://github.com/zeevt/csnappy/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_COMMIT}
+
+# https://github.com/zeevt/csnappy/issues/21
+LICENSE="BSD"
+# 0/${PV} b/c of the SONAME situation (see below).
+SLOT="0/${PV}"
+KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86"
+
+# https://github.com/zeevt/csnappy/issues/33
+# No SONAME yet.
+QA_SONAME="usr/lib.*/libcsnappy.so"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0_pre20220804-fix-tests.patch
+)
+
+src_compile() {
+ emake CC="$(tc-getCC)" OPT_FLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ libcsnappy.so
+}
+
+src_test() {
+ # We don't want to run the Valgrind tests as it's fragile in sandbox
+ # and makes life harder for some arches.
+ emake CC="$(tc-getCC)" OPT_FLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ check_unaligned_uint64 \
+ cl_test
+}
+
+src_install() {
+ emake DESTDIR="${ED}" LIBDIR="/usr/$(get_libdir)" install
+}
diff --git a/app-arch/csnappy/files/csnappy-0_pre20220804-fix-tests.patch b/app-arch/csnappy/files/csnappy-0_pre20220804-fix-tests.patch
new file mode 100644
index 000000000000..e4d11f7d9021
--- /dev/null
+++ b/app-arch/csnappy/files/csnappy-0_pre20220804-fix-tests.patch
@@ -0,0 +1,41 @@
+https://github.com/zeevt/csnappy/pull/40
+
+From 60ac30054eae4bbc50f90f8228ac53d014400619 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Thu, 16 Dec 2021 14:24:26 +0100
+Subject: [PATCH] Fix parallel tests by only testing the current optimization
+ level
+
+https://github.com/zeevt/csnappy/issues/39
+--- a/Makefile
++++ b/Makefile
+@@ -34,25 +34,14 @@ check_leaks: cl_tester
+ LD_LIBRARY_PATH=. valgrind --leak-check=full --show-reachable=yes ./cl_tester -c <testdata/urls.10K >/dev/null
+ LD_LIBRARY_PATH=. valgrind --leak-check=full --show-reachable=yes ./cl_tester -S d
+
+-check_unaligned_uint64:
++check_unaligned_uint64: cl_tester
+ gzip -dc <testdata/unaligned_uint64_test.snappy.gz >testdata/unaligned_uint64_test.snappy
+ gzip -dc <testdata/unaligned_uint64_test.bin.gz >testdata/unaligned_uint64_test.bin
+- EXTRA_TEST_CFLAGS="-O0" make check_unaligned_uint64_extra_cflags
+- EXTRA_TEST_CFLAGS="-O1" make check_unaligned_uint64_extra_cflags
+- EXTRA_TEST_CFLAGS="-O2" make check_unaligned_uint64_extra_cflags
+- EXTRA_TEST_CFLAGS="-O3" make check_unaligned_uint64_extra_cflags
+- EXTRA_TEST_CFLAGS="-O2 -march=native" make check_unaligned_uint64_extra_cflags
+- EXTRA_TEST_CFLAGS="-O3 -march=native" make check_unaligned_uint64_extra_cflags
+- rm -f testdata/unaligned_uint64_test.snappy testdata/unaligned_uint64_test.bin
+-
+-check_unaligned_uint64_extra_cflags:
+- make clean
+- make cl_tester
+ rm -f tmp
+ LD_LIBRARY_PATH=. ./cl_tester -d testdata/unaligned_uint64_test.snappy tmp
+- diff testdata/unaligned_uint64_test.bin tmp >/dev/null && echo "${EXTRA_TEST_CFLAGS} ok"
+- make clean
++ diff testdata/unaligned_uint64_test.bin tmp >/dev/null && echo "Unaligned test is ok"
+ rm -f tmp
++ rm -f testdata/unaligned_uint64_test.snappy testdata/unaligned_uint64_test.bin
+
+ libcsnappy.so: csnappy_compress.c csnappy_decompress.c csnappy_internal.h csnappy_internal_userspace.h
+ $(CC) $(CFLAGS) $(EXTRA_TEST_CFLAGS) -fPIC -DPIC -c -o csnappy_compress.o csnappy_compress.c
+
diff --git a/app-arch/csnappy/metadata.xml b/app-arch/csnappy/metadata.xml
new file mode 100644
index 000000000000..d377f25e89c3
--- /dev/null
+++ b/app-arch/csnappy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zeevt/csnappy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/deb2targz/deb2targz-1-r3.ebuild b/app-arch/deb2targz/deb2targz-1-r3.ebuild
index 456a77c488fb..a00c1f32268b 100644
--- a/app-arch/deb2targz/deb2targz-1-r3.ebuild
+++ b/app-arch/deb2targz/deb2targz-1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ SRC_URI="http://www.miketaylor.org.uk/tech/deb/${PN}"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="dev-lang/perl"
diff --git a/app-arch/dpkg/Manifest b/app-arch/dpkg/Manifest
index fffb0b729b40..9b7b7bf109c1 100644
--- a/app-arch/dpkg/Manifest
+++ b/app-arch/dpkg/Manifest
@@ -1,2 +1,5 @@
-DIST dpkg_1.20.7.1.tar.xz 4952736 BLAKE2B 0439cd9440c34597ff5c5e04bd8e1b79d34cd7675a216cbe1e7dc4d68460847143a8a7dff14b1845374d8e504d6fba63842b1d1ac37aa01f7b2a96b78ef0278d SHA512 beec7a7ba1cfbd6954b3d583e57c811af3bfa5e4e4554e6af6673d4a4be0e79fb4aded2f6aeeda592c2ba3d91facb82138f2eb8eb2338dc4fae1832911df2fd6
+DIST dpkg_1.20.12.tar.xz 5009108 BLAKE2B 47ecb53c331503c72081a4c472acd6e94a5b7fca2032358809aa8c546cfd6c1542c7cdfad2a5ceff0e40dc454a61974ec47233061b98cf99aabbb8e53621858c SHA512 ce20b1b00b972e6fa5d5cd6427003415a92a78742dc02a9055fee6f00db22b037c54560170e657d7b74c2ae542fff4b7eba46f642adf911dc2f3b90eebefc3ff
DIST dpkg_1.20.9.tar.xz 4954428 BLAKE2B 4e04f7a90c8696971895081e18b220d9dee4bc5930428f131556ae71c673e61e18c363e279b566c2218da60a5aca421807c14cf518952502e707c7397769097b SHA512 904a4742f5f340dc65b2137364dce102a0b2eb42ccedb2a73f79c207362c699fbffaaf1379f1f6c8b8b0e490321af1d03c34b50ebe0c703f5ce8a7f75f17a839
+DIST dpkg_1.21.1.tar.xz 4986936 BLAKE2B f5b0f9fe7ac5fe7ba47191a9e467356e748418846ce0fc9f3c61d731e035eb096932848b15e6a85a15938d3bbd6fa069c786ab0e89c77119958fe632a91c309f SHA512 3f3f263e1300f3e4b55e84521847703dcfe465aa54829a69c31c174a2ad5e8b6a8a251da7c6020d31a38e9e6744113924a71e9579469e32289328e91a48db07f
+DIST dpkg_1.21.15.tar.xz 5350148 BLAKE2B f26611db365266ef9f43484c20d3150889238b34b156cac26f0ae8ae9572e7e4a9839e08a0073a25c886cd2891fc6d84afc97262ae6992267b47fa6e86c03a33 SHA512 eb31db63dd454048c3b7539b539720ed71239303ca679df92b934e971914d63dd771da09149054048e24dde1f5627ee24d43dbd8782ca1dc28c4a2bd3ed8f26a
+DIST dpkg_1.21.19.tar.xz 5360888 BLAKE2B 1a48781c136b47b74fb947a14ddfde8e3d8441f728215257d4c7b9618b5af79225be6312a31166181acbf5c05a408332d9faae2c7e16f7757a442e8d4e6a0afd SHA512 660297e678326350b70e6a49635642347413046ebab05bdc076505511e844f7de0261a12c6c07e586d661f6536b987e3c32c21b8cc95d7135538a5c2f6d1514e
diff --git a/app-arch/dpkg/dpkg-1.20.12-r1.ebuild b/app-arch/dpkg/dpkg-1.20.12-r1.ebuild
new file mode 100644
index 000000000000..f903010ac4a5
--- /dev/null
+++ b/app-arch/dpkg/dpkg-1.20.12-r1.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Package maintenance system for Debian"
+HOMEPAGE="https://packages.qa.debian.org/dpkg"
+SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 libmd +lzma nls selinux static-libs test +update-alternatives +zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/tar-1.34-r1
+ >=dev-lang/perl-5.14.2:=
+ sys-libs/ncurses:=[unicode(+)]
+ bzip2? ( app-arch/bzip2 )
+ libmd? ( app-crypt/libmd )
+ lzma? ( app-arch/xz-utils )
+ nls? ( virtual/libintl )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+"
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+ test? (
+ dev-perl/IO-String
+ dev-perl/Test-Pod
+ virtual/perl-Test-Harness
+ )
+"
+BDEPEND="
+ app-alternatives/lex
+ nls? (
+ app-text/po4a
+ >=sys-devel/gettext-0.18.2
+ )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
+
+DOCS=(
+ ChangeLog
+ THANKS
+ TODO
+)
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.18.12-flags.patch
+ "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
+ "${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
+ "${FILESDIR}"/${PN}-1.20.12-m4-stdio.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e 's|\<ar\>|${AR}|g' t-func/deb-format.at t-func/testsuite || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR CC
+
+ econf \
+ $(use_enable nls) \
+ $(use_enable update-alternatives) \
+ $(use_with bzip2 libbz2) \
+ $(use_with libmd) \
+ $(use_with lzma liblzma) \
+ $(use_with selinux libselinux) \
+ $(use_with zlib libz) \
+ --enable-unicode \
+ --disable-compiler-warnings \
+ --disable-dselect \
+ --disable-start-stop-daemon \
+ --localstatedir="${EPREFIX}"/var
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ keepdir \
+ /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
+ /var/lib/dpkg/{alternatives,info,parts,updates}
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/app-arch/dpkg/dpkg-1.20.7.1.ebuild b/app-arch/dpkg/dpkg-1.20.9-r1.ebuild
index 9c802e00c611..1b349d8f52c9 100644
--- a/app-arch/dpkg/dpkg-1.20.7.1.ebuild
+++ b/app-arch/dpkg/dpkg-1.20.9-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit multilib autotools toolchain-funcs
+inherit autotools toolchain-funcs
DESCRIPTION="Package maintenance system for Debian"
HOMEPAGE="https://packages.qa.debian.org/dpkg"
@@ -10,7 +10,7 @@ SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib"
RESTRICT="!test? ( test )"
@@ -34,7 +34,7 @@ DEPEND="
)
"
BDEPEND="
- sys-devel/flex
+ app-alternatives/lex
nls? (
app-text/po4a
>=sys-devel/gettext-0.18.2
@@ -49,6 +49,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.18.12-flags.patch
"${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
"${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
+ "${FILESDIR}"/${P}-CVE-2022-1664.patch
)
src_prepare() {
@@ -78,7 +79,7 @@ src_configure() {
}
src_compile() {
- emake AR=$(tc-getAR)
+ emake AR="$(tc-getAR)"
}
src_install() {
diff --git a/app-arch/dpkg/dpkg-1.20.9.ebuild b/app-arch/dpkg/dpkg-1.21.1.ebuild
index cf36a64ffc90..1155e0f445a1 100644
--- a/app-arch/dpkg/dpkg-1.20.9.ebuild
+++ b/app-arch/dpkg/dpkg-1.21.1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit multilib autotools toolchain-funcs
+inherit autotools toolchain-funcs
DESCRIPTION="Package maintenance system for Debian"
HOMEPAGE="https://packages.qa.debian.org/dpkg"
@@ -10,11 +10,12 @@ SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~m68k ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="+bzip2 libmd +lzma nls selinux static-libs test unicode +update-alternatives +zlib"
RESTRICT="!test? ( test )"
RDEPEND="
+ >=app-arch/gzip-1.7
>=dev-lang/perl-5.14.2:=
bzip2? ( app-arch/bzip2 )
libmd? ( app-crypt/libmd )
@@ -34,7 +35,7 @@ DEPEND="
)
"
BDEPEND="
- sys-devel/flex
+ app-alternatives/lex
nls? (
app-text/po4a
>=sys-devel/gettext-0.18.2
@@ -47,7 +48,6 @@ DOCS=(
)
PATCHES=(
"${FILESDIR}"/${PN}-1.18.12-flags.patch
- "${FILESDIR}"/${PN}-1.18.12-rsyncable.patch
"${FILESDIR}"/${PN}-1.20.5-dpkg_buildpackage-test.patch
)
@@ -78,7 +78,7 @@ src_configure() {
}
src_compile() {
- emake AR=$(tc-getAR)
+ emake AR="$(tc-getAR)"
}
src_install() {
diff --git a/app-arch/dpkg/dpkg-1.21.15-r2.ebuild b/app-arch/dpkg/dpkg-1.21.15-r2.ebuild
new file mode 100644
index 000000000000..0af2f9f4e99f
--- /dev/null
+++ b/app-arch/dpkg/dpkg-1.21.15-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Package maintenance system for Debian"
+HOMEPAGE="https://packages.qa.debian.org/dpkg"
+SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/gzip-1.7
+ >=app-arch/tar-1.34-r1
+ app-crypt/libmd
+ >=dev-lang/perl-5.14.2:=
+ sys-libs/ncurses:=[unicode(+)]
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ nls? ( virtual/libintl )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+"
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+ test? (
+ dev-perl/IO-String
+ dev-perl/Test-Pod
+ virtual/perl-Test-Harness
+ )
+"
+BDEPEND="
+ app-alternatives/lex
+ nls? (
+ app-text/po4a
+ >=sys-devel/gettext-0.18.2
+ )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.18.12-flags.patch
+ "${FILESDIR}"/${P}-buf-overflow.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR CC
+
+ local myconf=(
+ --disable-compiler-warnings
+ --disable-devel-docs
+ --disable-dselect
+ --disable-start-stop-daemon
+ --enable-unicode
+ --localstatedir="${EPREFIX}"/var
+ $(use_enable nls)
+ $(use_enable update-alternatives)
+ $(use_with bzip2 libbz2)
+ $(use_with lzma liblzma)
+ $(use_with selinux libselinux)
+ $(use_with zlib libz)
+
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local DOCS=( debian/changelog THANKS TODO )
+ default
+
+ # https://bugs.gentoo.org/835520
+ mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
+
+ # https://bugs.gentoo.org/840320
+ insinto /etc/dpkg/origins
+ newins - gentoo <<-_EOF_
+ Vendor: Gentoo
+ Vendor-URL: https://www.gentoo.org/
+ Bugs: https://bugs.gentoo.org/
+ _EOF_
+ dosym gentoo /etc/dpkg/origins/default
+
+ keepdir \
+ /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
+ /var/lib/dpkg/{alternatives,info,parts,updates}
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/app-arch/dpkg/dpkg-1.21.15-r3.ebuild b/app-arch/dpkg/dpkg-1.21.15-r3.ebuild
new file mode 100644
index 000000000000..5c90c53eb9bd
--- /dev/null
+++ b/app-arch/dpkg/dpkg-1.21.15-r3.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Package maintenance system for Debian"
+HOMEPAGE="https://packages.qa.debian.org/dpkg"
+SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/gzip-1.7
+ >=app-arch/tar-1.34-r1
+ app-crypt/libmd
+ >=dev-lang/perl-5.14.2:=
+ sys-libs/ncurses:=[unicode(+)]
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ nls? ( virtual/libintl )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+"
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+ test? (
+ dev-perl/IO-String
+ dev-perl/Test-Pod
+ virtual/perl-Test-Harness
+ )
+"
+BDEPEND="
+ app-alternatives/lex
+ nls? (
+ app-text/po4a
+ >=sys-devel/gettext-0.18.2
+ )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.18.12-flags.patch
+ "${FILESDIR}"/${P}-buf-overflow.patch
+ "${FILESDIR}"/${PN}-1.21.15-arch_pm.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR CC
+
+ local myconf=(
+ --disable-compiler-warnings
+ --disable-devel-docs
+ --disable-dselect
+ --disable-start-stop-daemon
+ --enable-unicode
+ --localstatedir="${EPREFIX}"/var
+ $(use_enable nls)
+ $(use_enable update-alternatives)
+ $(use_with bzip2 libbz2)
+ $(use_with lzma liblzma)
+ $(use_with selinux libselinux)
+ $(use_with zlib libz)
+
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local DOCS=( debian/changelog THANKS TODO )
+ default
+
+ # https://bugs.gentoo.org/835520
+ mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
+
+ # https://bugs.gentoo.org/840320
+ insinto /etc/dpkg/origins
+ newins - gentoo <<-_EOF_
+ Vendor: Gentoo
+ Vendor-URL: https://www.gentoo.org/
+ Bugs: https://bugs.gentoo.org/
+ _EOF_
+ dosym gentoo /etc/dpkg/origins/default
+
+ keepdir \
+ /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
+ /var/lib/dpkg/{alternatives,info,parts,updates}
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/app-arch/dpkg/dpkg-1.21.19-r1.ebuild b/app-arch/dpkg/dpkg-1.21.19-r1.ebuild
new file mode 100644
index 000000000000..cb9bdfb3ded0
--- /dev/null
+++ b/app-arch/dpkg/dpkg-1.21.19-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Package maintenance system for Debian"
+HOMEPAGE="https://packages.qa.debian.org/dpkg"
+SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib +zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/gzip-1.7
+ >=app-arch/tar-1.34-r1
+ app-crypt/libmd
+ >=dev-lang/perl-5.14.2:=
+ sys-libs/ncurses:=[unicode(+)]
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ nls? ( virtual/libintl )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+ test? (
+ dev-perl/IO-String
+ dev-perl/Test-Pod
+ virtual/perl-Test-Harness
+ )
+"
+BDEPEND="
+ app-alternatives/lex
+ nls? (
+ app-text/po4a
+ >=sys-devel/gettext-0.18.2
+ )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.18.12-flags.patch
+ "${FILESDIR}"/${PN}-1.21.15-arch_pm.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR CC
+
+ local myconf=(
+ --disable-compiler-warnings
+ --disable-devel-docs
+ --disable-dselect
+ --disable-start-stop-daemon
+ --enable-unicode
+ --localstatedir="${EPREFIX}"/var
+ $(use_enable nls)
+ $(use_enable update-alternatives)
+ $(use_with bzip2 libbz2)
+ $(use_with lzma liblzma)
+ $(use_with selinux libselinux)
+ $(use_with zlib libz)
+ $(use_with zstd libzstd)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local DOCS=( debian/changelog THANKS TODO )
+ default
+
+ # https://bugs.gentoo.org/835520
+ mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
+
+ # https://bugs.gentoo.org/840320
+ insinto /etc/dpkg/origins
+ newins - gentoo <<-_EOF_
+ Vendor: Gentoo
+ Vendor-URL: https://www.gentoo.org/
+ Bugs: https://bugs.gentoo.org/
+ _EOF_
+ dosym gentoo /etc/dpkg/origins/default
+
+ keepdir \
+ /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
+ /var/lib/dpkg/{alternatives,info,parts,updates}
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/app-arch/dpkg/dpkg-1.21.19.ebuild b/app-arch/dpkg/dpkg-1.21.19.ebuild
new file mode 100644
index 000000000000..6a1d79854236
--- /dev/null
+++ b/app-arch/dpkg/dpkg-1.21.19.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Package maintenance system for Debian"
+HOMEPAGE="https://packages.qa.debian.org/dpkg"
+SRC_URI="mirror://debian/pool/main/d/${PN}/${P/-/_}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+bzip2 +lzma nls selinux static-libs test +update-alternatives +zlib +zstd"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=app-arch/gzip-1.7
+ >=app-arch/tar-1.34-r1
+ app-crypt/libmd
+ >=dev-lang/perl-5.14.2:=
+ sys-libs/ncurses:=[unicode(+)]
+ bzip2? ( app-arch/bzip2 )
+ lzma? ( app-arch/xz-utils )
+ nls? ( virtual/libintl )
+ selinux? ( sys-libs/libselinux )
+ zlib? ( >=sys-libs/zlib-1.1.4 )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ app-arch/xz-utils
+ virtual/pkgconfig
+ test? (
+ dev-perl/IO-String
+ dev-perl/Test-Pod
+ virtual/perl-Test-Harness
+ )
+"
+BDEPEND="
+ app-alternatives/lex
+ nls? (
+ app-text/po4a
+ >=sys-devel/gettext-0.18.2
+ )
+"
+RDEPEND+=" selinux? ( sec-policy/selinux-dpkg )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.18.12-flags.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e 's|\<ar\>|${AR}|g' src/at/deb-format.at src/at/testsuite || die
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export AR CC
+
+ local myconf=(
+ --disable-compiler-warnings
+ --disable-devel-docs
+ --disable-dselect
+ --disable-start-stop-daemon
+ --enable-unicode
+ --localstatedir="${EPREFIX}"/var
+ $(use_enable nls)
+ $(use_enable update-alternatives)
+ $(use_with bzip2 libbz2)
+ $(use_with lzma liblzma)
+ $(use_with selinux libselinux)
+ $(use_with zlib libz)
+ $(use_with zstd libzstd)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ local DOCS=( debian/changelog THANKS TODO )
+ default
+
+ # https://bugs.gentoo.org/835520
+ mv -v "${ED}"/usr/share/zsh/{vendor-completions,site-functions} || die
+
+ # https://bugs.gentoo.org/840320
+ insinto /etc/dpkg/origins
+ newins - gentoo <<-_EOF_
+ Vendor: Gentoo
+ Vendor-URL: https://www.gentoo.org/
+ Bugs: https://bugs.gentoo.org/
+ _EOF_
+ dosym gentoo /etc/dpkg/origins/default
+
+ keepdir \
+ /usr/$(get_libdir)/db/methods/{mnt,floppy,disk} \
+ /var/lib/dpkg/{alternatives,info,parts,updates}
+
+ find "${ED}" -name '*.la' -delete || die
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
diff --git a/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch b/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch
new file mode 100644
index 000000000000..5124c54b43ed
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.20.12-m4-stdio.patch
@@ -0,0 +1,25 @@
+From 9a1c670b66818fc0044eaa9a95a13da553bebcd3 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Mon, 21 Nov 2022 23:09:59 -0800
+Subject: [PATCH] m4/dpkg-funcs.m4: include stdio.h in __progname conftest
+
+Bug: https://bugs.gentoo.org/869884
+---
+ m4/dpkg-funcs.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/m4/dpkg-funcs.m4 b/m4/dpkg-funcs.m4
+index 74acf22..0720ac3 100644
+--- a/m4/dpkg-funcs.m4
++++ b/m4/dpkg-funcs.m4
+@@ -142,6 +142,7 @@ AC_DEFUN([DPKG_CHECK_PROGNAME], [
+ AC_MSG_CHECKING([for __progname])
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM(
++ [[#include <stdio.h>]],
+ [[extern char *__progname;]],
+ [[printf("%s", __progname);]])
+ ], [
+--
+2.38.1
+
diff --git a/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch b/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch
new file mode 100644
index 000000000000..aa1570148de1
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.20.9-CVE-2022-1664.patch
@@ -0,0 +1,324 @@
+From 58814cacee39c4ce9e2cd0e3a3b9b57ad437eff5 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@debian.org>
+Date: Tue, 3 May 2022 02:09:32 +0200
+Subject: Dpkg::Source::Archive: Prevent directory traversal for in-place
+ extracts
+
+For untrusted v2 and v3 source package formats that include a debian.tar
+archive, when we are extracting it, we do that as an in-place extraction,
+which can lead to directory traversal situations on specially crafted
+orig.tar and debian.tar tarballs.
+
+GNU tar replaces entries on the filesystem by the entries present on
+the tarball, but it will follow symlinks when the symlink pathname
+itself is not present as an actual directory on the tarball.
+
+This means we can create an orig.tar where there's a symlink pointing
+out of the source tree root directory, and then a debian.tar that
+contains an entry within that symlink as if it was a directory, without
+a directory entry for the symlink pathname itself, which will be
+extracted following the symlink outside the source tree root.
+
+This is currently noted as expected in GNU tar documentation. But even
+if there was a new extraction mode avoiding this problem we'd need such
+new version. Using perl's Archive::Tar would solve the problem, but
+switching to such different pure perl implementation, could cause
+compatibility or performance issues.
+
+What we do is when we are requested to perform an in-place extract, we
+instead still use a temporary directory, then walk that directory and
+remove any matching entry in the destination directory, replicating what
+GNU tar would do, but in addition avoiding the directory traversal issue
+for symlinks. Which should work with any tar implementation and be safe.
+
+Reported-by: Max Justicz <max@justi.cz>
+Stable-Candidates: 1.18.x 1.19.x 1.20.x
+Fixes: commit 0c0057a27fecccab77d2b3cffa9a7d172846f0b4 (1.14.17)
+Fixes: CVE-2022-1664
+(cherry picked from commit 7a6c03cb34d4a09f35df2f10779cbf1b70a5200b)
+---
+ scripts/Dpkg/Source/Archive.pm | 122 +++++++++++++++++++++++++++++++---------
+ scripts/t/Dpkg_Source_Archive.t | 110 +++++++++++++++++++++++++++++++++++-
+ 2 files changed, 204 insertions(+), 28 deletions(-)
+
+diff --git a/scripts/Dpkg/Source/Archive.pm b/scripts/Dpkg/Source/Archive.pm
+index 33c181b20..2ddd04af8 100644
+--- a/scripts/Dpkg/Source/Archive.pm
++++ b/scripts/Dpkg/Source/Archive.pm
+@@ -21,9 +21,11 @@ use warnings;
+ our $VERSION = '0.01';
+
+ use Carp;
++use Errno qw(ENOENT);
+ use File::Temp qw(tempdir);
+ use File::Basename qw(basename);
+ use File::Spec;
++use File::Find;
+ use Cwd;
+
+ use Dpkg ();
+@@ -110,19 +112,13 @@ sub extract {
+ my %spawn_opts = (wait_child => 1);
+
+ # Prepare destination
+- my $tmp;
+- if ($opts{in_place}) {
+- $spawn_opts{chdir} = $dest;
+- $tmp = $dest; # So that fixperms call works
+- } else {
+- my $template = basename($self->get_filename()) . '.tmp-extract.XXXXX';
+- unless (-e $dest) {
+- # Kludge so that realpath works
+- mkdir($dest) or syserr(g_('cannot create directory %s'), $dest);
+- }
+- $tmp = tempdir($template, DIR => Cwd::realpath("$dest/.."), CLEANUP => 1);
+- $spawn_opts{chdir} = $tmp;
++ my $template = basename($self->get_filename()) . '.tmp-extract.XXXXX';
++ unless (-e $dest) {
++ # Kludge so that realpath works
++ mkdir($dest) or syserr(g_('cannot create directory %s'), $dest);
+ }
++ my $tmp = tempdir($template, DIR => Cwd::realpath("$dest/.."), CLEANUP => 1);
++ $spawn_opts{chdir} = $tmp;
+
+ # Prepare stuff that handles the input of tar
+ $self->ensure_open('r', delete_sig => [ 'PIPE' ]);
+@@ -145,22 +141,94 @@ sub extract {
+ # have to be calculated using mount options and other madness.
+ fixperms($tmp) unless $opts{no_fixperms};
+
+- # Stop here if we extracted in-place as there's nothing to move around
+- return if $opts{in_place};
+-
+- # Rename extracted directory
+- opendir(my $dir_dh, $tmp) or syserr(g_('cannot opendir %s'), $tmp);
+- my @entries = grep { $_ ne '.' && $_ ne '..' } readdir($dir_dh);
+- closedir($dir_dh);
+- my $done = 0;
+- erasedir($dest);
+- if (scalar(@entries) == 1 && ! -l "$tmp/$entries[0]" && -d _) {
+- rename("$tmp/$entries[0]", $dest)
+- or syserr(g_('unable to rename %s to %s'),
+- "$tmp/$entries[0]", $dest);
++ # If we are extracting "in-place" do not remove the destination directory.
++ if ($opts{in_place}) {
++ my $canon_basedir = Cwd::realpath($dest);
++ # On Solaris /dev/null points to /devices/pseudo/mm@0:null.
++ my $canon_devnull = Cwd::realpath('/dev/null');
++ my $check_symlink = sub {
++ my $pathname = shift;
++ my $canon_pathname = Cwd::realpath($pathname);
++ if (not defined $canon_pathname) {
++ return if $! == ENOENT;
++
++ syserr(g_("pathname '%s' cannot be canonicalized"), $pathname);
++ }
++ return if $canon_pathname eq $canon_devnull;
++ return if $canon_pathname eq $canon_basedir;
++ return if $canon_pathname =~ m{^\Q$canon_basedir/\E};
++ warning(g_("pathname '%s' points outside source root (to '%s')"),
++ $pathname, $canon_pathname);
++ };
++
++ my $move_in_place = sub {
++ my $relpath = File::Spec->abs2rel($File::Find::name, $tmp);
++ my $destpath = File::Spec->catfile($dest, $relpath);
++
++ my ($mode, $atime, $mtime);
++ lstat $File::Find::name
++ or syserr(g_('cannot get source pathname %s metadata'), $File::Find::name);
++ ((undef) x 2, $mode, (undef) x 5, $atime, $mtime) = lstat _;
++ my $src_is_dir = -d _;
++
++ my $dest_exists = 1;
++ if (not lstat $destpath) {
++ if ($! == ENOENT) {
++ $dest_exists = 0;
++ } else {
++ syserr(g_('cannot get target pathname %s metadata'), $destpath);
++ }
++ }
++ my $dest_is_dir = -d _;
++ if ($dest_exists) {
++ if ($dest_is_dir && $src_is_dir) {
++ # Refresh the destination directory attributes with the
++ # ones from the tarball.
++ chmod $mode, $destpath
++ or syserr(g_('cannot change directory %s mode'), $File::Find::name);
++ utime $atime, $mtime, $destpath
++ or syserr(g_('cannot change directory %s times'), $File::Find::name);
++
++ # We should do nothing, and just walk further tree.
++ return;
++ } elsif ($dest_is_dir) {
++ rmdir $destpath
++ or syserr(g_('cannot remove destination directory %s'), $destpath);
++ } else {
++ $check_symlink->($destpath);
++ unlink $destpath
++ or syserr(g_('cannot remove destination file %s'), $destpath);
++ }
++ }
++ # If we are moving a directory, we do not need to walk it.
++ if ($src_is_dir) {
++ $File::Find::prune = 1;
++ }
++ rename $File::Find::name, $destpath
++ or syserr(g_('cannot move %s to %s'), $File::Find::name, $destpath);
++ };
++
++ find({
++ wanted => $move_in_place,
++ no_chdir => 1,
++ dangling_symlinks => 0,
++ }, $tmp);
+ } else {
+- rename($tmp, $dest)
+- or syserr(g_('unable to rename %s to %s'), $tmp, $dest);
++ # Rename extracted directory
++ opendir(my $dir_dh, $tmp) or syserr(g_('cannot opendir %s'), $tmp);
++ my @entries = grep { $_ ne '.' && $_ ne '..' } readdir($dir_dh);
++ closedir($dir_dh);
++
++ erasedir($dest);
++
++ if (scalar(@entries) == 1 && ! -l "$tmp/$entries[0]" && -d _) {
++ rename("$tmp/$entries[0]", $dest)
++ or syserr(g_('unable to rename %s to %s'),
++ "$tmp/$entries[0]", $dest);
++ } else {
++ rename($tmp, $dest)
++ or syserr(g_('unable to rename %s to %s'), $tmp, $dest);
++ }
+ }
+ erasedir($tmp);
+ }
+diff --git a/scripts/t/Dpkg_Source_Archive.t b/scripts/t/Dpkg_Source_Archive.t
+index 7b70da68e..504fbe1d4 100644
+--- a/scripts/t/Dpkg_Source_Archive.t
++++ b/scripts/t/Dpkg_Source_Archive.t
+@@ -16,12 +16,120 @@
+ use strict;
+ use warnings;
+
+-use Test::More tests => 1;
++use Test::More tests => 4;
++use Test::Dpkg qw(:paths);
++
++use File::Spec;
++use File::Path qw(make_path rmtree);
+
+ BEGIN {
+ use_ok('Dpkg::Source::Archive');
+ }
+
++use Dpkg;
++
++my $tmpdir = test_get_temp_path();
++
++rmtree($tmpdir);
++
++sub test_touch
++{
++ my ($name, $data) = @_;
++
++ open my $fh, '>', $name
++ or die "cannot touch file $name\n";
++ print { $fh } $data if $data;
++ close $fh;
++}
++
++sub test_path_escape
++{
++ my $name = shift;
++
++ my $treedir = File::Spec->rel2abs("$tmpdir/$name-tree");
++ my $overdir = File::Spec->rel2abs("$tmpdir/$name-overlay");
++ my $outdir = "$tmpdir/$name-out";
++ my $expdir = "$tmpdir/$name-exp";
++
++ # This is the base directory, where we are going to be extracting stuff
++ # into, which include traps.
++ make_path("$treedir/subdir-a");
++ test_touch("$treedir/subdir-a/file-a");
++ test_touch("$treedir/subdir-a/file-pre-a");
++ make_path("$treedir/subdir-b");
++ test_touch("$treedir/subdir-b/file-b");
++ test_touch("$treedir/subdir-b/file-pre-b");
++ symlink File::Spec->abs2rel($outdir, $treedir), "$treedir/symlink-escape";
++ symlink File::Spec->abs2rel("$outdir/nonexistent", $treedir), "$treedir/symlink-nonexistent";
++ symlink "$treedir/file", "$treedir/symlink-within";
++ test_touch("$treedir/supposed-dir");
++
++ # This is the overlay directory, which we'll pack and extract over the
++ # base directory.
++ make_path($overdir);
++ make_path("$overdir/subdir-a/aa");
++ test_touch("$overdir/subdir-a/aa/file-aa", 'aa');
++ test_touch("$overdir/subdir-a/file-a", 'a');
++ make_path("$overdir/subdir-b/bb");
++ test_touch("$overdir/subdir-b/bb/file-bb", 'bb');
++ test_touch("$overdir/subdir-b/file-b", 'b');
++ make_path("$overdir/symlink-escape");
++ test_touch("$overdir/symlink-escape/escaped-file", 'escaped');
++ test_touch("$overdir/symlink-nonexistent", 'nonexistent');
++ make_path("$overdir/symlink-within");
++ make_path("$overdir/supposed-dir");
++ test_touch("$overdir/supposed-dir/supposed-file", 'something');
++
++ # Generate overlay tar.
++ system($Dpkg::PROGTAR, '-cf', "$overdir.tar", '-C', $overdir, qw(
++ subdir-a subdir-b
++ symlink-escape/escaped-file symlink-nonexistent symlink-within
++ supposed-dir
++ )) == 0
++ or die "cannot create overlay tar archive\n";
++
++ # This is the expected directory, which we'll be comparing against.
++ make_path($expdir);
++ system('cp', '-a', $overdir, $expdir) == 0
++ or die "cannot copy overlay hierarchy into expected directory\n";
++
++ # Store the expected and out reference directories into a tar to compare
++ # its structure against the result reference.
++ system($Dpkg::PROGTAR, '-cf', "$expdir.tar", '-C', $overdir, qw(
++ subdir-a subdir-b
++ symlink-escape/escaped-file symlink-nonexistent symlink-within
++ supposed-dir
++ ), '-C', $treedir, qw(
++ subdir-a/file-pre-a
++ subdir-b/file-pre-b
++ )) == 0
++ or die "cannot create expected tar archive\n";
++
++ # This directory is supposed to remain empty, anything inside implies a
++ # directory traversal.
++ make_path($outdir);
++
++ my $warnseen;
++ local $SIG{__WARN__} = sub { $warnseen = $_[0] };
++
++ # Perform the extraction.
++ my $tar = Dpkg::Source::Archive->new(filename => "$overdir.tar");
++ $tar->extract($treedir, in_place => 1);
++
++ # Store the result into a tar to compare its structure against a reference.
++ system($Dpkg::PROGTAR, '-cf', "$treedir.tar", '-C', $treedir, '.');
++
++ # Check results
++ ok(length $warnseen && $warnseen =~ m/points outside source root/,
++ 'expected warning seen');
++ ok(system($Dpkg::PROGTAR, '--compare', '-f', "$expdir.tar", '-C', $treedir) == 0,
++ 'expected directory matches');
++ ok(! -e "$outdir/escaped-file",
++ 'expected output directory is empty, directory traversal');
++}
++
++test_path_escape('in-place');
++
+ # TODO: Add actual test cases.
+
+ 1;
+--
+cgit v1.2.3
+
diff --git a/app-arch/dpkg/files/dpkg-1.21.15-arch_pm.patch b/app-arch/dpkg/files/dpkg-1.21.15-arch_pm.patch
new file mode 100644
index 000000000000..5982336a3574
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.21.15-arch_pm.patch
@@ -0,0 +1,32 @@
+https://bugs.gentoo.org/876031
+https://git.yoctoproject.org/poky/tree/meta/recipes-devtools/dpkg/dpkg/arch_pm.patch
+
+configure cannot determine the proper cpu, os, or
+architecture for mips64, and possibly other arch's
+because of faulty code added to Arch.pm in the latest
+release from upstream. We remove that code.
+
+Upstream-Status: Pending
+
+Signed-off-by: Joe Slater <jslater@windriver.com>
+
+---
+ scripts/Dpkg/Arch.pm | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/scripts/Dpkg/Arch.pm b/scripts/Dpkg/Arch.pm
+index 1720847b8..6345ce3b9 100644
+--- a/scripts/Dpkg/Arch.pm
++++ b/scripts/Dpkg/Arch.pm
+@@ -323,9 +323,6 @@ sub _load_tupletable()
+ (my $dt = $debtuple) =~ s/<cpu>/$_cpu/;
+ (my $da = $debarch) =~ s/<cpu>/$_cpu/;
+
+- next if exists $debarch_to_debtuple{$da}
+- or exists $debtuple_to_debarch{$dt};
+-
+ $debarch_to_debtuple{$da} = $dt;
+ $debtuple_to_debarch{$dt} = $da;
+ }
+--
+2.11.0
diff --git a/app-arch/dpkg/files/dpkg-1.21.15-buf-overflow.patch b/app-arch/dpkg/files/dpkg-1.21.15-buf-overflow.patch
new file mode 100644
index 000000000000..864d57b98a5c
--- /dev/null
+++ b/app-arch/dpkg/files/dpkg-1.21.15-buf-overflow.patch
@@ -0,0 +1,45 @@
+From 5356621172d669d8f62e7e746a6c7a11345aec4e Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@debian.org>
+Date: Tue, 3 Jan 2023 23:29:05 +0100
+Subject: dpkg-deb: Fix buffer overflow on long directory names with old deb
+ formats
+
+The handling for deb 0.x formats that relocates files around once
+extracted was using a buffer with a hardcoded size, not taking into
+account the length of the directory which would overflow it.
+
+Switch to use a dynamically allocated buffer to handle any destination
+directory length.
+
+Reported-by: Georgy Yakovlev <gyakovlev@gentoo.org>
+---
+ src/deb/extract.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/deb/extract.c b/src/deb/extract.c
+index a09853962..6466fa6f2 100644
+--- a/src/deb/extract.c
++++ b/src/deb/extract.c
+@@ -53,15 +53,16 @@
+ static void
+ movecontrolfiles(const char *dir, const char *thing)
+ {
+- char buf[200];
++ char *cmd;
+ pid_t pid;
+
+- sprintf(buf, "mv %s/%s/* %s/ && rmdir %s/%s", dir, thing, dir, dir, thing);
++ cmd = str_fmt("mv %s/%s/* %s/ && rmdir %s/%s", dir, thing, dir, dir, thing);
+ pid = subproc_fork();
+ if (pid == 0) {
+- command_shell(buf, _("shell command to move files"));
++ command_shell(cmd, _("shell command to move files"));
+ }
+ subproc_reap(pid, _("shell command to move files"), 0);
++ free(cmd);
+ }
+
+ static void DPKG_ATTR_NORET
+--
+cgit v1.2.3
+
diff --git a/app-arch/dpkg/metadata.xml b/app-arch/dpkg/metadata.xml
index 829c5799bde9..9511a3ee6146 100644
--- a/app-arch/dpkg/metadata.xml
+++ b/app-arch/dpkg/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="libmd">Use <pkg>app-crypt/libmd</pkg> library for message digest functions</flag>
<flag name="update-alternatives">Install update-alternatives</flag>
diff --git a/app-arch/drpm/Manifest b/app-arch/drpm/Manifest
new file mode 100644
index 000000000000..63017e871b0f
--- /dev/null
+++ b/app-arch/drpm/Manifest
@@ -0,0 +1 @@
+DIST drpm-0.5.2.tar.gz 138930 BLAKE2B b2d57e35bf62e94ba23212518a57c22a5638c270a38b07e77799e4c054e82391a08bd40a34adb78e5e5a9cf6c895895146b3619c953a1f0d312a8790652fda55 SHA512 591ffb6b28b1d4c6dda25746a76563c0fa15f48368e2593dbd00a2652dea78b635c8e28f6e50cf824450d9938652ddf3712c877135d66a7b762f1223b38e9ab4
diff --git a/app-arch/drpm/drpm-0.5.2.ebuild b/app-arch/drpm/drpm-0.5.2.ebuild
new file mode 100644
index 000000000000..737011a8cc67
--- /dev/null
+++ b/app-arch/drpm/drpm-0.5.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A library for making, reading and applying deltarpm packages"
+HOMEPAGE="https://github.com/rpm-software-management/drpm"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/drpm/"
+else
+ SRC_URI="https://github.com/rpm-software-management/drpm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="lzip test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/rpm
+ app-arch/xz-utils
+ dev-libs/openssl:=
+ sys-libs/zlib
+ lzip? ( app-arch/lzlib )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="${DEPEND}
+ test? ( dev-util/cmocka )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DHAVE_LZLIB_DEVEL=$(usex lzip ON OFF)
+ -DWITH_ZSTD=$(usex zstd ON OFF)
+ -DENABLE_TESTS=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/drpm/drpm-9999.ebuild b/app-arch/drpm/drpm-9999.ebuild
new file mode 100644
index 000000000000..737011a8cc67
--- /dev/null
+++ b/app-arch/drpm/drpm-9999.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A library for making, reading and applying deltarpm packages"
+HOMEPAGE="https://github.com/rpm-software-management/drpm"
+if [[ ${PV} = 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rpm-software-management/drpm/"
+else
+ SRC_URI="https://github.com/rpm-software-management/drpm/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+
+IUSE="lzip test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:=
+ app-arch/rpm
+ app-arch/xz-utils
+ dev-libs/openssl:=
+ sys-libs/zlib
+ lzip? ( app-arch/lzlib )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="${DEPEND}
+ test? ( dev-util/cmocka )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DHAVE_LZLIB_DEVEL=$(usex lzip ON OFF)
+ -DWITH_ZSTD=$(usex zstd ON OFF)
+ -DENABLE_TESTS=$(usex test ON OFF)
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/drpm/metadata.xml b/app-arch/drpm/metadata.xml
new file mode 100644
index 000000000000..ebbca5189fad
--- /dev/null
+++ b/app-arch/drpm/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rpm-software-management/drpm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/dtrx/Manifest b/app-arch/dtrx/Manifest
new file mode 100644
index 000000000000..b257f06a52bb
--- /dev/null
+++ b/app-arch/dtrx/Manifest
@@ -0,0 +1 @@
+DIST dtrx-8.5.3.tar.gz 34147 BLAKE2B 156d2305f777b63870490736fd769a9d480f390d41ac0aa6acac16d4c5b21bb5b3f88d7b2cea6ecbf74511895bb3c3d923a6186d5189ebf3f7a5f4bb5db6c0f1 SHA512 0c29f0d9ca03d11206297669c20c3443c420db4aa0d91da54a5f6ac7236120af04a1a8d7e2e4f85b3d7e6c6050786cc0293bab02f424fe3be52a40f069d397be
diff --git a/app-arch/dtrx/dtrx-8.5.3-r1.ebuild b/app-arch/dtrx/dtrx-8.5.3-r1.ebuild
new file mode 100644
index 000000000000..7a6ccf0a7793
--- /dev/null
+++ b/app-arch/dtrx/dtrx-8.5.3-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Do The Right eXtraction - extracts archives of different formats"
+HOMEPAGE="https://github.com/dtrx-py/dtrx/
+ https://pypi.org/project/dtrx/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}-py/${PN}.git"
+else
+ inherit pypi
+ KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+
+src_prepare() {
+ sed -i '/ *platform==/s|.*||' setup.cfg || die # bug #894148
+
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ local supported_format
+ local -a supported_formats=(
+ arj
+ bzip2
+ cpio
+ gzip
+ lrzip
+ lzip
+ p7zip
+ rpm
+ unrar
+ unzip
+ xz-utils
+ zip
+ zstd
+ )
+
+ for supported_format in ${supported_formats[@]}; do
+ optfeature \
+ "extraction of supported archives using ${supported_format}" \
+ app-arch/${supported_format}
+ done
+}
diff --git a/app-arch/dtrx/dtrx-9999.ebuild b/app-arch/dtrx/dtrx-9999.ebuild
new file mode 100644
index 000000000000..efeeace6e9ef
--- /dev/null
+++ b/app-arch/dtrx/dtrx-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Do The Right eXtraction - extracts archives of different formats"
+HOMEPAGE="https://github.com/dtrx-py/dtrx/
+ https://pypi.org/project/dtrx/"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN}-py/${PN}.git"
+else
+ inherit pypi
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DOCS=( README.md )
+
+src_prepare() {
+ sed -i '/ *platform==/s|.*||' setup.cfg || die # bug #894148
+
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ local supported_format
+ local -a supported_formats=(
+ arj
+ bzip2
+ cpio
+ gzip
+ lrzip
+ lzip
+ p7zip
+ rpm
+ unrar
+ unzip
+ xz-utils
+ zip
+ zstd
+ )
+
+ for supported_format in ${supported_formats[@]}; do
+ optfeature \
+ "extraction of supported archives using ${supported_format}" \
+ app-arch/${supported_format}
+ done
+}
diff --git a/app-arch/dtrx/metadata.xml b/app-arch/dtrx/metadata.xml
new file mode 100644
index 000000000000..ed325e58479b
--- /dev/null
+++ b/app-arch/dtrx/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xgqt@gentoo.org</email>
+ <name>Maciej Barć</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/dtrx-py/dtrx/issues/</bugs-to>
+ <remote-id type="github">dtrx-py/dtrx</remote-id>
+ <remote-id type="pypi">dtrx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/dump/dump-0.4.47-r2.ebuild b/app-arch/dump/dump-0.4.47-r2.ebuild
new file mode 100644
index 000000000000..2f42c5dfca0d
--- /dev/null
+++ b/app-arch/dump/dump-0.4.47-r2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1
+
+MY_P="${PN}-$(ver_rs 2 b)"
+
+DESCRIPTION="Dump/restore ext2fs backup utilities"
+HOMEPAGE="https://dump.sourceforge.io/"
+SRC_URI="mirror://sourceforge/dump/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ppc64 sparc x86"
+# We keep uuid USE flag default dsiabled for this version. Don't forget
+# to default enable it for later versions as this is the upstream default.
+IUSE="bzip2 debug ermt lzo readline selinux sqlite ssl static test uuid zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ermt? ( ssl )
+ ssl? ( zlib )
+ test? ( sqlite? ( uuid ) )"
+
+RDEPEND="
+ >=sys-fs/e2fsprogs-1.27:=
+ sys-apps/util-linux
+ bzip2? (
+ app-arch/bzip2:=
+ static? ( app-arch/bzip2[static-libs] )
+ )
+ zlib? ( >=sys-libs/zlib-1.1.4:= )
+ lzo? (
+ dev-libs/lzo:2=
+ static? ( dev-libs/lzo:2[static-libs] )
+ )
+ sqlite? ( dev-db/sqlite:3= )
+ ermt? ( dev-libs/openssl:0= )
+ ssl? ( dev-libs/openssl:0= )
+ readline? (
+ sys-libs/readline:0=
+ sys-libs/ncurses:=
+ static? ( sys-libs/ncurses:=[static-libs] )
+ )"
+DEPEND="${RDEPEND}
+ virtual/os-headers"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ local myeconfargs=(
+ --with-dumpdatespath=/etc/dumpdates
+ --with-rmtpath='$(sbindir)/rmt'
+ --enable-blkid
+ $(use_enable bzip2)
+ $(use_enable debug)
+ $(use_enable ermt)
+ $(use_enable lzo)
+ $(use_enable readline)
+ $(use_enable selinux)
+ $(use_enable sqlite)
+ $(use_enable ssl)
+ $(use_enable static static-progs)
+ $(use_enable uuid)
+ $(use_enable zlib)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ mv "${ED}"/usr/sbin/{,dump-}rmt || die
+ mv "${ED}"/usr/share/man/man8/{,dump-}rmt.8 || die
+ use ermt && newsbin rmt/ermt dump-ermt
+
+ dodoc KNOWNBUGS MAINTAINERS REPORTING-BUGS
+ dodoc -r examples
+
+ # Don't install pre-compressed files
+ gunzip "${ED}"/usr/share/doc/${PF}/examples/cron_dump_to_disk/backupskel.tar.gz \
+ || die
+
+ local DOC_CONTENTS="dump has serious bugs
+ (see https://sourceforge.net/p/dump/bugs/162/ and
+ https://sourceforge.net/p/dump/bugs/174/). This tool should only
+ be used for restoring old backups, not for creating new ones.
+ \n\n${CATEGORY}/${PN} installs 'rmt' as 'dump-rmt'.
+ This is to avoid conflicts with app-arch/tar 'rmt'."
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-arch/dump/dump-0.4.47-r3.ebuild b/app-arch/dump/dump-0.4.47-r3.ebuild
new file mode 100644
index 000000000000..ea26f905f91f
--- /dev/null
+++ b/app-arch/dump/dump-0.4.47-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic readme.gentoo-r1
+
+MY_P="${PN}-$(ver_rs 2 b)"
+
+DESCRIPTION="Dump/restore ext2fs backup utilities"
+HOMEPAGE="https://dump.sourceforge.io/"
+SRC_URI="mirror://sourceforge/dump/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~ia64 ~ppc ppc64 ~sparc x86"
+# We keep uuid USE flag default dsiabled for this version. Don't forget
+# to default enable it for later versions as this is the upstream default.
+IUSE="bzip2 debug ermt lzo readline selinux sqlite ssl static test uuid zlib"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+ ermt? ( ssl )
+ ssl? ( zlib )
+ test? ( sqlite? ( uuid ) )"
+
+RDEPEND="
+ >=sys-fs/e2fsprogs-1.27:=
+ sys-apps/util-linux
+ bzip2? (
+ app-arch/bzip2:=
+ static? ( app-arch/bzip2[static-libs] )
+ )
+ zlib? ( >=sys-libs/zlib-1.1.4:= )
+ lzo? (
+ dev-libs/lzo:2=
+ static? ( dev-libs/lzo:2[static-libs] )
+ )
+ sqlite? ( dev-db/sqlite:3= )
+ ermt? ( dev-libs/openssl:0= )
+ ssl? ( dev-libs/openssl:0= )
+ readline? (
+ sys-libs/readline:0=
+ sys-libs/ncurses:=
+ static? ( sys-libs/ncurses:=[static-libs] )
+ )"
+DEPEND="${RDEPEND}
+ virtual/os-headers"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-fix-incompatible-pointer-to-integer-conversion.patch
+)
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/854204
+ #
+ # Abandoned upstream for 3 years. Known corruptions reported in
+ # pkg_postinst. Sourceforge software. Not bothering to report a bug...
+ filter-lto
+
+ local myeconfargs=(
+ --with-dumpdatespath=/etc/dumpdates
+ --with-rmtpath='$(sbindir)/rmt'
+ --enable-blkid
+ $(use_enable bzip2)
+ $(use_enable debug)
+ $(use_enable ermt)
+ $(use_enable lzo)
+ $(use_enable readline)
+ $(use_enable selinux)
+ $(use_enable sqlite)
+ $(use_enable ssl)
+ $(use_enable static static-progs)
+ $(use_enable uuid)
+ $(use_enable zlib)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ mv "${ED}"/usr/sbin/{,dump-}rmt || die
+ mv "${ED}"/usr/share/man/man8/{,dump-}rmt.8 || die
+ use ermt && newsbin rmt/ermt dump-ermt
+
+ dodoc KNOWNBUGS MAINTAINERS REPORTING-BUGS
+ dodoc -r examples
+
+ # Don't install pre-compressed files
+ gunzip "${ED}"/usr/share/doc/${PF}/examples/cron_dump_to_disk/backupskel.tar.gz \
+ || die
+
+ local DOC_CONTENTS="dump has serious bugs
+ (see https://sourceforge.net/p/dump/bugs/162/ and
+ https://sourceforge.net/p/dump/bugs/174/). This tool should only
+ be used for restoring old backups, not for creating new ones.
+ \n\n${CATEGORY}/${PN} installs 'rmt' as 'dump-rmt'.
+ This is to avoid conflicts with app-arch/tar 'rmt'."
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/app-arch/dump/files/dump-fix-incompatible-pointer-to-integer-conversion.patch b/app-arch/dump/files/dump-fix-incompatible-pointer-to-integer-conversion.patch
new file mode 100644
index 000000000000..220e37bb7f57
--- /dev/null
+++ b/app-arch/dump/files/dump-fix-incompatible-pointer-to-integer-conversion.patch
@@ -0,0 +1,25 @@
+From: listout <listout@protonmail.com>
+Date: Mon, 17 Apr 2023 12:36:40 +0530
+Subject: [PATCH] Fix incompatible pointer to integer conversion
+
+transformation_null was initializing one of it's elements with NULL
+which is zero type casted to void. Hence, instead of initializing with
+NULL, now we are initializing that element with zero.
+
+Refer: https://bugs.gentoo.org/874675
+
+Signed-off-by: listout <listout@protonmail.com>
+--- a/common/transformation_null.c
++++ b/common/transformation_null.c
+@@ -81,7 +81,7 @@ null_decompress(Transformation *xform, struct tapebuf *tpbin, unsigned long *des
+ Transformation transformation_null =
+ {
+ 0,
+- NULL,
++ 0,
+ "null",
+ 0,
+ &null_initialize,
+--
+2.39.2
+
diff --git a/app-arch/engrampa/Manifest b/app-arch/engrampa/Manifest
index 540fdd0c2805..1a705f21bf13 100644
--- a/app-arch/engrampa/Manifest
+++ b/app-arch/engrampa/Manifest
@@ -1,2 +1,3 @@
-DIST engrampa-1.24.1.tar.xz 1680000 BLAKE2B 3059f98e5db99aabe270a89d7edf334ddca8b9cfd963a34f8b7b99356a1b7a9b14c9f641ea6582f893a5f6e4fe46dde00e5375d7b1c71b80299a7f5121839549 SHA512 9d51f24987cecfdd2c560b1ac8f8699bb5ed010bcd5b4a449a1103f725bc63046d0813d28424a3ae7dfcee0568dbf2a282f27ac5512b1c342dafeaec5bcd3b4b
-DIST engrampa-1.24.2.tar.xz 1687432 BLAKE2B b2ef407aef77f9ecd3f8b06d2e991615a39fa2d4487678292d035a7cab882551bc8c757c6a15037b828cb51aaba14c2ec25e85e891770f6f8c9b453753d87b42 SHA512 1e0acecfe42e3945fe43729283522dfd56dc4cee92a4d5998c995a496f42f41b284ec10f01eb142139c1cec65e3b5a037299b168b73a2e6e828ae3ab4b9c777d
+DIST engrampa-1.26.1.tar.xz 1792452 BLAKE2B ff87f21848919654a2392c02e6050ac0b4c80308361ec7c829a2acf3fb25b088e164a3722be0312b2c814022bf0e06c80ae0796add182e6ac8e5d696409c5afe SHA512 6e3e59503d3d55df3eddc63f5f8f67c80a84b2b602801f9bcbaf4e38b6e991fffaa879e1cd44c1173b5c11096587122438bda51401c2694654c99b87a52b9f5e
+DIST engrampa-1.26.2.tar.xz 1790984 BLAKE2B a3812240947f3bdc39845852a69d90c660f9ca3b03b167a5fbe1373024827b1abac93f3dc854316ae0368717cf7aef2512b84f47b93453a3a49a64c99ae3865a SHA512 4e9a55d9bc834616d8a8f5b7b0882fd4581ad2efdade33367ede85800ebb1e70241d20c9c37fadbef468d16088419fcf85daec0718c68bdbefe2301f8b0b40a3
+DIST engrampa-1.28.1.tar.xz 1720164 BLAKE2B a2776cbf7040bcb7baf992caa323afaabffe316ad94a222613cc8bc8c59490f389005ecdec66de519c88f2ad89167739b3934c2bed6c212846b20f6b4b60a6ae SHA512 912bec0e1b2bf8f79e89bda4cb72e28a96d4d1b2ab32fca14b3d28bf75be93cdd4a9e43315fe6ad2c8cac5af95686915cfa3d0a3182973a8b6e42817cfdd936f
diff --git a/app-arch/engrampa/engrampa-1.24.1.ebuild b/app-arch/engrampa/engrampa-1.24.1.ebuild
deleted file mode 100644
index cd2d7638007a..000000000000
--- a/app-arch/engrampa/engrampa-1.24.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MATE_LA_PUNT="yes"
-
-inherit mate optfeature readme.gentoo-r1
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="amd64 ~arm ~arm64 x86"
-fi
-
-DESCRIPTION="Engrampa archive manager for MATE"
-LICENSE="FDL-1.1+ GPL-2+ LGPL-2+"
-SLOT="0"
-
-IUSE="caja magic packagekit"
-
-COMMON_DEPEND="
- >=dev-libs/glib-2.50:2
- >=dev-libs/json-glib-0.14
- virtual/libintl
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3[X]
- x11-libs/libSM
- x11-libs/pango
- caja? ( >=mate-base/caja-1.17.1 )
- magic? ( sys-apps/file )
- packagekit? ( app-admin/packagekit-base )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/libintl
- !!app-arch/mate-file-archiver
-"
-
-DEPEND="${COMMON_DEPEND}
- app-text/yelp-tools
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_configure() {
- mate_src_configure \
- --disable-run-in-place \
- $(use_enable caja caja-actions) \
- $(use_enable magic) \
- $(use_enable packagekit)
-}
-
-pkg_postinst() {
- mate_pkg_postinst
- optfeature "Support for 7-zip" app-arch/p7zip
- optfeature "Support for ace" app-arch/unace
- optfeature "Support for arj" app-arch/arj
- optfeature "Support for cpio" app-arch/cpio
- optfeature "Support for deb" app-arch/dpkg
- optfeature "Support for iso" app-cdr/cdrtools
- optfeature "Support for jar,zip" app-arch/zip app-arch/unzip
- optfeature "Support for lha" app-arch/lha
- optfeature "Support for lzma" app-arch/xz-utils
- optfeature "Support for lzop" app-arch/lzop
- optfeature "Support for rar" app-arch/unrar
- optfeature "Support for rpm" app-arch/rpm
- optfeature "Support for unstuff" app-arch/stuffit
- optfeature "Support for zoo" app-arch/zoo
-}
diff --git a/app-arch/engrampa/engrampa-1.24.2.ebuild b/app-arch/engrampa/engrampa-1.24.2.ebuild
deleted file mode 100644
index bd864fdd4652..000000000000
--- a/app-arch/engrampa/engrampa-1.24.2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MATE_LA_PUNT="yes"
-
-inherit mate optfeature readme.gentoo-r1
-
-if [[ ${PV} != 9999 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-fi
-
-DESCRIPTION="Engrampa archive manager for MATE"
-LICENSE="FDL-1.1+ GPL-2+ LGPL-2+"
-SLOT="0"
-
-IUSE="caja magic packagekit"
-
-COMMON_DEPEND="
- >=dev-libs/glib-2.50:2
- >=dev-libs/json-glib-0.14
- virtual/libintl
- x11-libs/gdk-pixbuf:2
- >=x11-libs/gtk+-3.22:3[X]
- x11-libs/libSM
- x11-libs/pango
- caja? ( >=mate-base/caja-1.17.1 )
- magic? ( sys-apps/file )
- packagekit? ( app-admin/packagekit-base )
-"
-
-RDEPEND="${COMMON_DEPEND}
- virtual/libintl
- !!app-arch/mate-file-archiver
-"
-
-DEPEND="${COMMON_DEPEND}
- app-text/yelp-tools
- dev-util/glib-utils
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_configure() {
- mate_src_configure \
- --disable-run-in-place \
- $(use_enable caja caja-actions) \
- $(use_enable magic) \
- $(use_enable packagekit)
-}
-
-pkg_postinst() {
- mate_pkg_postinst
- optfeature "Support for 7-zip" app-arch/p7zip
- optfeature "Support for ace" app-arch/unace
- optfeature "Support for arj" app-arch/arj
- optfeature "Support for cpio" app-arch/cpio
- optfeature "Support for deb" app-arch/dpkg
- optfeature "Support for iso" app-cdr/cdrtools
- optfeature "Support for jar,zip" app-arch/zip app-arch/unzip
- optfeature "Support for lha" app-arch/lha
- optfeature "Support for lzma" app-arch/xz-utils
- optfeature "Support for lzop" app-arch/lzop
- optfeature "Support for rar" app-arch/unrar
- optfeature "Support for rpm" app-arch/rpm
- optfeature "Support for unstuff" app-arch/stuffit
- optfeature "Support for zoo" app-arch/zoo
-}
diff --git a/app-arch/engrampa/engrampa-1.26.1.ebuild b/app-arch/engrampa/engrampa-1.26.1.ebuild
new file mode 100644
index 000000000000..f4f1aded41e1
--- /dev/null
+++ b/app-arch/engrampa/engrampa-1.26.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mate-desktop/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/mate-desktop/${PN}/archive/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
+fi
+
+inherit mate optfeature
+
+DESCRIPTION="Engrampa archive manager for MATE"
+HOMEPAGE="https://mate-desktop.org/ https://github.com/mate-desktop/engrampa"
+
+LICENSE="FDL-1.1+ GPL-2+ LGPL-2+"
+SLOT="0"
+IUSE="caja magic"
+
+DEPEND="
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/json-glib-0.14
+ virtual/libintl
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[X]
+ x11-libs/libSM
+ x11-libs/pango
+ caja? ( >=mate-base/caja-1.17.1 )
+ magic? ( sys-apps/file )
+"
+RDEPEND="
+ ${DEPEND}
+ virtual/libintl
+"
+BDEPEND="
+ app-text/yelp-tools
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.26.0-clang16.patch
+)
+
+src_configure() {
+ mate_src_configure \
+ --disable-run-in-place \
+ $(use_enable caja caja-actions) \
+ $(use_enable magic) \
+ --disable-packagekit
+}
+
+pkg_postinst() {
+ mate_pkg_postinst
+
+ optfeature "Support for 7-zip" app-arch/p7zip
+ optfeature "Support for ace" app-arch/unace
+ optfeature "Support for arj" app-arch/arj
+ optfeature "Support for cpio" app-alternatives/cpio
+ optfeature "Support for deb" app-arch/dpkg
+ optfeature "Support for iso" app-cdr/cdrtools
+ optfeature "Support for jar,zip" app-arch/zip app-arch/unzip
+ optfeature "Support for lha" app-arch/lha
+ optfeature "Support for lzma" app-arch/xz-utils
+ optfeature "Support for lzop" app-arch/lzop
+ optfeature "Support for rar" app-arch/unrar
+ optfeature "Support for rpm" app-arch/rpm
+ optfeature "Support for unstuff" app-arch/stuffit
+ optfeature "Support for zoo" app-arch/zoo
+}
diff --git a/app-arch/engrampa/engrampa-1.26.2.ebuild b/app-arch/engrampa/engrampa-1.26.2.ebuild
new file mode 100644
index 000000000000..da1636e52756
--- /dev/null
+++ b/app-arch/engrampa/engrampa-1.26.2.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} == 9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mate-desktop/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/mate-desktop/${PN}/archive/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+fi
+
+inherit mate optfeature
+
+DESCRIPTION="Engrampa archive manager for MATE"
+HOMEPAGE="https://mate-desktop.org/ https://github.com/mate-desktop/engrampa"
+
+LICENSE="FDL-1.1+ GPL-2+ LGPL-2+"
+SLOT="0"
+IUSE="caja magic"
+
+DEPEND="
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/json-glib-0.14
+ virtual/libintl
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[X]
+ x11-libs/libSM
+ x11-libs/pango
+ caja? ( >=mate-base/caja-1.17.1 )
+ magic? ( sys-apps/file )
+"
+RDEPEND="
+ ${DEPEND}
+ virtual/libintl
+"
+BDEPEND="
+ app-text/yelp-tools
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.26.0-clang16.patch
+)
+
+src_configure() {
+ mate_src_configure \
+ --disable-run-in-place \
+ $(use_enable caja caja-actions) \
+ $(use_enable magic) \
+ --disable-packagekit
+}
+
+pkg_postinst() {
+ mate_pkg_postinst
+
+ optfeature "Support for 7-zip" app-arch/p7zip
+ optfeature "Support for ace" app-arch/unace
+ optfeature "Support for arj" app-arch/arj
+ optfeature "Support for cpio" app-alternatives/cpio
+ optfeature "Support for deb" app-arch/dpkg
+ optfeature "Support for iso" app-cdr/cdrtools
+ optfeature "Support for jar,zip" app-arch/zip app-arch/unzip
+ optfeature "Support for lha" app-arch/lha
+ optfeature "Support for lzma" app-arch/xz-utils
+ optfeature "Support for lzop" app-arch/lzop
+ optfeature "Support for rar" app-arch/unrar
+ optfeature "Support for rpm" app-arch/rpm
+ optfeature "Support for unstuff" app-arch/stuffit
+ optfeature "Support for zoo" app-arch/zoo
+}
diff --git a/app-arch/engrampa/engrampa-1.28.1.ebuild b/app-arch/engrampa/engrampa-1.28.1.ebuild
new file mode 100644
index 000000000000..f0fa99ba4f21
--- /dev/null
+++ b/app-arch/engrampa/engrampa-1.28.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MINOR=$(($(ver_cut 2) % 2))
+if [[ ${MINOR} -eq 0 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+fi
+
+inherit mate optfeature
+
+DESCRIPTION="Engrampa archive manager for MATE"
+HOMEPAGE="https://mate-desktop.org/ https://github.com/mate-desktop/engrampa"
+
+LICENSE="FDL-1.1+ GPL-2+ LGPL-2+"
+SLOT="0"
+IUSE="caja magic"
+
+DEPEND="
+ >=dev-libs/glib-2.50:2
+ >=dev-libs/json-glib-0.14
+ virtual/libintl
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-3.22:3[X]
+ x11-libs/libSM
+ x11-libs/pango
+ caja? ( >=mate-base/caja-1.17.1 )
+ magic? ( >=sys-apps/file-5.38 )
+"
+RDEPEND="
+ ${DEPEND}
+ virtual/libintl
+"
+BDEPEND="
+ app-text/yelp-tools
+ dev-util/glib-utils
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+src_configure() {
+ mate_src_configure \
+ --disable-run-in-place \
+ $(use_enable caja caja-actions) \
+ $(use_enable magic) \
+ --disable-packagekit
+}
+
+pkg_postinst() {
+ mate_pkg_postinst
+
+ optfeature "Support for 7-zip" app-arch/p7zip
+ optfeature "Support for ace" app-arch/unace
+ optfeature "Support for arj" app-arch/arj
+ optfeature "Support for cpio" app-alternatives/cpio
+ optfeature "Support for deb" app-arch/dpkg
+ optfeature "Support for iso" app-cdr/cdrtools
+ optfeature "Support for jar,zip" app-arch/zip app-arch/unzip
+ optfeature "Support for lha" app-arch/lha
+ optfeature "Support for lzma" app-arch/xz-utils
+ optfeature "Support for lzop" app-arch/lzop
+ optfeature "Support for rar" app-arch/unrar
+ optfeature "Support for rpm" app-arch/rpm
+ optfeature "Support for unstuff" app-arch/stuffit
+ optfeature "Support for zoo" app-arch/zoo
+}
diff --git a/app-arch/engrampa/files/engrampa-1.26.0-clang16.patch b/app-arch/engrampa/files/engrampa-1.26.0-clang16.patch
new file mode 100644
index 000000000000..334987a40baf
--- /dev/null
+++ b/app-arch/engrampa/files/engrampa-1.26.0-clang16.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/875404
+https://github.com/mate-desktop/engrampa/pull/477
+
+From f54425f1f994fc235c6cdd4013eb9fcf17da9f29 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Fri, 14 Apr 2023 22:35:08 +0200
+Subject: [PATCH] file-utils: Include <strings.h> for strcasecmp
+
+The _XOPEN_SOURCE macro definition overrides _DEFAULT_SOURCE
+and disables the declaration in <string.h>.
+
+This avoids an implicit function declaration and build failures
+with future compilers.
+--- a/src/file-utils.c
++++ b/src/file-utils.c
+@@ -27,6 +27,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <strings.h>
+ #include <ctype.h>
+ #include <time.h>
+ #include <unistd.h>
+
diff --git a/app-arch/engrampa/metadata.xml b/app-arch/engrampa/metadata.xml
index daa35af2526f..9a73784dd824 100644
--- a/app-arch/engrampa/metadata.xml
+++ b/app-arch/engrampa/metadata.xml
@@ -1,16 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>mate@gentoo.org</email>
- <name>Gentoo MATE Desktop</name>
+ <maintainer type="person" proxied="yes">
+ <email>oz.tiram@gmail.com</email>
+ <name>Oz Tiram</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>immoloism@gmail.com</email>
+ <name>Ian Jordan</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="caja">Enable engrampa to integrate with
<pkg>mate-base/caja</pkg> by providing entries in its context
menu</flag>
- <flag name="packagekit">Enable support for installing via Packagekit
- based on archive type</flag>
</use>
<upstream>
<remote-id type="github">mate-desktop/engrampa</remote-id>
diff --git a/app-arch/fastjar/Manifest b/app-arch/fastjar/Manifest
deleted file mode 100644
index 0d9d1f53842e..000000000000
--- a/app-arch/fastjar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fastjar-0.98.tar.gz 717984 BLAKE2B 1715f1917076799fc58c6c6cea8fb53fc3261a694fa2392c0dc6e30101a7d42de0c5c55cd593627b4d2d0ffa45e3d44ef220c9579caec669721c6b1b9996e43c SHA512 c0f9fca7b58d6acd00b90a5184dbde9ba3ffc5bf4d69512743e450649a272baf1f6af98b15d79d2b53990eaf84ef402c986035e6b615a19e35ed424348143903
diff --git a/app-arch/fastjar/fastjar-0.98-r3.ebuild b/app-arch/fastjar/fastjar-0.98-r3.ebuild
deleted file mode 100644
index 77a5df7acc1a..000000000000
--- a/app-arch/fastjar/fastjar-0.98-r3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="A jar program written in C"
-HOMEPAGE="https://savannah.nongnu.org/projects/fastjar"
-SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ppc ppc64 x86 ~amd64-linux ~x86-linux ~sparc-solaris"
-
-DEPEND="sys-libs/zlib"
-RDEPEND="
- ${DEPEND}
- !<=dev-java/kaffe-1.1.7-r5" # bug 188542
-
-PATCHES=(
- # bug 325557
- "${FILESDIR}"/0.98-traversal.patch
-)
diff --git a/app-arch/fastjar/files/0.98-traversal.patch b/app-arch/fastjar/files/0.98-traversal.patch
deleted file mode 100644
index 511f4c6cd838..000000000000
--- a/app-arch/fastjar/files/0.98-traversal.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- fastjar-0.98.orig/jartool.c
-+++ fastjar-0.98/jartool.c
-@@ -790,6 +790,7 @@
- progname, jarfile);
- return 1;
- }
-+ ze->filename[len] = '\0';
- len = UNPACK_UB4(header, CEN_EFLEN);
- len += UNPACK_UB4(header, CEN_COMLEN);
- if (lseek (fd, len, SEEK_CUR) == -1)
-@@ -1257,7 +1258,7 @@
- exit_on_error("write");
-
- /* write the file name to the zip file */
-- if (1 == write(jfd, fname, file_name_length))
-+ if (-1 == write(jfd, fname, file_name_length))
- exit_on_error("write");
-
- if(verbose){
-@@ -1730,7 +1731,17 @@
- struct stat sbuf;
- int depth = 0;
-
-- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename));
-+ if(*filename == '/'){
-+ fprintf(stderr, "Absolute path names are not allowed.\n");
-+ exit(EXIT_FAILURE);
-+ }
-+
-+ tmp_buff = malloc(strlen((const char *)filename));
-+
-+ if(tmp_buff == NULL) {
-+ fprintf(stderr, "Out of memory.\n");
-+ exit(EXIT_FAILURE);
-+ }
-
- for(;;){
- const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/');
-@@ -1738,25 +1749,28 @@
- if(idx == NULL)
- break;
- else if(idx == start){
-+ tmp_buff[idx - filename] = '/';
- start++;
- continue;
- }
-- start = idx + 1;
-
-- strncpy(tmp_buff, (const char *)filename, (idx - filename));
-- tmp_buff[(idx - filename)] = '\0';
-+ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start));
-+ tmp_buff[idx - filename] = '\0';
-
- #ifdef DEBUG
- printf("checking the existance of %s\n", tmp_buff);
- #endif
-- if(strcmp(tmp_buff, "..") == 0){
-+ if(idx - start == 2 && memcmp(start, "..", 2) == 0){
- --depth;
- if (depth < 0){
- fprintf(stderr, "Traversal to parent directories during unpacking!\n");
- exit(EXIT_FAILURE);
- }
-- } else if (strcmp(tmp_buff, ".") != 0)
-+ } else if (idx - start != 1 || *start != '.')
- ++depth;
-+
-+ start = idx + 1;
-+
- if(stat(tmp_buff, &sbuf) < 0){
- if(errno != ENOENT)
- exit_on_error("stat");
-@@ -1765,6 +1779,7 @@
- #ifdef DEBUG
- printf("Directory exists\n");
- #endif
-+ tmp_buff[idx - filename] = '/';
- continue;
- }else {
- fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n",
-@@ -1781,10 +1796,11 @@
- if(verbose && handle)
- printf("%10s: %s/\n", "created", tmp_buff);
-
-+ tmp_buff[idx - filename] = '/';
- }
-
- /* only a directory */
-- if(strlen((const char *)start) == 0)
-+ if(*start == '\0')
- dir = TRUE;
-
- #ifdef DEBUG
-@@ -1792,7 +1808,7 @@
- #endif
-
- /* If the entry was just a directory, don't write to file, etc */
-- if(strlen((const char *)start) == 0)
-+ if(*start == '\0')
- f_fd = -1;
-
- free(tmp_buff);
-@@ -1876,7 +1892,8 @@
- exit(EXIT_FAILURE);
- }
-
-- close(f_fd);
-+ if (f_fd != -1)
-+ close(f_fd);
-
- if(verbose && dir == FALSE && handle)
- printf("%10s: %s\n",
diff --git a/app-arch/fastjar/metadata.xml b/app-arch/fastjar/metadata.xml
deleted file mode 100644
index a0a927b71617..000000000000
--- a/app-arch/fastjar/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription lang="en">
- Fastjar is a version of Sun's 'jar' utility, written entirely in C,
- and therefore quite a bit faster. Fastjar can be up to 100x faster
- than the stock 'jar' program running without a JIT.
- </longdescription>
-</pkgmetadata>
diff --git a/app-arch/file-roller/Manifest b/app-arch/file-roller/Manifest
index e754e09a8ae1..52e6538bbc51 100644
--- a/app-arch/file-roller/Manifest
+++ b/app-arch/file-roller/Manifest
@@ -1 +1,2 @@
-DIST file-roller-3.40.0.tar.xz 876424 BLAKE2B fa2483677869d5a6b4ac91938eac6bf09965177ffa07bab76a77a0be58e331466f939e7e0728d5eeeb5703c6ff12f178f8080922f8ae9d726e77700bbbd518ed SHA512 224dbe4f4358aa62589d084d67244ad8d65d718f9b6adf708ba1425b38fca68e08b07a6163f66d95c6acfd164b6062939cfeb27873ea41353e0551e322b0eb26
+DIST file-roller-44.1.tar.xz 927156 BLAKE2B 60ced1711298989eda90a675095b5e7b8f1e9b84b5f4cf364bce4683ba9eac6a8a4a1857b0248cd9a49ea2161cbc5c2c36df94ebc164e195de528ba50220d1da SHA512 de0d0ce93ecba822ec495227cd484cb164a81f8b5349033d80207acc19584985f0c88bfa766a46468349e2b16b020371e2e6b73b4fb7f2f18f40f115f2391b30
+DIST file-roller-44.tar.xz 924236 BLAKE2B 12eebd312afdec8f87141d384d1476be7296073f911791328158af1ab93fcb4092ee79e0c65743c36eaa28e06b5b59503357b6c4cff87b4896d3969a67d08e45 SHA512 d40ac036161397828ded2bab7bdf1c029ef0b53fad65e0922e6eeec40442eb7a9898a7d5c3208f6dfda3ad6f51b0771f248ab64c177769b655493a44c403f824
diff --git a/app-arch/file-roller/file-roller-44.1.ebuild b/app-arch/file-roller/file-roller-44.1.ebuild
new file mode 100644
index 000000000000..6b9c0f7cfa2c
--- /dev/null
+++ b/app-arch/file-roller/file-roller-44.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson readme.gentoo-r1 xdg
+
+DESCRIPTION="Archive manager for GNOME"
+HOMEPAGE="https://wiki.gnome.org/Apps/FileRoller"
+
+LICENSE="GPL-2+ CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="gtk-doc +introspection nautilus"
+REQUIRED_USE="gtk-doc? ( introspection )"
+
+# gdk-pixbuf used extensively in the source
+# cairo used in eggtreemultidnd.c
+# pango used in fr-window
+RDEPEND="
+ >=dev-libs/glib-2.38:2
+ >=gui-libs/gtk-4.8.1:4[introspection?]
+ >=gui-libs/libadwaita-1.2:1
+ nautilus? ( >=gnome-base/nautilus-43.0 )
+ >=dev-libs/json-glib-0.14
+ >=app-arch/libarchive-3.2:=
+ introspection? ( dev-libs/gobject-introspection )
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/pango
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/glib-utils
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
+"
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+${PN} is a frontend for several archiving utilities. If you want a
+particular archive format support, see ${HOMEPAGE}
+and install the relevant package. For example:
+7-zip - app-arch/p7zip
+ace - app-arch/unace
+arj - app-arch/arj
+brotli - app-arch/brotli
+cpio - app-alternatives/cpio
+deb - app-arch/dpkg
+iso - app-cdr/cdrtools
+jar,zip - app-arch/zip and app-arch/unzip
+lha - app-arch/lha
+lzop - app-arch/lzop
+lz4 - app-arch/lz4
+rar - app-arch/unrar or app-arch/unar
+rpm - app-arch/rpm
+unstuff - app-arch/stuffit
+zstd - app-arch/zstd
+zoo - app-arch/zoo"
+
+src_prepare() {
+ # File providing Gentoo package names for various archivers
+ cp -v "${FILESDIR}"/3.36-packages.match data/packages.match || die
+
+ default
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ -Drun-in-place=false
+ $(meson_feature nautilus nautilus-actions)
+ -Dnotification=enabled
+ -Duse_native_appchooser=false
+ -Dpackagekit=false
+ -Dlibarchive=enabled
+ $(meson_feature introspection)
+ $(meson_feature gtk-doc api_docs)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/doc/file-roller "${ED}"/usr/share/gtk-doc/file-roller || die
+ fi
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-arch/file-roller/file-roller-3.40.0.ebuild b/app-arch/file-roller/file-roller-44.ebuild
index d3a992cb7102..dcb5b5610d53 100644
--- a/app-arch/file-roller/file-roller-3.40.0.ebuild
+++ b/app-arch/file-roller/file-roller-44.ebuild
@@ -1,39 +1,41 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} )
-inherit gnome.org gnome2-utils meson python-any-r1 readme.gentoo-r1 xdg
+EAPI=8
+
+inherit gnome.org gnome2-utils meson readme.gentoo-r1 xdg
DESCRIPTION="Archive manager for GNOME"
HOMEPAGE="https://wiki.gnome.org/Apps/FileRoller"
LICENSE="GPL-2+ CC-BY-SA-3.0"
SLOT="0"
-IUSE="libnotify nautilus"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="gtk-doc +introspection nautilus"
+REQUIRED_USE="gtk-doc? ( introspection )"
# gdk-pixbuf used extensively in the source
# cairo used in eggtreemultidnd.c
# pango used in fr-window
RDEPEND="
- >=app-arch/libarchive-3.2:=
>=dev-libs/glib-2.38:2
+ >=gui-libs/gtk-4.8.1:4[introspection?]
+ >=gui-libs/libadwaita-1.2:1
+ nautilus? ( >=gnome-base/nautilus-43.0 )
>=dev-libs/json-glib-0.14
- >=x11-libs/gtk+-3.22.0:3
+ >=app-arch/libarchive-3.2:=
+ introspection? ( dev-libs/gobject-introspection )
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/pango
- libnotify? ( >=x11-libs/libnotify-0.4.3:= )
- nautilus? ( >=gnome-base/nautilus-3.28.0 )
"
DEPEND="${RDEPEND}"
BDEPEND="
- ${PYTHON_DEPS}
dev-util/glib-utils
dev-util/itstool
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
+ gtk-doc? ( dev-util/gi-docgen )
"
DISABLE_AUTOFORMATTING="yes"
@@ -45,7 +47,7 @@ and install the relevant package. For example:
ace - app-arch/unace
arj - app-arch/arj
brotli - app-arch/brotli
-cpio - app-arch/cpio
+cpio - app-alternatives/cpio
deb - app-arch/dpkg
iso - app-cdr/cdrtools
jar,zip - app-arch/zip and app-arch/unzip
@@ -62,22 +64,30 @@ src_prepare() {
# File providing Gentoo package names for various archivers
cp -v "${FILESDIR}"/3.36-packages.match data/packages.match || die
- xdg_src_prepare
+ default
+ xdg_environment_reset
}
src_configure() {
local emesonargs=(
-Drun-in-place=false
$(meson_feature nautilus nautilus-actions)
- $(meson_feature libnotify notification)
+ -Dnotification=enabled
+ -Duse_native_appchooser=false
-Dpackagekit=false
-Dlibarchive=enabled
+ $(meson_feature introspection)
+ $(meson_feature gtk-doc api_docs)
)
meson_src_configure
}
src_install() {
meson_src_install
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/ || die
+ mv "${ED}"/usr/share/doc/file-roller "${ED}"/usr/share/gtk-doc/file-roller || die
+ fi
readme.gentoo_create_doc
}
diff --git a/app-arch/file-roller/files/3.36-packages.match b/app-arch/file-roller/files/3.36-packages.match
index b494f5430a00..c84d4517a59b 100644
--- a/app-arch/file-roller/files/3.36-packages.match
+++ b/app-arch/file-roller/files/3.36-packages.match
@@ -3,7 +3,7 @@ arj=app-arch/arj
binutils=sys-devel/binutils
brotli=app-arch/brotli
bzip2=app-arch/bzip2
-cpio=app-arch/cpio
+cpio=app-alternatives/cpio
dpkg=app-arch/dpkg
genisoimage=app-cdr/cdrtools
gzip=app-arch/gzip
diff --git a/app-arch/file-roller/metadata.xml b/app-arch/file-roller/metadata.xml
index 9f23dc396c05..95e520228548 100644
--- a/app-arch/file-roller/metadata.xml
+++ b/app-arch/file-roller/metadata.xml
@@ -1,16 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <use>
- <flag name="nautilus">Build contextual menu extension for
- <pkg>gnome-base/nautilus</pkg>.</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">fileroller</remote-id>
- <remote-id type="cpe">cpe:/a:paolo_bacchilega:file_roller</remote-id>
- </upstream>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <use>
+ <flag name="nautilus">Build contextual menu extension for <pkg>gnome-base/nautilus</pkg>.</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:paolo_bacchilega:file_roller</remote-id>
+ <remote-id type="gnome-gitlab">GNOME/file-roller</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/funzix/funzix-1.0.ebuild b/app-arch/funzix/funzix-1.0-r1.ebuild
index 8f62fd7801f6..eb1b037916a9 100644
--- a/app-arch/funzix/funzix-1.0.ebuild
+++ b/app-arch/funzix/funzix-1.0-r1.ebuild
@@ -1,18 +1,20 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
-DESCRIPTION="unpacker for the bogus ZIX format"
-HOMEPAGE="http://funzix.sourceforge.net/"
+DESCRIPTION="Unpacker for the bogus ZIX format"
+HOMEPAGE="https://funzix.sourceforge.io/"
SRC_URI="mirror://sourceforge/funzix/${P}.tar.bz2"
LICENSE="public-domain"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
+
+RDEPEND="sys-libs/zlib"
+DEPEND="${RDEPEND}"
PATCHES=( "${FILESDIR}"/${PN}-1.0-fix-build-system.patch )
diff --git a/app-arch/gcab/Manifest b/app-arch/gcab/Manifest
index 8922b04345a1..52c80cbf9c84 100644
--- a/app-arch/gcab/Manifest
+++ b/app-arch/gcab/Manifest
@@ -1 +1 @@
-DIST gcab-1.4.tar.xz 78240 BLAKE2B 8b857c116fab636db93463cee7d6b809c3c7b2bdf3896b7b5b5b66ebf270b284b356710933ec17584143bcef5c1f5c555811dd05ea98399f327047476a33fc16 SHA512 66a2e0d0a5888c555153356ce808f602053e71b76af19794db7e3bbf9516fe791805068838b4e208698cd645ada7a08610ac95f846fa81e00a9b955016306299
+DIST gcab-1.6.tar.xz 82088 BLAKE2B 04e78229649f1c5cee8d9a9a52e6489264a0356fd21830b71f09c7a22ac73a91ae721f5a99bedbe7556265c1bdd134b3500aad580407c31b0aac487ef1810bf8 SHA512 26b8dcf47ba98e7cc073a551d1c965c13a72d298c8a4e124823bdbb20fe314c8f687232df9ae824a54d81f96fe7d9ac1a40aed24e51f8706595079cec2c61fc9
diff --git a/app-arch/gcab/gcab-1.4.ebuild b/app-arch/gcab/gcab-1.6.ebuild
index 8b4a5c52d717..c97807f55159 100644
--- a/app-arch/gcab/gcab-1.4.ebuild
+++ b/app-arch/gcab/gcab-1.6.ebuild
@@ -1,19 +1,19 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-VALA_USE_DEPEND="vapigen"
+EAPI=8
inherit gnome.org meson vala xdg
DESCRIPTION="Library and tool for working with Microsoft Cabinet (CAB) files"
-HOMEPAGE="https://wiki.gnome.org/msitools"
+HOMEPAGE="https://wiki.gnome.org/msitools https://gitlab.gnome.org/GNOME/gcab"
LICENSE="LGPL-2.1+"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="gtk-doc +introspection test vala"
+RESTRICT="!test? ( test )"
REQUIRED_USE="vala? ( introspection )"
RDEPEND="
@@ -23,20 +23,20 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- >=dev-util/meson-0.50.0
dev-util/glib-utils
- gtk-doc? ( >=dev-util/gtk-doc-1.14
- app-text/docbook-xml-dtd:4.3 )
+ gtk-doc? (
+ >=dev-util/gtk-doc-1.14
+ app-text/docbook-xml-dtd:4.3
+ )
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
vala? ( $(vala_depend) )
"
-RESTRICT="!test? ( test )"
-
src_prepare() {
- xdg_src_prepare
- use vala && vala_src_prepare
+ default
+ xdg_environment_reset
+ use vala && vala_setup
}
src_configure() {
diff --git a/app-arch/gcab/metadata.xml b/app-arch/gcab/metadata.xml
index 7b343b06be8a..ca769f6cf4a9 100644
--- a/app-arch/gcab/metadata.xml
+++ b/app-arch/gcab/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gcab</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/gnome-autoar/Manifest b/app-arch/gnome-autoar/Manifest
index 2bf717359af3..1e2bed18fb1e 100644
--- a/app-arch/gnome-autoar/Manifest
+++ b/app-arch/gnome-autoar/Manifest
@@ -1,2 +1 @@
-DIST gnome-autoar-0.4.0.tar.xz 50176 BLAKE2B 6dce638d180ae8566f45757870cdf0de70a944cbdfde940f13bd139f3ee6fb1c18ff91ca0b1cc9b99dbeb4b5c67314c81448e1876a328e928b2d9787492988ec SHA512 ab4ef47ef65e4fa0dc652b19a9eb94cc307013e4c7ced6980cedc7ced20fb77d53e1807c20b14a69c1ddc536c4ed0007062481e258d36c07e3be837537916b7f
-DIST gnome-autoar-0.4.1.tar.xz 50152 BLAKE2B d54677ccd50898d9764e385dfbf27dc5c145aa2cc7b824594e69481f20de1ce34986855c1aba2efd86b4ad56b4261564895b217c58b661d2c20d50b4341fefa4 SHA512 5c082c42342256c3af9dfa49435c1ab884c051a9c47a0313a343a747c2f30de2662505f4d77db20dffbdd39a5d0447d2dfb4ccf3da96a198ea987bc5c0c0dddf
+DIST gnome-autoar-0.4.4.tar.xz 51300 BLAKE2B db3390f771205166aaf9b6a90da15bd68c80ad5e874cc7ddc14b2a79d4dc2b3d41b9636acd6f44e4a6ce3590c3659c51cd8a910ab4e588aba41cdc7dbcf72725 SHA512 c38d3703e61d7338b97c362127bdc61f77d259eecd662f3963f28bfcb1ce7be8a948e9a57e79a8181a55dfc3635f671f2160ade947a1b5122204a2dc0025682d
diff --git a/app-arch/gnome-autoar/gnome-autoar-0.4.1.ebuild b/app-arch/gnome-autoar/gnome-autoar-0.4.1.ebuild
deleted file mode 100644
index 6669c363ccf4..000000000000
--- a/app-arch/gnome-autoar/gnome-autoar-0.4.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-
-inherit gnome.org meson vala
-
-DESCRIPTION="Automatic archives creating and extracting library"
-HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-autoar"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-IUSE="gtk gtk-doc +introspection test vala"
-REQUIRED_USE="vala? ( introspection ) gtk-doc? ( gtk )"
-RESTRICT="!test? ( test )"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=app-arch/libarchive-3.4.0
- >=dev-libs/glib-2.35.6:2
- gtk? ( >=x11-libs/gtk+-3.2:3[introspection?] )
- introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
- gtk-doc? ( dev-util/gtk-doc
- app-text/docbook-xml-dtd:4.3 )
- vala? ( $(vala_depend) )
-"
-
-src_prepare() {
- use vala && vala_src_prepare
- default
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_use gtk)
- $(meson_feature introspection)
- $(meson_use vala vapi)
- $(meson_use test tests)
- $(meson_use gtk-doc gtk_doc)
- )
- meson_src_configure
-}
diff --git a/app-arch/gnome-autoar/gnome-autoar-0.4.0.ebuild b/app-arch/gnome-autoar/gnome-autoar-0.4.4.ebuild
index 6d2b2020643a..b9065f4e4615 100644
--- a/app-arch/gnome-autoar/gnome-autoar-0.4.0.ebuild
+++ b/app-arch/gnome-autoar/gnome-autoar-0.4.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -15,18 +15,18 @@ IUSE="gtk gtk-doc +introspection test vala"
REQUIRED_USE="vala? ( introspection ) gtk-doc? ( gtk )"
RESTRICT="!test? ( test )"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
RDEPEND="
- >=app-arch/libarchive-3.4.0
+ >=app-arch/libarchive-3.4.0:=
>=dev-libs/glib-2.35.6:2
gtk? ( >=x11-libs/gtk+-3.2:3[introspection?] )
introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
- >=dev-util/meson-0.58
virtual/pkgconfig
+ dev-util/glib-utils
gtk-doc? ( dev-util/gtk-doc
app-text/docbook-xml-dtd:4.3 )
vala? ( $(vala_depend) )
diff --git a/app-arch/gnome-autoar/metadata.xml b/app-arch/gnome-autoar/metadata.xml
index 98b32ae2f3a4..28848d12a0dd 100644
--- a/app-arch/gnome-autoar/metadata.xml
+++ b/app-arch/gnome-autoar/metadata.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
- </maintainer>
- <longdescription lang="en">
- gnome-autoar provides functions, widgets, and gschemas for GNOME applications which want to use archives as a method to transfer directories over the Internet.
- </longdescription>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <longdescription lang="en">
+ gnome-autoar provides functions, widgets, and gschemas for GNOME applications which want to use archives as a method to transfer directories over the Internet.
+ </longdescription>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gnome-autoar</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/gtk-splitter/gtk-splitter-2.2.1-r2.ebuild b/app-arch/gtk-splitter/gtk-splitter-2.2.1-r2.ebuild
index 8cfa2563d8f8..6aefd867f9c7 100644
--- a/app-arch/gtk-splitter/gtk-splitter-2.2.1-r2.ebuild
+++ b/app-arch/gtk-splitter/gtk-splitter-2.2.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Split files into smaller pieces and combine them back together"
-HOMEPAGE="http://gtk-splitter.sourceforge.net"
+HOMEPAGE="https://gtk-splitter.sourceforge.net"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
diff --git a/app-arch/gxz/Manifest b/app-arch/gxz/Manifest
new file mode 100644
index 000000000000..3fac29d8d583
--- /dev/null
+++ b/app-arch/gxz/Manifest
@@ -0,0 +1 @@
+DIST gxz-0.5.12.tar.gz 4176087 BLAKE2B 0bf4795ec1d008ef956d42d9d78b3f3f65bb9555436c64869a82aa6c058ac3aa5e8912a8e451cdafccaeaf4d9bb30404e2cd60a00f620baf01e6b6d892d59a3f SHA512 13928dfbd8514eb7c778a84405ba2342159da8f59783f82b5774643190b12d5fc1aed927b67946d5ef246d5cc61b3be23eaa08695c61aea70229617b1ce757ff
diff --git a/app-arch/gxz/gxz-0.5.12.ebuild b/app-arch/gxz/gxz-0.5.12.ebuild
new file mode 100644
index 000000000000..5413b88e41b4
--- /dev/null
+++ b/app-arch/gxz/gxz-0.5.12.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module
+
+DESCRIPTION="Pure golang package for reading and writing xz-compressed files"
+HOMEPAGE="https://github.com/ulikunitz/xz"
+SRC_URI="https://github.com/ulikunitz/xz/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/xz-${PV}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+src_compile() {
+ ego build ./cmd/gxz
+}
+
+src_test() {
+ # TODO: Need to give it test data?
+ ego test ./cmd/gxz
+}
+
+src_install() {
+ dobin gxz
+}
diff --git a/app-arch/gxz/metadata.xml b/app-arch/gxz/metadata.xml
new file mode 100644
index 000000000000..dbf55dc84298
--- /dev/null
+++ b/app-arch/gxz/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ulikunitz/xz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/gzip/Manifest b/app-arch/gzip/Manifest
index 25b7f1c63366..694ed8bba701 100644
--- a/app-arch/gzip/Manifest
+++ b/app-arch/gzip/Manifest
@@ -1,2 +1,2 @@
-DIST gzip-1.10.tar.xz 775144 BLAKE2B 431dc0fd11061eabd9db86594777b86510b124b124fd74799eacd67334631af60f638be2638413bee0153a9da35528d0aecc5b5083152c395223705400c9103b SHA512 e6ba9e3906cdb6a6235b213515093d02afa1722686f73eddacbacae628542b586b449829783b6a1701e9b9e0c4d4dfa6845904d3b6b010f5cf21aec4997c9299
-DIST gzip-1.11.tar.xz 804096 BLAKE2B c251066f0bded6a6557a5cbfe5d20090c6446051c31fad610af4f9f7b2537c28fed1cfab424a459452db73b7d1df1361e5aeba163a9e980fc611faf408cac128 SHA512 af297c173297d588722f4d0f140a2ae4d3ea3861464191772fb2e11e47be43644b5ae01ed63f0051d6eb4751666284de53e14c4dd9f0c1d25f61cf676fbf11f3
+DIST gzip-1.13.tar.xz 838248 BLAKE2B f0e3b4c28bafcd3b59b65ac2d71218dc58d81b52c6921c1be038757c99e99184178c5d0e9674caa5099713b8b64e8c85cf061f4abfa20b73b478288f121fb05d SHA512 e3d4d4aa4b2e53fdad980620307257c91dfbbc40bcec9baa8d4e85e8327f55e2ece552c9baf209df7b66a07103ab92d4954ac53c86c57fbde5e1dd461143f94c
+DIST gzip-1.13.tar.xz.sig 833 BLAKE2B 42e38fa7b3a6b6d21a18308cf662844ed84e1a142a945f3f3142db0a14212c0e642de514abb1307ec12ee7bb9644472cc3aed40582d9c266ab24808acbca0215 SHA512 f95e016f61f4a67cb4cec6cede2510af6bb5567d72bbd3d70210a6d5cf3ee5fea8f0cbf8f7b612fa52f2ecfd9dba050d9cd4494075ce5ac4abac7b74eaa7ccbc
diff --git a/app-arch/gzip/gzip-1.10.ebuild b/app-arch/gzip/gzip-1.10.ebuild
deleted file mode 100644
index c7101f915552..000000000000
--- a/app-arch/gzip/gzip-1.10.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="Standard GNU compressor"
-HOMEPAGE="https://www.gnu.org/software/gzip/"
-SRC_URI="mirror://gnu/gzip/${P}.tar.xz
- https://alpha.gnu.org/gnu/gzip/${P}.tar.xz
- mirror://gentoo/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="pic static"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
-)
-
-src_configure() {
- use static && append-flags -static
- # avoid text relocation in gzip
- use pic && export DEFS="NO_ASM"
- econf --disable-gcc-warnings #663928
-}
-
-src_install() {
- default
- docinto txt
- dodoc algorithm.doc gzip.doc
-
- # keep most things in /usr, just the fun stuff in /
- dodir /bin
- mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die
- sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die
-}
diff --git a/app-arch/gzip/gzip-1.11.ebuild b/app-arch/gzip/gzip-1.11.ebuild
deleted file mode 100644
index 395fb2de49bb..000000000000
--- a/app-arch/gzip/gzip-1.11.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-DESCRIPTION="Standard GNU compressor"
-HOMEPAGE="https://www.gnu.org/software/gzip/"
-SRC_URI="mirror://gnu/gzip/${P}.tar.xz
- https://alpha.gnu.org/gnu/gzip/${P}.tar.xz
- mirror://gentoo/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="pic static"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
-)
-
-src_prepare() {
- default
- if [[ ${CHOST} == *darwin* && ${CHOST##*darwin} -le 17 ]] ; then
- # Fix older Darwin inline definition problem
- sed -i -e '/define _GL_EXTERN_INLINE_STDHEADER_BUG/s/_BUG/_DISABLE/' \
- lib/config.hin || die
- fi
-}
-
-src_configure() {
- use static && append-flags -static
- # avoid text relocation in gzip
- use pic && export DEFS="NO_ASM"
- econf --disable-gcc-warnings #663928
-}
-
-src_install() {
- default
- docinto txt
- dodoc algorithm.doc gzip.doc
-
- # keep most things in /usr, just the fun stuff in /
- dodir /bin
- mv "${ED}"/usr/bin/{gunzip,gzip,uncompress,zcat} "${ED}"/bin/ || die
- sed -e "s:${EPREFIX}/usr:${EPREFIX}:" -i "${ED}"/bin/gunzip || die
-}
diff --git a/app-arch/gzip/gzip-1.13.ebuild b/app-arch/gzip/gzip-1.13.ebuild
new file mode 100644
index 000000000000..a864a1774f32
--- /dev/null
+++ b/app-arch/gzip/gzip-1.13.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/gzip.asc
+inherit flag-o-matic verify-sig
+
+DESCRIPTION="Standard GNU compressor"
+HOMEPAGE="https://www.gnu.org/software/gzip/"
+if [[ ${PV} == *_p* ]] ; then
+ # Note: could put this in devspace, but if it's gone, we don't want
+ # it in tree anyway. It's just for testing.
+ MY_SNAPSHOT="$(ver_cut 1-2).31-7553"
+ SRC_URI="
+ https://meyering.net/gzip/gzip-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz
+ verify-sig? (
+ https://meyering.net/gzip/gzip-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig
+ )
+ "
+ S="${WORKDIR}"/${PN}-${MY_SNAPSHOT}
+else
+ SRC_URI="
+ mirror://gnu/gzip/${P}.tar.xz
+ verify-sig? (
+ mirror://gnu/gzip/${P}.tar.xz.sig
+ )
+ "
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+if [[ ${PV} != *_p* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="pic static"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-gzip )"
+RDEPEND="!app-arch/pigz[symlink(-)]"
+PDEPEND="
+ app-alternatives/gzip
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.8-install-symlinks.patch"
+)
+
+src_configure() {
+ use static && append-flags -static
+
+ # Avoid text relocation in gzip
+ use pic && export DEFS="NO_ASM"
+
+ # bug #663928
+ econf --disable-gcc-warnings
+}
+
+src_install() {
+ default
+
+ docinto txt
+ dodoc algorithm.doc gzip.doc
+
+ # Avoid conflict with app-arch/ncompress
+ rm "${ED}"/usr/bin/uncompress || die
+
+ # keep most things in /usr, just the fun stuff in /
+ # also rename them to avoid conflict with app-alternatives/gzip
+ dodir /bin
+ local x
+ for x in gunzip gzip zcat; do
+ mv "${ED}/usr/bin/${x}" "${ED}/bin/${x}-reference" || die
+ done
+ mv "${ED}"/usr/share/man/man1/gzip{,-reference}.1 || die
+ rm "${ED}"/usr/share/man/man1/{gunzip,zcat}.1 || die
+}
+
+pkg_postinst() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ local ver
+ for ver in ${REPLACING_VERSIONS}; do
+ if ver_test "${ver}" -lt "1.12-r2"; then
+ ewarn "This package no longer installs 'uncompress'."
+ ewarn "Please use 'gzip -d' to decompress .Z files."
+ fi
+ done
+ fi
+
+ # ensure to preserve the symlinks before app-alternatives/gzip
+ # is installed
+ local x
+ for x in gunzip gzip zcat; do
+ if [[ ! -h ${EROOT}/bin/${x} ]]; then
+ ln -s "${x}-reference" "${EROOT}/bin/${x}" || die
+ fi
+ done
+}
diff --git a/app-arch/gzip/metadata.xml b/app-arch/gzip/metadata.xml
index 32eb6dd3de53..d01e5bd7a1eb 100644
--- a/app-arch/gzip/metadata.xml
+++ b/app-arch/gzip/metadata.xml
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<upstream>
- <remote-id type="cpe">cpe:/a:gnu:gzip</remote-id>
-</upstream>
-<use>
-<flag name="pic">disable optimized assembly code that is not PIC friendly</flag>
-</use>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gnu:gzip</remote-id>
+ <remote-id type="savannah">gzip</remote-id>
+ </upstream>
+ <use>
+ <flag name="pic">disable optimized assembly code that is not PIC friendly</flag>
+ </use>
</pkgmetadata>
diff --git a/app-arch/hardlink/hardlink-0.3.2.ebuild b/app-arch/hardlink/hardlink-0.3.2.ebuild
index 04acefe5304e..e8474e2e6476 100644
--- a/app-arch/hardlink/hardlink-0.3.2.ebuild
+++ b/app-arch/hardlink/hardlink-0.3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,7 +20,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-DOCS=( README ${T}/README.rsync )
+DOCS=( README "${T}"/README.rsync )
src_prepare() {
default
@@ -38,5 +38,5 @@ src_prepare() {
}
src_compile() {
- emake CC=$(tc-getCC)
+ emake CC="$(tc-getCC)"
}
diff --git a/app-arch/hardlink/metadata.xml b/app-arch/hardlink/metadata.xml
index 737247bb16ae..f409a4f8d262 100644
--- a/app-arch/hardlink/metadata.xml
+++ b/app-arch/hardlink/metadata.xml
@@ -5,7 +5,7 @@
<email>robbat2@gentoo.org</email>
<name>Robin H. Johnson</name>
</maintainer>
-<maintainer type="project">
+ <maintainer type="project">
<email>shell-tools@gentoo.org</email>
<name>Gentoo Shell Tools Project</name>
</maintainer>
diff --git a/app-arch/innoextract/files/innoextract-1.9-boost-1.85.0.patch b/app-arch/innoextract/files/innoextract-1.9-boost-1.85.0.patch
new file mode 100644
index 000000000000..23e4554fc53e
--- /dev/null
+++ b/app-arch/innoextract/files/innoextract-1.9-boost-1.85.0.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/930495
+https://github.com/dscharrer/innoextract/pull/169
+
+From 264c2fe6b84f90f6290c670e5f676660ec7b2387 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
+Date: Thu, 28 Mar 2024 15:11:40 +0100
+Subject: [PATCH] Fix build with boost 1.85
+
+As of boost 1.85-beta1, boost/filesystem/directory.hpp is no longer
+implicitly included by boost/filesystem/operations.hpp. Include it
+explicitly.
+--- a/src/stream/slice.cpp
++++ b/src/stream/slice.cpp
+@@ -27,6 +27,7 @@
+ #include <boost/cstdint.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/range/size.hpp>
+
+ #include "util/console.hpp"
diff --git a/app-arch/innoextract/innoextract-1.9.ebuild b/app-arch/innoextract/innoextract-1.9.ebuild
index 31ff8072913f..2259b5ffb6d3 100644
--- a/app-arch/innoextract/innoextract-1.9.ebuild
+++ b/app-arch/innoextract/innoextract-1.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://constexpr.org/innoextract/files/${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm arm64 ~m68k ppc64 x86"
IUSE="debug +iconv +lzma"
RDEPEND="
@@ -22,6 +22,7 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-1.9-fix-linkage.patch"
+ "${FILESDIR}/${PN}-1.9-boost-1.85.0.patch"
)
src_configure() {
diff --git a/app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16-musl-info.patch b/app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16-musl-info.patch
new file mode 100644
index 000000000000..cab651805476
--- /dev/null
+++ b/app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16-musl-info.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/894320
+--- a/src/common.h
++++ b/src/common.h
+@@ -35,6 +35,7 @@
+
+ /* Tracing, useful in debugging, but not officially supported. */
+ #ifdef ENABLE_TRACING
++#include "main.h" /* Needed for info */
+ #define Trace(x) info x
+ #else
+ #define Trace(x)
+--- a/src/main.h
++++ b/src/main.h
+@@ -20,6 +20,7 @@
+ along with lbzip2. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#pragma once
+ #include <limits.h> /* CHAR_BIT */
+
+ #if 8 != CHAR_BIT
diff --git a/app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16.patch b/app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16.patch
new file mode 100644
index 000000000000..7342b19cd027
--- /dev/null
+++ b/app-arch/lbzip2/files/lbzip2-2.5_p20181227-clang16.patch
@@ -0,0 +1,27 @@
+https://github.com/kjn/lbzip2/pull/33
+
+From 32b5167940ec817e454431956040734af405a9de Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 5 Jan 2023 18:02:26 +0100
+Subject: [PATCH] Define the GNULIB_XALLOC_DIE macro
+
+This avoids an implicit function declaration when building gnulib's
+xmalloc.c, addressing a build failure with future compiler version.
+
+Solution proposed by Bruno Haible here:
+
+ Re: xmalloc calling undeclared xalloc_die function
+ <https://lists.gnu.org/archive/html/bug-gnulib/2022-12/msg00038.html>
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,6 +31,9 @@ AC_PROG_LN_S
+ AC_PROG_RANLIB
+ AC_PROG_CC_C89
+
++AC_DEFINE(GNULIB_XALLOC_DIE, 1,
++ [This package is providing its own definition of the xalloc_die function.])
++
+ gl_ASSERT_NO_GNULIB_TESTS
+ gl_ASSERT_NO_GNULIB_POSIXCHECK
+ gl_EARLY
+
diff --git a/app-arch/lbzip2/lbzip2-2.5_p20181227-r1.ebuild b/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild
index e8d3af562b38..b92a6e2fff28 100644
--- a/app-arch/lbzip2/lbzip2-2.5_p20181227-r1.ebuild
+++ b/app-arch/lbzip2/lbzip2-2.5_p20181227-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit autotools flag-o-matic
@@ -11,15 +11,14 @@ SRC_URI="https://dev.gentoo.org/~whissi/dist/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="debug static symlink"
-
-RDEPEND="symlink? ( !app-arch/pbzip2[symlink] )"
-DEPEND=""
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="debug static"
PATCHES=(
"${FILESDIR}"/${PN}-2.3-s_isreg.patch
"${FILESDIR}"/${P}-fix-unaligned.patch
+ "${FILESDIR}"/${P}-clang16.patch
+ "${FILESDIR}"/${P}-clang16-musl-info.patch
)
src_prepare() {
@@ -35,12 +34,3 @@ src_configure() {
)
econf "${myeconfargs[@]}"
}
-
-src_install() {
- default
-
- if use symlink; then
- dosym ${PN} /usr/bin/bzip2
- dosym lbunzip2 /usr/bin/bunzip2
- fi
-}
diff --git a/app-arch/lbzip2/metadata.xml b/app-arch/lbzip2/metadata.xml
index de430ef53ee7..b755b171f2bb 100644
--- a/app-arch/lbzip2/metadata.xml
+++ b/app-arch/lbzip2/metadata.xml
@@ -10,9 +10,6 @@
input-bound splitter even when decompressing .bz2 files created by standard
bzip2
</longdescription>
- <use>
- <flag name="symlink">Install symlinks which override <pkg>app-arch/bzip2</pkg> implementation</flag>
- </use>
<upstream>
<remote-id type="github">kjn/lbzip2</remote-id>
</upstream>
diff --git a/app-arch/lcab/lcab-1.0_beta12.ebuild b/app-arch/lcab/lcab-1.0_beta12.ebuild
index 27fe02473de4..03a23f05e503 100644
--- a/app-arch/lcab/lcab-1.0_beta12.ebuild
+++ b/app-arch/lcab/lcab-1.0_beta12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ SRC_URI="ftp://mirror.ohnopub.net/mirror/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
S="${WORKDIR}/${MY_P}"
diff --git a/app-arch/lha/Manifest b/app-arch/lha/Manifest
index 13bdc1be59ab..76749a84e3db 100644
--- a/app-arch/lha/Manifest
+++ b/app-arch/lha/Manifest
@@ -1 +1,2 @@
DIST lha-114i_p20201004.tar.gz 220541 BLAKE2B 64268deb40de67d5f4888f7d4b4529fa1b6ca02c562bd041d9edd1ac9cc74ccfa43198c79310bd354806e3095f6aba8c97256b49686feb8c713e3d8110137103 SHA512 9a9337cbb6a3d71253597750301e37163c5b495e712f2374adf2ac0d19f731ed49482a3f8b639e4c48c7ef6fa7ed9f9081516d77548e9c88ed3b9ac037efeb06
+DIST lha-114i_p20210328.tar.gz 231115 BLAKE2B f9587fd2f99aa80498ed69f43efe189a6db12881c6ea748763e8ae071180a30578651db11cbba0216103f6a7741d37a0e55b2530a7e458046a7230f6101f05e7 SHA512 46fc722f9f15dbe75600c2aeecbf94357aa24da964bb03f8326d9d13affa2ea60d4ec5dd21a4f5014f2cbe4e06f4bb959aa8de89a5491e1600eafdd909b293d2
diff --git a/app-arch/lha/lha-114i_p20201004.ebuild b/app-arch/lha/lha-114i_p20201004.ebuild
index 88831bf85bd4..971bf526c523 100644
--- a/app-arch/lha/lha-114i_p20201004.ebuild
+++ b/app-arch/lha/lha-114i_p20201004.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -26,15 +26,6 @@ src_prepare() {
eautoreconf
}
-src_configure() {
- if [[ ${CHOST} == *-interix* ]]; then
- export ac_cv_header_inttypes_h=no
- export ac_cv_func_iconv=no
- fi
-
- default
-}
-
src_install() {
default
dodoc olddoc/ChangeLog Hacking_of_LHa
diff --git a/app-arch/lha/lha-114i_p20210328.ebuild b/app-arch/lha/lha-114i_p20210328.ebuild
new file mode 100644
index 000000000000..daaf8b6485d3
--- /dev/null
+++ b/app-arch/lha/lha-114i_p20210328.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_COMMIT="26950220c9c7590fd603ecaa54a12a52371affed"
+
+DESCRIPTION="Utility for creating and opening lzh archives"
+HOMEPAGE="https://github.com/jca02266/lha https://lha.osdn.jp"
+SRC_URI="https://github.com/jca02266/lha/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="lha"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
+PATCHES=(
+ "${FILESDIR}"/${P/_p*}-file-list-from-stdin.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+ dodoc olddoc/ChangeLog Hacking_of_LHa
+}
diff --git a/app-arch/lha/metadata.xml b/app-arch/lha/metadata.xml
index 6a172fe1fcf7..9840d61b592f 100644
--- a/app-arch/lha/metadata.xml
+++ b/app-arch/lha/metadata.xml
@@ -6,6 +6,7 @@
<name>James Le Cuirot</name>
</maintainer>
<upstream>
- <remote-id type="sourceforge-jp">lha</remote-id>
+ <remote-id type="github">jca02266/lha</remote-id>
+ <remote-id type="osdn">lha</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/libarchive/Manifest b/app-arch/libarchive/Manifest
index 3a03eb163b0c..2baf43a36402 100644
--- a/app-arch/libarchive/Manifest
+++ b/app-arch/libarchive/Manifest
@@ -1 +1,6 @@
-DIST libarchive-3.5.2.tar.gz 7054934 BLAKE2B 1fc6ee0166573658dc5e0f170113c07ecdaa76b287cbf68bdee63ccd198dad615b3f2803a3fc1aed303cd1f7f32033e6d8e782ef6a8a991562cdc2a375894c9e SHA512 2003ec9b24086373451bd7317bdab86d81627f087c14a6f7df1a92e131a216749f9aa352504c3d04dc82b62078b59aeea5aad5543b7e6c1c21fcafa2955d3762
+DIST libarchive-3.7.2.tar.xz 5237056 BLAKE2B 7221db4811a965ee61d879a2603480363628a19995a351b572d099be9f35576d76f0b0822f9a5a47d9929bc094d4444fd8eafcb4a073e39bb3aa797d4b926ca5 SHA512 a21bebb27b808cb7d2ed13a70739904a1b7b55661d8dea83c9897a0129cf71e20c962f13666c571782ff0f4f753ca885619c2097d9e7691c2dee4e6e4b9a2971
+DIST libarchive-3.7.2.tar.xz.asc 659 BLAKE2B 7141baf007b89b7ee38ec817b648cef5efb4d694953fcd49f6ed2dc95cf4da2d9259262b9eb4f01ff5d4ecee1257b266a8c6687a8e8ef8790121048229f1ad22 SHA512 c2ce850088245d7723720737d74d1cc1819984d01b3f9e4ed96b0757f4c6d6d511b78792181a12400c563632d74edcd0c2c3a4b7527cba40ada7ef74488078fc
+DIST libarchive-3.7.3.tar.xz 5428992 BLAKE2B c53672c8cdbe8f406f00bf4fc6b36e4dffcd23a33909dbec6ef06b86dceefc6062840eff629ba3bd19c36121720e16a8ba10dfa1a35ebed186cc92eb144f55d0 SHA512 984e7c61010b9555bafe54d5f52ff2d089e28afe5cea3a14615e2aca8539075293789d18f17f8915882ec328bcbdca7b3d1536d6dc19620ca226e8b6d802ef63
+DIST libarchive-3.7.3.tar.xz.asc 659 BLAKE2B bfe18e36ef2e96ad46ab2cd1236701b4b80f41ebb840681c1baf7eac72f38444cc0619645fac17d3acdda6553b294483d87f0a92d9575138d117934e838d85d2 SHA512 9f340b41fc9db34f1c4e0823d559b666196d3031249e05981cfb43a401aa8a85710f14ba1cc784ab3ca367439e4c485668dffe7020f38f50b3ed35810df504a1
+DIST libarchive-3.7.4.tar.xz 5417660 BLAKE2B 128f72235da61e112201046c0cfe62a8c580cf73b426c4cfe270ae913356f6ad430ba33a663dcd617b082c7baf45ada8d1c9928c45fea16fd57e8020693a60bc SHA512 84bc346ba15861ab10aa54a3d687de955178e4efbe12bf3a49a467181e7f819673949f131f4c8338de8ed6e319a8565af376e5a540380bda08e60dffbc7c8686
+DIST libarchive-3.7.4.tar.xz.asc 659 BLAKE2B 77e705194f6e9a9f97da0ac43c9b3157e1a8a490d26da34079e4ef3f2bcf98d6f6e95567e110287fab0ec26d3fc27e5bbeff7569c9ca138de2caf47af737c6d0 SHA512 82caa18a78661ea717ce93cdcb0806eed48450c20fb4d45cb4c33001f2d4d0fb5a791552acbb24ad8c41772e1d0b66c76c9cb86946bc862109721a0c986f5331
diff --git a/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch b/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch
deleted file mode 100644
index 8f540e4aa07b..000000000000
--- a/app-arch/libarchive/files/libarchive-3.5.0-darwin-strnlen.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://github.com/macports/macports-ports/blob/master/archivers/libarchive/files/patch-libarchive-3.5-strnlen.diff
-
-next release should have a fix for this
-
---- a/libarchive/archive_read_support_format_mtree.c
-+++ b/libarchive/archive_read_support_format_mtree.c
-@@ -65,6 +65,20 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_mtree.c 2011
- #define O_CLOEXEC 0
- #endif
-
-+#ifdef __APPLE__
-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070
-+static size_t strnlen(const char *s, size_t maxlen) {
-+ size_t l = 0;
-+ while (l < maxlen && *s) {
-+ l++;
-+ s++;
-+ }
-+ return l;
-+}
-+#endif
-+#endif
-+
-+
- #define MTREE_HAS_DEVICE 0x0001
- #define MTREE_HAS_FFLAGS 0x0002
- #define MTREE_HAS_GID 0x0004
diff --git a/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch b/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch
new file mode 100644
index 000000000000..5f43c2626735
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.2-32bit-test.patch
@@ -0,0 +1,29 @@
+From 3bd918d92f8c34ba12de9c6604d96f9e262a59fc Mon Sep 17 00:00:00 2001
+From: Martin Matuska <martin@matuska.de>
+Date: Tue, 12 Sep 2023 08:54:47 +0200
+Subject: [PATCH] tests: fix zstd long option test for 32-bit architectures
+
+Fixes #1968
+---
+ libarchive/test/test_write_filter_zstd.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libarchive/test/test_write_filter_zstd.c b/libarchive/test/test_write_filter_zstd.c
+index 3cdbd812a..c9731f1b6 100644
+--- a/libarchive/test/test_write_filter_zstd.c
++++ b/libarchive/test/test_write_filter_zstd.c
+@@ -161,8 +161,12 @@ DEFINE_TEST(test_write_filter_zstd)
+ archive_write_set_filter_option(a, NULL, "max-frame-size", "1048576"));
+ #endif
+ #if ZSTD_VERSION_NUMBER >= MINVER_LONG
+- assertEqualIntA(a, ARCHIVE_OK,
+- archive_write_set_filter_option(a, NULL, "long", "27"));
++ if ((int)(sizeof(size_t) == 4))
++ assertEqualIntA(a, ARCHIVE_OK,
++ archive_write_set_filter_option(a, NULL, "long", "26"));
++ else
++ assertEqualIntA(a, ARCHIVE_OK,
++ archive_write_set_filter_option(a, NULL, "long", "27"));
+ assertEqualIntA(a, ARCHIVE_FAILED,
+ archive_write_set_filter_option(a, NULL, "long", "-1")); /* negative */
+ #endif
diff --git a/app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch b/app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch
new file mode 100644
index 000000000000..f05b46c1a340
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.2-lrzip.patch
@@ -0,0 +1,26 @@
+diff --git a/libarchive/archive_read_support_filter_lrzip.c b/libarchive/archive_read_support_filter_lrzip.c
+index a562d538..f3ec40c4 100644
+--- a/libarchive/archive_read_support_filter_lrzip.c
++++ b/libarchive/archive_read_support_filter_lrzip.c
+@@ -109,7 +109,7 @@ lrzip_bidder_init(struct archive_read_filter *self)
+ {
+ int r;
+
+- r = __archive_read_program(self, "lrzip -d -q");
++ r = __archive_read_program(self, "lrzip -d -Q");
+ /* Note: We set the format here even if __archive_read_program()
+ * above fails. We do, after all, know what the format is
+ * even if we weren't able to read it. */
+diff --git a/libarchive/archive_write_add_filter_lrzip.c b/libarchive/archive_write_add_filter_lrzip.c
+index fe974c93..8fe498dd 100644
+--- a/libarchive/archive_write_add_filter_lrzip.c
++++ b/libarchive/archive_write_add_filter_lrzip.c
+@@ -133,7 +133,7 @@ archive_write_lrzip_open(struct archive_write_filter *f)
+ int r;
+
+ archive_string_init(&as);
+- archive_strcpy(&as, "lrzip -q");
++ archive_strcpy(&as, "lrzip -Q");
+
+ /* Specify compression type. */
+ switch (data->compression) {
diff --git a/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch b/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch
new file mode 100644
index 000000000000..6a351ba37fea
--- /dev/null
+++ b/app-arch/libarchive/files/libarchive-3.7.2-safe-fprintf.patch
@@ -0,0 +1,27 @@
+From 6110e9c82d8ba830c3440f36b990483ceaaea52c Mon Sep 17 00:00:00 2001
+From: Ed Maste <emaste@freebsd.org>
+Date: Fri, 29 Mar 2024 18:02:06 -0400
+Subject: [PATCH] tar: make error reporting more robust and use correct errno
+ (#2101)
+
+As discussed in #1609.
+---
+ tar/read.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tar/read.c b/tar/read.c
+index af3d3f423..a7f14a07b 100644
+--- a/tar/read.c
++++ b/tar/read.c
+@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
+ if (r != ARCHIVE_OK) {
+ if (!bsdtar->verbose)
+ safe_fprintf(stderr, "%s", archive_entry_pathname(entry));
+- fprintf(stderr, ": %s: ", archive_error_string(a));
+- fprintf(stderr, "%s", strerror(errno));
++ safe_fprintf(stderr, ": %s: %s",
++ archive_error_string(a),
++ strerror(archive_errno(a)));
+ if (!bsdtar->verbose)
+ fprintf(stderr, "\n");
+ bsdtar->return_value = 1;
diff --git a/app-arch/libarchive/libarchive-3.5.2.ebuild b/app-arch/libarchive/libarchive-3.7.2-r1.ebuild
index 4693ba4bc318..3ca312b679f8 100644
--- a/app-arch/libarchive/libarchive-3.5.2.ebuild
+++ b/app-arch/libarchive/libarchive-3.7.2-r1.ebuild
@@ -1,19 +1,30 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit libtool multilib-minimal toolchain-funcs
+EAPI=8
+inherit multilib-minimal toolchain-funcs verify-sig
DESCRIPTION="Multi-format archive and compression library"
-HOMEPAGE="https://www.libarchive.org/"
-SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
LICENSE="BSD BSD-2 BSD-4 public-domain"
SLOT="0/13"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl blake2 +bzip2 +e2fsprogs expat +iconv kernel_linux lz4 +lzma lzo nettle static-libs xattr +zlib zstd"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
+ static-libs test xattr +zstd
+"
+RESTRICT="!test? ( test )"
RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
acl? ( virtual/acl[${MULTILIB_USEDEP}] )
blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
@@ -28,23 +39,39 @@ RDEPEND="
lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
- zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )"
+ zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
+"
DEPEND="${RDEPEND}
kernel_linux? (
virtual/os-headers
- e2fsprogs? ( sys-fs/e2fsprogs )
- )"
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ )
+ test? (
+ lzma? ( app-arch/xz-utils[extra-filters(+)] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
PATCHES=(
- "${FILESDIR}"/${PN}-3.5.0-darwin-strnlen.patch # drop on next release
+ # https://github.com/libarchive/libarchive/issues/1968
+ "${FILESDIR}/${P}-32bit-test.patch"
+ # https://github.com/libarchive/libarchive/issues/2069
+ # (we can simply update the command since we don't support old lrzip)
+ "${FILESDIR}/${P}-lrzip.patch"
)
-src_prepare() {
- default
- elibtoolize # is required for Solaris sol2_ld linker fix
-}
-
multilib_src_configure() {
export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
@@ -61,7 +88,7 @@ multilib_src_configure() {
$(use_with lzma)
$(use_with lzo lzo2)
$(use_with nettle)
- $(use_with zlib)
+ --with-zlib
$(use_with zstd)
# Windows-specific
@@ -69,15 +96,17 @@ multilib_src_configure() {
)
if multilib_is_native_abi ; then
myconf+=(
- --enable-bsdcat=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdcpio=$(tc-is-static-only && echo static || echo shared)
- --enable-bsdtar=$(tc-is-static-only && echo static || echo shared)
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
)
else
myconf+=(
--disable-bsdcat
--disable-bsdcpio
--disable-bsdtar
+ --disable-bsdunzip
)
fi
@@ -112,16 +141,6 @@ multilib_src_test() {
multilib_src_install() {
if multilib_is_native_abi ; then
emake DESTDIR="${D}" install
-
- # Create symlinks for FreeBSD
- if ! use prefix && [[ ${CHOST} == *-freebsd* ]]; then
- # Exclude cat for the time being #589876
- for bin in cpio tar; do
- dosym bsd${bin} /usr/bin/${bin}
- echo '.so bsd${bin}.1' > "${T}"/${bin}.1
- doman "${T}"/${bin}.1
- done
- fi
else
local install_targets=(
install-includeHEADERS
@@ -133,4 +152,7 @@ multilib_src_install() {
# Libs.private: should be used from libarchive.pc instead
find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
}
diff --git a/app-arch/libarchive/libarchive-3.7.2-r3.ebuild b/app-arch/libarchive/libarchive-3.7.2-r3.ebuild
new file mode 100644
index 000000000000..476a896e4be3
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.7.2-r3.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit libtool multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Multi-format archive and compression library"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
+ static-libs test xattr +zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ )
+ test? (
+ app-arch/lrzip
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/xz-utils
+ app-arch/zstd
+ lzma? ( app-arch/xz-utils[extra-filters(+)] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
+
+PATCHES=(
+ # https://github.com/libarchive/libarchive/issues/1968
+ "${FILESDIR}/${P}-32bit-test.patch"
+ # https://github.com/libarchive/libarchive/issues/2069
+ # (we can simply update the command since we don't support old lrzip)
+ "${FILESDIR}/${P}-lrzip.patch"
+ # https://github.com/libarchive/libarchive/pull/2101
+ "${FILESDIR}/${P}-safe-fprintf.patch"
+)
+
+src_prepare() {
+ default
+
+ # Needed for flags to be respected w/ LTO
+ elibtoolize
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with blake2 libb2)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ --with-zlib
+ $(use_with zstd)
+
+ # Windows-specific
+ --without-cng
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ --disable-bsdunzip
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+src_test() {
+ mkdir -p "${T}"/bin || die
+ # tests fail when lbzip2[symlink] is used in place of ref bunzip2
+ ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
+ # workaround lrzip broken on 32-bit arches with >= 10 threads
+ # https://bugs.gentoo.org/927766
+ cat > "${T}"/bin/lrzip <<-EOF || die
+ #!/bin/sh
+ exec "$(type -P lrzip)" -p1 "\${@}"
+ EOF
+ chmod +x "${T}/bin/lrzip" || die
+ local -x PATH=${T}/bin:${PATH}
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ # sandbox is breaking long symlink behavior
+ local -x SANDBOX_ON=0
+ local -x LD_PRELOAD=
+ # some locales trigger different output that breaks tests
+ local -x LC_ALL=C
+ emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
+}
diff --git a/app-arch/libarchive/libarchive-3.7.3.ebuild b/app-arch/libarchive/libarchive-3.7.3.ebuild
new file mode 100644
index 000000000000..073f78ef0d2c
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.7.3.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit libtool multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Multi-format archive and compression library"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
+ static-libs test xattr +zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ )
+ test? (
+ app-arch/lrzip
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/xz-utils
+ app-arch/zstd
+ lzma? ( app-arch/xz-utils[extra-filters(+)] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
+
+PATCHES=(
+ # https://github.com/libarchive/libarchive/issues/2069
+ # (we can simply update the command since we don't support old lrzip)
+ "${FILESDIR}/${PN}-3.7.2-lrzip.patch"
+)
+
+src_prepare() {
+ default
+
+ # Needed for flags to be respected w/ LTO
+ elibtoolize
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with blake2 libb2)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ --with-zlib
+ $(use_with zstd)
+
+ # Windows-specific
+ --without-cng
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ --disable-bsdunzip
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+src_test() {
+ mkdir -p "${T}"/bin || die
+ # tests fail when lbzip2[symlink] is used in place of ref bunzip2
+ ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
+ # workaround lrzip broken on 32-bit arches with >= 10 threads
+ # https://bugs.gentoo.org/927766
+ cat > "${T}"/bin/lrzip <<-EOF || die
+ #!/bin/sh
+ exec "$(type -P lrzip)" -p1 "\${@}"
+ EOF
+ chmod +x "${T}/bin/lrzip" || die
+ local -x PATH=${T}/bin:${PATH}
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ # sandbox is breaking long symlink behavior
+ local -x SANDBOX_ON=0
+ local -x LD_PRELOAD=
+ # some locales trigger different output that breaks tests
+ local -x LC_ALL=C.UTF-8
+ emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
+}
diff --git a/app-arch/libarchive/libarchive-3.7.4.ebuild b/app-arch/libarchive/libarchive-3.7.4.ebuild
new file mode 100644
index 000000000000..4e1429fdc70c
--- /dev/null
+++ b/app-arch/libarchive/libarchive-3.7.4.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit libtool multilib-minimal toolchain-funcs verify-sig
+
+DESCRIPTION="Multi-format archive and compression library"
+HOMEPAGE="
+ https://www.libarchive.org/
+ https://github.com/libarchive/libarchive/
+"
+SRC_URI="
+ https://www.libarchive.de/downloads/${P}.tar.xz
+ verify-sig? ( https://www.libarchive.de/downloads/${P}.tar.xz.asc )
+"
+
+LICENSE="BSD BSD-2 BSD-4 public-domain"
+SLOT="0/13"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="
+ acl blake2 +bzip2 +e2fsprogs expat +iconv lz4 +lzma lzo nettle
+ static-libs test xattr +zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ acl? ( virtual/acl[${MULTILIB_USEDEP}] )
+ blake2? ( app-crypt/libb2[${MULTILIB_USEDEP}] )
+ bzip2? ( app-arch/bzip2[${MULTILIB_USEDEP}] )
+ expat? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+ !expat? ( dev-libs/libxml2[${MULTILIB_USEDEP}] )
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )
+ kernel_linux? (
+ xattr? ( sys-apps/attr[${MULTILIB_USEDEP}] )
+ )
+ dev-libs/openssl:0=[${MULTILIB_USEDEP}]
+ lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
+ lzma? ( >=app-arch/xz-utils-5.2.5-r1[${MULTILIB_USEDEP}] )
+ lzo? ( >=dev-libs/lzo-2[${MULTILIB_USEDEP}] )
+ nettle? ( dev-libs/nettle:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ kernel_linux? (
+ virtual/os-headers
+ e2fsprogs? ( sys-fs/e2fsprogs[${MULTILIB_USEDEP}] )
+ )
+ test? (
+ app-arch/lrzip
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/xz-utils
+ app-arch/zstd
+ lzma? ( app-arch/xz-utils[extra-filters(+)] )
+ )
+"
+BDEPEND="
+ verify-sig? ( >=sec-keys/openpgp-keys-libarchive-20221209 )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libarchive.org.asc
+
+# false positives (checks for libc-defined hash functions)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ SHA256_Init SHA256_Update SHA256_Final
+ SHA384_Init SHA384_Update SHA384_Final
+ SHA512_Init SHA512_Update SHA512_Final
+)
+
+PATCHES=(
+ # https://github.com/libarchive/libarchive/issues/2069
+ # (we can simply update the command since we don't support old lrzip)
+ "${FILESDIR}/${PN}-3.7.2-lrzip.patch"
+)
+
+src_prepare() {
+ default
+
+ # Needed for flags to be respected w/ LTO
+ elibtoolize
+}
+
+multilib_src_configure() {
+ export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
+
+ local myconf=(
+ $(use_enable acl)
+ $(use_enable static-libs static)
+ $(use_enable xattr)
+ $(use_with blake2 libb2)
+ $(use_with bzip2 bz2lib)
+ $(use_with expat)
+ $(use_with !expat xml2)
+ $(use_with iconv)
+ $(use_with lz4)
+ $(use_with lzma)
+ $(use_with lzo lzo2)
+ $(use_with nettle)
+ --with-zlib
+ $(use_with zstd)
+
+ # Windows-specific
+ --without-cng
+ )
+ if multilib_is_native_abi ; then
+ myconf+=(
+ --enable-bsdcat="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdcpio="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdtar="$(tc-is-static-only && echo static || echo shared)"
+ --enable-bsdunzip="$(tc-is-static-only && echo static || echo shared)"
+ )
+ else
+ myconf+=(
+ --disable-bsdcat
+ --disable-bsdcpio
+ --disable-bsdtar
+ --disable-bsdunzip
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi ; then
+ emake
+ else
+ emake libarchive.la
+ fi
+}
+
+src_test() {
+ mkdir -p "${T}"/bin || die
+ # tests fail when lbzip2[symlink] is used in place of ref bunzip2
+ ln -s "${BROOT}/bin/bunzip2" "${T}"/bin || die
+ # workaround lrzip broken on 32-bit arches with >= 10 threads
+ # https://bugs.gentoo.org/927766
+ cat > "${T}"/bin/lrzip <<-EOF || die
+ #!/bin/sh
+ exec "$(type -P lrzip)" -p1 "\${@}"
+ EOF
+ chmod +x "${T}/bin/lrzip" || die
+ local -x PATH=${T}/bin:${PATH}
+ multilib-minimal_src_test
+}
+
+multilib_src_test() {
+ # sandbox is breaking long symlink behavior
+ local -x SANDBOX_ON=0
+ local -x LD_PRELOAD=
+ # some locales trigger different output that breaks tests
+ local -x LC_ALL=C.UTF-8
+ emake check
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi ; then
+ emake DESTDIR="${D}" install
+ else
+ local install_targets=(
+ install-includeHEADERS
+ install-libLTLIBRARIES
+ install-pkgconfigDATA
+ )
+ emake DESTDIR="${D}" "${install_targets[@]}"
+ fi
+
+ # Libs.private: should be used from libarchive.pc instead
+ find "${ED}" -type f -name "*.la" -delete || die
+ # https://github.com/libarchive/libarchive/issues/1766
+ sed -e '/Requires\.private/s:iconv::' \
+ -i "${ED}/usr/$(get_libdir)/pkgconfig/libarchive.pc" || die
+}
diff --git a/app-arch/libarchive/metadata.xml b/app-arch/libarchive/metadata.xml
index d3de9d873aa0..a8ad4ecadcd9 100644
--- a/app-arch/libarchive/metadata.xml
+++ b/app-arch/libarchive/metadata.xml
@@ -24,13 +24,6 @@
<flag name="nettle">
Use <pkg>dev-libs/nettle</pkg> as crypto backend
</flag>
- <flag name="zlib">
- Allow accessing gzip-compressed archives through
- <pkg>sys-libs/zlib</pkg>. This only affects libarchive's native
- support: bsdtar will keep using gunzip as a filter if that's not
- built-in. It's also needed for supporting extraction of ZIP
- files.
- </flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:libarchive:libarchive</remote-id>
diff --git a/app-arch/libdeflate/Manifest b/app-arch/libdeflate/Manifest
new file mode 100644
index 000000000000..280c6644dba1
--- /dev/null
+++ b/app-arch/libdeflate/Manifest
@@ -0,0 +1,2 @@
+DIST libdeflate-1.19.tar.gz 187684 BLAKE2B 6d3c58b4095f91f64c25e09a062f1d7e68cd43b4dffc2de6484cd941ede4bffd8a82dd3af08eda6c94ad4120d40809c1d6a1814c28bad5387dfbaad418b93070 SHA512 fe57542a0d28ad61d70bef9b544bb6805f9f30930b16432712b3b1caab041f1f4e64315a4306a0635b96c2632239c5af0e45a3915581d0b89975729fc2e95613
+DIST libdeflate-1.20.tar.gz 194212 BLAKE2B b3633f1068f36bf346e1f435c67259612ad5ed1571e83f1bbc4a58c6a67b3eadca85e0abb2d2d47f180dd2ff01c5891c8b3958a63ddbcc2447106f2e5cb3c0fe SHA512 5ebe6af9ce81872cba508d1f0aa087ddeb0e0f0c8e6360da66b8a9db2a76203dafbf3d3f6b3b791618ea9c6d0231fab5b4a55badb31a4480fb4174b9445c658b
diff --git a/app-arch/libdeflate/files/libdeflate-1.19-make-gzip-tests-conditional.patch b/app-arch/libdeflate/files/libdeflate-1.19-make-gzip-tests-conditional.patch
new file mode 100644
index 000000000000..ae290f3f69d2
--- /dev/null
+++ b/app-arch/libdeflate/files/libdeflate-1.19-make-gzip-tests-conditional.patch
@@ -0,0 +1,37 @@
+Only build these when the user enables zlib and gzip support
+diff --git a/programs/CMakeLists.txt b/programs/CMakeLists.txt
+index e707a25..fcfaf12 100644
+--- a/programs/CMakeLists.txt
++++ b/programs/CMakeLists.txt
+@@ -80,22 +80,28 @@ if(LIBDEFLATE_BUILD_TESTS)
+ target_link_libraries(libdeflate_test_utils PUBLIC
+ libdeflate_prog_utils ZLIB::ZLIB)
+
++ if(LIBDEFLATE_GZIP_SUPPORT AND LIBDEFLATE_ZLIB_SUPPORT)
+ # Build the benchmark and checksum programs.
+ add_executable(benchmark benchmark.c)
+ target_link_libraries(benchmark PRIVATE libdeflate_test_utils)
+ add_executable(checksum checksum.c)
+ target_link_libraries(checksum PRIVATE libdeflate_test_utils)
++ endif()
+
+ # Build the unit test programs and register them with CTest.
+ set(UNIT_TEST_PROGS
+- test_checksums
+ test_custom_malloc
+ test_incomplete_codes
+ test_invalid_streams
+ test_litrunlen_overflow
+ test_overread
+ test_slow_decompression
+- test_trailing_bytes
+ )
++ if(LIBDEFLATE_GZIP_SUPPORT AND LIBDEFLATE_ZLIB_SUPPORT)
++ list(APPEND UNIT_TEST_PROGS
++ test_checksums
++ test_trailing_bytes
++ )
++ endif()
+ foreach(PROG ${UNIT_TEST_PROGS})
+ add_executable(${PROG} ${PROG}.c)
+ target_link_libraries(${PROG} PRIVATE libdeflate_test_utils)
diff --git a/app-arch/libdeflate/libdeflate-1.19.ebuild b/app-arch/libdeflate/libdeflate-1.19.ebuild
new file mode 100644
index 000000000000..b637d83a6dfe
--- /dev/null
+++ b/app-arch/libdeflate/libdeflate-1.19.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Heavily optimized DEFLATE/zlib/gzip (de)compression"
+HOMEPAGE="https://github.com/ebiggers/libdeflate"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git"
+else
+ SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+# the zlib USE-flag enables support for zlib
+# the test USE-flag programs depend on sys-libs/zlib for comparison tests
+IUSE="+gzip +utils +zlib test"
+
+RESTRICT="
+ !test? ( test )
+"
+
+REQUIRED_USE="
+ utils? ( gzip )
+"
+
+DEPEND="
+ test? ( sys-libs/zlib )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.19-make-gzip-tests-conditional.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBDEFLATE_BUILD_SHARED_LIB="yes"
+ -DLIBDEFLATE_BUILD_STATIC_LIB="no"
+ -DLIBDEFLATE_USE_SHARED_LIB="yes"
+
+ -DLIBDEFLATE_COMPRESSION_SUPPORT="yes"
+ -DLIBDEFLATE_DECOMPRESSION_SUPPORT="yes"
+
+ -DLIBDEFLATE_BUILD_GZIP="$(usex gzip "$(usex utils)" )"
+ -DLIBDEFLATE_GZIP_SUPPORT="$(usex gzip)"
+
+ -DLIBDEFLATE_ZLIB_SUPPORT="$(usex zlib)"
+
+ -DLIBDEFLATE_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/libdeflate/libdeflate-1.20.ebuild b/app-arch/libdeflate/libdeflate-1.20.ebuild
new file mode 100644
index 000000000000..19e1b432a064
--- /dev/null
+++ b/app-arch/libdeflate/libdeflate-1.20.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Heavily optimized DEFLATE/zlib/gzip (de)compression"
+HOMEPAGE="https://github.com/ebiggers/libdeflate"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git"
+else
+ SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+# the zlib USE-flag enables support for zlib
+# the test USE-flag programs depend on sys-libs/zlib for comparison tests
+IUSE="+gzip +utils +zlib test"
+
+RESTRICT="
+ !test? ( test )
+"
+
+REQUIRED_USE="
+ utils? ( gzip )
+"
+
+DEPEND="
+ test? ( sys-libs/zlib )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.19-make-gzip-tests-conditional.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBDEFLATE_BUILD_SHARED_LIB="yes"
+ -DLIBDEFLATE_BUILD_STATIC_LIB="no"
+ -DLIBDEFLATE_USE_SHARED_LIB="yes"
+
+ -DLIBDEFLATE_COMPRESSION_SUPPORT="yes"
+ -DLIBDEFLATE_DECOMPRESSION_SUPPORT="yes"
+
+ -DLIBDEFLATE_BUILD_GZIP="$(usex gzip "$(usex utils)" )"
+ -DLIBDEFLATE_GZIP_SUPPORT="$(usex gzip)"
+
+ -DLIBDEFLATE_ZLIB_SUPPORT="$(usex zlib)"
+
+ -DLIBDEFLATE_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/libdeflate/libdeflate-9999.ebuild b/app-arch/libdeflate/libdeflate-9999.ebuild
new file mode 100644
index 000000000000..2ed3a652def2
--- /dev/null
+++ b/app-arch/libdeflate/libdeflate-9999.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Heavily optimized DEFLATE/zlib/gzip (de)compression"
+HOMEPAGE="https://github.com/ebiggers/libdeflate"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ebiggers/libdeflate.git"
+else
+ SRC_URI="https://github.com/ebiggers/libdeflate/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+# the zlib USE-flag enables support for zlib
+# the test USE-flag programs depend on sys-libs/zlib for comparison tests
+IUSE="+gzip +utils +zlib test"
+
+RESTRICT="
+ !test? ( test )
+"
+
+REQUIRED_USE="
+ utils? ( gzip )
+"
+
+DEPEND="
+ test? ( sys-libs/zlib )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.19-make-gzip-tests-conditional.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DLIBDEFLATE_BUILD_SHARED_LIB="yes"
+ -DLIBDEFLATE_BUILD_STATIC_LIB="no"
+ -DLIBDEFLATE_USE_SHARED_LIB="yes"
+
+ -DLIBDEFLATE_COMPRESSION_SUPPORT="yes"
+ -DLIBDEFLATE_DECOMPRESSION_SUPPORT="yes"
+
+ -DLIBDEFLATE_BUILD_GZIP="$(usex gzip "$(usex utils)" )"
+ -DLIBDEFLATE_GZIP_SUPPORT="$(usex gzip)"
+
+ -DLIBDEFLATE_ZLIB_SUPPORT="$(usex zlib)"
+
+ -DLIBDEFLATE_BUILD_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/libdeflate/metadata.xml b/app-arch/libdeflate/metadata.xml
new file mode 100644
index 000000000000..17956aa98f85
--- /dev/null
+++ b/app-arch/libdeflate/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-wanted -->
+ <maintainer type="person" proxied="yes">
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="gzip">Support the gzip format</flag>
+ <flag name="test">Build the test programs (requires <pkg>sys-libs/zlib</pkg>)</flag>
+ <flag name="utils">Build the libdeflate-gzip program</flag>
+ <flag name="zlib">Support the zlib format</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ebiggers/libdeflate</remote-id>
+ </upstream>
+</pkgmetadata> \ No newline at end of file
diff --git a/app-arch/lrzip-next/Manifest b/app-arch/lrzip-next/Manifest
new file mode 100644
index 000000000000..256514f707f8
--- /dev/null
+++ b/app-arch/lrzip-next/Manifest
@@ -0,0 +1 @@
+DIST lrzip-next-0.12.6.tar.gz 600081 BLAKE2B 952b3aefcf424b4626f14caaefc7b160a271330903227207cec249306750dfd24097abfdae159d82dc86e08711f51789ca72bcc66b6d7f4bdd9b892133759dae SHA512 768edaa4059e7a5561a738779cca5e5c46525c0a3f5888fc4e730fe6664f390fa8409060c86076b4b4cc327e317c37d59d557a55db67d97d39da6369788763c8
diff --git a/app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild b/app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild
new file mode 100644
index 000000000000..e218f7e3e4fe
--- /dev/null
+++ b/app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit autotools
+
+DESCRIPTION="Fork of Con Kolivas' lrzip program for compressing large files"
+HOMEPAGE="https://github.com/pete4abw/lrzip-next"
+SRC_URI="https://github.com/pete4abw/lrzip-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="asm static-libs year2038"
+
+RDEPEND="app-arch/bzip2
+ app-arch/bzip3
+ app-arch/lz4
+ app-arch/zstd
+ dev-libs/libgcrypt
+ dev-libs/libgpg-error
+ dev-libs/lzo
+ sys-libs/zlib"
+DEPEND="${RDEPEND}"
+BDEPEND="amd64? ( dev-lang/nasm )"
+
+src_prepare() {
+ default
+
+ # configure.ac uses a small helper script, ./util/gitdesc.sh, to
+ # see if it's a tarball or git repo copy. If tarball, it extracts
+ # the version information from a local VERSION file and puts it into
+ # configure.ac at the top for major/minor/micro. To avoid the need
+ # for a BDEPEND on dev-vcs/git, we can do this directly.
+ local major=$(awk '/Major: / {printf "%s",$2; exit}' VERSION)
+ local minor=$(awk '/Minor: / {printf "%s",$2; exit}' VERSION)
+ local micro=$(awk '/Micro: / {printf "%s",$2; exit}' VERSION)
+ sed -i -e "s:\[m4_esyscmd_s(\[./util/gitdesc.sh major\])\]:${major}:" configure.ac
+ sed -i -e "s:\[m4_esyscmd_s(\[./util/gitdesc.sh minor\])\]:${minor}:" configure.ac
+ sed -i -e "s:\[m4_esyscmd_s(\[./util/gitdesc.sh micro\])\]:${micro}:" configure.ac
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable static-libs static) \
+ $(use_enable amd64 asm)
+ )
+
+ # This configure switch disappears on a musl system for some
+ # reason. However, this package is currently broken on musl,
+ # but we'll leave this in place while we see if upstream has
+ # any advice.
+ if ! use elibc_musl; then
+ myconf+=( $(use_enable year2038) )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/app-arch/lrzip-next/metadata.xml b/app-arch/lrzip-next/metadata.xml
new file mode 100644
index 000000000000..d0dea613ffd3
--- /dev/null
+++ b/app-arch/lrzip-next/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kumba@gentoo.org</email>
+ <name>Joshua Kinard</name>
+ </maintainer>
+ <longdescription>
+ A fork of Con Kolivas' 'lrzip' program that is actively maintained. Lrzip
+ is a compression program optimised for large files. The larger the file and
+ the more memory you have, the better the compression advantage this will
+ provide, especially once the files are larger than 100MB. The advantage can
+ be chosen to be either size (much smaller than bzip2) or speed (much faster
+ than bzip2).
+ </longdescription>
+ <upstream>
+ <remote-id type="github">pete4abw/lrzip-next</remote-id>
+ </upstream>
+ <use>
+ <flag name="year2038">Enables support for timestamps after the year 2038</flag>
+ </use>
+</pkgmetadata>
diff --git a/app-arch/lrzip/Manifest b/app-arch/lrzip/Manifest
index 82812d245266..4d81e8d9358a 100644
--- a/app-arch/lrzip/Manifest
+++ b/app-arch/lrzip/Manifest
@@ -1 +1 @@
-DIST lrzip-0.641.tar.gz 262761 BLAKE2B 5a81d9ca8b40c141c90488e9ffcd1dfd5bef3fe7cf9b02c00b9382cd902ef8cd891401f21c9cdd5d5750daf639c05a1e6f1f010fcbf42a9cdaa4f11921fac783 SHA512 cb14dda15485faa24cb840dd94ecd4741bd47464770ae8b27f97b5c263d8a32e40ceb17b288f0f70426598ef2acf84b091593fc8cf7a0f2db0abde88d09a301f
+DIST lrzip-0.651.tar.gz 238854 BLAKE2B 2680867ccbee6ff669581017c9bb22db4d7eba0fda80b935bd088191809cb8baa833a03e7732cd1fe5a0487edfe577b34f34dcdcda121c114145bff9fc17ba79 SHA512 97671c4705bc06dfd037e38f4384a5ffaf2e3508da217406ac43642b88eae16576818a378bce519812204fecefbd6552a75fc3e74af729ab7b11724b7a6d1998
diff --git a/app-arch/lrzip/files/lrzip-0.631-solaris.patch b/app-arch/lrzip/files/lrzip-0.631-solaris.patch
deleted file mode 100644
index d8eb95e563d2..000000000000
--- a/app-arch/lrzip/files/lrzip-0.631-solaris.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/liblrzip.c
-+++ b/liblrzip.c
-@@ -36,7 +36,7 @@
- #include "lrzip_core.h"
- #include "rzip.h"
-
--#if defined(__APPLE__) || defined(__FreeBSD__)
-+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun) || defined(sun)
- # define fmemopen(s, len, modes) fake_fmemopen((s), (len), (modes))
- static FILE *fake_fmemopen(void *buf, size_t buflen, const char *mode)
- {
diff --git a/app-arch/lrzip/files/lrzip-missing-stdarg_h.patch b/app-arch/lrzip/files/lrzip-missing-stdarg_h.patch
deleted file mode 100644
index 8f427d46a6a1..000000000000
--- a/app-arch/lrzip/files/lrzip-missing-stdarg_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur Lrzip.h.orig Lrzip.h
---- a/Lrzip.h 2013-11-30 20:07:27.343086997 +0000
-+++ b/Lrzip.h 2013-11-30 20:07:44.072641056 +0000
-@@ -22,6 +22,7 @@
-
- #include <stdbool.h>
- #include <stdio.h>
-+#include <stdarg.h>
- #ifdef _WIN32
- # include <stddef.h>
- #else
diff --git a/app-arch/lrzip/lrzip-0.641-r1.ebuild b/app-arch/lrzip/lrzip-0.651.ebuild
index 6c8ec1c9d02f..6e0a4f4510ab 100644
--- a/app-arch/lrzip/lrzip-0.641-r1.ebuild
+++ b/app-arch/lrzip/lrzip-0.651.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools
@@ -11,25 +11,17 @@ SRC_URI="https://github.com/ckolivas/lrzip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
-RDEPEND="
- app-arch/bzip2
- dev-libs/lzo
+RDEPEND="app-arch/bzip2
app-arch/lz4
- sys-libs/zlib
-"
-DEPEND="
- ${RDEPEND}
- dev-perl/Pod-Parser
- x86? ( dev-lang/nasm )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-missing-stdarg_h.patch
- "${FILESDIR}"/${PN}-0.631-solaris.patch
-)
+ dev-libs/lzo
+ sys-libs/zlib"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-perl/Pod-Parser
+ amd64? ( dev-lang/nasm )
+ x86? ( dev-lang/nasm )"
src_prepare() {
default
@@ -38,7 +30,15 @@ src_prepare() {
}
src_configure() {
- econf $(use_enable static-libs static)
+ # ASM optimizations are only available on amd64 and x86, bug #829003
+ local asm=no
+ if use amd64 || use x86; then
+ asm=yes
+ fi
+
+ econf \
+ $(use_enable static-libs static) \
+ --enable-asm=${asm}
}
src_install() {
@@ -47,5 +47,5 @@ src_install() {
rm -f "${ED}"/usr/bin/lrz || die
rm -f "${ED}"/usr/share/man/man1/lrz.* || die
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/app-arch/lrzip/metadata.xml b/app-arch/lrzip/metadata.xml
index a6fb81439347..85eef5cdea59 100644
--- a/app-arch/lrzip/metadata.xml
+++ b/app-arch/lrzip/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
+ <maintainer type="person">
+ <email>kumba@gentoo.org</email>
+ <name>Joshua Kinard</name>
+ </maintainer>
<longdescription>
This is a compression program optimised for large files. The larger the
file and the more memory you have, the better the compression advantage
diff --git a/app-arch/lunzip/Manifest b/app-arch/lunzip/Manifest
new file mode 100644
index 000000000000..a0288d57857a
--- /dev/null
+++ b/app-arch/lunzip/Manifest
@@ -0,0 +1,2 @@
+DIST lunzip-1.14.tar.gz 69284 BLAKE2B 8ef63a5cfd0cf839889785845ec84b23451cb69b1e09c84526e000b82b73aaaa01b99407e87bde416ca2ab638d9f9688fcb37f77fd53e2a8e0875646a54d304c SHA512 2aa530c4ef7ebcfa345c8ac8701712e7f973ee4a92d34c33a03dd02a31d76507c919da373b64bc6b49b7868af8e4444d4b12bd71b8760e9b333c2a013ad95da1
+DIST lunzip-1.14.tar.gz.sig 72 BLAKE2B ab2ba6c265f197c322884898ae8ff5c8679ab8a1d2f71a2dfedcce9011e16fb723fd592b0edc3f48d540ad8d2578b799f28f9d609a7e26379e39e0cb7f908cc3 SHA512 38806848f904fb3700c908166a1ad2d601409fa13f1b0dc69372766b41a6f37ae0c5792964b8aae494320d47e603dc79f36b3fa7361ccf84b89835c14a6b7b11
diff --git a/app-arch/lunzip/lunzip-1.14.ebuild b/app-arch/lunzip/lunzip-1.14.ebuild
new file mode 100644
index 000000000000..11fb6199d603
--- /dev/null
+++ b/app-arch/lunzip/lunzip-1.14.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
+
+DESCRIPTION="Decompressor for the lzip format, written in C"
+HOMEPAGE="https://www.nongnu.org/lzip/lunzip.html"
+SRC_URI="https://download.savannah.gnu.org/releases/lzip/lunzip/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz.sig )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
+
+src_configure() {
+ # not autotools-based
+ local myconf=(
+ --prefix="${EPREFIX}"/usr
+ CC="$(tc-getCC)"
+ CPPFLAGS="${CPPFLAGS}"
+ CFLAGS="${CFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ )
+
+ ./configure "${myconf[@]}" || die
+}
diff --git a/app-arch/lunzip/metadata.xml b/app-arch/lunzip/metadata.xml
new file mode 100644
index 000000000000..076793e3f54b
--- /dev/null
+++ b/app-arch/lunzip/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-arch/lxqt-archiver/Manifest b/app-arch/lxqt-archiver/Manifest
index 39419574052b..2d13fc201bcd 100644
--- a/app-arch/lxqt-archiver/Manifest
+++ b/app-arch/lxqt-archiver/Manifest
@@ -1 +1,2 @@
-DIST lxqt-archiver-0.4.0.tar.xz 167124 BLAKE2B 2d9295200c284e2dc0c2b538a92952dd0a11882211e5d1d5838141583b4a595b65c26a057e5c9733190182a5f78958e15d0e086356d75dd4e0c72d3510a34cfc SHA512 e1b323cd118af3726009e153c4f9766ec53b29fa0280530da16e2101d36ec45b55de0fe3d87c1386a4e5b3d88712fd209659b4ebb9344af689812600ae136ed6
+DIST lxqt-archiver-0.9.0.tar.xz 183352 BLAKE2B 60443b7f4407b85bc1233f00ad2e46861c17281331d3b611021ca14be2e159befa0c8303d51b9021d35aa246d4fd9138ceb4f4b19cd6143438f8c3b976f9c40d SHA512 42ee097ae7fb17dbd00d9b94e8673664911c73bb5f353d08177c78d548eb24c39aa1daf57347eeefcb46ec63a8702c37f63ca2b42fd22bc85aed8f7a41585f3c
+DIST lxqt-archiver-0.9.1.tar.xz 186600 BLAKE2B 365b849578f9f663ed7628c52c4c7205af10ea255dd131a94a6960c581111e02fedee01be0bd674d1ef71c9648cc5a58de1b548c972eb415cfae990e7045cfb4 SHA512 fd7862c85f6f93c870a4b28d2ed3705fcc0431e9b4d887f4fab6d860eddc5fe99d8a4c2f7cd2957c34d72b74a11b8eec49bbcca40dfee11f20f6a39f37e9ee00
diff --git a/app-arch/lxqt-archiver/lxqt-archiver-0.4.0.ebuild b/app-arch/lxqt-archiver/lxqt-archiver-0.9.0.ebuild
index d677be578265..91f86ad18d8d 100644
--- a/app-arch/lxqt-archiver/lxqt-archiver-0.4.0.ebuild
+++ b/app-arch/lxqt-archiver/lxqt-archiver-0.9.0.ebuild
@@ -1,40 +1,44 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+MY_PV="$(ver_cut 1-2)"
inherit cmake xdg-utils
DESCRIPTION="Qt GUI File Archiver"
-HOMEPAGE="https://lxqt.github.io/"
+HOMEPAGE="https://lxqt-project.org/"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~riscv x86"
+ KEYWORDS="amd64 ~loong ~riscv x86"
fi
LICENSE="GPL-2 GPL-2+"
SLOT="0"
BDEPEND="
- dev-qt/linguist-tools:5
- >=dev-util/lxqt-build-tools-0.9.0
+ >=dev-qt/linguist-tools-5.15:5
+ >=dev-util/lxqt-build-tools-0.13.0
"
DEPEND="
+ dev-libs/glib:2
dev-libs/json-glib
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- >=x11-libs/libfm-qt-0.17.0
+ >=dev-qt/qtcore-5.15:5
+ >=dev-qt/qtgui-5.15:5
+ >=dev-qt/qtwidgets-5.15:5
+ >=dev-qt/qtx11extras-5.15:5
+ >=x11-libs/libfm-qt-1.4:=
"
RDEPEND="${DEPEND}"
pkg_postinst() {
xdg_desktop_database_update
+ xdg_icon_cache_update
elog "Please note that this is only a graphical front-end, and additional"
elog "packages are needed to have support for specific file formats."
diff --git a/app-arch/lxqt-archiver/lxqt-archiver-0.9.1.ebuild b/app-arch/lxqt-archiver/lxqt-archiver-0.9.1.ebuild
new file mode 100644
index 000000000000..c5fe417b24b6
--- /dev/null
+++ b/app-arch/lxqt-archiver/lxqt-archiver-0.9.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-2)"
+
+inherit cmake xdg-utils
+
+DESCRIPTION="Qt GUI File Archiver"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~loong ~riscv ~x86"
+fi
+
+LICENSE="GPL-2 GPL-2+"
+SLOT="0"
+
+BDEPEND="
+ >=dev-qt/linguist-tools-5.15:5
+ >=dev-util/lxqt-build-tools-0.13.0
+"
+DEPEND="
+ dev-libs/glib:2
+ dev-libs/json-glib
+ >=dev-qt/qtcore-5.15:5
+ >=dev-qt/qtgui-5.15:5
+ >=dev-qt/qtwidgets-5.15:5
+ >=dev-qt/qtx11extras-5.15:5
+ >=x11-libs/libfm-qt-1.4:=
+"
+RDEPEND="${DEPEND}"
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+
+ elog "Please note that this is only a graphical front-end, and additional"
+ elog "packages are needed to have support for specific file formats."
+ elog "For example, to be able to work with the 7-Zip format, the"
+ elog "'app-arch/p7zip' package may be used."
+ elog "For the full list of supported formats, see the 'README.md' file:"
+ elog "https://github.com/lxqt/lxqt-archiver/blob/master/README.md"
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/app-arch/lz4/Manifest b/app-arch/lz4/Manifest
index c60a5c0d8da5..dfd1e824e657 100644
--- a/app-arch/lz4/Manifest
+++ b/app-arch/lz4/Manifest
@@ -1 +1 @@
-DIST lz4-1.9.3.tar.gz 320958 BLAKE2B 9a194bd18ff52f780aa03a8a53fe7fab7b58117d768f4ba8e5005830c935d16328d0f7cc54f9413b58faf245017c0ac85fb4e709a9db150cb150a0a2a3c21645 SHA512 c246b0bda881ee9399fa1be490fa39f43b291bb1d9db72dba8a85db1a50aad416a97e9b300eee3d2a4203c2bd88bda2762e81bc229c3aa409ad217eb306a454c
+DIST lz4-1.9.4.tar.gz 354063 BLAKE2B 2289cdce36acd35283bf2f02ef4d6d8f4805563be6d5a3492f3d6ea7975fb6bd14e1ac2e505df9747776edf8bcf0da7ba4ae7084b150e3ec08a52a9885f92ad5 SHA512 043a9acb2417624019d73db140d83b80f1d7c43a6fd5be839193d68df8fd0b3f610d7ed4d628c2a9184f7cde9a0fd1ba9d075d8251298e3eb4b3a77f52736684
diff --git a/app-arch/lz4/files/lz4-1.9.3-negative-memmove.patch b/app-arch/lz4/files/lz4-1.9.3-negative-memmove.patch
deleted file mode 100644
index 053958dfe872..000000000000
--- a/app-arch/lz4/files/lz4-1.9.3-negative-memmove.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001
-From: Jasper Lievisse Adriaanse <j@jasper.la>
-Date: Fri, 26 Feb 2021 15:21:20 +0100
-Subject: [PATCH] Fix potential memory corruption with negative memmove() size
-
----
- lib/lz4.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/lz4.c b/lib/lz4.c
-index 5f524d01d..c2f504ef3 100644
---- a/lib/lz4.c
-+++ b/lib/lz4.c
-@@ -1749,7 +1749,7 @@ LZ4_decompress_generic(
- const size_t dictSize /* note : = 0 if noDict */
- )
- {
-- if (src == NULL) { return -1; }
-+ if ((src == NULL) || (outputSize < 0)) { return -1; }
-
- { const BYTE* ip = (const BYTE*) src;
- const BYTE* const iend = ip + srcSize;
diff --git a/app-arch/lz4/lz4-1.9.3-r1.ebuild b/app-arch/lz4/lz4-1.9.4.ebuild
index 2282b90c9bcc..05adb1eacb6a 100644
--- a/app-arch/lz4/lz4-1.9.3-r1.ebuild
+++ b/app-arch/lz4/lz4-1.9.4.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
inherit cmake-multilib
DESCRIPTION="Extremely Fast Compression algorithm"
@@ -13,15 +12,11 @@ SRC_URI="https://github.com/lz4/lz4/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2 GPL-2"
# https://abi-laboratory.pro/tracker/timeline/lz4/
SLOT="0/r132"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
CMAKE_USE_DIR=${S}/build/cmake
-PATCHES=(
- "${FILESDIR}"/${P}-negative-memmove.patch
-)
-
multilib_src_configure() {
local mycmakeargs=(
-DBUILD_STATIC_LIBS=$(usex static-libs)
diff --git a/app-arch/lz5/lz5-2.0.ebuild b/app-arch/lz5/lz5-2.0-r1.ebuild
index 9a430c70373f..fa598cb0f31f 100644
--- a/app-arch/lz5/lz5-2.0.ebuild
+++ b/app-arch/lz5/lz5-2.0-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
@@ -12,7 +12,6 @@ SRC_URI="https://github.com/inikep/lz5/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 BSD-2"
SLOT="0/2"
KEYWORDS="~amd64"
-IUSE="static-libs"
src_prepare() {
default
@@ -21,13 +20,13 @@ src_prepare() {
}
src_compile() {
- emake -Clib CC="$(tc-getCC)" lib liblz5.pc
- emake -Cprograms CC="$(tc-getCC)" lz5
+ emake -C lib CC="$(tc-getCC)" lib liblz5.pc
+ emake -C programs CC="$(tc-getCC)" lz5
}
src_install() {
- emake install DESTDIR="${D}" PREFIX="/usr" LIBDIR="/usr/$(get_libdir)"
- if ! use static-libs; then
- rm "${D}"/usr/$(get_libdir)/liblz5.a || die
- fi
+ emake install DESTDIR="${ED}" PREFIX="/usr" LIBDIR="/usr/$(get_libdir)"
+ rm "${ED}"/usr/$(get_libdir)/liblz5.a || die
+
+ einstalldocs
}
diff --git a/app-arch/lzip/Manifest b/app-arch/lzip/Manifest
index 7627a121f501..0a3c51fd9323 100644
--- a/app-arch/lzip/Manifest
+++ b/app-arch/lzip/Manifest
@@ -1 +1,2 @@
-DIST lzip-1.22.tar.gz 120769 BLAKE2B d6d4faaff981d64219e27364c7072f9e1309507220e80d4195d866c3429db537a9fa9b7a4ac67ef5c267cad0f6e43ce997a98f1e47a88b228bd1aa437c991140 SHA512 318de74effdbdfa79070d28919459a85bf1efe662b818b8af2a3daa964b6c24e3386c37de360c6d5b8b624d549b5c9ed777c6234561129c477e03d92ac2db206
+DIST lzip-1.24.1.tar.gz 123899 BLAKE2B b387577087af5596ea49af16c44e1dfc11f78cbcc1031fc480a4e7ef1a01f4d8fb35c03d8cbeb7f6feb51e427708b1ed0f9a160e80ff938555ea3cf34f28be7c SHA512 b67b3b8ab594306dd863b6f51525ab80e90cbff3af1faf190fd7a35eac895ef869e6a1f8f503d623c16ad5c1496816c8f851abf0be5983d53052bea80afc34bd
+DIST lzip-1.24.1.tar.gz.sig 72 BLAKE2B 6b957524cbca62aed7eb1dc35284da24550d8d90c8bf95d0c84063afe5e0cc1fc6f70bd513dece615f286e0d49c1a7dfcf6940a443f293975380c8e3ada2cb2d SHA512 40cfa84a7c7e6b907d76560eae27b22cb11aea79a94a2231e041952fe0f452a4e291355f60965bd6ca712e03f4ebf5381b759409e66a4a12653a005a6a1d8395
diff --git a/app-arch/lzip/lzip-1.22.ebuild b/app-arch/lzip/lzip-1.22.ebuild
deleted file mode 100644
index 54b50d1d7314..000000000000
--- a/app-arch/lzip/lzip-1.22.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="lossless data compressor based on the LZMA algorithm"
-HOMEPAGE="https://www.nongnu.org/lzip/lzip.html"
-SRC_URI="https://download.savannah.gnu.org/releases/${PN}/${P/_/-}.tar.gz"
-S="${WORKDIR}/${P/_/-}"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-src_configure() {
- # not autotools-based
- ./configure \
- --prefix="${EPREFIX}"/usr \
- CXX="$(tc-getCXX)" \
- CPPFLAGS="${CPPFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- LDFLAGS="${LDFLAGS}" || die
-}
diff --git a/app-arch/lzip/lzip-1.24.1.ebuild b/app-arch/lzip/lzip-1.24.1.ebuild
new file mode 100644
index 000000000000..8d1cf3e805da
--- /dev/null
+++ b/app-arch/lzip/lzip-1.24.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
+
+DESCRIPTION="Lossless data compressor based on the LZMA algorithm"
+HOMEPAGE="https://www.nongnu.org/lzip/lzip.html"
+SRC_URI="https://download.savannah.gnu.org/releases/${PN}/${P/_/-}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/${PN}/${P/_/-}.tar.gz.sig )"
+S="${WORKDIR}/${P/_/-}"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
+
+src_configure() {
+ # not autotools-based
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ CXX="$(tc-getCXX)" \
+ CPPFLAGS="${CPPFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ LDFLAGS="${LDFLAGS}" || die
+}
diff --git a/app-arch/lzip/metadata.xml b/app-arch/lzip/metadata.xml
index 4d9ece7acd6a..4989f733c740 100644
--- a/app-arch/lzip/metadata.xml
+++ b/app-arch/lzip/metadata.xml
@@ -9,4 +9,7 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
+<upstream>
+ <remote-id type="savannah-nongnu">lzip</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/app-arch/lziprecover/Manifest b/app-arch/lziprecover/Manifest
index 936c9384093d..be787d9ba915 100644
--- a/app-arch/lziprecover/Manifest
+++ b/app-arch/lziprecover/Manifest
@@ -1 +1,2 @@
-DIST lziprecover-1.22.tar.gz 152840 BLAKE2B c6c5ca0bcb0309539d48c89a1259c5d1d9b47372a92935f762daa428a9e66d6ab0b0a2ac956b70e15824d699c7de0d92e92f0c7ff68ea091599754082771b928 SHA512 5fa209f6a80314ba7db45effc2546be660b6a31133570abf2e37a4d570910757fc4241e2496e63a95fadb66cffbca59976a8568659f4e8562baeb16517599e96
+DIST lziprecover-1.24.tar.gz 161471 BLAKE2B b96bba4aff4423c8681ae5c86efa66af61ee88b50050e262959b51c22927c594a8f5ca8f3d59a46ddae842a5078fe2ed955e279a412708247f7dd3140e6763b7 SHA512 b1f126fa24b1627c6e98ba8fa4fc30dac248f81f92be12f1063db6e40fd9c6f9f8b5a2306bde72f30623a64de5befec28b34073309f393317b56a38527947466
+DIST lziprecover-1.24.tar.gz.sig 72 BLAKE2B 8f4aa191b19e92c225138331f278bb907cf823917ee528ec3f9da9fa75abcc94eea4d676979d7b914fe099b7bed49c1feccf6e9fb069a873ad3b723a4e65af85 SHA512 d708a0573d9a46b92d59c08a988068735e0f76316896489f2ce0585d09f0178718bdd5fd59dc869c7314ba8fb64c4c4aa73eb8e226db1564cbc964422bde13e4
diff --git a/app-arch/lziprecover/lziprecover-1.22.ebuild b/app-arch/lziprecover/lziprecover-1.24.ebuild
index d328cc1e2e94..df9656261aa1 100644
--- a/app-arch/lziprecover/lziprecover-1.22.ebuild
+++ b/app-arch/lziprecover/lziprecover-1.24.ebuild
@@ -1,20 +1,27 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
DESCRIPTION="Lziprecover is a data recovery tool and decompressor for lzip compressed files"
HOMEPAGE="https://www.nongnu.org/lzip/lziprecover.html"
SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz.sig )"
+S="${WORKDIR}/${P/_/-}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
+IUSE="test"
+RESTRICT="!test? ( test )"
-S="${WORKDIR}/${P/_/-}"
+BDEPEND="
+ test? ( app-arch/lzip )
+ verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )
+"
src_configure() {
# not autotools-based
diff --git a/app-arch/lziprecover/metadata.xml b/app-arch/lziprecover/metadata.xml
index ada194fea929..fc9a5eadba79 100644
--- a/app-arch/lziprecover/metadata.xml
+++ b/app-arch/lziprecover/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
diff --git a/app-arch/lzlib/Manifest b/app-arch/lzlib/Manifest
index 7911ded06777..de0cfa78feec 100644
--- a/app-arch/lzlib/Manifest
+++ b/app-arch/lzlib/Manifest
@@ -1,2 +1,2 @@
-DIST lzlib-1.11.tar.gz 105873 BLAKE2B 6caadc4c3b78db835bcf4f11e5290342f0f952943006589345898a85211b0a0ae5d775d0a8e7747c549eae00dd0abd2e2afb5c07eb75b4fda712a9361a71bd59 SHA512 5aa3ff084177efe906518724a98a78c32d1c0e02b967800a44388fc6af441de48fcc5899457913fca11fae3beb8bebc260ac447f0a336b1c14f3f13726114567
-DIST lzlib-1.12.tar.gz 128996 BLAKE2B 3a86005eaf660a45888ec5af97bc6100368da2a3003c119c2379e881cd77ef318707342b7c930efa9473b671b8c2aff5c5e00dd5b312f647b7cafc39f29a2eea SHA512 b5379422eed4016b0ee124e39902dd22c314ca5cc5f72c1af5ec2ef6a68e1e85c523ab18e30048d453689f73f780d0144dcabaf881337e1c8101e2fe17ee21f8
+DIST lzlib-1.14.tar.gz 131624 BLAKE2B d975fece48d92be354202581a5be5c709b8acdbb41b3782ec0a79939278ada42aa6765bcef7a1cb70bfb7808b8a88d5e6ed48924f13fcc291a4a0d2057f0f4bf SHA512 1582b99149af18ea119f015a9dbf224aa2ebc78240432415b2da20bd5a4e4dc3fdea2489789bc581bdccdba6f4eab13c69c5801e8a43ab9a829c2eb9b801797f
+DIST lzlib-1.14.tar.gz.sig 72 BLAKE2B 104d914d4b85bab0457017ab5663962ac1573dac421e11a94eaa9e77f6338501c96444d45e1e4101e9ea48409c2b30037a7b07c2a188cff6fcf47c6d067d1398 SHA512 852ebd4a460021e642a673a8c6d88b25a2b45dff4a45f7ccfc6bbb531be3c967b8e01308aa35088c843002561c1c4b813a47ff4b0fd4417ebf12f188af8d36be
diff --git a/app-arch/lzlib/lzlib-1.12.ebuild b/app-arch/lzlib/lzlib-1.12.ebuild
deleted file mode 100644
index 9b6f80481005..000000000000
--- a/app-arch/lzlib/lzlib-1.12.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Library for lzip compression"
-HOMEPAGE="https://www.nongnu.org/lzip/lzlib.html"
-SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.gz"
-
-LICENSE="libstdc++" # fancy form of GPL-2+ with library exception
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86"
-IUSE=""
-
-src_configure() {
- local myconf=(
- --enable-shared
- --disable-static
- --disable-ldconfig
- --prefix="${EPREFIX}"/usr
- --libdir='$(prefix)'/$(get_libdir)
- CC="$(tc-getCC)"
- CFLAGS="${CFLAGS}"
- CPPFLAGS="${CPPFLAGS}"
- LDFLAGS="${LDFLAGS}"
- )
-
- # not autotools-based
- ./configure "${myconf[@]}" || die
-}
diff --git a/app-arch/lzlib/lzlib-1.11.ebuild b/app-arch/lzlib/lzlib-1.14.ebuild
index 1b4da858973b..12043b864bb4 100644
--- a/app-arch/lzlib/lzlib-1.11.ebuild
+++ b/app-arch/lzlib/lzlib-1.14.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
DESCRIPTION="Library for lzip compression"
HOMEPAGE="https://www.nongnu.org/lzip/lzlib.html"
SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz.sig )"
LICENSE="libstdc++" # fancy form of GPL-2+ with library exception
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE=""
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
src_configure() {
local myconf=(
@@ -21,6 +24,7 @@ src_configure() {
--disable-ldconfig
--prefix="${EPREFIX}"/usr
--libdir='$(prefix)'/$(get_libdir)
+ AR="$(tc-getAR)"
CC="$(tc-getCC)"
CFLAGS="${CFLAGS}"
CPPFLAGS="${CPPFLAGS}"
@@ -30,3 +34,8 @@ src_configure() {
# not autotools-based
./configure "${myconf[@]}" || die
}
+
+src_install() {
+ emake DESTDIR="${D}" install install-man
+ einstalldocs
+}
diff --git a/app-arch/lzma/Manifest b/app-arch/lzma/Manifest
index c69705b2f6a3..d38da2b9d295 100644
--- a/app-arch/lzma/Manifest
+++ b/app-arch/lzma/Manifest
@@ -1,2 +1 @@
DIST lzma-19.00.7z 1082692 BLAKE2B 88aca3f3225d589c9b1b0fbf4c196db8e6e8df362f926736a45e1f80d302c132b25537203b0a903da9de5f3b0398b10901f126cf6905fcbdf0a57ee894e74b6d SHA512 60532483249d86960d5c481dc88ebeafabb7e435afb6188bc26f38177b8534ef3da83317d6920d99103d4f10a8dcdb624489ea5ddad8e0c8732bab1bb4ebd7eb
-DIST lzma-9.20.tar.bz2 534077 BLAKE2B c1be526d6fb9f68da10b654940a92420b6c708c7aefe213394cf1c7650b3d65c4f54d3ca0663e52be13aa9f996ff9cc87262fac8b76dd0654e839cefc073c374 SHA512 1c495530834107430a675fb48c006093edc301ec7a2c2f273efd62ff260f3056503bb2c3ddef63e82f5ff04b1347381055cf6cacd59eee9d451c4d841c13cd35
diff --git a/app-arch/lzma/lzma-9.20-r1.ebuild b/app-arch/lzma/lzma-9.20-r1.ebuild
deleted file mode 100644
index 32cff7d3dea7..000000000000
--- a/app-arch/lzma/lzma-9.20-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs
-
-MY_P="${PN}${PV//.}"
-DESCRIPTION="LZMA Stream Compressor from the SDK"
-HOMEPAGE="https://www.7-zip.org/sdk.html"
-SRC_URI="mirror://sourceforge/sevenzip/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc"
-
-S=${WORKDIR}
-
-src_compile() {
- cd CPP/7zip/Bundles/LzmaCon || die
- emake -f makefile.gcc \
- CXX="$(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS}" \
- CXX_C="$(tc-getCC) ${CFLAGS} ${CPPFLAGS}"
-}
-
-src_install() {
- newbin CPP/7zip/Bundles/LzmaCon/lzma lzmacon
- dodoc lzma.txt history.txt
- use doc && dodoc 7zC.txt 7zFormat.txt Methods.txt
-}
-
-pkg_postinst() {
- einfo "The lzma binary is now 'lzmacon' to avoid xz-utils conflicts #218459"
-}
diff --git a/app-arch/lzop/lzop-1.04.ebuild b/app-arch/lzop/lzop-1.04-r1.ebuild
index 61d2ad39defc..f8a665211ba0 100644
--- a/app-arch/lzop/lzop-1.04.ebuild
+++ b/app-arch/lzop/lzop-1.04-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
DESCRIPTION="Utility for fast (even real-time) compression/decompression"
HOMEPAGE="https://www.lzop.org/"
@@ -9,14 +9,14 @@ SRC_URI="https://www.lzop.org/download/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND=">=dev-libs/lzo-2"
DEPEND="${RDEPEND}"
src_test() {
einfo "compressing config.status to test"
+
src/lzop config.status || die 'compression failed'
ls -la config.status{,.lzo}
src/lzop -t config.status.lzo || die 'lzo test failed'
diff --git a/app-arch/makeself/Manifest b/app-arch/makeself/Manifest
index 4c489fab56ef..87361737f561 100644
--- a/app-arch/makeself/Manifest
+++ b/app-arch/makeself/Manifest
@@ -1 +1 @@
-DIST makeself-2.4.5.tar.gz 39012 BLAKE2B f79cf1c087e89c4fd09f328fb795a3f8a78ee38060dbbd1590e3dcdf22a346b0c12bf6837d1636efadb2a66f6a762308de7ee9dd2fc62a7c88d417d257c5f0f6 SHA512 1dae74586f6bd5afb526801b7ffa7fc7962ff74b0f190cdd51da93c21421864b72f5fe18090cb2ff6ad27f0907fbf3aeb5545f3f70e33dbc9e505a78505f5f90
+DIST makeself-2.5.0.tar.gz 43996 BLAKE2B 60e5b7a55bd03e45d25753600ddb4e0e15f05eabc95db18f1a9da10308d018bb913ba1e8bc264c3bd828c3d229aca34fae4ab1682bf6cf59c591a6fdef186061 SHA512 cd0ce98579f00a02f9559848b39e0a6efea9df1866073d419f0b6560034cc186ed8315f8b4589e03f626b040727d9ae646bc2abaebe4f4da556b87617bdd770f
diff --git a/app-arch/makeself/makeself-2.4.5.ebuild b/app-arch/makeself/makeself-2.5.0.ebuild
index 57a66dd9848b..286161726b85 100644
--- a/app-arch/makeself/makeself-2.4.5.ebuild
+++ b/app-arch/makeself/makeself-2.5.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
inherit optfeature
@@ -26,10 +26,11 @@ src_install() {
dobin makeself-header.sh makeself.sh
dosym makeself.sh /usr/bin/makeself
doman makeself.1
- dodoc README.md makeself.lsm
+ dodoc README.md
}
pkg_postinst() {
+ optfeature "bzip3 support" app-arch/bzip3
optfeature "lz4 support" app-arch/lz4
optfeature "lzop support" app-arch/lzop
optfeature "pbzip2 support" app-arch/pbzip2
diff --git a/app-arch/makeself/metadata.xml b/app-arch/makeself/metadata.xml
index e3be9c723678..8e783c72a1db 100644
--- a/app-arch/makeself/metadata.xml
+++ b/app-arch/makeself/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>matt@offtopica.uk</email>
- <name>Matt Smith</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/app-arch/mscompress/mscompress-0.3-r1.ebuild b/app-arch/mscompress/mscompress-0.3-r1.ebuild
index 779b372736d4..eb684b82abbc 100644
--- a/app-arch/mscompress/mscompress-0.3-r1.ebuild
+++ b/app-arch/mscompress/mscompress-0.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ EAPI=7
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Microsoft compress.exe/expand.exe compatible (de)compressor"
-HOMEPAGE="http://gnuwin32.sourceforge.net/packages/mscompress.htm"
+HOMEPAGE="https://gnuwin32.sourceforge.net/packages/mscompress.htm"
SRC_URI="ftp://ftp.penguin.cz/pub/users/mhi/mscompress/${P}.tar.bz2"
LICENSE="GPL-2"
diff --git a/app-arch/mt-st/Manifest b/app-arch/mt-st/Manifest
index 4e723aba2a50..248625d6d3de 100644
--- a/app-arch/mt-st/Manifest
+++ b/app-arch/mt-st/Manifest
@@ -1,2 +1 @@
-DIST mt-st-1.3.tar.gz 35341 BLAKE2B c58eee9bd58a3fa5105fe3f8dfb56f1af1c5ed73f99e5179ea14bc11d66151d1e6b6c99f61194c700ed79ce10a7e7f75f78ffe9b7d2c45c85e620d4da1aaeb5c SHA512 1d026ae85e1ca367e72f1810042314070f592306d9ddec331b95ea4e1153dc3edee68d8798bdf7e055a4cf9c67ec8c539e5d188e87f0546f48b5f4ee4bc6a820
DIST mt-st-1.4.tar.gz 37864 BLAKE2B 25ae656b6442e53570366405ba76da9150cf1d4fe33c612bf922d8be967ce6b60be191948507a62bb1881d4be63ed192f7d03f1d63c38f5772aec2f3d2fe455b SHA512 e6655a5957d3ac470c0cb0a1955a12397aa22f3ea1a427cf776f6bf2d6fd665439b2bfa54c3870b7974da537f0fe71d3be43126be1a7db903e6bc7be4cfb10ec
diff --git a/app-arch/mt-st/mt-st-1.3.ebuild b/app-arch/mt-st/mt-st-1.3.ebuild
deleted file mode 100644
index 5d5cae52801e..000000000000
--- a/app-arch/mt-st/mt-st-1.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Control magnetic tape drive operation"
-HOMEPAGE="https://github.com/iustin/mt-st"
-SRC_URI="https://github.com/iustin/mt-st/releases/download/${P}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-
-src_compile() {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} ${CPPFLAGS} ${LDFLAGS}"
-}
-
-src_install() {
- dosbin mt stinit
- doman mt.1 stinit.8
- dodoc README* stinit.def.examples
-}
diff --git a/app-arch/ncompress/ncompress-5.0-r1.ebuild b/app-arch/ncompress/ncompress-5.0-r1.ebuild
new file mode 100644
index 000000000000..aad48b1bec95
--- /dev/null
+++ b/app-arch/ncompress/ncompress-5.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit toolchain-funcs
+
+DESCRIPTION="Classic compress & uncompress programs for .Z (LZW) files"
+HOMEPAGE="https://vapier.github.io/ncompress/"
+SRC_URI="https://github.com/vapier/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE=""
+
+src_prepare() {
+ default
+ # First sed expression replaces hardlinking with
+ # symlinking. Second sed expression fixes the symlink target
+ # to use relative path to a file in the same directory as the
+ # symlink (so point to compress instead of
+ # $(DESTDIR)$(BINDIR)/compress).
+ sed -i \
+ -e 's:\bln :ln -s :' \
+ -e 's:\(\bln [^$]*\)\$(DESTDIR)\$(BINDIR)/:\1:' \
+ Makefile.def || die
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ emake install_core DESTDIR="${ED}" PREFIX="/usr"
+ dodoc Acknowleds Changes LZW.INFO README.md
+}
diff --git a/app-arch/ncompress/ncompress-5.0.ebuild b/app-arch/ncompress/ncompress-5.0.ebuild
deleted file mode 100644
index 88f47ec0935f..000000000000
--- a/app-arch/ncompress/ncompress-5.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit toolchain-funcs
-
-DESCRIPTION="Classic compress & uncompress programs for .Z (LZW) files"
-HOMEPAGE="https://vapier.github.io/ncompress/"
-SRC_URI="https://github.com/vapier/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-src_prepare() {
- default
- sed -i 's:\bln :ln -s :' Makefile.def || die
-}
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- emake install_core DESTDIR="${ED}" PREFIX="/usr"
- dodoc Acknowleds Changes LZW.INFO README.md
-}
diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
index 29b37f25e4d4..c03f71b7e19b 100644
--- a/app-arch/p7zip/Manifest
+++ b/app-arch/p7zip/Manifest
@@ -1 +1,2 @@
+DIST p7zip-17.05.tar.gz 6722154 BLAKE2B 0bcba638d3acaf2aa270e02693ad4295dfcc6b388037bdb446e25f3f4e1cb34f1b05bbc9a845364ca770625c32b2d7f55f63f504ad8e0863fff4bf940ae1fddd SHA512 97a7cfd15287998eb049c320548477be496c4ddf6b45c833c42adca4ab88719b07a442ae2e71cf2dc3b30a0777a3acab0a1a30f01fd85bacffa3fa9bd22c3f7d
DIST p7zip_16.02_src_all.tar.bz2 4239909 BLAKE2B 075356fba5284cbb124e30c36364a910ae5a7ac6bee8a8fb682c5a7ce2f1870ef83d3160c84f8dabad1d616c13d642cba1f19fb9384160d21590cf678dd8f1a6 SHA512 d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa7496449edeac4e300ecf986a9cbbc90bd8f8feef8156895d94617c04e507add55f
diff --git a/app-arch/p7zip/files/p7zip-17.05-natspec.patch b/app-arch/p7zip/files/p7zip-17.05-natspec.patch
new file mode 100644
index 000000000000..7487924af306
--- /dev/null
+++ b/app-arch/p7zip/files/p7zip-17.05-natspec.patch
@@ -0,0 +1,117 @@
+commit f25f0b75bbeb485961dc139aed6b5b474552d043 (HEAD -> main)
+Author: Taiki Sugawara <buzz.taiki@gmail.com>
+Date: Wed May 12 18:26:11 2021 +0900
+
+ natspec patch for p7zip 17.x
+
+diff --git a/CPP/7zip/Archive/Zip/ZipItem.cpp b/CPP/7zip/Archive/Zip/ZipItem.cpp
+index 353e895..44071f3 100644
+--- a/CPP/7zip/Archive/Zip/ZipItem.cpp
++++ b/CPP/7zip/Archive/Zip/ZipItem.cpp
+@@ -1,9 +1,7 @@
+ // Archive/ZipItem.cpp
+
+-#if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__)
+ #include <iconv.h>
+-#include <locale.h>
+-#endif
++#include <natspec.h>
+
+ #include "StdAfx.h"
+
+@@ -355,87 +353,15 @@ void CItem::GetUnicodeString(UString &res, const AString &s, bool isComment, boo
+ #endif
+ }
+
+- #if (!defined _WIN32) && (!defined __CYGWIN__) && (!defined __APPLE__)
+- // Convert OEM char set to UTF-8 if needed
+- // Use system locale to select code page
+-
+- Byte hostOS = GetHostOS();
+- if (!isUtf8 && ((hostOS == NFileHeader::NHostOS::kFAT) || (hostOS == NFileHeader::NHostOS::kNTFS))) {
+-
+- const char *oemcp;
+- oemcp = getenv("OEMCP");
+- if (!oemcp) {
+- oemcp = "CP437\0"; // CP name is 6 chars max
+-
+- const char *lc_to_cp_table[] = {
+- "af_ZA", "CP850", "ar_SA", "CP720", "ar_LB", "CP720", "ar_EG", "CP720",
+- "ar_DZ", "CP720", "ar_BH", "CP720", "ar_IQ", "CP720", "ar_JO", "CP720",
+- "ar_KW", "CP720", "ar_LY", "CP720", "ar_MA", "CP720", "ar_OM", "CP720",
+- "ar_QA", "CP720", "ar_SY", "CP720", "ar_TN", "CP720", "ar_AE", "CP720",
+- "ar_YE", "CP720","ast_ES", "CP850", "az_AZ", "CP866", "az_AZ", "CP857",
+- "be_BY", "CP866", "bg_BG", "CP866", "br_FR", "CP850", "ca_ES", "CP850",
+- "zh_CN", "CP936", "zh_TW", "CP950", "kw_GB", "CP850", "cs_CZ", "CP852",
+- "cy_GB", "CP850", "da_DK", "CP850", "de_AT", "CP850", "de_LI", "CP850",
+- "de_LU", "CP850", "de_CH", "CP850", "de_DE", "CP850", "el_GR", "CP737",
+- "en_AU", "CP850", "en_CA", "CP850", "en_GB", "CP850", "en_IE", "CP850",
+- "en_JM", "CP850", "en_BZ", "CP850", "en_PH", "CP437", "en_ZA", "CP437",
+- "en_TT", "CP850", "en_US", "CP437", "en_ZW", "CP437", "en_NZ", "CP850",
+- "es_PA", "CP850", "es_BO", "CP850", "es_CR", "CP850", "es_DO", "CP850",
+- "es_SV", "CP850", "es_EC", "CP850", "es_GT", "CP850", "es_HN", "CP850",
+- "es_NI", "CP850", "es_CL", "CP850", "es_MX", "CP850", "es_ES", "CP850",
+- "es_CO", "CP850", "es_ES", "CP850", "es_PE", "CP850", "es_AR", "CP850",
+- "es_PR", "CP850", "es_VE", "CP850", "es_UY", "CP850", "es_PY", "CP850",
+- "et_EE", "CP775", "eu_ES", "CP850", "fa_IR", "CP720", "fi_FI", "CP850",
+- "fo_FO", "CP850", "fr_FR", "CP850", "fr_BE", "CP850", "fr_CA", "CP850",
+- "fr_LU", "CP850", "fr_MC", "CP850", "fr_CH", "CP850", "ga_IE", "CP437",
+- "gd_GB", "CP850", "gv_IM", "CP850", "gl_ES", "CP850", "he_IL", "CP862",
+- "hr_HR", "CP852", "hu_HU", "CP852", "id_ID", "CP850", "is_IS", "CP850",
+- "it_IT", "CP850", "it_CH", "CP850", "iv_IV", "CP437", "ja_JP", "CP932",
+- "kk_KZ", "CP866", "ko_KR", "CP949", "ky_KG", "CP866", "lt_LT", "CP775",
+- "lv_LV", "CP775", "mk_MK", "CP866", "mn_MN", "CP866", "ms_BN", "CP850",
+- "ms_MY", "CP850", "nl_BE", "CP850", "nl_NL", "CP850", "nl_SR", "CP850",
+- "nn_NO", "CP850", "nb_NO", "CP850", "pl_PL", "CP852", "pt_BR", "CP850",
+- "pt_PT", "CP850", "rm_CH", "CP850", "ro_RO", "CP852", "ru_RU", "CP866",
+- "sk_SK", "CP852", "sl_SI", "CP852", "sq_AL", "CP852", "sr_RS", "CP855",
+- "sr_RS", "CP852", "sv_SE", "CP850", "sv_FI", "CP850", "sw_KE", "CP437",
+- "th_TH", "CP874", "tr_TR", "CP857", "tt_RU", "CP866", "uk_UA", "CP866",
+- "ur_PK", "CP720", "uz_UZ", "CP866", "uz_UZ", "CP857", "vi_VN", "CP1258",
+- "wa_BE", "CP850", "zh_HK", "CP950", "zh_SG", "CP936"};
+- int table_len = sizeof(lc_to_cp_table) / sizeof(char *);
+- int lc_len, i;
+-
+- char *lc = setlocale(LC_CTYPE, "");
+-
+- if (lc && lc[0]) {
+- // Compare up to the dot, if it exists, e.g. en_US.UTF-8
+- for (lc_len = 0; lc[lc_len] != '.' && lc[lc_len] != '\0'; ++lc_len)
+- ;
+- for (i = 0; i < table_len; i += 2)
+- if (strncmp(lc, lc_to_cp_table[i], lc_len) == 0)
+- oemcp = lc_to_cp_table[i + 1];
+- }
+- }
+-
+- iconv_t cd;
+- if ((cd = iconv_open("UTF-8", oemcp)) != (iconv_t)-1) {
+-
+- AString s_utf8;
+- const char* src = s.Ptr();
+- size_t slen = s.Len();
+- size_t dlen = slen * 4;
+- const char* dest = s_utf8.GetBuf_SetEnd(dlen + 1); // (source length * 4) + null termination
+-
+- size_t done = iconv(cd, (char**)&src, &slen, (char**)&dest, &dlen);
+- bzero((size_t*)dest + done, 1);
+-
+- iconv_close(cd);
+-
+- if (ConvertUTF8ToUnicode(s_utf8, res) || ignore_Utf8_Errors)
+- return;
+- }
++ if (!isUtf8) {
++ const char *oem_charset = natspec_get_charset_by_locale(NATSPEC_DOSCS, "");
++ char *p = natspec_convert(s.Ptr(), NULL, oem_charset, 0);
++ AString utf = p;
++ free(p);
++ if (ConvertUTF8ToUnicode(utf, res))
++ return;
+ }
+- #endif
+-
++
+ if (isUtf8)
+ if (ConvertUTF8ToUnicode(s, res) || ignore_Utf8_Errors)
+ return;
diff --git a/app-arch/p7zip/files/p7zip-17.05-unit64.patch b/app-arch/p7zip/files/p7zip-17.05-unit64.patch
new file mode 100644
index 000000000000..0aa19e329ac0
--- /dev/null
+++ b/app-arch/p7zip/files/p7zip-17.05-unit64.patch
@@ -0,0 +1,21 @@
+--- p7zip-17.05-orig/C/hashes/hash.h 2023-03-03 23:16:28.000000000 +1100
++++ p7zip-17.05/C/hashes/hash.h 2023-04-15 09:05:20.357955971 +1000
+@@ -42,17 +42,7 @@
+
+ #include "../7zTypes.h"
+
+-#ifndef _UINT32_T_DECLARED
+-typedef UInt32 uint32_t;
+-#define _UINT32_T_DECLARED
+-#endif
+-
+-#ifndef _UINT64_T_DECLARED
+-typedef UInt64 uint64_t;
+-#define _UINT64_T_DECLARED
+-#endif
+-
+-//#include <stdint.h>
++#include <stdint.h>
+
+ #ifndef min
+ #define min(a,b) (((a)>(b))?(b):(a))
diff --git a/app-arch/p7zip/metadata.xml b/app-arch/p7zip/metadata.xml
index 762c5a16f7fe..6a21e35bb813 100644
--- a/app-arch/p7zip/metadata.xml
+++ b/app-arch/p7zip/metadata.xml
@@ -5,9 +5,10 @@
<email>prometheanfire@gentoo.org</email>
</maintainer>
<use>
+ <flag name="natspec">Use <pkg>dev-libs/libnatspec</pkg> to correctly decode non-ascii file names archived in Windows.</flag>
<flag name="rar">Enable support for non-free rar decoder</flag>
</use>
<upstream>
- <remote-id type="sourceforge">p7zip</remote-id>
+ <remote-id type="github">p7zip-project/p7zip</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/p7zip/p7zip-16.02-r8.ebuild b/app-arch/p7zip/p7zip-16.02-r8.ebuild
index b41f7d8a8f5c..933adee9f26f 100644
--- a/app-arch/p7zip/p7zip-16.02-r8.ebuild
+++ b/app-arch/p7zip/p7zip-16.02-r8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,8 +13,8 @@ S="${WORKDIR}/${PN}_${PV}"
LICENSE="LGPL-2.1 rar? ( unRAR )"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
-IUSE="abi_x86_x32 doc kde +pch rar static wxwidgets"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="abi_x86_x32 kde +pch rar static wxwidgets"
REQUIRED_USE="kde? ( wxwidgets )"
RDEPEND="wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
@@ -79,9 +79,6 @@ src_prepare() {
sed -i -e '/^PROG=/s/\.so/.bundle/' \
CPP/7zip/Bundles/Format7zFree/makefile.list \
$(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
- elif use x86-fbsd; then
- # FreeBSD needs this special makefile, because it hasn't -ldl
- sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine || die
fi
if use static; then
@@ -91,14 +88,14 @@ src_prepare() {
if use kde || use wxwidgets; then
setup-wxwidgets unicode
einfo "Preparing dependency list"
- emake CC=$(tc-getCC) CXX=$(tc-getCXX) depend
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" depend
fi
}
src_compile() {
- emake CC=$(tc-getCC) CXX=$(tc-getCXX) all3
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
if use kde || use wxwidgets; then
- emake CC=$(tc-getCC) CXX=$(tc-getCXX) -- 7zG
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -- 7zG
fi
}
@@ -146,9 +143,7 @@ src_install() {
doman man1/7z.1 man1/7za.1 man1/7zr.1
dodoc ChangeLog README TODO
- if use doc; then
- dodoc DOC/*.txt
- docinto html
- dodoc -r DOC/MANUAL/.
- fi
+ dodoc DOC/*.txt
+ docinto html
+ dodoc -r DOC/MANUAL/.
}
diff --git a/app-arch/p7zip/p7zip-17.05-r1.ebuild b/app-arch/p7zip/p7zip-17.05-r1.ebuild
new file mode 100644
index 000000000000..324ae0051c52
--- /dev/null
+++ b/app-arch/p7zip/p7zip-17.05-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs wrapper xdg
+
+DESCRIPTION="Port of 7-Zip archiver for Unix"
+HOMEPAGE="https://github.com/p7zip-project/p7zip"
+SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+#S="${WORKDIR}/${PN}-${PV}"
+
+LICENSE="LGPL-2.1 rar? ( unRAR )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+IUSE="abi_x86_x32 natspec +pch rar static"
+
+RDEPEND="natspec? ( dev-libs/libnatspec )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
+ amd64? ( dev-lang/yasm )
+ x86? ( dev-lang/nasm )"
+
+PATCHES=(
+ "${FILESDIR}/p7zip-17.05-unit64.patch"
+)
+
+src_prepare() {
+ default
+
+ if use natspec; then
+ eapply "${FILESDIR}"/${P}-natspec.patch
+ sed -i '/^LOCAL_LIBS/s/$/ -lnatspec/' makefile.* || die
+ fi
+
+ if ! use pch; then
+ sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
+ fi
+
+ sed \
+ -e 's|-m32 ||g' \
+ -e 's|-m64 ||g' \
+ -e 's|-pipe||g' \
+ -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
+ -e "/CFLAGS=/s|=|+=|" \
+ -e "/CXXFLAGS=/s|=|+=|" \
+ -i makefile* || die
+
+ # remove non-free RAR codec
+ if ! use rar; then
+ sed \
+ -e '/Rar/d' \
+ -e '/RAR/d' \
+ -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
+ rm -r CPP/7zip/Compress/Rar || die
+ fi
+
+ if use abi_x86_x32; then
+ sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
+ cp -f makefile.linux_amd64_asm makefile.machine || die
+ elif use amd64; then
+ cp -f makefile.linux_amd64_asm makefile.machine || die
+ elif use x86; then
+ cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
+ elif [[ ${CHOST} == *-darwin* ]] ; then
+ # Mac OS X needs this special makefile, because it has a non-GNU
+ # linker, it doesn't matter so much for bitwidth, for it doesn't
+ # do anything with it
+ cp -f makefile.macosx_llvm_64bits makefile.machine || die
+ # bundles have extension .bundle but don't die because USE=-rar
+ # removes the Rar directory
+ sed -i -e '/strcpy(name/s/\.so/.bundle/' \
+ CPP/Windows/DLL.cpp || die
+ sed -i -e '/^PROG=/s/\.so/.bundle/' \
+ CPP/7zip/Bundles/Format7zFree/makefile.list \
+ $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
+ fi
+
+ if use static; then
+ sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
+ fi
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
+}
+
+src_test() {
+ emake test test_7z test_7zr
+}
+
+src_install() {
+ # these wrappers cannot be symlinks, p7zip should be called with full path
+ make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr
+ make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
+ make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
+
+ dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
+ doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
+
+ exeinto /usr/$(get_libdir)/p7zip
+ doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
+ doexe bin/*$(get_modname)
+ if use rar; then
+ exeinto /usr/$(get_libdir)/p7zip/Codecs
+ doexe bin/Codecs/*$(get_modname)
+ fi
+
+ doman man1/7z.1 man1/7za.1 man1/7zr.1
+
+ dodoc ChangeLog README TODO
+ dodoc DOC/*.txt
+ docinto html
+ dodoc -r DOC/MANUAL/.
+}
diff --git a/app-arch/pack/Manifest b/app-arch/pack/Manifest
new file mode 100644
index 000000000000..0256fb512bdc
--- /dev/null
+++ b/app-arch/pack/Manifest
@@ -0,0 +1 @@
+DIST pack-0bd29ccae2662ef9ae1fabe707d84e4f84b36d53.tar.gz 3833 BLAKE2B f597746aa99e1cc59af3dd86a030458a2498a0649aae8f7bf9ac008c0bb6a0a26af62e5a4e76c6f8b49b5f0a6e19c0d6714c2a548231a6ce103c361b227757b9 SHA512 a75eb599aa0abcec9d151d5af7128bbbc13f7687dcc15ec5843dffd5e1084598ebabc6c1981a6ee225855435b5c4693ee4c7ad62f4e36f5e0de8205591d42439
diff --git a/app-arch/pack/metadata.xml b/app-arch/pack/metadata.xml
new file mode 100644
index 000000000000..daafb9559e2f
--- /dev/null
+++ b/app-arch/pack/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">koalaman/pack</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/pack/pack-0.0.0.1.ebuild b/app-arch/pack/pack-0.0.0.1.ebuild
new file mode 100644
index 000000000000..811e9dd596ad
--- /dev/null
+++ b/app-arch/pack/pack-0.0.0.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit haskell-cabal
+
+EGIT_COMMIT="0bd29ccae2662ef9ae1fabe707d84e4f84b36d53"
+MY_P=${PN}-${EGIT_COMMIT}
+DESCRIPTION="Haskell implementation of pack compression from the early 1980s"
+HOMEPAGE="https://github.com/koalaman/pack/"
+SRC_URI="
+ https://github.com/koalaman/pack/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-lang/ghc:=
+"
+BDEPEND="
+ >=dev-haskell/cabal-1.10
+"
+
+CABAL_FILE=${S}/pack-compression.cabal
+
+src_prepare() {
+ sed -i -e '/base/s:&& <4.10::' "${CABAL_FILE}" || die
+ haskell-cabal_src_prepare
+ cabal-mksetup
+}
diff --git a/app-arch/par2cmdline-turbo/Manifest b/app-arch/par2cmdline-turbo/Manifest
new file mode 100644
index 000000000000..8156c6fb577c
--- /dev/null
+++ b/app-arch/par2cmdline-turbo/Manifest
@@ -0,0 +1,2 @@
+DIST par2cmdline-turbo-1.1.0.tar.gz 3879570 BLAKE2B 25aae3f30af8fd50d3acf34807151a4f948d2e54699c9c62ace3ac13376d680e1714f24bf2899f70cf58f59db85eb7278e96a8c9a926314e557567e5782acd8e SHA512 2999d21d446502ddc6c145dfa9f005d4f6bb5afcf7c40975759214c37936d0def7194c92b21591ee09845de43e8c4fbe14ae9f2a6401fbfe35c523cf2890103c
+DIST par2cmdline-turbo-1.1.1.tar.gz 3937861 BLAKE2B 3c7829bff1148ca4eab2259664827c491b0802cd76b95119f0381f4c8eb1532ff7207293b740a8e5ecd2a515f59f60696ddf0ce7e6b50f637f49495b852912af SHA512 bb919f885134a298ba14551e21cf89a91aee292e437133e6973bef09fb5dee9a9b45e76a59320bfede864438d3ac884699be7ca3f7234896a9da14cb07ffa89d
diff --git a/app-arch/par2cmdline-turbo/metadata.xml b/app-arch/par2cmdline-turbo/metadata.xml
new file mode 100644
index 000000000000..68bcf59d48c5
--- /dev/null
+++ b/app-arch/par2cmdline-turbo/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>joe@wt.gd</email>
+ <name>Joe Kappus</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">animetosho/par2cmdline-turbo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.0.ebuild b/app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.0.ebuild
new file mode 100644
index 000000000000..b696866e2dc9
--- /dev/null
+++ b/app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/animetosho/par2cmdline-turbo"
+else
+ SRC_URI="https://github.com/animetosho/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="par2cmdline × ParPar: speed focused par2cmdline fork"
+HOMEPAGE="https://github.com/animetosho/par2cmdline-turbo"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="openmp"
+
+RDEPEND="
+ !app-arch/par2cmdline
+"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.1.ebuild b/app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.1.ebuild
new file mode 100644
index 000000000000..b696866e2dc9
--- /dev/null
+++ b/app-arch/par2cmdline-turbo/par2cmdline-turbo-1.1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/animetosho/par2cmdline-turbo"
+else
+ SRC_URI="https://github.com/animetosho/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="par2cmdline × ParPar: speed focused par2cmdline fork"
+HOMEPAGE="https://github.com/animetosho/par2cmdline-turbo"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="openmp"
+
+RDEPEND="
+ !app-arch/par2cmdline
+"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/app-arch/par2cmdline-turbo/par2cmdline-turbo-9999.ebuild b/app-arch/par2cmdline-turbo/par2cmdline-turbo-9999.ebuild
new file mode 100644
index 000000000000..b696866e2dc9
--- /dev/null
+++ b/app-arch/par2cmdline-turbo/par2cmdline-turbo-9999.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/animetosho/par2cmdline-turbo"
+else
+ SRC_URI="https://github.com/animetosho/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="par2cmdline × ParPar: speed focused par2cmdline fork"
+HOMEPAGE="https://github.com/animetosho/par2cmdline-turbo"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="openmp"
+
+RDEPEND="
+ !app-arch/par2cmdline
+"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/app-arch/par2cmdline/Manifest b/app-arch/par2cmdline/Manifest
index 60182781215b..0e93c2d1291a 100644
--- a/app-arch/par2cmdline/Manifest
+++ b/app-arch/par2cmdline/Manifest
@@ -1,2 +1 @@
-DIST par2cmdline-0.8.0.tar.bz2 3130388 BLAKE2B acaa366288720d87115ed2b4470ada276ccdff8bc23d7cc8f7c8aab03f9dc992777fd0d67e39b877ed94b77cca679f5c9d2824c778f6481e71c7120a90b45cc0 SHA512 af91024dc80a4af0935c2fc0b867e57a8d3879d93146f52ab62d8bb105f2c637abe46c762302515417691d12144818446932c970d1018d2f10c0d4e1fa455020
DIST par2cmdline-0.8.1.tar.bz2 3213343 BLAKE2B 4778fd32012c61739e04a4e564eaedf48527c04b0d83c5467c34808913e81cd5459a6a5bfabe79ca74f520761ebd3592e80b714f3ef45cc98866da919757a176 SHA512 b33ee654bd14269afb02d48175abf183281270c3e0dad9ffcaa0aa69c4271715a85e550d6d56fe5460ebfe9a37dc53b7d2210cd79a6f55d3921dc5dd5972c846
diff --git a/app-arch/par2cmdline/files/par2cmdline-0.8.1-big-endian.patch b/app-arch/par2cmdline/files/par2cmdline-0.8.1-big-endian.patch
new file mode 100644
index 000000000000..e45f8f3235d1
--- /dev/null
+++ b/app-arch/par2cmdline/files/par2cmdline-0.8.1-big-endian.patch
@@ -0,0 +1,70 @@
+# backport upstream pr #144, fixes test failure on big endian archs;
+# see https://github.com/Parchive/par2cmdline/issues/143
+From 4f3576a314d7169912842ec9dc1e595e61e52653 Mon Sep 17 00:00:00 2001
+From: Michael Nahas <mike@nahas.com>
+Date: Tue, 11 Feb 2020 22:42:08 -0600
+Subject: [PATCH] Fix for Github issue #143. Test did not account for
+ endianness correctly.
+
+---
+ src/reedsolomon_test.cpp | 30 +++++++++++++++++++++++++++---
+ 1 file changed, 27 insertions(+), 3 deletions(-)
+
+diff --git a/src/reedsolomon_test.cpp b/src/reedsolomon_test.cpp
+index 1285b3c..c8d26e9 100644
+--- a/src/reedsolomon_test.cpp
++++ b/src/reedsolomon_test.cpp
+@@ -433,6 +433,23 @@ int test3() {
+
+
+ // Check that the correct constants are being used for Par2
++
++//The test pretends there are 10 input blocks ("NUM_IN") and 1
++//recovery block ("NUM_REC"), each 1024 bytes long ("BUF_SIZE"). These
++//are all stored in data[11][BUF_SIZE], with the input blocks
++//occupying data[0] through data[9] and the recovery block in
++//data[10].
++
++//The test zeroes out the input blocks and then writes a 1 into the
++//first location of the first input block, and into the second
++//location of the second input block, etc. It then generates the
++//recovery block using many calls to ReedSolomon. When that happens,
++//those 1s are multiplied by the coefficients for each input block. So
++//the first location of recovery block holds the coefficient for the
++//first input block, the second location has the coefficient for the
++//second input block, etc. Those values are checked against the
++//expected values passed to the function.
++
+ template<typename gtype, typename utype>
+ int test4(int NUM_IN, int *expected_bases) {
+ //const int NUM_IN = 10;
+@@ -448,8 +465,9 @@ int test4(int NUM_IN, int *expected_bases) {
+ for (int k = 0; k < BUF_SIZE; k++) {
+ data[i][k] = (u8)0;
+ }
+- // EXCEPT put a 1 in a different place for each file
+- ((gtype *)(&(data[i][0])))[i] = (utype) 1;
++ // EXCEPT write a (little endian) 1 in a different place for each file
++ // In the i-th file, it is written into the i-th location
++ data[i][sizeof(utype)*i] = (u8) 1;
+ }
+ // zero recovery
+ for (int j = 0; j < NUM_REC; j++) {
+@@ -488,7 +506,13 @@ int test4(int NUM_IN, int *expected_bases) {
+ // The recovery file has exponent 1 and should
+ // contain each base to the power 1.
+ for (int i = 0; i < NUM_IN; i++) {
+- int base = (utype) ((gtype *) &(data[NUM_IN+0][0]))[i];
++ // read little-endian value
++ utype v = 0;
++ for (int byte_index = 0; byte_index < sizeof(utype); byte_index++) {
++ u8 byte = data[NUM_IN+0][sizeof(utype)*i + byte_index];
++ v |= (((utype)byte) << (byte_index*8));
++ }
++ int base = v;
+ if (base != expected_bases[i]) {
+ cerr << "base at location " << i << " did not match expected." << endl;
+ cerr << " base = " << base << endl;
+--
+2.17.1
+
diff --git a/app-arch/par2cmdline/par2cmdline-0.8.0.ebuild b/app-arch/par2cmdline/par2cmdline-0.8.1-r1.ebuild
index 9432c3b8930f..2c68a78dc0f9 100644
--- a/app-arch/par2cmdline/par2cmdline-0.8.0.ebuild
+++ b/app-arch/par2cmdline/par2cmdline-0.8.1-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
@@ -14,7 +14,7 @@ SLOT="0"
KEYWORDS="amd64 ~arm ~hppa ppc ~ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="openmp"
-DOCS="AUTHORS ChangeLog README" # NEWS is empty, PORTING and ROADMAP are for building
+PATCHES=( "${FILESDIR}"/${P}-big-endian.patch )
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
diff --git a/app-arch/par2cmdline/par2cmdline-0.8.1.ebuild b/app-arch/par2cmdline/par2cmdline-0.8.1-r2.ebuild
index 02437534f1d5..e026448f3a80 100644
--- a/app-arch/par2cmdline/par2cmdline-0.8.1.ebuild
+++ b/app-arch/par2cmdline/par2cmdline-0.8.1-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -14,7 +14,7 @@ SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="openmp"
-DOCS="AUTHORS ChangeLog README" # NEWS is empty, PORTING and ROADMAP are for building
+PATCHES=( "${FILESDIR}"/${P}-big-endian.patch )
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
@@ -24,7 +24,6 @@ pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
-src_test() {
- # test22 fails when run in parallel
- emake -j1 check
+src_configure() {
+ econf $(use_enable openmp)
}
diff --git a/app-arch/patool/Manifest b/app-arch/patool/Manifest
index cdc0a89ce575..2bf03b744632 100644
--- a/app-arch/patool/Manifest
+++ b/app-arch/patool/Manifest
@@ -1 +1,4 @@
-DIST patool-1.12.tar.gz 69146 BLAKE2B e97f64b4ba41860c1f7e506f63f249adeb02974b71bf83eb1673ae1fd93b8f9b698818cb57f961b3d3a5d4e445c5e7a3a349db54e1eb11a8fc165ad07722ace9 SHA512 b8c67526ce79448de703b03ca9b363c0e04cfe56bfc6168bcb96202f95022b6bbcaa92be86a85ee9608070206acd09382b0dfd08a2f805c5e8e5683c7c3f18cc
+DIST patool-1.15.0.tar.gz 1993753 BLAKE2B 18dbbb6d73862778af9774b64f192e20d48f1454c078a2ab0bf9ccf12f3de988b7799c5e6116b1f49fe48b2512968789d363e37aa504d622a72c22a620398f5f SHA512 c7cbcd829a803025a99df67c8d4aca1d803d3bd8e06f2897c65bc0e2475fbd42e273654f978090fe4c2bbcac02e5d1f8e322cb90220e746ac9ef9d0755e0c717
+DIST patool-2.0.0.tar.gz 1987911 BLAKE2B a9c12f8083e82835792445f50e1e72f55e98c505f0019656cd00c1f882a860ae61c7484ea16c7744101b6a983c1934fad12dbb58af2a03e82d0ec4ceb417aa92 SHA512 c81a65fa89ff77ee80ae85fbc6868e5414d5141e47433028546273b3a231ce3240d6b30baae114247bc0ab0b3e4e91c6e127b8734eff9af8721abdae7f464ef5
+DIST patool-2.1.1.tar.gz 1991183 BLAKE2B f33c92c628ffcca349ad897c29cec935730aba7f2e9a5581acedb9b3ecb0bab22046cd16af9f2d2e605bc483c2dc624db01b52dea8459388a8b140b7f357b193 SHA512 3b51fe917da9672dbeae015852680b67e81ec35d609af3e465f0d53afb12c35bee885f4f3db4a135c01521cc70db182b27fc25320d141f96eaf098ba99524f63
+DIST patool-2.2.0.tar.gz 1995287 BLAKE2B ec7a188abfbfc2198e0171568324cb0e372a5629363aaeabfa404767f08062669028d6a9771e80370eb096677f3668da75923f7def7fbb4525f5ce7418cdf68a SHA512 eae774e7da2be13c7644038dc47457105caff7a51a9d3b99e38962dd26c0ace0129f1c0151c27766708ee9754049aec283873fd4a2e8647015a1a07acd48de60
diff --git a/app-arch/patool/metadata.xml b/app-arch/patool/metadata.xml
index 629eabc39515..198fc346c99a 100644
--- a/app-arch/patool/metadata.xml
+++ b/app-arch/patool/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>gentoo@chymera.eu</email>
- <name>Horea Christian</name>
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
diff --git a/app-arch/patool/patool-1.12.ebuild b/app-arch/patool/patool-1.12.ebuild
deleted file mode 100644
index dbb945711bd2..000000000000
--- a/app-arch/patool/patool-1.12.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} )
-
-inherit distutils-r1
-
-DESCRIPTION="Portable archive file manager"
-HOMEPAGE="http://wummel.github.io/patool/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
diff --git a/app-arch/patool/patool-1.15.0.ebuild b/app-arch/patool/patool-1.15.0.ebuild
new file mode 100644
index 000000000000..2aafb392ada6
--- /dev/null
+++ b/app-arch/patool/patool-1.15.0.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Portable archive file manager"
+HOMEPAGE="https://wummel.github.io/patool/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="
+ test? (
+ app-arch/arj
+ app-arch/bzip2
+ app-arch/bzip3
+ app-arch/cabextract
+ app-alternatives/cpio
+ app-arch/dpkg
+ app-arch/gzip
+ app-arch/lbzip2
+ app-arch/lcab
+ app-arch/lha
+ app-arch/libarchive
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip[rar]
+ app-arch/pbzip2
+ app-arch/pdlzip
+ app-arch/pigz
+ app-arch/plzip
+ app-arch/rpm
+ app-arch/rzip
+ app-arch/sharutils
+ app-arch/tar
+ app-arch/unace
+ app-arch/unadf
+ app-arch/unzip
+ app-arch/xdms
+ app-arch/xz-utils
+ app-arch/zip
+ app-arch/zpaq
+ app-arch/zstd
+ app-cdr/cdrtools
+ dev-libs/chmlib
+ media-libs/flac
+ media-sound/shorten
+ sys-apps/diffutils
+ sys-apps/file
+ sys-apps/grep
+ !elibc_musl? ( app-arch/rar )
+ !x86? (
+ app-arch/clzip
+ app-arch/lrzip
+ app-arch/unar
+ )
+ )
+"
+# Test dependencies which are packaged but can't be tested for various reasons.
+# app-arch/arc
+# app-arch/zoo
+# app-arch/zopfli
+# media-sound/mac
+
+# app-arch/rar is masked on musl
+# app-arch/clzip is unkeyworded on x86
+# app-arch/lrzip bug #916317 on x86
+# app-arch/unar is unkeyworded on x86
+
+# Unpackaged testable dependencies
+# archmage
+# genisoimage
+# lhasa
+# nomarch
+# pdzip2
+# py_{bz2,echo,gzip,tarfile,zipfile}
+# rpm2cpio
+# rzip
+# star
+# unalz
+# uncompress.real
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+
+ newdoc doc/README.txt README.md
+ doman doc/patool.1
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # zoo emits a non-zero exit status on a possibly false consistency check
+ # Zoo: WARNING: Archive header failed consistency check.
+ "tests/archives/test_zoo.py"
+ # Doesn't accept long arguments, such as those that files in ${S} would have.
+ # Too long argument: /var/tmp/portage/app-arch/patool-1.12_p20230424/work/patool-ab64562c8cdac34dfd69fcb6e30c8c0014282d11/tests/data/p.arc.foo
+ "tests/archives/test_arc.py"
+ # Error: 1002 (invalid input file)
+ "tests/archives/test_mac.py"
+ # AttributeError: module 'patoolib.programs.zopfli' has no attribute 'extract_gzip'
+ "tests/archives/test_zopfli.py"
+ )
+
+ if use elibc_musl; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_rar.py"
+ )
+ fi
+
+ if use x86; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_clzip.py"
+ # bug #916317
+ "tests/archives/test_lrzip.py::TestLrzip::test_lrzip"
+ )
+ fi
+
+ epytest
+}
diff --git a/app-arch/patool/patool-2.0.0.ebuild b/app-arch/patool/patool-2.0.0.ebuild
new file mode 100644
index 000000000000..2aafb392ada6
--- /dev/null
+++ b/app-arch/patool/patool-2.0.0.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Portable archive file manager"
+HOMEPAGE="https://wummel.github.io/patool/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="
+ test? (
+ app-arch/arj
+ app-arch/bzip2
+ app-arch/bzip3
+ app-arch/cabextract
+ app-alternatives/cpio
+ app-arch/dpkg
+ app-arch/gzip
+ app-arch/lbzip2
+ app-arch/lcab
+ app-arch/lha
+ app-arch/libarchive
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip[rar]
+ app-arch/pbzip2
+ app-arch/pdlzip
+ app-arch/pigz
+ app-arch/plzip
+ app-arch/rpm
+ app-arch/rzip
+ app-arch/sharutils
+ app-arch/tar
+ app-arch/unace
+ app-arch/unadf
+ app-arch/unzip
+ app-arch/xdms
+ app-arch/xz-utils
+ app-arch/zip
+ app-arch/zpaq
+ app-arch/zstd
+ app-cdr/cdrtools
+ dev-libs/chmlib
+ media-libs/flac
+ media-sound/shorten
+ sys-apps/diffutils
+ sys-apps/file
+ sys-apps/grep
+ !elibc_musl? ( app-arch/rar )
+ !x86? (
+ app-arch/clzip
+ app-arch/lrzip
+ app-arch/unar
+ )
+ )
+"
+# Test dependencies which are packaged but can't be tested for various reasons.
+# app-arch/arc
+# app-arch/zoo
+# app-arch/zopfli
+# media-sound/mac
+
+# app-arch/rar is masked on musl
+# app-arch/clzip is unkeyworded on x86
+# app-arch/lrzip bug #916317 on x86
+# app-arch/unar is unkeyworded on x86
+
+# Unpackaged testable dependencies
+# archmage
+# genisoimage
+# lhasa
+# nomarch
+# pdzip2
+# py_{bz2,echo,gzip,tarfile,zipfile}
+# rpm2cpio
+# rzip
+# star
+# unalz
+# uncompress.real
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+
+ newdoc doc/README.txt README.md
+ doman doc/patool.1
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # zoo emits a non-zero exit status on a possibly false consistency check
+ # Zoo: WARNING: Archive header failed consistency check.
+ "tests/archives/test_zoo.py"
+ # Doesn't accept long arguments, such as those that files in ${S} would have.
+ # Too long argument: /var/tmp/portage/app-arch/patool-1.12_p20230424/work/patool-ab64562c8cdac34dfd69fcb6e30c8c0014282d11/tests/data/p.arc.foo
+ "tests/archives/test_arc.py"
+ # Error: 1002 (invalid input file)
+ "tests/archives/test_mac.py"
+ # AttributeError: module 'patoolib.programs.zopfli' has no attribute 'extract_gzip'
+ "tests/archives/test_zopfli.py"
+ )
+
+ if use elibc_musl; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_rar.py"
+ )
+ fi
+
+ if use x86; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_clzip.py"
+ # bug #916317
+ "tests/archives/test_lrzip.py::TestLrzip::test_lrzip"
+ )
+ fi
+
+ epytest
+}
diff --git a/app-arch/patool/patool-2.1.1.ebuild b/app-arch/patool/patool-2.1.1.ebuild
new file mode 100644
index 000000000000..101960679d5f
--- /dev/null
+++ b/app-arch/patool/patool-2.1.1.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Portable archive file manager"
+HOMEPAGE="https://wummel.github.io/patool/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="
+ test? (
+ app-arch/arj
+ app-arch/bzip2
+ app-arch/bzip3
+ app-arch/cabextract
+ app-alternatives/cpio
+ app-arch/dpkg
+ app-arch/gzip
+ app-arch/lbzip2
+ app-arch/lcab
+ app-arch/lha
+ app-arch/libarchive
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip[rar]
+ app-arch/pbzip2
+ app-arch/pdlzip
+ app-arch/pigz
+ app-arch/plzip
+ app-arch/rpm
+ app-arch/rzip
+ app-arch/sharutils
+ app-arch/tar
+ app-arch/unace
+ app-arch/unadf
+ app-arch/unzip
+ app-arch/xdms
+ app-arch/xz-utils
+ app-arch/zip
+ app-arch/zopfli
+ app-arch/zpaq
+ app-arch/zstd
+ app-cdr/cdrtools
+ dev-libs/chmlib
+ media-libs/flac
+ media-sound/shorten
+ sys-apps/diffutils
+ sys-apps/file
+ sys-apps/grep
+ !elibc_musl? ( app-arch/rar )
+ !x86? (
+ app-arch/clzip
+ app-arch/lrzip
+ app-arch/unar
+ )
+ )
+"
+# Test dependencies which are packaged but can't be tested for various reasons.
+# app-arch/arc
+# app-arch/zoo
+# media-sound/mac
+
+# app-arch/rar is masked on musl
+# app-arch/clzip is unkeyworded on x86
+# app-arch/lrzip bug #916317 on x86
+# app-arch/unar is unkeyworded on x86
+
+# Unpackaged testable dependencies
+# archmage
+# genisoimage
+# lhasa
+# nomarch
+# pdzip2
+# py_{bz2,echo,gzip,tarfile,zipfile}
+# rpm2cpio
+# rzip
+# star
+# unalz
+# uncompress.real
+# 7zz ( app-arch/7zip:guru )
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+
+ newdoc doc/README.txt README.md
+ doman doc/patool.1
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # zoo emits a non-zero exit status on a possibly false consistency check
+ # Zoo: WARNING: Archive header failed consistency check.
+ "tests/archives/test_zoo.py"
+ # Doesn't accept long arguments, such as those that files in ${S} would have.
+ # Too long argument: /var/tmp/portage/app-arch/patool-1.12_p20230424/work/patool-ab64562c8cdac34dfd69fcb6e30c8c0014282d11/tests/data/p.arc.foo
+ "tests/archives/test_arc.py"
+ # Error: 1002 (invalid input file)
+ "tests/archives/test_mac.py"
+ )
+
+ if use elibc_musl; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_rar.py"
+ )
+ fi
+
+ if use x86; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_clzip.py"
+ # bug #916317
+ "tests/archives/test_lrzip.py::TestLrzip::test_lrzip"
+ )
+ fi
+
+ epytest
+}
diff --git a/app-arch/patool/patool-2.2.0.ebuild b/app-arch/patool/patool-2.2.0.ebuild
new file mode 100644
index 000000000000..101960679d5f
--- /dev/null
+++ b/app-arch/patool/patool-2.2.0.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Portable archive file manager"
+HOMEPAGE="https://wummel.github.io/patool/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="
+ test? (
+ app-arch/arj
+ app-arch/bzip2
+ app-arch/bzip3
+ app-arch/cabextract
+ app-alternatives/cpio
+ app-arch/dpkg
+ app-arch/gzip
+ app-arch/lbzip2
+ app-arch/lcab
+ app-arch/lha
+ app-arch/libarchive
+ app-arch/lz4
+ app-arch/lzip
+ app-arch/lzop
+ app-arch/ncompress
+ app-arch/p7zip[rar]
+ app-arch/pbzip2
+ app-arch/pdlzip
+ app-arch/pigz
+ app-arch/plzip
+ app-arch/rpm
+ app-arch/rzip
+ app-arch/sharutils
+ app-arch/tar
+ app-arch/unace
+ app-arch/unadf
+ app-arch/unzip
+ app-arch/xdms
+ app-arch/xz-utils
+ app-arch/zip
+ app-arch/zopfli
+ app-arch/zpaq
+ app-arch/zstd
+ app-cdr/cdrtools
+ dev-libs/chmlib
+ media-libs/flac
+ media-sound/shorten
+ sys-apps/diffutils
+ sys-apps/file
+ sys-apps/grep
+ !elibc_musl? ( app-arch/rar )
+ !x86? (
+ app-arch/clzip
+ app-arch/lrzip
+ app-arch/unar
+ )
+ )
+"
+# Test dependencies which are packaged but can't be tested for various reasons.
+# app-arch/arc
+# app-arch/zoo
+# media-sound/mac
+
+# app-arch/rar is masked on musl
+# app-arch/clzip is unkeyworded on x86
+# app-arch/lrzip bug #916317 on x86
+# app-arch/unar is unkeyworded on x86
+
+# Unpackaged testable dependencies
+# archmage
+# genisoimage
+# lhasa
+# nomarch
+# pdzip2
+# py_{bz2,echo,gzip,tarfile,zipfile}
+# rpm2cpio
+# rzip
+# star
+# unalz
+# uncompress.real
+# 7zz ( app-arch/7zip:guru )
+
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+
+ newdoc doc/README.txt README.md
+ doman doc/patool.1
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # zoo emits a non-zero exit status on a possibly false consistency check
+ # Zoo: WARNING: Archive header failed consistency check.
+ "tests/archives/test_zoo.py"
+ # Doesn't accept long arguments, such as those that files in ${S} would have.
+ # Too long argument: /var/tmp/portage/app-arch/patool-1.12_p20230424/work/patool-ab64562c8cdac34dfd69fcb6e30c8c0014282d11/tests/data/p.arc.foo
+ "tests/archives/test_arc.py"
+ # Error: 1002 (invalid input file)
+ "tests/archives/test_mac.py"
+ )
+
+ if use elibc_musl; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_rar.py"
+ )
+ fi
+
+ if use x86; then
+ EPYTEST_IGNORE+=(
+ "tests/archives/test_clzip.py"
+ # bug #916317
+ "tests/archives/test_lrzip.py::TestLrzip::test_lrzip"
+ )
+ fi
+
+ epytest
+}
diff --git a/app-arch/pax/pax-20201030.ebuild b/app-arch/pax/pax-20201030.ebuild
index af1a475b6593..b22da9159947 100644
--- a/app-arch/pax/pax-20201030.ebuild
+++ b/app-arch/pax/pax-20201030.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ SRC_URI="https://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-${PV}.cpio.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="elibc_musl? ( sys-libs/fts-standalone )"
DEPEND="${RDEPEND}"
diff --git a/app-arch/pbzip2/metadata.xml b/app-arch/pbzip2/metadata.xml
index 7c03138eba00..58c362b73a80 100644
--- a/app-arch/pbzip2/metadata.xml
+++ b/app-arch/pbzip2/metadata.xml
@@ -1,13 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <use>
- <flag name="symlink">Install symlinks which override <pkg>app-arch/bzip2</pkg> implementation</flag>
- </use>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="launchpad">pbzip2</remote-id>
</upstream>
diff --git a/app-arch/pbzip2/pbzip2-1.1.13.ebuild b/app-arch/pbzip2/pbzip2-1.1.13.ebuild
index 2cf98bba0e39..45b38f64b96d 100644
--- a/app-arch/pbzip2/pbzip2-1.1.13.ebuild
+++ b/app-arch/pbzip2/pbzip2-1.1.13.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -11,13 +11,11 @@ SRC_URI="https://launchpad.net/pbzip2/${PV:0:3}/${PV}/+download/${P}.tar.gz"
LICENSE="BZIP2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="static symlink"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="static"
LIB_DEPEND="app-arch/bzip2[static-libs(+)]"
-RDEPEND="
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
- symlink? ( !app-arch/lbzip2[symlink] )"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND} )"
@@ -39,11 +37,4 @@ src_configure() {
src_install() {
emake DESTDIR="${ED}" install
dodoc AUTHORS ChangeLog README
-
- if use symlink ; then
- local s
- for s in bzip2 bunzip2 bzcat ; do
- dosym pbzip2 /usr/bin/${s}
- done
- fi
}
diff --git a/app-arch/pdlzip/Manifest b/app-arch/pdlzip/Manifest
index fb4c226eae0a..a37f3abf8412 100644
--- a/app-arch/pdlzip/Manifest
+++ b/app-arch/pdlzip/Manifest
@@ -1,2 +1,2 @@
-DIST pdlzip-1.10.tar.gz 62416 BLAKE2B 7e8a4bc5793e10a819e911535149336138473b30b552e6d728b3f547e13e34540ac8fa91d84656c3feeb2816c06cd636cf3eafc5b031cca2b63e704a8f7f6ee8 SHA512 a0da45df3af68176d1ebceccba833d0d41b04750d37e90b3da6f1bdc98a41fffcb8e0ce04a296a31351aa7babd1dcaddf08f616d103970ad5fbf13e469f287ad
-DIST pdlzip-1.11.tar.gz 73641 BLAKE2B 32b59f7ce1eb70916cba96444234fa95c4c798b00f32f54c0ec51e6c6558c7b01ee118f82c011a6d642a58b11b5f270bffe21df8d9b62478b809a84abe51164a SHA512 8fc3639ab1367026d9b5185d2f9db321b1eccfb2f2f3eebc22a41b10b2a824e598dd81d9d701923a7f55943501189b11f4ec00b0187dbadd56b06e329b750075
+DIST pdlzip-1.13.tar.gz 74681 BLAKE2B 459b1be6c1526c9fe10f9208f7e9ecb0316304ff7d484991fd4a6c786efcef7ff46ce1e5f11c2df5aab403ebe047baf2c3f037b77b67f0601f176e718c61849e SHA512 3fdcfb3be40df564163fd429cefddaccc0b0dc487e8c9c0fb6ca79a26a875f6cfb3cf051b3a155467b333a54b7512ce1604249ae5b198414da5757b723110dd5
+DIST pdlzip-1.13.tar.gz.sig 72 BLAKE2B 666f80542b88c41af8a5e4b9df459ae2c804fd0500997092389efbc7c2f8ae615805a9fe915066eef77b3052fc75a21ec077500767679a9c8460c25adc4f688b SHA512 8b70f96c38db86f6d2dded432bad50875d29abeacc587db1ab6cdacb9c684130a46ca07abaf030e95cf09ac9bdd9ecc14a2360979e928194a9345525dcf1a191
diff --git a/app-arch/pdlzip/pdlzip-1.11.ebuild b/app-arch/pdlzip/pdlzip-1.11.ebuild
deleted file mode 100644
index 521219ce7f4b..000000000000
--- a/app-arch/pdlzip/pdlzip-1.11.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Public-domain version of lzip compressor"
-HOMEPAGE="https://www.nongnu.org/lzip/pdlzip.html"
-SRC_URI="https://download.savannah.gnu.org/releases/lzip/pdlzip/${P}.tar.gz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~mips ~x86"
-IUSE=""
-
-src_configure() {
- local myconf=(
- --prefix="${EPREFIX}"/usr
- CC="$(tc-getCC)"
- CFLAGS="${CFLAGS}"
- CPPFLAGS="${CPPFLAGS}"
- LDFLAGS="${LDFLAGS}"
- )
-
- # not autotools-based
- ./configure "${myconf[@]}" || die
-}
diff --git a/app-arch/pdlzip/pdlzip-1.10.ebuild b/app-arch/pdlzip/pdlzip-1.13.ebuild
index 058c99d67e73..550b7b157c6b 100644
--- a/app-arch/pdlzip/pdlzip-1.10.ebuild
+++ b/app-arch/pdlzip/pdlzip-1.13.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
DESCRIPTION="Public-domain version of lzip compressor"
HOMEPAGE="https://www.nongnu.org/lzip/pdlzip.html"
SRC_URI="https://download.savannah.gnu.org/releases/lzip/pdlzip/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P/_/-}.tar.gz.sig )"
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~amd64 ~mips ~x86"
-IUSE=""
+KEYWORDS="amd64 ~mips x86"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
src_configure() {
local myconf=(
diff --git a/app-arch/pdv/files/pdv-1.5.1-missing-prototype.patch b/app-arch/pdv/files/pdv-1.5.1-missing-prototype.patch
new file mode 100644
index 000000000000..d35ddedfda74
--- /dev/null
+++ b/app-arch/pdv/files/pdv-1.5.1-missing-prototype.patch
@@ -0,0 +1,19 @@
+Add missing prototype to a common header file.
+
+Bug: https://bugs.gentoo.org/882157
+
+diff --git a/X11/xmpdvmkpkg.h b/X11/xmpdvmkpkg.h
+index abaaa47..fd6c6f5 100644
+--- a/X11/xmpdvmkpkg.h
++++ b/X11/xmpdvmkpkg.h
+@@ -76,6 +76,7 @@ extern Widget g_statusw;
+ void spectowidgets(void);
+ void widgetstospec(struct pdvspec_st *spec);
+ int cmpspecandwidgets(void);
++void statusmsg(char *fmt, ...);
+ void xu_SetMainTitle(const char *newtitle, const char *newprefix
+ , Widget topshell);
+
+--
+2.41.0
+
diff --git a/app-arch/pdv/files/pdv-1.5.1-no-strip.patch b/app-arch/pdv/files/pdv-1.5.1-no-strip.patch
index 630bf5eb7c36..4beaeb1c4889 100644
--- a/app-arch/pdv/files/pdv-1.5.1-no-strip.patch
+++ b/app-arch/pdv/files/pdv-1.5.1-no-strip.patch
@@ -1,13 +1,12 @@
-diff -ur pdv-1.5.1-orig/pdv.c pdv-1.5.1/pdv.c
---- pdv-1.5.1-orig/Makefile.in 2008-12-06 23:17:46.000000000 -0800
-+++ pdv-1.5.1/Makefile.in 2008-12-06 23:18:37.000000000 -0800
-@@ -536,7 +536,8 @@
+diff --git a/extra.mk b/extra.mk
+index 65f6e72..e681adb 100644
+--- a/extra.mk
++++ b/extra.mk
+@@ -11,7 +11,6 @@ pdv_fixed.c : Makefile
touch $@
pdv_fixed : pdv_fixed.c pdv
- $(STRIPBIN) pdv
-+ # let portage decide whether to strip binaries
-+ #$(STRIPBIN) pdv
printf "%-5.5s" $$VERSION >> pdv
printf "\000\000\000\000\000\000\000\000" >> pdv
sleep 1
diff --git a/app-arch/pdv/pdv-1.5.1-r3.ebuild b/app-arch/pdv/pdv-1.5.1-r5.ebuild
index 8b712196c4de..dc90318206d0 100644
--- a/app-arch/pdv/pdv-1.5.1-r3.ebuild
+++ b/app-arch/pdv/pdv-1.5.1-r5.ebuild
@@ -1,58 +1,61 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit autotools toolchain-funcs
DESCRIPTION="build a self-extracting and self-installing binary package"
-HOMEPAGE="https://sourceforge.net/projects/pdv"
+HOMEPAGE="https://sourceforge.net/projects/pdv/"
SRC_URI="mirror://sourceforge/pdv/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~hppa ppc x86 ~x86-linux ~ppc-macos"
-IUSE="X"
+IUSE="gui"
-DEPEND="
- X? (
+RDEPEND="
+ gui? (
>=x11-libs/motif-2.3:0
>=x11-libs/libX11-1.0.0
>=x11-libs/libXt-1.0.0
- >=x11-libs/libXext-1.0.0 )
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
+ >=x11-libs/libXext-1.0.0
+ )"
+DEPEND="${RDEPEND}"
+PATCHES=(
# fix a size-of-variable bug
- eapply "${FILESDIR}"/${P}-opt.patch
+ "${FILESDIR}"/${P}-opt.patch
# fix a free-before-use bug
- eapply "${FILESDIR}"/${P}-early-free.patch
+ "${FILESDIR}"/${P}-early-free.patch
# fix a configure script bug
- eapply "${FILESDIR}"/${P}-x-config.patch
+ "${FILESDIR}"/${P}-x-config.patch
# fix default args bug from assuming 'char' is signed
- eapply "${FILESDIR}"/${P}-default-args.patch
+ "${FILESDIR}"/${P}-default-args.patch
# prevent pre-stripped binaries
- eapply "${FILESDIR}"/${P}-no-strip.patch
+ "${FILESDIR}"/${P}-no-strip.patch
+ # missing function prototype, see bug #882157
+ "${FILESDIR}"/${P}-missing-prototype.patch
+)
+
+src_prepare() {
+ default
# re-build configure script since patch was applied to configure.in
- cd "${S}"/X11
- mv configure.in configure.ac || die
+ # and to refresh old compiler checks, see bugs #880351 and #906002
eautoreconf
- tc-export CC
}
src_configure() {
- local myconf=""
- use X || myconf="--without-x" # configure script is broken, cant use use_with
- econf ${myconf}
+ tc-export CC
+
+ econf $(usev !gui --without-x) # configure script is broken, cant use use_with
}
src_install() {
dobin pdv pdvmkpkg
doman pdv.1 pdvmkpkg.1
- if use X ; then
+ if use gui ; then
dobin X11/xmpdvmkpkg
doman xmpdvmkpkg.1
fi
diff --git a/app-arch/pigz/Manifest b/app-arch/pigz/Manifest
index 33a88c53276c..4fddcc524d11 100644
--- a/app-arch/pigz/Manifest
+++ b/app-arch/pigz/Manifest
@@ -1 +1,2 @@
-DIST pigz-2.6.tar.gz 106840 BLAKE2B 8e1a8ca593896fc947a7d6ffaa71d9be69d347f7cf1ed2f635b8480aa05708f4679a4768cf3a18ac515ea94dd8352dd4158bd3c9d1b6fdebd82ad1b582d04cba SHA512 04d2e44bc7a7eb061c3c48100ce5b8fc79931aeac72340abd768fd2a4499ff1004e2bc009772fc2003a4c599f6e90f3abc8bef5c377d6397f1c8e9f7c49f95e2
+DIST pigz-2.8.tar.gz 121304 BLAKE2B 9f1ae8b5e0dd9d9b1f17bcdbc41d8a9d50fd9b9ba7c50eb0bc1b738105d05cc396d9ce8e01f58f6b2fa7247a7c7e9926c602a613b1bb3e3a117c8f5c919ce640 SHA512 ae3d9d593e1645d65f9ab77aa828600c9af4bb30d0a073da7ae3dd805e65b87efaf6a0efb980f2d0168e475ae506eba194547d6479956dabb9d88293a9078a7f
+DIST pigz-2.8.tar.gz.asc 235 BLAKE2B eb204079597d3e958da3672ba7f92481848bb7824da12b9306ff180add107175bed7bdd435dbc270170769a489c34a033d6ff547e8203cf1d71df6564381b43d SHA512 cb1dbca21d8fed25049693de02abf7489f61407d85f9a52d566c14e0194c6c393aed3edd2fd716d0ecedf7eeead6ae89d0cecc236caacd98740d14bd71e078db
diff --git a/app-arch/pigz/metadata.xml b/app-arch/pigz/metadata.xml
index 90b45f869af8..6c4468bab2b9 100644
--- a/app-arch/pigz/metadata.xml
+++ b/app-arch/pigz/metadata.xml
@@ -2,17 +2,14 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
</maintainer>
<longdescription lang="en">
pigz, which stands for parallel implementation of gzip,
is a fully functional replacement for gzip that exploits
multiple processors and multiple cores to the hilt when compressing data.
</longdescription>
- <use>
- <flag name="symlink">Install symlinks which override <pkg>app-arch/gzip</pkg> implementation</flag>
- </use>
<upstream>
<remote-id type="cpe">cpe:/a:zlib:pigz</remote-id>
<remote-id type="github">madler/pigz</remote-id>
diff --git a/app-arch/pigz/pigz-2.6.ebuild b/app-arch/pigz/pigz-2.6.ebuild
deleted file mode 100644
index 73d2eb703ca9..000000000000
--- a/app-arch/pigz/pigz-2.6.ebuild
+++ /dev/null
@@ -1,39 +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
-
-DESCRIPTION="A parallel implementation of gzip"
-HOMEPAGE="https://www.zlib.net/pigz/"
-SRC_URI="https://www.zlib.net/pigz/${P}.tar.gz"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~sparc64-solaris"
-IUSE="static symlink test"
-RESTRICT="!test? ( test )"
-
-LIB_DEPEND="sys-libs/zlib[static-libs(+)]"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- test? ( app-arch/ncompress )"
-
-src_compile() {
- use static && append-ldflags -static
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
-}
-
-src_install() {
- dobin ${PN}
- dosym ${PN} /usr/bin/un${PN}
- dodoc README
- doman ${PN}.1
-
- if use symlink; then
- dosym ${PN} /usr/bin/gzip
- dosym un${PN} /usr/bin/gunzip
- fi
-}
diff --git a/app-arch/pigz/pigz-2.8.ebuild b/app-arch/pigz/pigz-2.8.ebuild
new file mode 100644
index 000000000000..3f8b6a274058
--- /dev/null
+++ b/app-arch/pigz/pigz-2.8.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/madler.asc
+inherit toolchain-funcs flag-o-matic verify-sig
+
+DESCRIPTION="A parallel implementation of gzip"
+HOMEPAGE="https://www.zlib.net/pigz/"
+SRC_URI="
+ https://www.zlib.net/pigz/${P}.tar.gz
+ verify-sig? ( https://www.zlib.net/pigz/${P}-sig.txt -> ${P}.tar.gz.asc )
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos"
+IUSE="static test"
+RESTRICT="!test? ( test )"
+
+LIB_DEPEND=">=sys-libs/zlib-1.2.3[static-libs(+)]"
+RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+DEPEND="
+ ${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+ test? ( app-arch/ncompress )
+"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-madler )"
+
+src_compile() {
+ use static && append-ldflags -static
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin ${PN}
+ dosym ${PN} /usr/bin/un${PN}
+ dodoc README
+ doman ${PN}.1
+}
diff --git a/app-arch/pixz/pixz-1.0.7.ebuild b/app-arch/pixz/pixz-1.0.7-r1.ebuild
index 3be55349c9ab..42b11e22d697 100644
--- a/app-arch/pixz/pixz-1.0.7.ebuild
+++ b/app-arch/pixz/pixz-1.0.7-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic
-if [[ ${PV} == "9999" ]] ; then
+if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/vasi/${PN}.git"
inherit git-r3 autotools
else
SRC_URI="https://github.com/vasi/pixz/releases/download/v${PV}/${P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="Parallel Indexed XZ compressor"
@@ -27,25 +27,37 @@ LIB_DEPEND="
RDEPEND="
!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
static? ( ${LIB_DEPEND} )
"
-[[ ${PV} == "9999" ]] && BDEPEND+=" app-text/asciidoc"
+[[ ${PV} == 9999 ]] && BDEPEND+=" app-text/asciidoc"
src_prepare() {
default
+
+ # We're not interested in linting tests for our purposes (bug #915008)
+ cat > test/cppcheck-src.sh <<-EOF || die
+ #!/bin/sh
+ exit 77
+ EOF
+
[[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
use static && append-ldflags -static
append-flags -std=gnu99
+
# Workaround silly logic that breaks cross-compiles.
# https://github.com/vasi/pixz/issues/67
export ac_cv_file_src_pixz_1=$([[ -f src/pixz.1 ]] && echo yes || echo no)
econf
}
-src_test() {
- emake check
+src_install() {
+ default
+
+ # https://github.com/vasi/pixz/issues/94
+ [[ ${PV} == "9999" ]] || doman src/pixz.1
}
diff --git a/app-arch/pixz/pixz-9999.ebuild b/app-arch/pixz/pixz-9999.ebuild
index c6564c5abe3d..10a369c58a13 100644
--- a/app-arch/pixz/pixz-9999.ebuild
+++ b/app-arch/pixz/pixz-9999.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit flag-o-matic
-if [[ ${PV} == "9999" ]] ; then
+if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/vasi/${PN}.git"
inherit git-r3 autotools
else
SRC_URI="https://github.com/vasi/pixz/releases/download/v${PV}/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
DESCRIPTION="Parallel Indexed XZ compressor"
@@ -27,25 +27,34 @@ LIB_DEPEND="
RDEPEND="
!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
static? ( ${LIB_DEPEND} )
"
-[[ ${PV} == "9999" ]] && BDEPEND+=" app-text/asciidoc"
+[[ ${PV} == 9999 ]] && BDEPEND+=" app-text/asciidoc"
src_prepare() {
default
+
+ # We're not interested in linting tests for our purposes (bug #915008)
+ cat > test/cppcheck-src.sh <<-EOF || die
+ #!/bin/sh
+ exit 77
+ EOF
+
[[ ${PV} == "9999" ]] && eautoreconf
}
src_configure() {
use static && append-ldflags -static
append-flags -std=gnu99
- # Workaround silly logic that breaks cross-compiles.
- # https://github.com/vasi/pixz/issues/67
- export ac_cv_file_src_pixz_1=$([[ -f src/pixz.1 ]] && echo yes || echo no)
+
econf
}
-src_test() {
- emake check
+src_install() {
+ default
+
+ # https://github.com/vasi/pixz/issues/94
+ [[ ${PV} == "9999" ]] || doman src/pixz.1
}
diff --git a/app-arch/plzip/Manifest b/app-arch/plzip/Manifest
index 17b0e2c6c697..946d5852dbf0 100644
--- a/app-arch/plzip/Manifest
+++ b/app-arch/plzip/Manifest
@@ -1,2 +1,2 @@
-DIST plzip-1.8.tar.gz 72365 BLAKE2B 66b8881b6c70932c66e40edab22235103d671a870c980c0b0b08754e94fbc1b2d0f2eeb26deac4f27fbc89d69c3b588bd51cb973b7b59cbb2d0f6ab4cc9a115d SHA512 e8e822f8ae77e06178538b62075fa1c5d9cbc76c78bee7ad595a4637cd4077f53fd9e3fe61ca3fbddaa8b950e739d97527dc8fbecae04de1ac3ef83d0d5f13b4
-DIST plzip-1.9.tar.gz 93312 BLAKE2B a5b9a81cfffa17eca9a4cf4d6b037ad943235022142bd053ec8bcfc4dd99b2b730d69332fa54187ba7704266666efde52d23e13f91c290b9cddb96a87023173e SHA512 3bca603ba6337462bde3967e7c7a7e66287f3a71adf8db987429fcdcb06ebbb90b52e666a7f98ac699bc158cbda21a9cce02490131d33fc44171b84ebb3a4a19
+DIST plzip-1.11.tar.gz 96572 BLAKE2B 8de36791390c7b71cd42866a8be4503d601a94ca89a23355be48dff75bf8a6b34b260eea4b1e5ef68e63d20b8dfd6f5acd1e60a9b51290425f22c7a9905469ae SHA512 3a0f0443e68a6b776d85b69ed24d21e03d7bad1b788d6e8f741cc0ebb2537aebde2d68aa6765bcb4d61df6521779af27d176f5ef348014fa3088aa219d5ec691
+DIST plzip-1.11.tar.gz.sig 72 BLAKE2B b7543e93c7736135c95b179472c85226af4b489daa686ede710ac03dc1fb9c3cc31bfcff5452cdf855eb49d00f6548214e94143ed19f8d8420bd05bcb72ae1f9 SHA512 458edf3fb78716cb39164761b2f90cd32011ec2634370791918adc4845b377563f76a32fda9b99e478fb52a0b05c4dc6d4d8df5098da0c95670f205fa4a56511
diff --git a/app-arch/plzip/plzip-1.8.ebuild b/app-arch/plzip/plzip-1.11.ebuild
index 87f3445f1964..049c9fdd7ab5 100644
--- a/app-arch/plzip/plzip-1.8.ebuild
+++ b/app-arch/plzip/plzip-1.11.ebuild
@@ -1,21 +1,23 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit toolchain-funcs
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/antoniodiazdiaz.asc
+inherit toolchain-funcs verify-sig
DESCRIPTION="Parallel lzip compressor"
HOMEPAGE="https://www.nongnu.org/lzip/plzip.html"
SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.gz.sig )"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE=""
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
RDEPEND="app-arch/lzlib:0="
-DEPEND=${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-antoniodiazdiaz )"
src_configure() {
local myconf=(
diff --git a/app-arch/plzip/plzip-1.9.ebuild b/app-arch/plzip/plzip-1.9.ebuild
deleted file mode 100644
index 07980c802cd0..000000000000
--- a/app-arch/plzip/plzip-1.9.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Parallel lzip compressor"
-HOMEPAGE="https://www.nongnu.org/lzip/plzip.html"
-SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE=""
-
-RDEPEND="app-arch/lzlib:0="
-DEPEND=${RDEPEND}
-
-src_configure() {
- local myconf=(
- --prefix="${EPREFIX}"/usr
- CXX="$(tc-getCXX)"
- CPPFLAGS="${CPPFLAGS}"
- CXXFLAGS="${CXXFLAGS}"
- LDFLAGS="${LDFLAGS}"
- )
-
- # not autotools-based
- ./configure "${myconf[@]}" || die
-}
diff --git a/app-arch/pure-sfv/files/pure-sfv-0.3-fix-build-system.patch b/app-arch/pure-sfv/files/pure-sfv-0.3-fix-build-system.patch
index ca2143f1f956..b7f6771b5ed9 100644
--- a/app-arch/pure-sfv/files/pure-sfv-0.3-fix-build-system.patch
+++ b/app-arch/pure-sfv/files/pure-sfv-0.3-fix-build-system.patch
@@ -1,10 +1,11 @@
--- a/Makefile
+++ b/Makefile
-@@ -54,18 +54,16 @@
+@@ -54,18 +54,17 @@
VC_CRAP = pure-sfv.ncb pure-sfv.plg
-CFLAGS += -Wall -Werror -O2 -g -Wno-unused
++CFLAGS += -Wall -Wno-unused
INSTALL_PREFIX = /usr/local
INSTALL_PROGRAM = /usr/bin/install -c
diff --git a/app-arch/pure-sfv/pure-sfv-0.3-r1.ebuild b/app-arch/pure-sfv/pure-sfv-0.3-r2.ebuild
index f28c6df42ec4..e10b8d93b4f1 100644
--- a/app-arch/pure-sfv/pure-sfv-0.3-r1.ebuild
+++ b/app-arch/pure-sfv/pure-sfv-0.3-r2.ebuild
@@ -1,25 +1,23 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit flag-o-matic toolchain-funcs
+inherit toolchain-funcs
DESCRIPTION="utility to test and create .sfv files and create .par files"
-HOMEPAGE="http://pure-sfv.sourceforge.net/"
+HOMEPAGE="https://pure-sfv.sourceforge.net/"
SRC_URI="mirror://sourceforge/pure-sfv/${PN}_${PV}_src.tar.gz"
+S="${WORKDIR}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~hppa ppc x86"
-IUSE=""
RESTRICT="test"
-S=${WORKDIR}
PATCHES=( "${FILESDIR}"/${PN}-0.3-fix-build-system.patch )
src_configure() {
- append-cflags -Wall -Wno-unused
tc-export CC
}
diff --git a/app-arch/pxz/Manifest b/app-arch/pxz/Manifest
index 5fd2bc75ba2c..bdad03e15579 100644
--- a/app-arch/pxz/Manifest
+++ b/app-arch/pxz/Manifest
@@ -1 +1 @@
-DIST pxz-5.0_pre20151029.tar.gz 12271 BLAKE2B 6ba2cb7629b0475761b59620375a2d0de7c6a3a61f7af20140e214383f737e046c45f0c602830c0331794fe1d38332d8d309ed0b8451e3a780ef1a2835de85e6 SHA512 d26bfdf9b70baf91c575e21824920cb42d0a9bd171254b99147a6e5e322ed3d1f7351a570358213431bdacdcbe6e7b22646a2dd2d7a127e167c8237bc4f3038a
+DIST pxz-5.0_pre20220509.tar.gz 12375 BLAKE2B 5d954d4cd1b139dc94a9ecc5aa99c19a1484812eb62fce089b8f33bfc0ce3ed3ad8053cdc58843c429a365439cd13b3a4b14ebc34de7f2a99deae7cd995cd4e6 SHA512 b1de877d2b8ee9ea5190af4c1a0dc97f7777c35a084137db6d86e23de99b332ea361a82ed995ac2ea12b7bf0670ae92a822235be3b19a1145b6cf5604074f960
diff --git a/app-arch/pxz/files/pxz-5.0_pre20220509-fix-xz-path.patch b/app-arch/pxz/files/pxz-5.0_pre20220509-fix-xz-path.patch
new file mode 100644
index 000000000000..76e1f1506157
--- /dev/null
+++ b/app-arch/pxz/files/pxz-5.0_pre20220509-fix-xz-path.patch
@@ -0,0 +1,21 @@
+https://bugs.gentoo.org/887255
+https://github.com/jnovy/pxz/issues/34
+https://github.com/jnovy/pxz/pull/40
+
+From 20014a968d2330ac90f48fc2091e15a44cb1e759 Mon Sep 17 00:00:00 2001
+From: Tobias Faller <fallert@tf.uni-freiburg.de>
+Date: Tue, 20 Dec 2022 22:41:59 +0100
+Subject: [PATCH] Updated default path for xz binary
+
+--- a/pxz.c
++++ b/pxz.c
+@@ -43,7 +43,7 @@
+ #endif
+
+ #ifndef XZ_BINARY
+-#define XZ_BINARY "xz"
++#define XZ_BINARY "/usr/bin/xz"
+ #endif
+
+ #define BUFFSIZE 0x10000
+
diff --git a/app-arch/pxz/metadata.xml b/app-arch/pxz/metadata.xml
index 8aaea027cbbd..c9d7bc294a84 100644
--- a/app-arch/pxz/metadata.xml
+++ b/app-arch/pxz/metadata.xml
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
-<email>chutzpah@gentoo.org</email>
-<name>Patrick McLean</name>
-</maintainer>
-<longdescription lang="en">
-Parallel XZ is a compression utility that takes advantage of running LZMA
-compression of different parts of an input file on multiple cores and
-processors simultaneously. Its primary goal is to utilize all resources
-to speed up compression time with minimal possible influence on compression
-ratio.
-</longdescription>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <longdescription lang="en">
+ Parallel XZ is a compression utility that takes advantage of running LZMA
+ compression of different parts of an input file on multiple cores and
+ processors simultaneously. Its primary goal is to utilize all resources
+ to speed up compression time with minimal possible influence on compression
+ ratio.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">jnovy/pxz</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/pxz/pxz-5.0_pre20151029.ebuild b/app-arch/pxz/pxz-5.0_pre20151029.ebuild
deleted file mode 100644
index 1ae6092ecb65..000000000000
--- a/app-arch/pxz/pxz-5.0_pre20151029.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs vcs-snapshot
-
-DESCRIPTION="Parallel implementation of the XZ compression utility"
-HOMEPAGE="http://jnovy.fedorapeople.org/pxz/"
-SRC_URI="https://github.com/jnovy/pxz/archive/fcfea93957d96b7661d1439cf4b767ecfd341eed.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux"
-IUSE=""
-
-# needs the library from xz-utils
-# needs the libgomp library from gcc at runtime
-RDEPEND="app-arch/xz-utils
- sys-devel/gcc:*[openmp]"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- tc-check-openmp
- tc-export CC
- export BINDIR="${EPREFIX}"/usr/bin
- export MANDIR="${EPREFIX}"/usr/share/man
- default_src_prepare
-}
diff --git a/app-arch/pxz/pxz-5.0_pre20220509-r1.ebuild b/app-arch/pxz/pxz-5.0_pre20220509-r1.ebuild
new file mode 100644
index 000000000000..0968ba7b2f96
--- /dev/null
+++ b/app-arch/pxz/pxz-5.0_pre20220509-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs prefix vcs-snapshot
+
+PXZ_COMMIT="136e5c25daf545753329d7cee1b06ae482fb9c44"
+DESCRIPTION="Parallel implementation of the XZ compression utility"
+HOMEPAGE="https://jnovy.fedorapeople.org/pxz/"
+SRC_URI="https://github.com/jnovy/pxz/archive/${PXZ_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux"
+
+# Needs the library from xz-utils
+RDEPEND="app-arch/xz-utils"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.0_pre20220509-fix-xz-path.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ # bug #887255
+ eprefixify pxz.c
+
+ if use elibc_musl ; then
+ sed -i -e '/<error.h>/c\#define error(R,E,S,...) fprintf(stderr, S "\\n", ##__VA_ARGS__); exit(R)' pxz.c || die
+ fi
+}
+
+src_configure() {
+ tc-export CC
+ export BINDIR="${EPREFIX}"/usr/bin
+ export MANDIR="${EPREFIX}"/usr/share/man
+}
diff --git a/app-arch/pxz/pxz-9999.ebuild b/app-arch/pxz/pxz-9999.ebuild
deleted file mode 100644
index 24f23c3bd088..000000000000
--- a/app-arch/pxz/pxz-9999.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit toolchain-funcs flag-o-matic
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/jnovy/pxz.git"
- inherit git-r3
-else
- MY_PV=${PV/_}
- case ${MY_PV} in
- *beta?*) MY_PV="${MY_PV/beta/beta.}git" ;;
- esac
- MY_P="${PN}-${MY_PV}"
- SRC_URI="https://jnovy.fedorapeople.org/pxz/${MY_P}.tar.xz"
- KEYWORDS="~amd64 ~x86"
- S=${WORKDIR}/${MY_P/beta*/beta}
-fi
-
-DESCRIPTION="parallel LZMA compressor (no parallel decompression!)"
-HOMEPAGE="https://jnovy.fedorapeople.org/pxz/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-# needs the library from xz-utils
-# needs the libgomp library from gcc at runtime
-DEPEND="app-arch/xz-utils
- sys-devel/gcc:*[openmp]"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- tc-check-openmp
- tc-export CC
- export BINDIR="${EPREFIX}"/usr/bin
- export MANDIR="${EPREFIX}"/usr/share/man
- default_src_prepare
-}
diff --git a/app-arch/qpress/Manifest b/app-arch/qpress/Manifest
index 012e32d902a3..6d228f011e70 100644
--- a/app-arch/qpress/Manifest
+++ b/app-arch/qpress/Manifest
@@ -1 +1 @@
-DIST qpress-11-source.zip 26998 BLAKE2B 08dd943f248f7211e8588fbaf7a2c2eee988d33b17aebfb5f1178647d80314fde576caec9b4aab67d69689f5931d086f88fd51204c1df6d3abc2cca583830380 SHA512 986754cca8bb2cdcfc7e197f7e123c6b2da90db840642a6385f14613f49f7ec6b2c18944838405fe35d5382d71fcd5d69050a036dda4c5de2e588d144e16ea6b
+DIST qpress-20220819.tar.gz 25150 BLAKE2B e19a2bca747ec48507288b1b1ad8e053cfb35558f5936dff4ff83c548a3ab613a640813fc3b793e7acb1b65f371af414635d7e469e92c014b580efce4f84ee90 SHA512 f9cf4f87c25fdaa9b8ed12bbfb8d95c3036a7c5c1a0548042ba460b79787a83d5cd2ad93f2da84e5b6715ade5e137024541a3f29e076d4236d0507e2c604113c
diff --git a/app-arch/qpress/files/qpress-1.1-fix-build-system.patch b/app-arch/qpress/files/qpress-1.1-fix-build-system.patch
deleted file mode 100644
index b6f7c0f2841b..000000000000
--- a/app-arch/qpress/files/qpress-1.1-fix-build-system.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- a/makefile
-+++ b/makefile
-@@ -1,2 +1 @@
--g++: qpress.cpp aio.cpp quicklz.c utilities.cpp
-- g++ -O3 -o qpress qpress.cpp aio.cpp quicklz.c utilities.cpp -lpthread
-\ No newline at end of file
-+qpress: aio.o quicklz.o utilities.o
diff --git a/app-arch/qpress/files/qpress-1.1-fix-includes.patch b/app-arch/qpress/files/qpress-1.1-fix-includes.patch
deleted file mode 100644
index 51bfee465aa9..000000000000
--- a/app-arch/qpress/files/qpress-1.1-fix-includes.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- a/qpress.cpp
-+++ b/qpress.cpp
-@@ -1,3 +1,4 @@
-+#include <unistd.h>
- /*
- qpress - portable high-speed file archiver
- Copyright Lasse Reinhold 2006-2010
diff --git a/app-arch/qpress/files/qpress-20220819-fix-build-system.patch b/app-arch/qpress/files/qpress-20220819-fix-build-system.patch
new file mode 100644
index 000000000000..3fb5750eac9b
--- /dev/null
+++ b/app-arch/qpress/files/qpress-20220819-fix-build-system.patch
@@ -0,0 +1,39 @@
+From 1627b18fdf76e978bdd05b985eb6efb1286fa1da Mon Sep 17 00:00:00 2001
+From: Davide Cavalca <dcavalca@fedoraproject.org>
+Date: Thu, 24 Nov 2022 16:13:30 -0800
+Subject: [PATCH] Rework makefile to ease packaging
+
+---
+ makefile | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/makefile b/makefile
+index 4890f9d..349fbb2 100755
+--- a/makefile
++++ b/makefile
+@@ -1,9 +1,20 @@
+-PREFIX = /usr/local
++DESTDIR ?=
++PREFIX ?= /usr/local
++CXX ?= g++
++CXXFLAGS ?= -O3 -Wall -Wextra -Werror
++LDFLAGS ?=
+
+-g++: qpress.cpp aio.cpp quicklz.c utilities.cpp
+- g++ -O3 -o qpress -x c quicklz.c -x c++ qpress.cpp aio.cpp utilities.cpp -lpthread -Wall -Wextra -Werror
++qpress: qpress.cpp aio.cpp quicklz.c utilities.cpp
++ $(CXX) $(CXXFLAGS) -o qpress -x c quicklz.c -x c++ qpress.cpp aio.cpp utilities.cpp -lpthread $(LDFLAGS)
+
+ install: qpress
+- install -m 0755 qpress $(PREFIX)/bin
++ install -D -p -m 0755 -t $(DESTDIR)$(PREFIX)/bin qpress
+
+-.PHONY: install g++
++clean:
++ rm -f qpress
++
++all: qpress
++
++g++: qpress
++
++.PHONY: clean install
diff --git a/app-arch/qpress/metadata.xml b/app-arch/qpress/metadata.xml
index c10db277fd54..ff29f9711f94 100644
--- a/app-arch/qpress/metadata.xml
+++ b/app-arch/qpress/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">PierreLvx/qpress</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/qpress/qpress-1.1.ebuild b/app-arch/qpress/qpress-1.1.ebuild
deleted file mode 100644
index 21904daf9eb3..000000000000
--- a/app-arch/qpress/qpress-1.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A portable file archiver using QuickLZ algorithm"
-HOMEPAGE="http://www.quicklz.com/"
-SRC_URI="http://www.quicklz.com/${PN}-${PV/./}-source.zip"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="app-arch/unzip"
-
-S="${WORKDIR}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1-fix-includes.patch
- "${FILESDIR}"/${PN}-1.1-fix-build-system.patch
-)
-
-src_configure() {
- tc-export CC CXX
- export LDLIBS="-lpthread"
-}
-
-src_install() {
- dobin ${PN}
-}
diff --git a/app-arch/qpress/qpress-20220819.ebuild b/app-arch/qpress/qpress-20220819.ebuild
new file mode 100644
index 000000000000..c7327d69a530
--- /dev/null
+++ b/app-arch/qpress/qpress-20220819.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A portable file archiver using QuickLZ algorithm"
+HOMEPAGE="https://github.com/PierreLvx/qpress"
+SRC_URI="https://github.com/PierreLvx/qpress/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-1 GPL-2 GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-build-system.patch"
+)
+
+src_install() {
+ dobin qpress
+ dodoc readme.md
+}
diff --git a/app-arch/rar/Manifest b/app-arch/rar/Manifest
index 13092167b782..aefd06729f16 100644
--- a/app-arch/rar/Manifest
+++ b/app-arch/rar/Manifest
@@ -1,3 +1,3 @@
-DIST rarlinux-6.0.2_p20210611.tar.gz 610546 BLAKE2B 927a7f60af431e84e9ff19dc1abf52c4697068264d3c67a17ada324bfb00975824e26937a19dea023cda772066991de719ec68fb1fb380f6656130af67202131 SHA512 6b6ef629dd0e681702fb0835cf6fe9962dc2ce774291f800893308a93a0a498099775e7d897d69375f68107b0ce0862bb2a6a169b8fbda534091678e9be3f09c
-DIST rarlinux-x64-6.0.2_p20210611.tar.gz 599150 BLAKE2B ff60f32ee5215403e622bc5c341b8212c3deee0020155043e4c7c3d5feff113da351412a91fd42f46e3293dc5975fd2beca558e3e45744cdc5356ace82af6c93 SHA512 909eb3b05c56327ccec101652d1d68ca5eb97ba3a7223954724fbccf4960b07ffa0ff5fe5405c53a248342a3ae171325e7bbf7fadeaf63c1c45bf00853e0a940
-DIST winrar-x64-6.0.2_p20210611.exe 3348968 BLAKE2B 482e5c34cae9c452b539f6e9e89efc7db8e463cc58b4db43cd25caa7e3fc6ab7945a7a17e9605b9d6d505c31a9a343a29812531dc5ba319765bf80fcc775426e SHA512 4c2bd804465e6bd948de248a7a0893f4b38728665b8e67c65bfc14766475072960250057ad1afc457a0df1f128da96d69483b000a5da18826776ea0a4377230a
+DIST rarlinux-x32-700.tar.gz 739081 BLAKE2B 3f0d18ba3c9ff6b606bbddd3aafcc70209d87a1aa08877fa8ee62e4c28a56b0dd0d38304d273abb708fa1a9fb1d2264df0dc7eb2ac6dbd1264b250df40f141c5 SHA512 a1f1d1f203ae2f98949346ad331a27ce2d120bf28f289fc42d286fae5c9392af033a4ff72fbe078a130b9267eb42e9739db35aa98ce07f4d97566299aa233934
+DIST rarlinux-x64-700.tar.gz 730268 BLAKE2B 6a3c4890232b6bdc24a6e321bff66c8a41c3c64b7da8dbcd40714de647edabb32f8719be882335895a09453f36e247b7ce96edf8089f8fa6ea08489d69eb7813 SHA512 988b755d1b52051f5d4115a64f598e5d6a6a9d1756e8136a00a159001199bf684c4961245c1010f0414e174f61964e1e3f32f437810708cd77742b9b89946166
+DIST winrar-x64-700.exe 3911632 BLAKE2B f2191937e1e3d0938f0ca2c56467c838415401a20a0966efad050e9fde5fe7fc6e05694c98fd06daa6fe4d7c03f588e60d456d8d510c849929a52dab36d6a10a SHA512 bc94f526d4dd751a44071dd6f540f2957d96f5c6500d7e5bb41ec6581bb0a584a6bb91fe13f7a1d9c7749c4601b1fe95f2a12a204b73bdc9a37c83cff7ac35c3
diff --git a/app-arch/rar/metadata.xml b/app-arch/rar/metadata.xml
index b456900e42ab..950f254e370b 100644
--- a/app-arch/rar/metadata.xml
+++ b/app-arch/rar/metadata.xml
@@ -2,11 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
+ <email>conikost@gentoo.org</email>
+ <name>Conrad Kostecki</name>
</maintainer>
<use>
- <flag name="all_sfx">
+ <flag name="all-sfx">
Install all SFX (Self-Extracting) files rather than just the native
format (allows creation of Windows EXEs on Linux ELF systems)
</flag>
diff --git a/app-arch/rar/rar-6.0.2_p20210611.ebuild b/app-arch/rar/rar-7.00.ebuild
index e94158b2ceaf..cefa88191bb3 100644
--- a/app-arch/rar/rar-6.0.2_p20210611.ebuild
+++ b/app-arch/rar/rar-7.00.ebuild
@@ -1,44 +1,52 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=8
+
+MY_PV="${PV/./}"
+URI_AMD64="https://www.rarlab.com/rar/rarlinux-x64-${MY_PV}.tar.gz"
+URI_X86="https://www.rarlab.com/rar/rarlinux-x32-${MY_PV}.tar.gz"
+URI_WIN64="https://www.rarlab.com/rar/winrar-x64-${MY_PV}.exe"
+
+inherit unpacker
DESCRIPTION="RAR compressor/uncompressor"
-HOMEPAGE="https://rarlab.com/"
-URI_x86="https://mirror.whissi.de/distfiles/rar/rarlinux-${PV}.tar.gz"
-URI_amd64="https://mirror.whissi.de/distfiles/rar/rarlinux-x64-${PV}.tar.gz"
-URI_w64="https://mirror.whissi.de/distfiles/rar/winrar-x64-${PV}.exe"
-SRC_URI="x86? ( ${URI_x86} )
- amd64? ( ${URI_amd64} )
- all_sfx? (
- ${URI_x86}
- ${URI_amd64}
- ${URI_w64}
- )"
-
-LICENSE="RAR BSD BSD-2"
+HOMEPAGE="https://www.rarlab.com/"
+SRC_URI="
+ all-sfx? (
+ ${URI_AMD64}
+ ${URI_X86}
+ ${URI_WIN64}
+ )
+ amd64? ( ${URI_AMD64} )
+ x86? ( ${URI_X86} )
+"
+S="${WORKDIR}/${PN}"
+
+LICENSE="BSD BSD-2 RAR"
SLOT="0"
KEYWORDS="-* amd64 x86"
-IUSE="all_sfx"
-RESTRICT="mirror bindist"
+IUSE="all-sfx"
+RESTRICT="bindist mirror"
-DEPEND="all_sfx? ( app-arch/unrar )"
RDEPEND="sys-libs/glibc"
+BDEPEND="all-sfx? ( app-arch/unrar )"
-S="${WORKDIR}/${PN}"
+DOCS=( "acknow.txt" "rar.txt" "readme.txt" "whatsnew.txt" )
-QA_FLAGS_IGNORED="opt/rar/default.sfx
+QA_PREBUILT="
+ opt/rar/default.sfx
opt/rar/default-elf32.sfx
opt/rar/default-elf64.sfx
opt/rar/default-win32.sfx
opt/rar/default-win64.sfx
+ opt/rar/unrar
+ opt/rar/rar
opt/rar/WinCon.SFX
opt/rar/WinCon64.SFX
opt/rar/Zip.SFX
opt/rar/Zip64.SFX
- opt/rar/unrar
- opt/rar/rar"
-QA_PRESTRIPPED=${QA_FLAGS_IGNORED}
+"
src_unpack() {
local _file
@@ -63,9 +71,7 @@ src_unpack() {
fi
done
- rm -f "${S}"/license.txt
-
- if use all_sfx ; then
+ if use all-sfx ; then
mkdir sfx
cd sfx
for _file in ${A}; do
@@ -78,9 +84,9 @@ src_unpack() {
fi
elif [[ "${_file}" == winrar* ]]; then
ln -s "${DISTDIR}"/${_file} w64.rar || die
- unpack ./w64.rar
- mv Default.SFX default-win32.sfx || die
- mv Default64.SFX default-win64.sfx || die
+ unpack_rar ./w64.rar
+ mv Default.SFX default-win64.sfx || die
+ mv Default32.SFX default-win32.sfx || die
else
die "Unknown SFX file '${_file}'!"
fi
@@ -94,16 +100,21 @@ src_install() {
exeinto /opt/rar
doexe rar unrar
- dodir /opt/bin
- dosym ../rar/rar /opt/bin/rar
- dosym ../rar/unrar /opt/bin/unrar
-
insinto /opt/rar
- if use all_sfx ; then
+ doins rarfiles.lst
+
+ if use all-sfx; then
doins "${WORKDIR}"/sfx/*.{sfx,SFX}
else
doins default.sfx
fi
- doins rarfiles.lst
- dodoc *.txt
+
+ dodir /opt/bin
+ dosym ../rar/rar /opt/bin/rar
+ dosym ../rar/unrar /opt/bin/unrar
+
+ docinto html
+ dodoc order.htm
+
+ einstalldocs
}
diff --git a/app-arch/rpm/Manifest b/app-arch/rpm/Manifest
index 9473074a2a09..1598162f1521 100644
--- a/app-arch/rpm/Manifest
+++ b/app-arch/rpm/Manifest
@@ -1,2 +1,2 @@
-DIST rpm-4.16.1.3.tar.bz2 4354652 BLAKE2B 10013014bdeaf908b64c90f8e76f1d4b0cd0e8cb926f0cd979d7b1e1963b9a25c5b98531deea7e74e00168e2e6349f443fa4578c69c717ca1ab5e6b79d801f3a SHA512 54e503b32dffaa73d6168f26a00220d9d9124082d8a1eb1ddf34ce32a482f07cb06ec654cf065fca1607cc37b13fa7d4fa9895553541d7cfddecf68c9eb96f2e
-DIST rpm-4.17.0.tar.bz2 4514138 BLAKE2B e2618f7ac59189fb880d6be853aae99080b5008865298d095a123a010ab70f9e2e3ad9402124afbf8291a3863e9e805c9c65ab47cc435df82a729e81984394bf SHA512 d32af8649c6d47796a645b6ecbe580df97f5423bfb17414d5ed0016373f5cfab86ebcfad6c480fb8bfafaf3a960f9bc095ef6faad7b40bdb208cc60e4080b0c8
+DIST rpm-4.18.1.tar.bz2 6396363 BLAKE2B 4bc582bdc34a89d83346a8e18133c4f1846f2e8741c85ae2d0fd3398166e5a5d81ed86869e34700d3ea414fbf8ccf6c918692e865b956b1e6b70830b64cd323e SHA512 0ede2138b9b4c3b50d7e914cf82655507fcc207ba67804c749ea17560002976cb26b95801e9138a51589b60459494a991213a1131dbef5af2eca9b5050a4f29c
+DIST rpm-4.19.1.1.tar.bz2 5849649 BLAKE2B 66ed845007f3767fd92e2384962927b93cef7b825b8ea60f81f0a4b51b9d6a09d1cbec1668226fa85de675347d52635cb25c4d11204ada0eed6c898425b21536 SHA512 3364c453c29903c144a3680ceca7a17426eb085c288b6313fb7e857a42a5e0a965f623882e0f58e633f8b8770e839d9df9f7653d99c73759af5c89d0a981908d
diff --git a/app-arch/rpm/files/rpm-4.16.0-autotools.patch b/app-arch/rpm/files/rpm-4.16.0-autotools.patch
deleted file mode 100644
index 9b1f71ad86e5..000000000000
--- a/app-arch/rpm/files/rpm-4.16.0-autotools.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -uNr rpm-4.16.0.ORIG/configure.ac rpm-4.16.0/configure.ac
---- rpm-4.16.0.ORIG/configure.ac 2020-10-01 11:02:21.605485875 +0100
-+++ rpm-4.16.0/configure.ac 2020-10-01 11:05:34.077157904 +0100
-@@ -552,9 +552,6 @@
-
- AM_CONDITIONAL([BDB], [test "x$have_bdb" != "xno"])
- AM_CONDITIONAL([WITH_INTERNAL_DB],[test "x$have_bdb" = "xinternal"])
--if test "x$have_bdb" = "xinternal"; then
-- AC_CONFIG_SUBDIRS(db3)
--fi
-
-
- #=================
diff --git a/app-arch/rpm/files/rpm-4.16.1.3-libdir.patch b/app-arch/rpm/files/rpm-4.16.1.3-libdir.patch
deleted file mode 100644
index a2c95ff064e2..000000000000
--- a/app-arch/rpm/files/rpm-4.16.1.3-libdir.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -uNr rpm-4.16.1.3.ORIG/configure.ac rpm-4.16.1.3/configure.ac
---- rpm-4.16.1.3.ORIG/configure.ac 2021-04-13 19:32:35.630955569 +0100
-+++ rpm-4.16.1.3/configure.ac 2021-04-13 19:32:54.939623251 +0100
-@@ -957,13 +957,7 @@
- AC_DEFINE_UNQUOTED([RUNDIR],["${RUNDIR}"],[run-time variable directory])
- AC_SUBST(RUNDIR)
-
--if test X"$prefix" = XNONE ; then
-- usrprefix="$ac_default_prefix"
--else
-- usrprefix=$prefix
--fi
--
--RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"
-+RPMCONFIGDIR="`echo ${libexecdir}/rpm/`"
- AC_SUBST(RPMCONFIGDIR)
-
- AC_SUBST(OBJDUMP)
-diff -uNr rpm-4.16.1.3.ORIG/rpm.am rpm-4.16.1.3/rpm.am
---- rpm-4.16.1.3.ORIG/rpm.am 2021-04-13 19:32:35.584956361 +0100
-+++ rpm-4.16.1.3/rpm.am 2021-04-13 19:32:54.940623234 +0100
-@@ -1,10 +1,8 @@
- # Internal binaries
--## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm
--rpmlibexecdir = $(prefix)/lib/rpm
-+rpmlibexecdir = $(pkglibexecdir)
-
- # Host independent config files
--## HACK: it probably should be $(datadir)/rpm
--rpmconfigdir = $(prefix)/lib/rpm
-+rpmconfigdir = $(pkglibexecdir)
-
- # Libtool version (current-revision-age) for all our libraries
- rpm_version_info = 10:3:1
diff --git a/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch b/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch
new file mode 100644
index 000000000000..7d1fde28bacf
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch
@@ -0,0 +1,42 @@
+https://bugs.gentoo.org/888954
+https://github.com/rpm-software-management/rpm/commit/f401979a4c4829d68e9614860644bdb74b6dda66
+
+From da222f0d82721d17e57d491d2749a4bc44754b9d Mon Sep 17 00:00:00 2001
+From: Takuya Wakazono <pastalian46@gmail.com>
+Date: Thu, 18 Jan 2024 18:41:11 +0900
+Subject: [PATCH] Don't use _nl_msg_cat_cntr if __GLIC__ is not defined
+
+musl doesn't need to use libintl from GNU gettext because it has its
+own NLS implementation. Assuming _nl_msg_cat_cntr exists breaks the
+build against the musl system.
+--- a/lib/tagexts.c
++++ b/lib/tagexts.c
+@@ -532,7 +532,7 @@ static int filerequireTag(Header h, rpmtd td, headerGetFlags hgflags)
+
+ /* I18N look aside diversions */
+
+-#if defined(ENABLE_NLS)
++#if defined(ENABLE_NLS) && (defined(__GLIBC__) || !defined(__linux__))
+ extern int _nl_msg_cat_cntr; /* XXX GNU gettext voodoo */
+ #endif
+ static const char * const language = "LANGUAGE";
+@@ -569,7 +569,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
+ /* change to en_US for msgkey -> msgid resolution */
+ langval = getenv(language);
+ (void) setenv(language, "en_US", 1);
++#if defined(__GLIBC__) || !defined(__linux__)
+ ++_nl_msg_cat_cntr;
++#endif
+
+ msgid = NULL;
+ for (domain = dstring; domain != NULL; domain = de) {
+@@ -584,7 +586,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
+ (void) setenv(language, langval, 1);
+ else
+ unsetenv(language);
++#if defined(__GLIBC__) || !defined(__linux__)
+ ++_nl_msg_cat_cntr;
++#endif
+
+ if (domain && msgid) {
+ td->data = dgettext(domain, msgid);
diff --git a/app-arch/rpm/files/rpm-4.19.0-libdir.patch b/app-arch/rpm/files/rpm-4.19.0-libdir.patch
new file mode 100644
index 000000000000..9899827c985e
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.19.0-libdir.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c164e9c52..5738c821f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -32,7 +32,7 @@ option(WITH_FSVERITY "Build with fsverity support" OFF)
+ option(WITH_IMAEVM "Build with IMA support" OFF)
+ option(WITH_FAPOLICYD "Build with fapolicyd support" ON)
+
+-set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/lib/rpm" CACHE PATH "rpm home")
++set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/libexec/rpm" CACHE PATH "rpm home")
+ set(RPM_VENDOR "vendor" CACHE STRING "rpm vendor string")
+
+ # Emulate libtool versioning. Before a public release:
diff --git a/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch
new file mode 100644
index 000000000000..441689febd5d
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch
@@ -0,0 +1,17 @@
+musl doesn't implement GLOB_BRACE, simply disable it.
+
+https://bugs.gentoo.org/922286
+https://github.com/rpm-software-management/rpm/issues/2844
+--- a/rpmio/rpmglob.c
++++ b/rpmio/rpmglob.c
+@@ -33,6 +33,10 @@
+
+ #include "debug.h"
+
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* Return 1 if pattern contains a magic char, see glob(7) for a list */
+ static int ismagic(const char *pattern)
+ {
diff --git a/app-arch/rpm/files/rpm-4.8.1-clang.patch b/app-arch/rpm/files/rpm-4.8.1-clang.patch
new file mode 100644
index 000000000000..714fbc09b534
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.8.1-clang.patch
@@ -0,0 +1,52 @@
+https://github.com/rpm-software-management/rpm/commit/6ad8a71407b173b6c50d389f01edd8a4aecd6807
+--- a/lib/fsm.c
++++ b/lib/fsm.c
+@@ -1015,27 +1015,28 @@
+ }
+
+ setmeta:
+- /* Special files require path-based ops */
+- int mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode);
+- if (!rc && fd == -1 && mayopen) {
+- int flags = O_RDONLY;
+- /* Only follow safe symlinks, and never on temporary files */
+- if (fp->suffix)
+- flags |= AT_SYMLINK_NOFOLLOW;
+- fd = fsmOpenat(di.dirfd, fp->fpath, flags,
+- S_ISDIR(fp->sb.st_mode));
+- if (fd < 0)
+- rc = RPMERR_OPEN_FAILED;
+- }
++ {
++ /* Special files require path-based ops */
++ int mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode);
++ if (!rc && fd == -1 && mayopen) {
++ int flags = O_RDONLY;
++ /* Only follow safe symlinks, and never on temporary files */
++ if (fp->suffix)
++ flags |= AT_SYMLINK_NOFOLLOW;
++ fd = fsmOpenat(di.dirfd, fp->fpath, flags,
++ S_ISDIR(fp->sb.st_mode));
++ if (fd < 0)
++ rc = RPMERR_OPEN_FAILED;
++ }
++ if (!rc && fp->setmeta) {
++ rc = fsmSetmeta(fd, di.dirfd, fp->fpath,
++ fi, plugins, fp->action,
++ &fp->sb, nofcaps);
++ }
+
+- if (!rc && fp->setmeta) {
+- rc = fsmSetmeta(fd, di.dirfd, fp->fpath,
+- fi, plugins, fp->action,
+- &fp->sb, nofcaps);
+- }
+-
+- if (fd != firstlinkfile)
+- fsmClose(&fd);
++ if (fd != firstlinkfile)
++ fsmClose(&fd);
++ }
+ }
+
+ /* Notify on success. */
diff --git a/app-arch/rpm/metadata.xml b/app-arch/rpm/metadata.xml
index 43a5b10a145b..8e808eda79fe 100644
--- a/app-arch/rpm/metadata.xml
+++ b/app-arch/rpm/metadata.xml
@@ -1,8 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<upstream>
<remote-id type="github">rpm-software-management/rpm</remote-id>
</upstream>
+ <use>
+ <flag name="sequoia">Use <pkg>app-crypt/rpm-sequoia</pkg> instead of the deprecated internal parser</flag>
+ </use>
</pkgmetadata>
diff --git a/app-arch/rpm/rpm-4.16.1.3.ebuild b/app-arch/rpm/rpm-4.16.1.3.ebuild
deleted file mode 100644
index 2603c2191f03..000000000000
--- a/app-arch/rpm/rpm-4.16.1.3.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-{2..4} )
-PYTHON_COMPAT=( python3_{8,9} )
-
-inherit autotools flag-o-matic lua-single perl-module python-single-r1 toolchain-funcs
-
-DESCRIPTION="Red Hat Package Management Utils"
-HOMEPAGE="https://rpm.org
- https://github.com/rpm-software-management/rpm"
-SRC_URI="http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-# Tests are broken. See bug 657500
-RESTRICT="test"
-
-IUSE="acl caps doc dbus lua nls openmp python selinux test +zstd"
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="!app-arch/rpm5
- app-arch/libarchive
- >=sys-libs/db-4.5:*
- >=sys-libs/zlib-1.2.3-r1
- >=app-arch/bzip2-1.0.1
- >=dev-libs/popt-1.7
- >=app-crypt/gnupg-1.2
- dbus? ( sys-apps/dbus )
- dev-libs/elfutils
- virtual/libintl
- >=dev-lang/perl-5.8.8
- dev-libs/libgcrypt
- python? ( ${PYTHON_DEPS} )
- nls? ( virtual/libintl )
- lua? ( ${LUA_DEPS} )
- acl? ( virtual/acl )
- caps? ( >=sys-libs/libcap-2.0 )
- zstd? ( app-arch/zstd )
-"
-DEPEND="${CDEPEND}
- nls? ( sys-devel/gettext )
- doc? ( app-doc/doxygen )
- virtual/pkgconfig
- test? ( sys-apps/fakechroot )
-"
-RDEPEND="${CDEPEND}
- selinux? ( sec-policy/selinux-rpm )
-"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- use lua && lua-single_pkg_setup
- use python && python-single-r1_pkg_setup
-
- # Added USE=openmp and this check for bug #779769
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- eapply "${FILESDIR}"/${PN}-4.16.0-autotools.patch
- eapply "${FILESDIR}"/${PN}-4.8.1-db-path.patch
- eapply "${FILESDIR}"/${P}-libdir.patch
-
- # fix #356769
- sed -i 's:%{_var}/tmp:/var/tmp:' macros.in || die "Fixing tmppath failed"
- # fix #492642
- sed -i "s:@__PYTHON@:${PYTHON}:" macros.in || die "Fixing %__python failed"
-
- eapply_user
- eautoreconf
-
- # Prevent automake maintainer mode from kicking in (#450448).
- touch -r Makefile.am preinstall.am
-}
-
-src_configure() {
- econf \
- --without-selinux \
- --with-crypto=libgcrypt \
- $(use_enable python) \
- $(use_enable nls) \
- $(use_enable openmp) \
- $(use_enable dbus inhibit-plugin) \
- $(use_with lua) \
- $(use_with caps cap) \
- $(use_with acl) \
- $(use_enable zstd zstd $(usex zstd yes no))
-}
-
-src_install() {
- default
-
- # remove la files
- find "${ED}" -name '*.la' -delete || die
-
- # fix symlinks to /bin/rpm (#349840)
- for binary in rpmquery rpmverify;do
- ln -sf rpm "${ED}"/usr/bin/${binary} || die
- done
-
- if ! use nls; then
- rm -rf "${ED}"/usr/share/man/?? || die
- fi
-
- keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
-
- dodoc CREDITS README*
- if use doc; then
- for docname in librpm; do
- docinto "html/${docname}"
- dodoc -r "doc/${docname}/html/."
- done
- fi
-
- # Fix perllocal.pod file collision
- perl_delete_localpod
-
- use python && python_optimize
-}
-
-src_test() {
- # Known to fail with FEATURES=usersandbox (bug #657500):
- if has usersandbox $FEATURES ; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
- fi
-
- emake check
-}
-
-pkg_postinst() {
- if [[ -f "${EROOT}"/var/lib/rpm/Packages ]] ; then
- einfo "RPM database found... Rebuilding database (may take a while)..."
- "${EROOT}"/usr/bin/rpmdb --rebuilddb --root="${EROOT}/" || die
- else
- einfo "No RPM database found... Creating database..."
- "${EROOT}"/usr/bin/rpmdb --initdb --root="${EROOT}/" || die
- fi
-}
diff --git a/app-arch/rpm/rpm-4.17.0.ebuild b/app-arch/rpm/rpm-4.18.1.ebuild
index 2bc134671182..5054bab122a8 100644
--- a/app-arch/rpm/rpm-4.17.0.ebuild
+++ b/app-arch/rpm/rpm-4.18.1.ebuild
@@ -1,31 +1,34 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
LUA_COMPAT=( lua5-{3,4} )
-PYTHON_COMPAT=( python3_{8,9,10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit autotools lua-single perl-module python-single-r1 toolchain-funcs
DESCRIPTION="Red Hat Package Management Utils"
-HOMEPAGE="https://rpm.org
- https://github.com/rpm-software-management/rpm"
-SRC_URI="https://ftp.osuosl.org/pub/rpm/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2
- http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2"
+HOMEPAGE="https://rpm.org/ https://github.com/rpm-software-management/rpm"
+SRC_URI="
+ https://ftp.osuosl.org/pub/rpm/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2
+ http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2
+"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-# Tests are broken. See bug 657500
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="acl audit caps +berkdb doc dbus nls openmp python readline selinux +sqlite test +zstd"
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+# Tests are broken. See bug #657500
RESTRICT="test"
-IUSE="acl caps +berkdb doc dbus nls openmp python selinux +sqlite test +zstd"
-REQUIRED_USE="${LUA_REQUIRED_USE}
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="!app-arch/rpm5
+DEPEND="
+ ${LUA_DEPS}
+ !app-arch/rpm5
app-arch/libarchive:=
>=app-arch/bzip2-1.0.1
app-arch/xz-utils
@@ -37,25 +40,34 @@ DEPEND="!app-arch/rpm5
sys-apps/file
>=sys-libs/zlib-1.2.3-r1
virtual/libintl
- ${LUA_DEPS}
+ acl? ( virtual/acl )
+ audit? ( sys-process/audit )
+ caps? ( >=sys-libs/libcap-2.0 )
dbus? ( sys-apps/dbus )
+ readline? ( sys-libs/readline:= )
sqlite? ( dev-db/sqlite:3 )
python? ( ${PYTHON_DEPS} )
nls? ( virtual/libintl )
- acl? ( virtual/acl )
- caps? ( >=sys-libs/libcap-2.0 )
zstd? ( app-arch/zstd:= )
"
BDEPEND="
- nls? ( sys-devel/gettext )
- doc? ( app-doc/doxygen )
virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ nls? ( sys-devel/gettext )
test? ( sys-apps/fakechroot )
"
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
selinux? ( sec-policy/selinux-rpm )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.8.1-db-path.patch
+ "${FILESDIR}"/${PN}-4.8.1-clang.patch
+ "${FILESDIR}"/${PN}-4.17.0-libdir.patch
+ "${FILESDIR}"/${PN}-4.18.1-musl-nls.patch
+)
+
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
@@ -65,51 +77,66 @@ pkg_setup() {
use python && python-single-r1_pkg_setup
- # Added USE=openmp and this check for bug #779769
+ # bug #779769
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
src_prepare() {
- eapply "${FILESDIR}"/${PN}-4.8.1-db-path.patch
- eapply "${FILESDIR}"/${PN}-4.17.0-libdir.patch
+ default
- # fix #356769
+ # bug #356769
sed -i 's:%{_var}/tmp:/var/tmp:' macros.in || die "Fixing tmppath failed"
- # fix #492642
+ # bug #492642
sed -i "s:@__PYTHON@:${PYTHON}:" macros.in || die "Fixing %__python failed"
- eapply_user
- eautoreconf
+ # Prevent automake maintainer mode from kicking in (bug #450448).
+ #touch -r Makefile.am preinstall.am || die
- # Prevent automake maintainer mode from kicking in (#450448).
- touch -r Makefile.am preinstall.am || die
+ eautoreconf
}
src_configure() {
# rpm no longer supports berkdb, but has readonly support.
# https://github.com/rpm-software-management/rpm/commit/4290300e24c5ab17c615b6108f38438e31eeb1d0
- econf \
- --without-selinux \
- --with-crypto=libgcrypt \
- $(use_enable berkdb bdb-ro) \
- $(use_enable python) \
- $(use_enable nls) \
- $(use_enable openmp) \
- $(use_enable dbus inhibit-plugin) \
- $(use_enable sqlite) \
- $(use_with caps cap) \
- $(use_with acl) \
+ local myeconfargs=(
+ --enable-libelf
+ --without-selinux
+ --disable-inhibit-plugin
+ --with-crypto=libgcrypt
+ $(use_enable berkdb bdb-ro)
+ $(use_enable python)
+ $(use_enable nls)
+ $(use_enable openmp)
+ $(use_enable dbus inhibit-plugin)
+ $(use_enable sqlite)
+ $(use_with caps cap)
+ $(use_with acl)
+ $(use_with audit)
+ $(use_with readline)
$(use_enable zstd zstd $(usex zstd yes no))
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Known to fail with FEATURES=usersandbox (bug #657500)
+ if has usersandbox ${FEATURES} ; then
+ ewarn "You are emerging ${P} with 'usersandbox' enabled." \
+ "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
+ fi
+
+ emake check
}
src_install() {
default
- # remove la files
+ # Remove la files
find "${ED}" -name '*.la' -delete || die
- # fix symlinks to /bin/rpm (#349840)
- for binary in rpmquery rpmverify;do
+ # Fix symlinks to /bin/rpm (bug #349840)
+ for binary in rpmquery rpmverify; do
ln -sf rpm "${ED}"/usr/bin/${binary} || die
done
@@ -134,16 +161,6 @@ src_install() {
use python && python_optimize
}
-src_test() {
- # Known to fail with FEATURES=usersandbox (bug #657500):
- if has usersandbox ${FEATURES} ; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
- fi
-
- emake check
-}
-
pkg_postinst() {
if [[ -f "${EROOT}"/var/lib/rpm/Packages ]] ; then
einfo "RPM database found... Rebuilding database (may take a while)..."
diff --git a/app-arch/rpm/rpm-4.19.1.1.ebuild b/app-arch/rpm/rpm-4.19.1.1.ebuild
new file mode 100644
index 000000000000..30fa81d1ff98
--- /dev/null
+++ b/app-arch/rpm/rpm-4.19.1.1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_MAKEFILE_GENERATOR=emake
+LUA_COMPAT=( lua5-{3,4} )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake lua-single python-single-r1 toolchain-funcs
+
+DESCRIPTION="The RPM Package Manager"
+HOMEPAGE="https://rpm.org/ https://github.com/rpm-software-management/rpm"
+SRC_URI="
+ https://ftp.osuosl.org/pub/rpm/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2
+ http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2
+"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~riscv ~s390 ~sparc ~x86"
+IUSE="acl audit caps +berkdb doc dbus nls openmp python readline selinux +sequoia +sqlite"
+REQUIRED_USE="
+ ${LUA_REQUIRED_USE}
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+# Tests run against a Fedora container image, which needs to be pulled.
+RESTRICT="test"
+
+DEPEND="
+ ${LUA_DEPS}
+ >=app-arch/bzip2-1.0.1
+ app-arch/libarchive:=
+ app-arch/xz-utils
+ app-arch/zstd:=
+ >=app-crypt/gnupg-1.2
+ >=dev-lang/perl-5.8.8
+ dev-libs/elfutils
+ >=dev-libs/popt-1.7
+ sys-apps/file
+ sys-libs/readline:=
+ >=sys-libs/zlib-1.2.3-r1
+ acl? ( virtual/acl )
+ audit? ( sys-process/audit )
+ caps? ( >=sys-libs/libcap-2.0 )
+ dbus? ( sys-apps/dbus )
+ nls? ( virtual/libintl )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:= )
+ sequoia? ( app-crypt/rpm-sequoia )
+ !sequoia? ( dev-libs/libgcrypt:= )
+ sqlite? ( dev-db/sqlite:3 )
+"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ nls? ( sys-devel/gettext )
+"
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-rpm )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.19.0-libdir.patch
+ "${FILESDIR}"/${P}-musl-compat.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ lua-single_pkg_setup
+
+ use python && python-single-r1_pkg_setup
+
+ # bug #779769
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+src_configure() {
+ # rpm no longer supports berkdb, but has readonly support.
+ # https://github.com/rpm-software-management/rpm/commit/4290300e24c5ab17c615b6108f38438e31eeb1d0
+ local mycmakeargs=(
+ -DENABLE_TESTSUITE=OFF
+ -DWITH_FAPOLICYD=OFF
+ -DWITH_SELINUX=OFF
+ -DENABLE_BDB_RO=$(usex berkdb)
+ -DENABLE_NLS=$(usex nls)
+ -DENABLE_OPENMP=$(usex openmp)
+ -DENABLE_PYTHON=$(usex python)
+ -DENABLE_SQLITE=$(usex sqlite)
+ -DWITH_ACL=$(usex acl)
+ -DWITH_AUDIT=$(usex audit)
+ -DWITH_CAP=$(usex caps)
+ -DWITH_DBUS=$(usex dbus)
+ -DWITH_INTERNAL_OPENPGP=$(usex sequoia OFF ON)
+ -DWITH_READLINE=$(usex readline)
+ $(cmake_use_find_package doc Doxygen)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ emake -C "${BUILD_DIR}" check
+}
+
+src_install() {
+ cmake_src_install
+
+ # Remove pre-built API docs.
+ use doc || rm -rf "${ED}/usr/share/doc/${PF}" || die
+
+ dodoc CREDITS README
+
+ keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
+
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ if [[ -f "${EROOT}"/var/lib/rpm/rpmdb.sqlite ]] ; then
+ einfo "RPM database found... Rebuilding database (may take a while)..."
+ "${EROOT}"/usr/bin/rpmdb --rebuilddb --root="${EROOT}/" || die
+ else
+ einfo "No RPM database found... Creating database..."
+ "${EROOT}"/usr/bin/rpmdb --initdb --root="${EROOT}/" || die
+ fi
+}
diff --git a/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild b/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild
index 492f3b4e4761..d602205ff2a2 100644
--- a/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild
+++ b/app-arch/rpm2targz/rpm2targz-2021.03.16.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -12,11 +12,11 @@ SRC_URI="mirror://gentoo/${P}.tar.xz
LICENSE="BSD-1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE=""
DEPEND=""
-RDEPEND="app-arch/cpio"
+RDEPEND="app-alternatives/cpio"
src_configure() {
tc-export CC
diff --git a/app-arch/rzip/files/rzip-2.1-configure-clang16.patch b/app-arch/rzip/files/rzip-2.1-configure-clang16.patch
new file mode 100644
index 000000000000..b2749ed45785
--- /dev/null
+++ b/app-arch/rzip/files/rzip-2.1-configure-clang16.patch
@@ -0,0 +1,13 @@
+See also: https://bugzilla.redhat.com/show_bug.cgi?id=2144458
+
+--- a/configure.in
++++ b/configure.in
+@@ -36,7 +36,7 @@ AC_CACHE_CHECK([for large file support],rzip_cv_HAVE_LARGE_FILES,[
+ AC_TRY_RUN([
+ #include <stdio.h>
+ #include <sys/types.h>
+-main() { return (sizeof(off_t) == 4); }],
++int main(void) { return (sizeof(off_t) == 4); }],
+ rzip_cv_HAVE_LARGE_FILES=yes,
+ rzip_cv_HAVE_LARGE_FILES=no,
+ rzip_cv_HAVE_LARGE_FILES=cross)])
diff --git a/app-arch/rzip/rzip-2.1-r3.ebuild b/app-arch/rzip/rzip-2.1-r5.ebuild
index f771c83cd97b..cf8b6d722684 100644
--- a/app-arch/rzip/rzip-2.1-r3.ebuild
+++ b/app-arch/rzip/rzip-2.1-r5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit autotools
@@ -12,7 +12,6 @@ SRC_URI="https://rzip.samba.org/ftp/rzip/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~hppa ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE=""
RDEPEND="app-arch/bzip2:="
DEPEND="${RDEPEND}"
@@ -20,11 +19,11 @@ DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${PN}-2.1-darwin.patch
"${FILESDIR}"/${PN}-2.1-CVE-2017-8364.patch
+ "${FILESDIR}"/${PN}-2.1-configure-clang16.patch
)
src_prepare() {
default
- mv configure.{in,ac} || die
eautoreconf
}
@@ -33,7 +32,7 @@ pkg_postinst() {
ewarn "compression of large files it didn't set the right file size, so"
ewarn "if you have any reason to believe that your archive was compressed "
ewarn "with an old Gentoo rzip, please refer to "
- ewarn " https://bugs.gentoo.org/show_bug.cgi?id=217552 "
+ ewarn " https://bugs.gentoo.org/217552"
ewarn "for the rzip-handle-broken-archive.patch patch to rescue your"
ewarn "data."
ewarn
diff --git a/app-arch/sharutils/metadata.xml b/app-arch/sharutils/metadata.xml
index a974c2f2dff9..f9c1b4ac617d 100644
--- a/app-arch/sharutils/metadata.xml
+++ b/app-arch/sharutils/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Base System</name>
</maintainer>
<upstream>
+ <remote-id type="savannah">sharutils</remote-id>
<remote-id type="cpe">cpe:/a:gnu:sharutils</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/sharutils/sharutils-4.15.2-r2.ebuild b/app-arch/sharutils/sharutils-4.15.2-r2.ebuild
index 4df30e239428..c9304129d203 100644
--- a/app-arch/sharutils/sharutils-4.15.2-r2.ebuild
+++ b/app-arch/sharutils/sharutils-4.15.2-r2.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="nls"
DEPEND="app-arch/xz-utils
diff --git a/app-arch/snappy/Manifest b/app-arch/snappy/Manifest
index 6ecc06c83362..284181c5cc40 100644
--- a/app-arch/snappy/Manifest
+++ b/app-arch/snappy/Manifest
@@ -1,2 +1,2 @@
-DIST snappy-1.1.8.tar.gz 1096137 BLAKE2B e21f2ea23727f118920b7f67981354194f12d1d61eaa18eb1cb2f4285fabafdd221b88cf1e3b3261634f65469a714d3efe6b218c0b1e9d41639cdeb21097d75e SHA512 efe18ff1b3edda1b4b6cefcbc6da8119c05d63afdbf7a784f3490353c74dced76baed7b5f1aa34b99899729192b9d657c33c76de4b507a51553fa8001ae75c1c
-DIST snappy-1.1.9.tar.gz 1102382 BLAKE2B 926d03156168e3d4800dc17144db3de2c182c6eb9970d87a00b94fb09b67e403479a64cbed75833b83fd03173c1bb8caaf248a55627e89fe2a34456f12ff3b42 SHA512 f1f8a90f5f7f23310423574b1d8c9acb84c66ea620f3999d1060395205e5760883476837aba02f0aa913af60819e34c625d8308c18a5d7a9c4e190f35968b024
+DIST snappy-1.1.10.tar.gz 1105312 BLAKE2B 5195335fb1883974d290e7dca2b6d928bde2b183f3f61bca9da28855b39fd9a4ee1c24014322d238d2ec94f3a3a55fd43110c88283e85865272226e11cbb4834 SHA512 3578597f1d4ec09104ce0296b825b013590351230dfe56c635081fd282ce7a13a34caf2c283ac77bd24065e2d27af6db068d1f84b98cec2fd39a0e37a0d77070
+DIST snappy-1.2.0.tar.gz 1107265 BLAKE2B 327b60ea032ceb004c5f5e36a0013dc2a44258ec303d0701cf23446904b83e72a66b7e59866a7331c7751a08ce6ec6b871bc056efa6eeb86733d4640569d8072 SHA512 5b3b4e73ff24295885ff9f3d75ccb090e6c7dba40d4965f0892163aa9876296e61590d62023a32d750949268af8ce89df93273b02179d5b3a55de00966a3ae0a
diff --git a/app-arch/snappy/files/snappy-1.1.7-0001-cmake-Add-missing-linking-to-GTEST_LIBRARIES.patch b/app-arch/snappy/files/snappy-1.1.7-0001-cmake-Add-missing-linking-to-GTEST_LIBRARIES.patch
deleted file mode 100644
index f4fdd4727488..000000000000
--- a/app-arch/snappy/files/snappy-1.1.7-0001-cmake-Add-missing-linking-to-GTEST_LIBRARIES.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 1c9f699a6275f085ad710c9ae940e096ce552452 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 31 Jul 2017 20:49:22 +0200
-Subject: [PATCH] cmake: Add missing linking to GTEST_LIBRARIES
-
-Since the snappy_unittest target uses gtest routines (when available),
-it needs to link to gtest explicitly. Otherwise, the build fails due
-to unavailable gtest symbols.
----
- CMakeLists.txt | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3f534b1..3a44aa9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -119,6 +119,9 @@ if(SNAPPY_BUILD_TESTS)
- )
- target_compile_definitions(snappy_unittest PRIVATE -DHAVE_CONFIG_H)
-- target_link_libraries(snappy_unittest snappy ${GFLAGS_LIBRARIES})
-+ target_link_libraries(snappy_unittest
-+ snappy
-+ ${GFLAGS_LIBRARIES}
-+ ${GTEST_LIBRARIES})
-
- if(HAVE_LIBZ)
- target_link_libraries(snappy_unittest z)
---
-2.14.1
-
diff --git a/app-arch/snappy/files/snappy-1.1.9_gcc_inline.patch b/app-arch/snappy/files/snappy-1.1.9_gcc_inline.patch
deleted file mode 100644
index 04d35f56ee98..000000000000
--- a/app-arch/snappy/files/snappy-1.1.9_gcc_inline.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 0c716d435abe65250100c2caea0e5126ac4e14bd Mon Sep 17 00:00:00 2001
-From: "Georgi D. Sotirov" <gdsotirov@gmail.com>
-Date: Wed, 5 May 2021 14:16:46 +0300
-Subject: [PATCH] Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-
-Add inline with SNAPPY_ATTRIBUTE_ALWAYS_INLINE on AdvanceToNextTag to
-fix the following compilation errors and a warning with GCC:
-
-[ 2%] Building CXX object CMakeFiles/snappy.dir/snappy.cc.o
-/usr/bin/c++ -DHAVE_CONFIG_H -Dsnappy_EXPORTS
--I/tmp/snappy-1.1.9/build -I/tmp/snappy-1.1.9 -O3
--march=i586 -mtune=i686 -Wall -Wextra -fno-exceptions -fno-rtti -O3
--DNDEBUG -fPIC -std=c++11 -o CMakeFiles/snappy.dir/snappy.cc.o -c
-/tmp/snappy-1.1.9/snappy.cc
-/tmp/snappy-1.1.9/snappy.cc:1017:8: warning: always_inline
-function might not be inlinable [-Wattributes]
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- ^
-/tmp/snappy-1.1.9/snappy.cc: In function 'std::pair<const
-unsigned char*, int> snappy::DecompressBranchless(const uint8_t*, const
-uint8_t*, ptrdiff_t, T, ptrdiff_t) [with T = char*; uint8_t = unsigned
-char; ptrdiff_t = int]':
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
- size_t tag_type = AdvanceToNextTag(&ip, &tag);
- ^
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- ^
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
- size_t tag_type = AdvanceToNextTag(&ip, &tag);
- ^
-/tmp/snappy-1.1.9/snappy.cc:1017:8: error: inlining failed in
-call to always_inline 'size_t snappy::AdvanceToNextTag(const uint8_t**,
-size_t*)': function body can be overwritten at link time
- size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- ^
-/tmp/snappy-1.1.9/snappy.cc:1097:53: error: called from here
- size_t tag_type = AdvanceToNextTag(&ip, &tag);
- ^
-CMakeFiles/snappy.dir/build.make:137: recipe for target
-'CMakeFiles/snappy.dir/snappy.cc.o' failed
-
-Just like with other functions using SNAPPY_ATTRIBUTE_ALWAYS_INLINE
-macro (i.e. __attribute__((always_inline)) ) it is necessary to use C++
-inline specifier.
----
- snappy.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/snappy.cc b/snappy.cc
-index 79dc0e8..51157be 100644
---- a/snappy.cc
-+++ b/snappy.cc
-@@ -1014,7 +1014,7 @@ void MemMove(ptrdiff_t dst, const void* src, size_t size) {
- }
-
- SNAPPY_ATTRIBUTE_ALWAYS_INLINE
--size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
-+inline size_t AdvanceToNextTag(const uint8_t** ip_p, size_t* tag) {
- const uint8_t*& ip = *ip_p;
- // This section is crucial for the throughput of the decompression loop.
- // The latency of an iteration is fundamentally constrained by the
diff --git a/app-arch/snappy/files/snappy-1.2.0_external-gtest.patch b/app-arch/snappy/files/snappy-1.2.0_external-gtest.patch
new file mode 100644
index 000000000000..6d929821ba0b
--- /dev/null
+++ b/app-arch/snappy/files/snappy-1.2.0_external-gtest.patch
@@ -0,0 +1,46 @@
+From 4e6c67832f53b126d1e54b9398b88f23e75846f3 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Thu, 11 Apr 2024 10:05:30 +0300
+Subject: [PATCH 1/3] Use external GTest suite
+
+---
+ CMakeLists.txt | 22 ++--------------------
+ 1 file changed, 2 insertions(+), 20 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 85afe58..e23d2ca 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -319,27 +319,9 @@ endif(SNAPPY_BUILD_TESTS OR SNAPPY_BUILD_BENCHMARKS)
+ if(SNAPPY_BUILD_TESTS)
+ enable_testing()
+
+- # Prevent overriding the parent project's compiler/linker settings on Windows.
+- set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- set(install_gtest OFF)
+- set(install_gmock OFF)
+- set(build_gmock ON)
+-
+ # This project is tested using GoogleTest.
+- add_subdirectory("third_party/googletest")
+-
+- # GoogleTest triggers a missing field initializers warning.
+- if(SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+- set_property(TARGET gtest
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- set_property(TARGET gmock
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-missing-field-initializers)
+- endif(SNAPPY_HAVE_NO_MISSING_FIELD_INITIALIZERS)
+-
+- if(SNAPPY_HAVE_NO_IMPLICIT_INT_FLOAT_CONVERSION)
+- set_property(TARGET gtest
+- APPEND PROPERTY COMPILE_OPTIONS -Wno-implicit-int-float-conversion)
+- endif(SNAPPY_HAVE_NO_IMPLICIT_INT_FLOAT_CONVERSION)
++ find_package(GTest REQUIRED)
++ include(GoogleTest)
+
+ add_executable(snappy_unittest "")
+ target_sources(snappy_unittest
+--
+2.43.2
+
diff --git a/app-arch/snappy/files/snappy-1.2.0_no-werror.patch b/app-arch/snappy/files/snappy-1.2.0_no-werror.patch
new file mode 100644
index 000000000000..813ff7a59136
--- /dev/null
+++ b/app-arch/snappy/files/snappy-1.2.0_no-werror.patch
@@ -0,0 +1,24 @@
+From 8a262c4de10c4a7e07db41779fd7ca1565d92631 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Thu, 11 Apr 2024 10:06:47 +0300
+Subject: [PATCH 2/3] Don't use -Werror
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -66,13 +66,6 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")
+ endif(NOT CMAKE_CXX_FLAGS MATCHES "-Wextra")
+
+- # Use -Werror for clang only.
+- if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+- if(NOT CMAKE_CXX_FLAGS MATCHES "-Werror")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
+- endif(NOT CMAKE_CXX_FLAGS MATCHES "-Werror")
+- endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+-
+ # Disable sign comparison warnings. Matches upcoming Bazel setup.
+ if(NOT CMAKE_CXX_FLAGS MATCHES "-Wno-sign-compare")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare")
+--
+2.43.2
+
diff --git a/app-arch/snappy/files/snappy-1.2.0_remove-no-rtti.patch b/app-arch/snappy/files/snappy-1.2.0_remove-no-rtti.patch
new file mode 100644
index 000000000000..dcfeae45cfbb
--- /dev/null
+++ b/app-arch/snappy/files/snappy-1.2.0_remove-no-rtti.patch
@@ -0,0 +1,32 @@
+From 012ff3ef652027abd1a422268cf9f164b386f340 Mon Sep 17 00:00:00 2001
+From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
+Date: Thu, 11 Apr 2024 10:07:45 +0300
+Subject: [PATCH 3/3] Don't disable RTTI
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -51,10 +51,6 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ string(REGEX REPLACE "/EH[a-z]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHs-c-")
+ add_definitions(-D_HAS_EXCEPTIONS=0)
+-
+- # Disable RTTI.
+- string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
+ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ # Use -Wall for clang and gcc.
+ if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
+@@ -88,10 +84,6 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ # Disable C++ exceptions.
+ string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
+-
+- # Disable RTTI.
+- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
+ endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+
+ # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
+--
+2.43.2
+
diff --git a/app-arch/snappy/metadata.xml b/app-arch/snappy/metadata.xml
index 733bf82bf93e..f228393d37be 100644
--- a/app-arch/snappy/metadata.xml
+++ b/app-arch/snappy/metadata.xml
@@ -14,6 +14,7 @@
other compression library; instead, it aims for very high speeds and
reasonable compression.</longdescription>
<upstream>
+ <remote-id type="cpe">cpe:/a:google:snappy</remote-id>
<remote-id type="github">google/snappy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/snappy/snappy-1.1.9.ebuild b/app-arch/snappy/snappy-1.1.10-r1.ebuild
index 0d7529657a0a..83cd13e6ac21 100644
--- a/app-arch/snappy/snappy-1.1.9.ebuild
+++ b/app-arch/snappy/snappy-1.1.10-r1.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-CMAKE_ECLASS=cmake
inherit cmake-multilib
DESCRIPTION="A high-speed compression/decompression library by Google"
@@ -11,9 +10,11 @@ HOMEPAGE="https://github.com/google/snappy"
SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
+# ${PV%%.*}.FUDGE where FUDGE is incremented if ABI is broken without a new SONAME
+# Please use abidiff on bumps.
+SLOT="0/${PV%%.*}.1"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-cpp/gtest )"
@@ -21,16 +22,18 @@ DEPEND="test? ( dev-cpp/gtest )"
DOCS=( format_description.txt framing_format.txt NEWS README.md )
PATCHES=(
- "${FILESDIR}/${P}_gcc_inline.patch"
- "${FILESDIR}/${P}_external_gtest.patch"
+ "${FILESDIR}/${PN}-1.1.9_external_gtest.patch"
"${FILESDIR}/${PN}-1.1.9-clang-werror.patch"
+ "${FILESDIR}/${PN}-1.1.9_remove-no-rtti.patch"
)
multilib_src_configure() {
local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=14 # Latest gtest needs -std=c++14 or newer
-DSNAPPY_BUILD_TESTS=$(usex test)
+ -DSNAPPY_REQUIRE_AVX=$(usex cpu_flags_x86_avx)
+ -DSNAPPY_REQUIRE_AVX2=$(usex cpu_flags_x86_avx2)
-DSNAPPY_BUILD_BENCHMARKS=OFF
-
# Options below are related to benchmarking, that we disable.
-DHAVE_LIBZ=NO
-DHAVE_LIBLZO2=NO
diff --git a/app-arch/snappy/snappy-1.1.8.ebuild b/app-arch/snappy/snappy-1.1.8.ebuild
deleted file mode 100644
index aeb144459747..000000000000
--- a/app-arch/snappy/snappy-1.1.8.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_ECLASS=cmake
-inherit cmake-multilib
-
-DESCRIPTION="A high-speed compression/decompression library by Google"
-HOMEPAGE="https://github.com/google/snappy"
-SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# all test dependencies are optional:
-# - gflags-2.2 is supposedly needed for command-line option parsing
-# but it's a huge hack and does not work,
-# - gtest probably gives nicer output,
-# - compression libraries are used for benchmarks which we do not run.
-DEPEND="test? ( dev-cpp/gtest )"
-
-# AUTHORS is useless, ChangeLog is stale
-DOCS=( format_description.txt framing_format.txt NEWS README.md )
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/snappy-1.1.7-0001-cmake-Add-missing-linking-to-GTEST_LIBRARIES.patch
- )
-
- # command-line option parsing does not work at all, so just force
- # it off
- sed -i -e '/run_microbenchmarks/s:true:false:' snappy-test.cc || die
-
- cmake_src_prepare
-}
-
-multilib_src_configure() {
- # TODO: would be nice to make unittest build conditional
- # but it is not a priority right now
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=ON
-
- # use gtest for tests only
- -DCMAKE_DISABLE_FIND_PACKAGE_GTest=$(usex '!test')
- # gflags does not work anyway
- -DCMAKE_DISABLE_FIND_PACKAGE_Gflags=ON
-
- # we do not want to run benchmarks, and those are only used
- # for benchmarks
- -DHAVE_LIBZ=NO
- -DHAVE_LIBLZO2=NO
- )
- cmake_src_configure
-}
-
-multilib_src_test() {
- # run tests directly to get verbose output
- cd "${S}" || die
- "${BUILD_DIR}"/snappy_unittest || die
-}
diff --git a/app-arch/snappy/snappy-1.1.9-r1.ebuild b/app-arch/snappy/snappy-1.2.0-r1.ebuild
index 74b9e884e633..a2331f1ef08a 100644
--- a/app-arch/snappy/snappy-1.1.9-r1.ebuild
+++ b/app-arch/snappy/snappy-1.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,9 +10,11 @@ HOMEPAGE="https://github.com/google/snappy"
SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
-SLOT="0/${PV%%.*}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
+# ${PV%%.*}.FUDGE where FUDGE is incremented if ABI is broken without a new SONAME
+# Please use abidiff on bumps.
+SLOT="0/${PV%%.*}.2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="cpu_flags_x86_avx cpu_flags_x86_avx2 test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-cpp/gtest )"
@@ -20,15 +22,17 @@ DEPEND="test? ( dev-cpp/gtest )"
DOCS=( format_description.txt framing_format.txt NEWS README.md )
PATCHES=(
- "${FILESDIR}/${P}_gcc_inline.patch"
- "${FILESDIR}/${P}_external_gtest.patch"
- "${FILESDIR}/${P}-clang-werror.patch"
- "${FILESDIR}/${P}_remove-no-rtti.patch"
+ "${FILESDIR}/${PN}-1.2.0_external-gtest.patch"
+ "${FILESDIR}/${PN}-1.2.0_no-werror.patch"
+ "${FILESDIR}/${PN}-1.2.0_remove-no-rtti.patch"
)
multilib_src_configure() {
local mycmakeargs=(
+ -DCMAKE_CXX_STANDARD=14 # Latest gtest needs -std=c++14 or newer
-DSNAPPY_BUILD_TESTS=$(usex test)
+ -DSNAPPY_REQUIRE_AVX=$(usex cpu_flags_x86_avx)
+ -DSNAPPY_REQUIRE_AVX2=$(usex cpu_flags_x86_avx2)
-DSNAPPY_BUILD_BENCHMARKS=OFF
# Options below are related to benchmarking, that we disable.
-DHAVE_LIBZ=NO
diff --git a/app-arch/stenc/Manifest b/app-arch/stenc/Manifest
index 8c8f20c3fed1..f8cbaf0666a3 100644
--- a/app-arch/stenc/Manifest
+++ b/app-arch/stenc/Manifest
@@ -1,2 +1,2 @@
-DIST stenc-1.0.7.tar.gz 107096 BLAKE2B 678be2fea4eb3db5cf84a70243fd61dcb574627bacb59b2f9af682e2e0851d41187565b4706313c98bb5b297f865b1424bc47c52f15efa2a2e8b2c7413b09009 SHA512 84cb0114c969e1a5122a8621d2c136663ee2a2d9aae1d455631c1d4555e947f4841004b74a1f63b800be713cfae637c19ea34adf40f0bc81f1c56a555a27ba31
-DIST stenc-1.0.8.tar.gz 29297 BLAKE2B 269310fb7a9063eb3b367dfec534096201003e6178a31aeb73aa7a73ed0473d4a606634ac9cf7377d17240dee074345efa49fc907d9487f573a75ec44c3454f6 SHA512 4fd882861d248cf59cde1782833bd3e4f7e01e8b6c00424c55f26454a620510b22de0d42f2d7f6c4e67c2b277776a174fe687756a75f410026fda55554f9dc87
+DIST stenc-1.1.1.tar.gz 161761 BLAKE2B 865d36befd53e1db00245688e2aac429546b29f7b039cbd04aaafb47fcc55f02ba01e7f13c7814ae4daf102372eded1f069c1b9ecfb2b2e7aaf009bfa2855ae4 SHA512 89eb1da2391be207e23d4e3cc6563405272eeb456b59360e92fbeca063badcfcf4c37fc814af59803707006e5c04e43e18755e1d30b0f3b3020a7645396db1a6
+DIST stenc-2.0.0.tar.gz 166547 BLAKE2B d5a5b8794887f7ba1353b573d4aad41abd719067ab7256f0f90101a960847707ce47d63618d7b406726841114e8495aba2a0c5053c3e11f9c118859ab8573a89 SHA512 9dcdcff547d8f0d1fd99eaaf54812e47ca5a3f4e56befe11d7e32919bc7caa968476f0f082925c86be1e9892369cec26125be089bf11f29c87ca63b3614ebffe
diff --git a/app-arch/stenc/stenc-1.0.7.ebuild b/app-arch/stenc/stenc-1.0.7.ebuild
deleted file mode 100644
index 2a47f9366245..000000000000
--- a/app-arch/stenc/stenc-1.0.7.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="SCSI Tape Encryption Manager enables AES support for LTO drives."
-HOMEPAGE="https://sourceforge.net/projects/stenc/"
-SRC_URI="mirror://sourceforge/${PN}/source/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-
-KEYWORDS="~amd64 ~x86"
-
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
diff --git a/app-arch/stenc/stenc-1.0.8.ebuild b/app-arch/stenc/stenc-1.1.1.ebuild
index 1f9c5860f701..7a5055a0913b 100644
--- a/app-arch/stenc/stenc-1.0.8.ebuild
+++ b/app-arch/stenc/stenc-1.1.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools
@@ -14,17 +14,12 @@ else
KEYWORDS="~amd64 ~x86"
fi
-DESCRIPTION="SCSI Tape Encryption Manager enables AES support for LTO drives."
+DESCRIPTION="SCSI Tape Encryption Manager enables AES support for LTO drives"
HOMEPAGE="https://github.com/scsitape/stenc/"
LICENSE="GPL-2"
SLOT="0"
-IUSE=""
-
-DEPEND=""
-RDEPEND="${DEPEND}"
-
src_prepare() {
default
eautoreconf
diff --git a/app-arch/stenc/stenc-2.0.0.ebuild b/app-arch/stenc/stenc-2.0.0.ebuild
new file mode 100644
index 000000000000..b90597d8f9e6
--- /dev/null
+++ b/app-arch/stenc/stenc-2.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/scsitape/stenc.git"
+ S="${WORKDIR}/${P}/src"
+else
+ SRC_URI="https://github.com/scsitape/stenc/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="SCSI Tape Encryption Manager enables AES support for LTO drives"
+HOMEPAGE="https://github.com/scsitape/stenc/"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+BDEPEND="
+ virtual/pandoc
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/app-arch/stormlib/Manifest b/app-arch/stormlib/Manifest
index 99bea60fa5bd..4081bddc12d0 100644
--- a/app-arch/stormlib/Manifest
+++ b/app-arch/stormlib/Manifest
@@ -1 +1,2 @@
-DIST StormLib-9.23.tar.gz 605295 BLAKE2B 2489e309f218f3e5c5069b56856415cc5985efb2352f36a33530442d539c786262b7c55d134dd67db3098981b1ad98ce8bfa77a16f86d28f326831b09752b705 SHA512 c851159596e252b42facdbac9c52f7477c61de35b44054ab608a22b42e7dc3b4179f50ba9d8cbd30448ed7787cc74e7efd2e08faafdd91289136cd91399d4f09
+DIST StormLib-9.24.tar.gz 625374 BLAKE2B 3647580b1b048e284ade2fb23aed53cac76a89a0180908f48fc99d571e702d876de37e42a47b3d351c72e6fa905fc02f4b8fa691a6840013637e1560e9acafcb SHA512 38694685edfc9c53ff1e303109831b6a791200b9db275043bca8b3bbe7cc928cf0ce9cf554c6758f693da453b85e6385d277ae9add7af867c13488d77432cde5
+DIST StormLib-9.25.tar.gz 603875 BLAKE2B c7da242d039f5a49e8abd295b42e639fc540c77ee4bf8f210610d56940d1d35f19ea267dccde89e50f744218527f4c521e1d320f24e8fe3a0e0739ee899aa023 SHA512 0da78bda4bb89637da892fc73a0673b8a5f852ede4fdceba1029431d24dd1e59db9bfceafab1c5fb642e4b5d0d15d9865f7a138bfb190ce0c2d3601b22dd3023
diff --git a/app-arch/stormlib/files/stormlib-9.23-gnuinstalldirs.patch b/app-arch/stormlib/files/stormlib-9.24-gnuinstalldirs.patch
index 66b8f91183f0..f50dcaa82601 100644
--- a/app-arch/stormlib/files/stormlib-9.23-gnuinstalldirs.patch
+++ b/app-arch/stormlib/files/stormlib-9.24-gnuinstalldirs.patch
@@ -1,6 +1,6 @@
-From f89f1341cf59f7098af985ecd683d5e0407d2dc7 Mon Sep 17 00:00:00 2001
+From 8cb9b76a5e85ffab436f7b01ecfc0a0dea7547af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 20 Dec 2020 10:52:34 +0100
+Date: Mon, 3 Oct 2022 20:49:31 +0200
Subject: [PATCH] cmake: Use GNUInstallDirs for configurable install
directories
@@ -13,24 +13,24 @@ rather than 'lib'.
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bd8d336..2b09191 100644
+index 9cf1050..b10c2c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -4,6 +4,7 @@ cmake_minimum_required(VERSION 2.8.12)
- set(LIBRARY_NAME storm)
+@@ -7,6 +7,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(CMakeDependentOption)
+include(GNUInstallDirs)
option(BUILD_SHARED_LIBS "Compile shared libraries" OFF)
option(STORM_SKIP_INSTALL "Skip installing files" OFF)
-@@ -331,12 +332,12 @@ endif()
+@@ -357,12 +358,12 @@ endif()
if (NOT STORM_SKIP_INSTALL)
- install(TARGETS ${LIBRARY_NAME}
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib
+ install(TARGETS ${LIBRARY_NAME}
+- RUNTIME DESTINATION bin
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
@@ -42,7 +42,7 @@ index bd8d336..2b09191 100644
#CPack configurtion
SET(CPACK_GENERATOR "DEB" "RPM")
-@@ -369,6 +370,6 @@ endif()
+@@ -395,6 +396,6 @@ endif()
if(STORM_BUILD_TESTS)
add_executable(StormLib_test ${TEST_SRC_FILES})
target_link_libraries(StormLib_test ${LIBRARY_NAME})
@@ -51,5 +51,5 @@ index bd8d336..2b09191 100644
endif()
--
-2.29.2
+2.37.3
diff --git a/app-arch/stormlib/metadata.xml b/app-arch/stormlib/metadata.xml
index 076793e3f54b..5b84358fc1cd 100644
--- a/app-arch/stormlib/metadata.xml
+++ b/app-arch/stormlib/metadata.xml
@@ -5,4 +5,7 @@
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">ladislav-zezula/StormLib</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/stormlib/stormlib-9.23-r1.ebuild b/app-arch/stormlib/stormlib-9.24.ebuild
index 484b8ef3e37f..fa8ef965a8f1 100644
--- a/app-arch/stormlib/stormlib-9.23-r1.ebuild
+++ b/app-arch/stormlib/stormlib-9.24.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2020-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -9,10 +9,12 @@ MY_P=StormLib-${PV}
DESCRIPTION="Library to read and write MPQ archives (Diablo, StarCraft)"
HOMEPAGE="
http://www.zezula.net/en/mpq/stormlib.html
- https://github.com/ladislav-zezula/StormLib"
+ https://github.com/ladislav-zezula/StormLib/
+"
SRC_URI="
https://github.com/ladislav-zezula/StormLib/archive/v${PV}.tar.gz
- -> ${MY_P}.tar.gz"
+ -> ${MY_P}.tar.gz
+"
S=${WORKDIR}/${MY_P}
LICENSE="MIT"
@@ -22,11 +24,12 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="
app-arch/bzip2:=
dev-libs/libtomcrypt:=[libtommath]
- sys-libs/zlib:="
+ sys-libs/zlib:=
+"
DEPEND=${RDEPEND}
PATCHES=(
- "${FILESDIR}"/stormlib-9.23-gnuinstalldirs.patch
+ "${FILESDIR}"/stormlib-9.24-gnuinstalldirs.patch
)
src_configure() {
diff --git a/app-arch/stormlib/stormlib-9.25.ebuild b/app-arch/stormlib/stormlib-9.25.ebuild
new file mode 100644
index 000000000000..dbb04664be09
--- /dev/null
+++ b/app-arch/stormlib/stormlib-9.25.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P=StormLib-${PV}
+DESCRIPTION="Library to read and write MPQ archives (Diablo, StarCraft)"
+HOMEPAGE="
+ http://www.zezula.net/en/mpq/stormlib.html
+ https://github.com/ladislav-zezula/StormLib/
+"
+SRC_URI="
+ https://github.com/ladislav-zezula/StormLib/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-arch/bzip2:=
+ dev-libs/libtomcrypt:=[libtommath]
+ sys-libs/zlib:=
+"
+DEPEND=${RDEPEND}
+
+PATCHES=(
+ "${FILESDIR}"/stormlib-9.24-gnuinstalldirs.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ # interactive test app
+ -DSTORM_BUILD_TESTS=OFF
+ -DWITH_LIBTOMCRYPT=ON
+ )
+
+ cmake_src_configure
+}
diff --git a/app-arch/stuffit/stuffit-5.2.0.611.ebuild b/app-arch/stuffit/stuffit-5.2.0.611-r1.ebuild
index f951829d1fe4..4edbd3e01728 100644
--- a/app-arch/stuffit/stuffit-5.2.0.611.ebuild
+++ b/app-arch/stuffit/stuffit-5.2.0.611-r1.ebuild
@@ -1,23 +1,21 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
MY_P="stuffit520.611linux-i386"
DESCRIPTION="Aladdin Software's StuffIt and StuffIt Expander"
HOMEPAGE="http://www.stuffit.com/"
SRC_URI="http://my.smithmicro.com/downloads/files/${MY_P}.tar.gz"
+S="${WORKDIR}"
LICENSE="Stuffit"
SLOT="0"
KEYWORDS="-* amd64 x86"
-IUSE=""
RESTRICT="fetch strip"
-S="${WORKDIR}"
-
-INSTALLDIR=/opt/stuffit
+INSTALLDIR="/opt/stuffit"
pkg_nofetch() {
einfo "Please download stuffit from"
@@ -49,12 +47,10 @@ src_install() {
doman man/man1/*
# Also add the executables to the path
- dodir /etc/env.d
- cat > "${T}"/10stuffit <<- EOF || die
+ newenvd - 10stuffit <<- EOF
PATH="${EPREFIX}${INSTALLDIR}/bin"
ROOTPATH="${EPREFIX}${INSTALLDIR}/bin"
EOF
- doenvd "${T}"/10stuffit
}
pkg_postinst() {
diff --git a/app-arch/tapeutils/tapeutils-0.4.ebuild b/app-arch/tapeutils/tapeutils-0.4-r1.ebuild
index 50e3aac72747..3910ba59b41b 100644
--- a/app-arch/tapeutils/tapeutils-0.4.ebuild
+++ b/app-arch/tapeutils/tapeutils-0.4-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
@@ -12,9 +12,7 @@ SRC_URI="http://www.brouhaha.com/~eric/software/tapeutils/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE=""
-DEPEND=""
RDEPEND="!app-emulation/hercules"
PATCHES=(
diff --git a/app-arch/tar/Manifest b/app-arch/tar/Manifest
index 0ee31a390c04..52fa6aa731e6 100644
--- a/app-arch/tar/Manifest
+++ b/app-arch/tar/Manifest
@@ -1 +1,4 @@
DIST tar-1.34.tar.xz 2226068 BLAKE2B 741a662457509a6775338ffe5d2d84872fcf38b93ace70c8b748a81055b9b62f65a48c4e541955d08ae99e6f528509e89eacd7c799a65bcc3d017a259110c115 SHA512 5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902
+DIST tar-1.34.tar.xz.sig 181 BLAKE2B 2fae91293a9dacda0374706e1f83498042a9d5224f80f6f0e14abdb914cb5a8e980f720eb4a453485844c7fe26e0525f230c0eab11c7fa89159a1a929370795c SHA512 55297f41549deee511f5b14c6b5dc7bb3d9282dad52bcc85f9dddfad24b677f989ba86387ad9b133c3698feedbd6b6cd7e9f005e8e4c89f72c80543eeceb78f7
+DIST tar-1.35.tar.xz 2317208 BLAKE2B e1a200d21f433cd7d917dd979db16919a9167056ae62cf7d038a6118e56b2fe419cd4a396eee66f1f4dc13a8dc380e23f6ffd7ee0ca84e5dd9ad9411f60e002c SHA512 8b84ed661e6c878fa33eb5c1808d20351e6f40551ac63f96014fb0d0b9c72d5d94d8865d39e36bcb184fd250f84778a3b271bbd8bd2ceb69eece0c3568577510
+DIST tar-1.35.tar.xz.sig 95 BLAKE2B 8501b55b700bc99b81f04519db1cd8f7bc3d87dd5bfefa25a3d979b23359f02dfb770f3dd66dca275baa70a99612cb85c1019faaf3a1f0bcf50c9815b8e32eca SHA512 00e5c95bf8015f75f59556a82ed7f50bddefe89754c7ff3c19411aee2f37626a5d65c33e18b87f7f8f96388d3f175fd095917419a3ad1c0fc9d6188088bac944
diff --git a/app-arch/tar/files/tar-1.34-fix-cve-2022-48303.patch b/app-arch/tar/files/tar-1.34-fix-cve-2022-48303.patch
new file mode 100644
index 000000000000..7ef604b52378
--- /dev/null
+++ b/app-arch/tar/files/tar-1.34-fix-cve-2022-48303.patch
@@ -0,0 +1,32 @@
+Gentoo Bug: https://bugs.gentoo.org/898176
+Upstream Commit Link: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=3da78400eafcccb97e2f2fd4b227ea40d794ede8
+
+From 3da78400eafcccb97e2f2fd4b227ea40d794ede8 Mon Sep 17 00:00:00 2001
+From: Sergey Poznyakoff <gray@gnu.org>
+Date: Sat, 11 Feb 2023 11:57:39 +0200
+Subject: [PATCH] Fix boundary checking in base-256 decoder
+
+* src/list.c (from_header): Base-256 encoding is at least 2 bytes
+long.
+---
+ src/list.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/list.c b/src/list.c
+index 9fafc425..86bcfdd1 100644
+--- a/src/list.c
++++ b/src/list.c
+@@ -881,8 +881,9 @@ from_header (char const *where0, size_t digs, char const *type,
+ where++;
+ }
+ }
+- else if (*where == '\200' /* positive base-256 */
+- || *where == '\377' /* negative base-256 */)
++ else if (where <= lim - 2
++ && (*where == '\200' /* positive base-256 */
++ || *where == '\377' /* negative base-256 */))
+ {
+ /* Parse base-256 output. A nonnegative number N is
+ represented as (256**DIGS)/2 + N; a negative number -N is
+--
+2.39.2.637.g21b0678d19-goog
diff --git a/app-arch/tar/tar-1.34-r3.ebuild b/app-arch/tar/tar-1.34-r3.ebuild
new file mode 100644
index 000000000000..cc5253e340f7
--- /dev/null
+++ b/app-arch/tar/tar-1.34-r3.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tar.asc
+inherit verify-sig
+
+DESCRIPTION="Use this to make tarballs :)"
+HOMEPAGE="https://www.gnu.org/software/tar/"
+SRC_URI="mirror://gnu/tar/${P}.tar.xz
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz"
+SRC_URI+=" verify-sig? (
+ mirror://gnu/tar/${P}.tar.xz.sig
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz.sig
+ )"
+
+LICENSE="GPL-3+"
+SLOT="0"
+if [[ -z "$(ver_cut 3)" ]] || [[ "$(ver_cut 3)" -lt 90 ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="acl minimal nls selinux xattr"
+
+RDEPEND="
+ acl? ( virtual/acl )
+ selinux? ( sys-libs/libselinux )
+"
+DEPEND="${RDEPEND}
+ xattr? ( elibc_glibc? ( sys-apps/attr ) )
+"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-tar )
+"
+PDEPEND="
+ app-alternatives/tar
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-cve-2022-48303.patch
+)
+
+src_configure() {
+ # -fanalyzer doesn't make sense for us in ebuilds, as it's for static analysis
+ export gl_cv_warn_c__fanalyzer=no
+
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/bin
+ # Avoid -Werror
+ --disable-gcc-warnings
+ --enable-backup-scripts
+ --libexecdir="${EPREFIX}"/usr/sbin
+ $(use_with acl posix-acls)
+ $(use_enable nls)
+ $(use_with selinux)
+ $(use_with xattr xattrs)
+
+ # autoconf looks for gtar before tar (in configure scripts), hence
+ # in Prefix it is important that it is there, otherwise, a gtar from
+ # the host system (FreeBSD, Solaris, Darwin) will be found instead
+ # of the Prefix provided (GNU) tar
+ --program-prefix=g
+ )
+
+ FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # a nasty yet required piece of baggage
+ exeinto /etc
+ doexe "${FILESDIR}"/rmt
+
+ mv "${ED}"/usr/sbin/{gbackup,backup-tar} || die
+ mv "${ED}"/usr/sbin/{grestore,restore-tar} || die
+ mv "${ED}"/usr/sbin/{g,}backup.sh || die
+ mv "${ED}"/usr/sbin/{g,}dump-remind || die
+
+ if use minimal ; then
+ find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
+ -type f -a '!' -name gtar \
+ -delete || die
+ fi
+
+ if ! use minimal; then
+ dosym grmt /usr/sbin/rmt
+ fi
+ dosym grmt.8 /usr/share/man/man8/rmt.8
+}
+
+pkg_postinst() {
+ # ensure to preserve the symlink before app-alternatives/tar
+ # is installed
+ if [[ ! -h ${EROOT}/bin/tar ]]; then
+ if [[ -e ${EROOT}/usr/bin/tar ]] ; then
+ # bug #904887
+ ewarn "${EROOT}/usr/bin/tar exists but is not a symlink."
+ ewarn "This is expected during Prefix bootstrap and unusual otherwise."
+ ewarn "Moving away unexpected ${EROOT}/usr/bin/tar to .bak."
+ mv "${EROOT}/usr/bin/tar" "${EROOT}/usr/bin/tar.bak" || die
+ fi
+ ln -s gtar "${EROOT}/bin/tar" || die
+ fi
+}
diff --git a/app-arch/tar/tar-1.34.ebuild b/app-arch/tar/tar-1.34.ebuild
deleted file mode 100644
index aba5e27209f9..000000000000
--- a/app-arch/tar/tar-1.34.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="Use this to make tarballs :)"
-HOMEPAGE="https://www.gnu.org/software/tar/"
-SRC_URI="mirror://gnu/tar/${P}.tar.xz
- https://alpha.gnu.org/gnu/tar/${P}.tar.xz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-[[ -n "$(ver_cut 3)" ]] && [[ "$(ver_cut 3)" -ge 90 ]] || \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="acl elibc_glibc minimal nls selinux userland_GNU xattr"
-
-RDEPEND="
- acl? ( virtual/acl )
- selinux? ( sys-libs/libselinux )
-"
-DEPEND="${RDEPEND}
- xattr? ( elibc_glibc? ( sys-apps/attr ) )
-"
-BDEPEND="
- nls? ( sys-devel/gettext )
-"
-
-src_prepare() {
- default
-
- if ! use userland_GNU ; then
- sed -i \
- -e 's:/backup\.sh:/gbackup.sh:' \
- scripts/{backup,dump-remind,restore}.in \
- || die "sed non-GNU"
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/bin
- --enable-backup-scripts
- --libexecdir="${EPREFIX}"/usr/sbin
- $(usex userland_GNU "" "--program-prefix=g")
- $(use_with acl posix-acls)
- $(use_enable nls)
- $(use_with selinux)
- $(use_with xattr xattrs)
- )
- FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
-
- local p=$(usex userland_GNU "" "g")
- if [[ -z ${p} ]] ; then
- # a nasty yet required piece of baggage
- exeinto /etc
- doexe "${FILESDIR}"/rmt
- fi
-
- # autoconf looks for gtar before tar (in configure scripts), hence
- # in Prefix it is important that it is there, otherwise, a gtar from
- # the host system (FreeBSD, Solaris, Darwin) will be found instead
- # of the Prefix provided (GNU) tar
- if use prefix ; then
- dosym tar /bin/gtar
- fi
-
- mv "${ED}"/usr/sbin/${p}backup{,-tar} || die
- mv "${ED}"/usr/sbin/${p}restore{,-tar} || die
-
- if use minimal ; then
- find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
- -type f -a '!' '(' -name tar -o -name ${p}tar ')' \
- -delete || die
- fi
-}
diff --git a/app-arch/tar/tar-1.35.ebuild b/app-arch/tar/tar-1.35.ebuild
new file mode 100644
index 000000000000..46d2ebf890bb
--- /dev/null
+++ b/app-arch/tar/tar-1.35.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/tar.asc
+inherit multiprocessing verify-sig
+
+DESCRIPTION="Use this to make tarballs :)"
+HOMEPAGE="https://www.gnu.org/software/tar/"
+SRC_URI="
+ mirror://gnu/tar/${P}.tar.xz
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz
+ verify-sig? (
+ mirror://gnu/tar/${P}.tar.xz.sig
+ https://alpha.gnu.org/gnu/tar/${P}.tar.xz.sig
+ )
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+if [[ -z "$(ver_cut 3)" || "$(ver_cut 3)" -lt 90 ]] ; then
+ KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="acl minimal nls selinux xattr"
+
+RDEPEND="
+ acl? ( virtual/acl )
+ selinux? ( sys-libs/libselinux )
+"
+DEPEND="
+ ${RDEPEND}
+ xattr? ( elibc_glibc? ( sys-apps/attr ) )
+"
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ verify-sig? ( sec-keys/openpgp-keys-tar )
+"
+PDEPEND="
+ app-alternatives/tar
+"
+
+src_configure() {
+ # -fanalyzer doesn't make sense for us in ebuilds, as it's for static analysis
+ export gl_cv_warn_c__fanalyzer=no
+
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/bin
+ # Avoid -Werror
+ --disable-gcc-warnings
+ --enable-backup-scripts
+ --libexecdir="${EPREFIX}"/usr/sbin
+ $(use_with acl posix-acls)
+ $(use_enable nls)
+ $(use_with selinux)
+ $(use_with xattr xattrs)
+
+ # autoconf looks for gtar before tar (in configure scripts), hence
+ # in Prefix it is important that it is there, otherwise, a gtar from
+ # the host system (FreeBSD, Solaris, Darwin) will be found instead
+ # of the Prefix provided (GNU) tar
+ --program-prefix=g
+ )
+
+ # Drop CONFIG_SHELL hack after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=7687bf4acc4dc4554538389383d7fb4c3e6521cd
+ CONFIG_SHELL="${BROOT}"/bin/bash FORCE_UNSAFE_CONFIGURE=1 econf "${myeconfargs[@]}"
+}
+
+src_test() {
+ # Drop after 1.35: https://git.savannah.gnu.org/cgit/tar.git/commit/?id=18f90676e4695ffcf13413e9fbb24cc0ae2ae9d5
+ local -x XZ_OPT= XZ_DEFAULTS=
+
+ emake check TESTSUITEFLAGS="--jobs=$(get_makeopts_jobs)"
+}
+
+src_install() {
+ default
+
+ # A nasty yet required piece of baggage
+ exeinto /etc
+ doexe "${FILESDIR}"/rmt
+
+ mv "${ED}"/usr/sbin/{gbackup,backup-tar} || die
+ mv "${ED}"/usr/sbin/{grestore,restore-tar} || die
+ mv "${ED}"/usr/sbin/{g,}backup.sh || die
+ mv "${ED}"/usr/sbin/{g,}dump-remind || die
+
+ if use minimal ; then
+ find "${ED}"/etc "${ED}"/*bin/ "${ED}"/usr/*bin/ \
+ -type f -a '!' -name gtar \
+ -delete || die
+ fi
+
+ if ! use minimal; then
+ dosym grmt /usr/sbin/rmt
+ fi
+ dosym grmt.8 /usr/share/man/man8/rmt.8
+}
+
+pkg_postinst() {
+ # Ensure to preserve the symlink before app-alternatives/tar
+ # is installed
+ if [[ ! -h ${EROOT}/bin/tar ]]; then
+ if [[ -e ${EROOT}/usr/bin/tar ]] ; then
+ # bug #904887
+ ewarn "${EROOT}/usr/bin/tar exists but is not a symlink."
+ ewarn "This is expected during Prefix bootstrap and unusual otherwise."
+ ewarn "Moving away unexpected ${EROOT}/usr/bin/tar to .bak."
+ mv "${EROOT}/usr/bin/tar" "${EROOT}/usr/bin/tar.bak" || die
+ fi
+ ln -s gtar "${EROOT}/bin/tar" || die
+ fi
+}
diff --git a/app-arch/tardelta/tardelta-1.0.1.ebuild b/app-arch/tardelta/tardelta-1.0.1-r1.ebuild
index 4eecae00a901..37dfd6b81b3e 100644
--- a/app-arch/tardelta/tardelta-1.0.1.ebuild
+++ b/app-arch/tardelta/tardelta-1.0.1-r1.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Generate a tarball of differences between two tarballs"
diff --git a/app-arch/tarlz/Manifest b/app-arch/tarlz/Manifest
index b24b7840ddfd..772095f9e4fc 100644
--- a/app-arch/tarlz/Manifest
+++ b/app-arch/tarlz/Manifest
@@ -1 +1 @@
-DIST tarlz-0.21.tar.lz 104780 BLAKE2B c3aacda3e8ab25757758d811d9cdc153777835950436dbb4827cf75d801f6c3035475330512a2657a8c9733f6afdf452d9689d7d72d11ba8ef968fceab671ed4 SHA512 1ad671da7ee115762163af57aad69ec754753e68a99ef8c4f38e880ecbb75a5b021f38794390eabcdbef4963cbc0c0e2abe36011da4135baf2c21dc22f020f4a
+DIST tarlz-0.25.tar.lz 113783 BLAKE2B 56aad4c839ec4fe10bcd7101cea3300aae8e73630ac95de529401d308b23f8fb292d02a7817484259985fc079380e50219ea8d5002427f2bffad63137a1f03b1 SHA512 a55e89c3e701375d47f6fefd3cba5621f53371f3b3e59c174759e5d122f852b6eec02f5e71ce375b84d6af253841ad4b0d4c8a8af8fc12b81f877f0ab8c3b3c8
diff --git a/app-arch/tarlz/metadata.xml b/app-arch/tarlz/metadata.xml
index 7c4e374d13a7..08a467d3d198 100644
--- a/app-arch/tarlz/metadata.xml
+++ b/app-arch/tarlz/metadata.xml
@@ -5,4 +5,8 @@
<email>flow@gentoo.org</email>
<name>Florian Schmaus</name>
</maintainer>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
</pkgmetadata>
diff --git a/app-arch/tarlz/tarlz-0.21.ebuild b/app-arch/tarlz/tarlz-0.25.ebuild
index c92ac2f48a59..6e55bf850642 100644
--- a/app-arch/tarlz/tarlz-0.21.ebuild
+++ b/app-arch/tarlz/tarlz-0.25.ebuild
@@ -1,22 +1,27 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs unpacker
DESCRIPTION="A parallel archiver combining tar and lzip"
HOMEPAGE="https://www.nongnu.org/lzip/tarlz.html"
SRC_URI="https://download.savannah.gnu.org/releases/lzip/${PN}/${P}.tar.lz"
-LICENSE="GPL-2+"
+LICENSE="GPL-2+"
SLOT="0"
+KEYWORDS="amd64"
-KEYWORDS="~amd64"
-
-RDEPEND=">=app-arch/lzlib-1.12:0="
-DEPEND="${RDEPEND}"
-BDEPEND="$(unpacker_src_uri_depends)"
+RDEPEND="
+ >=app-arch/lzlib-1.12
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ $(unpacker_src_uri_depends)
+"
src_configure() {
econf \
diff --git a/app-arch/tarsync/Manifest b/app-arch/tarsync/Manifest
index d25b4efc14bb..407f6af99559 100644
--- a/app-arch/tarsync/Manifest
+++ b/app-arch/tarsync/Manifest
@@ -1,3 +1 @@
-DIST tarsync-0.2.1.tar.bz2 13593 BLAKE2B 4841d501587c8d4932031fe939fce9f41019622af2a4253bfe12c01160956e7eaeebf5ff00174332dce6b17ae150ead42b7c1a57483f948ba191b5c3943f6596 SHA512 bebf8e495ad196c002414c41f9fe9737b5300de18b7c3b16576a7d3bfd94608f36f1b86cb6ed4879c600b71c7706255d9b2d4140b73c5743a473fa2500dbca2d
-DIST tarsync-0.2.2.tar.gz 21028 BLAKE2B 33aae739c990a85d8ce9458545b829743a3babd30890988f83d9ad6eebe96ffb48f872b5afb947fe58eb9156000513d65e299cdcc57ffc7e9cb12ee4d986b784 SHA512 88d7ca773538f7d2d612068ce9b6b4389d63e627a12f6377a7e7f397700d92eb29c6f4facc6b698454710e63808a3b4d6acc7901c6999dcca2de93c5d58a2622
DIST tarsync-0.2.3.tar.gz 21148 BLAKE2B 53eff0b6b8b3a6fe9c9e56a08659c02ec01b9e521dd06abd3fe9c04da6ec463eb79758ffe5bce17dc0396c3c5d6daf258d8dc5c2479047f9a1e14f892e05948b SHA512 dcb4c4e329b2a25ce0e9986defb0dfb76417352683c9ff5c71ed32861be3847d47af7db4e28b214e194cb1751b8934bb11644450a3dccd0bf24fcf009167a03b
diff --git a/app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch b/app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch
deleted file mode 100644
index f11c86bb248a..000000000000
--- a/app-arch/tarsync/files/tarsync-0.2.1-gcc5.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/excludes.c b/excludes.c
-index b7c928d..fa43cef 100644
---- a/excludes.c
-+++ b/excludes.c
-@@ -106,7 +106,7 @@ build_exclude(fnm_exclude **ex_ptr, const char *pattern)
- }
-
-
--inline int
-+int
- match_excludes(const char *dir, const char *file, fnm_exclude **excludes)
- {
- char *p;
-diff --git a/main.c b/main.c
-index 84feed4..2c2da3e 100644
---- a/main.c
-+++ b/main.c
-@@ -42,8 +42,8 @@ int remove_node(const char *path, struct stat *st);
- int ensure_files_layout(const tar_entry **ttar, const unsigned int ttar_count, tar_entry ***missing,
- unsigned int *missing_count, tar_entry ***existing, unsigned int *existing_count,
- fnm_exclude **excludes);
--inline int check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st);
--inline int enforce_owner(const char *path, const tar_entry *t, struct stat *st);
-+int check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st);
-+int enforce_owner(const char *path, const tar_entry *t, struct stat *st);
- int copy_whole_file(cfile *tar_cfh, const tar_entry *ttent);
-
- static int check_mtime = 1;
-@@ -669,7 +669,7 @@ recursively_delete_dir(const char *path)
- return ret;
- }
-
--inline int
-+int
- check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st)
- {
- int type;
-@@ -685,7 +685,7 @@ check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st
- return 0;
- }
-
--inline int
-+int
- enforce_owner(const char *path, const tar_entry *t, struct stat *st)
- {
- struct stat st2;
-diff --git a/tar.c b/tar.c
-index 792ccd4..42dc8e7 100644
---- a/tar.c
-+++ b/tar.c
-@@ -40,7 +40,7 @@ int check_str_chksum(const char *block)
-
- /* possibly this could be done different, what of endptr of strtol?
- Frankly I worry about strtol trying to go too far and causing a segfault, due to tar fields not always having trailing \0 */
--inline unsigned long octal_str2long(const char *string, unsigned int length)
-+unsigned long octal_str2long(const char *string, unsigned int length)
- {
- if(string[length]) {
- char *ptr = strndup(string, length);
diff --git a/app-arch/tarsync/files/tarsync-0.2.1-make.patch b/app-arch/tarsync/files/tarsync-0.2.1-make.patch
deleted file mode 100644
index 4f3d062f3619..000000000000
--- a/app-arch/tarsync/files/tarsync-0.2.1-make.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Respect CC, CPPFLAGS and LDFLAGS.
-
---- a/Makefile
-+++ b/Makefile
-@@ -2,7 +2,7 @@
- CC=gcc
- endif
- tarsync: main.o names.o tar.o string-misc.o fs.o options.o excludes.o
-- gcc $(CFLAGS) $^ -o tarsync -lcfile
-+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $^ -o tarsync -lcfile
- all: tarsync
-
- clean:
diff --git a/app-arch/tarsync/files/tarsync-0.2.1-symlink.patch b/app-arch/tarsync/files/tarsync-0.2.1-symlink.patch
deleted file mode 100644
index cb0efd01b1ba..000000000000
--- a/app-arch/tarsync/files/tarsync-0.2.1-symlink.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 6654d41a14da2fc521e889f01669f0dbb89aef15 Mon Sep 17 00:00:00 2001
-From: Zac Medico <zmedico@gentoo.org>
-Date: Tue, 5 Oct 2021 23:21:53 -0700
-Subject: [PATCH] Symlink support
-
-Bug: https://bugs.gentoo.org/815823
-Signed-off-by: Zac Medico <zmedico@gentoo.org>
----
- main.c | 37 +++++++++++++++++++++++++++++++++++--
- tar.c | 16 ++++++++++++++--
- tar.h | 2 ++
- 3 files changed, 51 insertions(+), 4 deletions(-)
-
-diff --git a/main.c b/main.c
-index 2c2da3e..448a9d0 100644
---- a/main.c
-+++ b/main.c
-@@ -257,7 +257,14 @@ main(int argc, char **argv)
- // no need to seek. cfile handles resetting streams as needed
-
- for(x=0; x < missing_count; x++) {
-- if(copy_whole_file(&tar_cfh, missing[x]) != 0) {
-+ if (missing[x]->type == SYMTYPE) {
-+ if(copy_symlink(&tar_cfh, missing[x]) != 0) {
-+ v0printf("failed transfering symlink %s\n", missing[x]->fullname);
-+ exit(9);
-+ }
-+ continue;
-+ }
-+ else if(copy_whole_file(&tar_cfh, missing[x]) != 0) {
- v0printf("failed transfering file %s\n", missing[x]->fullname);
- exit(9);
- }
-@@ -673,6 +680,8 @@ int
- check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st)
- {
- int type;
-+ unsigned char linkname[TAR_LINKNAME_LEN];
-+ ssize_t linkname_len;
- type = convert_lstat_type_tar_type(de->d_name, st);
- if(type < 0)
- return -1;
-@@ -682,6 +691,15 @@ check_existing_node(const struct dirent *de, const tar_entry *t, struct stat *st
- return 2;
- if(REGTYPE == type && (st->st_size != t->size || (check_mtime && t->mtime != st->st_mtime)))
- return 3;
-+ if (SYMTYPE == type) {
-+ if ((linkname_len = readlink(de->d_name, linkname, TAR_LINKNAME_LEN)) == -1) {
-+ return -1;
-+ }
-+ if(strncmp((const char *)linkname, (const char *)t->linkname, linkname_len) != 0) {
-+ remove_node(de->d_name, st);
-+ return 3;
-+ }
-+ }
- return 0;
- }
-
-@@ -703,7 +721,22 @@ enforce_owner(const char *path, const tar_entry *t, struct stat *st)
- }
- return 0;
- }
--
-+
-+int
-+copy_symlink(cfile *tar_cfh, const tar_entry *ttent)
-+{
-+ v1printf("creating %s\n", ttent->fullname);
-+
-+ if (symlink(ttent->linkname, ttent->fullname) != 0) {
-+ v0printf("failed creating symlink %s -> %s\n", ttent->fullname, ttent->linkname);
-+ return -1;
-+ }
-+ if(lchown(ttent->fullname, ttent->uid, ttent->gid) != 0) {
-+ v0printf("failed chown'ing %s\n", ttent->fullname);
-+ return -1;
-+ }
-+ return 0;
-+}
-
- int
- copy_whole_file(cfile *tar_cfh, const tar_entry *ttent)
-diff --git a/tar.c b/tar.c
-index 42dc8e7..514e5fb 100644
---- a/tar.c
-+++ b/tar.c
-@@ -214,8 +214,7 @@ read_entry(cfile *src_cfh, off_u64 start, tar_entry *entry)
- case AREGTYPE:
- entry->type = REGTYPE; break;
- case SYMTYPE:
-- v0printf("symlinks not supported\n");
-- entry->type = TTAR_UNSUPPORTED_TYPE; break;
-+ entry->type = SYMTYPE; break;
- case LNKTYPE:
- v0printf("hardlinks not supported!\n");
- entry->type = TTAR_UNSUPPORTED_TYPE; break;
-@@ -242,6 +241,17 @@ read_entry(cfile *src_cfh, off_u64 start, tar_entry *entry)
- if(get_uid(block + TAR_UNAME_LOC, &entry->uid))
- entry->uid = octal_str2long(block + TAR_UID_LOC, TAR_UID_LOC);
-
-+ if (entry->type == SYMTYPE) {
-+ name_len = strnlen((char *)block + TAR_LINKNAME_LOC, TAR_LINKNAME_LEN);
-+ if((entry->linkname = (char *)malloc(name_len + 1)) == NULL){
-+ v0printf("unable to allocate needed memory, bailing\n");
-+ return MEM_ERROR;
-+ }
-+ memcpy(entry->linkname, block + TAR_LINKNAME_LOC, name_len);
-+ entry->linkname[name_len] = '\0';
-+ entry->linkname_len = name_len;
-+ }
-+
- // if(entry->end % 512)
- // entry->end += 512 - (entry->end % 512);
- return 0;
-@@ -256,6 +266,8 @@ convert_lstat_type_tar_type(const char *path, struct stat *st)
- if(S_ISREG(st->st_mode)) {
- if(st->st_nlink == 1)
- return REGTYPE;
-+ } else if(S_ISLNK(st->st_mode)) {
-+ return SYMTYPE;
- } else if(S_ISDIR(st->st_mode))
- return DIRTYPE;
-
-diff --git a/tar.h b/tar.h
-index e9d9ee9..95f957c 100644
---- a/tar.h
-+++ b/tar.h
-@@ -78,6 +78,8 @@ typedef struct {
- off_u64 size;
- unsigned int fullname_len;
- char *fullname;
-+ unsigned int linkname_len;
-+ char *linkname;
- time_t mtime;
- uid_t uid;
- gid_t gid;
---
-2.32.0
-
diff --git a/app-arch/tarsync/tarsync-0.2.1-r1.ebuild b/app-arch/tarsync/tarsync-0.2.1-r1.ebuild
deleted file mode 100644
index f2048606800d..000000000000
--- a/app-arch/tarsync/tarsync-0.2.1-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Delta compression suite for using/generating binary patches"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc x86 ~amd64-linux"
-
-DEPEND=">=dev-util/diffball-0.7"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-make.patch
- "${FILESDIR}"/${P}-gcc5.patch
-)
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- dobin tarsync #make install doesn't support prefix
- einstalldocs
-}
diff --git a/app-arch/tarsync/tarsync-0.2.1-r2.ebuild b/app-arch/tarsync/tarsync-0.2.1-r2.ebuild
deleted file mode 100644
index 03f32dcfee79..000000000000
--- a/app-arch/tarsync/tarsync-0.2.1-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Delta compression suite for using/generating binary patches"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-SRC_URI="mirror://gentoo/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~hppa ppc x86 ~amd64-linux"
-
-DEPEND=">=dev-util/diffball-0.7"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-make.patch
- "${FILESDIR}"/${P}-gcc5.patch
- "${FILESDIR}"/${P}-symlink.patch
-)
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- dobin tarsync #make install doesn't support prefix
- einstalldocs
-}
diff --git a/app-arch/tarsync/tarsync-0.2.2.ebuild b/app-arch/tarsync/tarsync-0.2.2.ebuild
deleted file mode 100644
index 869ab23ff2c4..000000000000
--- a/app-arch/tarsync/tarsync-0.2.2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Delta compression suite for using/generating binary patches"
-HOMEPAGE="https://github.com/zmedico/tarsync"
-SRC_URI="https://github.com/zmedico/tarsync/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86 ~amd64-linux"
-
-DEPEND=">=dev-util/diffball-0.7"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- tc-export CC
-}
-
-src_install() {
- dobin tarsync #make install doesn't support prefix
- einstalldocs
-}
diff --git a/app-arch/tarsync/tarsync-0.2.3.ebuild b/app-arch/tarsync/tarsync-0.2.3.ebuild
index 2fe75085a6d7..50c6d73f3dbf 100644
--- a/app-arch/tarsync/tarsync-0.2.3.ebuild
+++ b/app-arch/tarsync/tarsync-0.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/zmedico/tarsync/archive/refs/tags/v${PV}.tar.gz -> $
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~hppa ~ppc ~x86 ~amd64-linux"
+KEYWORDS="amd64 ~hppa ppc x86 ~amd64-linux"
DEPEND=">=dev-util/diffball-0.7:="
RDEPEND="${DEPEND}"
diff --git a/app-arch/torrentzip/Manifest b/app-arch/torrentzip/Manifest
index e33a18a286e3..08aa339c1310 100644
--- a/app-arch/torrentzip/Manifest
+++ b/app-arch/torrentzip/Manifest
@@ -1 +1,3 @@
DIST torrentzip-0.9.tar.gz 59007 BLAKE2B eb5d7d8d9026115367afd88ef0cf33d2eed600e6eaa773f039a713c76a48a39e12cb5a8ac6faf2937d3563c9270029543bdb6361d2f22a39e2341953872f589c SHA512 691cd25f501de3de16b5b15b2afadfc34b833c3e93208c2c3497674936580ad2c3532a02e02531b89974302eee7b36f7579a412718914b1b38044b78a39a4d4d
+DIST trrntzip-1.2.tar.gz 62707 BLAKE2B 289ddfe89b91c63b1a6902ea7a4055fa8e235e712d6ea911da2848cc8db15cbdf712967b9fcc1414513c1a18eef160108f5f7b03aefd8f8f18c4d04907a16c17 SHA512 90c853efde1d077c741206362bc14fe779627f1b20571246e99ed29980840e78c0377110431c59c35596a0d209e612f6fe77b385707eb4bdb1ea47bb797c9272
+DIST trrntzip-1.3.tar.gz 67297 BLAKE2B c77fd134cfd3ab30f46b66f4b3dd36b899ee6267b17100b1ad15bdf5c6beddaea94fe22d23f1a81de85522768d76401f0192d0deac2ff75edc816510c8069e2c SHA512 c21ed6ac4dacd652e2a67b700741d70dd9da699259bd299ca177c741111f92e70eef0b3ad2ced54b5635780cab2b4c46b3f9c258dfa18bdde24e2718c38339be
diff --git a/app-arch/torrentzip/files/torrentzip-1.2-checksum-detection.patch b/app-arch/torrentzip/files/torrentzip-1.2-checksum-detection.patch
new file mode 100644
index 000000000000..ac1ae14cbe03
--- /dev/null
+++ b/app-arch/torrentzip/files/torrentzip-1.2-checksum-detection.patch
@@ -0,0 +1,51 @@
+From 016915e16f32105590a6dc11a4adc988b2f8d9a9 Mon Sep 17 00:00:00 2001
+From: Alexander Miller <alex.miller@gmx.de>
+Date: Mon, 4 Mar 2024 19:26:21 +0100
+Subject: [PATCH] Fix broken detection of missing or wrong TORRENTZIPPED-...
+ comment
+
+The commit listed below introduces a regression where in MigrateZip(),
+variable rc would be clobbered when its value is still needed. That
+completely breaks handling of zips that should be re-zipped because
+of missing or out of date TORRENTZIPPED-... comment.
+
+Rewrite the offending code such that it no longer touches the variable.
+
+Fixes: cf11c900079e ("Check for more errors while reading zip entries")
+---
+ src/trrntzip.c | 20 ++++++++++++--------
+ 1 file changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/src/trrntzip.c b/src/trrntzip.c
+index e55d217..49f796e 100644
+--- a/src/trrntzip.c
++++ b/src/trrntzip.c
+@@ -379,16 +379,20 @@ int MigrateZip(const char *zip_path, const char *pDir, WORKSPACE *ws,
+
+ CHECK_DYNAMIC_STRING_ARRAY(ws->FileNameArray, ws->iElements);
+ // Get the filelist from the zip file in original order in ws->FileNameArray
+- rc = GetFileList(UnZipHandle, ws);
+- if (rc != TZ_OK) {
++ switch (GetFileList(UnZipHandle, ws)) {
++ case TZ_OK:
++ break;
++ case TZ_CRITICAL:
+ logprint3(stderr, mig->fProcessLog, ErrorLog(ws),
+- rc == TZ_CRITICAL
+- ? "Error allocating memory!\n"
+- : "Could not list contents of \"%s\". File is corrupted or "
+- "contains entries with bad names.\n",
+- szZipFileName);
++ "Error allocating memory!\n");
++ unzClose(UnZipHandle);
++ return TZ_CRITICAL;
++ default:
++ logprint3(stderr, mig->fProcessLog, ErrorLog(ws),
++ "Could not list contents of \"%s\". File is corrupted or "
++ "contains entries with bad names.\n", szZipFileName);
+ unzClose(UnZipHandle);
+- return rc;
++ return TZ_ERR;
+ }
+ CHECK_DYNAMIC_STRING_ARRAY(ws->FileNameArray, ws->iElements);
+
diff --git a/app-arch/torrentzip/metadata.xml b/app-arch/torrentzip/metadata.xml
index a2a3c19e67ce..7f1fee17f0f1 100644
--- a/app-arch/torrentzip/metadata.xml
+++ b/app-arch/torrentzip/metadata.xml
@@ -11,12 +11,15 @@
</maintainer>
<longdescription>
- TorrentZip is a replacement for MameZip. The goal of the program is to
- use standard values when creating zips to create identical files over
- multiple systems. It has the ability to create a torrentzip format
- from a zip file.
+ Torrentzip converts zip archives to a standard format with some
+ pre-defined values, sorting the files, and using particular
+ compression settings so that running it on zip archives created
+ by other tools will always result in the same output. This helps
+ e.g. with sharing zip archives using BitTorrent (which is where
+ the name comes from).
</longdescription>
<upstream>
+ <remote-id type="github">0-wiz-0/trrntzip</remote-id>
<remote-id type="sourceforge">trrntzip</remote-id>
</upstream>
</pkgmetadata>
diff --git a/app-arch/torrentzip/torrentzip-1.2-r1.ebuild b/app-arch/torrentzip/torrentzip-1.2-r1.ebuild
new file mode 100644
index 000000000000..d526e0b88c10
--- /dev/null
+++ b/app-arch/torrentzip/torrentzip-1.2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P="trrntzip-${PV}"
+DESCRIPTION="Create identical zip archives over multiple systems"
+HOMEPAGE="https://github.com/0-wiz-0/trrntzip"
+SRC_URI="https://github.com/0-wiz-0/trrntzip/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+ ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ sys-libs/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+DOCS=(AUTHORS NEWS.md README.md)
+PATCHES=(
+ "${FILESDIR}/${P}-checksum-detection.patch"
+)
diff --git a/app-arch/torrentzip/torrentzip-1.3.ebuild b/app-arch/torrentzip/torrentzip-1.3.ebuild
new file mode 100644
index 000000000000..7a3ce63d28a3
--- /dev/null
+++ b/app-arch/torrentzip/torrentzip-1.3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake python-any-r1
+
+MY_P="trrntzip-${PV}"
+DESCRIPTION="Create identical zip archives over multiple systems"
+HOMEPAGE="https://github.com/0-wiz-0/trrntzip"
+SRC_URI="https://github.com/0-wiz-0/trrntzip/archive/v${PV}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+ ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ ${PYTHON_DEPS}
+ >=dev-util/nihtest-1.5.0
+ )
+"
+
+DOCS=(AUTHORS NEWS.md README.md)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ if use test; then
+ local mycmakeargs=( -DPYTHONBIN="${EPYTHON}" )
+ else
+ local mycmakeargs=( -DRUN_REGRESS=NO )
+ fi
+ cmake_src_configure
+}
diff --git a/app-arch/unace/files/unace-2.5-includes.patch b/app-arch/unace/files/unace-2.5-includes.patch
new file mode 100644
index 000000000000..ca272a185041
--- /dev/null
+++ b/app-arch/unace/files/unace-2.5-includes.patch
@@ -0,0 +1,10 @@
+--- a/source/base/all/uninorm/unincore.c
++++ b/source/base/all/uninorm/unincore.c
+@@ -19,6 +19,7 @@
+ #include <string.h>
+ #include "base/all/includes.h" /* BASE_LFN_MAXLEN */
+ #include "unidata.h"
++#include "unincore.h"
+
+ /* Hangul constants */
+ #define SBase 0xAC00
diff --git a/app-arch/unace/unace-2.5-r5.ebuild b/app-arch/unace/unace-2.5-r6.ebuild
index fd5a75cbe2f2..48bed159fdc8 100644
--- a/app-arch/unace/unace-2.5-r5.ebuild
+++ b/app-arch/unace/unace-2.5-r6.ebuild
@@ -1,22 +1,26 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
inherit toolchain-funcs
DEB_VER="9"
+
DESCRIPTION="ACE unarchiver"
HOMEPAGE="http://www.winace.com/"
-SRC_URI="mirror://debian/pool/non-free/u/unace-nonfree/unace-nonfree_${PV}.orig.tar.gz
+SRC_URI="
+ mirror://debian/pool/non-free/u/unace-nonfree/unace-nonfree_${PV}.orig.tar.gz
mirror://debian/pool/non-free/u/unace-nonfree/unace-nonfree_${PV}-${DEB_VER}.debian.tar.xz"
LICENSE="freedist"
SLOT="1"
-KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~sparc-solaris"
-IUSE=""
+KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 ~s390 x86 ~amd64-linux ~x86-linux"
-PATCHES=( "${WORKDIR}"/debian/patches/ )
+PATCHES=(
+ "${WORKDIR}"/debian/patches/
+ "${FILESDIR}"/${P}-includes.patch
+)
src_configure() {
tc-export CC
diff --git a/app-arch/unadf/unadf-0.7.12-r1.ebuild b/app-arch/unadf/unadf-0.7.12-r2.ebuild
index fb1aed5c2ad7..5e358f5bf7e8 100644
--- a/app-arch/unadf/unadf-0.7.12-r1.ebuild
+++ b/app-arch/unadf/unadf-0.7.12-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit autotools
@@ -10,13 +10,12 @@ MY_PN="adflib"
DESCRIPTION="Extract files from Amiga adf disk images"
HOMEPAGE="http://lclevy.free.fr/adflib/"
SRC_URI="http://lclevy.free.fr/${MY_PN}/${MY_PN}-${PV}.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~hppa ppc x86 ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
-IUSE="static-libs"
+KEYWORDS="amd64 ~hppa ppc x86 ~x86-linux ~ppc-macos"
-S="${WORKDIR}/${MY_PN}-${PV}"
PATCHES=( "${FILESDIR}"/${PN}-0.7.12-CVE-2016-1243_CVE-2016-1244.patch )
src_prepare() {
@@ -24,11 +23,7 @@ src_prepare() {
eautoreconf
}
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/app-arch/unar/Manifest b/app-arch/unar/Manifest
index 270ff06cac04..1bac5fca46f0 100644
--- a/app-arch/unar/Manifest
+++ b/app-arch/unar/Manifest
@@ -1,2 +1,2 @@
-DIST XADMaster-1.10.7.tar.gz 2064770 BLAKE2B f6119dfb46f3d617fafb5847f41d6c0f3e5e87c8cd0763cd8e5986fae1d5b1c6e6761e9e7e4fa84125003979151b2b34d35ff47dc9be3271107cf53f1be22644 SHA512 3447b6d8f3f4fa5eea93c6628a1633017da6ff09c580d5ce4fd422027b3b79acbf38d6e41a059806d1e60eb25a9d66889938b32599168dc2c0ca648e1c1976b1
+DIST XADMaster-1.10.8.tar.gz 2072715 BLAKE2B ffa674a007865a7bbe3b67a97ad41ac4c4d4fcaf90a39d410a1f7668ac5dd526d0af7b523aca951a3dcc8ee61eb1b7f17db88604464504b2273471f3c31f846a SHA512 34c6c47806877763e022720ac3f6097c9c369481f2bb4a1c1c22e65e2c6250835c73bc3f73e71764810acec8950b05ae9f2dc29348ff192ef22968776fc7efe4
DIST universal-detector-1.1.tar.gz 196274 BLAKE2B d84dc1f850031213d88c288341edcbb588197f23ae0d10632ed129e73e4cc2b7670c8c862bba2165fcc7421c265e4dc3e791ea188e3d2b647bd1ab9b428bb866 SHA512 e514670b3d37b2472ed3e9cb0fdc3298a8479772264b7573411f104be554222bec2e01f73e1f35db95620fe785bee2dcf9ddc9c2b1f4ff6b522fa64d14d020f5
diff --git a/app-arch/unar/files/unar-1.10.8-Wint-conversion.patch b/app-arch/unar/files/unar-1.10.8-Wint-conversion.patch
new file mode 100644
index 000000000000..73053c97b86a
--- /dev/null
+++ b/app-arch/unar/files/unar-1.10.8-Wint-conversion.patch
@@ -0,0 +1,40 @@
+Without this change, GCC 14 will fail compilation with an error:
+
+XADRAR5Parser.m: In function ‘+[XADRAR5Parser recognizeFileWithHandle:firstBytes:name:]’: XADRAR5Parser.m:79:5: warning: ‘XADRAR5Parser’ may not respond to ‘+signatureLocationInData:’
+ 79 | off_t signatureLocation = [self signatureLocationInData:data];
+ | ^~~~~
+XADRAR5Parser.m:79:5: warning: (messages without a matching method signature will be assumed to return ‘id’ and accept ‘...’ as arguments)
+XADRAR5Parser.m:79:31: error: initialization of ‘off_t’ {aka ‘long int’} from ‘id’ makes integer from pointer without a cast
+ 79 | off_t signatureLocation = [self signatureLocationInData:data];
+ | ^
+
+Submitted upstream: <https://github.com/MacPaw/XADMaster/pull/161>
+
+--- a/XADRAR5Parser.m
++++ b/XADRAR5Parser.m
+@@ -74,12 +74,6 @@ static inline BOOL IsZeroHeaderBlock(RAR5HeaderBlock block) { return IsZeroBlock
+ return 8;
+ }
+
+-+(BOOL)recognizeFileWithHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name
+-{
+- off_t signatureLocation = [self signatureLocationInData:data];
+- return signatureLocation != RAR5SignatureNotFound;
+-}
+-
+ + (off_t)signatureLocationInData:(NSData *)data {
+ const uint8_t *bytes=[data bytes];
+ int length=[data length];
+@@ -98,6 +92,12 @@ static inline BOOL IsZeroHeaderBlock(RAR5HeaderBlock block) { return IsZeroBlock
+ return RAR5SignatureNotFound;
+ }
+
+++(BOOL)recognizeFileWithHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name
++{
++ off_t signatureLocation = [self signatureLocationInData:data];
++ return signatureLocation != RAR5SignatureNotFound;
++}
++
+ +(NSArray *)volumesForHandle:(CSHandle *)handle firstBytes:(NSData *)data name:(NSString *)name
+ {
+ // Check if multipart
diff --git a/app-arch/unar/metadata.xml b/app-arch/unar/metadata.xml
index 31bc544aa598..6331a43e5661 100644
--- a/app-arch/unar/metadata.xml
+++ b/app-arch/unar/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>soap@gentoo.org</email>
- <name>David Seifert</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">MacPaw/XADMaster</remote-id>
</upstream>
diff --git a/app-arch/unar/unar-1.10.7.ebuild b/app-arch/unar/unar-1.10.8.ebuild
index 8e9518d4b8e6..77668d74dd51 100644
--- a/app-arch/unar/unar-1.10.7.ebuild
+++ b/app-arch/unar/unar-1.10.8.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit bash-completion-r1 toolchain-funcs
@@ -9,29 +9,49 @@ DESCRIPTION="Unpacker for various archiving formats, e.g. rar v3"
HOMEPAGE="https://unarchiver.c3.cx/"
SRC_URI="
https://github.com/MacPaw/XADMaster/archive/v${PV}/XADMaster-${PV}.tar.gz
- https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz
-"
+ https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz"
+S="${WORKDIR}/XADMaster-${PV}"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64"
-BDEPEND="
- sys-devel/gcc[objc]
-"
RDEPEND="
app-arch/bzip2:=
dev-libs/icu:=
gnustep-base/gnustep-base:=
media-sound/wavpack
- sys-libs/zlib
-"
-DEPEND="${RDEPEND}
- ${BDEPEND}
- gnustep-base/gnustep-make[native-exceptions]
-"
+ sys-libs/zlib"
+DEPEND="
+ ${RDEPEND}
+ gnustep-base/gnustep-make[native-exceptions]"
+BDEPEND="
+ || (
+ sys-devel/gcc[objc]
+ gnustep-base/gnustep-make[libobjc2]
+ )"
-S="${WORKDIR}/XADMaster-${PV}"
+PATCHES=( "${FILESDIR}"/${P}-Wint-conversion.patch )
+
+check_objc_toolchain() {
+ if tc-is-gcc; then
+ has_version 'sys-devel/gcc[-objc]' &&
+ die "GCC requires sys-devel/gcc with USE=objc"
+ elif tc-is-clang; then
+ has_version 'gnustep-base/gnustep-make[-libobjc2]' &&
+ die "Clang requires gnustep-base/gnustep-make with USE=libobjc2"
+ else
+ die "${PN} can only be build using GCC or Clang"
+ fi
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_objc_toolchain
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_objc_toolchain
+}
src_prepare() {
default
diff --git a/app-arch/unmakeself/Manifest b/app-arch/unmakeself/Manifest
deleted file mode 100644
index ac220ed9db06..000000000000
--- a/app-arch/unmakeself/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST unmakeself-1.1.tar.gz 3635 BLAKE2B 650a7f45dc5204f5ae42002addc5892fb3ce3d4d2b8b5ed343329cd34ae7086e1f680ddcb25123255feff1dd2a70d4427a30aa0a8ac7c0309b19847fefcb5390 SHA512 3e8a05a907b8807080208300f6c20577587a0e87000c6746ba457c276e4dff37c8d61227bd1db37e60ac20d9532290c4110a1204c8389a8a1e97a121b68c682b
diff --git a/app-arch/unmakeself/unmakeself-1.1.ebuild b/app-arch/unmakeself/unmakeself-1.1.ebuild
deleted file mode 100644
index f826b09d6035..000000000000
--- a/app-arch/unmakeself/unmakeself-1.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic toolchain-funcs
-
-DESCRIPTION="Makeself archive extractor"
-HOMEPAGE="https://www.freshports.org/archivers/unmakeself"
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="app-arch/libarchive:=[bzip2,zlib]"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-src_configure() {
- append-cppflags $($(tc-getPKG_CONFIG) --cflags libarchive)
- export LDLIBS=$($(tc-getPKG_CONFIG) --libs libarchive)
-
- tc-export CC
-}
-
-src_compile() {
- emake ${PN}
-}
-
-src_install() {
- dobin unmakeself
-}
diff --git a/app-arch/unp/Manifest b/app-arch/unp/Manifest
index 53acee291dda..1388f986cc78 100644
--- a/app-arch/unp/Manifest
+++ b/app-arch/unp/Manifest
@@ -1 +1,3 @@
+DIST unp_2.0.tar.xz 19252 BLAKE2B d807cdae6cccd846b3d138b7060b17f37f6f6962e2dd75400e86f0fd8f7f4721afbf29509dfce16beb5dac66996df45cc146d72312f859999f33d435f66890d5 SHA512 bdb2059aa3f1872efd49eb6c8e2fa3a09c05d9e1c26abdcfc4e728699c25a132ea610525461e94183263086756e9b60daeb5cecf69533578d01ab1a37b0af744
+DIST unp_2.0~pre10.tar.xz 17992 BLAKE2B 63d8c995091a1342677b6aed5854293c582cb6d42c6748ef3d92347ca75e1d3e9e5b128309299ec0b6fc0361bc14dededcc8e290fe8721aecfe82665e07998e9 SHA512 3f8f9f20eef88658b4b00efd37208d859fb3220178f9446696f755a864fea3c3dd301100668bd9c97ca9312ebe961aaf9ec523d8817b8aacb5a1ee6a36213666
DIST unp_2.0~pre9.tar.xz 16424 BLAKE2B 9042f48be0f80d5e40a08161a35c282ba458dc98cf13992835bdeecebd5fbadd33b3af9165738332cb9f508550a234a48d314332f00ecdacc808a8051eb0740b SHA512 74c9a6e143c9023bdd456dacff5c3a6e30722e259f324c066fe3eed9e4a09c38b399b381719c8677c2fa84434c1e7720384d782d97c098fa6fbcbdbf4030986e
diff --git a/app-arch/unp/metadata.xml b/app-arch/unp/metadata.xml
index dcdae049d7cf..4da67a4f4b42 100644
--- a/app-arch/unp/metadata.xml
+++ b/app-arch/unp/metadata.xml
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person"><email>hanno@gentoo.org</email></maintainer>
+ <maintainer type="person">
+ <email>hanno@gentoo.org</email>
+ </maintainer>
</pkgmetadata>
diff --git a/app-arch/unp/unp-2.0.ebuild b/app-arch/unp/unp-2.0.ebuild
new file mode 100644
index 000000000000..37398ba03966
--- /dev/null
+++ b/app-arch/unp/unp-2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 strip-linguas
+
+DESCRIPTION="Script for unpacking various file formats"
+HOMEPAGE="https://packages.qa.debian.org/u/unp.html"
+SRC_URI="mirror://debian/pool/main/u/unp/${PN}_${PV}.tar.xz"
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="nls test"
+
+DEPEND="nls? ( sys-devel/gettext )
+ test? ( app-arch/lzop
+ app-arch/lzip
+ app-arch/zstd )"
+
+RDEPEND="${DEPEND}
+ dev-lang/perl"
+
+RESTRICT="!test? ( test )"
+
+src_compile() {
+ if use nls; then
+ strip-linguas -i .
+ if [ -n "$LINGUAS" ]; then
+ emake -C po MOFILES="${LINGUAS// /.po }.po"
+ else
+ emake -C po
+ fi
+ fi
+}
+
+src_install() {
+ dobin unp
+ dosym unp /usr/bin/ucat
+ doman debian/unp.1
+ dodoc debian/changelog debian/README.Debian
+ newbashcomp debian/unp.bash-completion unp
+
+ if use nls; then
+ if [ -n "$LINGUAS" ]; then
+ emake -C po MOFILES="${LINGUAS// /.mo }.mo" DESTDIR="${D}" install
+ else
+ emake -C po DESTDIR="${D}" install
+ fi
+ fi
+}
diff --git a/app-arch/unp/unp-2.0_pre10.ebuild b/app-arch/unp/unp-2.0_pre10.ebuild
new file mode 100644
index 000000000000..c719be032835
--- /dev/null
+++ b/app-arch/unp/unp-2.0_pre10.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 strip-linguas
+
+DESCRIPTION="Script for unpacking various file formats"
+HOMEPAGE="https://packages.qa.debian.org/u/unp.html"
+MY_PV="${PV/_pre/$'\x7e'pre}"
+SRC_URI="mirror://debian/pool/main/u/unp/${PN}_${MY_PV}.tar.xz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="nls"
+
+DEPEND="nls? ( sys-devel/gettext )"
+
+RDEPEND="${DEPEND}
+ dev-lang/perl"
+
+# tests in upstream tarball are missing sample files
+RESTRICT="test"
+
+src_compile() {
+ if use nls; then
+ strip-linguas -i .
+ if [ -n "$LINGUAS" ]; then
+ emake -C po MOFILES="${LINGUAS// /.po }.po"
+ else
+ emake -C po
+ fi
+ fi
+}
+
+src_install() {
+ dobin unp
+ dosym unp /usr/bin/ucat
+ doman debian/unp.1
+ dodoc debian/changelog debian/README.Debian
+ newbashcomp debian/unp.bash-completion unp
+
+ if use nls; then
+ if [ -n "$LINGUAS" ]; then
+ emake -C po MOFILES="${LINGUAS// /.mo }.mo" DESTDIR="${D}" install
+ else
+ emake -C po DESTDIR="${D}" install
+ fi
+ fi
+}
diff --git a/app-arch/unp/unp-2.0_pre9.ebuild b/app-arch/unp/unp-2.0_pre9.ebuild
index f86b19adef93..f1c6e585a03f 100644
--- a/app-arch/unp/unp-2.0_pre9.ebuild
+++ b/app-arch/unp/unp-2.0_pre9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit eutils bash-completion-r1
+inherit bash-completion-r1 strip-linguas
DESCRIPTION="Script for unpacking various file formats"
HOMEPAGE="https://packages.qa.debian.org/u/unp.html"
@@ -13,7 +13,7 @@ S="${WORKDIR}/${PN}-${MY_PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="nls"
DEPEND="nls? ( sys-devel/gettext )"
diff --git a/app-arch/unrar/Manifest b/app-arch/unrar/Manifest
index add288a05c56..460f0cf5c907 100644
--- a/app-arch/unrar/Manifest
+++ b/app-arch/unrar/Manifest
@@ -1,2 +1,5 @@
-DIST unrar-6.0.7.tar.gz 232903 BLAKE2B eba5179f622726046fabedac03e8c05f7dd2f64782dc0be18010deb22c1036b895cbb9429f44239e63d9c04f3e031b4f9787462f4f643f8bca11b135de08f547 SHA512 2c50d1f58f5189e59dad36eb25aa50a34572f583242e624846c9791c5609e83d4ee76314d785771fe514ec3378749dcb86e4c97a8d2a3ab7b469df49a5c5f412
-DIST unrar-6.1.2.tar.gz 234257 BLAKE2B c04b40e4ed08e9bfaad6c7675b392cc52d62c04b9897707c8def726be34187eedee6870a2b055cb0eef1a9df0bcd7bd1130d547184826c2f8c1af226f4e00247 SHA512 7a34db3a5383046a2b2bd5c7abfeb6b80c81666609caf619a700bda09bca908731b03985ad9d2b5d889605807832109fae11b7091d86c1a67c2e46288a42b777
+DIST unrar-6.2.10.tar.gz 246383 BLAKE2B 6f7e7bf099f5a9de71c01b941c4cceaaf568709ac8b8e2f490f2f037c27adabc3bcde595e1330476f72204e6c5611e8c995c4c2842d9248731d876e67abc1086 SHA512 26e7febc4e62bcace7aa36e05d5341ab57813cc0c224c6a924ca909828879b0172d2cea9ab6cfdfe4bc3b51d49feb48f46df3874fa6f070f6062a15e1020271d
+DIST unrar-6.2.12.tar.gz 246918 BLAKE2B 3c7744ee5839b4d87362625a03f30e3cac3d74df988479692023b9c242c136044666ebf0470197b28b95171dae076faecf815ef50caffb747185b8433707612c SHA512 261ac3728f917f36a03c7c3c563d7775abdb06b598ab48a299d837e8fc0ca75ad885ec8e292aeb1775e87e775ed274e9e0f033001598229ec96db69d69824ddb
+DIST unrar-6.2.8.tar.gz 246249 BLAKE2B 3766f7ebd0379835cff7cce8bb2deaf86d3de7c4a37d211d8a41effeb13a5a9efc53deabb5f10cd7f49d8e144cd9c1a93cce2ca3ae74e8a2142ab3ae97ab4759 SHA512 9b956d0c4b6a13f9ff4d9e57de7284dc879070746e3792e7640481a5b5b8336142b21c4d0c66c64627630cafbed0ff019a41b8f8536299ac7cbfdb933f92f75a
+DIST unrar-6.2.9.tar.gz 246388 BLAKE2B 495af1b78d2213c6bac0e75462b3d5e9fc3bfea809bcbb672216da47cd483bcc5867b504358125c51147a0e1869568c8a822946ca8148f204eeb087671029d9d SHA512 80424348946a56b47c107b2cd78c8bc7ce7f223a4d923b137860ec50678c4f279114dd7cdc9eb6a2fa6ff8c8a059ab8d35e16e3feae9dd1433fe51479501b61c
+DIST unrar-7.0.7.tar.gz 258219 BLAKE2B 06897428ef6ae9b2e6ef3183f25c06447386c7b5ce1c1438ad0119507ccbd2f2b62ce9d45c4dc73241db4440a1f96c7d9a9f3f542c0a7967df9c08b8cd3141cb SHA512 7151a42742d4c34a8f03c58dae471f80788b76adbb52188759b7fc7357757f88fa9d980de006ce48732c40f326b92b79fb069e807c2b66d4387ee60433a8accb
diff --git a/app-arch/unrar/files/unrar-5.9.3-build.patch b/app-arch/unrar/files/unrar-5.9.3-build.patch
deleted file mode 100644
index d9cbcfd8683a..000000000000
--- a/app-arch/unrar/files/unrar-5.9.3-build.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Makefile: Fix parallel build issue
-
-If clean runs in parallel with $(OBJECTS), it is possible to build some
-objects first, then the clean target fires and deletes some, and then we
-try to link and fail.
-
-Gentoo-Bug: https://bugs.gentoo.org/528218
-
---- unrar/makefile
-+++ unrar/makefile
-@@ -142,21 +142,18 @@
- @rm -f $(OBJECTS) $(UNRAR_OBJ) $(LIB_OBJ)
- @rm -f unrar libunrar.*
-
--unrar: clean $(OBJECTS) $(UNRAR_OBJ)
-- @rm -f unrar
-+unrar: $(OBJECTS) $(UNRAR_OBJ)
- $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)
- $(STRIP) unrar
-
- sfx: WHAT=SFX_MODULE
--sfx: clean $(OBJECTS)
-- @rm -f default.sfx
-+sfx: $(OBJECTS)
- $(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS)
- $(STRIP) default.sfx
-
- lib: WHAT=RARDLL
- lib: CXXFLAGS+=$(LIBFLAGS)
--lib: clean $(OBJECTS) $(LIB_OBJ)
-- @rm -f libunrar.*
-+lib: $(OBJECTS) $(LIB_OBJ)
- $(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
- $(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
-
diff --git a/app-arch/unrar/files/unrar-5.5.5-honor-flags.patch b/app-arch/unrar/files/unrar-6.2.6-honor-flags.patch
index 0237e3d30f05..976f1417c861 100644
--- a/app-arch/unrar/files/unrar-5.5.5-honor-flags.patch
+++ b/app-arch/unrar/files/unrar-6.2.6-honor-flags.patch
@@ -17,30 +17,30 @@ Gentoo-Bug: https://bugs.gentoo.org/461806
DESTDIR=/usr
# Linux using LCC
-@@ -145,18 +145,19 @@ clean:
- @rm -f libunrar.a
+@@ -147,20 +147,21 @@ clean:
unrar: $(OBJECTS) $(UNRAR_OBJ)
+ @rm -f unrar
- $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)
+ $(LINK) -o unrar $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)
$(STRIP) unrar
sfx: WHAT=SFX_MODULE
sfx: $(OBJECTS)
+ @rm -f default.sfx
- $(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS)
+ $(LINK) -o default.sfx $(CXXFLAGS) $(LDFLAGS) $(OBJECTS)
$(STRIP) default.sfx
-+$(OBJECTS) $(LIB_OBJ): CXXFLAGS+=$(LIBFLAGS)
++$(OBJECTS) $(LIB_OBJ): CXXFLAGS+=$(LIBFLAGS)
+
lib: WHAT=RARDLL
-lib: CXXFLAGS+=$(LIBFLAGS)
lib: $(OBJECTS) $(LIB_OBJ)
+ @rm -f libunrar.*
- $(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+ $(LINK) -shared -o libunrar.so $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
$(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
install-unrar:
---
-2.13.1
-
+--
diff --git a/app-arch/unrar/metadata.xml b/app-arch/unrar/metadata.xml
index dab6b92a1d59..29bcd146892a 100644
--- a/app-arch/unrar/metadata.xml
+++ b/app-arch/unrar/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
diff --git a/app-arch/unrar/unrar-6.0.7.ebuild b/app-arch/unrar/unrar-6.2.10.ebuild
index a91ac4b72b8c..64caffbf3b3a 100644
--- a/app-arch/unrar/unrar-6.0.7.ebuild
+++ b/app-arch/unrar/unrar-6.2.10.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit multilib toolchain-funcs
@@ -14,12 +14,9 @@ S="${WORKDIR}/unrar"
LICENSE="unRAR"
SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-PATCHES=(
- "${FILESDIR}"/${PN}-5.9.3-build.patch
- "${FILESDIR}"/${PN}-5.5.5-honor-flags.patch
-)
+PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
src_prepare() {
default
diff --git a/app-arch/unrar/unrar-6.2.12-r1.ebuild b/app-arch/unrar/unrar-6.2.12-r1.ebuild
new file mode 100644
index 000000000000..66957ceed24c
--- /dev/null
+++ b/app-arch/unrar/unrar-6.2.12-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_PN="${PN}src"
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="https://www.rarlab.com/rar_add.htm"
+SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/unrar"
+
+LICENSE="unRAR"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
+
+src_prepare() {
+ default
+
+ local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
+ else
+ sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
+ fi
+ sed -i "${sed_args[@]}" makefile || die
+}
+
+src_configure() {
+ mkdir -p build-{lib,bin} || die
+ printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
+ cp build-{lib,bin}/Makefile || die
+}
+
+src_compile() {
+ unrar_make() {
+ emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
+ }
+
+ unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
+
+ unrar_make -C build-bin
+}
+
+src_install() {
+ dobin build-bin/unrar
+ dodoc readme.txt
+
+ dolib.so build-lib/libunrar*
+
+ # unrar doesn't officially install headers, but unofficially, software
+ # depends on it anyway. There is no standard for where to install them,
+ # but the most common location (shared by nearly all vendors) is "unrar".
+ # FreeBSD alone uses "libunrar". Gentoo formerly used "libunrar6" and
+ # had a compat symlink for FreeBSD, then passed the compat location in
+ # ./configure scripts e.g. for sys-fs/rar2fs. Software in the wild
+ # seems to expect either "unrar" or "libunrar".
+ # See: https://bugs.gentoo.org/916036
+ #
+ # We now use the "standard" (hah) location, and keep the compat symlink but
+ # change the destination. The version-suffixed location lacks utility, but
+ # we would keep it if we could, just in case -- unfortunately portage is
+ # buggy: https://bugs.gentoo.org/834600
+ #
+ # Hopefully, no one has ever actually used it and therefore this does not
+ # matter. The odds are on our side, since it periodically changed location
+ # arbitrarily.
+ insinto /usr/include/unrar
+ doins *.hpp
+ dosym unrar /usr/include/libunrar
+
+ find "${ED}" -type f -name "*.a" -delete || die
+}
diff --git a/app-arch/unrar/unrar-6.1.2.ebuild b/app-arch/unrar/unrar-6.2.12.ebuild
index 9da34c0bd45a..c97982261acd 100644
--- a/app-arch/unrar/unrar-6.1.2.ebuild
+++ b/app-arch/unrar/unrar-6.2.12.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit multilib toolchain-funcs
@@ -14,12 +14,9 @@ S="${WORKDIR}/unrar"
LICENSE="unRAR"
SLOT="0/6" # subslot = soname version
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-PATCHES=(
- "${FILESDIR}"/${PN}-5.9.3-build.patch
- "${FILESDIR}"/${PN}-5.5.5-honor-flags.patch
-)
+PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
src_prepare() {
default
diff --git a/app-arch/unrar/unrar-6.2.8.ebuild b/app-arch/unrar/unrar-6.2.8.ebuild
new file mode 100644
index 000000000000..64caffbf3b3a
--- /dev/null
+++ b/app-arch/unrar/unrar-6.2.8.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_PN="${PN}src"
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="https://www.rarlab.com/rar_add.htm"
+SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/unrar"
+
+LICENSE="unRAR"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
+
+src_prepare() {
+ default
+
+ local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
+ else
+ sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
+ fi
+ sed -i "${sed_args[@]}" makefile || die
+}
+
+src_configure() {
+ mkdir -p build-{lib,bin} || die
+ printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
+ cp build-{lib,bin}/Makefile || die
+}
+
+src_compile() {
+ unrar_make() {
+ emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
+ }
+
+ unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
+
+ unrar_make -C build-bin
+}
+
+src_install() {
+ dobin build-bin/unrar
+ dodoc readme.txt
+
+ dolib.so build-lib/libunrar*
+
+ insinto /usr/include/libunrar${PV%.*.*}
+ doins *.hpp
+ dosym libunrar${PV%.*.*} /usr/include/libunrar
+
+ find "${ED}" -type f -name "*.a" -delete || die
+}
diff --git a/app-arch/unrar/unrar-6.2.9.ebuild b/app-arch/unrar/unrar-6.2.9.ebuild
new file mode 100644
index 000000000000..c97982261acd
--- /dev/null
+++ b/app-arch/unrar/unrar-6.2.9.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_PN="${PN}src"
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="https://www.rarlab.com/rar_add.htm"
+SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/unrar"
+
+LICENSE="unRAR"
+SLOT="0/6" # subslot = soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
+
+src_prepare() {
+ default
+
+ local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
+ else
+ sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
+ fi
+ sed -i "${sed_args[@]}" makefile || die
+}
+
+src_configure() {
+ mkdir -p build-{lib,bin} || die
+ printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
+ cp build-{lib,bin}/Makefile || die
+}
+
+src_compile() {
+ unrar_make() {
+ emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
+ }
+
+ unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
+
+ unrar_make -C build-bin
+}
+
+src_install() {
+ dobin build-bin/unrar
+ dodoc readme.txt
+
+ dolib.so build-lib/libunrar*
+
+ insinto /usr/include/libunrar${PV%.*.*}
+ doins *.hpp
+ dosym libunrar${PV%.*.*} /usr/include/libunrar
+
+ find "${ED}" -type f -name "*.a" -delete || die
+}
diff --git a/app-arch/unrar/unrar-7.0.7.ebuild b/app-arch/unrar/unrar-7.0.7.ebuild
new file mode 100644
index 000000000000..dcc656ed9f4f
--- /dev/null
+++ b/app-arch/unrar/unrar-7.0.7.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib toolchain-funcs
+
+MY_PN="${PN}src"
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="https://www.rarlab.com/rar_add.htm"
+SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/unrar"
+
+LICENSE="unRAR"
+SLOT="0/7" # subslot = soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+PATCHES=( "${FILESDIR}/${PN}-6.2.6-honor-flags.patch" )
+
+src_prepare() {
+ default
+
+ local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
+ else
+ sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
+ fi
+ sed -i "${sed_args[@]}" makefile || die
+}
+
+src_configure() {
+ mkdir -p build-{lib,bin} || die
+ printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
+ cp build-{lib,bin}/Makefile || die
+}
+
+src_compile() {
+ unrar_make() {
+ emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
+ }
+
+ unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
+ ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
+
+ unrar_make -C build-bin
+}
+
+src_install() {
+ dobin build-bin/unrar
+ dodoc readme.txt
+
+ dolib.so build-lib/libunrar*
+
+ # unrar doesn't officially install headers, but unofficially, software
+ # depends on it anyway. There is no standard for where to install them,
+ # but the most common location (shared by nearly all vendors) is "unrar".
+ # FreeBSD alone uses "libunrar". Gentoo formerly used "libunrar6" and
+ # had a compat symlink for FreeBSD, then passed the compat location in
+ # ./configure scripts e.g. for sys-fs/rar2fs. Software in the wild
+ # seems to expect either "unrar" or "libunrar".
+ # See: https://bugs.gentoo.org/916036
+ #
+ # We now use the "standard" (hah) location, and keep the compat symlink but
+ # change the destination. The version-suffixed location lacks utility, but
+ # we would keep it if we could, just in case -- unfortunately portage is
+ # buggy: https://bugs.gentoo.org/834600
+ #
+ # Hopefully, no one has ever actually used it and therefore this does not
+ # matter. The odds are on our side, since it periodically changed location
+ # arbitrarily.
+ insinto /usr/include/unrar
+ doins *.hpp
+ dosym unrar /usr/include/libunrar
+
+ find "${ED}" -type f -name "*.a" -delete || die
+}
diff --git a/app-arch/unrpa/metadata.xml b/app-arch/unrpa/metadata.xml
index a7c2fe241d86..6f03c8b2ed2b 100644
--- a/app-arch/unrpa/metadata.xml
+++ b/app-arch/unrpa/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
+ <maintainer type="person" proxied="yes">
+ <email>contact@hacktivis.me</email>
+ <name>Haelwenn (lanodan) Monnier</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
</maintainer>
<longdescription>
Unrpa is a script to extract files from archives created for
diff --git a/app-arch/unrpa/unrpa-2.3.0.ebuild b/app-arch/unrpa/unrpa-2.3.0-r1.ebuild
index 42996c5bf01f..4e143eed4708 100644
--- a/app-arch/unrpa/unrpa-2.3.0.ebuild
+++ b/app-arch/unrpa/unrpa-2.3.0-r1.ebuild
@@ -1,15 +1,16 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Ren'Py's RPA data file extractor"
HOMEPAGE="https://github.com/Lattyware/unrpa"
SRC_URI="https://github.com/Lattyware/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-SLOT="0"
LICENSE="GPL-3"
+SLOT="0"
KEYWORDS="~amd64 ~x86"
diff --git a/app-arch/unshield/Manifest b/app-arch/unshield/Manifest
index e577bd24fc38..a91788422420 100644
--- a/app-arch/unshield/Manifest
+++ b/app-arch/unshield/Manifest
@@ -1 +1 @@
-DIST unshield-1.4.3.tar.gz 58822 BLAKE2B 89e23462610d7ffd25358cb1d9f234b5c80a580deb60e85610ddacc8e3aa92420cb0e885e80375089e93786565824813f23c54f7c4d60b7773f23d174c98e5d7 SHA512 2f058e0a28d0497e2afe231ded1b1bb16745401398eb1035e628d263351b10a1343c9664f3937b8912755db9dc5236a1b43e9bcba596affb7aa8b036f49382aa
+DIST unshield-1.5.1.tar.gz 67454 BLAKE2B 7def714e8d74312de8b822b0add92a803fadda0394252587219c7379791ec33680bf9430c6811e71354fd2e9ccc91e28697e31a2377ecc16aa43edea1ce30e57 SHA512 acb130c461bed66dc3804394be067a68aea96a7cd20b348e713f64a11bf642b74f68fc172f220a9790b44573abbe01ed4585191158f27c40e863918a7342c1ca
diff --git a/app-arch/unshield/files/unshield-1.4.3-mandir.patch b/app-arch/unshield/files/unshield-1.4.3-mandir.patch
deleted file mode 100644
index 49f634fa8631..000000000000
--- a/app-arch/unshield/files/unshield-1.4.3-mandir.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From cf53f87fae324e1a4c5d9ebd49b88947a9b02267 Mon Sep 17 00:00:00 2001
-From: Dan Church <amphetamachine@gmail.com>
-Date: Fri, 2 Nov 2018 11:00:20 -0500
-Subject: [PATCH] Fix man page install path
-
-Use the standard CMake variable to determine location.
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e0c20d3..0aeecb5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -87,5 +87,5 @@ endif ()
- add_subdirectory(lib)
- add_subdirectory(src)
-
--install(FILES man/unshield.1 DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man/man1)
-+install(FILES man/unshield.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libunshield.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
diff --git a/app-arch/unshield/unshield-1.4.3.ebuild b/app-arch/unshield/unshield-1.5.1.ebuild
index ef6402a9381b..a016bb33cdc4 100644
--- a/app-arch/unshield/unshield-1.4.3.ebuild
+++ b/app-arch/unshield/unshield-1.5.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/twogood/unshield/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
# OpenSSL is detected at build time, and used to determine
# whether or not a hand-rolled md5 implementation is used. The build
@@ -24,5 +24,3 @@ DEPEND="
dev-libs/openssl:0=
sys-libs/zlib"
RDEPEND="${DEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-mandir.patch" )
diff --git a/app-arch/unzip/Manifest b/app-arch/unzip/Manifest
index 8f65ff09a28d..491344bfc0ce 100644
--- a/app-arch/unzip/Manifest
+++ b/app-arch/unzip/Manifest
@@ -1,2 +1,2 @@
DIST unzip60.tar.gz 1376845 BLAKE2B 5016d300b4452018a391f4ebc03c6960c068df400a0407c0c60bd7bb5ec5012031f916d8b204a6149ba291c2c35beba40d9b43c76fc093026e79471329ab0e47 SHA512 0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d
-DIST unzip_6.0-26.debian.tar.xz 23708 BLAKE2B 7655396df2f8c4443bbd37a2fab590f1e66b3b8531871a6d95f281ac702e64a0e602f2412a58ff2addf4ce9cae8d146af650a18b02919d120c9db6c49df480b5 SHA512 9a56e400ad0984f87c7ee0548429349be549e35a3cae4c9acb88a8fb97a1d1fbd116cfa3292622ad8b2c67ffe79ae268861ddec1269993ba98f1a6a411b7611f
+DIST unzip_6.0-27.debian.tar.xz 24980 BLAKE2B e53a96f12af0cf5227600c73a35003484fca5de138cd37991eb1eb25b97b80371c3a566d989feeb04deb1a93acd9444253b091cd7e920b23520c87c5f5a94eeb SHA512 e1e605f023c7b314a6c5b2857a3bd630350df2d7e4bf6bb38ab8594f967336384666b4db8afad931251b85261ee4e2c38d78641c74ac7e5fd02523f26e92ddb2
diff --git a/app-arch/unzip/unzip-6.0_p26.ebuild b/app-arch/unzip/unzip-6.0_p27-r1.ebuild
index b28a3acf9fc0..c2354e7edc67 100644
--- a/app-arch/unzip/unzip-6.0_p26.ebuild
+++ b/app-arch/unzip/unzip-6.0_p27-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic multilib toolchain-funcs
@@ -10,13 +10,13 @@ MY_PV="${MY_PV%_p*}"
MY_P="${PN}${MY_PV}"
DESCRIPTION="unzipper for pkzip-compressed files"
-HOMEPAGE="http://www.info-zip.org/"
+HOMEPAGE="https://infozip.sourceforge.net/UnZip.html"
SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz
mirror://debian/pool/main/u/${PN}/${PN}_${PV/_p/-}.debian.tar.xz"
LICENSE="Info-ZIP"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="bzip2 natspec unicode"
DEPEND="bzip2? ( app-arch/bzip2 )
@@ -25,15 +25,21 @@ RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${WORKDIR}"/debian/patches
+ "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch
+ "${FILESDIR}"/${PN}-6.0-format-security.patch
+ "${FILESDIR}"/${PN}-6.0-fix-false-overlap-detection-on-32bit-systems.patch
+)
+
src_prepare() {
- local deb="${WORKDIR}"/debian/patches
- rm "${deb}"/02-this-is-debian-unzip.patch || die
- eapply "${deb}"/*.patch
-
- eapply "${FILESDIR}"/${PN}-6.0-no-exec-stack.patch
- eapply "${FILESDIR}"/${PN}-6.0-format-security.patch
- eapply "${FILESDIR}"/${PN}-6.0-fix-false-overlap-detection-on-32bit-systems.patch
- use natspec && eapply "${FILESDIR}/${PN}-6.0-natspec.patch" #275244
+ # bug #275244
+ use natspec && PATCHES+=( "${FILESDIR}"/${PN}-6.0-natspec.patch )
+
+ rm "${WORKDIR}"/debian/patches/02-this-is-debian-unzip.patch || die
+
+ default
+
sed -i -r \
-e '/^CFLAGS/d' \
-e '/CFLAGS/s:-O[0-9]?:$(CFLAGS) $(CPPFLAGS):' \
@@ -52,32 +58,30 @@ src_prepare() {
# Delete bundled code to make sure we don't use it.
rm -r bzip2 || die
-
- eapply_user
}
src_configure() {
case ${CHOST} in
i?86*-*linux*) TARGET="linux_asm" ;;
*linux*) TARGET="linux_noasm" ;;
- i?86*-*bsd* | \
- i?86*-dragonfly*) TARGET="freebsd" ;; # mislabelled bsd with x86 asm
- *bsd* | *dragonfly*) TARGET="bsd" ;;
*-darwin*) TARGET="macosx" ;;
*-solaris*) TARGET="generic" ;;
- *-cygwin*) TARGET="generic" ;;
- *) die "Unknown target; please update the ebuild to handle ${CHOST} " ;;
+ *) die "Unknown target; please update the ebuild to handle ${CHOST}" ;;
esac
+ # Needed for Clang 16
+ append-flags -std=gnu89
+
[[ ${CHOST} == *linux* ]] && append-cppflags -DNO_LCHMOD
use bzip2 && append-cppflags -DUSE_BZIP2
use unicode && append-cppflags -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DUSE_ICONV_MAPPING
- append-cppflags -DLARGE_FILE_SUPPORT #281473
+
+ # bug #281473
+ append-cppflags -DLARGE_FILE_SUPPORT
}
src_compile() {
- ASFLAGS="${ASFLAGS} $(get_abi_CFLAGS)" \
- emake -f unix/Makefile ${TARGET}
+ ASFLAGS="${ASFLAGS} $(get_abi_CFLAGS)" emake -f unix/Makefile ${TARGET}
}
src_install() {
diff --git a/app-arch/upx-bin/Manifest b/app-arch/upx-bin/Manifest
index 6ed7ea812201..99b8f0e2dd90 100644
--- a/app-arch/upx-bin/Manifest
+++ b/app-arch/upx-bin/Manifest
@@ -1,7 +1,14 @@
-DIST upx-3.96-amd64_linux.tar.xz 462784 BLAKE2B bac24742528b241c15bb49cfd6f006c485c28c051606deefc9b3c64d045658d029fe8dd1110120b6c21c03c30c0220ff8638d7e254a0376037b0d0ab013e9f3d SHA512 b4e7ad9ca58e07a0a59bcc1959d7901b1960a0975e4030b16c6aebfccd2f5f9163318f8f5b4a08bfd513138fe4c0fa3e3683f9141f221faa7bdfb8eaba4d0782
-DIST upx-3.96-arm64_linux.tar.xz 462376 BLAKE2B 202e888def2d60dab9d119548ac85ac6dcd0bff7e0c442fccd9a81961dc10ad96e7fe19b4a7a250c65d0bf9dd49ced8cdc7fdfb08cc7b75953a02afbff682865 SHA512 f1f6556068df27747dd40cdce3f3dfeb5c9a8723bfa76772715db69473267dd11242bf026c5a45e869b0f343559ede232d9a0067f4e4adce555cef1f26013f65
-DIST upx-3.96-armeb_linux.tar.xz 418060 BLAKE2B bb987a0a1466b3e5f4f2797888bf28c844f42eab3800dae00106cf4078c7196d6737ce9a3b9d1792d1ad1a190da8e90f2d29272127a20e4b2a9f5551511659ff SHA512 1bb570926a44c5471e00e3e2797728fa8122bc4035884f8fe8d7f4f3100e7dbddb84c80ad13c02d1a7454b1df504f96b8c0543913b1963c434ee2191d748e486
-DIST upx-3.96-i386_linux.tar.xz 485836 BLAKE2B 1bbcbde3d510eec9a38876958bb127eebe46c1f18146a62e5697fcfac0aa34bc910f3908e1783541466e46b305cdfd353902682c97301df38cd0550ca0302c34 SHA512 c679ddaf447735378d116cbff48276e13f9703f19a11364cad411915a153e2d7a6377f2ae8ce0f0383557ec889f44bb9860fd0b65bafce9935c6f381d485b13d
-DIST upx-3.96-mipsel_linux.tar.xz 483832 BLAKE2B c7f79ecc0e9f0b3f4ae9beaf0dc06e43e4cd747fde5bbd8d24505a008171f55c14ef411927cd112dd7fb170923679266170975e89cbeab43b17d842c20e29ff0 SHA512 252f64bb2d44d687daca645b1e0cd91665a562e86e1ce8fa95b57709134f74810f29f5792f7b8a1fe6c0517728632613a202a209465f1bd56ccbb383d9eea1ae
-DIST upx-3.96-powerpc64le_linux.tar.xz 505260 BLAKE2B 9e92e5e72436a3309c788a96a03c98bfd53bf51d3a22e85c6e58669b8c5536e107949fa860b25e1abc759b229aef76607819e62db353983f6f87f04d59395599 SHA512 8b577444366288427d6b114793b3f8fb42bf223b82bb78a391e5233c3cb3fe6906722ff7430aeaa764ef3feb77f052da469eab9d0dee90182929beefc5b1f17c
-DIST upx-3.96-powerpc_linux.tar.xz 479488 BLAKE2B 2d07dd57b742dd5a3ddcc86298618a939bd46a4af6f9bed41a3e0f12456bffb0ba7d76c866076489cb03130a9b9d84493f5401db5e76571cda4d7e9d65bef691 SHA512 a8f38f2467bc31d8cff2dc0fed191d1451aed766ab49336c7c99fe1b1a48455b08d9d45b14c78d655bc3c811c5fa2466701e1a990a5c954b0ce84499458024cb
+DIST upx-4.1.0-amd64_linux.tar.xz 584124 BLAKE2B c681883799a18d8ab05c06fc0d6890ae14f14191fabaf2655d91dc35ef51c18e822dfb40fcfb7a6a2952c65967e2941c5c5a5a8d75ea9d6fee93007de2358d72 SHA512 43739e7abcb895b55e84836eaab50540aba2eda45913d75412228428e64983e1fe29d7c21a471a1b6ebcdc331b7da6051775ffabb59f67a38b52d4d61e74e0ae
+DIST upx-4.1.0-arm64_linux.tar.xz 596652 BLAKE2B 7ce7deff35245aa8f63b3340a22ef94691f45eca3b2236016d333d7acf6ed254d68491b574b31fb49af2faeaabbd67259183d06378bf3dcd2da7aa1b4f3390ba SHA512 267c954cf58c3c3e4d89fb754970beb200fe26ea34bd67ab8775d579eadb739e2195579c590a09ea633a514635ac6de838803ae0d79eb37a92e18ce12fe0ac5a
+DIST upx-4.1.0-armeb_linux.tar.xz 595696 BLAKE2B 56fe546dea5b352c8016cfa75d2676dc3b7da5029accc55888ac6abffa768f786adac11a74269e074473cf30e2ea9e5ba5761a886259f242be34efd1f81a31e9 SHA512 41e73b42300ee3ababca13cf8e60373254288c6f6e0d7b9df1d245f12c1657ddc2f89fbaaa88b503d6959f32433d846c6eef8b81f8068be229fa018f614f2cbf
+DIST upx-4.1.0-i386_linux.tar.xz 620220 BLAKE2B db56d61ae8abe1e0a776f994bcd855f96c650789f6a43e0ea33d1d73868b2d63dc5f371b998cf2cef06f3c63ad4ba12600e5cd9faa37ceeb5f723fe05914026a SHA512 5de3870fa5ac2c1e6375035f15d0d8efc7e47a5e1b8ef38872e0631ffbb060cbb1e8494814b3e3b3f6507c4bf44b42c3da554562a5b31b8283f3f39fba5a1ece
+DIST upx-4.1.0-mipsel_linux.tar.xz 678296 BLAKE2B 6c7601405b66c25ea7d5a902d137a737ea9f88c92ab152cd322db03fff2f4166802d41321aedac33ef31f903362ef7f6896998916a417a97a5fd539250fb1914 SHA512 23c0fc515bfd1cad35ad1241ecedfc938b8061e63311abeee3eb0c01f9dc502ce9d4be68e0f19354893b0936c1bd9e6795e40c458255e18df63edf0f42424157
+DIST upx-4.1.0-powerpc64le_linux.tar.xz 674196 BLAKE2B cf6dfeea30f5054d8c9f69d88b8ff8c3d6f5e50e0ceab8fef8b51b403b96e571f2d73411d214743baedd7c12711047e0595349ca466373871a433035ca6cde30 SHA512 0f19ea1e04e7e226d2cd864e556170c7324f15bd3163458be1316ff9366b670eafe8a2d781220308efdb930941cb841a9a33702db7df61fec4b0521835a54bc7
+DIST upx-4.1.0-powerpc_linux.tar.xz 675776 BLAKE2B 1ba5df26208c5781c33b18b7a1036a83bd9409a49fb30e54c64f04f16ec7a99bb83bbbc89dfdd9aff42acc866976803cc81706d077cab8275887999462ed44d0 SHA512 91584f0b3d257bc4b29631bf45313f9d226cd53e8629b0655bbb7d2b4c7a5450cfbf2b52c108bb7c727a17ffdb4afcb4baa9cb029c30dae057bf2d717d8ffea6
+DIST upx-4.2.3-amd64_linux.tar.xz 589416 BLAKE2B 88eb4f85477c589e7682b13faee4f9df8cb2021782e88cdde7f82c49dd77cfede269bef8f476e994749fcbadae459de8192a38aa0e17928a33156c54c032f8ae SHA512 0ec084ba2049cd283e5a14124bc130b69b55d1cafb19bb342516cf0a45ace4f247a0f11aaf0c302224998372222853768fcd8a50fd1c7828cdf9f1b0edfd47f9
+DIST upx-4.2.3-arm64_linux.tar.xz 600184 BLAKE2B 7d80b0eba5cef383af1cf8b31b22cd7e51002292f250f84313609338a2878b5a88c9caea8e8df4936bbd00ffc326b806e6dff897651f2219305e7abb56702a15 SHA512 1c7ac30057b564a9ae5ee4835f0662b203e1915931d82dad9369dd4d80565959f32afff07898b7a59630ec883cb215b6f41356abf35e5b400dde7ab4e9f88541
+DIST upx-4.2.3-armeb_linux.tar.xz 601892 BLAKE2B 5770139392ca379be96a7181420557d964ece2766e0dad0a315d0629b3e49b543cc8fbb3387e17cc92d26fdad65ff628341ef53e256c8ae910a744409d47d492 SHA512 bed641247a73b78cddb22940655691f60d87d7bcf3050d5ad14b3abc569c83f824433697a6790e3dd5fe029d6df2aad6878da13bb6fc8979d8a5e224d04a5504
+DIST upx-4.2.3-i386_linux.tar.xz 640800 BLAKE2B 995b9814ac25acbb10559f1b7594352cf80c104b554f0033391b7972b741cf35eed89cba6208f09298e08b861f4be17f567151793e504a7b8310da663faf7670 SHA512 bba0ca8f8438e01259ed2a3a30127777ea7cce3674b03eb5d7a96c32ed0028d3b06ab199973644d70e09aa405dec303434b4e318d99e1aa8d9db1c12c1deeb81
+DIST upx-4.2.3-mipsel_linux.tar.xz 684724 BLAKE2B e540b8b0ee7365a8b64ace9370f4f8c182995218eb1b4230ae094baddb75178e7eab06bd693f663c5e1f38f96ce66aa036f6792fcc6cedd9c8554a85b23a9027 SHA512 70e5fd35d36a6118afe10594ec17076ea0f4ba954edf7a15dd91a7dad1ca3ee9ed717fd31865fcd5611cb551d4f53b946daa14ce84d7a33f74b4d3ee85f7512b
+DIST upx-4.2.3-powerpc64le_linux.tar.xz 673892 BLAKE2B cb48edf50219d1abe2524661dae7f0d3e5adbcf84db5d913c13a392b0ce6dc9d6c3c5589a2898d1d192d596ade52aa32d612849de21edba46eb807e2d01b76c0 SHA512 016ef2ed437bedd8c3c7d26be268d5a183a32b0290968bbf84318d32d0bc7187171d14d2be717c18b00bdefcfd4d068257780d1fd34dbcd300c9d4f759f05e34
+DIST upx-4.2.3-powerpc_linux.tar.xz 677584 BLAKE2B cb3a835fccf7e233e7dc8bbd4bee226901bbd8c82c5210199ce713cab1c03fa2ab6ada5825f7052d01688db571e1466acee963b4e09787cc65ec07791981f33c SHA512 deb0a6f088a62642142b02f2fc73790dc7c5b60cf6189fe9cde2aa259b9ec777ac5007c9168c4e5d71beb24d268d18b04c4c3e326a693edcb80d487dc3915145
diff --git a/app-arch/upx-bin/upx-bin-3.96.ebuild b/app-arch/upx-bin/upx-bin-4.1.0.ebuild
index be332492449e..c715b092fa07 100644
--- a/app-arch/upx-bin/upx-bin-3.96.ebuild
+++ b/app-arch/upx-bin/upx-bin-4.1.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit pax-utils
@@ -17,16 +17,16 @@ SRC_URI="x86? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-i386
ppc? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-powerpc_linux.tar.xz )
ppc64? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-powerpc64le_linux.tar.xz )"
-LICENSE="GPL-2"
+S="${WORKDIR}"
+
+LICENSE="GPL-2+ UPX-exception"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
+KEYWORDS="-* amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 x86"
RESTRICT="strip"
RDEPEND="!app-arch/upx"
BDEPEND="app-arch/xz-utils[extra-filters]"
-S="${WORKDIR}"
-
QA_PREBUILT="/opt/bin/upx"
src_install() {
@@ -35,5 +35,5 @@ src_install() {
dobin upx
pax-mark -m "${ED}"/opt/bin/upx
doman upx.1
- dodoc upx.doc BUGS NEWS README* THANKS upx.html
+ dodoc NEWS README THANKS.txt upx-doc.html upx-doc.txt
}
diff --git a/app-arch/upx-bin/upx-bin-4.2.3.ebuild b/app-arch/upx-bin/upx-bin-4.2.3.ebuild
new file mode 100644
index 000000000000..1014c4fbaab6
--- /dev/null
+++ b/app-arch/upx-bin/upx-bin-4.2.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils
+
+MY_P="${PN/-bin}-${PV}"
+
+DESCRIPTION="Ultimate Packer for eXecutables, binary version with proprietary NRV compression"
+HOMEPAGE="https://upx.github.io/"
+SRC_URI="x86? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-i386_linux.tar.xz )
+ amd64? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-amd64_linux.tar.xz )
+ arm64? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-arm64_linux.tar.xz )
+ arm? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-armeb_linux.tar.xz )
+ mips? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-mipsel_linux.tar.xz )
+ ppc? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-powerpc_linux.tar.xz )
+ ppc64? ( https://github.com/upx/upx/releases/download/v${PV}/${MY_P}-powerpc64le_linux.tar.xz )"
+
+S="${WORKDIR}"
+
+LICENSE="GPL-2+ UPX-exception"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
+RESTRICT="strip"
+
+RDEPEND="!app-arch/upx"
+BDEPEND="app-arch/xz-utils[extra-filters]"
+
+QA_PREBUILT="/opt/bin/upx"
+
+src_install() {
+ cd ${MY_P}* || die
+ into /opt
+ dobin upx
+ pax-mark -m "${ED}"/opt/bin/upx
+ doman upx.1
+ dodoc NEWS README THANKS.txt upx-doc.html upx-doc.txt
+}
diff --git a/app-arch/upx/Manifest b/app-arch/upx/Manifest
index 1464eec2d85e..58606ce802e6 100644
--- a/app-arch/upx/Manifest
+++ b/app-arch/upx/Manifest
@@ -1 +1,2 @@
-DIST upx-3.96-src.tar.xz 792524 BLAKE2B 21af85dbcfdd1bf0151a653c865db13c9f30b9de0b9b4b94557ddd55736c7053dd829c5d72b9a7e5aa94a71ecc0151145dd66d7d98ded178c50ff7357d0ba442 SHA512 2d4d1be21d274d9bfdee9b9815396f5e5ff0bcdfb781b7be5fafa4d1e224028e412ec5f5ba607c482671aae27ccf9069abb2db0fb58f78f3a102a51897df2b11
+DIST upx-4.1.0-src.tar.xz 1267708 BLAKE2B ef7884028a97b1d7e542fc27756b705582786a22d193b1eef40d0db16580958baddc3baa44429b5ba2c0f7b5d4d0f4f79fdeb777af016b962b07c7639a319090 SHA512 de8306e833198d7f470c050b05c6111a50ea94f2e757c1006433742871ccd93fd7412f942cd776e9eac6c91e379545d72f070f3fe928e75e5d5092b766474f8c
+DIST upx-4.2.3-src.tar.xz 1283824 BLAKE2B 2b53bf68196c35c05eb930760ad20446fbcde9b15e1e9261e2eb7553dc1c8ede48db952cd7c5bc6de5861ac98f9f62bb1d348806731fea7dad1e532fc7e1e636 SHA512 b9ebda5d3372132bb861e0dd035829b16e4c06900f68af182895f17975493707d78cbabc63060e581de1ce149bb5129d883f6e6abcde0413c0bf474db919f5fd
diff --git a/app-arch/upx/files/upx-3.96_CVE-2020-24119.patch b/app-arch/upx/files/upx-3.96_CVE-2020-24119.patch
deleted file mode 100644
index 7e6de04948bd..000000000000
--- a/app-arch/upx/files/upx-3.96_CVE-2020-24119.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 87b73e5cfdc12da94c251b2cd83bb01c7d9f616c Mon Sep 17 00:00:00 2001
-From: John Reiser <jreiser@BitWagon.com>
-Date: Wed, 22 Jul 2020 19:34:27 -0700
-Subject: [PATCH] Unpack: Phdrs must be within expansion of first compressed
- block
-
-https://github.com/upx/upx/issues/388
- modified: p_lx_elf.cpp
----
- src/p_lx_elf.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp
-index cd9e4ec97..453d5c457 100644
---- a/src/p_lx_elf.cpp
-+++ b/src/p_lx_elf.cpp
-@@ -4550,7 +4550,7 @@ void PackLinuxElf64::unpack(OutputFile *fo)
- unsigned c_adler = upx_adler32(NULL, 0);
- unsigned u_adler = upx_adler32(NULL, 0);
- #define MAX_ELF_HDR 1024
-- if ((MAX_ELF_HDR - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) {
-+ if ((umin64(MAX_ELF_HDR, ph.u_len) - sizeof(Elf64_Ehdr))/sizeof(Elf64_Phdr) < u_phnum) {
- throwCantUnpack("bad compressed e_phnum");
- }
- #undef MAX_ELF_HDR
-@@ -5617,7 +5617,7 @@ void PackLinuxElf32::unpack(OutputFile *fo)
- unsigned c_adler = upx_adler32(NULL, 0);
- unsigned u_adler = upx_adler32(NULL, 0);
- #define MAX_ELF_HDR 512
-- if ((MAX_ELF_HDR - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) {
-+ if ((umin(MAX_ELF_HDR, ph.u_len) - sizeof(Elf32_Ehdr))/sizeof(Elf32_Phdr) < u_phnum) {
- throwCantUnpack("bad compressed e_phnum");
- }
- #undef MAX_ELF_HDR
diff --git a/app-arch/upx/files/upx-3.96_CVE-2021-20285.patch b/app-arch/upx/files/upx-3.96_CVE-2021-20285.patch
deleted file mode 100644
index 1d47b2a8bb67..000000000000
--- a/app-arch/upx/files/upx-3.96_CVE-2021-20285.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 3781df9da23840e596d5e9e8493f22666802fe6c Mon Sep 17 00:00:00 2001
-From: John Reiser <jreiser@BitWagon.com>
-Date: Fri, 11 Dec 2020 13:38:18 -0800
-Subject: [PATCH] Check DT_REL/DT_RELA, DT_RELSZ/DT_RELASZ
-
-https://github.com/upx/upx/issues/421
- modified: p_lx_elf.cpp
----
- src/p_lx_elf.cpp | 34 +++++++++++++++++++++++++++++-----
- 1 file changed, 29 insertions(+), 5 deletions(-)
-
-diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp
-index 182db192..3a4101cf 100644
---- a/src/p_lx_elf.cpp
-+++ b/src/p_lx_elf.cpp
-@@ -2222,8 +2222,20 @@ bool PackLinuxElf32::canPack()
- int z_rsz = dt_table[Elf32_Dyn::DT_RELSZ];
- if (z_rel && z_rsz) {
- unsigned rel_off = get_te32(&dynseg[-1+ z_rel].d_val);
-+ if ((unsigned)file_size <= rel_off) {
-+ char msg[70]; snprintf(msg, sizeof(msg),
-+ "bad Elf32_Dynamic[DT_REL] %#x\n",
-+ rel_off);
-+ throwCantPack(msg);
-+ }
- Elf32_Rel *rp = (Elf32_Rel *)&file_image[rel_off];
- unsigned relsz = get_te32(&dynseg[-1+ z_rsz].d_val);
-+ if ((unsigned)file_size <= relsz) {
-+ char msg[70]; snprintf(msg, sizeof(msg),
-+ "bad Elf32_Dynamic[DT_RELSZ] %#x\n",
-+ relsz);
-+ throwCantPack(msg);
-+ }
- Elf32_Rel *last = (Elf32_Rel *)(relsz + (char *)rp);
- for (; rp < last; ++rp) {
- unsigned r_va = get_te32(&rp->r_offset);
-@@ -2562,14 +2574,26 @@ PackLinuxElf64::canPack()
- int z_rel = dt_table[Elf64_Dyn::DT_RELA];
- int z_rsz = dt_table[Elf64_Dyn::DT_RELASZ];
- if (z_rel && z_rsz) {
-- unsigned rel_off = get_te64(&dynseg[-1+ z_rel].d_val);
-+ upx_uint64_t rel_off = get_te64(&dynseg[-1+ z_rel].d_val);
-+ if ((u64_t)file_size <= rel_off) {
-+ char msg[70]; snprintf(msg, sizeof(msg),
-+ "bad Elf64_Dynamic[DT_RELA] %#llx\n",
-+ rel_off);
-+ throwCantPack(msg);
-+ }
- Elf64_Rela *rp = (Elf64_Rela *)&file_image[rel_off];
-- unsigned relsz = get_te64(&dynseg[-1+ z_rsz].d_val);
-+ upx_uint64_t relsz = get_te64(&dynseg[-1+ z_rsz].d_val);
-+ if ((u64_t)file_size <= relsz) {
-+ char msg[70]; snprintf(msg, sizeof(msg),
-+ "bad Elf64_Dynamic[DT_RELASZ] %#llx\n",
-+ relsz);
-+ throwCantPack(msg);
-+ }
- Elf64_Rela *last = (Elf64_Rela *)(relsz + (char *)rp);
- for (; rp < last; ++rp) {
-- unsigned r_va = get_te64(&rp->r_offset);
-+ upx_uint64_t r_va = get_te64(&rp->r_offset);
- if (r_va == user_init_ava) { // found the Elf64_Rela
-- unsigned r_info = get_te64(&rp->r_info);
-+ upx_uint64_t r_info = get_te64(&rp->r_info);
- unsigned r_type = ELF64_R_TYPE(r_info);
- if (Elf64_Ehdr::EM_AARCH64 == e_machine
- && R_AARCH64_RELATIVE == r_type) {
-@@ -2581,7 +2605,7 @@ PackLinuxElf64::canPack()
- }
- else {
- char msg[50]; snprintf(msg, sizeof(msg),
-- "bad relocation %#x DT_INIT_ARRAY[0]",
-+ "bad relocation %#llx DT_INIT_ARRAY[0]",
- r_info);
- throwCantPack(msg);
- }
diff --git a/app-arch/upx/upx-3.96-r2.ebuild b/app-arch/upx/upx-3.96-r2.ebuild
deleted file mode 100644
index 14c355bb6351..000000000000
--- a/app-arch/upx/upx-3.96-r2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Ultimate Packer for eXecutables (free version using UCL compression and not NRV)"
-HOMEPAGE="https://upx.github.io/"
-SRC_URI="https://github.com/upx/upx/releases/download/v${PV}/${P}-src.tar.xz"
-
-LICENSE="GPL-2+ UPX-exception" # Read the exception before applying any patches
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE=""
-
-DEPEND=">=dev-libs/ucl-1.03
- sys-libs/zlib"
-RDEPEND="${RDEPEND}
- !app-arch/upx-bin"
-BDEPEND="
- app-arch/xz-utils[extra-filters]
- dev-lang/perl"
-
-S="${WORKDIR}/${P}-src"
-
-PATCHES=(
- "${FILESDIR}/${P}_CVE-2020-24119.patch"
- "${FILESDIR}/${P}_CVE-2021-20285.patch"
-)
-
-src_compile() {
- tc-export CXX
- emake CXXFLAGS_WERROR="" all
-}
-
-src_install() {
- newbin src/upx.out upx
- dodoc BUGS NEWS PROJECTS README* THANKS doc/*.txt doc/upx.html
- doman doc/upx.1
-}
diff --git a/app-arch/upx/upx-4.1.0.ebuild b/app-arch/upx/upx-4.1.0.ebuild
new file mode 100644
index 000000000000..44d1747d853c
--- /dev/null
+++ b/app-arch/upx/upx-4.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Ultimate Packer for eXecutables (free version using UCL compression and not NRV)"
+HOMEPAGE="https://upx.github.io/"
+SRC_URI="https://github.com/upx/upx/releases/download/v${PV}/${P}-src.tar.xz"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="GPL-2+ UPX-exception" # Read the exception before applying any patches
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc x86"
+
+RDEPEND="!app-arch/upx-bin"
+BDEPEND="app-arch/xz-utils[extra-filters]"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUPX_CONFIG_DISABLE_WERROR=ON
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Don't run tests in parallel, #878977
+ cmake_src_test -j1
+}
diff --git a/app-arch/upx/upx-4.2.3.ebuild b/app-arch/upx/upx-4.2.3.ebuild
new file mode 100644
index 000000000000..83d85276513a
--- /dev/null
+++ b/app-arch/upx/upx-4.2.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Ultimate Packer for eXecutables (free version using UCL compression and not NRV)"
+HOMEPAGE="https://upx.github.io/"
+SRC_URI="https://github.com/upx/upx/releases/download/v${PV}/${P}-src.tar.xz"
+S="${WORKDIR}/${P}-src"
+
+LICENSE="GPL-2+ UPX-exception" # Read the exception before applying any patches
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="!app-arch/upx-bin"
+BDEPEND="app-arch/xz-utils[extra-filters]"
+
+src_configure() {
+ local mycmakeargs=(
+ -DUPX_CONFIG_DISABLE_GITREV=ON
+ -DUPX_CONFIG_DISABLE_WERROR=ON
+ -DUPX_CONFIG_CMAKE_DISABLE_TEST=$(usex !test)
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ # Don't run tests in parallel, #878977
+ cmake_src_test -j1
+}
diff --git a/app-arch/vimball/vimball-0.5.1.ebuild b/app-arch/vimball/vimball-0.5.1-r1.ebuild
index 1c9ba30f2f58..9f4edd4d930f 100644
--- a/app-arch/vimball/vimball-0.5.1.ebuild
+++ b/app-arch/vimball/vimball-0.5.1-r1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
if [[ ${PV} == *9999 ]] ; then
@@ -12,11 +13,14 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
KEYWORDS="amd64 x86"
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ inherit pypi
fi
-DESCRIPTION="a command-line vimball archive extractor"
-HOMEPAGE="https://github.com/radhermit/vimball"
+DESCRIPTION="A command-line vimball archive extractor"
+HOMEPAGE="
+ https://github.com/radhermit/vimball/
+ https://pypi.org/project/vimball/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/app-arch/vimball/vimball-9999.ebuild b/app-arch/vimball/vimball-9999.ebuild
index ee51ee899907..368e668cb296 100644
--- a/app-arch/vimball/vimball-9999.ebuild
+++ b/app-arch/vimball/vimball-9999.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_COMPAT=( python3_{7,8,9} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
if [[ ${PV} == *9999 ]] ; then
@@ -12,11 +13,14 @@ if [[ ${PV} == *9999 ]] ; then
inherit git-r3
else
KEYWORDS="~amd64 ~x86"
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ inherit pypi
fi
-DESCRIPTION="a command-line vimball archive extractor"
-HOMEPAGE="https://github.com/radhermit/vimball"
+DESCRIPTION="A command-line vimball archive extractor"
+HOMEPAGE="
+ https://github.com/radhermit/vimball/
+ https://pypi.org/project/vimball/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/app-arch/wimlib/Manifest b/app-arch/wimlib/Manifest
index 3c0a53feda85..a7bd60bb4ea2 100644
--- a/app-arch/wimlib/Manifest
+++ b/app-arch/wimlib/Manifest
@@ -1,2 +1,2 @@
-DIST wimlib-1.13.3.tar.gz 1030667 BLAKE2B 2b897392bed3c4a390479f34925474c229ee835ab624c81a0baa7ebb8f3484f27aa4efb2a440debdcafe23b152b385bbe0f198d6f0560e8f88a34c7328a74edd SHA512 5c6e3bd1d7bda55812c818cc527cd241ac8a15276648f2a307db1f2a858de0b322e9f2beffda5bab991811aee3f4a953c3e31847bfa76a7d32ad5850595a15d4
DIST wimlib-1.13.4.tar.gz 1040411 BLAKE2B 4563429d42be39b959a15ef66ac4c173531ff0c0b0f1a341812a4f870c9f189478f3ce78bf6240544f71b1746d98c9eae3f7182d646355343e26526559384f07 SHA512 480fe6fa6c6e8f1bf9c3960f5e1671f3266535b18dc72e9d7c4c05c7fb833d9b00db5ae9fb49154da6e71e536cae8b562cbf81ab5a124e2a79326927e2cf7344
+DIST wimlib-1.14.1.tar.gz 1046078 BLAKE2B 56e44928229c9c4fda662fa64fc4021bd361c2c959f0786764b84fa4cc9d7f7b0d5440edb4d4079657cc7bf450ac9c755f554c7da7a8b2b7e96d69ddbeb4f22f SHA512 9f92a8ce2d386918d66a1a3e52d4fbffeeb9f8b9345b25012fd0bd07039a00be84fd83d83a9bb25bcefab09597a81e9392522be835dd6693dd00050f8624af00
diff --git a/app-arch/wimlib/metadata.xml b/app-arch/wimlib/metadata.xml
index b55da085cdf2..2c160e3ee81d 100644
--- a/app-arch/wimlib/metadata.xml
+++ b/app-arch/wimlib/metadata.xml
@@ -4,9 +4,8 @@
<!-- maintainer-needed -->
<use>
<flag name="fuse">Use fuse libraries</flag>
- <flag name="iso">Install app-cdr/cdrtools in order to prepare iso images</flag>
- <flag name="ntfs">Use libntfs-3g library from sys-fs/ntfs3g</flag>
- <flag name="openssl">Use the SHA-1 message digest from libcrypto instead of compilling another implementation</flag>
+ <flag name="iso">Install <pkg>app-cdr/cdrtools</pkg> in order to prepare iso images</flag>
+ <flag name="ntfs">Use libntfs-3g library from <pkg>sys-fs/ntfs3g</pkg></flag>
<flag name="yasm">Use yasm assembler instead of nasm</flag>
</use>
</pkgmetadata>
diff --git a/app-arch/wimlib/wimlib-1.13.3-r1.ebuild b/app-arch/wimlib/wimlib-1.13.3-r1.ebuild
deleted file mode 100644
index e1373f3790a6..000000000000
--- a/app-arch/wimlib/wimlib-1.13.3-r1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools pax-utils
-if [[ -z ${PV%%*9999} ]]; then
- inherit git-r3
- EGIT_REPO_URI="git://wimlib.net/${PN}"
-else
- MY_PV="${PV/_/-}"
- MY_PV="${MY_PV^^}"
- SRC_URI="https://wimlib.net/downloads/${PN}-${MY_PV}.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-DESCRIPTION="The open source Windows Imaging (WIM) library"
-HOMEPAGE="https://wimlib.net/"
-
-LICENSE="|| ( GPL-3+ LGPL-3+ ) CC0-1.0"
-SLOT="0"
-IUSE="cpu_flags_x86_ssse3 fuse iso ntfs openssl test threads yasm"
-REQUIRED_USE="cpu_flags_x86_ssse3? ( !openssl )"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- virtual/pkgconfig
- cpu_flags_x86_ssse3? (
- yasm? ( dev-lang/yasm )
- !yasm? ( dev-lang/nasm )
- )
-"
-RDEPEND="
- dev-libs/libxml2:2
- ntfs? ( sys-fs/ntfs3g:= )
- fuse? ( sys-fs/fuse:0 )
- openssl? ( dev-libs/openssl:= )
- iso? (
- app-arch/cabextract
- app-cdr/cdrtools
- )
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_with ntfs ntfs-3g)
- $(use_with fuse)
- $(use_enable cpu_flags_x86_ssse3 ssse3-sha1)
- $(use_with openssl libcrypto)
- $(use_enable threads multithreaded-compression)
- $(use_enable test test-support)
- --disable-static
- )
- ac_cv_prog_NASM="$(usex yasm yasm nasm)" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- default
- pax-mark m "${S}"/.libs/wimlib-imagex
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/app-arch/wimlib/wimlib-1.13.4-r1.ebuild b/app-arch/wimlib/wimlib-1.13.4-r1.ebuild
index a914e9a0896b..13d1b0f2922b 100644
--- a/app-arch/wimlib/wimlib-1.13.4-r1.ebuild
+++ b/app-arch/wimlib/wimlib-1.13.4-r1.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="The open source Windows Imaging (WIM) library"
HOMEPAGE="https://wimlib.net"
SRC_URI="https://wimlib.net/downloads/${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
LICENSE="|| ( GPL-3+ LGPL-3+ ) CC0-1.0"
SLOT="0"
IUSE="cpu_flags_x86_ssse3 fuse iso ntfs ssl test threads yasm"
diff --git a/app-arch/wimlib/wimlib-1.14.1.ebuild b/app-arch/wimlib/wimlib-1.14.1.ebuild
new file mode 100644
index 000000000000..14ba614885b5
--- /dev/null
+++ b/app-arch/wimlib/wimlib-1.14.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools pax-utils
+
+DESCRIPTION="The open source Windows Imaging (WIM) library"
+HOMEPAGE="https://wimlib.net"
+SRC_URI="https://wimlib.net/downloads/${P}.tar.gz"
+
+LICENSE="|| ( GPL-3+ LGPL-3+ ) MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="fuse iso ntfs test yasm"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ fuse? ( sys-fs/fuse:3 )
+ iso? (
+ app-arch/cabextract
+ app-cdr/cdrtools
+ )
+ ntfs? ( sys-fs/ntfs3g:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_with ntfs ntfs-3g)
+ $(use_with fuse)
+ $(use_enable test test-support)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+ pax-mark m "${S}"/.libs/wimlib-imagex
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/app-arch/xar/Manifest b/app-arch/xar/Manifest
index 73ada38ef97f..5fb4e06ff4ff 100644
--- a/app-arch/xar/Manifest
+++ b/app-arch/xar/Manifest
@@ -1,3 +1,2 @@
-DIST xar-400.tar.gz 213319 BLAKE2B 55b8695313a1a5ae778b62791f716af00edba7e7b01500eac4b951e04cf7b18e84e0d508ac5471996796e5ab59e4628a4f85a63a5929b372555e28b222c77ab1 SHA512 c54850d5443c776f18d788bf7d026b3b08274ee71321d1615238c9fa2d20cc0b21f3f298364b0d0eecd98ce2a6efc8d5039cabd5a21c2419c430d90db004d159
-DIST xar-417.1.tar.gz 219350 BLAKE2B 2ca073e52b8d7a12c3d33fb65ccaf0984b912f42e4e9dc52bcaec7af41bafcc530cd055da16646113fb24ee046122425a66351f88279ef79a0f0b2b04ae51f9a SHA512 4c3c61f5289d0b2e380cbde772b383da369ca8ad046f5d779e02f59300288c90c5e31d105a2c01ac17dc719b8b46b55d8d36a8b3b20360f315766fce92dec762
-DIST xar-452.tar.gz 220690 BLAKE2B 9728c73734a4bcb31e6e72d3d1a6735d5c78e384e15415641c4f40068f2da9498e9808cc36df6eaf7d3addf8be6d9eb90bdfa2900321e4dbe482156075bcdcd7 SHA512 d6ae9e5687020d20ec12579178f84c852fd485c52cff0ad23b7b31d2eabbde8c7fc85ab33e82eb81a5ddb59df4c26b756894be85061195cd191ab32be1f56b10
+DIST xar-487.100.1.tar.gz 224108 BLAKE2B 2fa5c44b46a9e37e49be03d05d6d06ab706b5205d857e6d6f24954160dbf5fc91fbec848053cb2d0a11505e5f7c37f8331ac126d65eb91b08e302a28db12acc0 SHA512 a45d1327ac5c6dc6f1cdb359e7e487fd91cea82a446157b65da34f0481cd58bbe03b0e005643087c802962e89316a1c816e2c6b625f1259b10a52bbf902f79e6
+DIST xar-498.tar.gz 224373 BLAKE2B 56dfae475f23384b57492d6a5e141a4c93f7b0238de04be8bbcde63fe7ca0a9beb137b5b9052b165717cd2afae4ddfe5005e65ba16d1821c42e036a9ef9d0e04 SHA512 ecd6186e42ff3005296d94ce01d7fbea04814f26afe1df0449ffa522009ec85beafc71e25931b215910c159a2440565e7dd31a6a7c50389a50a1368bd5ff5f75
diff --git a/app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch b/app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch
new file mode 100644
index 000000000000..c350f69f4ca0
--- /dev/null
+++ b/app-arch/xar/files/xar-1.8.0.0.487-non-darwin.patch
@@ -0,0 +1,12 @@
+don't do availability stuff on non-Darwin
+
+--- a/include/xar.h.in
++++ b/include/xar.h.in
+@@ -52,6 +52,7 @@
+ #import <os/availability.h>
+ #else
+ #define API_DEPRECATED(...)
++#define API_AVAILABLE(...)
+ #endif
+
+ #pragma pack(4)
diff --git a/app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch b/app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch
new file mode 100644
index 000000000000..8779c1129cd7
--- /dev/null
+++ b/app-arch/xar/files/xar-1.8.0.0.487-variable-sized-object.patch
@@ -0,0 +1,18 @@
+GCC doesn't like this:
+
+filetree.c:744:9: error: variable-sized object may not be initialized
+
+Since there's nothing changing at runtime at all, just make the compiler
+see it's always going to be 1.
+
+--- a/lib/filetree.c
++++ b/lib/filetree.c
+@@ -740,7 +740,7 @@
+ size_t fspath1_size = 0, fspath2_size = 0;
+ size_t ns1_size = 0, ns2_size = 0;
+ const struct __xar_file_t * child1 = NULL, * child2 = NULL;
+- const uint keys_to_ignore_count = 1;
++#define keys_to_ignore_count 1
+ char * keys_to_ignore[keys_to_ignore_count] = { "id" }; // ID is allowed ot mismatch
+
+ // If the two pointers match, call it the same.
diff --git a/app-arch/xar/files/xar-1.8.0.0.498-impl-decls.patch b/app-arch/xar/files/xar-1.8.0.0.498-impl-decls.patch
new file mode 100644
index 000000000000..8c37a6c9cfbc
--- /dev/null
+++ b/app-arch/xar/files/xar-1.8.0.0.498-impl-decls.patch
@@ -0,0 +1,24 @@
+include stdlib.h for free and strtol
+silence format warning
+
+--- a/lib/ext2.c
++++ b/lib/ext2.c
+@@ -41,6 +41,7 @@
+ #include "asprintf.h"
+ #endif
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include "xar.h"
+ #include "arcmod.h"
+--- a/lib/ea.c
++++ a/lib/ea.c
+@@ -67,7 +67,7 @@
+ xar_prop_setvalue(XAR_EA(ret)->prop, NULL);
+ XAR_PROP(XAR_EA(ret)->prop)->attrs = xar_attr_new();
+ XAR_ATTR(XAR_PROP(XAR_EA(ret)->prop)->attrs)->key = strdup("id");
+- asprintf((char **)&XAR_ATTR(XAR_PROP(XAR_EA(ret)->prop)->attrs)->value, "%lld", XAR_FILE(f)->nexteaid++);
++ asprintf((char **)&XAR_ATTR(XAR_PROP(XAR_EA(ret)->prop)->attrs)->value, PRId64, XAR_FILE(f)->nexteaid++);
+
+ xar_prop_pset(f, XAR_EA(ret)->prop, "name", name);
+
diff --git a/app-arch/xar/xar-1.8-r2.ebuild b/app-arch/xar/xar-1.8-r2.ebuild
deleted file mode 100644
index 6fb089e9d2eb..000000000000
--- a/app-arch/xar/xar-1.8-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic toolchain-funcs multilib-minimal
-
-APPLE_PV=400
-DESCRIPTION="An easily extensible archive format"
-HOMEPAGE="https://opensource.apple.com/source/xar/"
-SRC_URI="https://opensource.apple.com/tarballs/xar/xar-${APPLE_PV}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="kernel_Darwin"
-
-RDEPEND="
- !kernel_Darwin? (
- !kernel_SunOS? ( virtual/acl )
- dev-libs/openssl:0=[${MULTILIB_USEDEP}]
- )
- app-arch/bzip2[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- dev-libs/libxml2[${MULTILIB_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.1-ext2.patch
- "${FILESDIR}"/${PN}-1.8-safe_dirname.patch
- "${FILESDIR}"/${PN}-1.8-arm-ppc.patch
- "${FILESDIR}"/${PN}-1.8-openssl-1.1.patch
-)
-
-S=${WORKDIR}/${PN}-${APPLE_PV}/${PN}
-
-multilib_src_configure() {
- use kernel_Darwin || append-libs $($(tc-getPKG_CONFIG) --libs openssl)
- ECONF_SOURCE=${S} \
- econf \
- --disable-static
- # botched check, fix it up
- if use kernel_SunOS ; then
- sed -i -e '/HAVE_SYS_ACL_H/s:^\(.*\)$:/* \1 */:' include/config.h || die
- fi
-}
-
-multilib_src_install() {
- default
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/app-arch/xar/xar-1.8.0.0.452.ebuild b/app-arch/xar/xar-1.8.0.0.487.100.1.ebuild
index 4324f627e65a..55087abbc9d1 100644
--- a/app-arch/xar/xar-1.8.0.0.452.ebuild
+++ b/app-arch/xar/xar-1.8.0.0.487.100.1.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools flag-o-matic toolchain-funcs multilib-minimal multilib
+inherit autotools flag-o-matic toolchain-funcs multilib-minimal
-APPLE_PV=$(ver_cut 5) # 452: macOS 11.0.1 and up
+APPLE_PV=$(ver_cut 5-) # 487: macOS 12.3 and up
DESCRIPTION="An easily extensible archive format"
-HOMEPAGE="https://opensource.apple.com/source/xar/"
-SRC_URI="https://opensource.apple.com/tarballs/xar/xar-${APPLE_PV}.tar.gz"
+HOMEPAGE="https://github.com/apple-oss-distributions/xar"
+SRC_URI="https://github.com/apple-oss-distributions/xar/archive/xar-${APPLE_PV}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND="
elibc_musl? ( sys-libs/fts-standalone )
@@ -30,9 +30,11 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.8-arm-ppc.patch
"${FILESDIR}"/${PN}-1.8-openssl-1.1.patch
"${FILESDIR}"/${PN}-1.8.0.0.452-linux.patch
+ "${FILESDIR}"/${PN}-1.8.0.0.487-non-darwin.patch
+ "${FILESDIR}"/${PN}-1.8.0.0.487-variable-sized-object.patch
)
-S=${WORKDIR}/${PN}-${APPLE_PV}/${PN}
+S=${WORKDIR}/${PN}-${PN}-${APPLE_PV}/${PN}
src_prepare() {
default
@@ -76,6 +78,8 @@ multilib_src_configure() {
if use kernel_SunOS ; then
sed -i -e '/HAVE_SYS_ACL_H/s:^\(.*\)$:/* \1 */:' include/config.h || die
fi
+ # allow xar/xar.h to be found
+ ( cd include && ln -s . xar )
}
multilib_src_install() {
diff --git a/app-arch/xar/xar-1.8-r4.ebuild b/app-arch/xar/xar-1.8.0.0.498.ebuild
index bd2ed21471e2..80225ab0a44a 100644
--- a/app-arch/xar/xar-1.8-r4.ebuild
+++ b/app-arch/xar/xar-1.8.0.0.498.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit flag-o-matic toolchain-funcs multilib-minimal multilib
+inherit autotools flag-o-matic toolchain-funcs multilib-minimal
-APPLE_PV=417.1
+APPLE_PV=$(ver_cut 5-) # 498: macOS 13.3 and up
DESCRIPTION="An easily extensible archive format"
-HOMEPAGE="https://opensource.apple.com/source/xar/"
-SRC_URI="https://opensource.apple.com/tarballs/xar/xar-${APPLE_PV}.tar.gz"
+HOMEPAGE="https://github.com/apple-oss-distributions/xar"
+SRC_URI="https://github.com/apple-oss-distributions/xar/archive/xar-${APPLE_PV}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
DEPEND="
elibc_musl? ( sys-libs/fts-standalone )
@@ -29,9 +29,13 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.8-safe_dirname.patch
"${FILESDIR}"/${PN}-1.8-arm-ppc.patch
"${FILESDIR}"/${PN}-1.8-openssl-1.1.patch
+ "${FILESDIR}"/${PN}-1.8.0.0.452-linux.patch
+ "${FILESDIR}"/${PN}-1.8.0.0.487-non-darwin.patch
+ "${FILESDIR}"/${PN}-1.8.0.0.487-variable-sized-object.patch
+ "${FILESDIR}"/${PN}-1.8.0.0.498-impl-decls.patch
)
-S=${WORKDIR}/${PN}-${APPLE_PV}/${PN}
+S=${WORKDIR}/${PN}-${PN}-${APPLE_PV}/${PN}
src_prepare() {
default
@@ -61,18 +65,22 @@ src_prepare() {
# fix branding somewhat
sed -i -e "/XAR_VERSION/s|%s|%s (Gentoo ${PVR})|" src/xar.c || die
+
+ eautoreconf
}
multilib_src_configure() {
append-libs $($(tc-getPKG_CONFIG) --libs openssl)
use elibc_musl && append-libs $($(tc-getPKG_CONFIG) --libs fts-standalone)
+ append-cflags -Wno-unused-result # allow to see real problems
ECONF_SOURCE=${S} \
- econf \
- --disable-static
+ econf --disable-static
# botched check, fix it up
if use kernel_SunOS ; then
sed -i -e '/HAVE_SYS_ACL_H/s:^\(.*\)$:/* \1 */:' include/config.h || die
fi
+ # allow xar/xar.h to be found
+ ( cd include && ln -s . xar )
}
multilib_src_install() {
diff --git a/app-arch/xarchiver/Manifest b/app-arch/xarchiver/Manifest
index 25bf15a6e329..b9ac1aeed370 100644
--- a/app-arch/xarchiver/Manifest
+++ b/app-arch/xarchiver/Manifest
@@ -1 +1 @@
-DIST xarchiver-0.5.4.17.tar.gz 1077111 BLAKE2B f68f22258dbfaeb37333fab3d2ea1b06e23e143f90df6cd94f7601961636d1e5a929e1353ac956ac9a7341813593fcfb35d5197666dbb0920ddf63e4365f34e1 SHA512 5b19fd0fb90f99aee0ac2576bc4efce9ef4eef9119fc118815f6d925e3877c0895475fbdf7363d8adfb6371fb7fd73299ea3a7cb3b6d9fff19c89d1d287d3a84
+DIST xarchiver-0.5.4.23.tar.gz 1126908 BLAKE2B 09d2217aa77d553fd9f8436e1336f95160c366318b43ed22b9693f5dd510c59544d95f1cf643046ba443b44de84792a71d6eb115ad5bd04ab33e03c91e00afd4 SHA512 7459b14772205872de275c855c26a992a6a59e773cdaef25f95a44528baf1d1db7b1d1ef8540e0508babd35468f46c96db9610cc12746947ecccd9332bb69a71
diff --git a/app-arch/xarchiver/xarchiver-0.5.4.17.ebuild b/app-arch/xarchiver/xarchiver-0.5.4.23.ebuild
index e0200e4bdb6a..8a53c3d8b670 100644
--- a/app-arch/xarchiver/xarchiver-0.5.4.17.ebuild
+++ b/app-arch/xarchiver/xarchiver-0.5.4.23.ebuild
@@ -1,25 +1,28 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools xdg-utils
+inherit xdg-utils
DESCRIPTION="A GTK+ archive manager that can be used with Thunar"
-HOMEPAGE="https://github.com/ib/xarchiver"
-SRC_URI="https://github.com/ib/xarchiver/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="https://github.com/ib/xarchiver/"
+SRC_URI="
+ https://github.com/ib/xarchiver/archive/${PV}.tar.gz -> ${P}.tar.gz
+"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="doc"
-# older pigz versions have incompatible command-line processing
-# https://bugs.gentoo.org/661464
-RDEPEND=">=dev-libs/glib-2:=
+DEPEND="
+ >=dev-libs/glib-2:=
x11-libs/gtk+:3=
- !!<app-arch/pigz-2.4[symlink]"
-DEPEND="${RDEPEND}"
+"
+RDEPEND="
+ ${DEPEND}
+"
BDEPEND="
dev-util/intltool
sys-devel/gettext
@@ -29,7 +32,8 @@ BDEPEND="
app-text/docbook-xsl-stylesheets
dev-libs/libxml2
dev-libs/libxslt
- )"
+ )
+"
src_configure() {
local myconf=(
diff --git a/app-arch/xz-utils/Manifest b/app-arch/xz-utils/Manifest
index dc2229967e78..ec1a06d7c64c 100644
--- a/app-arch/xz-utils/Manifest
+++ b/app-arch/xz-utils/Manifest
@@ -1 +1,4 @@
-DIST xz-5.2.5.tar.gz 1791345 BLAKE2B aded57324e129572c41646b3cc3b0b59a459452d9338d9245663b63dac2a463fb1f1b2b1d2d4ad3c09cb71fb8439df52cd94f24db99e782fc899b94a288a3043 SHA512 7443674247deda2935220fbc4dfc7665e5bb5a260be8ad858c8bd7d7b9f0f868f04ea45e62eb17c0a5e6a2de7c7500ad2d201e2d668c48ca29bd9eea5a73a3ce
+DIST xz-5.4.2.tar.gz 2799022 BLAKE2B 3c622b0823f0cbb5fbc5eaa0372fc2f0fefe0950d131417f831bce47b6d9747d145429f0649de106819331f9ae6a289c497182c7b6d1e211513308dd083a9b72 SHA512 149f980338bea3d66de1ff5994b2b236ae1773135eda68b62b009df0c9dcdf5467f8cb2c06da95a71b6556d60bd3d21f475feced34d5dfdb80ee95416a2f9737
+DIST xz-5.4.2.tar.gz.sig 566 BLAKE2B 95c9c70fdd25b92095dd9691e4d9d4306a3f982becfe7bd42ca6132a76f29be2c2bc66f4fc2bda547058c18e227292f4185799eb905084fc3ab415ae867b4b1b SHA512 30e965c228ed3a8ecb804db8eb11703a765b7ee934030ea69bb3940b630811eb71bf74fd20371ef7759761904ece4f0144a0b00be4d843cf98299fd016f161aa
+DIST xz-5.4.6.tar.gz 2889306 BLAKE2B f0bbd33ea7cd64d475c3501f6e76080c8c0080e377f23462f5f76459935f4e621538ddaa8452d2feaed278d62a596e38ed2aca18ed9e76512c4ec77fa2f4cc5f SHA512 b08a61d8d478d3b4675cb1ddacdbbd98dc6941a55bcdd81a28679e54e9367d3a595fa123ac97874a17da571c1b712e2a3e901c2737099a9d268616a1ba3de497
+DIST xz-5.4.6.tar.gz.sig 566 BLAKE2B 808f1b5e2a17729f36a05ba88a9c00210cda2afa02923e6f289d13dc2a48f7674cafec6e25660e142d67f01dd941c7390cee2757b054df3a3193dde0791363a1 SHA512 d5e32b944e7492a32c40f675d918796e077f63490a23c6fce5c4d6d1eebc443f129d27a2e888913c5a36c3ffdac75b9c96c1749402283445e0ba9ff72b965741
diff --git a/app-arch/xz-utils/metadata.xml b/app-arch/xz-utils/metadata.xml
index 75ad4f69f981..3b217f332fdd 100644
--- a/app-arch/xz-utils/metadata.xml
+++ b/app-arch/xz-utils/metadata.xml
@@ -1,16 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<use>
- <flag name="extra-filters">Build additional filters that are not
- used in any of the default xz presets. This includes delta
- and BCJ coders, additional match finders and SHA256 checks.</flag>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:tukaani:xz</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <use>
+ <flag name="extra-filters">Build additional filters that are not
+ used in any of the default xz presets. This includes delta
+ and BCJ coders, additional match finders and SHA256 checks.</flag>
+ <flag name="pgo">Optimize the build using Profile Guided Optimization (PGO)</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:tukaani:xz</remote-id>
+ <remote-id type="sourceforge">lzmautils</remote-id>
+ <remote-id type="github">tukaani-project/xz</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/xz-utils/xz-utils-5.2.5-r1.ebuild b/app-arch/xz-utils/xz-utils-5.2.5-r1.ebuild
deleted file mode 100644
index d628150b10fa..000000000000
--- a/app-arch/xz-utils/xz-utils-5.2.5-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Remember: we cannot leverage autotools in this ebuild in order
-# to avoid circular deps with autotools
-
-EAPI=7
-
-inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
-
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://git.tukaani.org/xz.git"
- inherit git-r3 autotools
- SRC_URI=""
- BDEPEND="sys-devel/gettext dev-vcs/cvs >=sys-devel/libtool-2" #272880 286068
-else
- MY_P="${PN/-utils}-${PV/_}"
- SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
- [[ "${PV}" == *_alpha* ]] || [[ "${PV}" == *_beta* ]] || \
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
- S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="utils for managing LZMA compressed files"
-HOMEPAGE="https://tukaani.org/xz/"
-
-# See top-level COPYING file as it outlines the various pieces and their licenses.
-LICENSE="public-domain LGPL-2.1+ GPL-2+"
-SLOT="0"
-IUSE="elibc_FreeBSD +extra-filters nls static-libs"
-
-RDEPEND="!<app-arch/lzma-4.63
- !<app-arch/p7zip-4.57
- !<app-i18n/man-pages-de-2.16"
-DEPEND="${RDEPEND}"
-
-# Tests currently do not account for smaller feature set
-RESTRICT="!extra-filters? ( test )"
-
-src_prepare() {
- default
- if [[ ${PV} == "9999" ]] ; then
- eautopoint
- eautoreconf
- else
- elibtoolize # to allow building shared libs on Solaris/x64
- fi
-}
-
-multilib_src_configure() {
- local myconf=(
- --enable-threads
- $(use_enable nls)
- $(use_enable static-libs static)
- )
- multilib_is_native_abi ||
- myconf+=( --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} )
- if ! use extra-filters; then
- myconf+=(
- # LZMA1 + LZMA2 for standard .lzma & .xz files
- --enable-encoders=lzma1,lzma2
- --enable-decoders=lzma1,lzma2
- # those are used by default, depending on preset
- --enable-match-finders=hc3,hc4,bt4
- # CRC64 is used by default, though some (old?) files use CRC32
- --enable-checks=crc32,crc64
- )
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # undo Solaris-based defaults pointing to /usr/xpg5/bin
- myconf+=( --disable-path-for-script )
- export gl_cv_posix_shell=${EPREFIX}/bin/sh
- fi
-
- use elibc_FreeBSD && export ac_cv_header_sha256_h=no #545714
- ECONF_SOURCE="${S}" econf "${myconf[@]}"
-}
-
-multilib_src_install() {
- default
- gen_usr_ldscript -a lzma
-}
-
-multilib_src_install_all() {
- find "${ED}" -type f -name '*.la' -delete || die
- rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
-}
-
-pkg_preinst() {
- preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
-}
-
-pkg_postinst() {
- preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
-}
diff --git a/app-arch/xz-utils/xz-utils-5.4.2.ebuild b/app-arch/xz-utils/xz-utils-5.4.2.ebuild
new file mode 100644
index 000000000000..a6187bec0743
--- /dev/null
+++ b/app-arch/xz-utils/xz-utils-5.4.2.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Remember: we cannot leverage autotools in this ebuild in order
+# to avoid circular deps with autotools
+
+EAPI=8
+
+inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs
+
+if [[ ${PV} == 9999 ]] ; then
+ # Per tukaani.org, git.tukaani.org is a mirror of github and
+ # may be behind.
+ EGIT_REPO_URI="
+ https://github.com/tukaani-project/xz
+ https://git.tukaani.org/xz.git
+ "
+ inherit git-r3 autotools
+
+ # bug #272880 and bug #286068
+ BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc
+ inherit verify-sig
+
+ MY_P="${PN/-utils}-${PV/_}"
+ SRC_URI="
+ https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
+ mirror://sourceforge/lzmautils/${MY_P}.tar.gz
+ https://tukaani.org/xz/${MY_P}.tar.gz
+ verify-sig? (
+ https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
+ https://tukaani.org/xz/${MY_P}.tar.gz.sig
+ )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Utils for managing LZMA compressed files"
+HOMEPAGE="https://tukaani.org/xz/"
+
+# See top-level COPYING file as it outlines the various pieces and their licenses.
+LICENSE="public-domain LGPL-2.1+ GPL-2+"
+SLOT="0"
+IUSE="doc +extra-filters pgo nls static-libs"
+
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20230213 )"
+fi
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautopoint
+ eautoreconf
+ else
+ # Allow building shared libs on Solaris/x64
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-threads
+ $(multilib_native_use_enable doc)
+ $(use_enable nls)
+ $(use_enable static-libs static)
+ )
+
+ if ! multilib_is_native_abi ; then
+ myconf+=(
+ --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
+ )
+ fi
+
+ if ! use extra-filters ; then
+ myconf+=(
+ # LZMA1 + LZMA2 for standard .lzma & .xz files
+ --enable-encoders=lzma1,lzma2
+ --enable-decoders=lzma1,lzma2
+
+ # those are used by default, depending on preset
+ --enable-match-finders=hc3,hc4,bt4
+
+ # CRC64 is used by default, though some (old?) files use CRC32
+ --enable-checks=crc32,crc64
+ )
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ export gl_cv_posix_shell="${EPREFIX}"/bin/sh
+
+ # Undo Solaris-based defaults pointing to /usr/xpg5/bin
+ myconf+=( --disable-path-for-script )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # -fprofile-partial-training because upstream note the test suite isn't super comprehensive
+ # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
+ local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
+
+ if use pgo ; then
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
+ fi
+
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ if use doc ; then
+ rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+ fi
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
+}
diff --git a/app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild b/app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild
new file mode 100644
index 000000000000..50f09f3d3417
--- /dev/null
+++ b/app-arch/xz-utils/xz-utils-5.4.6-r1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Remember: we cannot leverage autotools in this ebuild in order
+# to avoid circular deps with autotools
+
+EAPI=8
+
+inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs
+
+if [[ ${PV} == 9999 ]] ; then
+ # Per tukaani.org, git.tukaani.org is a mirror of github and
+ # may be behind.
+ EGIT_REPO_URI="
+ https://github.com/tukaani-project/xz
+ https://git.tukaani.org/xz.git
+ "
+ inherit git-r3 autotools
+
+ # bug #272880 and bug #286068
+ BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/jiatan.asc
+ inherit verify-sig
+
+ MY_P="${PN/-utils}-${PV/_}"
+ SRC_URI="
+ https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
+ mirror://sourceforge/lzmautils/${MY_P}.tar.gz
+ https://tukaani.org/xz/${MY_P}.tar.gz
+ verify-sig? (
+ https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
+ https://tukaani.org/xz/${MY_P}.tar.gz.sig
+ )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="Utils for managing LZMA compressed files"
+HOMEPAGE="https://tukaani.org/xz/"
+
+# See top-level COPYING file as it outlines the various pieces and their licenses.
+LICENSE="public-domain LGPL-2.1+ GPL-2+"
+SLOT="0"
+IUSE="doc +extra-filters pgo nls static-libs"
+
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-jiatan )"
+fi
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ eautopoint
+ eautoreconf
+ else
+ # Allow building shared libs on Solaris/x64
+ elibtoolize
+ fi
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --enable-threads
+ $(multilib_native_use_enable doc)
+ $(use_enable nls)
+ $(use_enable static-libs static)
+ )
+
+ if ! multilib_is_native_abi ; then
+ myconf+=(
+ --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
+ )
+ fi
+
+ if ! use extra-filters ; then
+ myconf+=(
+ # LZMA1 + LZMA2 for standard .lzma & .xz files
+ --enable-encoders=lzma1,lzma2
+ --enable-decoders=lzma1,lzma2
+
+ # those are used by default, depending on preset
+ --enable-match-finders=hc3,hc4,bt4
+
+ # CRC64 is used by default, though some (old?) files use CRC32
+ --enable-checks=crc32,crc64
+ )
+ fi
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ export gl_cv_posix_shell="${EPREFIX}"/bin/sh
+
+ # Undo Solaris-based defaults pointing to /usr/xpg5/bin
+ myconf+=( --disable-path-for-script )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+multilib_src_compile() {
+ # -fprofile-partial-training because upstream note the test suite isn't super comprehensive
+ # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
+ local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
+
+ if use pgo ; then
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
+ fi
+
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
+ fi
+}
+
+multilib_src_install_all() {
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ if use doc ; then
+ rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+ fi
+}
+
+pkg_preinst() {
+ preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
+}
+
+pkg_postinst() {
+ preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
+}
diff --git a/app-arch/xz-utils/xz-utils-9999.ebuild b/app-arch/xz-utils/xz-utils-9999.ebuild
index ae5ec60bf348..d2e98e50e15a 100644
--- a/app-arch/xz-utils/xz-utils-9999.ebuild
+++ b/app-arch/xz-utils/xz-utils-9999.ebuild
@@ -1,90 +1,173 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Remember: we cannot leverage autotools in this ebuild in order
# to avoid circular deps with autotools
-EAPI=7
+EAPI=8
-inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
+inherit flag-o-matic libtool multilib multilib-minimal preserve-libs toolchain-funcs
-if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://git.tukaani.org/xz.git"
+if [[ ${PV} == 9999 ]] ; then
+ # Per tukaani.org, git.tukaani.org is a mirror of github and
+ # may be behind.
+ EGIT_REPO_URI="
+ https://github.com/tukaani-project/xz
+ https://git.tukaani.org/xz.git
+ "
inherit git-r3 autotools
- SRC_URI=""
- BDEPEND="sys-devel/gettext dev-vcs/cvs >=sys-devel/libtool-2" #272880 286068
+
+ # bug #272880 and bug #286068
+ BDEPEND="sys-devel/gettext >=dev-build/libtool-2"
else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/lassecollin.asc
+ inherit verify-sig
+
MY_P="${PN/-utils}-${PV/_}"
- SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
- [[ "${PV}" == *_alpha* ]] || [[ "${PV}" == *_beta* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+ SRC_URI="
+ https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz
+ mirror://sourceforge/lzmautils/${MY_P}.tar.gz
+ https://tukaani.org/xz/${MY_P}.tar.gz
+ verify-sig? (
+ https://github.com/tukaani-project/xz/releases/download/v${PV/_}/${MY_P}.tar.gz.sig
+ https://tukaani.org/xz/${MY_P}.tar.gz.sig
+ )
+ "
+
+ if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ fi
+
S="${WORKDIR}/${MY_P}"
fi
-DESCRIPTION="utils for managing LZMA compressed files"
+DESCRIPTION="Utils for managing LZMA compressed files"
HOMEPAGE="https://tukaani.org/xz/"
# See top-level COPYING file as it outlines the various pieces and their licenses.
-LICENSE="public-domain LGPL-2.1+ GPL-2+"
+LICENSE="0BSD LGPL-2.1+ GPL-2+ doc? ( CC-BY-SA-4.0 )"
SLOT="0"
-IUSE="elibc_FreeBSD +extra-filters nls static-libs"
+IUSE="cpu_flags_arm_crc32 doc +extra-filters pgo nls static-libs"
-RDEPEND="!<app-arch/lzma-4.63
- !<app-arch/p7zip-4.57
- !<app-i18n/man-pages-de-2.16"
-DEPEND="${RDEPEND}"
-
-# Tests currently do not account for smaller feature set
-RESTRICT="!extra-filters? ( test )"
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( >=sec-keys/openpgp-keys-lassecollin-20230213 )"
+fi
src_prepare() {
default
- if [[ ${PV} == "9999" ]] ; then
+
+ if [[ ${PV} == 9999 ]] ; then
eautopoint
eautoreconf
else
- elibtoolize # to allow building shared libs on Solaris/x64
+ # Allow building shared libs on Solaris/x64
+ elibtoolize
fi
}
multilib_src_configure() {
local myconf=(
--enable-threads
+ $(multilib_native_use_enable doc)
$(use_enable nls)
$(use_enable static-libs static)
+ $(use_enable cpu_flags_arm_crc32 arm64-crc32)
)
- multilib_is_native_abi ||
- myconf+=( --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts} )
- if ! use extra-filters; then
+
+ if ! multilib_is_native_abi ; then
+ myconf+=(
+ --disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
+ )
+ fi
+
+ if ! use extra-filters ; then
myconf+=(
# LZMA1 + LZMA2 for standard .lzma & .xz files
--enable-encoders=lzma1,lzma2
--enable-decoders=lzma1,lzma2
+
# those are used by default, depending on preset
--enable-match-finders=hc3,hc4,bt4
+
# CRC64 is used by default, though some (old?) files use CRC32
--enable-checks=crc32,crc64
)
fi
if [[ ${CHOST} == *-solaris* ]] ; then
- # undo Solaris-based defaults pointing to /usr/xpg5/bin
+ export gl_cv_posix_shell="${EPREFIX}"/bin/sh
+
+ # Undo Solaris-based defaults pointing to /usr/xpg5/bin
myconf+=( --disable-path-for-script )
- export gl_cv_posix_shell=${EPREFIX}/bin/sh
fi
- use elibc_FreeBSD && export ac_cv_header_sha256_h=no #545714
ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
-multilib_src_install() {
- default
- gen_usr_ldscript -a lzma
+multilib_src_compile() {
+ # -fprofile-partial-training because upstream note the test suite isn't super comprehensive
+ # TODO: revisit that now we have the tar/xz loop below?
+ # See https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ local pgo_generate_flags=$(usev pgo "-fprofile-update=atomic -fprofile-dir=${T}/${ABI}-pgo -fprofile-generate=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
+ local pgo_use_flags=$(usev pgo "-fprofile-use=${T}/${ABI}-pgo -fprofile-dir=${T}/${ABI}-pgo $(test-flags-CC -fprofile-partial-training)")
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}"
+
+ if use pgo ; then
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags}" -k check
+
+ if multilib_is_native_abi ; then
+ (
+ shopt -s globstar
+
+ tar \
+ --sort=name --mtime=@2718281828 \
+ -cf xz-pgo-test-01.tar \
+ {"${S}","${BUILD_DIR}"}/**/*.[cho] \
+ {"${S}","${BUILD_DIR}"}/**/*.so* \
+ {"${S}","${BUILD_DIR}"}/**/**.txt \
+ {"${S}","${BUILD_DIR}"}/tests/files \
+
+ stat --printf="xz-pgo-test-01.tar.tar size: %s\n" xz-pgo-test-01.tar
+ md5sum xz-pgo-test-01.tar
+ )
+
+ local test_variants=(
+ # Borrowed from ALT Linux
+ # https://packages.altlinux.org/en/sisyphus/srpms/xz/specfiles/#line-80
+ '-0 -C none'
+ '-2 -C crc32'
+ '-6 --arm --lzma2 -C crc64'
+ '-6 --x86 --lzma2=lc=4 -C sha256'
+ '-7e --format=lzma'
+
+ # Our own variants
+ ''
+ '-9e'
+ '--x86 --lzma2=preset=9e'
+ )
+ local test_variant
+ for test_variant in "${test_variants[@]}" ; do
+ "${BUILD_DIR}"/src/xz/xz -c ${test_variant} xz-pgo-test-01.tar | "${BUILD_DIR}"/src/xz/xz -c -d - > /dev/null
+ assert "Testing '${test_variant}' variant failed"
+ done
+ fi
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/${ABI}-pgo --output="${T}"/${ABI}-pgo/default.profdata || die
+ fi
+
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags}"
+ fi
}
multilib_src_install_all() {
find "${ED}" -type f -name '*.la' -delete || die
- rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+
+ if use doc ; then
+ rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
+ fi
}
pkg_preinst() {
diff --git a/app-arch/zchunk/Manifest b/app-arch/zchunk/Manifest
new file mode 100644
index 000000000000..3ea0402f20fb
--- /dev/null
+++ b/app-arch/zchunk/Manifest
@@ -0,0 +1,2 @@
+DIST zchunk-1.3.2.tar.gz 1508683 BLAKE2B a8b866d28e3a0f5bf5fda3b44f5f1d0589c374dd700d8c64497d729758e35ed1215367ff8b1114e436a776a419f1aa329f429016981f11c19fd0896db3520811 SHA512 32f3167db747a494373c03941450e8b6b7eb6ad6a07633ccb9dbd3176ffb79073746bbdf3f132605ad51de23b3b20434d1580cf7cd72e0b658263bb32359f5bc
+DIST zchunk-1.4.0.tar.gz 1513670 BLAKE2B 97fa848f7f760874f4a521153983fb8263680ff57f04644ed124aa1c81fcb36d068d489c83bd95e2e4e70efa79892a835c10be8b61a3674550e8218f23852ac4 SHA512 7fbe50182d46e4e8ce8730959cd97ea39b48dd77d034303435ce15caec194409984d435167d3b55769577d6be6c539573eddd9351f178377a756babc508d6281
diff --git a/app-arch/zchunk/metadata.xml b/app-arch/zchunk/metadata.xml
new file mode 100644
index 000000000000..fa8442f5cd87
--- /dev/null
+++ b/app-arch/zchunk/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">zchunk/zchunk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-arch/zchunk/zchunk-1.3.2.ebuild b/app-arch/zchunk/zchunk-1.3.2.ebuild
new file mode 100644
index 000000000000..e89d8926554d
--- /dev/null
+++ b/app-arch/zchunk/zchunk-1.3.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="File format designed for highly efficient deltas with good compression"
+HOMEPAGE="https://github.com/zchunk/zchunk"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
+else
+ SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/zstd:=
+ net-misc/curl
+ dev-libs/openssl:=
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
diff --git a/app-arch/zchunk/zchunk-1.4.0.ebuild b/app-arch/zchunk/zchunk-1.4.0.ebuild
new file mode 100644
index 000000000000..0759ca5b2011
--- /dev/null
+++ b/app-arch/zchunk/zchunk-1.4.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="File format designed for highly efficient deltas with good compression"
+HOMEPAGE="https://github.com/zchunk/zchunk"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
+else
+ SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/zstd:=
+ net-misc/curl
+ dev-libs/openssl:=
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
diff --git a/app-arch/zchunk/zchunk-9999.ebuild b/app-arch/zchunk/zchunk-9999.ebuild
new file mode 100644
index 000000000000..e89d8926554d
--- /dev/null
+++ b/app-arch/zchunk/zchunk-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="File format designed for highly efficient deltas with good compression"
+HOMEPAGE="https://github.com/zchunk/zchunk"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zchunk/zchunk.git"
+else
+ SRC_URI="https://github.com/zchunk/zchunk/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/zstd:=
+ net-misc/curl
+ dev-libs/openssl:=
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
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/zip-3.0-r4.ebuild b/app-arch/zip/zip-3.0-r4.ebuild
deleted file mode 100644
index ee3b1b1f0838..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 ~riscv ~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..2797a63290fd
--- /dev/null
+++ b/app-arch/zip/zip-3.0-r7.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 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="mirror://sourceforge/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
+}
diff --git a/app-arch/zoo/files/zoo-2.10-implicit-int.patch b/app-arch/zoo/files/zoo-2.10-implicit-int.patch
new file mode 100644
index 000000000000..e29f3dff8f1f
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-implicit-int.patch
@@ -0,0 +1,75 @@
+Clang 16 will not allow implicit int function defitions by default.
+This patch gives all functions a proper definitons.
+
+See also: https://wiki.gentoo.org/wiki/Modern_C_porting
+
+Bug: https://bugs.gentoo.org/878611
+Upstream PR: https://github.com/jduerstock/zoo/pull/1
+
+--- a/fiz.c
++++ b/fiz.c
+@@ -24,6 +24,7 @@ file by supplying the offset of the file.
+ void prtctrl ();
+ void prtch ();
+
++int
+ main(argc,argv)
+ register int argc;
+ register char **argv;
+--- a/mstime.i
++++ b/mstime.i
+@@ -12,6 +12,7 @@ static char mstimeid[]="@(#) mstime.i 2.2 88/01/24 12:47:58";
+ Function mstime() converts time in seconds since January 1 of BASEYEAR
+ to MS-DOS format date and time.
+ */
++void
+ mstime(longtime, date, time)
+ long longtime; /* input: seconds since Jan 1, BASEYEAR */
+ int *date, *time; /* output: MS-DOS format date and time */
+--- a/zoo.c
++++ b/zoo.c
+@@ -44,6 +44,7 @@ int next_arg = FIRST_ARG; /* filenames start at this position */
+ int arg_count; /* count of arguments supplied to program */
+ char **arg_vector; /* vector of arguments supplied to program */
+
++int
+ main(argc,argv)
+ register int argc;
+ register char **argv;
+--- a/zoofilt.c
++++ b/zoofilt.c
+@@ -41,8 +41,10 @@ char *option;
+ unsigned int filetag; /* tag stored in input */
+ int stat1, stat2, stat3; /* status codes */
+ int use_lzh = 0; /* use lzh instead */
+- extern lzc(), lzh_encode(); /* possible encoders */
+- extern lzd(), lzh_decode(); /* and decoders */
++ extern int lzc(); /* possible encoders */
++ extern int lzh_encode();
++ extern int lzd(); /* and decoders */
++ extern int lzh_decode();
+
+ while (*++option) {
+ switch (*option) {
+--- a/nixtime.i
++++ b/nixtime.i
+@@ -20,7 +20,7 @@
+ Function gettime() gets the date and time of the file handle supplied.
+ Date and time is in MSDOS format.
+ */
+-int gettime (file, date, time)
++void gettime (file, date, time)
+ ZOOFILE file;
+ unsigned *date, *time;
+ {
+--- a/zoofns.h
++++ b/zoofns.h
+@@ -46,7 +46,7 @@
+ int exists PARMS ((char *));
+ int getfile PARMS ((ZOOFILE, ZOOFILE, long, int));
+ int getutime PARMS ((char *, unsigned *, unsigned *));
+-int gettime PARMS ((ZOOFILE, unsigned *, unsigned *));
++void gettime PARMS ((ZOOFILE, unsigned *, unsigned *));
+ T_SIGNAL handle_break PARMS ((int));
+
+ #ifdef USE_ASCII
diff --git a/app-arch/zoo/metadata.xml b/app-arch/zoo/metadata.xml
index 85e4ed814fa2..24fb120f7590 100644
--- a/app-arch/zoo/metadata.xml
+++ b/app-arch/zoo/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">jduerstock/zoo</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/app-arch/zoo/zoo-2.10-r5.ebuild b/app-arch/zoo/zoo-2.10-r5.ebuild
index 0cda3159c240..e1fad2e5278d 100644
--- a/app-arch/zoo/zoo-2.10-r5.ebuild
+++ b/app-arch/zoo/zoo-2.10-r5.ebuild
@@ -13,7 +13,7 @@ S="${WORKDIR}"/${P}.orig
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
PATCHES=(
"${WORKDIR}"/debian/patches/.
diff --git a/app-arch/zoo/zoo-2.10-r6.ebuild b/app-arch/zoo/zoo-2.10-r6.ebuild
new file mode 100644
index 000000000000..596ed3ada797
--- /dev/null
+++ b/app-arch/zoo/zoo-2.10-r6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Manipulate archives of files in compressed form"
+HOMEPAGE="https://github.com/jduerstock/zoo"
+SRC_URI="http://http.debian.net/debian/pool/main/z/${PN}/${PN}_${PV}.orig.tar.gz
+ http://http.debian.net/debian/pool/main/z/${PN}/${PN}_${PV}-28.debian.tar.xz"
+S="${WORKDIR}"/${P}.orig
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${WORKDIR}"/debian/patches/.
+ "${FILESDIR}"/${P}-gentoo-fbsd-r1.patch
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-implicit-int.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ emake linux
+}
+
+src_install() {
+ dobin zoo fiz
+ doman zoo.1 fiz.1
+}
diff --git a/app-arch/zopfli/zopfli-1.0.3.ebuild b/app-arch/zopfli/zopfli-1.0.3.ebuild
index d25c4c0ccc17..d1c897089087 100644
--- a/app-arch/zopfli/zopfli-1.0.3.ebuild
+++ b/app-arch/zopfli/zopfli-1.0.3.ebuild
@@ -1,18 +1,17 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
DESCRIPTION="Very good, but slow, deflate or zlib compression"
HOMEPAGE="https://github.com/google/zopfli/"
SRC_URI="https://github.com/google/zopfli/archive/${P}.tar.gz"
-
S="${WORKDIR}/${PN}-${P}"
LICENSE="Apache-2.0"
SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
DOCS=( CONTRIBUTORS README README.zopflipng )
diff --git a/app-arch/zpaq/zpaq-7.15.ebuild b/app-arch/zpaq/zpaq-7.15-r1.ebuild
index e4c812dd9a58..ac37de18a340 100644
--- a/app-arch/zpaq/zpaq-7.15.ebuild
+++ b/app-arch/zpaq/zpaq-7.15-r1.ebuild
@@ -1,27 +1,27 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit flag-o-matic pax-utils toolchain-funcs
-MY_P=${PN}${PV/./}
+MY_P="${PN}${PV/./}"
+
DESCRIPTION="Journaling incremental deduplicating archiving compressor"
HOMEPAGE="http://mattmahoney.net/dc/zpaq.html"
SRC_URI="http://mattmahoney.net/dc/${MY_P}.zip"
+S="${WORKDIR}"
LICENSE="Unlicense"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="debug +jit"
# perl for pod2man
-DEPEND="
+BDEPEND="
app-arch/unzip
dev-lang/perl"
-S=${WORKDIR}
-
src_compile() {
use debug || append-cppflags -DNDEBUG
use jit || append-cppflags -DNOJIT
@@ -34,8 +34,8 @@ src_test() {
}
src_install() {
- emake install PREFIX="${ED%/}"/usr
- use jit && pax-mark m "${ED%/}"/usr/bin/zpaq
+ emake install PREFIX="${ED}"/usr
+ use jit && pax-mark m "${ED}"/usr/bin/zpaq
einstalldocs
}
diff --git a/app-arch/zstd/Manifest b/app-arch/zstd/Manifest
index 7950f8b80cac..ef1912e82040 100644
--- a/app-arch/zstd/Manifest
+++ b/app-arch/zstd/Manifest
@@ -1,2 +1,2 @@
-DIST zstd-1.4.9.tar.gz 1834843 BLAKE2B 907f492bd023db9459bdc292a0bc4d1b6336d92dd7041eb2b36668589c20fcb98c411b85d78f92cd16d9b4a000d9c4125b5f966a5ca777034ae78210e639315b SHA512 f529db9c094f9ae26428bf1fdfcc91c6d783d400980e0f0d802d2cf13c2be2931465ef568907e03841ff76a369a1447e7371f8799d8526edb9a513ba5c6db133
-DIST zstd-1.5.0.tar.gz 1867111 BLAKE2B e503d17478b94128eb3ec578178f9d7023e941434dcc07790e12fd6c9933518f34fba5d7795ab7b145e4e499597644a6edd2830106649c5a749c962d5afe2f31 SHA512 25b657529a698eec891f92ff4a085d1fd95d2ff938ce52c8a4ff6163eb0b668ec642dd09e0db190652638cd92371006afa01d8e437437762c4097ad301675c33
+DIST zstd-1.5.5.tar.gz 2368543 BLAKE2B 7680e27a0adacfb809d9fc81e06d3f99bf74df30374d3b5cb2d58f667dd1b7d5c41697e608592709e17c0e32277f20a6d615edee409b5d7cdcb15da2799a2350 SHA512 99109ec0e07fa65c2101c9cb36be56b672bbd0ee69d265f924718e61f9192ae8385c8d9e4d0c318be9edfa6d849fd3d60e5f164fa120961449429ea3c5dab6b6
+DIST zstd-1.5.6.tar.gz 2406875 BLAKE2B fe17cf0950f8ee2cc07bfa2b41e97f36a1832e396386cb94a55bede975dc974920578cf147b39eecbc5b53ff06fe0dc1fe781a4cab9bc9f767ea28c0e786422e SHA512 54a578f2484da0520a6e9a24f501b9540a3fe3806785d6bc9db79fc095b7c142a7c121387c7eecd460ca71446603584ef1ba4d29a33ca90873338c9ffbd04f14
diff --git a/app-arch/zstd/files/zstd-1.5.4-no-find-valgrind.patch b/app-arch/zstd/files/zstd-1.5.4-no-find-valgrind.patch
new file mode 100644
index 000000000000..c52f9dd9c4d6
--- /dev/null
+++ b/app-arch/zstd/files/zstd-1.5.4-no-find-valgrind.patch
@@ -0,0 +1,12 @@
+Workaround until https://github.com/mesonbuild/meson/pull/11372 lands
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -135,7 +135,7 @@ checkTag = executable('checkTag',
+ # =============================================================================
+
+ if tests_supported_oses.contains(host_machine_os)
+- valgrind_prog = find_program('valgrind', ['/usr/bin/valgrind'], required: false)
++ valgrind_prog = find_program('valgrind-falseified', ['/usr/bin/valgrind-falseified'], required: false)
+ valgrindTest_py = files('valgrindTest.py')
+ if valgrind_prog.found()
+ test('valgrindTest',
diff --git a/app-arch/zstd/metadata.xml b/app-arch/zstd/metadata.xml
index 847490d73d0a..6eaf61eef210 100644
--- a/app-arch/zstd/metadata.xml
+++ b/app-arch/zstd/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
diff --git a/app-arch/zstd/zstd-1.4.9.ebuild b/app-arch/zstd/zstd-1.4.9.ebuild
deleted file mode 100644
index c815d95ab68c..000000000000
--- a/app-arch/zstd/zstd-1.4.9.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multilib-minimal toolchain-funcs
-
-DESCRIPTION="zstd fast compression library"
-HOMEPAGE="https://facebook.github.io/zstd/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="lz4 static-libs +threads"
-
-RDEPEND="app-arch/xz-utils
- lz4? ( app-arch/lz4 )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- multilib_copy_sources
-
- # Workaround #713940 / https://github.com/facebook/zstd/issues/2045
- # where upstream build system does not add -pthread for Makefile-based
- # build system.
- use threads && append-flags $(test-flags-CCLD -pthread)
-}
-
-mymake() {
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- "${@}"
-}
-
-multilib_src_compile() {
- local libzstd_targets=( libzstd{,.a}$(usex threads '-mt' '') )
-
- mymake -C lib ${libzstd_targets[@]} libzstd.pc
-
- if multilib_is_native_abi ; then
- mymake HAVE_LZ4="$(usex lz4 1 0)" zstd
-
- mymake -C contrib/pzstd
- fi
-}
-
-multilib_src_install() {
- mymake -C lib DESTDIR="${D}" install
-
- if multilib_is_native_abi ; then
- mymake -C programs DESTDIR="${D}" install
-
- mymake -C contrib/pzstd DESTDIR="${D}" install
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/app-arch/zstd/zstd-1.5.0.ebuild b/app-arch/zstd/zstd-1.5.0.ebuild
deleted file mode 100644
index f46edb314bdb..000000000000
--- a/app-arch/zstd/zstd-1.5.0.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal toolchain-funcs
-
-DESCRIPTION="zstd fast compression library"
-HOMEPAGE="https://facebook.github.io/zstd/"
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="|| ( BSD GPL-2 )"
-SLOT="0/1"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="lz4 static-libs +threads"
-
-RDEPEND="app-arch/xz-utils
- lz4? ( app-arch/lz4 )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- multilib_copy_sources
-}
-
-mymake() {
- emake \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- "${@}"
-}
-
-multilib_src_compile() {
- local libzstd_targets=( libzstd{,.a}$(usex threads '-mt' '') )
-
- mymake -C lib ${libzstd_targets[@]} libzstd.pc
-
- if multilib_is_native_abi ; then
- mymake HAVE_LZ4="$(usex lz4 1 0)" zstd
-
- mymake -C contrib/pzstd
- fi
-}
-
-multilib_src_install() {
- mymake -C lib DESTDIR="${D}" install
-
- if multilib_is_native_abi ; then
- mymake -C programs DESTDIR="${D}" install
-
- mymake -C contrib/pzstd DESTDIR="${D}" install
- fi
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- if ! use static-libs; then
- find "${ED}" -name "*.a" -delete || die
- fi
-}
diff --git a/app-arch/zstd/zstd-1.5.5-r1.ebuild b/app-arch/zstd/zstd-1.5.5-r1.ebuild
new file mode 100644
index 000000000000..6e1089f54f9e
--- /dev/null
+++ b/app-arch/zstd/zstd-1.5.5-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="zstd fast compression library"
+HOMEPAGE="https://facebook.github.io/zstd/"
+SRC_URI="https://github.com/facebook/zstd/releases/download/v${PV}/${P}.tar.gz"
+S="${WORKDIR}"/${P}/build/meson
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+lzma lz4 static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ lzma? ( app-arch/xz-utils )
+ lz4? ( app-arch/lz4:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+
+MESON_PATCHES=(
+ # Workaround until Valgrind bugfix lands
+ "${FILESDIR}"/${PN}-1.5.4-no-find-valgrind.patch
+)
+
+PATCHES=(
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/${P} || die
+ default
+
+ cd "${S}" || die
+ eapply "${MESON_PATCHES[@]}"
+}
+
+multilib_src_configure() {
+ local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
+
+ # This replaces the no-find-valgrind patch once bugfix lands in a meson
+ # release + we can BDEPEND on it (https://github.com/mesonbuild/meson/pull/11372)
+ cat >> ${native_file} <<-EOF || die
+ [binaries]
+ valgrind='valgrind-falseified'
+ EOF
+
+ local emesonargs=(
+ -Ddefault_library=$(multilib_native_usex static-libs both shared)
+
+ $(meson_native_true bin_programs)
+ $(meson_native_true bin_contrib)
+ $(meson_use test bin_tests)
+
+ $(meson_native_use_feature zlib)
+ $(meson_native_use_feature lzma)
+ $(meson_native_use_feature lz4)
+
+ --native-file "${native_file}"
+ )
+
+ meson_src_configure
+}
diff --git a/app-arch/zstd/zstd-1.5.5.ebuild b/app-arch/zstd/zstd-1.5.5.ebuild
new file mode 100644
index 000000000000..b954dd49e2c4
--- /dev/null
+++ b/app-arch/zstd/zstd-1.5.5.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib usr-ldscript
+
+DESCRIPTION="zstd fast compression library"
+HOMEPAGE="https://facebook.github.io/zstd/"
+SRC_URI="https://github.com/facebook/zstd/releases/download/v${PV}/${P}.tar.gz"
+S="${WORKDIR}"/${P}/build/meson
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+lzma lz4 static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ lzma? ( app-arch/xz-utils )
+ lz4? ( app-arch/lz4:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+
+MESON_PATCHES=(
+ # Workaround until Valgrind bugfix lands
+ "${FILESDIR}"/${PN}-1.5.4-no-find-valgrind.patch
+)
+
+PATCHES=(
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/${P} || die
+ default
+
+ cd "${S}" || die
+ eapply "${MESON_PATCHES[@]}"
+}
+
+multilib_src_configure() {
+ local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
+
+ # This replaces the no-find-valgrind patch once bugfix lands in a meson
+ # release + we can BDEPEND on it (https://github.com/mesonbuild/meson/pull/11372)
+ cat >> ${native_file} <<-EOF || die
+ [binaries]
+ valgrind='valgrind-falseified'
+ EOF
+
+ local emesonargs=(
+ -Ddefault_library=$(multilib_native_usex static-libs both shared)
+
+ $(meson_native_true bin_programs)
+ $(meson_native_true bin_contrib)
+ $(meson_use test bin_tests)
+
+ $(meson_native_use_feature zlib)
+ $(meson_native_use_feature lzma)
+ $(meson_native_use_feature lz4)
+
+ --native-file "${native_file}"
+ )
+
+ meson_src_configure
+}
+
+multilib_src_install() {
+ meson_src_install
+
+ multilib_is_native_abi && gen_usr_ldscript -a zstd
+}
diff --git a/app-arch/zstd/zstd-1.5.6.ebuild b/app-arch/zstd/zstd-1.5.6.ebuild
new file mode 100644
index 000000000000..0b0fac3c180d
--- /dev/null
+++ b/app-arch/zstd/zstd-1.5.6.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="zstd fast compression library"
+HOMEPAGE="https://facebook.github.io/zstd/"
+SRC_URI="https://github.com/facebook/zstd/releases/download/v${PV}/${P}.tar.gz"
+S="${WORKDIR}"/${P}/build/meson
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+lzma lz4 static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ lzma? ( app-arch/xz-utils )
+ lz4? ( app-arch/lz4:= )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+
+MESON_PATCHES=(
+ # Workaround until Valgrind bugfix lands
+ "${FILESDIR}"/${PN}-1.5.4-no-find-valgrind.patch
+)
+
+PATCHES=(
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/${P} || die
+ default
+
+ cd "${S}" || die
+ eapply "${MESON_PATCHES[@]}"
+}
+
+multilib_src_configure() {
+ local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
+
+ # This replaces the no-find-valgrind patch once bugfix lands in a meson
+ # release + we can BDEPEND on it (https://github.com/mesonbuild/meson/pull/11372)
+ cat >> ${native_file} <<-EOF || die
+ [binaries]
+ valgrind='valgrind-falseified'
+ EOF
+
+ local emesonargs=(
+ -Ddefault_library=$(multilib_native_usex static-libs both shared)
+
+ $(meson_native_true bin_programs)
+ $(meson_native_true bin_contrib)
+ $(meson_use test bin_tests)
+
+ $(meson_native_use_feature zlib)
+ $(meson_native_use_feature lzma)
+ $(meson_native_use_feature lz4)
+
+ --native-file "${native_file}"
+ )
+
+ meson_src_configure
+}