public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/, ...
@ 2022-04-24  2:51 WANG Xuerui
  0 siblings, 0 replies; only message in thread
From: WANG Xuerui @ 2022-04-24  2:51 UTC (permalink / raw
  To: gentoo-commits

commit:     8cf1e2be6fedc48ae3a45d44e52a5386714a889c
Author:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 18 07:58:39 2022 +0000
Commit:     WANG Xuerui <xen0n <AT> gentoo <DOT> org>
CommitDate: Sun Apr 24 02:50:40 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8cf1e2be

profiles: import the initial LoongArch profiles

These have been brewing in the loongson-overlay for a while now; let's
continue work in the main tree!

(Dropped profiles to exp status, and removed all package.accept_keywords
and package.use entries pending real keywording/testing, for ::gentoo.
Also revised some comments along the way.)

Closes: https://github.com/gentoo/gentoo/pull/25083
Reviewed-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>

 profiles/arch/loong/eapi                           |  1 +
 profiles/arch/loong/la64v100/lp64d/eapi            |  1 +
 profiles/arch/loong/la64v100/lp64d/make.defaults   | 21 +++++++++
 profiles/arch/loong/make.defaults                  | 52 ++++++++++++++++++++++
 profiles/arch/loong/package.use.force              | 15 +++++++
 profiles/arch/loong/package.use.mask               | 44 ++++++++++++++++++
 profiles/arch/loong/parent                         |  1 +
 profiles/arch/loong/use.force                      |  5 +++
 profiles/arch/loong/use.mask                       |  5 +++
 profiles/default/linux/loong/22.0/la64v100/eapi    |  1 +
 .../linux/loong/22.0/la64v100/lp64d/desktop/eapi   |  1 +
 .../linux/loong/22.0/la64v100/lp64d/desktop/parent |  2 +
 .../loong/22.0/la64v100/lp64d/desktop/systemd/eapi |  1 +
 .../22.0/la64v100/lp64d/desktop/systemd/parent     |  2 +
 .../default/linux/loong/22.0/la64v100/lp64d/eapi   |  1 +
 .../default/linux/loong/22.0/la64v100/lp64d/parent |  2 +
 .../linux/loong/22.0/la64v100/lp64d/systemd/eapi   |  1 +
 .../linux/loong/22.0/la64v100/lp64d/systemd/parent |  2 +
 profiles/default/linux/loong/22.0/la64v100/parent  |  2 +
 profiles/default/linux/loong/eapi                  |  1 +
 profiles/default/linux/loong/parent                |  3 ++
 profiles/profiles.desc                             |  7 +++
 22 files changed, 171 insertions(+)

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


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-24  2:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-24  2:51 [gentoo-commits] repo/gentoo:master commit in: profiles/default/linux/loong/22.0/la64v100/lp64d/desktop/systemd/, WANG Xuerui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox