me
/
guix
Archived
1
0
Fork 0

Merge remote-tracking branch 'origin/staging'

Efraim Flashner 2022-10-26 11:15:22 +03:00
commit 166da5b2b6
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
4 changed files with 16 additions and 56 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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\"

View File

@ -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.