summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2022-05-02 12:54:44 +0200
committerMathieu Othacehe <othacehe@gnu.org>2022-05-22 15:15:32 +0200
commit31f7696be4a2b2f9e54639a549f7ded32e68260b (patch)
tree493688e8fd21ab791f202cee15b4b6f65081afcd
parentgnu: Add font-ipa-ex. (diff)
downloadguix-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.mk6
-rw-r--r--gnu/platforms/mips.scm29
-rw-r--r--gnu/platforms/powerpc.scm36
-rw-r--r--gnu/platforms/riscv.scm29
-rw-r--r--gnu/platforms/s390.scm (renamed from gnu/platforms/hurd.scm)13
-rw-r--r--gnu/platforms/x86.scm53
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")))