diff mbox series

[1/1] package/hyperfine: new package

Message ID 20220519082800.926607-1-nicolas.tran@smile.fr
State Accepted
Headers show
Series [1/1] package/hyperfine: new package | expand

Commit Message

Nicolas TRAN May 19, 2022, 8:28 a.m. UTC
hyperfine is a benchmark tool written in Rust. It evaluates
execution time of a command passed in arguments and make
a relative comparison if multiple arguments are used at the
same time.
It can be convinient for purposes of Rust-written systems as
it runs in a stable version of Rust.

The package has been checked with correct formatting and
without typos:
./utils/check-package package/hyperfine/*

A CI test was run on gitlab.com to verify toolchain compatibilities.

Signed-off-by: Nicolas Tran <nicolas.tran@smile.fr>
---
test-pkg config:
BR2_PACKAGE_HYPERFINE=y
---
 package/Config.in                |  1 +
 package/hyperfine/Config.in      | 11 +++++++++++
 package/hyperfine/hyperfine.hash |  4 ++++
 package/hyperfine/hyperfine.mk   | 12 ++++++++++++
 4 files changed, 28 insertions(+)
 create mode 100644 package/hyperfine/Config.in
 create mode 100644 package/hyperfine/hyperfine.hash
 create mode 100644 package/hyperfine/hyperfine.mk

Comments

Romain Naour May 23, 2022, 10 a.m. UTC | #1
Hello Nicolas,

Le 19/05/2022 à 10:28, Nicolas Tran a écrit :
> hyperfine is a benchmark tool written in Rust. It evaluates
> execution time of a command passed in arguments and make
> a relative comparison if multiple arguments are used at the
> same time.
> It can be convinient for purposes of Rust-written systems as

/convinient/convenient

> it runs in a stable version of Rust.

For now, Buildroot only support stable version of Rust.

> 
> The package has been checked with correct formatting and
> without typos:
> ./utils/check-package package/hyperfine/*
> 
> A CI test was run on gitlab.com to verify toolchain compatibilities.

If possible, provide the url of the gitlab-ci pipeline.

https://gitlab.com/kubu93/buildroot/-/pipelines/542342435

> 
> Signed-off-by: Nicolas Tran <nicolas.tran@smile.fr>
> ---
> test-pkg config:
> BR2_PACKAGE_HYPERFINE=y
> ---
>  package/Config.in                |  1 +
>  package/hyperfine/Config.in      | 11 +++++++++++
>  package/hyperfine/hyperfine.hash |  4 ++++
>  package/hyperfine/hyperfine.mk   | 12 ++++++++++++
>  4 files changed, 28 insertions(+)
>  create mode 100644 package/hyperfine/Config.in
>  create mode 100644 package/hyperfine/hyperfine.hash
>  create mode 100644 package/hyperfine/hyperfine.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 8892134133..4875f98a8d 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -104,6 +104,7 @@ menu "Debugging, profiling and benchmark"
>  	source "package/fwts/Config.in"
>  	source "package/gdb/Config.in"
>  	source "package/google-breakpad/Config.in"
> +	source "package/hyperfine/Config.in"
>  	source "package/iozone/Config.in"
>  	source "package/kexec/Config.in"
>  	source "package/kexec-lite/Config.in"
> diff --git a/package/hyperfine/Config.in b/package/hyperfine/Config.in
> new file mode 100644
> index 0000000000..4a67a071c3
> --- /dev/null
> +++ b/package/hyperfine/Config.in
> @@ -0,0 +1,11 @@
> +config BR2_PACKAGE_HYPERFINE
> +	bool "hyperfine"
> +	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
> +	select BR2_PACKAGE_HOST_RUSTC
> +	help
> +	  hyperfine is a benchmark tool written in Rust. It evaluates 
> +	  execution time of a command passed in arguments and make 
> +	  a relative comparison if multiple arguments are used at the 
> +	  same time.

This description is slightly better than "Command-line benchmarking tool" used
on github or other packaging.

> +
> +	  https://github.com/sharkdp/hyperfine
> diff --git a/package/hyperfine/hyperfine.hash b/package/hyperfine/hyperfine.hash
> new file mode 100644
> index 0000000000..50cc7694b3
> --- /dev/null
> +++ b/package/hyperfine/hyperfine.hash
> @@ -0,0 +1,4 @@
> +# Locally computed
> +sha256  28fcd72c556b4ca2150577217a4d7d51907b7e00ff86b764943d068202a92ace  hyperfine-1.14.0.tar.gz
> +sha256  c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4  LICENSE-APACHE
> +sha256  1dfee18c2ff07ce551de4d6a1d2db158c0380746b488a7f0d08c8e0d3568b7c3  LICENSE-MIT
> diff --git a/package/hyperfine/hyperfine.mk b/package/hyperfine/hyperfine.mk
> new file mode 100644
> index 0000000000..62246f002e
> --- /dev/null
> +++ b/package/hyperfine/hyperfine.mk
> @@ -0,0 +1,12 @@
> +################################################################################
> +#
> +# hyperfine
> +#
> +################################################################################
> +
> +HYPERFINE_VERSION = 1.14.0
> +HYPERFINE_SITE = $(call github,sharkdp,hyperfine,v$(HYPERFINE_VERSION))
> +HYPERFINE_LICENSE = Apache-2.0 or MIT
> +HYPERFINE_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT

Reviewed-by: Romain Naour <romain.naour@smile.fr>

Best regards,
Romain


> +
> +$(eval $(cargo-package))
Thomas Petazzoni July 25, 2022, 6:36 a.m. UTC | #2
Hello,

On Thu, 19 May 2022 10:28:00 +0200
Nicolas Tran <nicolas.tran@smile.fr> wrote:

> hyperfine is a benchmark tool written in Rust. It evaluates
> execution time of a command passed in arguments and make
> a relative comparison if multiple arguments are used at the
> same time.
> It can be convinient for purposes of Rust-written systems as
> it runs in a stable version of Rust.
> 
> The package has been checked with correct formatting and
> without typos:
> ./utils/check-package package/hyperfine/*
> 
> A CI test was run on gitlab.com to verify toolchain compatibilities.
> 
> Signed-off-by: Nicolas Tran <nicolas.tran@smile.fr>
> ---
> test-pkg config:
> BR2_PACKAGE_HYPERFINE=y
> ---
>  package/Config.in                |  1 +
>  package/hyperfine/Config.in      | 11 +++++++++++
>  package/hyperfine/hyperfine.hash |  4 ++++
>  package/hyperfine/hyperfine.mk   | 12 ++++++++++++
>  4 files changed, 28 insertions(+)
>  create mode 100644 package/hyperfine/Config.in
>  create mode 100644 package/hyperfine/hyperfine.hash
>  create mode 100644 package/hyperfine/hyperfine.mk

Thanks a lot, I've applied your patch, after fixing two minor issues:

 - An entry in the DEVELOPERS file was missing, so I've added it

 - There were some trailing white space in Config.in, which were
   reported by check-package, so I was surprised to read in your commit
   log that you had no check-package warning. Anyway, I fixed this up
   as well.

Thanks for your contribution!

Thomas
Nicolas TRAN July 25, 2022, 9:25 a.m. UTC | #3
Hello Thomas!
It's my mistake. I changed the alignment of the 'help' section one last
time before submitting the patch and forgot to re-run the check. Sorry
about that, and thank you very much!

Cordially yours,
Nicolas Tran

On Mon, Jul 25, 2022 at 8:36 AM Thomas Petazzoni <
thomas.petazzoni@bootlin.com> wrote:

> Hello,
>
> On Thu, 19 May 2022 10:28:00 +0200
> Nicolas Tran <nicolas.tran@smile.fr> wrote:
>
> > hyperfine is a benchmark tool written in Rust. It evaluates
> > execution time of a command passed in arguments and make
> > a relative comparison if multiple arguments are used at the
> > same time.
> > It can be convinient for purposes of Rust-written systems as
> > it runs in a stable version of Rust.
> >
> > The package has been checked with correct formatting and
> > without typos:
> > ./utils/check-package package/hyperfine/*
> >
> > A CI test was run on gitlab.com to verify toolchain compatibilities.
> >
> > Signed-off-by: Nicolas Tran <nicolas.tran@smile.fr>
> > ---
> > test-pkg config:
> > BR2_PACKAGE_HYPERFINE=y
> > ---
> >  package/Config.in                |  1 +
> >  package/hyperfine/Config.in      | 11 +++++++++++
> >  package/hyperfine/hyperfine.hash |  4 ++++
> >  package/hyperfine/hyperfine.mk   | 12 ++++++++++++
> >  4 files changed, 28 insertions(+)
> >  create mode 100644 package/hyperfine/Config.in
> >  create mode 100644 package/hyperfine/hyperfine.hash
> >  create mode 100644 package/hyperfine/hyperfine.mk
>
> Thanks a lot, I've applied your patch, after fixing two minor issues:
>
>  - An entry in the DEVELOPERS file was missing, so I've added it
>
>  - There were some trailing white space in Config.in, which were
>    reported by check-package, so I was surprised to read in your commit
>    log that you had no check-package warning. Anyway, I fixed this up
>    as well.
>
> Thanks for your contribution!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/package/Config.in b/package/Config.in
index 8892134133..4875f98a8d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -104,6 +104,7 @@  menu "Debugging, profiling and benchmark"
 	source "package/fwts/Config.in"
 	source "package/gdb/Config.in"
 	source "package/google-breakpad/Config.in"
+	source "package/hyperfine/Config.in"
 	source "package/iozone/Config.in"
 	source "package/kexec/Config.in"
 	source "package/kexec-lite/Config.in"
diff --git a/package/hyperfine/Config.in b/package/hyperfine/Config.in
new file mode 100644
index 0000000000..4a67a071c3
--- /dev/null
+++ b/package/hyperfine/Config.in
@@ -0,0 +1,11 @@ 
+config BR2_PACKAGE_HYPERFINE
+	bool "hyperfine"
+	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
+	select BR2_PACKAGE_HOST_RUSTC
+	help
+	  hyperfine is a benchmark tool written in Rust. It evaluates 
+	  execution time of a command passed in arguments and make 
+	  a relative comparison if multiple arguments are used at the 
+	  same time.
+
+	  https://github.com/sharkdp/hyperfine
diff --git a/package/hyperfine/hyperfine.hash b/package/hyperfine/hyperfine.hash
new file mode 100644
index 0000000000..50cc7694b3
--- /dev/null
+++ b/package/hyperfine/hyperfine.hash
@@ -0,0 +1,4 @@ 
+# Locally computed
+sha256  28fcd72c556b4ca2150577217a4d7d51907b7e00ff86b764943d068202a92ace  hyperfine-1.14.0.tar.gz
+sha256  c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4  LICENSE-APACHE
+sha256  1dfee18c2ff07ce551de4d6a1d2db158c0380746b488a7f0d08c8e0d3568b7c3  LICENSE-MIT
diff --git a/package/hyperfine/hyperfine.mk b/package/hyperfine/hyperfine.mk
new file mode 100644
index 0000000000..62246f002e
--- /dev/null
+++ b/package/hyperfine/hyperfine.mk
@@ -0,0 +1,12 @@ 
+################################################################################
+#
+# hyperfine
+#
+################################################################################
+
+HYPERFINE_VERSION = 1.14.0
+HYPERFINE_SITE = $(call github,sharkdp,hyperfine,v$(HYPERFINE_VERSION))
+HYPERFINE_LICENSE = Apache-2.0 or MIT
+HYPERFINE_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT
+
+$(eval $(cargo-package))