forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-forensics/sleuthkit: bump to 4.8.0
Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Göktürk Yüksek <[email protected]>
- Loading branch information
Showing
2 changed files
with
294 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,12 @@ | ||
DIST SparseBitSet-1.1.jar 23706 BLAKE2B 8623a723f11f97386a108c775fefddd324997b68bea7f7ade0581ec5800bfa8d32f699ab903ad66c631b7b5c69ba1ef377243653f5044f39234dac07543eb129 SHA512 cf75431c5f705961800ce5cbca2acb9b2459eaf98ec37b5ee21c5a90d204ffb466fa25457b0560fbb024489777efbea0276201024c7b1b2853124930ac490983 | ||
DIST gson-2.8.5.jar 241622 BLAKE2B b13887177b5d5f2a11b2dde1fdbaa3a95b55bb7b5500624c7eb0745e861c897ed1e27868bad19d30a1670c90f3068a8fd40e1b81e5e25e96819fa5c371a5e1af SHA512 5dd7214c542a7b93aab3eab0ba13e4ac3d6ddb05c795fb6d3992e21925a98dce87cb186ac67b4d3ad146f96e14d38b3892837eca57a27b4e845aca6d4e4f708a | ||
DIST libewf-20130128.tar.gz 1978794 BLAKE2B e5d2bd8f4a8b878e13536b89b032d8cee6982272065b2bf325f8a811dff258264118a79496912377337ceb9ad630138b6bedb89e3c3be89a5f6a6fea85ab586b SHA512 94cdd0c3f0d8f535f3462c5adba266302f9b129abacda077ed429fa38af6862fca5a90ba2e606b78607b509769305cc6134c483c7033c20e226596cca2d42b90 | ||
DIST sleuthkit-4.5.0.tar.gz 8611141 BLAKE2B a1ae66bfcb74ce1fec24f80dfe60cd68f1de53119331c38848f7f82de8052eda49d78fdea49e42ada5843094939ef212dece42a5ceb85931a79e02adccda30e6 SHA512 911890cacca739f121681514197104cb2dc3bd219f3e068c4ce61264498c56989359976fc75172e1f456c94e4e25c6206413b0234c36e55736a577b8e664e4b3 | ||
DIST sleuthkit-4.6.5.tar.gz 8658866 BLAKE2B 29b75c96a14c5d42522e7116a80cc368c8097fa43af27c0e958215142d6ee61131c7b154fb876fa3ea9c727e8100de9bd703dfd8cef9ccce1f6602222c8470fa SHA512 ba21be166da1a7bdd197946722a1e0947f90bbb2c27d635cdfbcbc870aa42937fe6b42f432482f70a5e686942c8891d0367b5ce28615315d8905661e73aefe32 | ||
DIST sleuthkit-4.6.6.tar.gz 8668433 BLAKE2B 49594dd329e7c67c473130659bbdab02d448e15974d0ba35a9b999dc54df06f674cfb2a4916ff7b53879c00b387c3915e21aa67fe5656556f65b121b308a516c SHA512 42eba3d420fcdb37966c70bd158ff379292bf6e0366cf9b4c43b7e0d1fa4d729d1a31c49ddc7ce17bd6c31d63ddc34251ec53878714274c910db2b6974e17f19 | ||
DIST sleuthkit-4.6.7.tar.gz 8672554 BLAKE2B def0bc3cd4c1ae1485efe683f581209b2c57bdcb1009bdd0b81cff284b6d3cb221a85ef12012a360bf2c07f84f12a6741ab2281cd0f51ecaff4685b84bf0ea1f SHA512 5b2000960a054fd947acb214532076a369d788914a8ff141c9a2d1b8a69e001c891b1e4b8dd40f94d96810a436e240e5a76e9f90ccab462888fad789c1181cc6 | ||
DIST sleuthkit-4.7.0.tar.gz 8715010 BLAKE2B cdbe4ff4d3a4f6606dec9fc7dc867c9186fc628cba02ea21240875b5da0b1c61c65f9d68b8059651026f06bfd2976bc10d3077cf765083ef97c631af85e27c62 SHA512 bd39101f89615485c17d72836689ee14cf1199c26f2a84a56c4a127d6ced1acf091ff8a4bd373acd970c8a88e3625edc3f6e7d028f292f74439590b11c15be80 | ||
DIST sleuthkit-4.8.0.tar.gz 10176958 BLAKE2B 65922a680e32effaedf669d076a242facbea98c6f53df841936bcd8b65a903309265c8a3e74bccd8e4d2694c8d10cb700079fc4499fcd82f02a27fedd38a446e SHA512 6dd225225c59013c128015f9b71b73bb82ba21887a695f8bc7325e1d11e2471d6e364077631b8d543c8c25ce9781470893f37998c38151347bb96d258f13ccc7 | ||
DIST sleuthkit-libewf_64bit-20130416.tar.gz 23818247 BLAKE2B 23be933ed8a74e4834ee6571a28d81ba16e98e4e4e27b5b1b3b655d1d92a6eadcba35aadf96aa404e6e0a225b27f3f5daff2836879b87fe58440a3ad5645de44 SHA512 611cbb57de17600caee0330bbe9917c4481d7711a35dba8c072fd49cd3e1714e0a3ce30fd8fcac9981db848e80870bf5d215326c56808bb6f5b4c8dcc1e5a3c9 | ||
DIST sqlite-jdbc-3.25.2.jar 7064881 BLAKE2B 3917da6127137bab710a9e61f326f59320ce94654ebb8ae5e694b05aed6b9b1bd367ade2f08ce5bb52c3ac296992240ad949969f5eff712615d07a18588c6a17 SHA512 efd1ea26d7f4f9bc66bf0d5f80234a0c535829bd498e4c5a0cab42873b58ac69133497d8c45689a1d3a39e657a2d0474d6b930c7bc415dd623801ee4a7354ffb | ||
DIST sqlite-jdbc-3.8.11.jar 5131732 BLAKE2B 1a04fa9e9cb97fdddc19af2de9efa7b54c0b527642e6e325e31054e4e294e3bc6af00ea291087ed9dd26668d48dae356035fc85212c0eb81656550d552103ed0 SHA512 5f4705101992e8916e29742c560aef0d01eba9dc0d2d984b75a77e56be3c9fd20b284390fe8f9bb54bf9d1f8528c3413922684c446212ca8961ac731543fb179 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,292 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
JAVA_PKG_BSFIX_NAME="build.xml build-unix.xml" | ||
inherit autotools java-pkg-opt-2 java-ant-2 | ||
|
||
DESCRIPTION="A collection of file system and media management forensic analysis tools" | ||
HOMEPAGE="https://www.sleuthkit.org/sleuthkit/" | ||
# TODO: sqlite-jdbc does not exist in the tree, we bundle it for now | ||
# See: https://bugs.gentoo.org/690010 | ||
# TODO: SparseBitSet does not exist in the tree, we bundle it for now | ||
# See: https://bugs.gentoo.org/690012 | ||
# TODO: Upstream uses a very specific version of libewf which is not in | ||
# the tree anymore. So we statically compile and link to sleuthkit. | ||
# Hopefully upstream will figure something out in the future. | ||
# See: https://bugs.gentoo.org/689752 | ||
# TODO: gson-2.8.5 does not exist in the tree. Building it seems to | ||
# require Java 9. We have Java 11 in the tree but I don't see a | ||
# way to use it as a gentoo-vm in order to build gson. Sleuthkit | ||
# upstream still uses Java 8. | ||
# See: https://bugs.gentoo.org/706274 | ||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz | ||
java? ( | ||
https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar | ||
http://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.25.2/sqlite-jdbc-3.25.2.jar | ||
http://repo1.maven.org/maven2/com/zaxxer/SparseBitSet/1.1/SparseBitSet-1.1.jar | ||
) | ||
ewf? ( https://github.com/sleuthkit/libewf_64bit/archive/VisualStudio_2010.tar.gz -> sleuthkit-libewf_64bit-20130416.tar.gz )" | ||
|
||
LICENSE="BSD CPL-1.0 GPL-2+ IBM java? ( Apache-2.0 )" | ||
SLOT="0/13" # subslot = major soname version | ||
KEYWORDS="~amd64 ~hppa ~ppc ~x86" | ||
IUSE="aff doc ewf java postgres static-libs test +threads zlib" | ||
RESTRICT="!test? ( test )" | ||
|
||
# | ||
# Note: It is not possible to move the dep on dev-java/jdbc-postgresql | ||
# inside a conditional postgres? block because java sources import | ||
# org.postgres unconditionally as of writing this (version 4.6.4). The | ||
# postgres USE flag will be used for the TSK postgresql support however. | ||
# | ||
DEPEND=" | ||
dev-db/sqlite:3 | ||
dev-lang/perl:* | ||
aff? ( app-forensics/afflib ) | ||
ewf? ( sys-libs/zlib ) | ||
java? ( | ||
>=dev-java/c3p0-0.9.5:0 | ||
dev-java/commons-lang:3.1 | ||
dev-java/guava:20 | ||
>=dev-java/jdbc-postgresql-9.4:0 | ||
>=dev-java/joda-time-2.4:0 | ||
) | ||
postgres? ( dev-db/postgresql:= ) | ||
zlib? ( sys-libs/zlib ) | ||
" | ||
# TODO: add support for not-in-tree libraries libvhdi and libvmdk | ||
# libvhdi: https://github.com/libyal/libvhdi | ||
# libvmdk: https://github.com/libyal/libvmdk | ||
# DEPEND="${DEPEND} | ||
# vhdi? ( dev-libs/libvhdi ) | ||
# vmdk? ( dev-libs/libvmdk ) | ||
# " | ||
|
||
RDEPEND="${DEPEND} | ||
java? ( | ||
|| ( | ||
virtual/jre:1.8 | ||
virtual/jdk:1.8 | ||
) | ||
) | ||
" | ||
DEPEND="${DEPEND} | ||
java? ( virtual/jdk:1.8 ) | ||
doc? ( app-doc/doxygen ) | ||
test? ( >=dev-util/cppunit-1.2.1 ) | ||
" | ||
|
||
PATCHES=( | ||
"${FILESDIR}"/${PN}-4.1.0-tools-shared-libs.patch | ||
"${FILESDIR}"/${PN}-4.6.4-default-jar-location-fix.patch | ||
) | ||
|
||
src_unpack() { | ||
local f | ||
|
||
unpack ${P}.tar.gz | ||
|
||
if use ewf; then | ||
pushd "${T}" &>/dev/null || die | ||
unpack sleuthkit-libewf_64bit-20130416.tar.gz | ||
export TSK_LIBEWF_SRCDIR="${T}"/libewf_64bit-VisualStudio_2010 | ||
popd &>/dev/null || die | ||
fi | ||
|
||
# Copy the jar files that don't exist in the tree yet | ||
if use java; then | ||
TSK_JAR_DIR="${T}/lib" | ||
mkdir "${TSK_JAR_DIR}" || die | ||
for f in ${A}; do | ||
if [[ ${f} =~ .jar$ ]]; then | ||
cp "${DISTDIR}"/"${f}" "${TSK_JAR_DIR}" || die | ||
fi | ||
done | ||
export TSK_JAR_DIR | ||
fi | ||
} | ||
|
||
tsk_prepare_libewf() { | ||
# Inlining breaks the compilation, disable it | ||
sed -e 's/LIBUNA_INLINE inline/LIBUNA_INLINE/' \ | ||
-i "${TSK_LIBEWF_SRCDIR}"/libuna/libuna_inline.h || die | ||
} | ||
|
||
src_prepare() { | ||
use ewf && tsk_prepare_libewf | ||
|
||
if use java; then | ||
pushd "${S}"/bindings/java &>/dev/null || die | ||
|
||
# Prevent "make install" from installing | ||
# jar files under /usr/share/java | ||
# We'll use the java eclasses for this | ||
# See: https://github.com/sleuthkit/sleuthkit/pull/1379 | ||
sed -e '/^jar_DATA/ d;' -i Makefile.am || die | ||
|
||
java-pkg-opt-2_src_prepare | ||
|
||
popd &>/dev/null || die | ||
fi | ||
|
||
# Override the doxygen output directories | ||
if use doc; then | ||
sed -e "/^OUTPUT_DIRECTORY/ s|=.*$|= ${T}/doc|" \ | ||
-i tsk/docs/Doxyfile \ | ||
-i bindings/java/doxygen/Doxyfile || die | ||
fi | ||
|
||
# It's safe to call this even after java-pkg-opt-2_src_prepare | ||
# because future calls to eapply_user do nothing and return 0 | ||
default | ||
|
||
eautoreconf | ||
} | ||
|
||
tsk_compile_libewf() { | ||
local myeconfargs=( | ||
--prefix=/ | ||
--libdir=/lib | ||
--enable-static | ||
--disable-shared | ||
--disable-winapi | ||
--without-libbfio | ||
--with-zlib | ||
--without-bzip2 | ||
--without-libhmac | ||
--without-openssl | ||
--without-libuuid | ||
--without-libfuse | ||
|
||
--with-libcstring=no | ||
--with-libcerror=no | ||
--with-libcdata=no | ||
--with-libclocale=no | ||
--with-libcnotify=no | ||
--with-libcsplit=no | ||
--with-libuna=no | ||
--with-libcfile=no | ||
--with-libcpath=no | ||
--with-libbfio=no | ||
--with-libfcache=no | ||
--with-libfvalue=no | ||
|
||
) | ||
# We want to contain our build flags | ||
local CFLAGS="${CFLAGS}" | ||
local LDFLAGS="${LDFLAGS}" | ||
|
||
pushd "${TSK_LIBEWF_SRCDIR}" &>/dev/null || die | ||
|
||
# Produce relocatable code | ||
CFLAGS+=" -fPIC" | ||
LDFLAGS+=" -fPIC" | ||
econf "${myeconfargs[@]}" | ||
|
||
# Do not waste CPU cycles on building ewftools | ||
sed -e '/ewftools/ d' -i Makefile || die | ||
emake | ||
|
||
# Only install the headers and the library | ||
emake -C libewf DESTDIR="${T}"/image install | ||
emake -C include DESTDIR="${T}"/image install | ||
find "${T}"/image -name '*.la' -delete || die | ||
|
||
popd &>/dev/null || die | ||
} | ||
|
||
src_configure() { | ||
local myeconfargs=( | ||
--enable-offline="${TSK_JAR_DIR}" | ||
$(use_enable java) | ||
$(use_enable static-libs static) | ||
$(use_enable threads multithreading) | ||
$(use_with aff afflib) | ||
$(use_with zlib) | ||
) | ||
# Workaround the automagic detection of postgresql | ||
local -x ac_cv_lib_pq_PQlibVersion="$(usex postgres)" | ||
# TODO: add support for non-existing libraries libvhdi and libvmdk | ||
# myeconfargs+=( | ||
# $(use_with vhdi libvhdi) | ||
# $(use_with vmdk libvmdk) | ||
# ) | ||
myeconfargs+=( | ||
--without-libvhdi | ||
--without-libvmdk | ||
) | ||
|
||
use ewf && tsk_compile_libewf | ||
myeconfargs+=( $(use_with ewf libewf "${T}"/image) ) | ||
|
||
if use java; then | ||
pushd "${S}"/bindings/java &>/dev/null || die | ||
java-ant-2_src_configure | ||
popd &>/dev/null || die | ||
fi | ||
|
||
econf "${myeconfargs[@]}" | ||
} | ||
|
||
src_compile() { | ||
# Give it an existing bogus ivy home #672220 | ||
local -x IVY_HOME="${T}" | ||
|
||
# Create symlinks of jars for the required dependencies | ||
if use java; then | ||
pushd "${S}"/bindings/java &>/dev/null || die | ||
|
||
java-pkg_jar-from --into "${TSK_JAR_DIR}" c3p0 | ||
java-pkg_jar-from --into "${TSK_JAR_DIR}" commons-lang:3.1 | ||
java-pkg_jar-from --into "${TSK_JAR_DIR}" guava:20 | ||
java-pkg_jar-from --into "${TSK_JAR_DIR}" jdbc-postgresql | ||
java-pkg_jar-from --into "${TSK_JAR_DIR}" joda-time | ||
|
||
popd &>/dev/null || die | ||
fi | ||
|
||
# Create the doc output dirs if requested | ||
if use doc; then | ||
mkdir -p "${T}"/doc/{api-docs,jni-docs} || die | ||
fi | ||
|
||
emake all $(usex doc api-docs "") | ||
} | ||
|
||
src_install() { | ||
local f | ||
|
||
if use java; then | ||
pushd "${S}"/bindings/java &>/dev/null || die | ||
|
||
java-pkg_newjar "dist/${P}.jar" "${PN}.jar" | ||
|
||
# Install the bundled jar files | ||
pushd "${TSK_JAR_DIR}" &>/dev/null || die | ||
for f in *; do | ||
# Skip the symlinks java-pkg_jar-from created | ||
[[ -f ${f} ]] || continue | ||
|
||
# Strip the version numbers as per eclass recommendation | ||
[[ ${f} =~ -([0-9]+\.)+jar$ ]] || continue | ||
|
||
java-pkg_newjar "${f}" "${f/${BASH_REMATCH[0]}/.jar}" | ||
done | ||
popd &>/dev/null || die | ||
|
||
popd &>/dev/null || die | ||
fi | ||
|
||
default | ||
|
||
# It unconditionally builds both api and jni docs | ||
# We install conditionally based on the provided use flags | ||
if use doc; then | ||
dodoc -r "${T}"/doc/api-docs | ||
use java && dodoc -r "${T}"/doc/jni-docs | ||
fi | ||
|
||
find "${D}" -name '*.la' -delete || die | ||
} |