diff options
22 files changed, 171 insertions, 0 deletions
diff --git a/profiles/arch/loong/eapi b/profiles/arch/loong/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/arch/loong/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/arch/loong/la64v100/lp64d/eapi b/profiles/arch/loong/la64v100/lp64d/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/arch/loong/la64v100/lp64d/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/arch/loong/la64v100/lp64d/make.defaults b/profiles/arch/loong/la64v100/lp64d/make.defaults new file mode 100644 index 000000000000..bbe4f93abf3c --- /dev/null +++ b/profiles/arch/loong/la64v100/lp64d/make.defaults @@ -0,0 +1,21 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# LoongArch la64v100/lp64d no-multilib profile +# +# la64v100 -- the ISA as defined in LoongArch Reference Manual Volume 1, v1.00. + +CHOST="loongarch64-unknown-linux-gnu" +MULTILIB_ABIS="lp64d" +DEFAULT_ABI="lp64d" +ABI="lp64d" + +CFLAGS="-O2 -pipe -march=loongarch64 -mabi=lp64d" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" + +# We have only one ABI +MULTILIB_ABIS="lp64d" +DEFAULT_ABI="lp64d" +ABI="lp64d" diff --git a/profiles/arch/loong/make.defaults b/profiles/arch/loong/make.defaults new file mode 100644 index 000000000000..3c0828d8bc2b --- /dev/null +++ b/profiles/arch/loong/make.defaults @@ -0,0 +1,52 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Main LoongArch profile directory. Common settings for all loong profiles. +# +# Subdirectories represent choices for base instruction set; the names come +# from the "Base Architecture" table, in the *LoongArch Toolchain Conventions* +# document. +# +# https://loongson.github.io/LoongArch-Documentation/LoongArch-toolchain-conventions-EN.html + +# This is not a complete profile. Use the subdirectories! + +ARCH="loong" +ACCEPT_KEYWORDS="loong ~loong" + +USE_EXPAND_VALUES_ARCH="${USE_EXPAND_VALUES_ARCH} loong" + +CFLAGS="-O2 -pipe" +CXXFLAGS="${CFLAGS}" +FFLAGS="${CFLAGS}" +FCFLAGS="${CFLAGS}" + +SYMLINK_LIB="no" + +# Note about LIBDIR_*: +# +# Unlike riscv profiles, LoongArch so far has not defined exact multilib +# layouts for non-multiarch (i.e. non-Debian-derived) systems; also the ABIs +# other than LP64D are underdeveloped and likely unusable. So here we only +# give definitions for lp64d. +# +# Should any official spec be revised such that a multilib layout is given, +# definitions here should be updated to stay compliant. + +# Flags for lp64d +LIBDIR_lp64d="lib64" +CFLAGS_lp64d="-mabi=lp64d" +LDFLAGS_lp64d="-m elf64loongarch" +CHOST_lp64d="loongarch64-unknown-linux-gnu" + +# Since many people will want to test this in qemu... +FEATURES="-pid-sandbox -network-sandbox -ipc-sandbox" + +# We need to fetch https git repo (gcc) during bootstrap, before gcc-12.1.0 +# is officially released. +BOOTSTRAP_USE="${BOOTSTRAP_USE} curl_ssl_openssl ssl" + +# The following stuff MUST be defined in subdirs: +# ABI +# DEFAULT_ABI +# MULTILIB_ABIS diff --git a/profiles/arch/loong/package.use.force b/profiles/arch/loong/package.use.force new file mode 100644 index 000000000000..c48378812752 --- /dev/null +++ b/profiles/arch/loong/package.use.force @@ -0,0 +1,15 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-24) +# Force-enable experimental-loong on toolchain packages; we're loong. +sys-kernel/linux-headers experimental-loong +sys-libs/glibc experimental-loong + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-18) +# gcc-12 is live ebuild for now, hence requiring this +dev-vcs/git curl + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-18) +# Newer spidermonkey not available yet (due to absence of rust) +sys-auth/polkit duktape diff --git a/profiles/arch/loong/package.use.mask b/profiles/arch/loong/package.use.mask new file mode 100644 index 000000000000..277c269898d7 --- /dev/null +++ b/profiles/arch/loong/package.use.mask @@ -0,0 +1,44 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-24) +# Unmask experimental-loong on toolchain packages; we're loong. +sys-kernel/linux-headers -experimental-loong +sys-libs/glibc -experimental-loong + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-18) +# Mask io-uring & zbc pending keywording +sys-block/fio -io-uring -zbc + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-18) +# We never had non-deprecated libcrypt support from glibc, so disable compat +# from libxcrypt for a world without libcrypt.so.1 +>=sys-libs/libxcrypt-4.4.23-r1 compat + +# WANG Xuerui <xen0n@gentoo.org> (2022-04-18) +# Catalyst has support for assembling bootloader on this arch +dev-util/catalyst -system-bootloader + +# The below masks are liberally taken from riscv, which has similar +# limitations. + +# LoongArch has no gold +sys-devel/binutils gold + +# sys-libs/libunwind do not support LoongArch for now +dev-libs/efl unwind +dev-util/strace unwind +media-libs/gstreamer unwind +media-libs/mesa unwind +net-libs/zeromq unwind +net-mail/dovecot unwind +x11-base/xorg-server unwind +x11-base/xwayland unwind + +# These aren't ported to LoongArch yet +dev-libs/libpcre2 jit +dev-libs/libpcre jit +<dev-vcs/git-2.31.0 pcre-jit +www-servers/nginx pcre-jit + +# End snippets taken from riscv diff --git a/profiles/arch/loong/parent b/profiles/arch/loong/parent new file mode 100644 index 000000000000..eb001c6e8ab8 --- /dev/null +++ b/profiles/arch/loong/parent @@ -0,0 +1 @@ +../base diff --git a/profiles/arch/loong/use.force b/profiles/arch/loong/use.force new file mode 100644 index 000000000000..a75f45bda3b2 --- /dev/null +++ b/profiles/arch/loong/use.force @@ -0,0 +1,5 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Force the flag which corresponds to ARCH. +loong diff --git a/profiles/arch/loong/use.mask b/profiles/arch/loong/use.mask new file mode 100644 index 000000000000..bc841c189ccb --- /dev/null +++ b/profiles/arch/loong/use.mask @@ -0,0 +1,5 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Unmask the flag which corresponds to ARCH. +-loong diff --git a/profiles/default/linux/loong/22.0/la64v100/eapi b/profiles/default/linux/loong/22.0/la64v100/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/eapi b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/parent b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/parent new file mode 100644 index 000000000000..fae96e8d36b2 --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/desktop diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/eapi b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/parent b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/parent new file mode 100644 index 000000000000..f7739b405877 --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../../targets/systemd diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/eapi b/profiles/default/linux/loong/22.0/la64v100/lp64d/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/parent b/profiles/default/linux/loong/22.0/la64v100/lp64d/parent new file mode 100644 index 000000000000..b4e81a288683 --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/parent @@ -0,0 +1,2 @@ +.. +../../../../../../arch/loong/la64v100/lp64d diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/eapi b/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/parent b/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/parent new file mode 100644 index 000000000000..44f88d3e2df0 --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/lp64d/systemd/parent @@ -0,0 +1,2 @@ +.. +../../../../../../../targets/systemd diff --git a/profiles/default/linux/loong/22.0/la64v100/parent b/profiles/default/linux/loong/22.0/la64v100/parent new file mode 100644 index 000000000000..b8f5b5cbc9d2 --- /dev/null +++ b/profiles/default/linux/loong/22.0/la64v100/parent @@ -0,0 +1,2 @@ +../.. +../../../../../releases/17.0 diff --git a/profiles/default/linux/loong/eapi b/profiles/default/linux/loong/eapi new file mode 100644 index 000000000000..7ed6ff82de6b --- /dev/null +++ b/profiles/default/linux/loong/eapi @@ -0,0 +1 @@ +5 diff --git a/profiles/default/linux/loong/parent b/profiles/default/linux/loong/parent new file mode 100644 index 000000000000..d11fc57ec16b --- /dev/null +++ b/profiles/default/linux/loong/parent @@ -0,0 +1,3 @@ +../../../base +.. +../../../arch/loong diff --git a/profiles/profiles.desc b/profiles/profiles.desc index d95666279088..a32340a2f4d3 100644 --- a/profiles/profiles.desc +++ b/profiles/profiles.desc @@ -140,6 +140,13 @@ ia64 default/linux/ia64/17.0/desktop/gnome/systemd stable ia64 default/linux/ia64/17.0/developer exp ia64 default/linux/ia64/17.0/systemd exp +# LoongArch Profiles +# @MAINTAINER: loong@gentoo.org +loong default/linux/loong/22.0/la64v100/lp64d exp +loong default/linux/loong/22.0/la64v100/lp64d/desktop exp +loong default/linux/loong/22.0/la64v100/lp64d/desktop/systemd exp +loong default/linux/loong/22.0/la64v100/lp64d/systemd exp + # M68K Profiles # @MAINTAINER: m68k@gentoo.org m68k default/linux/m68k/17.0 exp |