diff options
Diffstat (limited to 'profiles/arch/riscv')
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 |