diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2022-05-02 12:54:44 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2022-05-22 15:15:32 +0200 |
commit | 31f7696be4a2b2f9e54639a549f7ded32e68260b (patch) | |
tree | 493688e8fd21ab791f202cee15b4b6f65081afcd | |
parent | 6e0b2adf5f80d42f3a0e09e7de2bcfe188678997 (diff) | |
download | guix-31f7696be4a2b2f9e54639a549f7ded32e68260b.tar.gz |
platform: Introduce new platforms.
* gnu/platforms/intel.scm: New file. * gnu/platforms/mips.scm: Ditto. * gnu/platforms/powerpc.scm: Ditto. * gnu/platforms/riscv.scm: Ditto. * gnu/platforms/s390.scm: Ditto. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r-- | gnu/local.mk | 6 | ||||
-rw-r--r-- | gnu/platforms/mips.scm | 29 | ||||
-rw-r--r-- | gnu/platforms/powerpc.scm | 36 | ||||
-rw-r--r-- | gnu/platforms/riscv.scm | 29 | ||||
-rw-r--r-- | gnu/platforms/s390.scm (renamed from gnu/platforms/hurd.scm) | 13 | ||||
-rw-r--r-- | gnu/platforms/x86.scm | 53 |
6 files changed, 159 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 6274f43566..2a74677509 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -632,7 +632,11 @@ GNU_SYSTEM_MODULES = \ %D%/packages/zwave.scm \ \ %D%/platforms/arm.scm \ - %D%/platforms/hurd.scm \ + %D%/platforms/mips.scm \ + %D%/platforms/powerpc.scm \ + %D%/platforms/riscv.scm \ + %D%/platforms/s390.scm \ + %D%/platforms/x86.scm \ \ %D%/services.scm \ %D%/services/admin.scm \ diff --git a/gnu/platforms/mips.scm b/gnu/platforms/mips.scm new file mode 100644 index 0000000000..84a492699d --- /dev/null +++ b/gnu/platforms/mips.scm @@ -0,0 +1,29 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> +;;; +;;; 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 (gnu platforms mips) + #:use-module (gnu platform) + #:use-module (gnu packages linux) + #:use-module (guix records) + #:export (mips64-linux)) + +(define mips64-linux + (platform + (target "mips64el-linux-gnu") + (system "mips64el-linux") + (linux-architecture "mips"))) diff --git a/gnu/platforms/powerpc.scm b/gnu/platforms/powerpc.scm new file mode 100644 index 0000000000..8fadfe88de --- /dev/null +++ b/gnu/platforms/powerpc.scm @@ -0,0 +1,36 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> +;;; +;;; 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 (gnu platforms powerpc) + #:use-module (gnu platform) + #:use-module (gnu packages linux) + #:use-module (guix records) + #:export (powerpc-linux + powerpc64le-linux)) + +(define powerpc-linux + (platform + (target "powerpc-linux-gnu") + (system "powerpc-linux") + (linux-architecture "powerpc"))) + +(define powerpc64le-linux + (platform + (target "powerpc64le-linux-gnu") + (system "powerpc64le-linux") + (linux-architecture "powerpc"))) diff --git a/gnu/platforms/riscv.scm b/gnu/platforms/riscv.scm new file mode 100644 index 0000000000..29a34402a2 --- /dev/null +++ b/gnu/platforms/riscv.scm @@ -0,0 +1,29 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> +;;; +;;; 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 (gnu platforms riscv) + #:use-module (gnu platform) + #:use-module (gnu packages linux) + #:use-module (guix records) + #:export (riscv64-linux)) + +(define riscv64-linux + (platform + (target "riscv64-linux-gnu") + (system "riscv64-linux") + (linux-architecture "riscv"))) diff --git a/gnu/platforms/hurd.scm b/gnu/platforms/s390.scm index 0e5c58fd08..c8caafbe45 100644 --- a/gnu/platforms/hurd.scm +++ b/gnu/platforms/s390.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> +;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -16,13 +16,14 @@ ;;; 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 (gnu platforms hurd) +(define-module (gnu platforms s390) #:use-module (gnu platform) #:use-module (gnu packages linux) #:use-module (guix records) - #:export (hurd)) + #:export (s390x-linux)) -(define hurd +(define s390x-linux (platform - (target "i586-pc-gnu") - (system "i586-gnu"))) + (target "s390x-linux-gnu") + (system "s390x-linux") + (linux-architecture "s390"))) diff --git a/gnu/platforms/x86.scm b/gnu/platforms/x86.scm new file mode 100644 index 0000000000..1a5d6a3284 --- /dev/null +++ b/gnu/platforms/x86.scm @@ -0,0 +1,53 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> +;;; +;;; 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 (gnu platforms x86) + #:use-module (gnu platform) + #:use-module (gnu packages linux) + #:use-module (guix records) + #:export (i686-linux + x86_64-linux + i686-mingw + x86_64-mingw)) + +(define i686-linux + (platform + (target "i686-linux-gnu") + (system "i686-linux") + (linux-architecture "i386"))) + +(define x86_64-linux + (platform + (target "x86_64-linux-gnu") + (system "x86_64-linux") + (linux-architecture "x86_64"))) + +(define i686-mingw + (platform + (target "i686-w64-mingw32") + (system #f))) + +(define x86_64-mingw + (platform + (target "x86_64-w64-mingw32") + (system #f))) + +(define hurd + (platform + (target "i586-pc-gnu") + (system "i586-gnu"))) |