Files
haikuports/app-misc/nnn/nnn-5.0.recipe
2025-02-11 15:41:58 -07:00

93 lines
2.8 KiB
Bash

SUMMARY="A blazing-fast lightweight terminal file manager"
DESCRIPTION="nnn is a full-featured terminal file manager. It's tiny and \
nearly 0-config with an incredible performance.
nnn is also a du analyzer, an app launcher, a batch renamer and a file picker. \
The plugin repository has tons of plugins and documentation to extend the \
capabilities further. You can plug new functionality and play with a \
custom keybind instantly. There's an independent (neo)vim plugin.
It runs smoothly on the Raspberry Pi, Termux on Android, Linux, macOS, BSD, \
Cygwin, WSL, Haiku and works seamlessly with DEs and GUI utilities.
Visit the Wiki for concepts, program usage, how-tos and troubleshooting."
HOMEPAGE="https://github.com/jarun/nnn"
COPYRIGHT="2014-2016 Lazaros Koromilas
2014-2016 Dimitris Papastamos
2016-2024 Arun Prakash Jana"
LICENSE="BSD (2-clause)"
REVISION="2"
SOURCE_URI="https://github.com/jarun/nnn/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="31e8fd85f3dd7ab2bf0525c3c0926269a1e6d35a5343a6714315642370d8605a"
PATCHES="nnn-$portVersion.patchset"
ADDITIONAL_FILES="nnn_link_plugins.sh"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
POST_INSTALL_SCRIPTS="$relativePostInstallDir/nnn_link_plugins.sh"
PROVIDES="
nnn$secondaryArchSuffix = $portVersion
cmd:nnn = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
file$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libncurses$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:g++$secondaryArchSuffix
cmd:gcc$secondaryArchSuffix
cmd:install
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
PATCH()
{
# mentioned at https://github.com/jarun/nnn/issues/1493
sed -i -e 's/install: all/install:/' misc/haiku/Makefile
}
BUILD()
{
CFLAGS="-I/boot/system/develop/headers/bsd -D_DEFAULT_SOURCE" \
LDFLAGS="-lgnu -lbsd" \
make -f misc/haiku/Makefile O_NOX11=1 $jobArgs
}
INSTALL()
{
make -f misc/haiku/Makefile install PREFIX=$prefix
# install plugins
mkdir -p $dataDir/nnn/plugins
cp -r plugins/* $dataDir/nnn/plugins/
cp -r plugins/.nnn-plugin-helper $dataDir/nnn/plugins/
# remove not needed from plugins directory
rm $dataDir/nnn/plugins/{README.md,getplugs}
# copy bash/fixh/zsh completions
mkdir -p $dataDir/{bash-completion,fish}/completions
mkdir -p $dataDir/zsh/site-functions
cp misc/auto-completion/bash/nnn-completion.bash $dataDir/bash-completion/completions/nnn
cp misc/auto-completion/fish/nnn.fish $dataDir/fish/completions/nnn.fish
cp misc/auto-completion/zsh/_nnn $dataDir/zsh/site-functions/_nnn
addResourcesToBinaries misc/haiku/nnn.rdef $prefix/bin/nnn
# install postinstallscript
mkdir -p $postInstallDir
install -t $postInstallDir $portDir/additional-files/nnn_link_plugins.sh
}