diff options
Diffstat (limited to 'app-arch')
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 +} |