Gentoo Archives: gentoo-commits

From: Matthew Thode <prometheanfire@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-arch/p7zip/
Date: Wed, 01 Mar 2023 18:48:10
Message-Id: 1677696482.f985b6d49c967c4fc29597e9f564ff66c09764a5.prometheanfire@gentoo
1 commit: f985b6d49c967c4fc29597e9f564ff66c09764a5
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 1 18:47:48 2023 +0000
4 Commit: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 1 18:48:02 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f985b6d4
7
8 app-arch/p7zip: add 17.05
9
10 Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>
11
12 app-arch/p7zip/Manifest | 1 +
13 app-arch/p7zip/p7zip-17.05.ebuild | 142 ++++++++++++++++++++++++++++++++++++++
14 2 files changed, 143 insertions(+)
15
16 diff --git a/app-arch/p7zip/Manifest b/app-arch/p7zip/Manifest
17 index 29b37f25e4d4..7bb0c1b7e7ed 100644
18 --- a/app-arch/p7zip/Manifest
19 +++ b/app-arch/p7zip/Manifest
20 @@ -1 +1,2 @@
21 +DIST p7zip-17.05.tar.gz 6722048 BLAKE2B 3aa653b7875bb1b5ce96af7f7b8f4097860a9e5f0e172803fde6917ae4b7ef9c9e06d1daa31b7e33bb4ff91302972e8ece10f846bfa152fa6c783b234ac77ed3 SHA512 973fd906eaf376ca7d1d0738bb9aa137dcae3a6b17f974d3afc6bbb4efab4c7afa78e3dc9fbdf7b6d37630c9986ddaca7afc209ba18da1ed27944ee88a321a55
22 DIST p7zip_16.02_src_all.tar.bz2 4239909 BLAKE2B 075356fba5284cbb124e30c36364a910ae5a7ac6bee8a8fb682c5a7ce2f1870ef83d3160c84f8dabad1d616c13d642cba1f19fb9384160d21590cf678dd8f1a6 SHA512 d2c4d53817f96bb4c7683f42045198d4cd509cfc9c3e2cb85c8d9dc4ab6dfa7496449edeac4e300ecf986a9cbbc90bd8f8feef8156895d94617c04e507add55f
23
24 diff --git a/app-arch/p7zip/p7zip-17.05.ebuild b/app-arch/p7zip/p7zip-17.05.ebuild
25 new file mode 100644
26 index 000000000000..dc0b336a3d08
27 --- /dev/null
28 +++ b/app-arch/p7zip/p7zip-17.05.ebuild
29 @@ -0,0 +1,142 @@
30 +# Copyright 1999-2023 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=7
34 +
35 +WX_GTK_VER="3.0-gtk3"
36 +inherit multilib toolchain-funcs wrapper wxwidgets xdg
37 +
38 +DESCRIPTION="Port of 7-Zip archiver for Unix"
39 +HOMEPAGE="https://github.com/p7zip-project/p7zip"
40 +SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
41 +#S="${WORKDIR}/${PN}-${PV}"
42 +
43 +LICENSE="LGPL-2.1 rar? ( unRAR )"
44 +SLOT="0"
45 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
46 +IUSE="abi_x86_x32 doc kde +pch rar static wxwidgets"
47 +REQUIRED_USE="kde? ( wxwidgets )"
48 +
49 +RDEPEND="wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
50 +DEPEND="${RDEPEND}"
51 +BDEPEND="
52 + abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
53 + amd64? ( dev-lang/yasm )
54 + x86? ( dev-lang/nasm )"
55 +
56 +src_prepare() {
57 + default
58 +
59 + if ! use pch; then
60 + sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
61 + fi
62 +
63 + sed \
64 + -e 's|-m32 ||g' \
65 + -e 's|-m64 ||g' \
66 + -e 's|-pipe||g' \
67 + -e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
68 + -e "/CFLAGS=/s|=|+=|" \
69 + -e "/CXXFLAGS=/s|=|+=|" \
70 + -i makefile* || die
71 +
72 + # remove non-free RAR codec
73 + if use rar; then
74 + ewarn "Enabling nonfree RAR decompressor"
75 + else
76 + sed \
77 + -e '/Rar/d' \
78 + -e '/RAR/d' \
79 + -i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
80 + rm -r CPP/7zip/Compress/Rar || die
81 + fi
82 +
83 + if use abi_x86_x32; then
84 + sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
85 + cp -f makefile.linux_amd64_asm makefile.machine || die
86 + elif use amd64; then
87 + cp -f makefile.linux_amd64_asm makefile.machine || die
88 + elif use x86; then
89 + cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
90 + elif [[ ${CHOST} == *-darwin* ]] ; then
91 + # Mac OS X needs this special makefile, because it has a non-GNU
92 + # linker, it doesn't matter so much for bitwidth, for it doesn't
93 + # do anything with it
94 + cp -f makefile.macosx_llvm_64bits makefile.machine || die
95 + # bundles have extension .bundle but don't die because USE=-rar
96 + # removes the Rar directory
97 + sed -i -e '/strcpy(name/s/\.so/.bundle/' \
98 + CPP/Windows/DLL.cpp || die
99 + sed -i -e '/^PROG=/s/\.so/.bundle/' \
100 + CPP/7zip/Bundles/Format7zFree/makefile.list \
101 + $(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
102 + fi
103 +
104 + if use static; then
105 + sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
106 + fi
107 +
108 + if use kde || use wxwidgets; then
109 + setup-wxwidgets unicode
110 + einfo "Preparing dependency list"
111 + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" depend
112 + fi
113 +}
114 +
115 +src_compile() {
116 + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
117 + if use kde || use wxwidgets; then
118 + emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -- 7zG
119 + fi
120 +}
121 +
122 +src_test() {
123 + emake test test_7z test_7zr
124 +}
125 +
126 +src_install() {
127 + # these wrappers cannot be symlinks, p7zip should be called with full path
128 + make_wrapper 7zr /usr/$(get_libdir)/p7zip/7zr
129 + make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
130 + make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
131 +
132 + if use kde || use wxwidgets; then
133 + make_wrapper 7zG /usr/$(get_libdir)/p7zip/7zG
134 +
135 + dobin GUI/p7zipForFilemanager
136 + exeinto /usr/$(get_libdir)/p7zip
137 + doexe bin/7zG
138 +
139 + insinto /usr/$(get_libdir)/p7zip
140 + doins -r GUI/Lang
141 +
142 + insinto /usr/share/icons/hicolor/16x16/apps/
143 + newins GUI/p7zip_16_ok.png p7zip.png
144 +
145 + if use kde; then
146 + rm GUI/kde4/p7zip_compress.desktop || die
147 + insinto /usr/share/kservices5/ServiceMenus
148 + doins GUI/kde4/*.desktop
149 + fi
150 + fi
151 +
152 + dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
153 + doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
154 +
155 + exeinto /usr/$(get_libdir)/p7zip
156 + doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
157 + doexe bin/*$(get_modname)
158 + if use rar; then
159 + exeinto /usr/$(get_libdir)/p7zip/Codecs
160 + doexe bin/Codecs/*$(get_modname)
161 + fi
162 +
163 + doman man1/7z.1 man1/7za.1 man1/7zr.1
164 +
165 + dodoc ChangeLog README TODO
166 + if use doc; then
167 + dodoc DOC/*.txt
168 + docinto html
169 + dodoc -r DOC/MANUAL/.
170 + fi
171 +}