Diff dd-rescue-1.99.13-r1 with a dd-rescue-1.99.17

/usr/portage/sys-fs/dd-rescue/dd-rescue-1.99.17.ebuild 2025-02-03 17:39:35.938678022 +0300
1
# Copyright 1999-2024 Gentoo Authors
1
# Copyright 1999-2025 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4 4
EAPI=8
......
11 11
DESCRIPTION="Similar to dd but can copy from source with errors"
12 12
HOMEPAGE="http://www.garloff.de/kurt/linux/ddrescue/"
13 13
SRC_URI="http://www.garloff.de/kurt/linux/ddrescue/${MY_P}.tar.bz2"
14
S="${WORKDIR}/${MY_P}"
14 15

  
15
LICENSE="GPL-2"
16
LICENSE="|| ( GPL-2 GPL-3 )"
16 17
SLOT="0"
17
KEYWORDS="amd64 ~arm ~arm64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
18
IUSE="cpu_flags_x86_avx2 lzo cpu_flags_x86_sse4_2 static xattr"
18
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
19
IUSE="cpu_flags_x86_avx2 lzo lzma cpu_flags_x86_sse4_2 static test xattr"
20
RESTRICT="!test? ( test )"
19 21

  
20 22
RDEPEND="
21 23
	lzo? ( dev-libs/lzo )
22 24
	xattr? ( sys-apps/attr )
23 25
"
24 26
DEPEND="${RDEPEND}"
25

  
26
S="${WORKDIR}/${MY_P}"
27

  
28
PATCHES=(
29
	"${FILESDIR}"/${PN}-1.99.13-musl.patch
30
)
27
BDEPEND="
28
	test? (
29
		lzo? (
30
			app-arch/lzop
31
		)
32
	)
33
"
31 34

  
32 35
src_prepare() {
33 36
	default
......
53 56
}
54 57

  
55 58
src_configure() {
56
	# configure tests for the existence of fallocate64; if it can't find
57
	# it it replaces it with a wrapper incompatible with musl... /o\
58
	# we force it to assume its existence and then tell everyone to
59
	# supply the *64 interface... bug 920159
60
	# this workaround will stop working around once musl drops the *64 functions.
61

  
62 59
	use static && append-ldflags -static
60

  
63 61
	# OpenSSL is only used by a random helper tool we don't install.
64
	ac_cv_header_attr_xattr_h=$(usex xattr) \
65
	ac_cv_header_openssl_evp_h=no \
66
	ac_cv_lib_crypto_EVP_aes_192_ctr=no \
67
	ac_cv_lib_lzo2_lzo1x_1_compress=$(usex lzo) \
68
	ac_cv_header_lzo_lzo1x_h=$(usex lzo) \
69
	ac_cv_func_fallocate64=yes \
62
	export ac_cv_header_attr_xattr_h=$(usex xattr)
63
	export ac_cv_header_openssl_evp_h=no
64
	export ac_cv_lib_crypto_EVP_aes_192_ctr=no
65
	export ac_cv_lib_lzo2_lzo1x_1_compress=$(usex lzo)
66
	export ac_cv_header_lzo_lzo1x_h=$(usex lzo)
67
	export ac_cv_header_lzma_h=$(usex lzma)
68
	export ac_cv_lib_lzma_lzma_easy_encoder=$(usex lzma)
70 69
	econf
71 70
}
72 71

  
73 72
_emake() {
74 73
	local arch
75 74
	case ${ARCH} in
76
	x86)   arch=i386;;
77
	amd64) arch=x86_64;;
78
	arm)   arch=arm;;
79
	arm64) arch=aarch64;;
75
		x86)   arch=i386;;
76
		amd64) arch=x86_64;;
77
		arm)   arch=arm;;
78
		arm64) arch=aarch64;;
80 79
	esac
81 80

  
82 81
	local os=$(usex kernel_linux Linux IDK)
83 82

  
84
	# The Makefile is a mess.  Override a few vars rather than patch it.
83
	# HAVE_LZO is special as it's checked for emptiness in test_crypt.sh.
84
	# We could try make RDRND and friends controlled via USE but it's too brittle,
85
	# see bug #947105.
85 86
	emake \
86 87
		MACH="${arch}" \
87 88
		OS="${os}" \
88 89
		HAVE_SSE42=$(usex cpu_flags_x86_sse4_2 1 0) \
89 90
		HAVE_AVX2=$(usex cpu_flags_x86_avx2 1 0) \
90
		RPM_OPT_FLAGS="${CFLAGS} ${CPPFLAGS} -D_LARGEFILE64_SOURCE" \
91
		HAVE_LZMA=$(usex lzma 1 0) \
92
		HAVE_LZO=$(usev lzo 1) \
93
		HAVE_OPENSSL=0 \
94
		RPM_OPT_FLAGS="${CFLAGS} ${CPPFLAGS}" \
91 95
		CFLAGS_OPT='$(CFLAGS)' \
92 96
		LDFLAGS="${LDFLAGS} -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/${PN}" \
93 97
		CC="$(tc-getCC)" \
......
99 103
}
100 104

  
101 105
src_test() {
102
	append-cflags -fcommon # bug #707796
106
	if ! use lzo ; then
107
		sed -i \
108
			-e '/^LZOP=/s:LZOP=.*:LZOP=:' \
109
			-e '/^LZOP=/a exit 0' \
110
			test_lzo.sh || die
111
	fi
112

  
103 113
	_emake check
104 114
}
105 115

  
Thank you!