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 | gnu: Add font-ipa-ex. (diff) | |
download | guix-31f7696be4a2b2f9e54639a549f7ded32e68260b.tar.gz guix-31f7696be4a2b2f9e54639a549f7ded32e68260b.tar.bz2 guix-31f7696be4a2b2f9e54639a549f7ded32e68260b.tar.xz |
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 = \ | |||
632 | %D%/packages/zwave.scm \ | 632 | %D%/packages/zwave.scm \ |
633 | \ | 633 | \ |
634 | %D%/platforms/arm.scm \ | 634 | %D%/platforms/arm.scm \ |
635 | %D%/platforms/hurd.scm \ | 635 | %D%/platforms/mips.scm \ |
636 | %D%/platforms/powerpc.scm \ | ||
637 | %D%/platforms/riscv.scm \ | ||
638 | %D%/platforms/s390.scm \ | ||
639 | %D%/platforms/x86.scm \ | ||
636 | \ | 640 | \ |
637 | %D%/services.scm \ | 641 | %D%/services.scm \ |
638 | %D%/services/admin.scm \ | 642 | %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 @@ | |||
1 | ;;; GNU Guix --- Functional package management for GNU | ||
2 | ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> | ||
3 | ;;; | ||
4 | ;;; This file is part of GNU Guix. | ||
5 | ;;; | ||
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
7 | ;;; under the terms of the GNU General Public License as published by | ||
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
9 | ;;; your option) any later version. | ||
10 | ;;; | ||
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | ;;; GNU General Public License for more details. | ||
15 | ;;; | ||
16 | ;;; You should have received a copy of the GNU General Public License | ||
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
18 | |||
19 | (define-module (gnu platforms mips) | ||
20 | #:use-module (gnu platform) | ||
21 | #:use-module (gnu packages linux) | ||
22 | #:use-module (guix records) | ||
23 | #:export (mips64-linux)) | ||
24 | |||
25 | (define mips64-linux | ||
26 | (platform | ||
27 | (target "mips64el-linux-gnu") | ||
28 | (system "mips64el-linux") | ||
29 | (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 @@ | |||
1 | ;;; GNU Guix --- Functional package management for GNU | ||
2 | ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> | ||
3 | ;;; | ||
4 | ;;; This file is part of GNU Guix. | ||
5 | ;;; | ||
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
7 | ;;; under the terms of the GNU General Public License as published by | ||
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
9 | ;;; your option) any later version. | ||
10 | ;;; | ||
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | ;;; GNU General Public License for more details. | ||
15 | ;;; | ||
16 | ;;; You should have received a copy of the GNU General Public License | ||
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
18 | |||
19 | (define-module (gnu platforms powerpc) | ||
20 | #:use-module (gnu platform) | ||
21 | #:use-module (gnu packages linux) | ||
22 | #:use-module (guix records) | ||
23 | #:export (powerpc-linux | ||
24 | powerpc64le-linux)) | ||
25 | |||
26 | (define powerpc-linux | ||
27 | (platform | ||
28 | (target "powerpc-linux-gnu") | ||
29 | (system "powerpc-linux") | ||
30 | (linux-architecture "powerpc"))) | ||
31 | |||
32 | (define powerpc64le-linux | ||
33 | (platform | ||
34 | (target "powerpc64le-linux-gnu") | ||
35 | (system "powerpc64le-linux") | ||
36 | (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 @@ | |||
1 | ;;; GNU Guix --- Functional package management for GNU | ||
2 | ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> | ||
3 | ;;; | ||
4 | ;;; This file is part of GNU Guix. | ||
5 | ;;; | ||
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
7 | ;;; under the terms of the GNU General Public License as published by | ||
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
9 | ;;; your option) any later version. | ||
10 | ;;; | ||
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | ;;; GNU General Public License for more details. | ||
15 | ;;; | ||
16 | ;;; You should have received a copy of the GNU General Public License | ||
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
18 | |||
19 | (define-module (gnu platforms riscv) | ||
20 | #:use-module (gnu platform) | ||
21 | #:use-module (gnu packages linux) | ||
22 | #:use-module (guix records) | ||
23 | #:export (riscv64-linux)) | ||
24 | |||
25 | (define riscv64-linux | ||
26 | (platform | ||
27 | (target "riscv64-linux-gnu") | ||
28 | (system "riscv64-linux") | ||
29 | (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 @@ | |||
1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
2 | ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> | 2 | ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> |
3 | ;;; | 3 | ;;; |
4 | ;;; This file is part of GNU Guix. | 4 | ;;; This file is part of GNU Guix. |
5 | ;;; | 5 | ;;; |
@@ -16,13 +16,14 @@ | |||
16 | ;;; You should have received a copy of the GNU General Public License | 16 | ;;; You should have received a copy of the GNU General Public License |
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
18 | 18 | ||
19 | (define-module (gnu platforms hurd) | 19 | (define-module (gnu platforms s390) |
20 | #:use-module (gnu platform) | 20 | #:use-module (gnu platform) |
21 | #:use-module (gnu packages linux) | 21 | #:use-module (gnu packages linux) |
22 | #:use-module (guix records) | 22 | #:use-module (guix records) |
23 | #:export (hurd)) | 23 | #:export (s390x-linux)) |
24 | 24 | ||
25 | (define hurd | 25 | (define s390x-linux |
26 | (platform | 26 | (platform |
27 | (target "i586-pc-gnu") | 27 | (target "s390x-linux-gnu") |
28 | (system "i586-gnu"))) | 28 | (system "s390x-linux") |
29 | (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 @@ | |||
1 | ;;; GNU Guix --- Functional package management for GNU | ||
2 | ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> | ||
3 | ;;; | ||
4 | ;;; This file is part of GNU Guix. | ||
5 | ;;; | ||
6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
7 | ;;; under the terms of the GNU General Public License as published by | ||
8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
9 | ;;; your option) any later version. | ||
10 | ;;; | ||
11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | ;;; GNU General Public License for more details. | ||
15 | ;;; | ||
16 | ;;; You should have received a copy of the GNU General Public License | ||
17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
18 | |||
19 | (define-module (gnu platforms x86) | ||
20 | #:use-module (gnu platform) | ||
21 | #:use-module (gnu packages linux) | ||
22 | #:use-module (guix records) | ||
23 | #:export (i686-linux | ||
24 | x86_64-linux | ||
25 | i686-mingw | ||
26 | x86_64-mingw)) | ||
27 | |||
28 | (define i686-linux | ||
29 | (platform | ||
30 | (target "i686-linux-gnu") | ||
31 | (system "i686-linux") | ||
32 | (linux-architecture "i386"))) | ||
33 | |||
34 | (define x86_64-linux | ||
35 | (platform | ||
36 | (target "x86_64-linux-gnu") | ||
37 | (system "x86_64-linux") | ||
38 | (linux-architecture "x86_64"))) | ||
39 | |||
40 | (define i686-mingw | ||
41 | (platform | ||
42 | (target "i686-w64-mingw32") | ||
43 | (system #f))) | ||
44 | |||
45 | (define x86_64-mingw | ||
46 | (platform | ||
47 | (target "x86_64-w64-mingw32") | ||
48 | (system #f))) | ||
49 | |||
50 | (define hurd | ||
51 | (platform | ||
52 | (target "i586-pc-gnu") | ||
53 | (system "i586-gnu"))) | ||