nnn: new package (#46174)
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
This commit is contained in:
parent
fbb688af07
commit
fb3d9de80b
97
var/spack/repos/builtin/packages/nnn/package.py
Normal file
97
var/spack/repos/builtin/packages/nnn/package.py
Normal file
@ -0,0 +1,97 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Nnn(MakefilePackage):
|
||||
"""nnn (n³) is a full-featured terminal file manager.
|
||||
It's tiny, nearly 0-config and incredibly fast."""
|
||||
|
||||
homepage = "https://github.com/jarun/nnn"
|
||||
url = "https://github.com/jarun/nnn/archive/refs/tags/v5.0.tar.gz"
|
||||
|
||||
maintainers("fthaler")
|
||||
|
||||
license("BSD-2-Clause", checked_by="fthaler")
|
||||
|
||||
version("5.0", sha256="31e8fd85f3dd7ab2bf0525c3c0926269a1e6d35a5343a6714315642370d8605a")
|
||||
|
||||
depends_on("binutils", type="build")
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build")
|
||||
depends_on("pkgconfig", type="build")
|
||||
|
||||
depends_on("coreutils")
|
||||
depends_on("file")
|
||||
depends_on("git", when="+gitstatus")
|
||||
depends_on("ncurses")
|
||||
depends_on("pcre", when="+pcre")
|
||||
depends_on("readline", when="+readline")
|
||||
depends_on("sed")
|
||||
depends_on("tar")
|
||||
depends_on("zip")
|
||||
|
||||
variant("mouse", default=True, description="Enable mouse support")
|
||||
variant(
|
||||
"pcre",
|
||||
default=False,
|
||||
description="Use Perl Compatible Regular Expressions (default is POSIX)",
|
||||
)
|
||||
variant("readline", default=True, description="Compile with readline")
|
||||
variant(
|
||||
"icons",
|
||||
values=("none", "emoji", "nerd", "icons-in-terminal"),
|
||||
default="emoji",
|
||||
description="Choose the icons to use "
|
||||
"(see https://github.com/jarun/nnn/wiki/Advanced-use-cases#file-icons)",
|
||||
)
|
||||
|
||||
variant("colemak", default=False, description="Key bindings for Colemak keyboard layout")
|
||||
variant("gitstatus", default=True, description="Add git status column to the detail view")
|
||||
variant("namefirst", default=False, description="Print filenames first in the detail view")
|
||||
variant(
|
||||
"restorepreview",
|
||||
default=False,
|
||||
description="Add pipe to close and restore preview-tui for internal undetached edits",
|
||||
)
|
||||
|
||||
def setup_build_environment(self, env):
|
||||
spec = self.spec
|
||||
env.set("PREFIX", self.prefix)
|
||||
if "+pcre" in spec:
|
||||
env.append_flags("CPPFLAGS", spec["pcre"].headers.include_flags)
|
||||
env.append_flags("LDFLAGS", spec["pcre"].libs.ld_flags)
|
||||
|
||||
@property
|
||||
def build_targets(self):
|
||||
spec = self.spec
|
||||
targets = []
|
||||
if "~mouse" in spec:
|
||||
targets.append("O_NOMOUSE=1")
|
||||
if "+pcre" in spec:
|
||||
targets.append("O_PCRE=1")
|
||||
if "~readline" in spec:
|
||||
targets.append("O_NORL=1")
|
||||
|
||||
if "icons=emoji" in spec:
|
||||
targets.append("O_EMOJI=1")
|
||||
elif "icons=nerd" in spec:
|
||||
targets.append("O_NERD=1")
|
||||
elif "icons=icons-in-terminal" in spec:
|
||||
targets.append("O_ICONS=1")
|
||||
|
||||
if "+colemak" in spec:
|
||||
targets.append("O_COLEMAK=1")
|
||||
if "+gitstatus" in spec:
|
||||
targets.append("O_GITSTATUS=1")
|
||||
if "+namefirst" in spec:
|
||||
targets.append("O_NAMEFIRST=1")
|
||||
if "+restorepreview" in spec:
|
||||
targets.append("O_RESTOREPREVIEW=1")
|
||||
return targets
|
||||
|
||||
@property
|
||||
def install_targets(self):
|
||||
return self.build_targets + ["strip", "install"]
|
Loading…
Reference in New Issue
Block a user