Diff p7zip-16.02-r8 with a p7zip-17.05-r1

/usr/portage/app-arch/p7zip/p7zip-17.05-r1.ebuild 2024-12-25 14:59:47.035270038 +0300
1 1
# Copyright 1999-2024 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=7
4
EAPI=8
5 5

  
6
WX_GTK_VER="3.0-gtk3"
7
inherit multilib toolchain-funcs wrapper wxwidgets xdg
6
inherit multilib toolchain-funcs wrapper xdg
8 7

  
9 8
DESCRIPTION="Port of 7-Zip archiver for Unix"
10
HOMEPAGE="http://p7zip.sourceforge.net/"
11
SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV}_src_all.tar.bz2"
12
S="${WORKDIR}/${PN}_${PV}"
9
HOMEPAGE="https://github.com/p7zip-project/p7zip"
10
SRC_URI="https://github.com/p7zip-project/p7zip/archive/v${PV}.tar.gz -> ${P}.tar.gz"
13 11

  
14 12
LICENSE="LGPL-2.1 rar? ( unRAR )"
15 13
SLOT="0"
16
KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
17
IUSE="abi_x86_x32 kde +pch rar static wxwidgets"
18
REQUIRED_USE="kde? ( wxwidgets )"
14
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
15
IUSE="abi_x86_x32 natspec +pch rar test"
19 16

  
20
RDEPEND="wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
17
REQUIRED_USE="test? ( rar )" # bug 907221
18
RESTRICT="!test? ( test )"
19

  
20
RDEPEND="natspec? ( dev-libs/libnatspec )"
21 21
DEPEND="${RDEPEND}"
22 22
BDEPEND="
23 23
	abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
24 24
	amd64? ( dev-lang/yasm )
25 25
	x86? ( dev-lang/nasm )"
26 26

  
27
PATCHES=(
28
	"${FILESDIR}"/${P}-darwin.patch
29
	"${FILESDIR}"/CVE-2016-9296.patch
30
	"${FILESDIR}"/CVE-2017-17969.patch
31
	"${FILESDIR}"/CVE-2018-5996.patch
32
	"${FILESDIR}"/CVE-2018-10115.patch
33
	"${FILESDIR}"/WimHandler.cpp.patch
34
)
27
PATCHES=( "${FILESDIR}/p7zip-17.05-unit64.patch" )
35 28

  
36 29
src_prepare() {
37 30
	default
38 31

  
32
	if use natspec; then
33
		eapply "${FILESDIR}"/${P}-natspec.patch
34
		sed -i '/^LOCAL_LIBS/s/$/ -lnatspec/' makefile.* || die
35
	fi
36

  
39 37
	if ! use pch; then
40 38
		sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
41 39
	fi
......
50 48
		-i makefile* || die
51 49

  
52 50
	# remove non-free RAR codec
53
	if use rar; then
54
		ewarn "Enabling nonfree RAR decompressor"
55
	else
51
	if ! use rar; then
56 52
		sed \
57 53
			-e '/Rar/d' \
58 54
			-e '/RAR/d' \
......
62 58

  
63 59
	if use abi_x86_x32; then
64 60
		sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
65
		cp -f makefile.linux_amd64_asm makefile.machine || die
61
		cp makefile.linux_amd64_asm makefile.machine || die
66 62
	elif use amd64; then
67
		cp -f makefile.linux_amd64_asm makefile.machine || die
63
		cp makefile.linux_amd64_asm makefile.machine || die
68 64
	elif use x86; then
69
		cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
65
		cp makefile.linux_x86_asm_gcc_4.X makefile.machine || die
70 66
	elif [[ ${CHOST} == *-darwin* ]] ; then
71 67
		# Mac OS X needs this special makefile, because it has a non-GNU
72 68
		# linker, it doesn't matter so much for bitwidth, for it doesn't
73 69
		# do anything with it
74
		cp -f makefile.macosx_llvm_64bits makefile.machine || die
70
		cp makefile.macosx_llvm_64bits makefile.machine || die
75 71
		# bundles have extension .bundle but don't die because USE=-rar
76 72
		# removes the Rar directory
77 73
		sed -i -e '/strcpy(name/s/\.so/.bundle/' \
......
80 76
			CPP/7zip/Bundles/Format7zFree/makefile.list \
81 77
			$(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
82 78
	fi
83

  
84
	if use static; then
85
		sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
86
	fi
87

  
88
	if use kde || use wxwidgets; then
89
		setup-wxwidgets unicode
90
		einfo "Preparing dependency list"
91
		emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" depend
92
	fi
93 79
}
94 80

  
95 81
src_compile() {
96 82
	emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" all3
97
	if use kde || use wxwidgets; then
98
		emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" -- 7zG
99
	fi
100 83
}
101 84

  
102 85
src_test() {
......
109 92
	make_wrapper 7za /usr/$(get_libdir)/p7zip/7za
110 93
	make_wrapper 7z /usr/$(get_libdir)/p7zip/7z
111 94

  
112
	if use kde || use wxwidgets; then
113
		make_wrapper 7zG /usr/$(get_libdir)/p7zip/7zG
114

  
115
		dobin GUI/p7zipForFilemanager
116
		exeinto /usr/$(get_libdir)/p7zip
117
		doexe bin/7zG
118

  
119
		insinto /usr/$(get_libdir)/p7zip
120
		doins -r GUI/Lang
121

  
122
		insinto /usr/share/icons/hicolor/16x16/apps/
123
		newins GUI/p7zip_16_ok.png p7zip.png
124

  
125
		if use kde; then
126
			rm GUI/kde4/p7zip_compress.desktop || die
127
			insinto /usr/share/kservices5/ServiceMenus
128
			doins GUI/kde4/*.desktop
129
		fi
130
	fi
131

  
132 95
	dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
133 96
	doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
134 97

  
Thank you!