[PATCH 0/4] fastfetch: Unbundle yyjson and package improvements

  • Open
  • quality assurance status badge
Details
One participant
  • Dariqq
Owner
unassigned
Submitted by
Dariqq
Severity
normal
D
D
Dariqq wrote on 6 Jul 09:03 +0200
(address . guix-patches@gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
cover.1720249420.git.dariqq@posteo.net
Hi Guix,
This little patch series removes the bundled yyjson from fastfetch and adds more configure options to make the package work better with guix.

The most significant change is switching to dynamically linking against the optional dependencies of fastfetch (instead of dlopening them at runtime) to avoid manually writing out a wrapper setting LD_LIBRARY_PATH.

Finally there is an update to the latest version.

With the 2.17.0 release the option "ENABLE_PROPRIETARY_GPU_DRIVER_API" was removed (https://github.com/fastfetch-cli/fastfetch/blob/dev/CHANGELOG.md#2170).Is that a problem with FSDG?


Dariqq (4):
gnu: Add yyjson.
gnu: fastfetch: Unbundle yyjson.
gnu: fastfetch: Add more configure flags.
gnu: fastfetch: Update to 2.17.2.

gnu/packages/admin.scm | 25 +++++++++++++++++++++----
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+), 4 deletions(-)


base-commit: 5905b4728776d6a6e6e5587f46fc0d633df6907c
--
2.45.2
D
D
Dariqq wrote on 6 Jul 09:29 +0200
[PATCH 1/4] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
f54a780553e716945a5ad4b76d6e38199448cc57.1720249420.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d13b62b5e2..b251e0334e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1678,3 +1678,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))
--
2.45.2
D
D
Dariqq wrote on 6 Jul 09:29 +0200
[PATCH 3/4] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
d484786b11c0fd47a8e4be6014c3e27fff7a3229.1720249420.git.dariqq@posteo.net
Most importantly the dependencies are now linked dynamically to avoid writing out a
LD_LIBRARY_PATH wrapper.

Also build the tests and skip installing the license file.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
(arguments): Move above inputs.
[#:configure-flags]: Add -DBUILD_TESTS=ON, -DINSTALL_LICENSE=OFF,
-DBINARY_LINK_TYPE=dynamic and set -DCUSTOM_PCI_IDS_PATH and
-DCUSTOM_AMDGPU_IDS_PATH.
[#:tests]: Remove as now there are tests available.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a9651b49d0..e97fe76a5a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4280,18 +4280,29 @@ (define-public fastfetch
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments
- (list #:tests? #f ; no test target
- #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 6 Jul 09:29 +0200
[PATCH 4/4] gnu: fastfetch: Update to 2.17.2.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
97f5d9b15446614aba21eb7f824aef9689a942b8.1720249420.git.dariqq@posteo.net
Also add python to minify the help.json file at build time.

* gnu/packages/admin.scm (fastfetch): Update to 2.17.2.
[native-inputs]: Add python.

Change-Id: I135be0447061896ec2f133e11d50ced92b9e79b5
---
gnu/packages/admin.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e97fe76a5a..678ae29e84 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4266,7 +4266,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.17.2")
(source
(origin
(method git-fetch)
@@ -4275,7 +4275,7 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (base32 "0yhpxn7idb1c9fs84x6qqk4f6975cdax0f1ymhqj33lswzah03ax"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
@@ -4302,7 +4302,7 @@ (define-public fastfetch
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
- (native-inputs (list pkg-config))
+ (native-inputs (list pkg-config python))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 6 Jul 09:29 +0200
[PATCH 2/4] gnu: fastfetch: Unbundle yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
1003d8cbcf97529531efe256c833ad365eb4baaf.1720249420.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastftech)
[origin]: Add snippet to remove third party code.
[#_configure-flags]: Add "-DENABLE_SYSTEM_YYJSON=YES"
[inputs]: Add yyjson.

Change-Id: I8175b8f4a8d55ff3b9d5fa4cb99f1fc1ad15fd97
---
gnu/packages/admin.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f0aa6adc85..a9651b49d0 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4275,7 +4275,10 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(inputs (list dbus
glib
@@ -4283,9 +4286,12 @@ (define-public fastfetch
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (arguments
+ (list #:tests? #f ; no test target
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 14 Jul 09:42 +0200
[PATCH v2 0/5] fastfetch: Unbundle yyjson and package improvements
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
cover.1720942674.git.dariqq@posteo.net
Hi Guix,
This little patch series removes the bundled yyjson from fastfetch and adds more configure options to make the package work better with guix.

The most significant change is switching to dynamically linking against the optional dependencies of fastfetch (instead of dlopening them at runtime) to avoid manually writing out a wrapper setting LD_LIBRARY_PATH.

Finally there is an update to the latest version.

With the 2.17.0 release the option "ENABLE_PROPRIETARY_GPU_DRIVER_API" was removed (https://github.com/fastfetch-cli/fastfetch/blob/dev/CHANGELOG.md#2170).Isthat a problem with FSDG?

Changes in v2:
Update to the latest fastfetch release which also needs a newer yyjson.

Dariqq (5):
gnu: Add yyjson.
gnu: fastfetch: Unbundle yyjson.
gnu: fastfetch: Add more configure flags.
gnu: yyjson: Update to 0.10.0.
gnu: fastfetch: Update to 2.18.1.

gnu/packages/admin.scm | 23 ++++++++++++++++++++---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 58 insertions(+), 3 deletions(-)


base-commit: c1d367f57e89c3f2efd964e6d638bd89b0b1df97
--
2.45.2
D
D
Dariqq wrote on 14 Jul 09:42 +0200
[PATCH v2 1/5] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
3e36fd6549aaab789429853f304ed9d925f1f91a.1720942674.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d13b62b5e2..b251e0334e 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1678,3 +1678,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))
--
2.45.2
D
D
Dariqq wrote on 14 Jul 09:42 +0200
[PATCH v2 3/5] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
446b9098aa7f012c68629ca27b8d9435134ae953.1720942674.git.dariqq@posteo.net
Most importantly the dependencies are now linked dynamically to avoid writing out a
LD_LIBRARY_PATH wrapper.

Also build the tests and skip installing the license file.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
(arguments): Move above inputs.
[#:configure-flags]: Add -DBUILD_TESTS=ON, -DINSTALL_LICENSE=OFF,
-DBINARY_LINK_TYPE=dynamic and set -DCUSTOM_PCI_IDS_PATH and
-DCUSTOM_AMDGPU_IDS_PATH.
[#:tests]: Remove as now there are tests available.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a9651b49d0..e97fe76a5a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4280,18 +4280,29 @@ (define-public fastfetch
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments
- (list #:tests? #f ; no test target
- #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 14 Jul 09:42 +0200
[PATCH v2 4/5] gnu: yyjson: Update to 0.10.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
70415579683fab45423fb0108892e17cc49eb55a.1720942674.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): Update to 0.10.0.

Change-Id: Id8be82026eb0d102272b1128cce80a5609d309d0
---
gnu/packages/c.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index b251e0334e..83c09c850f 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1682,7 +1682,7 @@ (define-public pcg-c
(define-public yyjson
(package
(name "yyjson")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -1691,7 +1691,7 @@ (define-public yyjson
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (base32 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws"))))
(arguments
(list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
--
2.45.2
D
D
Dariqq wrote on 14 Jul 09:42 +0200
[PATCH v2 2/5] gnu: fastfetch: Unbundle yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
bde233caeb11d1bff630f72f2b75cb1c4ebb393f.1720942674.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastftech)
[origin]: Add snippet to remove third party code.
[#_configure-flags]: Add "-DENABLE_SYSTEM_YYJSON=YES"
[inputs]: Add yyjson.

Change-Id: I8175b8f4a8d55ff3b9d5fa4cb99f1fc1ad15fd97
---
gnu/packages/admin.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f0aa6adc85..a9651b49d0 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4275,7 +4275,10 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(inputs (list dbus
glib
@@ -4283,9 +4286,12 @@ (define-public fastfetch
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (arguments
+ (list #:tests? #f ; no test target
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 14 Jul 09:42 +0200
[PATCH v2 5/5] gnu: fastfetch: Update to 2.18.1.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
65ef9fac28898ac4f9a992a8cdcebeb57a546ce0.1720942674.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastfetch): Update to 2.18.1.

Change-Id: I257954b6f21f5a9fc35b45785f6addff604513b9
---
gnu/packages/admin.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e97fe76a5a..5699bf32b4 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4266,7 +4266,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.18.1")
(source
(origin
(method git-fetch)
@@ -4275,7 +4275,7 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (base32 "0iqww3iq52kdvd7nm35jbba3n4ysds8brnrv7gx5dvzhkna0lvdy"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
--
2.45.2
D
D
Dariqq wrote on 25 Aug 09:45 +0200
[PATCH v3 1/5] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
7209dd72bc48dc788690a2ffacc30f938f7bd1a9.1724571928.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 87d3df193e..aa7b9fe35f 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1730,3 +1730,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))

base-commit: f25ea6847fa4eb1bc0a6bfb965e145b94f20a6f8
--
2.45.2
D
D
Dariqq wrote on 25 Aug 09:45 +0200
[PATCH v3 2/5] gnu: fastfetch: Unbundle yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
c37e458072e838a1be5209cc90c81afd226aaa5b.1724571928.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastftech)
[origin]: Add snippet to remove third party code.
[#:configure-flags]: Add "-DENABLE_SYSTEM_YYJSON=YES"
[inputs]: Add yyjson.

Change-Id: I8175b8f4a8d55ff3b9d5fa4cb99f1fc1ad15fd97
---
gnu/packages/admin.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index e96c555e6a..497324c195 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4277,7 +4277,10 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(inputs (list dbus
glib
@@ -4285,9 +4288,12 @@ (define-public fastfetch
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (arguments
+ (list #:tests? #f ; no test target
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 25 Aug 09:45 +0200
[PATCH v3 3/5] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
bbf27735a725e396084aeb9cbd372eded65103d2.1724571928.git.dariqq@posteo.net
Most importantly the dependencies are now linked dynamically to avoid writing out a
LD_LIBRARY_PATH wrapper.

Also build the tests and skip installing the license file.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
(arguments): Move above inputs.
[#:configure-flags]: Add -DBUILD_TESTS=ON, -DINSTALL_LICENSE=OFF,
-DBINARY_LINK_TYPE=dynamic and set -DCUSTOM_PCI_IDS_PATH and
-DCUSTOM_AMDGPU_IDS_PATH.
[#:tests]: Remove as now there are tests available.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 497324c195..eb495bd25c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4282,18 +4282,29 @@ (define-public fastfetch
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments
- (list #:tests? #f ; no test target
- #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 25 Aug 09:45 +0200
[PATCH v3 4/5] gnu: yyjson: Update to 0.10.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
bbc998ae137b28b3c9a8a3e385f556f2523c588a.1724571928.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): Update to 0.10.0.

Change-Id: Id8be82026eb0d102272b1128cce80a5609d309d0
---
gnu/packages/c.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index aa7b9fe35f..08e572aec6 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1734,7 +1734,7 @@ (define-public pcg-c
(define-public yyjson
(package
(name "yyjson")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -1743,7 +1743,7 @@ (define-public yyjson
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (base32 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws"))))
(arguments
(list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
--
2.45.2
D
D
Dariqq wrote on 25 Aug 09:45 +0200
[PATCH v3 5/5] gnu: fastfetch: Update to 2.21.3.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
4fb61b4ebc534698c0f3b65b0250f969f8a541e8.1724571928.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastfetch): Update to 2.21.3.

Change-Id: I5f672fdc0cc36ceb7e32dbb2e5edc7ca212131e6
---
gnu/packages/admin.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index eb495bd25c..0b629f712c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4268,7 +4268,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.21.3")
(source
(origin
(method git-fetch)
@@ -4277,7 +4277,7 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (base32 "0npsjh1hgj2qm64c6v6p38dq7qxcwdcfqhdvdhk8qj3dgq012x82"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
--
2.45.2
D
D
Dariqq wrote on 27 Aug 17:18 +0200
[PATCH v4 2/5] gnu: fastfetch: Unbundle yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
532053e6d3b7af67ece28f5ff37e2dd912873ecd.1724771914.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastftech)
[origin]: Add snippet to remove third party code.
[#:configure-flags]: Add "-DENABLE_SYSTEM_YYJSON=YES"
[inputs]: Add yyjson.

Change-Id: I8175b8f4a8d55ff3b9d5fa4cb99f1fc1ad15fd97
---
gnu/packages/admin.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 4b05f4c367..fd2d10eeda 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4277,7 +4277,10 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(inputs (list dbus
glib
@@ -4285,9 +4288,12 @@ (define-public fastfetch
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (arguments
+ (list #:tests? #f ; no test target
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 27 Aug 17:18 +0200
[PATCH v4 1/5] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
78a863e4becfe0996e04c2aee08ac5b8afa900a0.1724771914.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 87d3df193e..aa7b9fe35f 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1730,3 +1730,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))

base-commit: 1166035acb4e1b0dc61bf9122b68f2afa0c35790
--
2.45.2
D
D
Dariqq wrote on 27 Aug 17:18 +0200
[PATCH v4 4/5] gnu: yyjson: Update to 0.10.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
1b93731a2081ff21ecf9c841a57c48586d118f9d.1724771914.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): Update to 0.10.0.

Change-Id: Id8be82026eb0d102272b1128cce80a5609d309d0
---
gnu/packages/c.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index aa7b9fe35f..08e572aec6 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1734,7 +1734,7 @@ (define-public pcg-c
(define-public yyjson
(package
(name "yyjson")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -1743,7 +1743,7 @@ (define-public yyjson
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (base32 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws"))))
(arguments
(list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
--
2.45.2
D
D
Dariqq wrote on 27 Aug 17:18 +0200
[PATCH v4 5/5] gnu: fastfetch: Update to 2.22.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
6c841c2b10e431365360ceb4b488cf4f9df3fc67.1724771914.git.dariqq@posteo.net
Also add python-minimal to minify the help.json file at build time.

* gnu/packages/admin.scm (fastfetch): Update to 2.22.0.
[native-inputs]: Add python-minimal.

Change-Id: I52d5cf244726bf4362f658f818094a483e3b3d01
---
gnu/packages/admin.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 8a315ada64..1a2e1360f6 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4268,7 +4268,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.22.0")
(source
(origin
(method git-fetch)
@@ -4277,7 +4277,7 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (base32 "0yfvhyikb9bipxnwpf5g7dpvrrmz856fiyvd0daq97vv4lqq3ilx"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
@@ -4304,7 +4304,7 @@ (define-public fastfetch
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
- (native-inputs (list pkg-config))
+ (native-inputs (list pkg-config python-minimal))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 27 Aug 17:18 +0200
[PATCH v4 3/5] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
dc3f5da7be0b99333ce528ceae4cde5706f12be7.1724771914.git.dariqq@posteo.net
Most importantly the dependencies are now linked dynamically to avoid writing out a
LD_LIBRARY_PATH wrapper.

Also build the tests and skip installing the license file.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
(arguments): Move above inputs.
[#:configure-flags]: Add -DBUILD_TESTS=ON, -DINSTALL_LICENSE=OFF,
-DBINARY_LINK_TYPE=dynamic and set -DCUSTOM_PCI_IDS_PATH and
-DCUSTOM_AMDGPU_IDS_PATH.
[#:tests]: Remove as now there are tests available.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index fd2d10eeda..8a315ada64 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4282,18 +4282,29 @@ (define-public fastfetch
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments
- (list #:tests? #f ; no test target
- #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.45.2
D
D
Dariqq wrote on 18 Sep 17:27 +0200
[PATCH v5 1/5] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
507a634c0db389695c2df167beaf31d63a5ad403.1726673231.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 62234d3c9a..435a70b7be 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1766,3 +1766,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))

base-commit: 1b6ce1796abdf497f61f426d61339318f4f4f23d
--
2.46.0
D
D
Dariqq wrote on 18 Sep 17:27 +0200
[PATCH v5 4/5] gnu: yyjson: Update to 0.10.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
d208c1203568f527199cde9791d2242a8a5b7421.1726673231.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): Update to 0.10.0.

Change-Id: Id8be82026eb0d102272b1128cce80a5609d309d0
---
gnu/packages/c.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 435a70b7be..c2bec93938 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1770,7 +1770,7 @@ (define-public pcg-c
(define-public yyjson
(package
(name "yyjson")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -1779,7 +1779,7 @@ (define-public yyjson
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (base32 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws"))))
(arguments
(list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
--
2.46.0
D
D
Dariqq wrote on 18 Sep 17:27 +0200
[PATCH v5 5/5] gnu: fastfetch: Update to 2.24.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
6b90849881fe2e4801b74753c6e1a931ef88f8d0.1726673231.git.dariqq@posteo.net
Also add python-minimal to minify the help.json file at build time.

* gnu/packages/admin.scm (fastfetch): Update to 2.24.0.
[native-inputs]: Add python-minimal.

Change-Id: I52d5cf244726bf4362f658f818094a483e3b3d01
---
gnu/packages/admin.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 2c47e43b4e..a2f9e7207a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4284,7 +4284,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.24.0")
(source
(origin
(method git-fetch)
@@ -4293,7 +4293,7 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (base32 "19hys66a2z0in1h2f653p1sffd5hgf91gayfak33a8p2jifpwwrj"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
@@ -4320,7 +4320,7 @@ (define-public fastfetch
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
- (native-inputs (list pkg-config))
+ (native-inputs (list pkg-config python-minimal))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 18 Sep 17:27 +0200
[PATCH v5 2/5] gnu: fastfetch: Unbundle yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
3e279b05eba2c4a1a913c1afbb5c981f16763ab8.1726673231.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastftech)
[origin]: Add snippet to remove third party code.
[#:configure-flags]: Add "-DENABLE_SYSTEM_YYJSON=YES"
[inputs]: Add yyjson.

Change-Id: I8175b8f4a8d55ff3b9d5fa4cb99f1fc1ad15fd97
---
gnu/packages/admin.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d73f017912..29e8c38ef3 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4293,7 +4293,10 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(inputs (list dbus
glib
@@ -4301,9 +4304,12 @@ (define-public fastfetch
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (arguments
+ (list #:tests? #f ; no test target
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 18 Sep 17:27 +0200
[PATCH v5 3/5] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
ee1d32acc5a517a070f72fb6471253c76264c683.1726673231.git.dariqq@posteo.net
Most importantly the dependencies are now linked dynamically to avoid writing out a
LD_LIBRARY_PATH wrapper.

Also build the tests and skip installing the license file.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
(arguments): Move above inputs.
[#:configure-flags]: Add -DBUILD_TESTS=ON, -DINSTALL_LICENSE=OFF,
-DBINARY_LINK_TYPE=dynamic and set -DCUSTOM_PCI_IDS_PATH and
-DCUSTOM_AMDGPU_IDS_PATH.
[#:tests]: Remove as now there are tests available.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 29e8c38ef3..2c47e43b4e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4298,18 +4298,29 @@ (define-public fastfetch
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments
- (list #:tests? #f ; no test target
- #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=YES")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 19 Oct 09:56 +0200
[PATCH v6 1/5] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
0f29d3c61209681e684687686cf650e309aa63b8.1729324600.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 13fdb99424..2e46b7a10d 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1764,3 +1764,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))

base-commit: 48097f511929053468ce6f09e0a24644c90fe670
--
2.46.0
D
D
Dariqq wrote on 19 Oct 09:56 +0200
[PATCH v6 2/5] gnu: fastfetch: Unbundle yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
67c7a01f7d5c1be6dba6a134dca28f416b453972.1729324600.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastftech)
[origin]: Add snippet to remove third party code.
[#:configure-flags]: Add "-DENABLE_SYSTEM_YYJSON=ON"
[inputs]: Add yyjson.

Change-Id: I8175b8f4a8d55ff3b9d5fa4cb99f1fc1ad15fd97
---
gnu/packages/admin.scm | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Toggle diff (32 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 2cb50ed4a8..bbea957a87 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4289,7 +4289,10 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
(inputs (list dbus
glib
@@ -4297,9 +4300,12 @@ (define-public fastfetch
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (arguments
+ (list #:tests? #f ; no test target
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=ON")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 19 Oct 09:56 +0200
[PATCH v6 3/5] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
951b3e902e8584d12af678c624e7bc3e808facdc.1729324600.git.dariqq@posteo.net
Most importantly the dependencies are now linked dynamically to avoid writing out a
LD_LIBRARY_PATH wrapper.

Also build the tests and skip installing the license file.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
(arguments): Move above inputs.
[#:configure-flags]: Add -DBUILD_TESTS=ON, -DINSTALL_LICENSE=OFF,
-DBINARY_LINK_TYPE=dynamic and set -DCUSTOM_PCI_IDS_PATH and
-DCUSTOM_AMDGPU_IDS_PATH.
[#:tests]: Remove as now there are tests available.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index bbea957a87..ed6cd7de95 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4294,18 +4294,29 @@ (define-public fastfetch
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=ON"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
(native-inputs (list pkg-config))
- (arguments
- (list #:tests? #f ; no test target
- #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=ON")))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 19 Oct 09:56 +0200
[PATCH v6 4/5] gnu: yyjson: Update to 0.10.0.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
580e765e1ebbf0c90e4908d5d72a69e561ac66c4.1729324600.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): Update to 0.10.0.

Change-Id: Id8be82026eb0d102272b1128cce80a5609d309d0
---
gnu/packages/c.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 2e46b7a10d..2e368ad884 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1768,7 +1768,7 @@ (define-public pcg-c
(define-public yyjson
(package
(name "yyjson")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method git-fetch)
@@ -1777,7 +1777,7 @@ (define-public yyjson
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "169rqh7mh01g5j4qkqjgfmgnyqjf9r8qxiywf4jkgcb7ln4j64w9"))))
+ (base32 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws"))))
(arguments
(list
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
--
2.46.0
D
D
Dariqq wrote on 19 Oct 09:56 +0200
[PATCH v6 5/5] gnu: fastfetch: Update to 2.27.1.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
867deba90ff9736a1c59b376a9915d6df125a882.1729324600.git.dariqq@posteo.net
Also add python-minimal to minify the help.json file at build time.
Disable DIRECTX_HEADERS.

* gnu/packages/admin.scm (fastfetch): Update to 2.27.1.
[#:configure-flags]: Add ENABLE_DIRECTX_HEADERS=OFF
[native-inputs]: Add python-minimal.

Change-Id: I52d5cf244726bf4362f658f818094a483e3b3d01
---
gnu/packages/admin.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

Toggle diff (41 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ed6cd7de95..5b2c7f1a6f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4280,7 +4280,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.27.1")
(source
(origin
(method git-fetch)
@@ -4289,7 +4289,7 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))
+ (base32 "07k9lch7av7146m81h36grnwgasfl4yiqs8lwm8f2v2ycfybmw1p"))
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "src/3rdparty")))))
@@ -4300,6 +4300,7 @@ (define-public fastfetch
"-DBINARY_LINK_TYPE=dynamic"
"-DBUILD_TESTS=ON"
"-DINSTALL_LICENSE=OFF"
+ "-DENABLE_DIRECTX_HEADERS=OFF"
(string-append "-DCUSTOM_PCI_IDS_PATH="
#$(this-package-input "hwdata")
"/share/hwdata/pci.ids")
@@ -4316,7 +4317,7 @@ (define-public fastfetch
wayland
yyjson
zlib)) ;for imagemagick and an #ifdef
- (native-inputs (list pkg-config))
+ (native-inputs (list pkg-config python-minimal))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 20 Nov 09:32 +0100
[PATCH v7 3/3] gnu: fastfetch: Add more configure flags.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
dda640c73d7fa0d87ad726f794011566e4ba0890.1732090301.git.dariqq@posteo.net
Use dynamic linking for dependencies instead of dlopening them at runtime which requries a wrapper with LD_LIBRARY_PATH.

Additionally provide custom paths to pci-ids and amdgpu-ids.

* gnu/packages/admin.scm (fastfetch)
[#:configure-flags]: Enable dynamic linking and disable directx-headers. Set
custom paths to hwdata and libdrm.
[inputs]: Add hwdata and libdrm for the custom paths.

Change-Id: I9f86b49f0a116bcee91ca15b6e77cfbb3867e290
---
gnu/packages/admin.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 78c6e904b8..ca1deaf520 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4325,10 +4325,20 @@ (define-public fastfetch
(list
#:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=ON"
"-DBUILD_TESTS=ON"
- "-DINSTALL_LICENSE=OFF")))
+ "-DINSTALL_LICENSE=OFF"
+ "-DBINARY_LINK_TYPE=dynamic"
+ "-DENABLE_DIRECTX_HEADERS=OFF"
+ (string-append "-DCUSTOM_PCI_IDS_PATH="
+ #$(this-package-input "hwdata")
+ "/share/hwdata/pci.ids")
+ (string-append "-DCUSTOM_AMDGPU_IDS_PATH="
+ #$(this-package-input "libdrm")
+ "share/libdrm/amdgpu.ids"))))
(inputs (list dbus
glib
+ hwdata
imagemagick
+ libdrm
libxcb
mesa
wayland
--
2.46.0
D
D
Dariqq wrote on 20 Nov 09:32 +0100
[PATCH v7 0/3] fastfetch: Unbundle yyjson, update and package improvements
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
cover.1732090301.git.dariqq@posteo.net
In the rare case that someone is reading this, I rebased things again and bumped the fastfetch version to the latest version.


I simplified things a bit by doing the unbundling of yyjson and the package update in the same commit s.t. I don't have to add the previous yyjson version as well.

* The package currently is violating the guix packaging guidelines by bundling dependencies
* Some of the optional features that are currently enabled don't work because fastfetch wants to dlopen the relevant so at runtime:
Look at 'fastfetch -c all --show-errors' and observe e.g.
Media: Failed to load DBus library
OpenGL: dlopen egl failed

To avoid writing out a wrapper for LD_LIBRARY_PATH I am changing to dynamic linking instead (which also makes it easier if others want to create a variant that has more stuff enabled)

Lastly overwriting the path to pci.ids and amdgpu.ids , the default paths assume a FHS layout.


Dariqq (3):
gnu: Add yyjson.
gnu: fastfetch: Update to 2.30.1.
gnu: fastfetch: Add more configure flags.

gnu/packages/admin.scm | 26 ++++++++++++++++++++++----
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+), 4 deletions(-)


base-commit: 129641fcd2956d6c571b792efe703da545f18c0a
--
2.46.0
D
D
Dariqq wrote on 20 Nov 09:32 +0100
[PATCH v7 2/3] gnu: fastfetch: Update to 2.30.1.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
55fe752934bfe8a7ec52a1c9d31f6e7c3985e27d.1732090301.git.dariqq@posteo.net
* gnu/packages/admin.scm (fastfetch): Update to 2.30.1.
[origin]: Add snippet to remove third party code.
[#:configure-flags]: Disable bundled yyjson, enable tests and skip installing license.
[native-inputs]: Add python-minimal.
[inputs]: Add yyjson.

Change-Id: I52d5cf244726bf4362f658f818094a483e3b3d01
---
gnu/packages/admin.scm | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)

Toggle diff (44 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 9c765b51a9..78c6e904b8 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4307,7 +4307,7 @@ (define-public pfetch
(define-public fastfetch
(package
(name "fastfetch")
- (version "2.16.0")
+ (version "2.30.1")
(source
(origin
(method git-fetch)
@@ -4316,17 +4316,25 @@ (define-public fastfetch
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "112dvfx7gvp6n20i1lkd0jbh897jf7bxjxq96bj4099j3x313y3m"))))
+ (base32 "0q4q7pc28iwa34wq9crh3k5kdlzivjxlkwyin6k4vv7282qnpphs"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ (delete-file-recursively "src/3rdparty")))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DENABLE_SYSTEM_YYJSON=ON"
+ "-DBUILD_TESTS=ON"
+ "-DINSTALL_LICENSE=OFF")))
(inputs (list dbus
glib
imagemagick
libxcb
mesa
wayland
+ yyjson
zlib)) ;for imagemagick and an #ifdef
- (native-inputs (list pkg-config))
- (arguments (list #:tests? #f)) ; no test target
+ (native-inputs (list pkg-config python-minimal))
(home-page "https://github.com/fastfetch-cli/fastfetch")
(synopsis "Display system information in a stylized manner")
(description
--
2.46.0
D
D
Dariqq wrote on 20 Nov 09:32 +0100
[PATCH v7 1/3] gnu: Add yyjson.
(address . 71968@debbugs.gnu.org)(name . Dariqq)(address . dariqq@posteo.net)
bab6c7f3b28ff98876107c78152e06e939156eb8.1732090301.git.dariqq@posteo.net
* gnu/packages/c.scm (yyjson): New variable.

Change-Id: Ica9ff2e1b6676aa8761eb33cbab76154f17e443f
---
gnu/packages/c.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 13fdb99424..2e368ad884 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1764,3 +1764,41 @@ (define-public pcg-c
Linear Congruential Generator (LCG) with a permutation function to increase
output randomness while retaining speed, simplicity, and conciseness.")
(license (list license:expat license:asl2.0))))) ; dual licensed
+
+(define-public yyjson
+ (package
+ (name "yyjson")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ibireme/yyjson")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kmzgs24v0rxlibg4qwlm6yplzs96pgxb1gyviijhkra9z7lx7ws"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DYYJSON_BUILD_TESTS=ON")))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/ibireme/yyjson")
+ (synopsis "High performance JSON library written in ANSI C")
+ (description
+ "Yyjson is a high performance JSON library written in ANSI C. Some features include
+@itemize
+@item Fast: can read or write gigabytes per second JSON data on modern CPUs.
+@item Portable: complies with ANSI C (C89) for cross-platform compatibility.
+@item Strict: complies with RFC 8259 JSON standard, ensuring strict
+number format and UTF-8 validation.
+@item Extendable: offers options to allow comments, trailing commas, NaN/Inf,
+ and custom memory allocator.
+@item Accuracy: can accurately read and write int64, uint64, and double numbers.
+@item Flexible: supports unlimited JSON nesting levels, \u0000 characters,
+and non null-terminated strings.
+@item Manipulation: supports querying and modifying using JSON Pointer,
+JSON Patch and JSON Merge Patch.
+@item Developer-Friendly: easy integration with only one .h and one .c file.
+@end itemize")
+ (license license:expat)))
--
2.46.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 71968@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 71968
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch