Merge remote-tracking branch 'origin/staging'
commit
166da5b2b6
|
@ -1543,7 +1543,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/monero-use-system-miniupnpc.patch \
|
%D%/packages/patches/monero-use-system-miniupnpc.patch \
|
||||||
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
|
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
|
||||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||||
%D%/packages/patches/mrustc-riscv64-support.patch \
|
|
||||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||||
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
|
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
Patch sent upstream for review:
|
|
||||||
https://github.com/thepowersgang/mrustc/pull/276
|
|
||||||
|
|
||||||
diff --git a/src/trans/target.cpp b/src/trans/target.cpp
|
|
||||||
index 420a2870..4d5eefb3 100644
|
|
||||||
--- a/src/trans/target.cpp
|
|
||||||
+++ b/src/trans/target.cpp
|
|
||||||
@@ -65,6 +65,13 @@ const TargetArch ARCH_POWERPC64LE = {
|
|
||||||
{ /*atomic(u8)=*/true, true, true, true, true },
|
|
||||||
TargetArch::Alignments(2, 4, 8, 16, 4, 8, 8)
|
|
||||||
};
|
|
||||||
+// This is a guess
|
|
||||||
+const TargetArch ARCH_RISCV64 = {
|
|
||||||
+ "riscv64",
|
|
||||||
+ 64, false,
|
|
||||||
+ { /*atomic(u8)=*/true, true, true, true, true },
|
|
||||||
+ TargetArch::Alignments(2, 4, 8, 16, 4, 8, 8)
|
|
||||||
+};
|
|
||||||
TargetSpec g_target;
|
|
||||||
|
|
||||||
|
|
||||||
@@ -455,6 +462,13 @@ namespace
|
|
||||||
ARCH_POWERPC64LE
|
|
||||||
};
|
|
||||||
}
|
|
||||||
+ else if(target_name == "riscv64-unknown-linux-gnu")
|
|
||||||
+ {
|
|
||||||
+ return TargetSpec {
|
|
||||||
+ "unix", "linux", "gnu", {CodegenMode::Gnu11, false, "riscv64-unknown-linux-gnu", BACKEND_C_OPTS_GNU},
|
|
||||||
+ ARCH_RISCV64
|
|
||||||
+ };
|
|
||||||
+ }
|
|
||||||
else if(target_name == "i586-pc-windows-gnu")
|
|
||||||
{
|
|
||||||
return TargetSpec {
|
|
||||||
diff --git a/tools/common/target_detect.h b/tools/common/target_detect.h
|
|
||||||
index a052da6b..42fea91a 100644
|
|
||||||
--- a/tools/common/target_detect.h
|
|
||||||
+++ b/tools/common/target_detect.h
|
|
||||||
@@ -34,6 +34,8 @@
|
|
||||||
# define DEFAULT_TARGET_NAME "powerpc64-unknown-linux-gnu"
|
|
||||||
# elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__)
|
|
||||||
# define DEFAULT_TARGET_NAME "powerpc64le-unknown-linux-gnu"
|
|
||||||
+# elif defined(__riscv) && __riscv_xlen == 64
|
|
||||||
+# define DEFAULT_TARGET_NAME "riscv64-unknown-linux-gnu"
|
|
||||||
# else
|
|
||||||
# warning "Unable to detect a suitable default target (linux-gnu)"
|
|
||||||
# endif
|
|
|
@ -15,6 +15,7 @@
|
||||||
;;; Copyright © 2021 (unmatched parenthesis <paren@disroot.org>
|
;;; Copyright © 2021 (unmatched parenthesis <paren@disroot.org>
|
||||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
|
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
|
||||||
;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
|
;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
|
||||||
|
;;; Copyright © 2022 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -124,11 +125,11 @@
|
||||||
|
|
||||||
;;; Note: mrustc's only purpose is to be able to bootstap Rust; it's designed
|
;;; Note: mrustc's only purpose is to be able to bootstap Rust; it's designed
|
||||||
;;; to be used in source form.
|
;;; to be used in source form.
|
||||||
(define %mrustc-commit "b364724f15fd6fce8234ad8add68107c23a22151")
|
(define %mrustc-commit "597593aba86fa2edbea80c6e09f0b1b2a480722d")
|
||||||
(define %mrustc-source
|
(define %mrustc-source
|
||||||
(let* ((version "0.10")
|
(let* ((version "0.10")
|
||||||
(commit %mrustc-commit)
|
(commit %mrustc-commit)
|
||||||
(revision "1")
|
(revision "2")
|
||||||
(name "mrustc"))
|
(name "mrustc"))
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -138,8 +139,14 @@
|
||||||
(file-name (git-file-name name (git-version version revision commit)))
|
(file-name (git-file-name name (git-version version revision commit)))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0f7kh4n2663sn0z3xib8gzw0s97qpvwag40g2vs3bfjlrbpgi9z0"))
|
"09rvm3zgx1d86gippl8qzh13m641ynbw9q0zsc90g0h1khd3z3b6"))
|
||||||
(patches (search-patches "mrustc-riscv64-support.patch")))))
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(begin
|
||||||
|
;; Drastically reduces memory and build time requirements
|
||||||
|
;; by disabling debug by default.
|
||||||
|
(substitute* (find-files "." "Makefile")
|
||||||
|
(("-g ") "")))))))
|
||||||
|
|
||||||
;;; Rust 1.54 is special in that it is built with mrustc, which shortens the
|
;;; Rust 1.54 is special in that it is built with mrustc, which shortens the
|
||||||
;;; bootstrap path.
|
;;; bootstrap path.
|
||||||
|
@ -229,7 +236,7 @@
|
||||||
(substitute* '("minicargo.mk"
|
(substitute* '("minicargo.mk"
|
||||||
"run_rustc/Makefile")
|
"run_rustc/Makefile")
|
||||||
;; Use the system-provided LLVM.
|
;; Use the system-provided LLVM.
|
||||||
(("LLVM_CONFIG := .*")
|
(("LLVM_CONFIG [:|?]= .*")
|
||||||
(string-append "LLVM_CONFIG := " llvm "/bin/llvm-config\n")))
|
(string-append "LLVM_CONFIG := " llvm "/bin/llvm-config\n")))
|
||||||
(substitute* "minicargo.mk"
|
(substitute* "minicargo.mk"
|
||||||
;; Do not try to fetch sources from the Internet.
|
;; Do not try to fetch sources from the Internet.
|
||||||
|
@ -439,6 +446,7 @@ submodules = false
|
||||||
prefix = \"" out "\"
|
prefix = \"" out "\"
|
||||||
sysconfdir = \"etc\"
|
sysconfdir = \"etc\"
|
||||||
[rust]
|
[rust]
|
||||||
|
debug=false
|
||||||
jemalloc=true
|
jemalloc=true
|
||||||
default-linker = \"" gcc "/bin/gcc" "\"
|
default-linker = \"" gcc "/bin/gcc" "\"
|
||||||
channel = \"stable\"
|
channel = \"stable\"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||||
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
|
@ -135,7 +135,8 @@ Cargo.toml file present at its root."
|
||||||
;; so that we can generate any cargo checksums.
|
;; so that we can generate any cargo checksums.
|
||||||
;; The --strip-components argument is needed to prevent creating
|
;; The --strip-components argument is needed to prevent creating
|
||||||
;; an extra directory within `crate-dir`.
|
;; an extra directory within `crate-dir`.
|
||||||
(invoke "tar" "xvf" path "-C" crate-dir "--strip-components" "1")))))
|
(format #t "Unpacking ~a~%" name)
|
||||||
|
(invoke "tar" "xf" path "-C" crate-dir "--strip-components" "1")))))
|
||||||
inputs)
|
inputs)
|
||||||
|
|
||||||
;; Configure cargo to actually use this new directory.
|
;; Configure cargo to actually use this new directory.
|
||||||
|
|
Reference in New Issue