add habitat plan

This commit is contained in:
Chris Alfano
2018-11-23 01:13:54 +00:00
parent f0b75029ea
commit d5c5078b4a
2 changed files with 87 additions and 0 deletions

86
habitat/plan.sh Normal file
View File

@@ -0,0 +1,86 @@
pkg_name=nethogs
pkg_origin=core
pkg_maintainer="The Habitat Maintainers <humans@habitat.sh>"
pkg_license=("GPL-2.0")
pkg_description="Linux 'net top' tool"
pkg_upstream_url="https://github.com/raboof/nethogs"
pkg_deps=(
core/libpcap
core/ncurses
core/glibc
core/gcc-libs
)
pkg_build_deps=(
core/git
core/make
core/gcc
core/patchelf
)
pkg_bin_dirs=(sbin)
# implement git-based dynamic version strings
pkg_version() {
if [ -n "${pkg_last_tag}" ]; then
echo "${pkg_last_version}-git+${pkg_last_tag_distance}.${pkg_commit}"
else
echo "${pkg_last_version}-git+${pkg_commit}"
fi
}
# implement in-git build workflow
do_before() {
do_default_before
# configure git repository
export GIT_DIR="${PLAN_CONTEXT}/../.git"
# load version information from git
pkg_commit="$(git rev-parse --short HEAD)"
pkg_last_tag="$(git describe --tags --abbrev=0 ${pkg_commit} || true 2>/dev/null)"
if [ -n "${pkg_last_tag}" ]; then
pkg_last_version=${pkg_last_tag#v}
pkg_last_tag_distance="$(git rev-list ${pkg_last_tag}..${pkg_commit} --count)"
else
pkg_last_version="0.0.0"
fi
# initialize pkg_version
update_pkg_version
}
do_unpack() {
mkdir "${CACHE_PATH}"
build_line "Extracting ${GIT_DIR}#${pkg_commit}"
git archive "${pkg_commit}" | tar -x --directory="${CACHE_PATH}"
}
# implement package's build process
do_build() {
find . -type f -executable \
-exec sh -c 'file -i "$1" | grep -q "x-executable; charset=binary"' _ {} \; \
-print \
-exec patchelf \
--interpreter "$(pkg_path_for glibc)/lib/ld-linux-x86-64.so.2" \
--set-rpath "$(pkg_path_for glibc)/lib:$(pkg_path_for gcc-libs)/lib" \
{} \;
make
}
do_install() {
patchelf \
--interpreter "$(pkg_path_for glibc)/lib/ld-linux-x86-64.so.2" \
--set-rpath "${LD_RUN_PATH}" \
src/nethogs
PREFIX="${pkg_prefix}" make install
}
do_strip() {
return 0
}