[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
?
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