summaryrefslogtreecommitdiff
path: root/profiles/arch/loong
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
committerV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
commit752d6256e5204b958b0ef7905675a940b5e9172f (patch)
tree330d16e6362a49cbed8875a777fe641a43376cd3 /profiles/arch/loong
parent0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff)
gentoo resync : 12.05.2022
Diffstat (limited to 'profiles/arch/loong')
-rw-r--r--profiles/arch/loong/eapi1
-rw-r--r--profiles/arch/loong/la64v100/lp64d/eapi1
-rw-r--r--profiles/arch/loong/la64v100/lp64d/make.defaults21
-rw-r--r--profiles/arch/loong/make.defaults52
-rw-r--r--profiles/arch/loong/package.mask7
-rw-r--r--profiles/arch/loong/package.use.force17
-rw-r--r--profiles/arch/loong/package.use.mask46
-rw-r--r--profiles/arch/loong/parent1
-rw-r--r--profiles/arch/loong/use.force5
-rw-r--r--profiles/arch/loong/use.mask37
10 files changed, 188 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.mask b/profiles/arch/loong/package.mask
new file mode 100644
index 000000000000..3c62b9f0752a
--- /dev/null
+++ b/profiles/arch/loong/package.mask
@@ -0,0 +1,7 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# WANG Xuerui <xen0n@gentoo.org> (2022-05-04)
+# We have no Rust at the moment
+>=dev-python/cryptography-37
+>=gnome-base/librsvg-2.41
diff --git a/profiles/arch/loong/package.use.force b/profiles/arch/loong/package.use.force
new file mode 100644
index 000000000000..e53df0152ef8
--- /dev/null
+++ b/profiles/arch/loong/package.use.force
@@ -0,0 +1,17 @@
+# 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 packages; we're loong.
+dev-libs/libffi experimental-loong
+sys-kernel/linux-headers experimental-loong
+sys-libs/glibc experimental-loong
+sys-libs/libseccomp 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..746d4799f4d7
--- /dev/null
+++ b/profiles/arch/loong/package.use.mask
@@ -0,0 +1,46 @@
+# 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 packages; we're loong.
+dev-libs/libffi -experimental-loong
+sys-kernel/linux-headers -experimental-loong
+sys-libs/glibc -experimental-loong
+sys-libs/libseccomp -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..665c8cdc9eaa
--- /dev/null
+++ b/profiles/arch/loong/use.mask
@@ -0,0 +1,37 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Unmask the flag which corresponds to ARCH.
+-loong
+
+# Unmask systemd
+-systemd
+
+# Things without support yet
+java
+llvm
+valgrind
+
+# Temporarily masked during initial keywording
+audit
+bluetooth
+doc
+efl
+elogind
+emacs
+fam
+gd
+gpm
+gtk
+gtk2
+gtk3
+gtk4
+gtk-doc
+latex
+ldap
+mpi
+qt5
+sctp
+systemtap
+tk
+tpm