From 31f7696be4a2b2f9e54639a549f7ded32e68260b Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 2 May 2022 12:54:44 +0200 Subject: 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 --- gnu/local.mk | 6 +++++- gnu/platforms/hurd.scm | 28 ------------------------- gnu/platforms/mips.scm | 29 ++++++++++++++++++++++++++ gnu/platforms/powerpc.scm | 36 ++++++++++++++++++++++++++++++++ gnu/platforms/riscv.scm | 29 ++++++++++++++++++++++++++ gnu/platforms/s390.scm | 29 ++++++++++++++++++++++++++ gnu/platforms/x86.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 181 insertions(+), 29 deletions(-) delete mode 100644 gnu/platforms/hurd.scm create mode 100644 gnu/platforms/mips.scm create mode 100644 gnu/platforms/powerpc.scm create mode 100644 gnu/platforms/riscv.scm create mode 100644 gnu/platforms/s390.scm create mode 100644 gnu/platforms/x86.scm 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/hurd.scm b/gnu/platforms/hurd.scm deleted file mode 100644 index 0e5c58fd08..0000000000 --- a/gnu/platforms/hurd.scm +++ /dev/null @@ -1,28 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2021 Mathieu Othacehe -;;; -;;; 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 (gnu platforms hurd) - #:use-module (gnu platform) - #:use-module (gnu packages linux) - #:use-module (guix records) - #:export (hurd)) - -(define hurd - (platform - (target "i586-pc-gnu") - (system "i586-gnu"))) 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 +;;; +;;; 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 (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 +;;; +;;; 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 (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 +;;; +;;; 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 (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/s390.scm b/gnu/platforms/s390.scm new file mode 100644 index 0000000000..c8caafbe45 --- /dev/null +++ b/gnu/platforms/s390.scm @@ -0,0 +1,29 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Mathieu Othacehe +;;; +;;; 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 (gnu platforms s390) + #:use-module (gnu platform) + #:use-module (gnu packages linux) + #:use-module (guix records) + #:export (s390x-linux)) + +(define s390x-linux + (platform + (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 +;;; +;;; 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 (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"))) -- cgit v1.2.3