app-admin/testdisk: Fix incorrect slot-operators.
authorNicolas Bock <nicolasbock@gentoo.org>
Sat, 22 Aug 2015 11:53:35 +0000 (05:53 -0600)
committerNicolas Bock <nicolasbock@gentoo.org>
Sat, 22 Aug 2015 11:54:33 +0000 (05:54 -0600)
This addresses Bug 555058. I would like to thank the reporter
<josef.95@freenet.de> for noticing this problem and providing a first patch,
and <kensington@gentoo.org> for taking the time to address slot operators and
their correct use in great detail.

Package-Manager: portage-2.2.20.1

app-admin/testdisk/testdisk-6.14-r2.ebuild [new file with mode: 0644]
app-admin/testdisk/testdisk-7.0-r3.ebuild [new file with mode: 0644]

diff --git a/app-admin/testdisk/testdisk-6.14-r2.ebuild b/app-admin/testdisk/testdisk-6.14-r2.ebuild
new file mode 100644 (file)
index 0000000..067ea20
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils flag-o-matic
+
+DESCRIPTION="Checks and undeletes partitions + PhotoRec, signature based recovery tool"
+HOMEPAGE="http://www.cgsecurity.org/wiki/TestDisk"
+SRC_URI="http://www.cgsecurity.org/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="ewf jpeg ntfs reiserfs static qt4"
+
+REQUIRED_USE="static? ( !qt4 )"
+
+# WARNING: reiserfs support does NOT work with reiserfsprogs
+# you MUST use progsreiserfs-0.3.1_rc8 (the last version ever released).
+DEPEND="
+               static? (
+                       sys-apps/util-linux[static-libs]
+                       >=sys-libs/ncurses-5.2[static-libs]
+                       jpeg? ( virtual/jpeg:0[static-libs] )
+                       ntfs? ( sys-fs/ntfs3g[static-libs] )
+                       reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8[static-libs] )
+                       >=sys-fs/e2fsprogs-1.35[static-libs]
+                       sys-libs/zlib[static-libs]
+                       !arm? ( ewf? ( app-forensics/libewf:=[static-libs] ) )
+                       )
+               !static? (
+                       sys-apps/util-linux
+                       >=sys-libs/ncurses-5.2
+                       jpeg? ( virtual/jpeg:0 )
+                       ntfs? ( sys-fs/ntfs3g )
+                       reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8 )
+                       >=sys-fs/e2fsprogs-1.35
+                       sys-libs/zlib
+                       !arm? ( ewf? ( app-forensics/libewf:= ) )
+                       qt4? ( dev-qt/qtgui:4 )
+                       )"
+RDEPEND="!static? ( ${DEPEND} )"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+DOCS=( )
+PATCHES=( "${FILESDIR}/fix_rare_crash-6.14.patch" )
+
+src_configure() {
+       local myconf
+
+       # this is static method is the same used by upstream for their 'static' make
+       # target, but better, as it doesn't break.
+       use static && append-ldflags -static
+
+       # --with-foo are broken, any use of --with/--without disable the
+       # functionality.
+       # The following variation must be used.
+       use reiserfs || myconf+=" --without-reiserfs"
+       use ntfs || myconf+=" --without-ntfs --without-ntfs3g"
+       use jpeg || myconf+=" --without-jpeg"
+       use ewf || myconf+=" --without-ewf"
+       myconf+=$(usex qt4 " --enable-qt" " --disable-qt")
+
+       econf \
+               --docdir "${ROOT}/usr/share/doc/${P}" \
+               --enable-sudo \
+               ${myconf}
+
+       # perform safety checks for NTFS, REISERFS and JPEG
+       if use ntfs && ! egrep -q '^#define HAVE_LIBNTFS(3G)? 1$' "${S}"/config.h ; then
+               die "Failed to find either NTFS or NTFS-3G library."
+       fi
+       if use reiserfs && egrep -q 'undef HAVE_LIBREISERFS\>' "${S}"/config.h ; then
+               die "Failed to find reiserfs library."
+       fi
+       if use jpeg && egrep -q 'undef HAVE_LIBJPEG\>' "${S}"/config.h ; then
+               die "Failed to find jpeg library."
+       fi
+}
diff --git a/app-admin/testdisk/testdisk-7.0-r3.ebuild b/app-admin/testdisk/testdisk-7.0-r3.ebuild
new file mode 100644 (file)
index 0000000..b70f9bf
--- /dev/null
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils flag-o-matic
+
+DESCRIPTION="Checks and undeletes partitions + PhotoRec, signature based recovery tool"
+HOMEPAGE="http://www.cgsecurity.org/wiki/TestDisk"
+SRC_URI="http://www.cgsecurity.org/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86"
+IUSE="ewf jpeg ntfs reiserfs static qt4"
+
+REQUIRED_USE="static? ( !qt4 )"
+
+# WARNING: reiserfs support does NOT work with reiserfsprogs
+# you MUST use progsreiserfs-0.3.1_rc8 (the last version ever released).
+DEPEND="
+               static? (
+                       sys-apps/util-linux[static-libs]
+                       >=sys-libs/ncurses-5.2[static-libs]
+                       jpeg? ( virtual/jpeg:0[static-libs] )
+                       ntfs? ( sys-fs/ntfs3g[static-libs] )
+                       reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8[static-libs] )
+                       >=sys-fs/e2fsprogs-1.35[static-libs]
+                       sys-libs/zlib[static-libs]
+                       !arm? ( ewf? ( app-forensics/libewf:=[static-libs] ) )
+                       )
+               !static? (
+                       sys-apps/util-linux
+                       >=sys-libs/ncurses-5.2
+                       jpeg? ( virtual/jpeg:0 )
+                       ntfs? ( sys-fs/ntfs3g )
+                       reiserfs? ( >=sys-fs/progsreiserfs-0.3.1_rc8 )
+                       >=sys-fs/e2fsprogs-1.35
+                       sys-libs/zlib
+                       !arm? ( ewf? ( app-forensics/libewf:= ) )
+                       qt4? ( dev-qt/qtgui:4 )
+                       )"
+RDEPEND="!static? ( ${DEPEND} )"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+DOCS=( )
+
+src_configure() {
+       local myconf
+
+       # this is static method is the same used by upstream for their 'static' make
+       # target, but better, as it doesn't break.
+       use static && append-ldflags -static
+
+       # --with-foo are broken, any use of --with/--without disable the
+       # functionality.
+       # The following variation must be used.
+       use reiserfs || myconf+=" --without-reiserfs"
+       use ntfs || myconf+=" --without-ntfs --without-ntfs3g"
+       use jpeg || myconf+=" --without-jpeg"
+       use ewf || myconf+=" --without-ewf"
+       myconf+=$(usex qt4 " --enable-qt" " --disable-qt")
+
+       econf \
+               --docdir "${ROOT}/usr/share/doc/${P}" \
+               --enable-sudo \
+               ${myconf}
+
+       # perform safety checks for NTFS, REISERFS and JPEG
+       if use ntfs && ! egrep -q '^#define HAVE_LIBNTFS(3G)? 1$' "${S}"/config.h ; then
+               die "Failed to find either NTFS or NTFS-3G library."
+       fi
+       if use reiserfs && egrep -q 'undef HAVE_LIBREISERFS\>' "${S}"/config.h ; then
+               die "Failed to find reiserfs library."
+       fi
+       if use jpeg && egrep -q 'undef HAVE_LIBJPEG\>' "${S}"/config.h ; then
+               die "Failed to find jpeg library."
+       fi
+}