Toggle diff (419 lines)
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@qq.com>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;; Copyright © 2024 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2024 Ashish SHUKLA <ashish.is@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