[PATCH] Add Google's Highway library.

  • Done
  • quality assurance status badge
Details
3 participants
  • Isaac Young
  • Maxime Devos
  • Vinicius Monego
Owner
unassigned
Submitted by
Isaac Young
Severity
normal
I
I
Isaac Young wrote on 26 Mar 2021 01:54
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
dOkQ4Y0u4ztu6Ahtsfp-i47XDozlW6iwGvbaOA8wVDmLKyhrwmL2lCmU8_-tCRcO8NeRRSeHEzIriOHB13IRNSWdBrZlbXzc3lQep4JNYEw=@pm.me
Hello,

I would like to add Google's highway library (https://github.com/google/highway)to guix officially. Any feedback will be greately apperciated as this is my first public package.

Thank you,
Isaac Young
Attachment: file
I
I
Isaac Young wrote on 26 Mar 2021 02:56
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
UUAUg5kD6-7_1czhMcr49Ndcy_7ASpyyZUguRvSbB4YiLZqf0un7uXjEeAQbMlM05Zvo4by-4nW0xc-xmSadhjmf0um4hBFBy2YS4Zm56sA=@pm.me
Oops, I didn't include the patch.

??????? Original Message ???????
On Thursday, March 25, 2021 6:54 PM, Isaac Young <isyoung@pm.me> wrote:

Toggle quote (6 lines)
> Hello,
>
> I would like to add Google's highway library (https://github.com/google/highway) to guix officially. Any feedback will be greately apperciated as this is my first public package.
>
> Thank you,
> Isaac Young
Attachment: file
From e01ee85800935100e513cdf4175f238ef77da1fd Mon Sep 17 00:00:00 2001
From: Isaac Young <isyoung@pm.me>
Date: Thu, 25 Mar 2021 18:17:28 -0600
Subject: [PATCH] Add Google's Highway library.

---
gnu/packages/datastructures.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index f10a54d376..cb796b17e3 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -371,3 +371,27 @@ and tsl::robin_pg_set. The first two are faster and use a power of two growth
policy, the last two use a prime growth policy instead and are able to cope
better with a poor hash function.")
(license license:expat)))
+
+(define-public google-highway
+ (package
+ (name "google-highway")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/highway")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zz21pap5qy3a490xy0nqp1p20f9x7zkar3msj5z0155l5fpfr3b"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("googletest" ,googletest)))
+ (arguments
+ `(#:tests? #t
+ #:configure-flags '("-DHWY_SYSTEM_GTEST=ON")))
+ (home-page "https://github.com/google/highway")
+ (synopsis "Highway is a C++ library for SIMD.")
+ (description "Performance-portable, length-agnostic SIMD with runtime dispatch")
+ (license license:asl2.0)))
--
2.31.0
I
I
Isaac Young wrote on 26 Mar 2021 03:28
(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
ROJcQzY4G9EUbM4PPs-w2E4FzjVo1NP-Hc8R2n3PvPfGbWim9atympOi9_9a2x983ycAuhqb2s5mi8PedYgbU_8alimVcWwPWeQIcYOYbrs=@pm.me
Sorry, I didn't include the patch.

??????? Original Message ???????
On Thursday, March 25, 2021 6:54 PM, Isaac Young <isyoung@pm.me> wrote:

Toggle quote (6 lines)
> Hello,
>
> I would like to add Google's highway library (https://github.com/google/highway) to guix officially. Any feedback will be greately apperciated as this is my first public package.
>
> Thank you,
> Isaac Young
Attachment: file
From e01ee85800935100e513cdf4175f238ef77da1fd Mon Sep 17 00:00:00 2001
From: Isaac Young <isyoung@pm.me>
Date: Thu, 25 Mar 2021 18:17:28 -0600
Subject: [PATCH] Add Google's Highway library.

---
gnu/packages/datastructures.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm
index f10a54d376..cb796b17e3 100644
--- a/gnu/packages/datastructures.scm
+++ b/gnu/packages/datastructures.scm
@@ -371,3 +371,27 @@ and tsl::robin_pg_set. The first two are faster and use a power of two growth
policy, the last two use a prime growth policy instead and are able to cope
better with a poor hash function.")
(license license:expat)))
+
+(define-public google-highway
+ (package
+ (name "google-highway")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/highway")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zz21pap5qy3a490xy0nqp1p20f9x7zkar3msj5z0155l5fpfr3b"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("googletest" ,googletest)))
+ (arguments
+ `(#:tests? #t
+ #:configure-flags '("-DHWY_SYSTEM_GTEST=ON")))
+ (home-page "https://github.com/google/highway")
+ (synopsis "Highway is a C++ library for SIMD.")
+ (description "Performance-portable, length-agnostic SIMD with runtime dispatch")
+ (license license:asl2.0)))
--
2.31.0
M
M
Maxime Devos wrote on 26 Mar 2021 10:17
Re: [bug#47399] [PATCH] Add Google's Highway library.
1e082ec631688b4c1a561f85122cb852d2a03d20.camel@telenet.be
On Fri, 2021-03-26 at 00:54 +0000, Isaac Young via Guix-patches via wrote:
Toggle quote (4 lines)
> Hello,
>
> I would like to add Google's highway library (https://github.com/google/highway) to guix officially. Any feedback will be greately apperciated as this is my first public package.

A commit message is missing from the patch. E.g. something like

commit b09967bc587dd61c638da3d6fb5bbda7e87ed85c
Author: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun Mar 7 01:47:19 2021 -0500

gnu: Add psi-plus.
* gnu/packages/messaging.scm (psi-plus): New variable.

(See 16.1 ‘Submitting Patches’ in the manual.)

You should add a ‘Copyright YEAR your-name’ as well at the top of the file.
There is no need to add ‘#:tests? #t’ as tests are enabled by default.

What's HWY_SYSTEM_GTEST=ON for? Maybe add a comment

;; Prevent the configuration script from trying to download googletest
;; from the network.

or something like that. Run "./pre-inst-env guix lint google-highway"
if you haven't already.

The "googletest" input does not make much sense when cross-compiling;
maybe move it to native-inputs with something like

(native-inputs
,@(if (%current-target-system)
'()
;; only used by the test suite
`(("googletest" ,googletest))))

(See 8.2.1 ‘‘package’ reference’.)

(Admittedly, we don't focus much on making packages cross-compilable,
except for packages like gcc, bash, binutils ..., so no big problem
if this package isn't cross-compilable.)

Assuming you're on a system different from "aarch64-linux-gnu",
you can test cross-compilability with
"./pre-inst-env guix build --target=aarch64-linux-gnu google-highway".
(See 9.3.1 ‘Additional Build Options’)

Otherwise no comments, assuming it builds!

Toggle quote (3 lines)
> Thank you,
> Isaac Young

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYF2mpBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7imuAQCYrnBWX26ot6ORpDnCYS9/2nvg
loLIzcR33EfXpSaLjgD9HBpFxovZKcvv/dIG5z7v325R94KeEB6NiLGXpSIcuAg=
=Ew0o
-----END PGP SIGNATURE-----


V
V
Vinicius Monego wrote on 7 Feb 2022 16:30
[PATCH] Add Google's Highway library.
(address . 47399-done@debbugs.gnu.org)
3b500b6a795e43240974a68a2b6981b8c072a1e9.camel@posteo.net
Hello,

I packaged highway in f2059169039561ae3b676e50443c14077d1e03db as a
dependency of libjxl. I'll close this issue, but feel free to submit
more packages in the future.
Closed
?