[PATCH 00/21] Add riscv64 support

  • Open
  • quality assurance status badge
Details
4 participants
  • Thiago Jung Bauermann
  • Efraim Flashner
  • Sarah Morgensen
  • Maxime Devos
Owner
unassigned
Submitted by
Efraim Flashner
Severity
normal
E
E
Efraim Flashner wrote on 17 Aug 2021 12:10
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
cover.1629193993.git.efraim@flashner.co.il
This is the current tree for wip-riscv, which I rebase regularly on top
of core-updates-frozen. I'm not in love with raw-build-guile3 in
gnu/packages/bootstrap but I wasn't able to find another way to make it
work. I'll add some comments in response to the patches.

Everything was built using a SiFive HiFive Unmatched board¹. As a
comparison, my pine64 passed the build phase in mesa in 89 minutes, and
this board built it in 66 minutes.


Efraim Flashner (21):
utils: Define 'target-riscv?' predicate.
gnu: bootstrap: Add support for riscv64-linux.
gnu: gcc-boot0: Use libstdc++-boot0-gcc7 on riscv64-linux.
gnu: %boot3-inputs: Add missing input.
gnu: guile: Fix building on riscv64-linux.
gnu: %final-inputs: Add implied gcc:lib input.
gnu: bdb: Fix building on riscv64-linux.
gnu: elfutils: Fix building on riscv64-linux.
gnu: pcre: Fix building on riscv64-linux.
gnu: openssl: Fix build on riscv64-linux.
gnu: libtool: Fix building on riscv64-linux.
gnu: openblas: Fix building on riscv64-linux.
gnu: mesa: Add support for riscv64-linux.
gnu: pcre2: Fix building on riscv64-linux.
gnu: icu4c: Skip tests on riscv64-linux.
gnu: openblas-ilp64: Add riscv64-linux as a supported architecture.
gnu: openlibm: Remove riscv64-linux from supported systems.
gnu: texlive-bin: Fix building on riscv64-linux.
gnu: texlive-updmap.cfg: Update hash.
gnu: lz4: Build on riscv64-linux without valgrind.
gnu: lapack: Fix building on riscv64-linux.

gnu/packages/bootstrap.scm | 112 +++++++++++++++++-
gnu/packages/commencement.scm | 58 ++++++++-
gnu/packages/compression.scm | 4 +-
gnu/packages/dbm.scm | 23 ++--
gnu/packages/elf.scm | 11 +-
gnu/packages/gl.scm | 26 ++--
gnu/packages/guile.scm | 22 ++--
gnu/packages/icu4c.scm | 8 ++
gnu/packages/maths.scm | 10 +-
.../patches/libtool-skip-tests2.patch | 8 +-
gnu/packages/pcre.scm | 13 +-
gnu/packages/tex.scm | 20 ++--
gnu/packages/tls.scm | 11 +-
guix/packages.scm | 4 +-
guix/utils.scm | 9 +-
m4/guix.m4 | 4 +-
16 files changed, 283 insertions(+), 60 deletions(-)

--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:18
[PATCH 01/21] utils: Define 'target-riscv?' predicate.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
e1f226e2111217131f4f4519466abfc7eda6d6f9.1629193993.git.efraim@flashner.co.il
* guix/utils.scm (target-riscv?): New predicate.
---
guix/utils.scm | 6 ++++++
1 file changed, 6 insertions(+)

Toggle diff (26 lines)
diff --git a/guix/utils.scm b/guix/utils.scm
index 32fcff72ea..134879feb1 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -96,6 +96,7 @@
target-arm?
target-ppc32?
target-powerpc?
+ target-riscv?
target-64bit?
cc-for-target
cxx-for-target
@@ -699,6 +700,11 @@ architecture (x86_64)?"
(%current-system))))
(string-prefix? "powerpc" target))
+(define* (target-riscv? #:optional (target (or (%current-target-system)
+ (%current-system))))
+ "Is the architecture of TARGET a 'riscv' architecture variant?"
+ (string-prefix? "riscv" target))
+
(define* (target-64bit? #:optional (system (or (%current-target-system)
(%current-system))))
(any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "powerpc64")))
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 02/21] gnu: bootstrap: Add support for riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
049e686bea6f7f4186fbc6da38315f707763bf3f.1629193993.git.efraim@flashner.co.il
On 7d93b21ab1c132990054372a9677c1639d54e631
gnu: glibc-for-bootstrap: Update patch.

Run
./pre-inst-env guix build --target=riscv64-linux-gnu bootstrap-tarballs

Producing
/gnu/store/4hdzva9i0wyyfbgj1lmqc1wkk644pv07-bootstrap-tarballs-0

With guix hash -rx
1nj0fdgj08bbmfny01mp2blv7c3p2iciqh31zmf04ap5s7ygsqlp

* gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for
riscv64-linux.
(%bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils,
%bootstrap-glibc, %bootstrap-gcc): Add entry for riscv64-linux.
(raw-build-guile3): New procedure.
(make-raw-bag): Use raw-build-guile3 for riscv64-linux.
* gnu/packages/commencement.scm (findutils-boot0)[arguments]: Don't
override TIME_T_32_BIT_OK on riscv64-linux.
* guix/packages.scm (%supported-systems): Add riscv64-linux.
(%cuirass-supported-systems): Remove riscv64-linux.
* guix/utils.scm (target-64bit?): Add riscv64-linux.
* m4/guix.m4: Add riscv64-linux as a supported system.
---
gnu/packages/bootstrap.scm | 112 +++++++++++++++++++++++++++++++++-
gnu/packages/commencement.scm | 4 +-
guix/packages.scm | 4 +-
guix/utils.scm | 3 +-
m4/guix.m4 | 4 +-
5 files changed, 118 insertions(+), 9 deletions(-)

Toggle diff (289 lines)
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 5a8028a465..260c1b5b91 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -144,7 +144,16 @@
("tar"
,(base32 "150c8948cz8r208g6qgn2dn4f4zs5kpgbpbg6bwag6yw42rapw2l"))
("xz"
- ,(base32 "0v5738idy9pqzcbrjdpxi5c6qs5m78zrpsydmrpx5cfcfzbkxzjh")))))
+ ,(base32 "0v5738idy9pqzcbrjdpxi5c6qs5m78zrpsydmrpx5cfcfzbkxzjh")))
+ ("riscv64-linux"
+ ("bash"
+ ,(base32 "0almlf73k6hbm495kzf4bw1rzsg5qddn7z2rf5l3d1xcapac2hj3"))
+ ("mkdir"
+ ,(base32 "0rg1amdcqfkplcy1608jignl8jq0wqzfkp430mwik3f62959gya6"))
+ ("tar"
+ ,(base32 "17d3x27qhiwk7h6ns0xrvbrq0frxz89mjjh2cdwx2rraq5x6wffm"))
+ ("xz"
+ ,(base32 "0nxn75xf386vdq3igmgm8gnyk4h4x0cm8jv71vlb2jvwxh0cyw1q")))))
(define %bootstrap-executable-base-urls
;; This is where the bootstrap executables come from.
@@ -159,6 +168,7 @@
("powerpc64le-linux" (string-append system "/20210106/" program))
("i586-gnu" (string-append system "/20200326/" program))
("powerpc-linux" (string-append system "/20200923/bin/" program))
+ ("riscv64-linux" (string-append system "/20210725/bin/" program))
(_ (string-append system "/" program
"?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))))
@@ -362,6 +372,8 @@ or false to signal an error."
"/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
("powerpc64le-linux"
"/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
+ ("riscv64-linux"
+ "/20210725/guile-3.0.2.tar.xz")
(_
"/20131110/guile-2.0.9.tar.xz"))))
@@ -383,7 +395,9 @@ or false to signal an error."
("i586-gnu"
(base32 "0wgqpsmvg25rnqn49ap7kwd2qxccd8dr4lllzp7i3rjvgav27vac"))
("powerpc-linux"
- (base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))))
+ (base32 "1by2p7s27fbyjzfkcw8h65h4kkqh7d23kv4sgg5jppjn2qx7swq4"))
+ ("riscv64-linux"
+ (base32 "12pqmhsbbp7hh9r1bjdl14l3a4q06plpz6dcks9dysb4czay8p9f"))))
(define (bootstrap-guile-origin system)
"Return an <origin> object for the Guile tarball of SYSTEM."
@@ -455,6 +469,76 @@ GUILE_SYSTEM_PATH=$out/share/guile/2.0 \
GUILE_SYSTEM_COMPILED_PATH=$out/lib/guile/2.0/ccache \
$out/bin/guile -c ~s $out ~a
+# Sanity check.
+$out/bin/guile --version~%"
+ (derivation->output-path mkdir)
+ (derivation->output-path xz)
+ (derivation->output-path tar)
+ (object->string wrapper)
+ (derivation->output-path bash)))))
+ (raw-derivation name
+ (derivation->output-path bash) `(,builder)
+ #:system system
+ #:inputs (map derivation-input
+ (list bash mkdir tar xz guile))
+ #:sources (list builder)
+ #:env-vars `(("GUILE_TARBALL"
+ . ,(derivation->output-path guile))))))
+
+(define* (raw-build-guile3 name inputs
+ #:key outputs system search-paths
+ #:allow-other-keys)
+ (define (->store file)
+ (lower-object (bootstrap-executable file system)
+ system))
+
+ (define (make-guile-wrapper bash guile-real)
+ ;; The following code, run by the bootstrap guile after it is unpacked,
+ ;; creates a wrapper for itself to set its load path. This replaces the
+ ;; previous non-portable method based on reading the /proc/self/exe
+ ;; symlink.
+ '(begin
+ (use-modules (ice-9 match))
+ (match (command-line)
+ ((_ out bash)
+ (let ((bin-dir (string-append out "/bin"))
+ (guile (string-append out "/bin/guile"))
+ (guile-real (string-append out "/bin/.guile-real"))
+ ;; We must avoid using a bare dollar sign in this code,
+ ;; because it would be interpreted by the shell.
+ (dollar (string (integer->char 36))))
+ (chmod bin-dir #o755)
+ (rename-file guile guile-real)
+ (call-with-output-file guile
+ (lambda (p)
+ (format p "\
+#!~a
+export GUILE_SYSTEM_PATH=~a/share/guile/3.0
+export GUILE_SYSTEM_COMPILED_PATH=~a/lib/guile/3.0/ccache
+exec -a \"~a0\" ~a \"~a@\"\n"
+ bash out out dollar guile-real dollar)))
+ (chmod guile #o555)
+ (chmod bin-dir #o555))))))
+
+ (mlet* %store-monad ((tar (->store "tar"))
+ (xz (->store "xz"))
+ (mkdir (->store "mkdir"))
+ (bash (->store "bash"))
+ (guile (download-bootstrap-guile system))
+ (wrapper -> (make-guile-wrapper bash guile))
+ (builder
+ (text-file "build-bootstrap-guile.sh"
+ (format #f "
+echo \"unpacking bootstrap Guile to '$out'...\"
+~a $out
+cd $out
+~a -dc < $GUILE_TARBALL | ~a xv
+
+# Use the bootstrap guile to create its own wrapper to set the load path.
+GUILE_SYSTEM_PATH=$out/share/guile/3.0 \
+GUILE_SYSTEM_COMPILED_PATH=$out/lib/guile/3.0/ccache \
+$out/bin/guile -c ~s $out ~a
+
# Sanity check.
$out/bin/guile --version~%"
(derivation->output-path mkdir)
@@ -478,7 +562,9 @@ $out/bin/guile --version~%"
(name name)
(system system)
(build-inputs inputs)
- (build raw-build)))
+ (build (cond ((target-riscv?)
+ raw-build-guile3)
+ (else raw-build)))))
(define %bootstrap-guile
;; The Guile used to run the build scripts of the initial derivations.
@@ -518,6 +604,8 @@ $out/bin/guile --version~%"
"/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/static-binaries.tar.xz")
+ ("riscv64-linux"
+ "/20210725/static-binaries.tar.xz")
(_
"/20131110/static-binaries.tar.xz")))
%bootstrap-base-urls))
@@ -544,6 +632,9 @@ $out/bin/guile --version~%"
("powerpc-linux"
(base32
"0kspxy0yczan2vlih6aa9hailr2inz000fqa0gn5x9d1fxxa5y8m"))
+ ("riscv64-linux"
+ (base32
+ "0x0xjlpmyh6rkr51p00gp6pscgl6zjida1rsg8vk3rinyi6rrbkg"))
("mips64el-linux"
(base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
@@ -596,6 +687,8 @@ $out/bin/guile --version~%"
"/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/binutils-2.35.1.tar.xz")
+ ("riscv64-linux"
+ "/20210725/binutils-2.34.tar.xz")
(_
"/20131110/binutils-2.23.2.tar.xz")))
%bootstrap-base-urls))
@@ -616,6 +709,9 @@ $out/bin/guile --version~%"
("powerpc64le-linux"
(base32
"1klxy945c61134mzhqzz2gbk8w0n8jq7arwkrvz78d22ff2q0cwz"))
+ ("riscv64-linux"
+ (base32
+ "0n9qf4vbilfmh1lknhw000waakj4q6s50pnjazr5137skm976z5m"))
("i586-gnu"
(base32
"11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
@@ -681,6 +777,8 @@ $out/bin/guile --version~%"
"/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/glibc-2.32.tar.xz")
+ ("riscv64-linux"
+ "/20210725/glibc-2.31.tar.xz")
(_
"/20131110/glibc-2.18.tar.xz")))
%bootstrap-base-urls))
@@ -701,6 +799,9 @@ $out/bin/guile --version~%"
("powerpc64le-linux"
(base32
"1a1df6z8gkaq09md3jy94lixnh20599p58p0s856p10xwjaqr1iz"))
+ ("riscv64-linux"
+ (base32
+ "0d9x80vm7ca1pd2whcmpm1h14zxpb58kqajlxlwffzm04xfsjnxm"))
("i586-gnu"
(base32
"14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952"))
@@ -782,6 +883,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
"/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
("powerpc-linux"
"/20200923/gcc-5.5.0.tar.xz")
+ ("riscv64-linux"
+ "/20210725/gcc-7.5.0.tar.xz")
(_
"/20131110/gcc-4.8.2.tar.xz")))
%bootstrap-base-urls))
@@ -802,6 +905,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
("powerpc64le-linux"
(base32
"151kjsai25vz2s667bgzpisx8f281fpl3n9pxz2yrp9jlnadz3m1"))
+ ("riscv64-linux"
+ (base32
+ "1k4mbnb54wj2q37fgshf5dfixixqnhn002vhzvi9pnb57xb9v14d"))
("i586-gnu"
(base32
"1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index dc9b372132..d395b261c2 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2496,7 +2496,9 @@ exec " gcc "/bin/" program
,@(substitute-keyword-arguments (package-arguments findutils)
((#:configure-flags flags ''())
`(append
- ,(if (target-64bit?)
+ ;; TODO: Figure out exactly with architectures need this.
+ ,(if (and (target-64bit?)
+ (not (target-riscv?)))
''("TIME_T_32_BIT_OK=yes")
''())
,(match (%current-system)
diff --git a/guix/packages.scm b/guix/packages.scm
index 2349bb4340..7e86da9aae 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -366,7 +366,7 @@ name of its URI."
;; This is the list of system types that are supported. By default, we
;; expect all packages to build successfully here.
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu"
- "powerpc64le-linux" "powerpc-linux"))
+ "powerpc64le-linux" "powerpc-linux" "riscv64-linux"))
(define %hurd-systems
;; The GNU/Hurd systems for which support is being developed.
@@ -377,7 +377,7 @@ name of its URI."
;;
;; XXX: MIPS is unavailable in CI:
;; <https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html>.
- (fold delete %supported-systems '("mips64el-linux" "powerpc-linux")))
+ (fold delete %supported-systems '("mips64el-linux" "powerpc-linux" "riscv64-linux")))
(define-inlinable (sanitize-inputs inputs)
"Sanitize INPUTS by turning it into a list of name/package tuples if it's
diff --git a/guix/utils.scm b/guix/utils.scm
index 134879feb1..3ca846f075 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -707,7 +707,8 @@ architecture (x86_64)?"
(define* (target-64bit? #:optional (system (or (%current-target-system)
(%current-system))))
- (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "powerpc64")))
+ (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64"
+ "powerpc64" "riscv64")))
(define* (cc-for-target #:optional (target (%current-target-system)))
(if target
diff --git a/m4/guix.m4 b/m4/guix.m4
index e778a56004..c79d3c3bc5 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -1,7 +1,7 @@
dnl GNU Guix --- Functional package management for GNU
dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
-dnl Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
+dnl Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
dnl
dnl This file is part of GNU Guix.
@@ -89,7 +89,7 @@ courageous and port the GNU System distribution to it (see
# Currently only Linux-based systems are supported, and only on some
# platforms.
case "$guix_system" in
- x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|powerpc-linux)
+ x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux|powerpc-linux|riscv64-linux)
;;
*)
if test "x$guix_courageous" = "xyes"; then
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 03/21] gnu: gcc-boot0: Use libstdc++-boot0-gcc7 on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
9a13706d4a6835b5cc250ce3ab9653ee2117d33a.1629193993.git.efraim@flashner.co.il
* gnu/packages/commencement.scm (libstdc++-boot0-gcc7): New variable.
(gcc-boot0)[inputs]: On riscv64-linux use libstdc++-boot0-gcc7 instead
of libstdc++-boot0.
---
gnu/packages/commencement.scm | 48 ++++++++++++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d395b261c2..69cf30483d 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2703,6 +2703,50 @@ exec " gcc "/bin/" program
(inputs (%boot0-inputs))
(native-inputs '()))))
+(define libstdc++-boot0-gcc7
+ ;; GCC >= 7 is needed by architectures which use C++-14 features.
+ (let ((lib (make-libstdc++ gcc-7)))
+ (package
+ (inherit lib)
+ (source (bootstrap-origin (package-source lib)))
+ (name "libstdc++-boot0")
+ (arguments
+ `(#:guile ,%bootstrap-guile
+ #:implicit-inputs? #f
+
+ ;; XXX: libstdc++.so NEEDs ld.so for some reason.
+ #:validate-runpath? #f
+
+ ,@(substitute-keyword-arguments (package-arguments lib)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'unpack-gmp&co
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((gmp (assoc-ref %build-inputs "gmp-source"))
+ (mpfr (assoc-ref %build-inputs "mpfr-source"))
+ (mpc (assoc-ref %build-inputs "mpc-source")))
+
+ ;; To reduce the set of pre-built bootstrap inputs, build
+ ;; GMP & co. from GCC.
+ (for-each (lambda (source)
+ (invoke "tar" "xvf" source))
+ (list gmp mpfr mpc))
+
+ ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
+ ,@(map (lambda (lib)
+ ;; Drop trailing letters, as gmp-6.0.0a unpacks
+ ;; into gmp-6.0.0.
+ `(symlink ,(string-trim-right
+ (package-full-name lib "-")
+ char-set:letter)
+ ,(package-name lib)))
+ (list gmp-6.0 mpfr mpc))))))))))
+ (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
+ ("mpfr-source" ,(bootstrap-origin (package-source mpfr)))
+ ("mpc-source" ,(bootstrap-origin (package-source mpc)))
+ ,@(%boot0-inputs)))
+ (native-inputs '()))))
+
(define gcc-boot0
(package
(inherit gcc)
@@ -2814,7 +2858,9 @@ exec " gcc "/bin/" program
("binutils-cross" ,binutils-boot0)
;; The libstdc++ that libcc1 links against.
- ("libstdc++" ,libstdc++-boot0)
+ ("libstdc++" ,(match (%current-system)
+ ("riscv64-linux" libstdc++-boot0-gcc7)
+ (_ libstdc++-boot0)))
;; Call it differently so that the builder can check whether
;; the "libc" input is #f.
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 04/21] gnu: %boot3-inputs: Add missing input.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
6e9d701fe2111c5c9dd74e1238f9a737a58b9c8d.1629193993.git.efraim@flashner.co.il
* gnu/packages/commencement.scm (%boot3-inputs): Add gcc:lib.
---
gnu/packages/commencement.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 69cf30483d..e2339170e5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3579,6 +3579,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define (%boot3-inputs)
;; 4th stage inputs.
`(("gcc" ,gcc-final)
+ ,@(if (target-riscv?)
+ `(("gcc:lib" ,gcc-final "lib"))
+ '())
("ld-wrapper" ,ld-wrapper-boot3)
,@(alist-delete "gcc" (%boot2-inputs))))
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 05/21] gnu: guile: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
9440a6ca3c1318e99dc1eb16f7e382ee888464fc.1629193993.git.efraim@flashner.co.il
* gnu/packages/guile.scm (guile-3.0)[arguments]: On riscv64-linux add
a phase to skip a failing test.
---
gnu/packages/guile.scm | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)

Toggle diff (42 lines)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index fffc30f913..f9a7125f83 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -65,7 +65,8 @@
#:use-module (guix deprecation)
#:use-module (guix utils)
#:use-module (ice-9 match)
- #:use-module ((srfi srfi-1) #:prefix srfi-1:))
+ #:use-module ((srfi srfi-1) #:prefix srfi-1:)
+ #:use-module (srfi srfi-26))
;;; Commentary:
;;;
@@ -346,14 +347,17 @@ without requiring the source code to be rewritten.")
;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
(substitute* "bootstrap/Makefile.in"
(("^GUILE_OPTIMIZATIONS.*")
- "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
- (add-after 'unpack 'skip-failing-fdes-test
- (lambda _
- ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
- (substitute* "test-suite/tests/ports.test"
- (("fdes not closed\"" all) (string-append all "(exit 77)")))
- #t)))
- '())))))
+ "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
+ '())
+ ,@(if (srfi-1:any (cute string-prefix? <> (%current-system))
+ '("powerpc-" "riscv64-"))
+ `((add-after 'unpack 'skip-failing-fdes-test
+ (lambda _
+ ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
+ (substitute* "test-suite/tests/ports.test"
+ (("fdes not closed\"" all) (string-append all "(exit 77)")))
+ #t)))
+ '())))))
(native-search-paths
(list (search-path-specification
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 06/21] gnu: %final-inputs: Add implied gcc:lib input.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
337c42e24c6a78adff7a64303a8e673d7c5f3536.1629193993.git.efraim@flashner.co.il
* gnu/packages/commencement.scm (%final-inputs): Add gcc:lib.
---
gnu/packages/commencement.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index e2339170e5..b717604a9c 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3726,6 +3726,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("ld-wrapper" ,ld-wrapper)
("binutils" ,binutils-final)
("gcc" ,gcc-final)
+ ,@(if (target-riscv?)
+ `(("gcc:lib" ,gcc-final "lib"))
+ '())
("libc" ,glibc-final)
("libc:static" ,glibc-final "static")
("locales" ,glibc-utf8-locales-final))))
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 07/21] gnu: bdb: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
975888973eb4debf457d394fc3669a36168566ac.1629193993.git.efraim@flashner.co.il
* gnu/packages/dbm.scm (bdb)[arguments]: Modify configure to build for
the currect architecture when building for riscv64-linux.
---
gnu/packages/dbm.scm | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)

Toggle diff (50 lines)
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index ce84ef9eda..c2bdaf782a 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -28,7 +28,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module (guix utils))
+ #:use-module (guix utils)
+ #:use-module (ice-9 match))
;;; Commentary:
;;;
@@ -72,15 +73,15 @@
(string-append "CONFIG_SHELL=" (which "bash"))
(string-append "SHELL=" (which "bash"))
- ;; Bdb doesn't recognize aarch64 as an architecture.
- ,@(if (string=? "aarch64-linux" (%current-system))
- '("--build=aarch64-unknown-linux-gnu")
- '())
-
- ;; Bdb doesn't recognize powerpc64le as an architecture.
- ,@(if (string=? "powerpc64le-linux" (%current-system))
- '("--build=powerpc64le-unknown-linux-gnu")
- '())
+ ;; Bdb doesn't recognize very many architectures.
+ ,@(match (%current-system)
+ ("aarch64-linux"
+ '("--build=aarch64-unknown-linux-gnu"))
+ ("powerpc64le-linux"
+ '("--build=powerpc64le-unknown-linux-gnu"))
+ ("riscv64-linux"
+ '("--build=riscv64-unknown-linux-gnu"))
+ (_ '()))
,@(if (%current-target-system) ; cross building
'((string-append "--host=" target))
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 08/21] gnu: elfutils: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
e9144cc6a975cbb42afe23d31f0b0332b9a0b8ef.1629193993.git.efraim@flashner.co.il
* gnu/packages/elf.scm (elfutils)[arguments]: On riscv64-linux add a
phase to skip failing test.
---
gnu/packages/elf.scm | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 2bc1d00048..01e5f51b00 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
@@ -98,7 +98,14 @@
(lambda _
(substitute* "tests/Makefile.in"
(("run-backtrace-native.sh") ""))
- #t)))))
+ #t))
+ ,@(if (target-riscv?)
+ `((add-after 'unpack 'disable-failing-riscv64-test
+ (lambda _
+ ;; dwfl_thread_getframes: No DWARF information found
+ (substitute* "tests/Makefile.in"
+ (("run-backtrace-dwarf.sh") "")))))
+ '()))))
(native-inputs `(("m4" ,m4)))
(inputs `(("zlib" ,zlib)))
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 09/21] gnu: pcre: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
874b6930d544e1f7179b98dbcb58aea84e143e70.1629193993.git.efraim@flashner.co.il
* gnu/packages/pcre.scm (pcre)[arguments]: Adjust configure-flags to not
build with JIT when building for riscv64-linux.
---
gnu/packages/pcre.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index 318727915e..315dd8be1d 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
@@ -32,6 +32,7 @@
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public pcre
@@ -54,7 +55,7 @@
("readline" ,readline)
("zlib" ,zlib)))
(arguments
- '(#:disallowed-references ("doc")
+ `(#:disallowed-references ("doc")
#:configure-flags '("--enable-utf"
"--enable-pcregrep-libz"
"--enable-pcregrep-libbz2"
@@ -62,7 +63,9 @@
"--enable-unicode-properties"
"--enable-pcre16"
"--enable-pcre32"
- "--enable-jit")
+ ,@(if (target-riscv?)
+ '()
+ `("--enable-jit")))
#:phases (modify-phases %standard-phases
(add-after 'install 'move-static-libs
(lambda* (#:key outputs #:allow-other-keys)
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 10/21] gnu: openssl: Fix build on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
093c3e625f2b204f9f21cff16163edc114bb9605.1629193993.git.efraim@flashner.co.il
* gnu/packages/tls.scm (openssl)[arguments]: Add phase for riscv64-linux
to skip failing test.
(target->openssl-target): Add case for riscv64-linux.
---
gnu/packages/tls.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 4b8df04f17..f6cdeac363 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -337,7 +337,10 @@ OpenSSL for TARGET."
((string-prefix? "powerpc64" target)
"linux-ppc64")
((string-prefix? "powerpc" target)
- "linux-ppc")))
+ "linux-ppc")
+ ((string-prefix? "riscv64" target)
+ ;; linux64-riscv64 isn't recognized until 3.0.0.
+ "linux-generic64")))
(define-public openssl
(package
@@ -380,6 +383,12 @@ OpenSSL for TARGET."
#$(target->openssl-target
(%current-target-system))))))
#~())
+ ;; Unclear why this test is failing.
+ #$@(if (target-riscv?)
+ #~((add-after 'unpack 'skip-failing-test
+ (lambda _
+ (delete-file "test/recipes/30-test_afalg.t"))))
+ #~())
(replace 'configure
(lambda* (#:key configure-flags #:allow-other-keys)
(let* ((out #$output)
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 11/21] gnu: libtool: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
9aae8ef33d6bc84b2a0f3765ef56d00e0c4d3359.1629193993.git.efraim@flashner.co.il
* gnu/packages/patches/libtool-skip-tests2.patch: Also skip pie tests
on riscv architectures.
---
gnu/packages/patches/libtool-skip-tests2.patch | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/patches/libtool-skip-tests2.patch b/gnu/packages/patches/libtool-skip-tests2.patch
index c9d61e3b41..b0a479325f 100644
--- a/gnu/packages/patches/libtool-skip-tests2.patch
+++ b/gnu/packages/patches/libtool-skip-tests2.patch
@@ -1,4 +1,4 @@
-Skip the nopic test on ARM and MIPS systems.
+Skip the nopic test on ARM, MIPS and RISCV systems.
--- libtool-2.4.6/tests/demo.at.orig 2015-01-16 13:52:04.000000000 -0500
+++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -0500
@@ -7,7 +7,7 @@ Skip the nopic test on ARM and MIPS systems.
AT_CHECK([case $host in
-hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)
@@ -18,7 +18,7 @@ Skip the nopic test on ARM and MIPS systems.
{ set +x
$as_echo "$at_srcdir/demo.at:535: case \$host in
-hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)
@@ -27,7 +27,7 @@ Skip the nopic test on ARM and MIPS systems.
at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535"
( $at_check_trace; case $host in
-hppa*|x86_64*|s390*)
-+hppa*|x86_64*|s390*|arm*|mips*)
++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
# These hosts cannot use non-PIC shared libs
exit 77 ;;
*-solaris*|*-sunos*)
--
2.32.0
M
M
Maxime Devos wrote on 17 Aug 2021 12:27
Re: [bug#50091] [PATCH 01/21] utils: Define 'target-riscv?' predicate.
5c0e6f9eebff9720a75f735470c1b0db11092d1e.camel@telenet.be
Efraim Flashner schreef op di 17-08-2021 om 13:18 [+0300]:
Toggle quote (30 lines)
> * guix/utils.scm (target-riscv?): New predicate.
> ---
> guix/utils.scm | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/guix/utils.scm b/guix/utils.scm
> index 32fcff72ea..134879feb1 100644
> --- a/guix/utils.scm
> +++ b/guix/utils.scm
> @@ -96,6 +96,7 @@
> target-arm?
> target-ppc32?
> target-powerpc?
> + target-riscv?
> target-64bit?
> cc-for-target
> cxx-for-target
> @@ -699,6 +700,11 @@ architecture (x86_64)?"
> (%current-system))))
> (string-prefix? "powerpc" target))
>
> +(define* (target-riscv? #:optional (target (or (%current-target-system)
> + (%current-system))))
> + "Is the architecture of TARGET a 'riscv' architecture variant?"
> + (string-prefix? "riscv" target))
> +
> (define* (target-64bit? #:optional (system (or (%current-target-system)
> (%current-system))))
> (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "powerpc64")))

The next patch adds a ‘riscv64-linux-gnu’ target. riscv64 seems 64-bit to me.
It would seem riscv64 needs to be added to target-64bit?.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYRuPBRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ottAP9UWgvH510Z4oJ5JRdVQbgQceK7
nIfRcf27O1ZwfW1u/QD+NxGeBAzhfAmxXGDy5LVYy5+aXg/RviyEnje2SRhAaAM=
=zzw6
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 12/21] gnu: openblas: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
3c3666cb80fc774655f8fb7146df0a20e82481a2.1629193993.git.efraim@flashner.co.il
* gnu/packages/maths.scm (openblas)[arguments]: Adjust make-flags on
riscv64-linux to target the correct architecture when building for
riscv64-linux.
---
gnu/packages/maths.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (15 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a7931e6eeb..7eac94f2a1 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4075,6 +4075,8 @@ parts of it.")
;; Failed to detect CPU.
((string-prefix? "armhf" system)
'("TARGET=ARMV7"))
+ ((string-prefix? "riscv64" system)
+ '("TARGET=RISCV64_GENERIC"))
(else '()))))
;; no configure script
#:phases
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 13/21] gnu: mesa: Add support for riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
68a51164197e64deafddd51a5cc5f1f4f31096f0.1629193993.git.efraim@flashner.co.il
* gnu/packages/gl.scm (mesa)[inputs]: Add llvm-11 on riscv64-linux.
[native-inputs]: Add glslang on riscv64-linux.
[arguments]: In configure-flags adjust gallium-drivers to swap the
power* and intel drivers for the fallback option. Specify riscv64-linux
configure options for vulkan-drivers. Enable the vulkan-overlay-layer
and llvm support. Adjust the custom 'disable-failing-test phase to have
a riscv64-linux section.
---
gnu/packages/gl.scm | 26 +++++++++++++++++++-------
1 file changed, 19 insertions(+), 7 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 7a8a478953..8b82352204 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -274,7 +274,8 @@ also known as DXTn or DXTC) for Mesa.")
("libxrandr" ,libxrandr)
("libxvmc" ,libxvmc)
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
+ "powerpc-linux" "riscv64-linux")
;; Note: update the 'clang' input of mesa-opencl when bumping this.
`(("llvm" ,llvm-11)))
(_
@@ -286,7 +287,8 @@ also known as DXTn or DXTC) for Mesa.")
("flex" ,flex)
("gettext" ,gettext-minimal)
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
+ "powerpc-linux" "riscv64-linux")
`(("glslang" ,glslang)))
(_
`()))
@@ -301,10 +303,10 @@ also known as DXTn or DXTC) for Mesa.")
((or "armhf-linux" "aarch64-linux")
;; TODO: Fix svga driver for non-Intel architectures.
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
- ((or "powerpc64le-linux" "powerpc-linux")
- '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
+ ((or "x86_64-linux" "i686-linux")
+ '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl"))
(_
- '("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
+ '("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl")))
;; Enable various optional features. TODO: opencl requires libclc,
;; omx requires libomxil-bellagio
"-Dplatforms=x11,wayland"
@@ -327,12 +329,15 @@ also known as DXTn or DXTC) for Mesa.")
'("-Dvulkan-drivers=amd,swrast"))
("aarch64-linux"
'("-Dvulkan-drivers=freedreno,amd,broadcom,swrast"))
+ ("riscv64-linux"
+ '("-Dvulkan-drivers=amd,swrast"))
(_
'("-Dvulkan-drivers=auto")))
;; Enable the Vulkan overlay layer on architectures using llvm.
,@(match (%current-system)
- ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
+ ((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
+ "powerpc-linux" "riscv64-linux")
'("-Dvulkan-overlay-layer=true"))
(_
'()))
@@ -346,7 +351,7 @@ also known as DXTn or DXTC) for Mesa.")
((or "x86_64-linux" "i686-linux")
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
"-Dllvm=enabled")) ; default is x86/x86_64 only
- ((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
+ ((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux" "riscv64-linux")
'("-Ddri-drivers=nouveau,r200,r100"
"-Dllvm=enabled"))
(_
@@ -365,6 +370,13 @@ also known as DXTn or DXTC) for Mesa.")
(add-after 'unpack 'disable-failing-test
(lambda _
,@(match (%current-system)
+ ("riscv64-linux"
+ ;; According to the test logs the llvm JIT is not designed
+ ;; for this architecture and the llvmpipe tests all segfault.
+ ;; The same is true for mesa:gallium / osmesa-render.
+ `((substitute* '("src/gallium/drivers/llvmpipe/meson.build"
+ "src/gallium/targets/osmesa/meson.build")
+ (("if with_tests") "if false"))))
("powerpc64le-linux"
;; Disable some of the llvmpipe tests.
`((substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c"
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 14/21] gnu: pcre2: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
d83e76f383a75f74a46d1161be071d0cfab55999.1629193993.git.efraim@flashner.co.il
* gnu/packages/pcre.scm (pcre2)[arguments]: Adjust configure-flags to not
build with JIT when building for riscv64-linux.
---
gnu/packages/pcre.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Toggle diff (17 lines)
diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm
index 315dd8be1d..e63caebd64 100644
--- a/gnu/packages/pcre.scm
+++ b/gnu/packages/pcre.scm
@@ -108,7 +108,9 @@ POSIX regular expression API.")
"--enable-pcre2test-libreadline"
"--enable-pcre2-16"
"--enable-pcre2-32"
- "--enable-jit"
+ ,@(if (target-riscv?)
+ '()
+ `("--enable-jit"))
"--disable-static")
#:phases
(modify-phases %standard-phases
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 15/21] gnu: icu4c: Skip tests on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
3007ccec7f675a57dc20c18bea6c4b0ba3d0b28e.1629193993.git.efraim@flashner.co.il
* gnu/packages/icu4c.scm (icu4c)[arguments]: Add phase to skip failing
test on riscv64-linux.
---
gnu/packages/icu4c.scm | 8 ++++++++
1 file changed, 8 insertions(+)

Toggle diff (21 lines)
diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index 0d5f34aed8..13db71a982 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -80,6 +80,14 @@
(("LDFLAGSICUDT=-nodefaultlibs -nostdlib")
"LDFLAGSICUDT="))
#t))
+ ,@(if (target-riscv?)
+ `((add-after 'unpack 'disable-failing-test
+ ;; It is unknown why this test is failing.
+ (lambda _
+ (substitute* "source/test/intltest/numbertest_api.cpp"
+ (("(TESTCASE_AUTO\\(unitUsage\\));" all)
+ (string-append "//" all))))))
+ '())
(add-after 'install 'avoid-coreutils-reference
;; Don't keep a reference to the build tools.
(lambda* (#:key outputs #:allow-other-keys)
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 16/21] gnu: openblas-ilp64: Add riscv64-linux as a supported architecture.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
dcad30ef876fab10886661a08c1724b2dcd5d4a9.1629193993.git.efraim@flashner.co.il
* gnu/packages/maths.scm (openblas-ilp64)[supported-systems]: Add
riscv64-linux.
---
gnu/packages/maths.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7eac94f2a1..eb6e685278 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4104,7 +4104,7 @@ parts of it.")
(define-public openblas-ilp64
(package/inherit openblas
(name "openblas-ilp64")
- (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
+ (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux" "riscv64-linux"))
(arguments
(substitute-keyword-arguments (package-arguments openblas)
((#:make-flags flags '())
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 17/21] gnu: openlibm: Remove riscv64-linux from supported systems.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
6a3bdea9a60b40fde06343607ee43f879aa7a228.1629193993.git.efraim@flashner.co.il
* gnu/packages/maths.scm (openlibm)[supported-systems]: Remove
riscv64-linux.
---
gnu/packages/maths.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (16 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eb6e685278..06b9dfea59 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4250,7 +4250,8 @@ have a good libm for the Julia programming language that worked consistently
across compilers and operating systems, and in 32-bit and 64-bit
environments.")
;; Each architecture has its own make target, and there is none for mips.
- (supported-systems (delete "mips64el-linux" %supported-systems))
+ (supported-systems (fold delete %supported-systems
+ '("mips64el-linux" "riscv64-linux")))
;; See LICENSE.md for details.
(license (list license:expat
license:isc
--
2.32.0
M
M
Maxime Devos wrote on 17 Aug 2021 12:30
Re: [bug#50091] [PATCH 01/21] utils: Define 'target-riscv?' predicate.
f323957ae11e00e6669ddc893bf031af84418e80.camel@telenet.be
Toggle quote (12 lines)
> > +(define* (target-riscv? #:optional (target (or (%current-target-system)
> > + (%current-system))))
> > + "Is the architecture of TARGET a 'riscv' architecture variant?"
> > + (string-prefix? "riscv" target))
> > +
> > (define* (target-64bit? #:optional (system (or (%current-target-system)
> > (%current-system))))
> > (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "powerpc64")))
>
> The next patch adds a ‘riscv64-linux-gnu’ target. riscv64 seems 64-bit to me.
> It would seem riscv64 needs to be added to target-64bit?.

Nevermind,
[bug#50091] [PATCH 02/21] gnu: bootstrap: Add support for riscv64-linux.
adds it to target-64bit?

Toggle quote (2 lines)
> Greetings,
> Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYRuP1BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7szRAP0QxiZ2RmqlFpnF+f3+0php4Rfk
npmVDGGxo1+Q2HWhEQEAgO3id1/SlALiMVMrJy2YhF0PI5e44JgdTK0uPmPh1w4=
=7Yz+
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 18/21] gnu: texlive-bin: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
fce3042c7a0acd26a32f548cc870a9c353e81457.1629193993.git.efraim@flashner.co.il
* gnu/packages/tex.scm (texlive-bin)[arguments]: Adjust configure-flags
for riscv64-linux to skip luajit based binaries. Add phase to skip some
tests.
---
gnu/packages/tex.scm | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)

Toggle diff (38 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index c00c2ae177..b96aadc357 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -338,13 +338,14 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
"--with-system-teckit"
"--with-system-zlib"
"--with-system-zziplib"
- ;; LuaJIT is not ported to powerpc64le* yet.
- ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
- (%current-system)))
- '("--disable-luajittex"
- "--disable-luajithbtex"
- "--disable-mfluajit")
- '()))
+ ;; LuaJIT is not ported to some architectures yet.
+ ,@(if (or (string-prefix? "powerpc64le" (or (%current-target-system)
+ (%current-system)))
+ (target-riscv?))
+ '("--disable-luajittex"
+ "--disable-luajithbtex"
+ "--disable-mfluajit")
+ '()))
;; Disable tests on some architectures to cope with a failure of
;; luajiterr.test.
@@ -385,7 +386,8 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
(("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1")
"./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))
#t))
- ,@(if (target-ppc32?)
+ ,@(if (or (target-ppc32?)
+ (target-riscv?))
;; Some mendex tests fail on some architectures.
`((add-after 'unpack 'skip-mendex-tests
(lambda _
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 19/21] gnu: texlive-updmap.cfg: Update hash.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
0375a2004b6ab1b898f5cf87baf63a5922178419.1629193993.git.efraim@flashner.co.il
The hash seems to have changed.

* gnu/packages/tex.scm (texlive-updmap.cfg)[source]: Update hash.
---
gnu/packages/tex.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Toggle diff (15 lines)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b96aadc357..072793ec30 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -4077,7 +4077,7 @@ configuration of a base set of packages plus PACKAGES."
(file-name "updmap.cfg")
(sha256
(base32
- "1q3l7yx5sng080ibfb8z3rdah0hhq170j6xw8z1w8i4w9m37lp94"))))
+ "0zhpyld702im6352fwp41f2hgfkpj2b4j1kfsjqbkijlcmvb6w2c"))))
(name "texlive-updmap.cfg")
(build-system copy-build-system)
(arguments
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 20/21] gnu: lz4: Build on riscv64-linux without valgrind.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
996a1fa4122eb34a09371956c0724728bd8a4145.1629193993.git.efraim@flashner.co.il
* gnu/packages/compression.scm (lz4)[native-inputs]: Don't use valgrind
when building for riscv64-linux.
---
gnu/packages/compression.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Toggle diff (17 lines)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 93d517abd5..1803237e6e 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -819,7 +819,9 @@ decompression of some loosely related file formats used by Microsoft.")
(native-inputs
`(;; For tests.
("python" ,python)
- ("valgrind" ,valgrind)))
+ ,@(if (target-riscv?)
+ '()
+ `(("valgrind" ,valgrind)))))
(arguments
`(;; Not designed for parallel testing.
;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:19
[PATCH 21/21] gnu: lapack: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
e50ed7adebe928ed84fa06997f6bcd23b14d2104.1629193993.git.efraim@flashner.co.il
* gnu/packages/maths.scm (lapack)[inputs]: When building for
riscv64-linux explicitly add gfortran:lib.
---
gnu/packages/maths.scm | 3 +++
1 file changed, 3 insertions(+)

Toggle diff (16 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 06b9dfea59..f9b3a20274 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -889,6 +889,9 @@ large scale eigenvalue problems.")
(build-system cmake-build-system)
(home-page "http://www.netlib.org/lapack/")
(inputs `(("fortran" ,gfortran)
+ ,@(if (target-riscv?)
+ `(("fortran:lib" ,gfortran "lib"))
+ '())
("python" ,python-wrapper)))
(arguments
`(#:configure-flags (list
--
2.32.0
E
E
Efraim Flashner wrote on 17 Aug 2021 12:28
Re: [bug#50091] [PATCH 01/21] utils: Define 'target-riscv?' predicate.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 50091@debbugs.gnu.org)
YRuPP6EXcfeqeeCN@3900XT
On Tue, Aug 17, 2021 at 12:27:17PM +0200, Maxime Devos wrote:
Toggle quote (37 lines)
> Efraim Flashner schreef op di 17-08-2021 om 13:18 [+0300]:
> > * guix/utils.scm (target-riscv?): New predicate.
> > ---
> > guix/utils.scm | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/guix/utils.scm b/guix/utils.scm
> > index 32fcff72ea..134879feb1 100644
> > --- a/guix/utils.scm
> > +++ b/guix/utils.scm
> > @@ -96,6 +96,7 @@
> > target-arm?
> > target-ppc32?
> > target-powerpc?
> > + target-riscv?
> > target-64bit?
> > cc-for-target
> > cxx-for-target
> > @@ -699,6 +700,11 @@ architecture (x86_64)?"
> > (%current-system))))
> > (string-prefix? "powerpc" target))
> >
> > +(define* (target-riscv? #:optional (target (or (%current-target-system)
> > + (%current-system))))
> > + "Is the architecture of TARGET a 'riscv' architecture variant?"
> > + (string-prefix? "riscv" target))
> > +
> > (define* (target-64bit? #:optional (system (or (%current-target-system)
> > (%current-system))))
> > (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "powerpc64")))
>
> The next patch adds a ‘riscv64-linux-gnu’ target. riscv64 seems 64-bit to me.
> It would seem riscv64 needs to be added to target-64bit?.
>
> Greetings,
> Maxime.

The next patch also adds riscv64-linux to target-64bit?, since that's
pretty much "when it begins to exist".


--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbjz8ACgkQQarn3Mo9
g1HzKA/+Mc6Fhad94IQ7jNjKnYZSvqn0u2FVuUetRBxYyxSn+pngjNVE4iHz2Of7
9Sx9X6QucFr65XENNHDEx/mV3JtoxK1Y7OJIbwKhi4OKBNnOndNE6CHF6B647ylX
GySDhJKoiq26prURGCiuDEEeGzlTyszCVkp0z3azi0X0mWTVpFh1thlfS+LC0ift
nyxlYutQOWDGagHJWSIni21l7rtk1hgfhC7QawGAZgIx0k/lTBqhj1GKZGCOrWpM
I2FG+o5zW95pgLVU/32Hjj9VtVpS32Prxaxs+SBLaSfL2xGB2nelqwl52r6deIXC
2xRF2U1g7rajEolaQWfny/6JKIdWMGyElt55VVRKVnqloqHjk5EKCrLhjSV/bxrd
dfkujVY8AAyB77F9gp0ouxf8Dy6eyLZs2NTIngpYv86CtUuGTRklhTxC4xjyd8K8
/jhxfM9MaC0Bk8sPMUeH6HLg36RchyZ9cMvQ/s4u8c5J8NAlr4kf7ZDxosKqgxv7
+9/Xf6tgxwPDibnUMETHVQDnV30i6qymrIYhtbvNXD1vYhi7SV7umt/dhg6rSZgC
jSdrv+bWwV6vujJRQqR5d9i6G/tl6Eep3ds/e+iCXGaVTQOK7VKcanI3T8ZiQLlm
pZZoxDxXmIAeJGCdfsQmWlAmOohCaWj00qGniH3DMn3CKAO6b18=
=B3sK
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:29
Re: [PATCH 04/21] gnu: %boot3-inputs: Add missing input.
(address . 50091@debbugs.gnu.org)
YRuPmlYG6Yg2nAMx@3900XT
On Tue, Aug 17, 2021 at 01:19:02PM +0300, Efraim Flashner wrote:
Toggle quote (23 lines)
> * gnu/packages/commencement.scm (%boot3-inputs): Add gcc:lib.
> ---
> gnu/packages/commencement.scm | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
> index 69cf30483d..e2339170e5 100644
> --- a/gnu/packages/commencement.scm
> +++ b/gnu/packages/commencement.scm
> @@ -3579,6 +3579,9 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
> (define (%boot3-inputs)
> ;; 4th stage inputs.
> `(("gcc" ,gcc-final)
> + ,@(if (target-riscv?)
> + `(("gcc:lib" ,gcc-final "lib"))
> + '())
> ("ld-wrapper" ,ld-wrapper-boot3)
> ,@(alist-delete "gcc" (%boot2-inputs))))
>
> --
> 2.32.0
>

I haven't figured out why gcc doesn't seem to pull in gcc:lib (or
gfortran and gfortran:lib), but only on riscv64-linux. Without gcc:lib I
get failures during the configure phase.

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbj5kACgkQQarn3Mo9
g1Eh4g//WpHzAShxbbgkO2T6DtXaC6vXpQKhhMpdZa7vr710rQbLnwNhSq3c7fDR
E5hBNUWX7lIAPOROBfx0R/a4k10rlEKGi1I/Egr5nvenD76X4Sk7sZ9xt248Akz5
xLnmzvRBVY6bCMEbd02xOZbn4rIidP3o4UqxxDITF9a0LMElRhKuXKpgdM5S4Wzy
Up2lf54YhvF29u9lSKRs2o+eG0z02uOeaGM6OYSwZomUiMh9/dnfe8d+QI32gEj9
rwDj7XCfKYCnca4NR2v1gwjacKo3OSt0pipT5x5EpDLh7YdstfmSS19Z06898OTt
ugKQbxwO2sNjj/JXEyWJepG+OYNnmsE0c3j5wg16E+dSnZ2mEFXeTYQCSgvq6/Hx
qAmpU+NbxaQ9ulHOS9+jDpTRAAq3bDcdPKRnQZn7XIzRaeU0KgkMRRtw2JLUQeM1
yXH3qlzSY5lOaNL98pn2sPVsQYrQgLKVss1/n5z5z7wbEG2nQ07VJgUwNVrFFLTc
oRFg5B/vkGPyIjxhFoKR0VEUHxfgJGNVdLUqIw7WJXIPmPdUI9zlvSZjJJvga+mx
9T0rDnoKoR6Xb5m6GK51vn5MC7oul0q29hn/D8dOmBd4Ro0Essv4aix9pKIzAyLT
0Qx6Wx022Zi0v5GBdXyGAB6L1TKEnCJZUQM9a3dwrMqSPodsRjY=
=+tcF
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:30
Re: [PATCH 05/21] gnu: guile: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)
YRuP3uPlSOj2xWZK@3900XT
On Tue, Aug 17, 2021 at 01:19:03PM +0300, Efraim Flashner wrote:
Toggle quote (37 lines)
> * gnu/packages/guile.scm (guile-3.0)[arguments]: On riscv64-linux add
> a phase to skip a failing test.
> ---
> gnu/packages/guile.scm | 22 +++++++++++++---------
> 1 file changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
> index fffc30f913..f9a7125f83 100644
> --- a/gnu/packages/guile.scm
> +++ b/gnu/packages/guile.scm
> @@ -65,7 +65,8 @@
> #:use-module (guix deprecation)
> #:use-module (guix utils)
> #:use-module (ice-9 match)
> - #:use-module ((srfi srfi-1) #:prefix srfi-1:))
> + #:use-module ((srfi srfi-1) #:prefix srfi-1:)
> + #:use-module (srfi srfi-26))
>
> ;;; Commentary:
> ;;;
> @@ -346,14 +347,17 @@ without requiring the source code to be rewritten.")
> ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
> (substitute* "bootstrap/Makefile.in"
> (("^GUILE_OPTIMIZATIONS.*")
> - "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
> - (add-after 'unpack 'skip-failing-fdes-test
> - (lambda _
> - ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> - (substitute* "test-suite/tests/ports.test"
> - (("fdes not closed\"" all) (string-append all "(exit 77)")))
> - #t)))
> - '())))))
> + "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
> + '())
> + ,@(if (srfi-1:any (cute string-prefix? <> (%current-system))
> + '("powerpc-" "riscv64-"))

this should be switched to
,@(if (or (target-ppc32?)
(target-riscv?))

Toggle quote (14 lines)
> + `((add-after 'unpack 'skip-failing-fdes-test
> + (lambda _
> + ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> + (substitute* "test-suite/tests/ports.test"
> + (("fdes not closed\"" all) (string-append all "(exit 77)")))
> + #t)))
> + '())))))
>
> (native-search-paths
> (list (search-path-specification
> --
> 2.32.0
>

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbj94ACgkQQarn3Mo9
g1HYTw//eaYvBZM25NYnMi+EUNSMntAQXZ86mjjoHDJtPQn7C2aJVmeHMDmJjFZT
eHlLKXwlBjz4sqkY7eN4Ss4CFTIFun5fsPSWCdf6gRvIus+sVvqzx23DUSWUo76w
HOckUbuObTdHnNbTYlOzHtmsa5fBkVarA8Mp2HgiqX4BHPiMZgZBjmIAg9+acsAg
vXUxK4Vbx9oJNtVZmQmRhhKkJC1w+vXyGF26X3D+waYLbafmSceOiB9x2RxrA5Nj
azZvnzNiGC2YMr16sUaO3vj18yRDjdwHJfrE1I54NBrqERZ7zJj76CjAujo9axiq
9b9FPWKokMy4oM0rNmhKmIzNBdahiGAmiWWg8kXddDTirbJ3LQvtPsT9UvnFYkhm
U2a06bSiUhoDUtJ2p5w/t2KM7sTzrrqtIAdGGvhraNQX3MtnhYzO0WabDEcIK/5v
0qgsYgTO9W0ZV+3d7iNV/oVuZYtqJo7NjpjEkeaSMAH8GorZemIBhjcQNf7J8Coe
jAHKwxuP7aFt/8ApzFLA3eE+cBk/ZMIeeTzegw4RhgVjrkWJMmM/YzRq17tWnkYD
E1fPsByDFs4fSMezVH34tIh+1jP2bMedB4x0AWYWI1+AdOzS3bz6d+zM2XE/n57W
XCpEhfWYpSf6dnT03Ge47BDaAcKWZVHn+lyoS6nWC8O1Bb7Z6qA=
=KL0I
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:32
Re: [PATCH 11/21] gnu: libtool: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)
YRuQQpRlpNTNutLX@3900XT
Since this touches the patch for libtool it would involve a rebuild of
everything depending on libtool. I can of course rewrite this so it adds
a phase only for riscv64-linux and then undo it in core-updates.

On Tue, Aug 17, 2021 at 01:19:09PM +0300, Efraim Flashner wrote:
Toggle quote (47 lines)
> * gnu/packages/patches/libtool-skip-tests2.patch: Also skip pie tests
> on riscv architectures.
> ---
> gnu/packages/patches/libtool-skip-tests2.patch | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/packages/patches/libtool-skip-tests2.patch b/gnu/packages/patches/libtool-skip-tests2.patch
> index c9d61e3b41..b0a479325f 100644
> --- a/gnu/packages/patches/libtool-skip-tests2.patch
> +++ b/gnu/packages/patches/libtool-skip-tests2.patch
> @@ -1,4 +1,4 @@
> -Skip the nopic test on ARM and MIPS systems.
> +Skip the nopic test on ARM, MIPS and RISCV systems.
>
> --- libtool-2.4.6/tests/demo.at.orig 2015-01-16 13:52:04.000000000 -0500
> +++ libtool-2.4.6/tests/demo.at 2015-02-16 10:48:51.435851966 -0500
> @@ -7,7 +7,7 @@ Skip the nopic test on ARM and MIPS systems.
>
> AT_CHECK([case $host in
> -hppa*|x86_64*|s390*)
> -+hppa*|x86_64*|s390*|arm*|mips*)
> ++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
> # These hosts cannot use non-PIC shared libs
> exit 77 ;;
> *-solaris*|*-sunos*)
> @@ -18,7 +18,7 @@ Skip the nopic test on ARM and MIPS systems.
> { set +x
> $as_echo "$at_srcdir/demo.at:535: case \$host in
> -hppa*|x86_64*|s390*)
> -+hppa*|x86_64*|s390*|arm*|mips*)
> ++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
> # These hosts cannot use non-PIC shared libs
> exit 77 ;;
> *-solaris*|*-sunos*)
> @@ -27,7 +27,7 @@ Skip the nopic test on ARM and MIPS systems.
> at_fn_check_prepare_notrace 'a `...` command substitution' "demo.at:535"
> ( $at_check_trace; case $host in
> -hppa*|x86_64*|s390*)
> -+hppa*|x86_64*|s390*|arm*|mips*)
> ++hppa*|x86_64*|s390*|arm*|mips*|riscv*)
> # These hosts cannot use non-PIC shared libs
> exit 77 ;;
> *-solaris*|*-sunos*)
> --
> 2.32.0
>

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbkEIACgkQQarn3Mo9
g1EBmRAAh6JylVQgK/nv7+a5ihYI2yGrlmNBm9Wdfcn/Q8/aHYEmg9XHZNIzYgt2
mEqIfwide9oHHxjRkIJs5i74inLDnQYPdpvzu57JjYD3ZmXbj3vaqAcvcsD5sH1Z
E8P8EdcV/rw5Af91HLC4n5f2LzZO7GN3yus+eIqaOkoNSgf2Bww9j/l9G9J0bX/D
fXYE2fjPv2mb5pEcM+v7Ux/abZdmnQFdGI2Vlo4W733hLuCV4YW5U3CfSQsVJBM1
seTTEAMq/S0wa2JBpLeID3thxwHmal1nhz/x2WtT9GVktqC8fbPDuWr5R+a+1ku6
RtByOuRXKaalnu6k3BFeDwq37Idr0kW7LKEVQi5c3Y34210jVhqjUH4HVgvfmIq3
1EaZfrKqt0K1EPNpynxEVWauY1OMZMgPZXFn43YL4zyMNwnhyQQkyVzcyxlSHUdY
RqAaozpPmNesF+98YTqaGCSIk0IYX+ZmV0yNeetoiyO4S3FCP5icQbRTOqnxUWdU
x1kIblY5o4mNuPZWd7vx/Yd/Us0L5vOEmKVeir6As1hlBbPd3Ilx1UXN+TFHSVIX
K/gEQv0b34eyVYROfggSiDsHbJp4b3btw5JV/fFp6ov1HXLBci3SlnnNHM+1iKEa
RhB13ZC+IiGou0vdWsIUMTL6skFyXzDMP89J6ZF1rvQhZO7YkFs=
=jlp5
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:34
Re: [PATCH 18/21] gnu: texlive-bin: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)
YRuQo+8niTjq7bQB@3900XT
On Tue, Aug 17, 2021 at 01:19:16PM +0300, Efraim Flashner wrote:
Toggle quote (27 lines)
> * gnu/packages/tex.scm (texlive-bin)[arguments]: Adjust configure-flags
> for riscv64-linux to skip luajit based binaries. Add phase to skip some
> tests.
> ---
> gnu/packages/tex.scm | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
> index c00c2ae177..b96aadc357 100644
> --- a/gnu/packages/tex.scm
> +++ b/gnu/packages/tex.scm
> @@ -338,13 +338,14 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
> "--with-system-teckit"
> "--with-system-zlib"
> "--with-system-zziplib"
> - ;; LuaJIT is not ported to powerpc64le* yet.
> - ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
> - (%current-system)))
> - '("--disable-luajittex"
> - "--disable-luajithbtex"
> - "--disable-mfluajit")
> - '()))
> + ;; LuaJIT is not ported to some architectures yet.
> + ,@(if (or (string-prefix? "powerpc64le" (or (%current-target-system)
> + (%current-system)))
> + (target-riscv?))

I don't think I pushed the patch yet to add target-ppc64le? as an option
yet, but I'll rewrite this one when I do.

Toggle quote (21 lines)
> + '("--disable-luajittex"
> + "--disable-luajithbtex"
> + "--disable-mfluajit")
> + '()))
>
> ;; Disable tests on some architectures to cope with a failure of
> ;; luajiterr.test.
> @@ -385,7 +386,8 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use.
> (("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1")
> "./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77"))
> #t))
> - ,@(if (target-ppc32?)
> + ,@(if (or (target-ppc32?)
> + (target-riscv?))
> ;; Some mendex tests fail on some architectures.
> `((add-after 'unpack 'skip-mendex-tests
> (lambda _
> --
> 2.32.0
>

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbkKMACgkQQarn3Mo9
g1H4kA/+MPpHnh8BxwFRxiknGnyJsye631oXfup+orXIlwPIhe6Jd7c4UfpO+sMd
uZ/WTlrfpIqqB4jK16R2wrkM7R0n4OeKlj93/YnrLIWwBawLmMrG6C2rhBGhLtRO
xEugXBJAAXuvPUaR5npMgfL4zfiGiZ2Cy3c/ZOPuPGb9KVxqUq5y6W87Qk/U81Oo
Cvub5HeDHM8PKUmcBhcF/xeAxoBLHHSPp5vd06sJRuIpDhmexym1Sg2UEmIz5Rmv
Df4KlriXgm8Rj92/+aAnOUFRIBnThJnK2J1n3ZNWTby2t3oYh5g3olv1CReQ20ne
ZYbcQZYGZ5PbUeSPAO+FXxEJpxb0jGCIBW5L8wPggbpjULdX2vU6JARZo8nT1T/M
ZdWpe8yhEqr4CEgk4aZeI+KgI/ba/HUOU3lLpfzZOcfXvJqxfXYTRk119rarH0hZ
lgdDrUUoNNzkr2D74zNYSUqifYsizbXqjYmsTwAfGC4QGrBRBXPTdQN+g2w/Hp0u
Xe8oEferFe9XVxZ+pbVR243CMEUt+bXjRnY2lPn7jm92eSYgKzTMjIqHpkNZB9Zn
OpIFbzsIz/KwgDPYJ1m3ckNWCOW8RAgq8+Iej5aPmMEBWhuG1XikkVLXX4R/n2xb
msEORyIF+gGE5dc6ABY0r1U5/2pWLxhIB6pfcT/iVZklSRNzWUU=
=mJkp
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:35
Re: [PATCH 20/21] gnu: lz4: Build on riscv64-linux without valgrind.
(address . 50091@debbugs.gnu.org)
YRuQ927QWYxJq2qw@3900XT
On Tue, Aug 17, 2021 at 01:19:18PM +0300, Efraim Flashner wrote:
Toggle quote (25 lines)
> * gnu/packages/compression.scm (lz4)[native-inputs]: Don't use valgrind
> when building for riscv64-linux.
> ---
> gnu/packages/compression.scm | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
> index 93d517abd5..1803237e6e 100644
> --- a/gnu/packages/compression.scm
> +++ b/gnu/packages/compression.scm
> @@ -819,7 +819,9 @@ decompression of some loosely related file formats used by Microsoft.")
> (native-inputs
> `(;; For tests.
> ("python" ,python)
> - ("valgrind" ,valgrind)))
> + ,@(if (target-riscv?)
> + '()
> + `(("valgrind" ,valgrind)))))
> (arguments
> `(;; Not designed for parallel testing.
> ;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821
> --
> 2.32.0
>

Valgrind added support for riscv64-linux after the last release, but the
patch isn't easy to backport. I've thought about adding a valgrind-next
and pulling from a recent commit but I'm not sure it's actually worth
it.

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbkPcACgkQQarn3Mo9
g1EFng/+KDhJGXc1ZE9YqueSDb/wUXkPg8ibQ9Cv2yHZWEnykGyxmEPq5uZdYJwD
fYfBPvdKoYl2IAvagQcFFAG6BoaizkPCFTDK7MaaQxAjJ4pblJvBVSTGYN29I7hN
WkzbbFZjt/WzUyLf24XGcCR+90b78ociw9fn9xTacofbQHMUyg1HU/OF0/Rq80P1
Cjqc/pDC0QY3dfdZVQBN80pQyS6vcQWTFGmtx5BPOywZEdWAJOFj3kio6tN2UusP
EWdVmEoGFEfLjI7Ws9va82ROdBDmiOf3bkR3a1eEsmUgqkFTqqCN14s5d1OBPGTQ
JNUXAmT9BfEV6ey7/DzNFixr9WCkfCmvNieipWW5VvsZpYmLF8X6dlpFh5ktcmdt
TUPjLimkuCgO54n6iWPooIVsTz0Tuh8dLBqUxsjQf3YMMJ2hGdhenntHC3RZ9+WW
otBunfEbrV+j8TowQHjhv95FiPhrTPlvLgQYuzCJ/Fr8IAHeRRVtxxI89OMWdCoj
cGK+O74wutMhkpx+bQrCvVjzTxO5IKY1kbqis7rYqcymtl7cwKpqz1zpEVTGtlLs
1vOv8d5WWF9noNBIfVSJgWiunCqMEncqX9hIr2ugBPHP7ADdguVozjuwKBXRWPPu
8mo/4pc1c2GGUVEmikZLHCRYdbyrsdjUAO1CnOfaJgTHj9W5l5Y=
=3fyU
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 17 Aug 2021 12:44
Re: [bug#50091] [PATCH 05/21] gnu: guile: Fix building on riscv64-linux.
f64721f7141528c50de4e83c2236d4c53c2a1624.camel@telenet.be
Toggle quote (26 lines)
> ;;; Commentary:
> ;;;
> @@ -346,14 +347,17 @@ without requiring the source code to be rewritten.")
> ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
> (substitute* "bootstrap/Makefile.in"
> (("^GUILE_OPTIMIZATIONS.*")
> - "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
> - (add-after 'unpack 'skip-failing-fdes-test
> - (lambda _
> - ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> - (substitute* "test-suite/tests/ports.test"
> - (("fdes not closed\"" all) (string-append all "(exit 77)")))
> - #t)))
> - '())))))
> + "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
> + '())
> + ,@(if (srfi-1:any (cute string-prefix? <> (%current-system))
> + '("powerpc-" "riscv64-"))
> + `((add-after 'unpack 'skip-failing-fdes-test
> + (lambda _
> + ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> + (substitute* "test-suite/tests/ports.test"
> + (("fdes not closed\"" all) (string-append all "(exit 77)")))
> + #t)))
> + '())))))

This is not powerpc- or riscv64-specific -- iirc, I sometimes encounter it on a x86_64.
It's non-determenistic though. The debian patch has a nice explanation:
I've also linked some of the public reports on the issue together:

Could the patch (or substitution) be applied, independently of the architecture?

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYRuTHRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7vL+AP9ZGD+GWTR+maH7NYg1mapoVkUB
pNL4yQDCzDCCSoQRnQEA9QDLegZXf3VFwdOqKt6SPMPOXZb5hc6Haulu3aAQuA4=
=qvrh
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 17 Aug 2021 12:49
Re: [bug#50091] [PATCH 11/21] gnu: libtool: Fix building on riscv64-linux.
5cc90e572d850c466a63238249494843de4a22d3.camel@telenet.be
Efraim Flashner schreef op di 17-08-2021 om 13:19 [+0300]:
Toggle quote (7 lines)
> * gnu/packages/patches/libtool-skip-tests2.patch: Also skip pie tests
> on riscv architectures.
> ---
> gnu/packages/patches/libtool-skip-tests2.patch | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>

Does upstream know about the issue?
I would recommend including a link to the upstream bug report.
(in libtool-skip-tests2.patch or in a comment in the 'libtool'
package definition).

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYRuUKBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ha3AQCjKrrg7YlDHhmgYJ7m2/4Rf30X
Eai0eDSpm4ys343A/wD+MUFhtJGUELpdPIuD3kO6ql9G4FrOajCoagRSfh6puQs=
=Ok1l
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:56
Re: [bug#50091] [PATCH 05/21] gnu: guile: Fix building on riscv64-linux.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 50091@debbugs.gnu.org)
YRuV8xYipXp/DADJ@3900XT
On Tue, Aug 17, 2021 at 12:44:44PM +0200, Maxime Devos wrote:
Toggle quote (30 lines)
> > ;;; Commentary:
> > ;;;
> > @@ -346,14 +347,17 @@ without requiring the source code to be rewritten.")
> > ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
> > (substitute* "bootstrap/Makefile.in"
> > (("^GUILE_OPTIMIZATIONS.*")
> > - "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
> > - (add-after 'unpack 'skip-failing-fdes-test
> > - (lambda _
> > - ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> > - (substitute* "test-suite/tests/ports.test"
> > - (("fdes not closed\"" all) (string-append all "(exit 77)")))
> > - #t)))
> > - '())))))
> > + "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
> > + '())
> > + ,@(if (srfi-1:any (cute string-prefix? <> (%current-system))
> > + '("powerpc-" "riscv64-"))
> > + `((add-after 'unpack 'skip-failing-fdes-test
> > + (lambda _
> > + ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> > + (substitute* "test-suite/tests/ports.test"
> > + (("fdes not closed\"" all) (string-append all "(exit 77)")))
> > + #t)))
> > + '())))))
>
> This is not powerpc- or riscv64-specific -- iirc, I sometimes encounter it on a x86_64.
> It's non-determenistic though. The debian patch has a nice explanation:
> <https://salsa.debian.org/rlb/deb-guile/-/blob/f24ab0150132d906b9724128576c36c39361cab7/debian/patches/0007-Fix-non-revealed-port-is-closed-ports.test.patch>.

It is deterministic on powerpc and riscv64 though.

Toggle quote (5 lines)
> I've also linked some of the public reports on the issue together:
> <https://issues.guix.gnu.org/48389#11>.
>
> Could the patch (or substitution) be applied, independently of the architecture?

It could, but it affects everything back to guile-final, so it's world
rebuilding.

Toggle quote (5 lines)
> Greetings,
> Maxime.



--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEblfAACgkQQarn3Mo9
g1GcNA//YediY+SvzS3T3sdoPeC8H4KNFGSMCSuPky44us+jNUSORfi6Ztf3WcvA
k3u86+fv4YJlSLVcun6lLD+EmEt9Led0NzoosZzLv22zx34h4C88kBWW+p2dIvBs
Uxr2ho9lAl9S8FW3o8ksYGfvK+6Yn7gg9AZQ87McBKgApUR+9GqfjSMxx0dsKpdi
jtci9/7C0L73BncxBNj2FbYazEWHoR95m4SST5xwFrtKHLcsG3nvEb+epORvBVAn
bvvTx7twEjsu2wpT+eTL+h9sznpPUuIzULZ5pr6mctwIHNZx6vCyCoAYTJrnZSgZ
zCUkvaa+/Z9sr1BCFtGaKLwaqCzlAwYI29qudfZA2l4HoBZ7O0fGIFzFyT7ZkPKC
I/GWeQ5+TqHpMupBEyk1QMo+/PwVVElr6OpN5Ff5u2vtz8Lu8GvffztvNgnLrO9c
/YntclRlzTnC3IEIeMAoHhLYWVXU2dbG0Pxlsvl9HiIBrwC3A3k9Us8VXTwh+oXc
KapQPbzj3+7TSHFNbOkm177WJxGtAfqRFtt8zw/bXTPrHJObyFLFnXKE+KpXjmsA
ZqUQaE0RgkEdZILbG+DfZlKENQxF7eiAlX8IDy8WLHS36GS4Rbb2O1AbrZBxh0WY
T7HPD1qMLCbtowoszcW/oq1gTv8OrA4u8/oFIGweH1ERk4SsNzk=
=kZ+9
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 17 Aug 2021 12:58
Re: [bug#50091] [PATCH 11/21] gnu: libtool: Fix building on riscv64-linux.
(name . Maxime Devos)(address . maximedevos@telenet.be)(address . 50091@debbugs.gnu.org)
YRuWOkfi/KxrLUhE@3900XT
On Tue, Aug 17, 2021 at 12:49:12PM +0200, Maxime Devos wrote:
Toggle quote (16 lines)
> Efraim Flashner schreef op di 17-08-2021 om 13:19 [+0300]:
> > * gnu/packages/patches/libtool-skip-tests2.patch: Also skip pie tests
> > on riscv architectures.
> > ---
> > gnu/packages/patches/libtool-skip-tests2.patch | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
>
> Does upstream know about the issue?
> I would recommend including a link to the upstream bug report.
> (in libtool-skip-tests2.patch or in a comment in the 'libtool'
> package definition).
>
> Greetings,
> Maxime.

I have to assume upstream knows about it, Debian has a similar patch
they've been using for years. I'll see what I can find about getting a
link for a bug report.


--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEbljkACgkQQarn3Mo9
g1E7uBAAiOgBzlQZmWkrLRI+vM+BxzMmGUYYQGNNevV5mllnQ3m8A8fR1nToxUOu
37m/+PIF5jVCvunYrmuaYjgPDfo2rs56brMv1njCvvuoQLaENzCWuzPEGIZvBZ3U
HntmcV6kCGrvEum0Ia+vVzjLPOtRyVkfVlSVHRzZH7HbFMSkw9kcGXGxDPKFjVND
RtxPesVjS7bH05zkgCtDTXpUIIODlO9PpuUT4Xw61AbnBY9DugtmokR7Q6fZZCWc
SsyZGLApIv/TqFE4+mJlCt6l4ujX12Wt+yvJVSjRe2GXOC2oBVXTk+jKRsY54KK6
9IWW4JbB5YfnxUWxpCZCbIrph+xjx9KH7IpWQpvjttg7zF69/oNRnm8LL8j3Gv6R
xAOfv5sGniMRYDifNvfDgbttsh7p6cO3fKfkpvy+tO3dsCljQUCfSr7L1Fhmkhq7
e1YlWtonVZhmpH717SF9JFMR8/QuMR9BHU29uWHesmOxqoXGbcyo7+7/lsMeGK2e
QWmu9n7qfIUheYZUBJcNDJTbQb7syl1w+uQnJgSL2wrLhF51iHmeFBRVbAlrgE9P
eT7XvIldC9ASkL7/qfZJq3WW/6+X1gF5vWKBdwCS0TARfJbmHVskvKKshw7kAUM0
e02SbjoP653ArkcgFqieGdq8Obx6QkHaIZ4e+Y6FQEF7joZT0Gw=
=gsn/
-----END PGP SIGNATURE-----


T
T
Thiago Jung Bauermann wrote on 17 Aug 2021 16:58
Re: [bug#50091] [PATCH 07/21] gnu: bdb: Fix building on riscv64-linux.
(address . 50091@debbugs.gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
5905408.M9PYHm6Ns5@popigai
Hello Efraim,

Em terça-feira, 17 de agosto de 2021, às 07:19:05 -03, Efraim Flashner
escreveu:
Toggle quote (58 lines)
> * gnu/packages/dbm.scm (bdb)[arguments]: Modify configure to build for
> the currect architecture when building for riscv64-linux.
> ---
> gnu/packages/dbm.scm | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
> index ce84ef9eda..c2bdaf782a 100644
> --- a/gnu/packages/dbm.scm
> +++ b/gnu/packages/dbm.scm
> @@ -1,7 +1,7 @@
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès
> <ludo@gnu.org> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
> -;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner
> <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2020, 2021
> Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018
> Marius Bakke <mbakke@fastmail.com>
> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
> @@ -28,7 +28,8 @@
> #:use-module (guix packages)
> #:use-module (guix download)
> #:use-module (guix build-system gnu)
> - #:use-module (guix utils))
> + #:use-module (guix utils)
> + #:use-module (ice-9 match))
>
> ;;; Commentary:
> ;;;
> @@ -72,15 +73,15 @@
> (string-append "CONFIG_SHELL=" (which "bash"))
> (string-append "SHELL=" (which "bash"))
>
> - ;; Bdb doesn't recognize aarch64 as an
> architecture. - ,@(if (string=? "aarch64-linux"
> (%current-system)) -
> '("--build=aarch64-unknown-linux-gnu") -
> '())
> -
> - ;; Bdb doesn't recognize powerpc64le as an
> architecture. - ,@(if (string=?
> "powerpc64le-linux" (%current-system)) -
> '("--build=powerpc64le-unknown-linux-gnu") -
> '())
> + ;; Bdb doesn't recognize very many architectures.
> + ,@(match (%current-system)
> + ("aarch64-linux"
> + '("--build=aarch64-unknown-linux-gnu"))
> + ("powerpc64le-linux"
> + '("--build=powerpc64le-unknown-linux-gnu"))
> + ("riscv64-linux"
> + '("--build=riscv64-unknown-linux-gnu"))
> + (_ '()))
>
> ,@(if (%current-target-system) ; cross
> building '((string-append "--host=" target))

Can this be fixed instead by updating ‘config.guess’ and ‘config.sub’ as

That could possibly even fix cross-building (as it does for ‘pth’) and
eliminate the need for all the “,@” forms in the ‘configure’ phase.

--
Thanks,
Thiago
T
T
Thiago Jung Bauermann wrote on 17 Aug 2021 17:15
Re: [bug#50091] [PATCH 18/21] gnu: texlive-bin: Fix building on riscv64-linux.
25067285.afjDkJbdOV@popigai
Hello Efraim,

Em terça-feira, 17 de agosto de 2021, às 07:34:11 -03, Efraim Flashner
escreveu:
Toggle quote (34 lines)
> On Tue, Aug 17, 2021 at 01:19:16PM +0300, Efraim Flashner wrote:
> > * gnu/packages/tex.scm (texlive-bin)[arguments]: Adjust configure-flags
> > for riscv64-linux to skip luajit based binaries. Add phase to skip some
> > tests.
> > ---
> >
> > gnu/packages/tex.scm | 18 ++++++++++--------
> > 1 file changed, 10 insertions(+), 8 deletions(-)
> >
> > diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
> > index c00c2ae177..b96aadc357 100644
> > --- a/gnu/packages/tex.scm
> > +++ b/gnu/packages/tex.scm
> > @@ -338,13 +338,14 @@ files from LOCATIONS with expected checksum HASH.
> > CODE is not currently in use.>
> > "--with-system-teckit"
> > "--with-system-zlib"
> > "--with-system-zziplib"
> >
> > - ;; LuaJIT is not ported to powerpc64le* yet.
> > - ,@(if (string-prefix? "powerpc64le" (or
> > (%current-target-system) -
> > (%current-system))) - '("--disable-luajittex"
> > - "--disable-luajithbtex"
> > - "--disable-mfluajit")
> > - '()))
> > + ;; LuaJIT is not ported to some architectures yet.
> > + ,@(if (or (string-prefix? "powerpc64le" (or
> > (%current-target-system) +
> > (%current-system))) + (target-riscv?))
>
> I don't think I pushed the patch yet to add target-ppc64le? as an option
> yet, but I'll rewrite this one when I do.

Nice, thanks!

You’ll also need a corresponding change in ‘texlive-texmf’, similar to the

--
Thanks,
Thiago
T
T
Thiago Jung Bauermann wrote on 17 Aug 2021 17:23
Re: [bug#50091] [PATCH 19/21] gnu: texlive-updmap.cfg: Update hash.
2143350.Jl5syihsOX@popigai
Hi,

Em terça-feira, 17 de agosto de 2021, às 07:19:17 -03, Efraim Flashner
escreveu:
Toggle quote (2 lines)
> The hash seems to have changed.

That’s true. I get the same hash as the new one in this patch when I
manually download ‘updmap.cfg’.

How did you notice it? I didn’t get an error in my (admittedly basic) tests
of the TeX Live packages.

Thanks for fixing it.

--
Thanks,
Thiago
T
T
Thiago Jung Bauermann wrote on 17 Aug 2021 17:26
Re: [bug#50091] [PATCH 20/21] gnu: lz4: Build on riscv64-linux without valgrind.
7475923.C8LUpeJmnU@popigai
Hello,

Em terça-feira, 17 de agosto de 2021, às 07:35:35 -03, Efraim Flashner
escreveu:
Toggle quote (38 lines)
> On Tue, Aug 17, 2021 at 01:19:18PM +0300, Efraim Flashner wrote:
> > * gnu/packages/compression.scm (lz4)[native-inputs]: Don't use valgrind
> > when building for riscv64-linux.
> > ---
> >
> > gnu/packages/compression.scm | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/gnu/packages/compression.scm
> > b/gnu/packages/compression.scm
> > index 93d517abd5..1803237e6e 100644
> > --- a/gnu/packages/compression.scm
> > +++ b/gnu/packages/compression.scm
> > @@ -819,7 +819,9 @@ decompression of some loosely related file formats
> > used by Microsoft.")>
> > (native-inputs
> >
> > `(;; For tests.
> >
> > ("python" ,python)
> >
> > - ("valgrind" ,valgrind)))
> > + ,@(if (target-riscv?)
> > + '()
> > + `(("valgrind" ,valgrind)))))
> >
> > (arguments
> >
> > `(;; Not designed for parallel testing.
> >
> > ;; See
> > https://github.com/lz4/lz4/issues/957#issuecomment-737419821
>
> Valgrind added support for riscv64-linux after the last release, but the
> patch isn't easy to backport. I've thought about adding a valgrind-next
> and pulling from a recent commit but I'm not sure it's actually worth
> it.

IMHO, either the commit message or the code would benefit from a note
mentioning that the current version of Valgrind doesn’t support
riscv64-linux.

--
Thanks,
Thiago
S
S
Sarah Morgensen wrote on 17 Aug 2021 21:33
Re: [bug#50091] [PATCH 10/21] gnu: openssl: Fix build on riscv64-linux.
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 50091@debbugs.gnu.org)
864kbn6f3a.fsf@mgsn.dev
Hi Efraim,

Efraim Flashner <efraim@flashner.co.il> writes:

Toggle quote (37 lines)
> * gnu/packages/tls.scm (openssl)[arguments]: Add phase for riscv64-linux
> to skip failing test.
> (target->openssl-target): Add case for riscv64-linux.
> ---
> gnu/packages/tls.scm | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
> index 4b8df04f17..f6cdeac363 100644
> --- a/gnu/packages/tls.scm
> +++ b/gnu/packages/tls.scm
> @@ -337,7 +337,10 @@ OpenSSL for TARGET."
> ((string-prefix? "powerpc64" target)
> "linux-ppc64")
> ((string-prefix? "powerpc" target)
> - "linux-ppc")))
> + "linux-ppc")
> + ((string-prefix? "riscv64" target)
> + ;; linux64-riscv64 isn't recognized until 3.0.0.
> + "linux-generic64")))
>
> (define-public openssl
> (package
> @@ -380,6 +383,12 @@ OpenSSL for TARGET."
> #$(target->openssl-target
> (%current-target-system))))))
> #~())
> + ;; Unclear why this test is failing.
> + #$@(if (target-riscv?)
> + #~((add-after 'unpack 'skip-failing-test
> + (lambda _
> + (delete-file "test/recipes/30-test_afalg.t"))))
> + #~())
> (replace 'configure
> (lambda* (#:key configure-flags #:allow-other-keys)
> (let* ((out #$output)

This test is also failing on aarch64 [0] and has been reported upstream
for some time [1] with no action.

Looks like it can also be disabled with

make TESTS=-test_afalg test

if that's more desirable.


--
Sarah
E
E
Efraim Flashner wrote on 18 Aug 2021 09:09
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50091@debbugs.gnu.org)
YRyyM0y5rrQinE+F@3900XT
On Tue, Aug 17, 2021 at 12:33:45PM -0700, Sarah Morgensen wrote:
Toggle quote (44 lines)
> Hi Efraim,
>
> Efraim Flashner <efraim@flashner.co.il> writes:
>
> > * gnu/packages/tls.scm (openssl)[arguments]: Add phase for riscv64-linux
> > to skip failing test.
> > (target->openssl-target): Add case for riscv64-linux.
> > ---
> > gnu/packages/tls.scm | 11 ++++++++++-
> > 1 file changed, 10 insertions(+), 1 deletion(-)
> >
> > diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
> > index 4b8df04f17..f6cdeac363 100644
> > --- a/gnu/packages/tls.scm
> > +++ b/gnu/packages/tls.scm
> > @@ -337,7 +337,10 @@ OpenSSL for TARGET."
> > ((string-prefix? "powerpc64" target)
> > "linux-ppc64")
> > ((string-prefix? "powerpc" target)
> > - "linux-ppc")))
> > + "linux-ppc")
> > + ((string-prefix? "riscv64" target)
> > + ;; linux64-riscv64 isn't recognized until 3.0.0.
> > + "linux-generic64")))
> >
> > (define-public openssl
> > (package
> > @@ -380,6 +383,12 @@ OpenSSL for TARGET."
> > #$(target->openssl-target
> > (%current-target-system))))))
> > #~())
> > + ;; Unclear why this test is failing.
> > + #$@(if (target-riscv?)
> > + #~((add-after 'unpack 'skip-failing-test
> > + (lambda _
> > + (delete-file "test/recipes/30-test_afalg.t"))))
> > + #~())
> > (replace 'configure
> > (lambda* (#:key configure-flags #:allow-other-keys)
> > (let* ((out #$output)
>
> This test is also failing on aarch64 [0] and has been reported upstream
> for some time [1] with no action.

I was able to build openssl without any problems on my pine64, I'll run
it again and see what I come up with.

Looking at the bug report, it looks like it also might be kernel
dependant and/or related to cross compiling. I'm pretty sure the aarch64
builders are running Guix System, and my pine64 is running Armbian.

I'll go ahead and disable it for all the arm* architectures.

Toggle quote (6 lines)
> Looks like it can also be disabled with
>
> make TESTS=-test_afalg test
>
> if that's more desirable.

I do like that better.

Toggle quote (6 lines)
> [1] https://github.com/openssl/openssl/issues/12242
>
> --
> Sarah

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEcsjAACgkQQarn3Mo9
g1GVbA//ViLIJrAMZOabSLsSWroEViZHX7rWzdP5oSFkWoBSCrulCUnD6txOokxw
zNJsvk/03MPEthCGvg9yrvGdybjJgZf/cox1RYRCHqxUlrRj/FatetVwkZY9JOYy
7/0W9JZS2GEIc3G8sKrO8fcAMjNlBBQmiy63m1x9JYPN2aO4jvKKZoK3JLYmaoYz
zLBcqtfpPbJ3vXEBEv3ICt69WuaognntMiAN7a/LUNDpN5OAPMGLn1rnFFNSa+k3
wjLpNd6yoL/1PAgb4ymbW91E9bA0y49UH1wJZsOuxgsoFI0XbRevG+MOfuBenLDj
H2OgRXSTNN9nk3djtSZ5EFz3aLHI6pUNaXoYidRcbg02Y6H7EVcwRmIWpih6ZN2/
8ixeZEgrz+bKmOuAKB1ucR83ehPEUPN4OTcm/JQo3M5hBU3F4ibTBaZhLXgPW/+f
bH3r1ICn6VSgr/+47GbgfzEuFI8SsG+JMPsFmOBupdDrXzvVd+6RuT/xLO4uDBz0
n9nySzPZ4v+396JP0MkGx5iarrmygUsITtpHkpRU+jcO4rEnGVIUIk+LxwkJX8Fb
CX9ff5y6i+AC7tTjxR+qvrZM/3TEXMV6MnRhimMKQX77YaS7H3C3XcYWr/E5XO/G
pOUlTUxa69sB+zkyaVnA+OEphjA/8cex16lRtHnEFqtzTfhI76o=
=HaPt
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 18 Aug 2021 09:10
Re: [bug#50091] [PATCH 19/21] gnu: texlive-updmap.cfg: Update hash.
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)(address . 50091@debbugs.gnu.org)
YRyyeuZcSrVqyZ13@3900XT
On Tue, Aug 17, 2021 at 12:23:27PM -0300, Thiago Jung Bauermann wrote:
Toggle quote (12 lines)
> Hi,
>
> Em terça-feira, 17 de agosto de 2021, às 07:19:17 -03, Efraim Flashner
> escreveu:
> > The hash seems to have changed.
>
> That’s true. I get the same hash as the new one in this patch when I
> manually download ‘updmap.cfg’.
>
> How did you notice it? I didn’t get an error in my (admittedly basic) tests
> of the TeX Live packages.

On some of my machines I build without substitutes, so when this one
changed upstream it showed up.

Toggle quote (2 lines)
> Thanks for fixing it.

Don't thank me just yet, I still need to see what changed between the
two versions.

Toggle quote (6 lines)
> --
> Thanks,
> Thiago
>
>

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEcsnoACgkQQarn3Mo9
g1Fojw/9HZbKHk5aLmZp47dPhmcSGBit2zp4hDHpvgBWQZbVTdNu2I7s/OrLtduW
fOt/6B+xjh1eOcxaGJu9UVLPrcQ1IxOUhPis+LKvNmxhuao+YAtv8P4i1tzYlWvb
Czye7w7JcvKs2Y18ae1fdHmRX+JmDgTpfJmYk8S2Y24Llr/ln67UbF0azT8mo5Nl
jnApFaDjPspn7DtYd5+Mv7WhbZez6kT1wnRy1QjJtR2G+kT03LbcBAMXN61GZ/ka
aJXoJdu1cYRr7gVdnMWIlz1Fn35rUMR7TOnoGTOOXsolTk06e1ayJ/BPTE7RLPab
ppSFoDsrZLIBA685UXbEMGAHEps94zE81AK2jr+OXKGX+yRkhmkoLAm3gleLKk0E
jl/gFF9xdjK4CPQpIY/nbuVPPnW0uh5EQzBSYNyRikwP3jVU/EsyRC0YR97DyfYF
b12q26Y0vLIoYvm/2e8/BnBRMfm9NtiDIwXM2meJnvwy4sJRjHJywvNFy3+sudSv
3vF0U0HP33YCCsTHGF3rxpUahDSeRDsS92sJgOnhgNHVFJAGfo2xIqFwQ+CfsRyr
juTPKJEGXZ5HI+VSk2nnMg1zLNz+fx+1BPLL91uBJEKWvhx+0tDQiKrCYWRSJM/h
SeWUNYA9ByAShWetCNWVK4Wcpg6RqTg22ZMhbaBNFIdlmEXmRz0=
=n5a+
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 18 Aug 2021 11:10
Re: [bug#50091] [PATCH 20/21] gnu: lz4: Build on riscv64-linux without valgrind.
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)(address . 50091@debbugs.gnu.org)
YRzOk0YIs5bigzNt@3900XT
On Tue, Aug 17, 2021 at 12:26:33PM -0300, Thiago Jung Bauermann wrote:
Toggle quote (47 lines)
> Hello,
>
> Em terça-feira, 17 de agosto de 2021, às 07:35:35 -03, Efraim Flashner
> escreveu:
> > On Tue, Aug 17, 2021 at 01:19:18PM +0300, Efraim Flashner wrote:
> > > * gnu/packages/compression.scm (lz4)[native-inputs]: Don't use valgrind
> > > when building for riscv64-linux.
> > > ---
> > >
> > > gnu/packages/compression.scm | 4 +++-
> > > 1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/gnu/packages/compression.scm
> > > b/gnu/packages/compression.scm
> > > index 93d517abd5..1803237e6e 100644
> > > --- a/gnu/packages/compression.scm
> > > +++ b/gnu/packages/compression.scm
> > > @@ -819,7 +819,9 @@ decompression of some loosely related file formats
> > > used by Microsoft.")>
> > > (native-inputs
> > >
> > > `(;; For tests.
> > >
> > > ("python" ,python)
> > >
> > > - ("valgrind" ,valgrind)))
> > > + ,@(if (target-riscv?)
> > > + '()
> > > + `(("valgrind" ,valgrind)))))
> > >
> > > (arguments
> > >
> > > `(;; Not designed for parallel testing.
> > >
> > > ;; See
> > > https://github.com/lz4/lz4/issues/957#issuecomment-737419821
> >
> > Valgrind added support for riscv64-linux after the last release, but the
> > patch isn't easy to backport. I've thought about adding a valgrind-next
> > and pulling from a recent commit but I'm not sure it's actually worth
> > it.
>
> IMHO, either the commit message or the code would benefit from a note
> mentioning that the current version of Valgrind doesn’t support
> riscv64-linux.
>

Looks like I was mistaken, libunwind grew riscv64-linux support, not
valgrind.

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEczpMACgkQQarn3Mo9
g1E2oQ/9F1SD7Utg+RWGuOyqKSIC9y8Ry9FoeZIszD8rHQFKtW9ex6vdqXqAiYR0
gXH9rJJBu/k3izCjX8Ul+b6rZ29F6l5tzAPzmqJCUzj5nkkyrmjlWLWCVH2f9Vpa
OWhWnty1WOlf3uvaUfz7V7W+wJke4obOQyLWJcvCAPqVIft+Pti5SlPp5V/pM1wO
68ffmYKHl9oi7pBORBFNDeYya0GUwRGIHDlwXDX5MX7ZlR0cDTchcUYRh1DgXckC
6RgqrgqpBMFtUqBSHT/UZEAkv4Zl7hJQveEZ2Fifh6Y8jAQAXcXvNiFP0cuiNBKv
VwahLCz7ajNbJnI8B1wZM/S5xgjQ1SUtpyuFkjTMOD0Ia7YXg1RdD6OEggiWn3MB
bZK1ejLz0CP7CMVH8/jHsWJm6Th1iWD+bEzaTLidV7ziDfbAfk8S7cDJwNlpxevJ
DGlSynlPGIAHeSlQHHAKVrOLvlu0cDkwisWp2WqMAuAGvhCBlkSPYScQSJzt1mKw
ltxE03414JzKL4zZyCKgcu2rXOgfISLiNyGGzDlH/he5kUHe4Y02Blb3F3krFQ9r
QcW25A9T7uEqd0fWZVCx/AVALogkoBP3/TXgQWpetzZr25FKFxUTXEyInAF4dsU6
ag6QH8Wxrp+VSzGOJNsZpJpLVK102FZkpFzy51Uj8SG8jFzWQf0=
=BzDt
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 18 Aug 2021 12:41
Re: [bug#50091] [PATCH 19/21] gnu: texlive-updmap.cfg: Update hash.
YRzjwnglSnGGS0wz@3900XT
On Wed, Aug 18, 2021 at 10:10:50AM +0300, Efraim Flashner wrote:
Toggle quote (22 lines)
> On Tue, Aug 17, 2021 at 12:23:27PM -0300, Thiago Jung Bauermann wrote:
> > Hi,
> >
> > Em terça-feira, 17 de agosto de 2021, às 07:19:17 -03, Efraim Flashner
> > escreveu:
> > > The hash seems to have changed.
> >
> > That’s true. I get the same hash as the new one in this patch when I
> > manually download ‘updmap.cfg’.
> >
> > How did you notice it? I didn’t get an error in my (admittedly basic) tests
> > of the TeX Live packages.
>
> On some of my machines I build without substitutes, so when this one
> changed upstream it showed up.
>
> > Thanks for fixing it.
>
> Don't thank me just yet, I still need to see what changed between the
> two versions.
>

Turns out the wrong hash was because it was missed during the Tex Live
2021 update. I've pushed the updated patch to core-updates-frozen.


--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEc48IACgkQQarn3Mo9
g1E6iRAAwgke8XbM3qROHT9eSQeg6ceFb12iOxCPL7y1S2+VAYxhlYuiyhJgMd6S
eJD8nG63e+j/RduoDJQ1YVLEN5wagiWd9YVsWgxdmogP8NEZyskgEJpZWjvFDo68
PzJ1TpFDZEyg0B/uL89FbJerm/310oFr2hLrv2LjYJ9BNsa94anTfe5fGIY/iFO/
X60e9jWdv+qwQgnCIO2Ro+sybgz8qJZuLm7JnRHcbKFqQYO3hlPvEZHOGoWY37Sb
huKXwbb7RKwOQK3qDwi32KdG4A8212JpzxD4kw9wX7mHt0OQaXFcpoE7ZtKEWeKQ
Bp8JbA7aavU4lL9u9aQPznYhrXPkuUoIBoy8s+5rRPy86vJkoGYtpyEYjiUargE/
437fOXACnecPGLE/eGOWLwEZ+6kyyD5fAnoOvGvZFZ0+DDPVsdar1hDJ26gL1jbO
F+JLtcXgcSw4EJ8WIHaFvVrgHPIUk5a9Kjz92rtgD+rf1XrEZXK1xfy514BQEgWq
SNeqkX7h6vlpHKw1lSVWIGEzr4pBq4jDYw4zMiyAhbqnfQ723XZUP+tc4/Caf6ds
4ptzT73VWg7N4DZSVhhxOLlJtzT4WLEH8BsVlssml58QAsSdpBC5MtWdGeWRkmK9
mVOPszrDFyAcLD65DFLICJyQ/7iwc5jkluizomD5Or3lnh9PxJo=
=VO45
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 18 Aug 2021 12:44
Re: [bug#50091] [PATCH 10/21] gnu: openssl: Fix build on riscv64-linux.
YRzkp4XrZM6UYhjM@3900XT
On Wed, Aug 18, 2021 at 10:09:39AM +0300, Efraim Flashner wrote:
Toggle quote (66 lines)
> On Tue, Aug 17, 2021 at 12:33:45PM -0700, Sarah Morgensen wrote:
> > Hi Efraim,
> >
> > Efraim Flashner <efraim@flashner.co.il> writes:
> >
> > > * gnu/packages/tls.scm (openssl)[arguments]: Add phase for riscv64-linux
> > > to skip failing test.
> > > (target->openssl-target): Add case for riscv64-linux.
> > > ---
> > > gnu/packages/tls.scm | 11 ++++++++++-
> > > 1 file changed, 10 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
> > > index 4b8df04f17..f6cdeac363 100644
> > > --- a/gnu/packages/tls.scm
> > > +++ b/gnu/packages/tls.scm
> > > @@ -337,7 +337,10 @@ OpenSSL for TARGET."
> > > ((string-prefix? "powerpc64" target)
> > > "linux-ppc64")
> > > ((string-prefix? "powerpc" target)
> > > - "linux-ppc")))
> > > + "linux-ppc")
> > > + ((string-prefix? "riscv64" target)
> > > + ;; linux64-riscv64 isn't recognized until 3.0.0.
> > > + "linux-generic64")))
> > >
> > > (define-public openssl
> > > (package
> > > @@ -380,6 +383,12 @@ OpenSSL for TARGET."
> > > #$(target->openssl-target
> > > (%current-target-system))))))
> > > #~())
> > > + ;; Unclear why this test is failing.
> > > + #$@(if (target-riscv?)
> > > + #~((add-after 'unpack 'skip-failing-test
> > > + (lambda _
> > > + (delete-file "test/recipes/30-test_afalg.t"))))
> > > + #~())
> > > (replace 'configure
> > > (lambda* (#:key configure-flags #:allow-other-keys)
> > > (let* ((out #$output)
> >
> > This test is also failing on aarch64 [0] and has been reported upstream
> > for some time [1] with no action.
>
> I was able to build openssl without any problems on my pine64, I'll run
> it again and see what I come up with.
>
> Looking at the bug report, it looks like it also might be kernel
> dependant and/or related to cross compiling. I'm pretty sure the aarch64
> builders are running Guix System, and my pine64 is running Armbian.
>
> I'll go ahead and disable it for all the arm* architectures.
>
> > Looks like it can also be disabled with
> >
> > make TESTS=-test_afalg test
> >
> > if that's more desirable.
>
> I do like that better.
>
> > [0] https://ci.guix.gnu.org/build/29270/details
> > [1] https://github.com/openssl/openssl/issues/12242
> >

I've pushed the arm* version to core-updates

--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEc5KYACgkQQarn3Mo9
g1Ftsw//TPtiPiD/e8lyHnNRzYIHe296Aw1C+KBvz3ZXWcqjDs6Adey8tragIqrD
Uai+G2BjltghrV6lDUki0NPp/YVKFp7LCf5GYueB+uOgKV8IM1HfAkbtpwDczxua
tc1z+ZaP6V/Q+SyQxNwFqcwsk9gNmlcRhIxSnLJ9whLaGnS9x+tWUX3BnwWUA0VI
dnuVOp84lhYXMN6kyjRuYkkC+Z+LyP2KTroHj+vYLFn1JhChAbOXDKH5gVQ4rqGH
4Jhk2TD9goFY2i2oD3I2iH18Sod8KHeOjKJe5t1gzg2+fbnR5R6BRQQ5zLxkIaYW
bxjzxrXj9xSdzDOGHltQsFKi9D21QeH/jF1ZyWZ89yuFJmpYIsb3r2mSINtfvYpw
6fR4mNl/lA7CwXkJxfXwHlk1KA3Zds9mcTE/+wUnwS1SLNPWgMWOXWq3Qx3OtUSE
02oajBnzw91N1kG67aSUBM6Hi4EtS/5T948kq/2AX+TTx/YLMoXci0tv7HjxjL0A
8RUaov3LH4KclzuZtID+ahtcREB3HBiM5tTkMu9k/4ooGNGjVmeg1aHZHoJWSTvC
ntrWeHEahFcXhAFSUbmj7rj0vrS0e1GgbH3H0R90ey7OUnpSxihVAh6O8dmLKys+
Y8U3snBcociDdFBRc+EGBadxKDdOi0AMppwsdSIlwF/lzthKOGY=
=TQk7
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 24 Aug 2021 13:53
Re: [PATCH 02/21] gnu: bootstrap: Add support for riscv64-linux.
(address . 50091@debbugs.gnu.org)
YSTdq7Iv8WTmvyp5@3900XT
On Tue, Aug 17, 2021 at 01:19:00PM +0300, Efraim Flashner wrote:
Toggle quote (12 lines)
> On 7d93b21ab1c132990054372a9677c1639d54e631
> gnu: glibc-for-bootstrap: Update patch.
>
> Run
> ./pre-inst-env guix build --target=riscv64-linux-gnu bootstrap-tarballs
>
> Producing
> /gnu/store/4hdzva9i0wyyfbgj1lmqc1wkk644pv07-bootstrap-tarballs-0
>
> With guix hash -rx
> 1nj0fdgj08bbmfny01mp2blv7c3p2iciqh31zmf04ap5s7ygsqlp

I tested this myself with two other machines, one x86_64 running Guix
System and aarch64, running Armbian (based on Debian 10)

From the x86_64 machine:

(ins)efraim@E5400 ~$ guix time-machine --commit=7d93b21ab1c132990054372a9677c1639d54e631 \
-- build --no-substitutes --target=riscv64-linux-gnu bootstrap-tarballs
/gnu/store/4hdzva9i0wyyfbgj1lmqc1wkk644pv07-bootstrap-tarballs-0
(ins)efraim@E5400 ~$ guix hash -rx /gnu/store/4hdzva9i0wyyfbgj1lmqc1wkk644pv07-bootstrap-tarballs-0
1nj0fdgj08bbmfny01mp2blv7c3p2iciqh31zmf04ap5s7ygsqlp

(ins)efraim@pine64:~$ guix time-machine --commit=7d93b21ab1c132990054372a9677c1639d54e631 \
-- build --no-substitutes --target=riscv64-linux-gnu bootstrap-tarballs
(ins)efraim@pine64:~$ guix hash -rx /gnu/store/my39g68c6g4czzzk0l1bw8jh8jgpsc9s-bootstrap-tarballs-0
07xa3r4ac1qi1vpilr7ia43ifw1yxv3hpi4vz4hjypgl12b8h8x7

So I got a different result from aarch64 than from x86_64.


--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmEk3aUACgkQQarn3Mo9
g1HMwg/+IKUTR9S09XZVwdx34K/eqIQVE+J8THvg465InuME+uUn34YBQNps2USv
bLXcG1vkIRTYi/+CqpgHZqu1TcpqG4JxN5iJPnbKVWWs0eS2j0LlAxG3CBGkZ/S/
pUXu2n6jtJP2l/8kqUFI4apJyXHxooLPwpWngwk4nbCc+JVQmKsENBmTWKP3Ui7O
QWlVfbLxKYHckvnnguFGtkLcFZ/BL90IB1/GxUDLO1EDZhJYbVX0Z0o6cLKdFM7O
a0IV8n0DXRRRswtNQ8LpU9wCuzrq3X3/KEbstxW0E8gNPtgi8AqM/Uu8WOKWG4PH
xn7BrvIiOSO17w+6WExSUDUo/I46w5vUQP3S6bqFW8Ef3OU0ShkdId0/Kp2lzD11
JZzmdP1HCXjxUoiRjtLAkM8d4UJBI4VMcVneZOf25pgSK0DUO4GwC6cutW2UfIDk
QD7vuOypPpP6ANIuqQw8GjO9ZIk+nCkJiBJvQH/mDzjfd023SuLkC5vGXXEovg54
VSUSKUKul2COw16s2BjTgFqTTAc+CuQzgKONvgAPsMJONmGOebK4eaFPPwf0obf1
P6aPG+p8hoTQ1cZtNlRILenSw9ijwi3X1IFEHsj9+qzPqKXgjDKO10In+fwlleBG
j6G2Ljr+1gWaaCNxIYDlcr1v7hBOHbq8kZ8GEBrEErrx0rliRe8=
=c87q
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 23 Sep 2021 09:28
Re: [bug#50091] [PATCH 07/21] gnu: bdb: Fix building on riscv64-linux.
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)(address . 50091@debbugs.gnu.org)
YUwsobov125i6hdL@3900XT
On Tue, Aug 17, 2021 at 11:58:44AM -0300, Thiago Jung Bauermann wrote:
Toggle quote (69 lines)
> Hello Efraim,
>
> Em terça-feira, 17 de agosto de 2021, às 07:19:05 -03, Efraim Flashner
> escreveu:
> > * gnu/packages/dbm.scm (bdb)[arguments]: Modify configure to build for
> > the currect architecture when building for riscv64-linux.
> > ---
> > gnu/packages/dbm.scm | 23 ++++++++++++-----------
> > 1 file changed, 12 insertions(+), 11 deletions(-)
> >
> > diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
> > index ce84ef9eda..c2bdaf782a 100644
> > --- a/gnu/packages/dbm.scm
> > +++ b/gnu/packages/dbm.scm
> > @@ -1,7 +1,7 @@
> > ;;; GNU Guix --- Functional package management for GNU
> > ;;; Copyright © 2012, 2013, 2014, 2016, 2020 Ludovic Courtès
> > <ludo@gnu.org> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
> > -;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner
> > <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2020, 2021
> > Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018
> > Marius Bakke <mbakke@fastmail.com>
> > ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
> > ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
> > @@ -28,7 +28,8 @@
> > #:use-module (guix packages)
> > #:use-module (guix download)
> > #:use-module (guix build-system gnu)
> > - #:use-module (guix utils))
> > + #:use-module (guix utils)
> > + #:use-module (ice-9 match))
> >
> > ;;; Commentary:
> > ;;;
> > @@ -72,15 +73,15 @@
> > (string-append "CONFIG_SHELL=" (which "bash"))
> > (string-append "SHELL=" (which "bash"))
> >
> > - ;; Bdb doesn't recognize aarch64 as an
> > architecture. - ,@(if (string=? "aarch64-linux"
> > (%current-system)) -
> > '("--build=aarch64-unknown-linux-gnu") -
> > '())
> > -
> > - ;; Bdb doesn't recognize powerpc64le as an
> > architecture. - ,@(if (string=?
> > "powerpc64le-linux" (%current-system)) -
> > '("--build=powerpc64le-unknown-linux-gnu") -
> > '())
> > + ;; Bdb doesn't recognize very many architectures.
> > + ,@(match (%current-system)
> > + ("aarch64-linux"
> > + '("--build=aarch64-unknown-linux-gnu"))
> > + ("powerpc64le-linux"
> > + '("--build=powerpc64le-unknown-linux-gnu"))
> > + ("riscv64-linux"
> > + '("--build=riscv64-unknown-linux-gnu"))
> > + (_ '()))
> >
> > ,@(if (%current-target-system) ; cross
> > building '((string-append "--host=" target))
>
> Can this be fixed instead by updating ‘config.guess’ and ‘config.sub’ as
> done in https://issues.guix.gnu.org/50086#1 ?
>
> That could possibly even fix cross-building (as it does for ‘pth’) and
> eliminate the need for all the “,@” forms in the ‘configure’ phase.
>

Sorry for taking so long to get back to you. I finally tried this but
there seems to be a cycle somewhere between bdb and config, so using
config and dropping the custom --build flag isn't currently an option.

--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmFMLKEACgkQQarn3Mo9
g1ELNxAAqLOBry1rmy3hL4Cn25pJ70i9W3HdmKd3xCrWBh7ivBGIUiqUyosZxfkZ
gPZ4D7d8xvyZ4HhKqOR69+VYQ2e5DXaz2ieGl8dlf7bMmjFmvxXJL8wYnY6EGo5l
NPN5DujKbnfpovuTIo6TIQtiH51KMmKBuYWt+9weX47XZh5UrCWDiByEz9seTGpt
P3DQmeBB2FpDGp4553i+h6BFFbQUJoo6J6syNO/gPqP1IG/KJ1a4cZXkc1Y1cE09
yEjuuT8dmpJ0M9pkWaWp97O0yBSiPw/aKL22A/GlTeChWeACTe3Y79rGlxTkaXxM
tykJOnGIEwE6DPGOQU2/HirnQe5QOjSND1ldqg2v4Egl192coh4eIuS/otI3CQBe
lm9nx60MMAHkb2xze+TR9DoHGzRYBah+S3mn3VQdeQFI9hl6B4RR4zXTQ//66L9J
Y3R8QxBtmKkW75Vbl2bNFamy6OqFpRInEciIUhY7zqDjYmpsC1CipxbxySBIPs5d
D5NiEeqkFcehBXXYVlF4QOPYK42fMKQ62BXRx2+vTK8AmGUYv+9gnOYYhYYv+EhP
W6UyLoFCvD6NZ5zk4ceJKgKd8ATjrrJjvcoMFszpDY98WZ0j9feBjoco39Dd3u97
tW3l983stIaWp40OCHCHOjsFsnzFrmoLUqtaWEO4Y+yWnDGP+TQ=
=8+hG
-----END PGP SIGNATURE-----


E
E
Efraim Flashner wrote on 23 Sep 2021 09:35
Re: [PATCH 02/21] gnu: bootstrap: Add support for riscv64-linux.
(address . 50091@debbugs.gnu.org)
YUwuNwGkPvH/eI1e@3900XT
Anyone want to take a look at this patch? We're definitely past the 2
weeks mark but I'm not comfortable pushing a new architecture without
others chiming in.

Even just a 'I ran the guix time-machine command and got the same hash'
response would be helpful. Or a 'lets make sure to keep the sorting of
the architectures consistent across commencement.scm'.

--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmFMLjcACgkQQarn3Mo9
g1HhZxAAsYezfRyTvlJ7bNQLw67sv0ZtiGCJHr83PCmESI5WcHtN/ZSMH/GwfzjA
ir9w4OMCFfwNwhT8uZfeSe3yWr/fDXuMqLWYgVDYdNc+zR/UZJADdc8gkE/8qHX2
rV7Hga8tvoArX6NaSX5COEAbBQayMnLL9a4bT85jUJyIu/HntHtrG6y3uurvRZ2v
VkLZY4cJjTerJTu5TDNmb0dx/P8+rVcyxHJAWiCgImL3DpvS8fZoehv5W5eGptEZ
pNAb5fu7tUYrJNv8tLY0Qt5Quqb0G46JEuwTEzUoX9rtfruW0S6AqR4tA2o7TQoG
v02XrrE0/G5WFny9IrfPdXTHQbeZni48KtIUiAIKmAiA0VDXIKA/R+Sa63dRu0Lf
PvfmECJ06D9F+CGpzkdxXn53dv6HojfPEGyShqIAMCuEibxrGKfU/xOZHh1Gl4s5
l/AqZKNt5IIA8Vft+dZhKZ8RvmbGzw6H9rlotdiXlKQvLkYeZLY+8OD643Aulghy
Jj+UKkKnlNrVbvrsTIy/n0H4wt1KW28+R8qzBBAjS5btJQeDkrn0Jj+wP7zDblRM
RHLUrOVAX10SpAUOZFEVr76r0Hk00797COLc4OIvWr4XI6n3/lFmnwwB1SHeVNFP
49eKalIkQlWFyIglugd2R9Ejkqrw0pNx8xSrFKXvRGJHNVDiSEk=
=I7qN
-----END PGP SIGNATURE-----


T
T
Thiago Jung Bauermann wrote on 28 Sep 2021 06:01
Re: [bug#50091] [PATCH 07/21] gnu: bdb: Fix building on riscv64-linux.
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 50091@debbugs.gnu.org)
4402060.EE4fiNuXlR@popigai
Hello Efraim,

Em quinta-feira, 23 de setembro de 2021, às 04:28:33 -03, Efraim Flashner
escreveu:
Toggle quote (48 lines)
> On Tue, Aug 17, 2021 at 11:58:44AM -0300, Thiago Jung Bauermann wrote:
> > Hello Efraim,
> >
> > Em terça-feira, 17 de agosto de 2021, às 07:19:05 -03, Efraim Flashner
> >
> > escreveu:
> > > @@ -72,15 +73,15 @@
> > >
> > > (string-append "CONFIG_SHELL=" (which
> > > "bash"))
> > > (string-append "SHELL=" (which "bash"))
> > >
> > > - ;; Bdb doesn't recognize aarch64 as an
> > > architecture. - ,@(if (string=? "aarch64-linux"
> > > (%current-system)) -
> > > '("--build=aarch64-unknown-linux-gnu") -
> > > '())
> > > -
> > > - ;; Bdb doesn't recognize powerpc64le as an
> > > architecture. - ,@(if (string=?
> > > "powerpc64le-linux" (%current-system)) -
> > > '("--build=powerpc64le-unknown-linux-gnu") -
> > > '())
> > > + ;; Bdb doesn't recognize very many
> > > architectures. + ,@(match (%current-system)
> > > + ("aarch64-linux"
> > > + '("--build=aarch64-unknown-linux-gnu"))
> > > + ("powerpc64le-linux"
> > > +
> > > '("--build=powerpc64le-unknown-linux-gnu"))
> > > + ("riscv64-linux"
> > > + '("--build=riscv64-unknown-linux-gnu"))
> > > + (_ '()))
> > >
> > > ,@(if (%current-target-system) ;
> > > cross
> > >
> > > building '((string-append "--host=" target))
> >
> > Can this be fixed instead by updating ‘config.guess’ and ‘config.sub’
> > as
> > done in https://issues.guix.gnu.org/50086#1 ?
> >
> > That could possibly even fix cross-building (as it does for ‘pth’) and
> > eliminate the need for all the “,@” forms in the ‘configure’ phase.
>
> Sorry for taking so long to get back to you.

Not a problem.

Toggle quote (4 lines)
> I finally tried this but there seems to be a cycle somewhere between bdb
> and config, so using config and dropping the custom --build flag isn't
> currently an option.

Thanks for trying it out. Interestingly, `guix graph --path` can’t find it,
even with `-t bag`.

If you’d like to make a second try, some packages get the updated
‘config.guess’ and ‘config.sub’ files from ‘automake’ instead (e.g., the
‘indent’ package). I don’t know if there would be a cycle in that case as
well or not.

--
Thanks,
Thiago
?