diff --git a/gnu/local.mk b/gnu/local.mk index f15fb3339a..7b230cb6f5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1124,6 +1124,7 @@ dist_patch_DATA = \ %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/rust-1.19-mrustc.patch \ + %D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \ %D%/packages/patches/rust-bootstrap-stage0-test.patch \ %D%/packages/patches/rust-coresimd-doctest.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ diff --git a/gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch b/gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch new file mode 100644 index 0000000000..6ffc897297 --- /dev/null +++ b/gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch @@ -0,0 +1,94 @@ +GDB responds with some overly detailed lines - which makes the tests fail. +Patch rust to accept those instead. +diff -ur orig/rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs +--- orig/rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs 2018-09-13 10:24:33.775565159 +0200 ++++ rustc-1.25.0-src/src/test/debuginfo/generic-enum-with-different-disr-sizes.rs 2018-09-13 10:25:56.322513658 +0200 +@@ -19,36 +19,36 @@ + + // gdb-command:print eight_bytes1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Variant1, __0 = 100}, {RUST$ENUM$DISR = Variant1, __0 = 100}} +-// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum::Variant1(100) ++// gdbr-check:$1 = generic_enum_with_different_disr_sizes::Enum::Variant1(100) + + // gdb-command:print four_bytes1 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Variant1, __0 = 101}, {RUST$ENUM$DISR = Variant1, __0 = 101}} +-// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum::Variant1(101) ++// gdbr-check:$2 = generic_enum_with_different_disr_sizes::Enum::Variant1(101) + + // gdb-command:print two_bytes1 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Variant1, __0 = 102}, {RUST$ENUM$DISR = Variant1, __0 = 102}} +-// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum::Variant1(102) ++// gdbr-check:$3 = generic_enum_with_different_disr_sizes::Enum::Variant1(102) + + // gdb-command:print one_byte1 + // gdbg-check:$4 = {{RUST$ENUM$DISR = Variant1, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant1, __0 = 65 'A'}} +-// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum::Variant1(65) ++// gdbr-check:$4 = generic_enum_with_different_disr_sizes::Enum::Variant1(65) + + + // gdb-command:print eight_bytes2 + // gdbg-check:$5 = {{RUST$ENUM$DISR = Variant2, __0 = 100}, {RUST$ENUM$DISR = Variant2, __0 = 100}} +-// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum::Variant2(100) ++// gdbr-check:$5 = generic_enum_with_different_disr_sizes::Enum::Variant2(100) + + // gdb-command:print four_bytes2 + // gdbg-check:$6 = {{RUST$ENUM$DISR = Variant2, __0 = 101}, {RUST$ENUM$DISR = Variant2, __0 = 101}} +-// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum::Variant2(101) ++// gdbr-check:$6 = generic_enum_with_different_disr_sizes::Enum::Variant2(101) + + // gdb-command:print two_bytes2 + // gdbg-check:$7 = {{RUST$ENUM$DISR = Variant2, __0 = 102}, {RUST$ENUM$DISR = Variant2, __0 = 102}} +-// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum::Variant2(102) ++// gdbr-check:$7 = generic_enum_with_different_disr_sizes::Enum::Variant2(102) + + // gdb-command:print one_byte2 + // gdbg-check:$8 = {{RUST$ENUM$DISR = Variant2, __0 = 65 'A'}, {RUST$ENUM$DISR = Variant2, __0 = 65 'A'}} +-// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum::Variant2(65) ++// gdbr-check:$8 = generic_enum_with_different_disr_sizes::Enum::Variant2(65) + + // gdb-command:continue + +diff -ur orig/rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs +--- orig/rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs 2018-09-13 10:24:33.775565159 +0200 ++++ rustc-1.25.0-src/src/test/debuginfo/generic-struct-style-enum.rs 2018-09-13 10:27:43.353108111 +0200 +@@ -19,15 +19,15 @@ + + // gdb-command:print case1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, a = 0, b = 31868, c = 31868, d = 31868, e = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}} +-// gdbr-check:$1 = generic_struct_style_enum::Regular::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868} ++// gdbr-check:$1 = generic_struct_style_enum::Regular::Case1{a: 0, b: 31868, c: 31868, d: 31868, e: 31868} + + // gdb-command:print case2 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, a = 0, b = 286331153, c = 286331153}, {RUST$ENUM$DISR = Case2, [...]}} +-// gdbr-check:$2 = generic_struct_style_enum::Regular::Case2{a: 0, b: 286331153, c: 286331153} ++// gdbr-check:$2 = generic_struct_style_enum::Regular::Case2{a: 0, b: 286331153, c: 286331153} + + // gdb-command:print case3 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, a = 0, b = 6438275382588823897}} +-// gdbr-check:$3 = generic_struct_style_enum::Regular::Case3{a: 0, b: 6438275382588823897} ++// gdbr-check:$3 = generic_struct_style_enum::Regular::Case3{a: 0, b: 6438275382588823897} + + // gdb-command:print univariant + // gdbg-check:$4 = {{a = -1}} +diff -ur orig/rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs +--- orig/rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs 2018-09-13 10:24:33.775565159 +0200 ++++ rustc-1.25.0-src/src/test/debuginfo/generic-tuple-style-enum.rs 2018-09-13 10:28:26.328546298 +0200 +@@ -21,15 +21,15 @@ + + // gdb-command:print case1 + // gdbg-check:$1 = {{RUST$ENUM$DISR = Case1, __0 = 0, __1 = 31868, __2 = 31868, __3 = 31868, __4 = 31868}, {RUST$ENUM$DISR = Case1, [...]}, {RUST$ENUM$DISR = Case1, [...]}} +-// gdbr-check:$1 = generic_tuple_style_enum::Regular::Case1(0, 31868, 31868, 31868, 31868) ++// gdbr-check:$1 = generic_tuple_style_enum::Regular::Case1(0, 31868, 31868, 31868, 31868) + + // gdb-command:print case2 + // gdbg-check:$2 = {{RUST$ENUM$DISR = Case2, [...]}, {RUST$ENUM$DISR = Case2, __0 = 0, __1 = 286331153, __2 = 286331153}, {RUST$ENUM$DISR = Case2, [...]}} +-// gdbr-check:$2 = generic_tuple_style_enum::Regular::Case2(0, 286331153, 286331153) ++// gdbr-check:$2 = generic_tuple_style_enum::Regular::Case2(0, 286331153, 286331153) + + // gdb-command:print case3 + // gdbg-check:$3 = {{RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, [...]}, {RUST$ENUM$DISR = Case3, __0 = 0, __1 = 6438275382588823897}} +-// gdbr-check:$3 = generic_tuple_style_enum::Regular::Case3(0, 6438275382588823897) ++// gdbr-check:$3 = generic_tuple_style_enum::Regular::Case3(0, 6438275382588823897) + + // gdb-command:print univariant + // gdbg-check:$4 = {{__0 = -1}} diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index f62c48499d..448ce893d4 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -696,7 +696,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (define-public rust-1.25 (let ((base-rust (rust-bootstrapped-package rust-1.24 "1.25.0" - "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"))) + "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf" + #:patches '("rust-1.25-accept-more-detailed-gdb-lines.patch")))) (package (inherit base-rust) (inputs @@ -735,8 +736,9 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (define-public rust-1.26 (let ((base-rust (rust-bootstrapped-package rust-1.25 "1.26.2" - "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" - #:patches '("rust-coresimd-doctest.patch")))) + "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" + #:patches '("rust-coresimd-doctest.patch" + "rust-1.25-accept-more-detailed-gdb-lines.patch")))) (package (inherit base-rust) (arguments @@ -786,7 +788,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" "089d7rhw55zpvnw71dj8vil6qrylvl4xjr4m8bywjj83d4zq1f9c" #:patches '("rust-coresimd-doctest.patch" - "rust-bootstrap-stage0-test.patch")))) + "rust-bootstrap-stage0-test.patch" + "rust-1.25-accept-more-detailed-gdb-lines.patch")))) (package (inherit base-rust) (arguments