summaryrefslogtreecommitdiff
path: root/profiles/arch/riscv
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-09-16 09:32:48 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-09-16 09:32:48 +0100
commit9ee6d97c2883d42f204a533a8bc1f4562df778fb (patch)
treeb690ddc0ca30f1472887edbb0b8313629bfcbbb2 /profiles/arch/riscv
parentb17a3ef12038de50228bade1f05502c74e135321 (diff)
gentoo resync : 16.09.2020
Diffstat (limited to 'profiles/arch/riscv')
-rw-r--r--profiles/arch/riscv/make.defaults39
-rw-r--r--profiles/arch/riscv/package.mask (renamed from profiles/arch/riscv/rv64gc/package.mask)0
-rw-r--r--profiles/arch/riscv/package.use.mask14
-rw-r--r--profiles/arch/riscv/rv32imac/eapi1
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/eapi1
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/make.defaults12
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/package.use.force5
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/use.force5
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32/use.mask10
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/eapi1
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/make.defaults15
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/package.use.force5
-rw-r--r--profiles/arch/riscv/rv32imac/ilp32d/use.mask10
-rw-r--r--profiles/arch/riscv/rv32imac/make.defaults23
-rw-r--r--profiles/arch/riscv/rv32imac/parent2
-rw-r--r--profiles/arch/riscv/rv32imac/use.force5
-rw-r--r--profiles/arch/riscv/rv32imac/use.mask6
-rw-r--r--profiles/arch/riscv/rv64gc/lp64/use.mask2
-rw-r--r--profiles/arch/riscv/rv64gc/lp64d/use.mask2
-rw-r--r--profiles/arch/riscv/rv64gc/make.defaults25
-rw-r--r--profiles/arch/riscv/rv64gc/use.force4
-rw-r--r--profiles/arch/riscv/rv64gc/use.mask8
-rw-r--r--profiles/arch/riscv/use.force4
-rw-r--r--profiles/arch/riscv/use.mask8
24 files changed, 166 insertions, 41 deletions
diff --git a/profiles/arch/riscv/make.defaults b/profiles/arch/riscv/make.defaults
index bae66d7316cc..3a7d4ac18e7f 100644
--- a/profiles/arch/riscv/make.defaults
+++ b/profiles/arch/riscv/make.defaults
@@ -1,25 +1,48 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Main RISC-V profile directory.
+# Main RISC-V profile directory. Common settings for all riscv profiles.
# This is not a complete profile. Use the subdirectories!
ARCH="riscv"
ACCEPT_KEYWORDS="riscv ~riscv"
-CHOST="riscv64-unknown-linux-gnu"
+CFLAGS="-O2 -pipe"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+SYMLINK_LIB="no"
+
+# Flags for lp64d
+LIBDIR_lp64d="lib64/lp64d"
+CFLAGS_lp64d="-mabi=lp64d"
+LDFLAGS_lp64d="-m elf64lriscv"
+CHOST_lp64d="riscv64-unknown-linux-gnu"
+
+# Flags for lp64
+LIBDIR_lp64="lib64/lp64"
+CFLAGS_lp64="-mabi=lp64"
+LDFLAGS_lp64="-m elf64lriscv_lp64"
+CHOST_lp64="riscv64-unknown-linux-gnu"
+
+# Flags for ilp32d
+LIBDIR_ilp32d="lib32/ilp32d"
+CFLAGS_ilp32d="-mabi=ilp32d -march=rv32imafdc"
+LDFLAGS_ilp32d="-m elf32lriscv"
+CHOST_ilp32d="riscv32-unknown-linux-gnu"
+
+# Flags for ilp32
+LIBDIR_ilp32="lib32/ilp32"
+CFLAGS_ilp32="-mabi=ilp32 -march=rv32imac"
+LDFLAGS_ilp32="-m elf32lriscv_ilp32"
+CHOST_ilp32="riscv32-unknown-linux-gnu"
# Since many people will want to test this in qemu...
FEATURES="-pid-sandbox -network-sandbox -ipc-sandbox"
# The following stuff is, e.g., defined in subdirs:
-# CFLAGS
-# CXXFLAGS
-# FFLAGS
-# FCFLAGS
# ABI
# DEFAULT_ABI
# MULTILIB_ABIS
-# CHOST_riscv
-# LIBDIR_riscv
diff --git a/profiles/arch/riscv/rv64gc/package.mask b/profiles/arch/riscv/package.mask
index 43580b7b49a0..43580b7b49a0 100644
--- a/profiles/arch/riscv/rv64gc/package.mask
+++ b/profiles/arch/riscv/package.mask
diff --git a/profiles/arch/riscv/package.use.mask b/profiles/arch/riscv/package.use.mask
index 1994c16cc605..37bdd84bb662 100644
--- a/profiles/arch/riscv/package.use.mask
+++ b/profiles/arch/riscv/package.use.mask
@@ -8,6 +8,8 @@ app-editors/emacs gui
# Yixun Lan <dlan@gentoo.org> (2020-09-01)
# Dependencies not keyworded
dev-libs/jansson doc
+# Dependencies not keyworded, require by dev-perl/Net-LibIDN, #737594
+net-dns/libidn mono
# Jakov Smolic <jakov.smolic@sartura.hr> (2020-08-14)
# Large amount of missing keywords
@@ -78,13 +80,22 @@ dev-libs/libnl python
dev-libs/libusb doc
dev-libs/libxslt python
dev-libs/libyaml doc
+dev-python/argcomplete test
+dev-python/aiohttp doc test
dev-python/cython doc test
dev-python/jinja doc test
dev-python/lxml test
dev-python/markupsafe test
+dev-python/numpy lapack
+dev-python/pbr test
+dev-python/pypiserver test
dev-python/pygments doc test
dev-python/setuptools test
dev-python/snakeoil test
+dev-python/sphinx latext doc test
+dev-python/sphinxcontrib-spelling test
+dev-python/twisted test
+dev-python/urllib3 test
dev-util/catalyst iso
dev-util/meson test
dev-util/ninja doc test
@@ -92,6 +103,7 @@ dev-util/patchutils test
dev-util/pkgconf test
dev-util/strace unwind
dev-vcs/git cvs highlight gnome-keyring subversion tk xinetd
+dev-vcs/mercurial tk zsh-completion
media-libs/freetype harfbuzz png
media-libs/tiff jbig jpeg test webp
net-fs/nfs-utils nfsv41
@@ -111,4 +123,4 @@ sys-devel/gdb source-highlight
sys-devel/gettext cvs
sys-fs/squashfs-tools lzma
sys-libs/libcap-ng python
-sys-process/audit gssapi python \ No newline at end of file
+sys-process/audit gssapi python
diff --git a/profiles/arch/riscv/rv32imac/eapi b/profiles/arch/riscv/rv32imac/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/arch/riscv/rv32imac/ilp32/eapi b/profiles/arch/riscv/rv32imac/ilp32/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/arch/riscv/rv32imac/ilp32/make.defaults b/profiles/arch/riscv/rv32imac/ilp32/make.defaults
new file mode 100644
index 000000000000..959de434af0f
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32/make.defaults
@@ -0,0 +1,12 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# RISC-V rv32imac/ilp32 no-multilib profile
+
+# We have only one ABI
+MULTILIB_ABIS="ilp32"
+DEFAULT_ABI="ilp32"
+ABI="ilp32"
+
+# We hide the useflags for the ABIs
+USE_EXPAND_HIDDEN="ABI_RISCV"
diff --git a/profiles/arch/riscv/rv32imac/ilp32/package.use.force b/profiles/arch/riscv/rv32imac/ilp32/package.use.force
new file mode 100644
index 000000000000..dc5b60c2dd26
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32/package.use.force
@@ -0,0 +1,5 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Undo multilib forcing.
+sys-apps/sandbox -abi_riscv_lp64d -abi_riscv_lp64 -abi_riscv_ilp32d
diff --git a/profiles/arch/riscv/rv32imac/ilp32/use.force b/profiles/arch/riscv/rv32imac/ilp32/use.force
new file mode 100644
index 000000000000..e54ac40ffd20
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32/use.force
@@ -0,0 +1,5 @@
+# Un-force the original multilib default-abi flag
+-abi_riscv_ilp32d
+
+# Force the abi of this profile here
+abi_riscv_ilp32
diff --git a/profiles/arch/riscv/rv32imac/ilp32/use.mask b/profiles/arch/riscv/rv32imac/ilp32/use.mask
new file mode 100644
index 000000000000..c717be8a4aa4
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32/use.mask
@@ -0,0 +1,10 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Mask multilib, since we do not want to use it.
+multilib
+
+# Mask the other multilib flags back for non-multilib profile.
+abi_riscv_lp64d
+abi_riscv_lp64
+abi_riscv_ilp32d
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/eapi b/profiles/arch/riscv/rv32imac/ilp32d/eapi
new file mode 100644
index 000000000000..7ed6ff82de6b
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32d/eapi
@@ -0,0 +1 @@
+5
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/make.defaults b/profiles/arch/riscv/rv32imac/ilp32d/make.defaults
new file mode 100644
index 000000000000..bd66a518eab8
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32d/make.defaults
@@ -0,0 +1,15 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# RISC-V rv32imac/ilp32d no-multilib profile
+
+CFLAGS="-O2 -pipe -march=rv32imacdf -mabi=ilp32d"
+CXXFLAGS="${CFLAGS}"
+FFLAGS="${CFLAGS}"
+FCFLAGS="${CFLAGS}"
+
+# We have only one ABI
+MULTILIB_ABIS="ilp32d"
+
+# We hide the useflags for the ABIs
+USE_EXPAND_HIDDEN="ABI_RISCV"
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/package.use.force b/profiles/arch/riscv/rv32imac/ilp32d/package.use.force
new file mode 100644
index 000000000000..cf764cd54132
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32d/package.use.force
@@ -0,0 +1,5 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Undo multilib forcing.
+sys-apps/sandbox -abi_riscv_lp64d -abi_riscv_lp64 -abi_riscv_ilp32
diff --git a/profiles/arch/riscv/rv32imac/ilp32d/use.mask b/profiles/arch/riscv/rv32imac/ilp32d/use.mask
new file mode 100644
index 000000000000..b2c900da5041
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/ilp32d/use.mask
@@ -0,0 +1,10 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Mask multilib, since we do not want to use it.
+multilib
+
+# Mask the other multilib flags back for non-multilib profile.
+abi_riscv_lp64d
+abi_riscv_lp64
+abi_riscv_ilp32
diff --git a/profiles/arch/riscv/rv32imac/make.defaults b/profiles/arch/riscv/rv32imac/make.defaults
new file mode 100644
index 000000000000..e23fe63fb251
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/make.defaults
@@ -0,0 +1,23 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# RISC-V profile for rv32imac multilib
+#
+# This immediate profile is ONLY useful for internal purposes. It can NOT
+# generate stages or a working system due to limitations in gcc.
+
+CHOST="riscv32-unknown-linux-gnu"
+
+# Multilib ABIs
+MULTILIB_ABIS="ilp32d ilp32"
+DEFAULT_ABI="ilp32d"
+ABI="ilp32d"
+
+# Enable ilp32d by default
+ABI_RISCV="ilp32d"
+
+# Unhide the riscv/riscv-specific USE_EXPANDs
+USE_EXPAND_HIDDEN="-ABI_RISCV"
+
+# Implicitly enable ilp32d in ebuilds without multilib support
+IUSE_IMPLICIT="abi_riscv_ilp32d"
diff --git a/profiles/arch/riscv/rv32imac/parent b/profiles/arch/riscv/rv32imac/parent
new file mode 100644
index 000000000000..6ee1b9eff10c
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/parent
@@ -0,0 +1,2 @@
+..
+../../../features/multilib
diff --git a/profiles/arch/riscv/rv32imac/use.force b/profiles/arch/riscv/rv32imac/use.force
new file mode 100644
index 000000000000..069813e17719
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/use.force
@@ -0,0 +1,5 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Force the flag corresponding to the default ABI.
+abi_riscv_ilp32d
diff --git a/profiles/arch/riscv/rv32imac/use.mask b/profiles/arch/riscv/rv32imac/use.mask
new file mode 100644
index 000000000000..d57df4d6abeb
--- /dev/null
+++ b/profiles/arch/riscv/rv32imac/use.mask
@@ -0,0 +1,6 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Unmask the multilib flags for this arch.
+-abi_riscv_ilp32d
+-abi_riscv_ilp32
diff --git a/profiles/arch/riscv/rv64gc/lp64/use.mask b/profiles/arch/riscv/rv64gc/lp64/use.mask
index 9f26ae637a8a..1e0176b85cb0 100644
--- a/profiles/arch/riscv/rv64gc/lp64/use.mask
+++ b/profiles/arch/riscv/rv64gc/lp64/use.mask
@@ -6,3 +6,5 @@ multilib
# Mask the other multilib flags back for non-multilib profile.
abi_riscv_lp64d
+abi_riscv_ilp32d
+abi_riscv_ilp32
diff --git a/profiles/arch/riscv/rv64gc/lp64d/use.mask b/profiles/arch/riscv/rv64gc/lp64d/use.mask
index fd1d1445c965..101528080621 100644
--- a/profiles/arch/riscv/rv64gc/lp64d/use.mask
+++ b/profiles/arch/riscv/rv64gc/lp64d/use.mask
@@ -6,3 +6,5 @@ multilib
# Mask the other multilib flags back for non-multilib profile.
abi_riscv_lp64
+abi_riscv_ilp32d
+abi_riscv_ilp32
diff --git a/profiles/arch/riscv/rv64gc/make.defaults b/profiles/arch/riscv/rv64gc/make.defaults
index 46206e24f6d4..a5963cb2fcba 100644
--- a/profiles/arch/riscv/rv64gc/make.defaults
+++ b/profiles/arch/riscv/rv64gc/make.defaults
@@ -2,32 +2,17 @@
# Distributed under the terms of the GNU General Public License v2
# RISC-V profile for rv64gc multilib
+#
+# This immediate profile is ONLY useful for internal purposes; it can generate
+# stages just fine, but the only "hardware" that can run them is qemu-user ...
-CFLAGS="-O2 -pipe"
-CXXFLAGS="${CFLAGS}"
-FFLAGS="${CFLAGS}"
-FCFLAGS="${CFLAGS}"
+CHOST="riscv64-unknown-linux-gnu"
# Multilib ABIs
-MULTILIB_ABIS="lp64d lp64"
+MULTILIB_ABIS="lp64d lp64 ilp32d ilp32"
DEFAULT_ABI="lp64d"
ABI="lp64d"
-# Library directories
-LIBDIR_lp64d="lib64/lp64d"
-LIBDIR_lp64="lib64/lp64"
-SYMLINK_LIB="no"
-
-# Flags for lp64d
-CFLAGS_lp64d="-mabi=lp64d"
-LDFLAGS_lp64d="-m elf64lriscv"
-CHOST_lp64d="riscv64-unknown-linux-gnu"
-
-# Flags for lp64
-CFLAGS_lp64="-mabi=lp64"
-LDFLAGS_lp64="-m elf64lriscv_lp64"
-CHOST_lp64="riscv64-unknown-linux-gnu"
-
# Enable lp64d by default
ABI_RISCV="lp64d"
diff --git a/profiles/arch/riscv/rv64gc/use.force b/profiles/arch/riscv/rv64gc/use.force
index 7ce55a8948e1..eb2add7ba6b7 100644
--- a/profiles/arch/riscv/rv64gc/use.force
+++ b/profiles/arch/riscv/rv64gc/use.force
@@ -3,7 +3,3 @@
# Force the flag corresponding to the default ABI.
abi_riscv_lp64d
-
-# Right now we have only one Python available, so we must use it
-python_targets_python3_7
-python_single_target_python3_7
diff --git a/profiles/arch/riscv/rv64gc/use.mask b/profiles/arch/riscv/rv64gc/use.mask
index 6e01a574cebb..b38fe8be382f 100644
--- a/profiles/arch/riscv/rv64gc/use.mask
+++ b/profiles/arch/riscv/rv64gc/use.mask
@@ -4,9 +4,5 @@
# Unmask the multilib flags for this arch.
-abi_riscv_lp64d
-abi_riscv_lp64
-
-# Our Python has a lot of trouble with the two-level libdir.
-python_targets_python2_7
-python_targets_python3_6
-python_single_target_python2_7
-python_single_target_python3_6
+-abi_riscv_ilp32d
+-abi_riscv_ilp32
diff --git a/profiles/arch/riscv/use.force b/profiles/arch/riscv/use.force
index 5e5e335685cb..d97bd1215470 100644
--- a/profiles/arch/riscv/use.force
+++ b/profiles/arch/riscv/use.force
@@ -3,3 +3,7 @@
# Force the flag which corresponds to ARCH.
riscv
+
+# Right now we have only one Python available, so we must use it
+python_targets_python3_7
+python_single_target_python3_7
diff --git a/profiles/arch/riscv/use.mask b/profiles/arch/riscv/use.mask
index fa12586bfdea..3003db9f9964 100644
--- a/profiles/arch/riscv/use.mask
+++ b/profiles/arch/riscv/use.mask
@@ -4,6 +4,12 @@
# Unmask the flag which corresponds to ARCH.
-riscv
+# Our Python has a lot of trouble with the two-level libdir.
+python_targets_python2_7
+python_targets_python3_6
+python_single_target_python2_7
+python_single_target_python3_6
+
# Ben Kohler <bkohler@gentoo.org> (2019-01-09)
# no fam providers keyworded yet
fam
@@ -14,7 +20,6 @@ valgrind
# Not tested yet
bluetooth
-consolekit
dbus
elogind
emacs
@@ -33,7 +38,6 @@ lua
qt5
ruby
slang
-sqlite
sound
systemtap
X