summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/dd-rescue/Manifest1
-rw-r--r--sys-fs/dd-rescue/dd-rescue-1.99.12.ebuild101
2 files changed, 102 insertions, 0 deletions
diff --git a/sys-fs/dd-rescue/Manifest b/sys-fs/dd-rescue/Manifest
index 8cf0f92b7681..269fad7c0926 100644
--- a/sys-fs/dd-rescue/Manifest
+++ b/sys-fs/dd-rescue/Manifest
@@ -1,2 +1,3 @@
DIST dd_rescue-1.99.11.tar.bz2 181927 BLAKE2B 8cd4db6cb8d85962e4cea50b0006fdbe5f085fbcf7bdbfe4d0fab1fe33412c1379317f54429c76ed1d905e32d5e791869fa27f2f14917cb1c3842fc6caca2a12 SHA512 e1d32711421ebbafd80fd210718667ff8c2d22b5349945105b3e4c29d54d381385b1fd188b2d8aa1b7a0aaf2cc9d8f7374373cff3992726a3d17549ca50f3904
+DIST dd_rescue-1.99.12.tar.bz2 181798 BLAKE2B 547910af7ac5dde360179dbd75bed36e6420dda162a41f9bb60a454f5c6629d6a1be9b15240ce3d0e7b80e09c660a87765e826909614b037a506ad775b71041f SHA512 61f4f09e7e8442049634c5a5659f887cf82b16bc8b768c0aa79774e18feac6e91fbc258e5a6c8c3cac0577fadbdd26206261cf6c99b3980f763a1b584fb46001
DIST dd_rescue-1.99.8.tar.bz2 174594 BLAKE2B 51e62989bf6318cb5926f30bc1db746bddd41fb49aab15dc2b1c67e0af079469161d390ba4e1e109d195249b3aace3aa830a3aec14ba534eb47f38c0136f910c SHA512 a230e1df4532671ea631036012dd1e38614e45bed58b00757f0017b0ea60f14ac3bdac07777d175aa4929def593b3c8485e463b1fc25b5067adf4cf3f3ac040d
diff --git a/sys-fs/dd-rescue/dd-rescue-1.99.12.ebuild b/sys-fs/dd-rescue/dd-rescue-1.99.12.ebuild
new file mode 100644
index 000000000000..71b861626147
--- /dev/null
+++ b/sys-fs/dd-rescue/dd-rescue-1.99.12.ebuild
@@ -0,0 +1,101 @@
+# 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
+
+MY_PN="${PN/-/_}"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Similar to dd but can copy from source with errors"
+HOMEPAGE="http://www.garloff.de/kurt/linux/ddrescue/"
+SRC_URI="http://www.garloff.de/kurt/linux/ddrescue/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cpu_flags_x86_avx2 lzo cpu_flags_x86_sse4_2 static xattr"
+
+RDEPEND="lzo? ( dev-libs/lzo )
+ xattr? ( sys-apps/attr )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ default
+
+ if ! use cpu_flags_x86_sse4_2; then
+ sed -i \
+ -e 's:^CC_FLAGS_CHECK(-msse4.2,SSE42):#&:' \
+ configure.ac || die
+ fi
+
+ if ! use cpu_flags_x86_avx2; then
+ sed -i \
+ -e 's:^CC_FLAGS_CHECK(-mavx2,AVX2):#&:' \
+ configure.ac || die
+ fi
+
+ eautoreconf
+
+ sed -i \
+ -e 's:\(-ldl\):$(LDFLAGS) \1:' \
+ -e 's:\(-shared\):$(CFLAGS) $(LDFLAGS) \1:' \
+ Makefile || die
+}
+
+src_configure() {
+ use static && append-ldflags -static
+ # OpenSSL is only used by a random helper tool we don't install.
+ ac_cv_header_attr_xattr_h=$(usex xattr) \
+ ac_cv_header_openssl_evp_h=no \
+ ac_cv_lib_crypto_EVP_aes_192_ctr=no \
+ ac_cv_lib_lzo2_lzo1x_1_compress=$(usex lzo) \
+ ac_cv_header_lzo_lzo1x_h=$(usex lzo) \
+ econf
+}
+
+_emake() {
+ local arch
+ case ${ARCH} in
+ x86) arch=i386;;
+ amd64) arch=x86_64;;
+ arm) arch=arm;;
+ arm64) arch=aarch64;;
+ esac
+
+ local os=$(usex kernel_linux Linux IDK)
+
+ # The Makefile is a mess. Override a few vars rather than patch it.
+ emake \
+ MACH="${arch}" \
+ OS="${os}" \
+ HAVE_SSE42=$(usex cpu_flags_x86_sse4_2 1 0) \
+ HAVE_AVX2=$(usex cpu_flags_x86_avx2 1 0) \
+ RPM_OPT_FLAGS="${CFLAGS} ${CPPFLAGS}" \
+ CFLAGS_OPT='$(CFLAGS)' \
+ LDFLAGS="${LDFLAGS} -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/${PN}" \
+ CC="$(tc-getCC)" \
+ "$@"
+}
+
+src_compile() {
+ _emake
+}
+
+src_test() {
+ append-cflags -fcommon # bug 707796
+ _emake check
+}
+
+src_install() {
+ # easier to install by hand than trying to make sense of the Makefile.
+ dobin dd_rescue
+ dodir /usr/$(get_libdir)/${PN}
+ cp -pPR libddr_*.so "${ED}"/usr/$(get_libdir)/${PN}/ || die
+ dodoc README.dd_rescue
+ doman dd_rescue.1
+ use lzo && doman ddr_lzo.1
+}