~ruther/guix-local

7a3f94054152777c5cdf50771febc6bfbc54a3fd — Efraim Flashner 9 years ago bb8b543
gnu: fossil: Update to 1.35.

* gnu/packages/version-control.scm (fossil): Update to 1.35.
[source]: Download from fossil-scm.org, remove patch, remove snippet.
* gnu/packages/patches/fossil-test-fixes.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 4 insertions(+), 215 deletions(-)

M gnu/local.mk
D gnu/packages/patches/fossil-test-fixes.patch
M gnu/packages/version-control.scm
M gnu/local.mk => gnu/local.mk +0 -1
@@ 510,7 510,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/fltk-xfont-on-demand.patch		\
  %D%/packages/patches/fontconfig-CVE-2016-5384.patch		\
  %D%/packages/patches/fontforge-svg-modtime.patch		\
  %D%/packages/patches/fossil-test-fixes.patch			\
  %D%/packages/patches/freeimage-CVE-2015-0852.patch		\
  %D%/packages/patches/gawk-fts-test.patch			\
  %D%/packages/patches/gawk-shell.patch				\

D gnu/packages/patches/fossil-test-fixes.patch => gnu/packages/patches/fossil-test-fixes.patch +0 -189
@@ 1,189 0,0 @@
From upstream commit https://www.fossil-scm.org/fossil/info/19c216391a0ad79e

--- fossil-src-1.34/test/file1.test
+++ fossil-src-1.34/test/file1.test
@@ -15,10 +15,12 @@
 #
 ############################################################################
 #
 # File utilities
 #
+
+repo_init
 
 proc simplify-name {testname args} {
   set i 1
   foreach {path result} $args {
     fossil test-simplify-name $path
@@ -65,10 +67,13 @@
 
 if {$::tcl_platform(os)=="Windows NT"} {
   simplify-name 108 //?/a:/a/b a:/a/b //?/UNC/a/b //a/b //?/ {}
   simplify-name 109 \\\\?\\a:\\a\\b a:/a/b \\\\?\\UNC\\a\\b //a/b \\\\?\\ {}
 }
+
+# This is needed because we are now running outside of the Fossil checkout.
+file mkdir file1; cd file1
 
 # Those directories are only needed for the testcase being able to "--chdir" to it.
 file mkdir test1
 file mkdir test1/test2

From upstream commit https://www.fossil-scm.org/fossil/info/ad6de6383391bd4d
 
--- fossil-src-1.34/test/utf.test
+++ fossil-src-1.34/test/utf.test
@@ -39,26 +39,29 @@
     test utf-check-$testname.$i {$::RESULT eq $result}
     incr i
   }
 }
 
+unset -nocomplain enc
 array set enc [list     \
       0 binary          \
       1 binary          \
       2 unicode         \
       3 unicode-reverse \
 ]
 
+unset -nocomplain bom
 array set bom [list                                         \
       0 ""                                                  \
       1 \xEF\xBB\xBF                                        \
       2 [expr {$tcl_platform(byteOrder) eq "littleEndian" ? \
             "\xFF\xFE" : "\xFE\xFF"}]                       \
       3 [expr {$tcl_platform(byteOrder) eq "littleEndian" ? \
             "\xFE\xFF" : "\xFF\xFE"}]                       \
 ]
 
+unset -nocomplain data
 array set data [list                          \
       0 ""                                    \
       1 \r                                    \
       2 \n                                    \
       3 \r\n                                  \
@@ -239,10 +242,11 @@
     178 \xF4\x90\x80\x80\r                    \
     179 \xF4\x90\x80\x80\n                    \
     180 \xF4\x90\x80\x80\r\n                  \
 ]
 
+unset -nocomplain extraData
 array set extraData [list                     \
       0 ""                                    \
       1 Z                                     \
 ]

Backport from upstream https://www.fossil-scm.org/fossil/info/60285f5876512817
with additional non-zero exit in case of failures.

--- fossil-src-1.34/test/merge6.test
+++ fossil-src-1.34/test/merge6.test
@@ -62,6 +62,6 @@
 fossil ls
 
 test merge_multi-4 {[normalize_result] eq {f1
 f2
 f3
-f4}}
+f4}} knownBug

--- fossil-src-1.34/test/merge_renames.test
+++ fossil-src-1.34/test/merge_renames.test
@@ -156,13 +156,13 @@
 }
 
 if {$deletes!=0} {
     # failed
     protOut "Error, the merge should not delete any file"
-    test merge_renames-2 0
+    test merge_renames-3 0
 } else {
-    test merge_renames-2 1
+    test merge_renames-3 1
 }
 
 ######################################
 #  Test 4                            #
 #  Reported: Ticket [67176c3aa4]     #
@@ -198,14 +198,14 @@
 
 fossil ls
 
 test merge_renames-5 {[normalize_result] eq {f1
 f2
-f3}}
+f3}} knownBug
 
 ######################################
 #
 # Tests for troubles not specifically linked with renames but that I'd like to
 # write:
 #  [c26c63eb1b] - 'merge --backout' does not handle conflicts properly
 #  [953031915f] - Lack of warning when overwriting extra files
 #  [4df5f38f1e] - Troubles merging a file delete with a file change

--- fossil-src-1.34/test/tester.tcl
+++ fossil-src-1.34/test/tester.tcl
@@ -58,10 +58,18 @@
   set VERBOSE 1
   set argv [lreplace $argv $i $i]
 } else {
   set VERBOSE 0
 }
+
+set i [lsearch $argv -strict]
+if {$i>=0} {
+  set STRICT 1
+  set argv [lreplace $argv $i $i]
+} else {
+  set STRICT 0
+}
 
 if {[llength $argv]==0} {
   foreach f [lsort [glob $testdir/*.test]] {
     set base [file root [file tail $f]]
     lappend argv $base
@@ -327,20 +335,30 @@
 }
 
 # Perform a test
 #
 set test_count 0
-proc test {name expr} {
+proc test {name expr {constraints ""}} {
   global bad_test test_count
   incr test_count
+  set knownBug [expr {"knownBug" in $constraints}]
   set r [uplevel 1 [list expr $expr]]
   if {$r} {
-    protOut "test $name OK"
+    if {$knownBug && !$::STRICT} {
+      protOut "test $name OK (knownBug)?"
+    } else {
+      protOut "test $name OK"
+    }
   } else {
-    protOut "test $name FAILED!"
-    lappend bad_test $name
-    if {$::HALT} exit
+    if {$knownBug && !$::STRICT} {
+      protOut "test $name FAILED (knownBug)!"
+    } else {
+      protOut "test $name FAILED!"
+      if {$::VERBOSE} {protOut "RESULT: $RESULT"}
+      lappend bad_test $name
+      if {$::HALT} exit
+    }
   }
 }
 set bad_test {}
 
 # Return a random string N characters long.
@@ -445,4 +455,5 @@
 protOut "***** Final result: $nErr errors out of $test_count tests"
 if {$nErr>0} {
   protOut "***** Failures: $bad_test"
+  exit 1
 }

M gnu/packages/version-control.scm => gnu/packages/version-control.scm +4 -25
@@ 1148,37 1148,16 @@ repository\" with git-annex.")
(define-public fossil
  (package
    (name "fossil")
    (version "1.34")
    (version "1.35")
    (source
     (origin
       (method url-fetch)
       ;; Upstream source affected by
       ;; http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20962
       (uri (string-append
             "https://web.archive.org/web/20160402202958/"
             "https://www.fossil-scm.org/download/fossil-src-"
             version ".tar.gz"))
             "https://www.fossil-scm.org/index.html/uv/download/"
             "fossil-src-" version ".tar.gz"))
       (sha256
        (base32
         "17x4vgjcfihwmq195qg32irp50panvjqfpvhqydfvv4ghwzbi9jk"))
       (modules '((guix build utils)))
       (snippet
        '(begin
           ;; Commit 0a2ebe57 on 2015-08-03 18:35:53 changed output formatting
           ;; for some commands, but affected tests were not updated.  Use
           ;; substitute here, which is more concise than patching.
           (substitute* "test/clean.test"
             (("NEW ") "NEW    "))
           (substitute* '("test/revert.test" "test/mv-rm.test")
             (("REVERTED:") "REVERT  ")
             (("DELETE:")   "DELETE  ")
             (("UNMANAGE:") "UNMANAGE "))
           ;; Fix use of __DATE__ and __TIME__
           (substitute* "src/main.c"
             (("Compiled on %s %s") "Compiled")
             (("__DATE__, __TIME__, ") ""))
           #t))
       (patches (list (search-patch "fossil-test-fixes.patch")))))
         "07ds6rhq69bhydpm9a01mgdhxf88p9b6y5hdnhn8gjc7ba92zyf1"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("tcl" ,tcl)                     ;for configuration only