Subject: [bug#73794] [PATCH 1/2] gnu: json-c: Update to v0.18

From: Aaron Covrig <[email-masked]>
Date: Sun, 27 Oct 2024 18:15:17 -0400

* gnu/packages/web.scm (json-c): Update to v0.18
* gnu/packages/web.scm (json-c-0.15): New variable
* gnu/packages/web.scm: Deprecate json-c < 0.18
---
 gnu/packages/web.scm | 82 +++++++++++++++++++++++++++-----------------
 1 file changed, 50 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 34739bf088..0d21306e6e 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -87,6 +87,7 @@ (define-module (gnu packages web)
   #:use-module (ice-9 match)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix cvs-download)
@@ -1269,16 +1270,17 @@ (define-public jansson
 (define-public json-c
   (package
     (name "json-c")
-    (version "0.15")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append
-                   "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
-                   version ".tar.gz"))
-             (sha256
-              (base32
-               "1im484iz08j3gmzpw07v16brwq46pxxj65i996kkp2vivcfhmn5q"))))
+    (version "0.18")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "090pn7gyicvpqq01451zhkjw1fw3h4l6v2f6mxlvhrli8x3b0sl7"))))
     (build-system cmake-build-system)
+    (native-inputs (list doxygen))
     (home-page "https://github.com/json-c/json-c/wiki")
     (synopsis "JSON implementation in C")
     (description
@@ -1289,9 +1291,24 @@ (define-public json-c
     (license license:x11)))
 
 ;; TODO: Remove these old versions when all dependents have been updated.
-(define-public json-c-0.13
+(define-deprecated/public json-c-0.15 #f
   (package
     (inherit json-c)
+    (name "json-c")
+    (version "0.15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "1im484iz08j3gmzpw07v16brwq46pxxj65i996kkp2vivcfhmn5q"))))
+    (build-system cmake-build-system)))
+
+(define-deprecated/public json-c-0.13 #f
+  (package
+    (inherit json-c-0.15)
     (version "0.13.1")
     (source (origin
              (method url-fetch)
@@ -1312,31 +1329,32 @@ (define-public json-c-0.13
                  #t))))
     (build-system gnu-build-system)))
 
-(define-public json-c-0.12
+(define-deprecated/public json-c-0.12 #f
   (package
     (inherit json-c-0.13)
     (version "0.12.1")
-    (source (origin
-             (method url-fetch)
-             (uri (string-append
-                   "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
-                   version ".tar.gz"))
-             (sha256
-              (base32 "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra"))
-              (patches (search-patches "json-c-0.12-CVE-2020-12762.patch"))
-             (modules '((guix build utils)))
-             (snippet
-              '(begin
-                 ;; Somehow 'config.h.in' is older than
-                 ;; 'aclocal.m4', which would trigger a rule to
-                 ;; run 'autoheader'.
-                 (set-file-time "config.h.in"
-                                (stat "aclocal.m4"))
-
-                 ;; Don't try to build with -Werror.
-                 (substitute* (find-files "." "Makefile\\.in")
-                   (("-Werror") ""))
-                 #t))))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://s3.amazonaws.com/json-c_releases/releases/json-c-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "08qibrq29a5v7g23wi5icy6l4fbfw90h9ccps6vq0bcklx8n84ra"))
+       (patches (search-patches "json-c-0.12-CVE-2020-12762.patch"))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; Somehow 'config.h.in' is older than
+                   ;; 'aclocal.m4', which would trigger a rule to
+                   ;; run 'autoheader'.
+                   (set-file-time "config.h.in"
+                                  (stat "aclocal.m4"))
+
+                   ;; Don't try to build with -Werror.
+                   (substitute* (find-files "." "Makefile\\.in")
+                     (("-Werror")
+                      ""))
+                   #t))))))
 
 (define-public json-parser
   (package

base-commit: 091131af64fd4e4e925fff829fa19097cfcdfcc5
-- 
2.46.0