commit:     f985b6d49c967c4fc29597e9f564ff66c09764a5
Author:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  1 18:47:48 2023 +0000
Commit:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Wed Mar  1 18:48:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f985b6d4

app-arch/p7zip: add 17.05

Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>

 app-arch/p7zip/Manifest           |   1 +
 app-arch/p7zip/p7zip-17.05.ebuild | 142 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 143 insertions(+)

diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
index 29b37f25e4d4..7bb0c1b7e7ed 100644
--- a/app-arch/p7zip/Manifest
+++ b/app-arch/p7zip/Manifest
@@ -1 +1,2 @@
+DIST p7zip-17.05.tar.gz 6722048 BLAKE2B 
3aa653b7875bb1b5ce96af7f7b8f4097860a9e5f0e172803fde6917ae4b7ef9c9e06d1daa31b7e33bb4ff91302972e8ece10f846bfa152fa6c783b234ac77ed3
 SHA512 
973fd906eaf376ca7d1d0738bb9aa137dcae3a6b17f974d3afc6bbb4efab4c7afa78e3dc9fbdf7b6d37630c9986ddaca7afc209ba18da1ed27944ee88a321a55
 DIST p7zip_16.02_src_all.tar.bz2 4239909 BLAKE2B 
075356fba5284cbb124e30c36364a910ae5a7ac6bee8a8fb682c5a7ce2f1870ef83d3160c84f8dabad1d616c13d642cba1f19fb9384160d21590cf678dd8f1a6
 SHA512 
d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa7496449edeac4e300ecf986a9cbbc90bd8f8feef8156895d94617c04e507add55f

diff --git a/app-arch/p7zip/p7zip-17.05.ebuild 
b/app-arch/p7zip/p7zip-17.05.ebuild
new file mode 100644
index 000000000000..dc0b336a3d08
--- /dev/null
+++ b/app-arch/p7zip/p7zip-17.05.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+WX_GTK_VER="3.0-gtk3"
+inherit multilib toolchain-funcs wrapper wxwidgets 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 ~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"
+REQUIRED_USE="kde? ( wxwidgets )"
+
+RDEPEND="wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
+       amd64? ( dev-lang/yasm )
+       x86? ( dev-lang/nasm )"
+
+src_prepare() {
+       default
+
+       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
+               ewarn "Enabling nonfree RAR decompressor"
+       else
+               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
+
+       if use kde || use wxwidgets; then
+               setup-wxwidgets unicode
+               einfo "Preparing dependency list"
+               emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" depend
+       fi
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
+       if use kde || use wxwidgets; then
+               emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -- 7zG
+       fi
+}
+
+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
+
+       if use kde || use wxwidgets; then
+               make_wrapper 7zG /usr/$(get_libdir)/p7zip/7zG
+
+               dobin GUI/p7zipForFilemanager
+               exeinto /usr/$(get_libdir)/p7zip
+               doexe bin/7zG
+
+               insinto /usr/$(get_libdir)/p7zip
+               doins -r GUI/Lang
+
+               insinto /usr/share/icons/hicolor/16x16/apps/
+               newins GUI/p7zip_16_ok.png p7zip.png
+
+               if use kde; then
+                       rm GUI/kde4/p7zip_compress.desktop || die
+                       insinto /usr/share/kservices5/ServiceMenus
+                       doins GUI/kde4/*.desktop
+               fi
+       fi
+
+       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
+       if use doc; then
+               dodoc DOC/*.txt
+               docinto html
+               dodoc -r DOC/MANUAL/.
+       fi
+}

Reply via email to