From 71f6ab8eb5503d631544d17cd8a40d4c56df66fa Mon Sep 17 00:00:00 2001 From: Zheng Junjie <873216071@qq.com> Date: Tue, 24 Dec 2024 01:05:53 +0800 Subject: [PATCH] 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 --- Makefile.am | 1 + doc/guix.texi | 7 ++++++- guix/platforms/loongarch.scm | 30 ++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 guix/platforms/loongarch.scm diff --git a/Makefile.am b/Makefile.am index f911d432dd..f759803b8b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 \ diff --git a/doc/guix.texi b/doc/guix.texi index a8d69fe73f..b1463387f3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 diff --git a/guix/platforms/loongarch.scm b/guix/platforms/loongarch.scm new file mode 100644 index 0000000000..f569669373 --- /dev/null +++ b/guix/platforms/loongarch.scm @@ -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 . + +(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")))