~ruther/guix-local

71f6ab8eb5503d631544d17cd8a40d4c56df66fa — Zheng Junjie 1 year, 2 months ago 32e31ef
guix: Add loongarch platform.

* Makefile.am (MODULES): Add loongarch platform module.
* doc/guix.texi: Add documentation for loongarch platform.
* guix/platforms/loongarch.scm (loongarch64-linux): New variable.

Change-Id: I71b8f3cb3b2f0d9562bbbefdc1f2fc4b2dcc4fbb
3 files changed, 37 insertions(+), 1 deletions(-)

M Makefile.am
M doc/guix.texi
A guix/platforms/loongarch.scm
M Makefile.am => Makefile.am +1 -0
@@ 140,6 140,7 @@ MODULES =					\
  guix/platform.scm                             \
  guix/platforms/arm.scm                        \
  guix/platforms/avr.scm                        \
  guix/platforms/loongarch.scm                  \
  guix/platforms/mips.scm                       \
  guix/platforms/or1k.scm                       \
  guix/platforms/powerpc.scm                    \

M doc/guix.texi => doc/guix.texi +6 -1
@@ 116,7 116,7 @@ Copyright @copyright{} 2022 Antero Mejr@*
Copyright @copyright{} 2023 Karl Hallsby@*
Copyright @copyright{} 2023 Nathaniel Nicandro@*
Copyright @copyright{} 2023 Tanguy Le Carrour@*
Copyright @copyright{} 2023, 2024 Zheng Junjie@*
Copyright @copyright{} 2023-2024 Zheng Junjie@*
Copyright @copyright{} 2023 Brian Cully@*
Copyright @copyright{} 2023 Felix Lechner@*
Copyright @copyright{} 2023 Foundation Devices, Inc.@*


@@ 17044,6 17044,7 @@ The available targets are:
   - i586-pc-gnu
   - i686-linux-gnu
   - i686-w64-mingw32
   - loongarch64-linux-gnu
   - mips64el-linux-gnu
   - or1k-elf
   - powerpc-linux-gnu


@@ 49358,6 49359,10 @@ Platform targeting ARM v7 CPU running GNU/Linux.
Platform targeting ARM v8 CPU running GNU/Linux.
@end defvar

@defvar loongarch64-linux
Platform targeting loongarch 64-bit CPU running GNU/Linux.
@end defvar

@defvar mips64-linux
Platform targeting MIPS little-endian 64-bit CPU running GNU/Linux.
@end defvar

A guix/platforms/loongarch.scm => guix/platforms/loongarch.scm +30 -0
@@ 0,0 1,30 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (guix platforms loongarch)
  #:use-module (guix platform)
  #:use-module (guix records)
  #:export (loongarch64-linux))

(define loongarch64-linux
  (platform
   (target "loongarch64-linux-gnu")
   (system #f)
   (linux-architecture "loongarch")
   (rust-target "loongarch64-unknown-linux-gnu")
   (glibc-dynamic-linker "/lib/ld-linux-loongarch-lp64d.so.1")))