GNU bug report logs - #70389
[PATCH v5] gnu: fossil: Update to 2.25.

Previous Next

Package: guix-patches;

Reported by: ashish.is <at> lostca.se

Date: Sun, 14 Apr 2024 23:56:01 UTC

Severity: normal

Tags: patch

Done: 宋文武 <iyzsong <at> envs.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 70389 in the body.
You can then email your comments to 70389 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Sun, 14 Apr 2024 23:56:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to ashish.is <at> lostca.se:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 14 Apr 2024 23:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: ashish.is <at> lostca.se
To: guix-patches <at> gnu.org
Cc: Ashish SHUKLA <ashish.is <at> lostca.se>
Subject: [PATCH] gnu: fossil: update to 2.23
Date: Sun, 14 Apr 2024 23:54:50 +0000
From: Ashish SHUKLA <ashish.is <at> lostca.se>

* gnu/packages/version-control.scm (fossil): Update to 2.23.

Signed-off-by: Ashish SHUKLA <ashish.is <at> lostca.se>
Change-Id: I1794e75cedc4a9bd878850e25686674cecd360e0
---
 gnu/packages/version-control.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 19f128d45f..923f67a6a4 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -3015,17 +3015,17 @@ (define-public git-annex-remote-rclone
 (define-public fossil
   (package
     (name "fossil")
-    (version "2.20")
+    (version "2.23")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
              "https://www.fossil-scm.org/home/tarball/"
-             "210e89a0597f225f49722b096cf5563bf193e920e02a9bd38503a906deacd416"
+             "47362306a7dd7c6fc3cab77cebe5d25469b0a9448479d9718eb5c49c8337b29"
              "/fossil-src-" version ".tar.gz"))
        ;; XXX: Currently the above hash must be manually updated.
        (sha256
-        (base32 "08g7img88n2nwcdkpzmg4aqbp2iy40nllgas53502dspm97ym4h8"))
+        (base32 "1r1kabvmlhc0qgyq8g9zhq8i0123x9dba9b71j4xc71k14kfqjm9"))
        (modules '((guix build utils)))
        (snippet
         '(delete-file-recursively "compat"))))
@@ -3035,7 +3035,7 @@ (define-public fossil
            which                        ;for tests only
            ed))                         ;ditto
     (inputs
-     (list openssl zlib sqlite))
+     (list openssl zlib sqlite-next))
     (arguments
      `(#:configure-flags (list "--with-openssl=auto"
                                "--disable-internal-sqlite")

base-commit: 4e7337536ba41e888a601c92fada8a4adca9d2c6
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Wed, 22 May 2024 00:03:01 GMT) Full text and rfc822 format available.

Message #8 received at 70389 <at> debbugs.gnu.org (full text, mbox):

From: ashish.is <at> lostca.se
To: 70389 <at> debbugs.gnu.org
Cc: Ashish SHUKLA <ashish.is <at> lostca.se>
Subject: [PATCH v2] gnu: fossil: Update to 2.24.
Date: Tue, 21 May 2024 23:59:46 +0000
From: Ashish SHUKLA <ashish.is <at> lostca.se>

* gnu/packages/version-control.scm (fossil): Update to 2.24.
[sources]: Switch to a simpler tarball URL. Add patches from
upstream to fix unit-tests.
[inputs]: Switch to sqlite-next as fossil needs bleeding edge
sqlite.

Change-Id: Id0cac2634282a0a141e2b17cb423c25e8aacee38
---
 gnu/packages/version-control.scm | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c01eb9decd..d985c531d0 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -3068,19 +3068,35 @@ (define-public git-annex-remote-rclone
     (license license:gpl3+)))
 
 (define-public fossil
+  (define (fossil-patch name from to hash)
+    (origin (method url-fetch)
+	    (uri (string-append "https://fossil-scm.org/home/vpatch?from=" from
+				"&to=" to))
+	    (sha256 (base32 hash))
+	    (file-name name)))
   (package
     (name "fossil")
-    (version "2.20")
+    (version "2.24")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://www.fossil-scm.org/home/tarball/"
-             "210e89a0597f225f49722b096cf5563bf193e920e02a9bd38503a906deacd416"
-             "/fossil-src-" version ".tar.gz"))
-       ;; XXX: Currently the above hash must be manually updated.
+	     "https://fossil-scm.org/home/tarball/version-" version "/fossil-" version ".tar.gz"))
        (sha256
-        (base32 "08g7img88n2nwcdkpzmg4aqbp2iy40nllgas53502dspm97ym4h8"))
+        (base32 "0k1gjvxbvvs98yspnf7nj6rb0c7yf60savq7jywbkgimd0bkrkcm"))
+       (patch-flags '("-p0"))
+       (patches `(,(fossil-patch "fossil-disable-tests.patch"
+			         "8be0372c10510437"
+			         "5ad708085a90365f"
+			         "1b4svsrz7cr1zi6qfpavj3ddm6dr0966jbgkbvgjz79ljqmpiasf")
+		  ,(fossil-patch "fossil-fix-json-test.patch"
+			         "fb4e90b662803e47"
+			         "17c01c549e73c6b8"
+			         "12gjzyxs22g9grv7qbgp9jg133bgcsj74621s05fk82j3fc7z59g")
+		  ,(fossil-patch "fossil-comment-utf-tests.patch"
+			         "5ad708085a90365f"
+			         "fb4e90b662803e47"
+			         "05h2mb6g0840yq74x1cdj95jmqb95i75h6g5v0rzqdc994b96cd4")))
        (modules '((guix build utils)))
        (snippet
         '(delete-file-recursively "compat"))))
@@ -3090,7 +3106,7 @@ (define-public fossil
            which                        ;for tests only
            ed))                         ;ditto
     (inputs
-     (list openssl zlib sqlite))
+     (list openssl zlib sqlite-next))
     (arguments
      `(#:configure-flags (list "--with-openssl=auto"
                                "--disable-internal-sqlite")

base-commit: 413ef75f89ac337f7ac3331a862c7c8cdc88aa64
-- 
2.45.1





Changed bug title to '[PATCH] gnu: fossil: update to 2.24' from '[PATCH] gnu: fossil: update to 2.23' Request was from Ashish SHUKLA <ashish.is <at> lostca.se> to control <at> debbugs.gnu.org. (Wed, 22 May 2024 00:21:02 GMT) Full text and rfc822 format available.

Information forwarded to ashish.is <at> lostca.se, ashish.is <at> lostca.se, guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Thu, 01 Aug 2024 21:49:02 GMT) Full text and rfc822 format available.

Message #13 received at 70389 <at> debbugs.gnu.org (full text, mbox):

From: ashish.is <at> lostca.se
To: 70389 <at> debbugs.gnu.org
Cc: Ashish SHUKLA <ashish.is <at> lostca.se>
Subject: [PATCH v2] gnu: fossil: Update to 2.24.
Date: Thu,  1 Aug 2024 21:44:19 +0000
From: Ashish SHUKLA <ashish.is <at> lostca.se>

* gnu/packages/version-control.scm (fossil): Update to 2.24.
[sources]: switch to a simpler tarball URL. (patches): Add patches
from upstream to fix test failures. [inputs]: Switch to sqlite-next
as fossil needs bleeding edge sqlite.

* gnu/packages/patches/fossil-comment-utf-tests.patch: New file.
* gnu/packages/patches/fossil-disable-tests.patch: New file.
* gnu/packages/patches/fossil-fix-json-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register them.

Change-Id: I0e4ffa6b5017cce345b28de953564e534282f6b4
---
Hi,

It seems fossil upstream has introduced a captcha on their web interface which
is where the patches in the previous revision were fetched from. This revision
bundles those patches.

Thanks!
Ashish

 gnu/local.mk                                  |   3 +
 .../patches/fossil-comment-utf-tests.patch    | 119 +++++++++++
 .../patches/fossil-disable-tests.patch        | 187 ++++++++++++++++++
 .../patches/fossil-fix-json-test.patch        |  18 ++
 gnu/packages/version-control.scm              |  16 +-
 5 files changed, 336 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/fossil-comment-utf-tests.patch
 create mode 100644 gnu/packages/patches/fossil-disable-tests.patch
 create mode 100644 gnu/packages/patches/fossil-fix-json-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 6d2b14e72d..d328533eee 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1240,6 +1240,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/foobillard++-pkg-config.patch		\
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
+  %D%/packages/patches/fossil-comment-utf-tests.patch		\
+  %D%/packages/patches/fossil-disable-tests.patch		\
+  %D%/packages/patches/fossil-fix-json-test.patch		\
   %D%/packages/patches/foxi-fix-build.patch			\
   %D%/packages/patches/fp16-implicit-double.patch		\
   %D%/packages/patches/fp16-system-libraries.patch		\
diff --git a/gnu/packages/patches/fossil-comment-utf-tests.patch b/gnu/packages/patches/fossil-comment-utf-tests.patch
new file mode 100644
index 0000000000..7f03362be2
--- /dev/null
+++ b/gnu/packages/patches/fossil-comment-utf-tests.patch
@@ -0,0 +1,119 @@
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -17609,25 +17609,25 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1179 utf-check-1179-2-129-1.jnk \
+-{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: yes
+-Looks like UTF-8: yes
+-Has flag LOOK_NUL: no
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1179 utf-check-1179-2-129-1.jnk \
++#{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: yes
++#Looks like UTF-8: yes
++#Has flag LOOK_NUL: no
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1180 utf-check-1180-2-130-0.jnk \
+ {File "%TEMP%/utf-check-1180-2-130-0.jnk" has 4 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+@@ -24121,41 +24121,41 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: yes
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1586 utf-check-1586-3-128-0.jnk \
+-{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-16: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: no
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
+-
+-utf-check 1587 utf-check-1587-3-128-1.jnk \
+-{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1586 utf-check-1586-3-128-0.jnk \
++#{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-16: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: no
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
++
++#utf-check 1587 utf-check-1587-3-128-1.jnk \
++#{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-8: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1588 utf-check-1588-3-129-0.jnk \
+ {File "%TEMP%/utf-check-1588-3-129-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: no
+
diff --git a/gnu/packages/patches/fossil-disable-tests.patch b/gnu/packages/patches/fossil-disable-tests.patch
new file mode 100644
index 0000000000..2aaf04e6d4
--- /dev/null
+++ b/gnu/packages/patches/fossil-disable-tests.patch
@@ -0,0 +1,187 @@
+Index: test/amend.test
+==================================================================
+--- test/amend.test
++++ test/amend.test
+@@ -313,10 +313,11 @@
+   }
+   foreach res [lsort -nocase $result] {
+     append t2exp "sym-$res*"
+   }
+   eval fossil amend $HASH $tags
++  set t1exp [string trimleft $t1exp ,]
+   test amend-tag-$tc.1 {[string match "*hash:*$HASH*tags:*$t1exp*" $RESULT]}
+   fossil tag ls --raw $HASH
+   test amend-tag-$tc.2 {[string match $t2exp $RESULT]}
+   fossil timeline -n 1
+   test amend-tag-$tc.3 {[string match $t3exp $RESULT]}
+
+Index: test/merge5.test
+==================================================================
+--- test/merge5.test
++++ test/merge5.test
+@@ -23,11 +23,11 @@
+ }
+ protOut {
+ fossil sqlite3 --no-repository reacts badly to SQL dumped from
+ repositories created from fossil older than version 2.0.
+ }
+-test merge5-sqlite3-issue false knownBug
++#test merge5-sqlite3-issue false knownBug
+ test_cleanup_then_return
+ 
+ # Verify the results of a check-out
+ #
+ proc checkout-test {testid expected_content} {
+
+Index: test/stash.test
+==================================================================
+--- test/stash.test
++++ test/stash.test
+@@ -168,14 +168,14 @@
+ 
+ ########
+ # fossil stash show|cat ?STASHID? ?DIFF-OPTIONS?
+ # fossil stash [g]diff ?STASHID? ?DIFF-OPTIONS?
+ 
+-fossil stash show
+-test stash-1-show {[normalize_result] eq $diff_stash_1}
+-fossil stash diff
+-test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
++#fossil stash show
++#test stash-1-show {[normalize_result] eq $diff_stash_1}
++#fossil stash diff
++#test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
+ 
+ ########
+ # fossil stash pop
+ 
+ stash-test 2 pop {
+@@ -206,16 +206,16 @@
+ # fossil: ./src/delta.c:231: checksum: Assertion '...' failed.
+ # Should be triggered by this stash-WY-1 test.
+ fossil checkout --force c1
+ fossil clean
+ fossil mv --soft f1 f1new
+-stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
+-  REVERT   f1
+-  DELETE   f1new
+-} -changes {
+-} -addremove {
+-} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
++#stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
++#  REVERT   f1
++#  DELETE   f1new
++#} -changes {
++#} -addremove {
++#} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
+ # TODO: add tests that verify the saved stash is sensible. Possibly
+ # by applying it and checking results. But until the SQLITE_CONSTRAINT
+ # error is fixed, there is nothing stashed to test.
+ 
+ 
+@@ -296,16 +296,17 @@
+ }] -changes {
+   RENAMED f2  ->  f2n
+ } -addremove {
+ } -exists {f1 f2n} -notexists {f2}
+ 
+-stash-test 3-2 {save -m f2n} {
+-  REVERT f2
+-  DELETE f2n
+-} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
++fossil stash save -m f2n
++#stash-test 3-2 {save -m f2n} {
++#  REVERT f2
++#  DELETE f2n
++#} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
+ fossil stash show
+-test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
++#test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
+ test stash-3-2-show-2 {[regexp {\sf2n} $RESULT]}
+ stash-test 3-2-pop {pop} {
+   UPDATE f1
+   UPDATE f2n
+ } -changes {
+
+Index: test/tester.tcl
+==================================================================
+--- test/tester.tcl
++++ test/tester.tcl
+@@ -308,10 +308,11 @@
+       comment-format \
+       crlf-glob \
+       crnl-glob \
+       default-csp \
+       default-perms \
++      default-skin \
+       diff-binary \
+       diff-command \
+       dont-commit \
+       dont-push \
+       dotfiles \
+
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -35,11 +35,11 @@
+   set i 1
+   foreach {fileName result} $args {
+     set fileName [file join $tempPath $fileName]
+     fossil test-looks-like-utf $fileName
+     set result [string map [list %TEMP% $tempPath \r\n \n] $result]
+-    # if {$::RESULT ne $result} {puts stdout $::RESULT}
++    # if {$::RESULT ne $result} {puts stdout $::RESULT; exit}
+     test utf-check-$testname.$i {$::RESULT eq $result}
+     incr i
+   }
+ }
+ 
+@@ -17613,12 +17613,12 @@
+ 
+ utf-check 1179 utf-check-1179-2-129-1.jnk \
+ {File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
++Looks like UTF-8: yes
++Has flag LOOK_NUL: no
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+@@ -24124,27 +24124,27 @@
+ Has flag LOOK_SHORT: no}
+ 
+ utf-check 1586 utf-check-1586-3-128-0.jnk \
+ {File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: no
+-Looks like UTF-8: no
++Starts with UTF-16 BOM: reversed
++Looks like UTF-16: no
+ Has flag LOOK_NUL: yes
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+ Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
++Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+ utf-check 1587 utf-check-1587-3-128-1.jnk \
+ {File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+ Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: no
++Starts with UTF-16 BOM: reversed
+ Looks like UTF-8: no
+ Has flag LOOK_NUL: yes
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+
diff --git a/gnu/packages/patches/fossil-fix-json-test.patch b/gnu/packages/patches/fossil-fix-json-test.patch
new file mode 100644
index 0000000000..adafce2e9e
--- /dev/null
+++ b/gnu/packages/patches/fossil-fix-json-test.patch
@@ -0,0 +1,18 @@
+Index: test/json.test
+==================================================================
+--- test/json.test
++++ test/json.test
+@@ -107,11 +107,11 @@
+     set request [subst {POST $url HTTP/1.0\r
+ Host: localhost\r
+ User-Agent: Fossil-Test\r
+ Cookie: $cookie\r
+ Content-Type: application/json
+-Content-Length $len
++Content-Length: $len
+ \r
+ $data}]
+   } else {
+     set request [subst {GET $url HTTP/1.0\r
+ Host: localhost\r
+
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9f67237d5d..0951eb6f23 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -53,6 +53,7 @@
 ;;; Copyright © 2023 Josselin Poiret <dev <at> jpoiret.xyz>
 ;;; Copyright © 2024 Hilton Chain <hako <at> ultrarare.space>
 ;;; Copyright © 2024 Suhail Singh <suhail <at> bayesians.ca>
+;;; Copyright © 2024 Ashish SHUKLA <ashish.is <at> lostca.se>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3132,17 +3133,18 @@ (define-public git-annex-remote-rclone
 (define-public fossil
   (package
     (name "fossil")
-    (version "2.20")
+    (version "2.24")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://www.fossil-scm.org/home/tarball/"
-             "210e89a0597f225f49722b096cf5563bf193e920e02a9bd38503a906deacd416"
-             "/fossil-src-" version ".tar.gz"))
-       ;; XXX: Currently the above hash must be manually updated.
+	     "https://fossil-scm.org/home/tarball/version-" version "/fossil-" version ".tar.gz"))
        (sha256
-        (base32 "08g7img88n2nwcdkpzmg4aqbp2iy40nllgas53502dspm97ym4h8"))
+        (base32 "0k1gjvxbvvs98yspnf7nj6rb0c7yf60savq7jywbkgimd0bkrkcm"))
+       (patch-flags '("-p0"))
+       (patches (search-patches "fossil-comment-utf-tests.patch"
+                                "fossil-disable-tests.patch"
+                                "fossil-fix-json-test.patch"))
        (modules '((guix build utils)))
        (snippet
         '(delete-file-recursively "compat"))))
@@ -3152,7 +3154,7 @@ (define-public fossil
            which                        ;for tests only
            ed))                         ;ditto
     (inputs
-     (list openssl zlib sqlite))
+     (list openssl zlib sqlite-next))
     (arguments
      `(#:configure-flags (list "--with-openssl=auto"
                                "--disable-internal-sqlite")

base-commit: 2b4e3c9847dce02e371ff4dce615789fdfd101fa
-- 
2.45.2





Changed bug title to '[PATCH v2] gnu: fossil: Update to 2.24.' from '[PATCH] gnu: fossil: update to 2.24' Request was from Ashish <ashish.is <at> lostca.se> to control <at> debbugs.gnu.org. (Thu, 01 Aug 2024 21:52:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Sun, 15 Sep 2024 22:01:02 GMT) Full text and rfc822 format available.

Message #18 received at 70389 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: ashish.is <at> lostca.se
Cc: 70389 <at> debbugs.gnu.org
Subject: Re: bug#70389: [PATCH v2] gnu: fossil: Update to 2.24.
Date: Sun, 15 Sep 2024 23:59:50 +0200
Hi,

ashish.is <at> lostca.se skribis:

> From: Ashish SHUKLA <ashish.is <at> lostca.se>
>
> * gnu/packages/version-control.scm (fossil): Update to 2.24.
> [sources]: switch to a simpler tarball URL. (patches): Add patches
> from upstream to fix test failures. [inputs]: Switch to sqlite-next
> as fossil needs bleeding edge sqlite.
>
> * gnu/packages/patches/fossil-comment-utf-tests.patch: New file.
> * gnu/packages/patches/fossil-disable-tests.patch: New file.
> * gnu/packages/patches/fossil-fix-json-test.patch: New file.
> * gnu/local.mk (dist_patch_DATA): Register them.
>
> Change-Id: I0e4ffa6b5017cce345b28de953564e534282f6b4
> ---
> Hi,
>
> It seems fossil upstream has introduced a captcha on their web interface which
> is where the patches in the previous revision were fetched from. This revision
> bundles those patches.

Right, this is terrible.

> diff --git a/gnu/packages/patches/fossil-comment-utf-tests.patch b/gnu/packages/patches/fossil-comment-utf-tests.patch
> new file mode 100644
> index 0000000000..7f03362be2
> --- /dev/null
> +++ b/gnu/packages/patches/fossil-comment-utf-tests.patch
> @@ -0,0 +1,119 @@
> +Index: test/utf.test

Could you add a couple of lines at the top of each patch to (1) briefly
state what they’re about and (2) where they come from (upstream
revisions or branches they were taken from, as could be seen in the
/home/vpatch?from=X&to=Y URLs)?

Otherwise LGTM, thanks!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Mon, 16 Sep 2024 03:32:02 GMT) Full text and rfc822 format available.

Message #21 received at 70389 <at> debbugs.gnu.org (full text, mbox):

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: 70389 <at> debbugs.gnu.org
Cc: Ashish SHUKLA <ashish.is <at> lostca.se>
Subject: [PATCH v3] gnu: fossil: Update to 2.24.
Date: Mon, 16 Sep 2024 03:29:40 +0000
* gnu/packages/version-control.scm (fossil): Update to 2.24.
[sources]: switch to a simpler tarball URL. (patches): Add patches
from upstream to fix test failures. [inputs]: Switch to sqlite-next
as fossil needs bleeding edge sqlite.

* gnu/packages/patches/fossil-comment-utf-tests.patch: New file.
* gnu/packages/patches/fossil-disable-tests.patch: New file.
* gnu/packages/patches/fossil-fix-json-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register them.

Change-Id: I0e4ffa6b5017cce345b28de953564e534282f6b4
---
Hi,

In this revision, the patches to fix/mask failing test cases are annotated with the upstream source URLs, and the commit messages.

HTH


 gnu/local.mk                                  |   3 +
 .../patches/fossil-comment-utf-tests.patch    | 124 ++++++++++++
 .../patches/fossil-disable-tests.patch        | 191 ++++++++++++++++++
 .../patches/fossil-fix-json-test.patch        |  22 ++
 gnu/packages/version-control.scm              |  16 +-
 5 files changed, 349 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/fossil-comment-utf-tests.patch
 create mode 100644 gnu/packages/patches/fossil-disable-tests.patch
 create mode 100644 gnu/packages/patches/fossil-fix-json-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fcdf174099..f609e48881 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1267,6 +1267,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/foobillard++-pkg-config.patch		\
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
+  %D%/packages/patches/fossil-comment-utf-tests.patch		\
+  %D%/packages/patches/fossil-disable-tests.patch		\
+  %D%/packages/patches/fossil-fix-json-test.patch		\
   %D%/packages/patches/foxi-fix-build.patch			\
   %D%/packages/patches/fp16-implicit-double.patch		\
   %D%/packages/patches/fp16-system-libraries.patch		\
diff --git a/gnu/packages/patches/fossil-comment-utf-tests.patch b/gnu/packages/patches/fossil-comment-utf-tests.patch
new file mode 100644
index 0000000000..1d3c676af8
--- /dev/null
+++ b/gnu/packages/patches/fossil-comment-utf-tests.patch
@@ -0,0 +1,124 @@
+Source: https://fossil-scm.org/home/vdiff?from=5ad708085a90365f&to=fb4e90b662803e47
+
+Comment out UTF tests 1179, 1586, and 1587 as they give different results on
+different platforms, for reasons unknown.
+
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -17609,25 +17609,25 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1179 utf-check-1179-2-129-1.jnk \
+-{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: yes
+-Looks like UTF-8: yes
+-Has flag LOOK_NUL: no
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1179 utf-check-1179-2-129-1.jnk \
++#{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: yes
++#Looks like UTF-8: yes
++#Has flag LOOK_NUL: no
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1180 utf-check-1180-2-130-0.jnk \
+ {File "%TEMP%/utf-check-1180-2-130-0.jnk" has 4 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+@@ -24121,41 +24121,41 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: yes
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1586 utf-check-1586-3-128-0.jnk \
+-{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-16: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: no
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
+-
+-utf-check 1587 utf-check-1587-3-128-1.jnk \
+-{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1586 utf-check-1586-3-128-0.jnk \
++#{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-16: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: no
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
++
++#utf-check 1587 utf-check-1587-3-128-1.jnk \
++#{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-8: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1588 utf-check-1588-3-129-0.jnk \
+ {File "%TEMP%/utf-check-1588-3-129-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: no
+
diff --git a/gnu/packages/patches/fossil-disable-tests.patch b/gnu/packages/patches/fossil-disable-tests.patch
new file mode 100644
index 0000000000..06bc3cb71a
--- /dev/null
+++ b/gnu/packages/patches/fossil-disable-tests.patch
@@ -0,0 +1,191 @@
+Source: https://fossil-scm.org/home/vdiff?to=5ad708085a90365f&from=8be0372c10510437
+
+Fix or disable brittle test cases that were broken by changes in 2.23.
+
+Index: test/amend.test
+==================================================================
+--- test/amend.test
++++ test/amend.test
+@@ -313,10 +313,11 @@
+   }
+   foreach res [lsort -nocase $result] {
+     append t2exp "sym-$res*"
+   }
+   eval fossil amend $HASH $tags
++  set t1exp [string trimleft $t1exp ,]
+   test amend-tag-$tc.1 {[string match "*hash:*$HASH*tags:*$t1exp*" $RESULT]}
+   fossil tag ls --raw $HASH
+   test amend-tag-$tc.2 {[string match $t2exp $RESULT]}
+   fossil timeline -n 1
+   test amend-tag-$tc.3 {[string match $t3exp $RESULT]}
+
+Index: test/merge5.test
+==================================================================
+--- test/merge5.test
++++ test/merge5.test
+@@ -23,11 +23,11 @@
+ }
+ protOut {
+ fossil sqlite3 --no-repository reacts badly to SQL dumped from
+ repositories created from fossil older than version 2.0.
+ }
+-test merge5-sqlite3-issue false knownBug
++#test merge5-sqlite3-issue false knownBug
+ test_cleanup_then_return
+ 
+ # Verify the results of a check-out
+ #
+ proc checkout-test {testid expected_content} {
+
+Index: test/stash.test
+==================================================================
+--- test/stash.test
++++ test/stash.test
+@@ -168,14 +168,14 @@
+ 
+ ########
+ # fossil stash show|cat ?STASHID? ?DIFF-OPTIONS?
+ # fossil stash [g]diff ?STASHID? ?DIFF-OPTIONS?
+ 
+-fossil stash show
+-test stash-1-show {[normalize_result] eq $diff_stash_1}
+-fossil stash diff
+-test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
++#fossil stash show
++#test stash-1-show {[normalize_result] eq $diff_stash_1}
++#fossil stash diff
++#test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
+ 
+ ########
+ # fossil stash pop
+ 
+ stash-test 2 pop {
+@@ -206,16 +206,16 @@
+ # fossil: ./src/delta.c:231: checksum: Assertion '...' failed.
+ # Should be triggered by this stash-WY-1 test.
+ fossil checkout --force c1
+ fossil clean
+ fossil mv --soft f1 f1new
+-stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
+-  REVERT   f1
+-  DELETE   f1new
+-} -changes {
+-} -addremove {
+-} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
++#stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
++#  REVERT   f1
++#  DELETE   f1new
++#} -changes {
++#} -addremove {
++#} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
+ # TODO: add tests that verify the saved stash is sensible. Possibly
+ # by applying it and checking results. But until the SQLITE_CONSTRAINT
+ # error is fixed, there is nothing stashed to test.
+ 
+ 
+@@ -296,16 +296,17 @@
+ }] -changes {
+   RENAMED f2  ->  f2n
+ } -addremove {
+ } -exists {f1 f2n} -notexists {f2}
+ 
+-stash-test 3-2 {save -m f2n} {
+-  REVERT f2
+-  DELETE f2n
+-} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
++fossil stash save -m f2n
++#stash-test 3-2 {save -m f2n} {
++#  REVERT f2
++#  DELETE f2n
++#} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
+ fossil stash show
+-test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
++#test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
+ test stash-3-2-show-2 {[regexp {\sf2n} $RESULT]}
+ stash-test 3-2-pop {pop} {
+   UPDATE f1
+   UPDATE f2n
+ } -changes {
+
+Index: test/tester.tcl
+==================================================================
+--- test/tester.tcl
++++ test/tester.tcl
+@@ -308,10 +308,11 @@
+       comment-format \
+       crlf-glob \
+       crnl-glob \
+       default-csp \
+       default-perms \
++      default-skin \
+       diff-binary \
+       diff-command \
+       dont-commit \
+       dont-push \
+       dotfiles \
+
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -35,11 +35,11 @@
+   set i 1
+   foreach {fileName result} $args {
+     set fileName [file join $tempPath $fileName]
+     fossil test-looks-like-utf $fileName
+     set result [string map [list %TEMP% $tempPath \r\n \n] $result]
+-    # if {$::RESULT ne $result} {puts stdout $::RESULT}
++    # if {$::RESULT ne $result} {puts stdout $::RESULT; exit}
+     test utf-check-$testname.$i {$::RESULT eq $result}
+     incr i
+   }
+ }
+ 
+@@ -17613,12 +17613,12 @@
+ 
+ utf-check 1179 utf-check-1179-2-129-1.jnk \
+ {File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
++Looks like UTF-8: yes
++Has flag LOOK_NUL: no
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+@@ -24124,27 +24124,27 @@
+ Has flag LOOK_SHORT: no}
+ 
+ utf-check 1586 utf-check-1586-3-128-0.jnk \
+ {File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: no
+-Looks like UTF-8: no
++Starts with UTF-16 BOM: reversed
++Looks like UTF-16: no
+ Has flag LOOK_NUL: yes
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+ Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
++Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+ utf-check 1587 utf-check-1587-3-128-1.jnk \
+ {File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+ Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: no
++Starts with UTF-16 BOM: reversed
+ Looks like UTF-8: no
+ Has flag LOOK_NUL: yes
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+
diff --git a/gnu/packages/patches/fossil-fix-json-test.patch b/gnu/packages/patches/fossil-fix-json-test.patch
new file mode 100644
index 0000000000..7d26298028
--- /dev/null
+++ b/gnu/packages/patches/fossil-fix-json-test.patch
@@ -0,0 +1,22 @@
+Source: https://fossil-scm.org/home/vdiff?to=17c01c549e73c6b8&from=fb4e90b662803e47
+
+Fix json-cap-POSTenv-name, json-cap-POSTenv-notsetup tests
+
+Index: test/json.test
+==================================================================
+--- test/json.test
++++ test/json.test
+@@ -107,11 +107,11 @@
+     set request [subst {POST $url HTTP/1.0\r
+ Host: localhost\r
+ User-Agent: Fossil-Test\r
+ Cookie: $cookie\r
+ Content-Type: application/json
+-Content-Length $len
++Content-Length: $len
+ \r
+ $data}]
+   } else {
+     set request [subst {GET $url HTTP/1.0\r
+ Host: localhost\r
+
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 852879901a..f438b7ada5 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -56,6 +56,7 @@
 ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
 ;;; Copyright © 2024 Suhail Singh <suhail <at> bayesians.ca>
 ;;; Copyright © 2024 Simon Tournier <zimon.toutoune <at> gmail.com>
+;;; Copyright © 2024 Ashish SHUKLA <ashish.is <at> lostca.se>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3223,17 +3224,18 @@ (define-public git-annex-remote-rclone
 (define-public fossil
   (package
     (name "fossil")
-    (version "2.20")
+    (version "2.24")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://www.fossil-scm.org/home/tarball/"
-             "210e89a0597f225f49722b096cf5563bf193e920e02a9bd38503a906deacd416"
-             "/fossil-src-" version ".tar.gz"))
-       ;; XXX: Currently the above hash must be manually updated.
+	     "https://fossil-scm.org/home/tarball/version-" version "/fossil-" version ".tar.gz"))
        (sha256
-        (base32 "08g7img88n2nwcdkpzmg4aqbp2iy40nllgas53502dspm97ym4h8"))
+        (base32 "0k1gjvxbvvs98yspnf7nj6rb0c7yf60savq7jywbkgimd0bkrkcm"))
+       (patch-flags '("-p0"))
+       (patches (search-patches "fossil-comment-utf-tests.patch"
+                                "fossil-disable-tests.patch"
+                                "fossil-fix-json-test.patch"))
        (modules '((guix build utils)))
        (snippet
         '(delete-file-recursively "compat"))))
@@ -3243,7 +3245,7 @@ (define-public fossil
            which                        ;for tests only
            ed))                         ;ditto
     (inputs
-     (list openssl zlib sqlite))
+     (list openssl zlib sqlite-next))
     (arguments
      `(#:configure-flags (list "--with-openssl=auto"
                                "--disable-internal-sqlite")

base-commit: 8bb98e67cb3ff0a73463787654ab6460a3a9db0a
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Mon, 16 Sep 2024 15:51:01 GMT) Full text and rfc822 format available.

Message #24 received at 70389 <at> debbugs.gnu.org (full text, mbox):

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: 70389 <at> debbugs.gnu.org
Cc: Ashish SHUKLA <ashish.is <at> lostca.se>
Subject: [PATCH v4] gnu: fossil: Update to 2.24.
Date: Mon, 16 Sep 2024 15:48:38 +0000
* gnu/packages/version-control.scm (fossil): Update to 2.24.
[sources]: switch to a simpler tarball URL. (patches): Add patches
from upstream to fix test failures. [inputs]: Switch to sqlite-next
as fossil needs bleeding edge sqlite.

* gnu/packages/patches/fossil-comment-utf-tests.patch: New file.
* gnu/packages/patches/fossil-disable-tests.patch: New file.
* gnu/packages/patches/fossil-fix-json-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register them.

Change-Id: I0e4ffa6b5017cce345b28de953564e534282f6b4
---
Hi,

This revision fixes the build error in previous revision that was sneaked in due to reordering of the patches on my part.

Thanks!
Ashish


 gnu/local.mk                                  |   3 +
 .../patches/fossil-comment-utf-tests.patch    | 124 ++++++++++++
 .../patches/fossil-disable-tests.patch        | 191 ++++++++++++++++++
 .../patches/fossil-fix-json-test.patch        |  22 ++
 gnu/packages/version-control.scm              |  16 +-
 5 files changed, 349 insertions(+), 7 deletions(-)
 create mode 100644 gnu/packages/patches/fossil-comment-utf-tests.patch
 create mode 100644 gnu/packages/patches/fossil-disable-tests.patch
 create mode 100644 gnu/packages/patches/fossil-fix-json-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index fcdf174099..f609e48881 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1267,6 +1267,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/foobillard++-pkg-config.patch		\
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
+  %D%/packages/patches/fossil-comment-utf-tests.patch		\
+  %D%/packages/patches/fossil-disable-tests.patch		\
+  %D%/packages/patches/fossil-fix-json-test.patch		\
   %D%/packages/patches/foxi-fix-build.patch			\
   %D%/packages/patches/fp16-implicit-double.patch		\
   %D%/packages/patches/fp16-system-libraries.patch		\
diff --git a/gnu/packages/patches/fossil-comment-utf-tests.patch b/gnu/packages/patches/fossil-comment-utf-tests.patch
new file mode 100644
index 0000000000..1d3c676af8
--- /dev/null
+++ b/gnu/packages/patches/fossil-comment-utf-tests.patch
@@ -0,0 +1,124 @@
+Source: https://fossil-scm.org/home/vdiff?from=5ad708085a90365f&to=fb4e90b662803e47
+
+Comment out UTF tests 1179, 1586, and 1587 as they give different results on
+different platforms, for reasons unknown.
+
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -17609,25 +17609,25 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1179 utf-check-1179-2-129-1.jnk \
+-{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: yes
+-Looks like UTF-8: yes
+-Has flag LOOK_NUL: no
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1179 utf-check-1179-2-129-1.jnk \
++#{File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: yes
++#Looks like UTF-8: yes
++#Has flag LOOK_NUL: no
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1180 utf-check-1180-2-130-0.jnk \
+ {File "%TEMP%/utf-check-1180-2-130-0.jnk" has 4 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+@@ -24121,41 +24121,41 @@
+ Has flag LOOK_LONG: no
+ Has flag LOOK_INVALID: yes
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+-utf-check 1586 utf-check-1586-3-128-0.jnk \
+-{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-16: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: no
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
+-
+-utf-check 1587 utf-check-1587-3-128-1.jnk \
+-{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+-Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: reversed
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
+-Has flag LOOK_CR: no
+-Has flag LOOK_LONE_CR: no
+-Has flag LOOK_LF: no
+-Has flag LOOK_LONE_LF: no
+-Has flag LOOK_CRLF: no
+-Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
+-Has flag LOOK_ODD: no
+-Has flag LOOK_SHORT: no}
++#utf-check 1586 utf-check-1586-3-128-0.jnk \
++#{File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-16: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: no
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
++
++#utf-check 1587 utf-check-1587-3-128-1.jnk \
++#{File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
++#Starts with UTF-8 BOM: no
++#Starts with UTF-16 BOM: reversed
++#Looks like UTF-8: no
++#Has flag LOOK_NUL: yes
++#Has flag LOOK_CR: no
++#Has flag LOOK_LONE_CR: no
++#Has flag LOOK_LF: no
++#Has flag LOOK_LONE_LF: no
++#Has flag LOOK_CRLF: no
++#Has flag LOOK_LONG: no
++#Has flag LOOK_INVALID: yes
++#Has flag LOOK_ODD: no
++#Has flag LOOK_SHORT: no}
+ 
+ utf-check 1588 utf-check-1588-3-129-0.jnk \
+ {File "%TEMP%/utf-check-1588-3-129-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: no
+
diff --git a/gnu/packages/patches/fossil-disable-tests.patch b/gnu/packages/patches/fossil-disable-tests.patch
new file mode 100644
index 0000000000..06bc3cb71a
--- /dev/null
+++ b/gnu/packages/patches/fossil-disable-tests.patch
@@ -0,0 +1,191 @@
+Source: https://fossil-scm.org/home/vdiff?to=5ad708085a90365f&from=8be0372c10510437
+
+Fix or disable brittle test cases that were broken by changes in 2.23.
+
+Index: test/amend.test
+==================================================================
+--- test/amend.test
++++ test/amend.test
+@@ -313,10 +313,11 @@
+   }
+   foreach res [lsort -nocase $result] {
+     append t2exp "sym-$res*"
+   }
+   eval fossil amend $HASH $tags
++  set t1exp [string trimleft $t1exp ,]
+   test amend-tag-$tc.1 {[string match "*hash:*$HASH*tags:*$t1exp*" $RESULT]}
+   fossil tag ls --raw $HASH
+   test amend-tag-$tc.2 {[string match $t2exp $RESULT]}
+   fossil timeline -n 1
+   test amend-tag-$tc.3 {[string match $t3exp $RESULT]}
+
+Index: test/merge5.test
+==================================================================
+--- test/merge5.test
++++ test/merge5.test
+@@ -23,11 +23,11 @@
+ }
+ protOut {
+ fossil sqlite3 --no-repository reacts badly to SQL dumped from
+ repositories created from fossil older than version 2.0.
+ }
+-test merge5-sqlite3-issue false knownBug
++#test merge5-sqlite3-issue false knownBug
+ test_cleanup_then_return
+ 
+ # Verify the results of a check-out
+ #
+ proc checkout-test {testid expected_content} {
+
+Index: test/stash.test
+==================================================================
+--- test/stash.test
++++ test/stash.test
+@@ -168,14 +168,14 @@
+ 
+ ########
+ # fossil stash show|cat ?STASHID? ?DIFF-OPTIONS?
+ # fossil stash [g]diff ?STASHID? ?DIFF-OPTIONS?
+ 
+-fossil stash show
+-test stash-1-show {[normalize_result] eq $diff_stash_1}
+-fossil stash diff
+-test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
++#fossil stash show
++#test stash-1-show {[normalize_result] eq $diff_stash_1}
++#fossil stash diff
++#test stash-1-diff {[normalize_result] eq $diff_stash_1} knownBug
+ 
+ ########
+ # fossil stash pop
+ 
+ stash-test 2 pop {
+@@ -206,16 +206,16 @@
+ # fossil: ./src/delta.c:231: checksum: Assertion '...' failed.
+ # Should be triggered by this stash-WY-1 test.
+ fossil checkout --force c1
+ fossil clean
+ fossil mv --soft f1 f1new
+-stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
+-  REVERT   f1
+-  DELETE   f1new
+-} -changes {
+-} -addremove {
+-} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
++#stash-test WY-1 {-expectError save -m "Reported 2016-02-09"} {
++#  REVERT   f1
++#  DELETE   f1new
++#} -changes {
++#} -addremove {
++#} -exists {f1 f2 f3} -notexists {f1new} -knownbugs {-code -result}
+ # TODO: add tests that verify the saved stash is sensible. Possibly
+ # by applying it and checking results. But until the SQLITE_CONSTRAINT
+ # error is fixed, there is nothing stashed to test.
+ 
+ 
+@@ -296,16 +296,17 @@
+ }] -changes {
+   RENAMED f2  ->  f2n
+ } -addremove {
+ } -exists {f1 f2n} -notexists {f2}
+ 
+-stash-test 3-2 {save -m f2n} {
+-  REVERT f2
+-  DELETE f2n
+-} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
++fossil stash save -m f2n
++#stash-test 3-2 {save -m f2n} {
++#  REVERT f2
++#  DELETE f2n
++#} -exists {f1 f2} -notexists {f2n} -knownbugs {-result}
+ fossil stash show
+-test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
++#test stash-3-2-show-1 {![regexp {\sf1} $RESULT]} knownBug
+ test stash-3-2-show-2 {[regexp {\sf2n} $RESULT]}
+ stash-test 3-2-pop {pop} {
+   UPDATE f1
+   UPDATE f2n
+ } -changes {
+
+Index: test/tester.tcl
+==================================================================
+--- test/tester.tcl
++++ test/tester.tcl
+@@ -308,10 +308,11 @@
+       comment-format \
+       crlf-glob \
+       crnl-glob \
+       default-csp \
+       default-perms \
++      default-skin \
+       diff-binary \
+       diff-command \
+       dont-commit \
+       dont-push \
+       dotfiles \
+
+Index: test/utf.test
+==================================================================
+--- test/utf.test
++++ test/utf.test
+@@ -35,11 +35,11 @@
+   set i 1
+   foreach {fileName result} $args {
+     set fileName [file join $tempPath $fileName]
+     fossil test-looks-like-utf $fileName
+     set result [string map [list %TEMP% $tempPath \r\n \n] $result]
+-    # if {$::RESULT ne $result} {puts stdout $::RESULT}
++    # if {$::RESULT ne $result} {puts stdout $::RESULT; exit}
+     test utf-check-$testname.$i {$::RESULT eq $result}
+     incr i
+   }
+ }
+ 
+@@ -17613,12 +17613,12 @@
+ 
+ utf-check 1179 utf-check-1179-2-129-1.jnk \
+ {File "%TEMP%/utf-check-1179-2-129-1.jnk" has 7 bytes.
+ Starts with UTF-8 BOM: no
+ Starts with UTF-16 BOM: yes
+-Looks like UTF-8: no
+-Has flag LOOK_NUL: yes
++Looks like UTF-8: yes
++Has flag LOOK_NUL: no
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+@@ -24124,27 +24124,27 @@
+ Has flag LOOK_SHORT: no}
+ 
+ utf-check 1586 utf-check-1586-3-128-0.jnk \
+ {File "%TEMP%/utf-check-1586-3-128-0.jnk" has 6 bytes.
+ Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: no
+-Looks like UTF-8: no
++Starts with UTF-16 BOM: reversed
++Looks like UTF-16: no
+ Has flag LOOK_NUL: yes
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+ Has flag LOOK_LONE_LF: no
+ Has flag LOOK_CRLF: no
+ Has flag LOOK_LONG: no
+-Has flag LOOK_INVALID: yes
++Has flag LOOK_INVALID: no
+ Has flag LOOK_ODD: no
+ Has flag LOOK_SHORT: no}
+ 
+ utf-check 1587 utf-check-1587-3-128-1.jnk \
+ {File "%TEMP%/utf-check-1587-3-128-1.jnk" has 7 bytes.
+ Starts with UTF-8 BOM: no
+-Starts with UTF-16 BOM: no
++Starts with UTF-16 BOM: reversed
+ Looks like UTF-8: no
+ Has flag LOOK_NUL: yes
+ Has flag LOOK_CR: no
+ Has flag LOOK_LONE_CR: no
+ Has flag LOOK_LF: no
+
diff --git a/gnu/packages/patches/fossil-fix-json-test.patch b/gnu/packages/patches/fossil-fix-json-test.patch
new file mode 100644
index 0000000000..7d26298028
--- /dev/null
+++ b/gnu/packages/patches/fossil-fix-json-test.patch
@@ -0,0 +1,22 @@
+Source: https://fossil-scm.org/home/vdiff?to=17c01c549e73c6b8&from=fb4e90b662803e47
+
+Fix json-cap-POSTenv-name, json-cap-POSTenv-notsetup tests
+
+Index: test/json.test
+==================================================================
+--- test/json.test
++++ test/json.test
+@@ -107,11 +107,11 @@
+     set request [subst {POST $url HTTP/1.0\r
+ Host: localhost\r
+ User-Agent: Fossil-Test\r
+ Cookie: $cookie\r
+ Content-Type: application/json
+-Content-Length $len
++Content-Length: $len
+ \r
+ $data}]
+   } else {
+     set request [subst {GET $url HTTP/1.0\r
+ Host: localhost\r
+
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 852879901a..14ec018205 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -56,6 +56,7 @@
 ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
 ;;; Copyright © 2024 Suhail Singh <suhail <at> bayesians.ca>
 ;;; Copyright © 2024 Simon Tournier <zimon.toutoune <at> gmail.com>
+;;; Copyright © 2024 Ashish SHUKLA <ashish.is <at> lostca.se>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3223,17 +3224,18 @@ (define-public git-annex-remote-rclone
 (define-public fossil
   (package
     (name "fossil")
-    (version "2.20")
+    (version "2.24")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://www.fossil-scm.org/home/tarball/"
-             "210e89a0597f225f49722b096cf5563bf193e920e02a9bd38503a906deacd416"
-             "/fossil-src-" version ".tar.gz"))
-       ;; XXX: Currently the above hash must be manually updated.
+	     "https://fossil-scm.org/home/tarball/version-" version "/fossil-" version ".tar.gz"))
        (sha256
-        (base32 "08g7img88n2nwcdkpzmg4aqbp2iy40nllgas53502dspm97ym4h8"))
+        (base32 "0k1gjvxbvvs98yspnf7nj6rb0c7yf60savq7jywbkgimd0bkrkcm"))
+       (patch-flags '("-p0"))
+       (patches (search-patches "fossil-disable-tests.patch"
+                                "fossil-comment-utf-tests.patch"
+                                "fossil-fix-json-test.patch"))
        (modules '((guix build utils)))
        (snippet
         '(delete-file-recursively "compat"))))
@@ -3243,7 +3245,7 @@ (define-public fossil
            which                        ;for tests only
            ed))                         ;ditto
     (inputs
-     (list openssl zlib sqlite))
+     (list openssl zlib sqlite-next))
     (arguments
      `(#:configure-flags (list "--with-openssl=auto"
                                "--disable-internal-sqlite")

base-commit: ee64bcfb796ef36db4b63f79540627fb25f3320a
-- 
2.46.0





Changed bug title to '[PATCH v4] gnu: fossil: Update to 2.24.' from '[PATCH v2] gnu: fossil: Update to 2.24.' Request was from "Ashish SHUKLA" <ashish.is <at> lostca.se> to control <at> debbugs.gnu.org. (Mon, 16 Sep 2024 15:53:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#70389; Package guix-patches. (Tue, 19 Nov 2024 04:55:02 GMT) Full text and rfc822 format available.

Message #29 received at 70389 <at> debbugs.gnu.org (full text, mbox):

From: ashish.is <at> lostca.se
To: 70389 <at> debbugs.gnu.org
Cc: Ashish SHUKLA <ashish.is <at> lostca.se>
Subject: [PATCH v5] gnu: fossil: Update to 2.25.
Date: Tue, 19 Nov 2024 04:53:46 +0000
From: Ashish SHUKLA <ashish.is <at> lostca.se>

* gnu/packages/version-control.scm (fossil): Update to 2.25.
[source]: switch to a simpler tarball URL.
[arguments]<configure-flags>: Add flag to enable JSON support.

Change-Id: I644dff44ce96d7f42e92cdbc994c4096ac55bf10
---
 gnu/packages/version-control.scm | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index c892a83a98..e39c57c137 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -3309,20 +3309,15 @@ (define-public git-annex-remote-rclone
 (define-public fossil
   (package
     (name "fossil")
-    (version "2.23")
+    (version "2.25")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://www.fossil-scm.org/home/tarball/"
-             "47362306a7dd7c6fc3cab77cebe5d25469b0a9448479d9718eb5c49c8337b29"
-             "/fossil-src-" version ".tar.gz"))
-       ;; XXX: Currently the above hash must be manually updated.
+	     "https://fossil-scm.org/home/tarball/version-" version
+	     "/fossil-" version ".tar.gz"))
        (sha256
-        (base32 "1r1kabvmlhc0qgyq8g9zhq8i0123x9dba9b71j4xc71k14kfqjm9"))
-       (modules '((guix build utils)))
-       (snippet
-        '(delete-file-recursively "compat"))))
+        (base32 "18gws90by2q6a6rk7h3mx46pn79lz4zi3saxlyrdz5982mw9rvp4"))))
     (build-system gnu-build-system)
     (native-inputs
      (list tcl                          ;for configuration only
@@ -3333,6 +3328,7 @@ (define-public fossil
      (list openssl zlib sqlite-next))
     (arguments
      `(#:configure-flags (list "--with-openssl=auto"
+                               "--enable-json"
                                "--disable-internal-sqlite")
        #:test-target "test"
        #:phases (modify-phases %standard-phases

base-commit: 4473f8ae902c2192cab6919363a9101ce9861e45
-- 
2.47.0





Changed bug title to '[PATCH v5] gnu: fossil: Update to 2.25.' from '[PATCH v4] gnu: fossil: Update to 2.24.' Request was from "Ashish SHUKLA" <ashish.is <at> lostca.se> to control <at> debbugs.gnu.org. (Tue, 19 Nov 2024 04:55:02 GMT) Full text and rfc822 format available.

Reply sent to 宋文武 <iyzsong <at> envs.net>:
You have taken responsibility. (Tue, 04 Feb 2025 09:47:02 GMT) Full text and rfc822 format available.

Notification sent to ashish.is <at> lostca.se:
bug acknowledged by developer. (Tue, 04 Feb 2025 09:47:02 GMT) Full text and rfc822 format available.

Message #36 received at 70389-done <at> debbugs.gnu.org (full text, mbox):

From: 宋文武 <iyzsong <at> envs.net>
To: ashish.is <at> lostca.se
Cc: 70389-done <at> debbugs.gnu.org
Subject: Re: [bug#70389] [PATCH v5] gnu: fossil: Update to 2.25.
Date: Tue, 04 Feb 2025 17:50:12 +0800
ashish.is <at> lostca.se writes:

> From: Ashish SHUKLA <ashish.is <at> lostca.se>
>
> * gnu/packages/version-control.scm (fossil): Update to 2.25.
> [source]: switch to a simpler tarball URL.
> [arguments]<configure-flags>: Add flag to enable JSON support.

Pushed to master, thank you!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 04 Mar 2025 12:24:19 GMT) Full text and rfc822 format available.

This bug report was last modified 9 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.