diff mbox series

[1/1] package/tig: new package

Message ID 20240520152748.1952373-1-ju.o@free.fr
State New
Headers show
Series [1/1] package/tig: new package | expand

Commit Message

Julien Olivain May 20, 2024, 3:27 p.m. UTC
Tig is an ncurses-based text-mode interface for git. It
functions mainly as a Git repository browser, but can also
assist in staging changes for commit at chunk level and act
as a pager for output from various Git commands.

https://jonas.github.io/tig/

Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Patch tested on branch master at commit 6a4bf73 with commands:

    make check-package
    ...
    0 warnings generated

    utils/test-pkg -a -p tig
    ...
    41 builds, 2 skipped, 1 build failed, 0 legal-info failed, 0 show-info failed

Note 1: the build failure is with the bootlin-x86-i686-musl toolchain
and is unrelated to this patch.

Note 2: I'll send a runtime test for this package later.
---
 DEVELOPERS            |  1 +
 package/Config.in     |  1 +
 package/tig/Config.in | 12 ++++++++++++
 package/tig/tig.hash  |  6 ++++++
 package/tig/tig.mk    | 21 +++++++++++++++++++++
 5 files changed, 41 insertions(+)
 create mode 100644 package/tig/Config.in
 create mode 100644 package/tig/tig.hash
 create mode 100644 package/tig/tig.mk
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 52c9b84a9d4..1e9e8069845 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1778,6 +1778,7 @@  F:	package/python-pyalsa/
 F:	package/python-spake2/
 F:	package/rdma-core/
 F:	package/riscv-isa-sim/
+F:	package/tig/
 F:	package/tinycompress/
 F:	package/z3/
 F:	package/zynaddsubfx/
diff --git a/package/Config.in b/package/Config.in
index 1b6a5b0dabb..5ecd6966fe7 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -203,6 +203,7 @@  menu "Development tools"
 	source "package/ripgrep/Config.in"
 	source "package/sed/Config.in"
 	source "package/subversion/Config.in"
+	source "package/tig/Config.in"
 	source "package/tree/Config.in"
 	source "package/unifdef/Config.in"
 	source "package/yasm/Config.in"
diff --git a/package/tig/Config.in b/package/tig/Config.in
new file mode 100644
index 00000000000..0a1cc93404a
--- /dev/null
+++ b/package/tig/Config.in
@@ -0,0 +1,12 @@ 
+config BR2_PACKAGE_TIG
+	bool "tig"
+	depends on BR2_USE_MMU # fork()
+	select BR2_PACKAGE_GIT # runtime
+	select BR2_PACKAGE_NCURSES
+	help
+	  Tig is an ncurses-based text-mode interface for git. It
+	  functions mainly as a Git repository browser, but can also
+	  assist in staging changes for commit at chunk level and act
+	  as a pager for output from various Git commands.
+
+	  https://jonas.github.io/tig/
diff --git a/package/tig/tig.hash b/package/tig/tig.hash
new file mode 100644
index 00000000000..b5aebb9c5d6
--- /dev/null
+++ b/package/tig/tig.hash
@@ -0,0 +1,6 @@ 
+# From:
+# https://github.com/jonas/tig/releases/download/tig-2.5.10/tig-2.5.10.tar.gz.sha256
+sha256  f655cc1366fc10058a2bd505bb88ca78e653ff7526c1b81774c44b9d841210e3  tig-2.5.10.tar.gz
+
+# Locally calculated
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING
diff --git a/package/tig/tig.mk b/package/tig/tig.mk
new file mode 100644
index 00000000000..d3aa6df62ac
--- /dev/null
+++ b/package/tig/tig.mk
@@ -0,0 +1,21 @@ 
+################################################################################
+#
+# tig
+#
+################################################################################
+
+TIG_VERSION = 2.5.10
+TIG_SITE = https://github.com/jonas/tig/releases/download/tig-$(TIG_VERSION)
+TIG_LICENSE = GPL-2.0+
+TIG_LICENSE_FILES = COPYING
+
+TIG_DEPENDENCIES = ncurses
+
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+TIG_DEPENDENCIES += libiconv
+TIG_CONF_OPTS += --with-iconv=$(STAGING_DIR)/usr
+else
+TIG_CONF_OPTS += --without-iconv
+endif
+
+$(eval $(autotools-package))