public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Fabian Groffen" <grobian@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:master commit in: scripts/
Date: Fri, 18 Oct 2024 14:01:39 +0000 (UTC)	[thread overview]
Message-ID: <1729260050.0e8cc099b8d696b2354e8705ce83bcf317ed9a7a.grobian@gentoo> (raw)

commit:     0e8cc099b8d696b2354e8705ce83bcf317ed9a7a
Author:     Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org>
AuthorDate: Fri Oct 18 14:00:50 2024 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 14:00:50 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=0e8cc099

scripts/bootstrap-prefix: add support for Darwin Clang bootstrap path

This is a slightly modified version of
https://github.com/gentoo/prefix/pull/34/commits/6319cbe1d15c3831bd4a2e5b52c4367abc68747d

Bug: https://bugs.gentoo.org/758167
Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org>
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 scripts/bootstrap-prefix.sh | 152 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 127 insertions(+), 25 deletions(-)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index fdbe73e17e..86b7860595 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -220,18 +220,17 @@ configure_toolchain() {
 					# this is Clang, recent enough to compile recent clang
 					compiler_stage1+="
 						${llvm_deps}
-						sys-libs/libcxxabi
-						sys-libs/libcxx
+						sys-libs/compiler-rt
 						sys-devel/llvm
+						sys-devel/lld
+						sys-devel/clang-common
 						sys-devel/clang
 					"
 					CC=clang
 					CXX=clang++
-					# avoid going through hoops and deps for
-					# binutils-apple, rely on the host-installed ld to
-					# build a compiler, we'll pull in binutils-apple
-					# from system set
-					linker=sys-devel/native-cctools
+					linker=
+					[[ "${BOOTSTRAP_STAGE}" == stage2 ]] && \
+						linker=sys-devel/lld
 					;;
 				*)
 					eerror "unknown/unsupported compiler"
@@ -240,12 +239,16 @@ configure_toolchain() {
 			esac
 
 			compiler="
-				dev-libs/libffi
 				${llvm_deps}
+				sys-libs/compiler-rt
 				sys-libs/libcxxabi
 				sys-libs/libcxx
 				sys-devel/llvm
-				sys-devel/clang"
+				sys-devel/lld
+				sys-libs/llvm-libunwind
+				sys-devel/clang-common
+				sys-devel/clang
+			"
 			;;
 		*-linux*)
 			is-rap && einfo "Triggering Linux RAP bootstrap"
@@ -457,6 +460,8 @@ bootstrap_profile() {
 	if [[ ${DARWIN_USE_GCC} == 1 ]] ; then
 		# amend profile, to use gcc one
 		profile="${profile}/gcc"
+	elif [[ ${CHOST} == *-darwin* ]] ; then
+		[[ "${BOOTSTRAP_STAGE}" != stage2 ]] && profile+="/clang"
 	fi
 
 	[[ -n ${PROFILE_BASE}${PROFILE_VARIANT} ]] &&
@@ -1466,7 +1471,7 @@ bootstrap_stage1() {
 		[[ -e ${ROOT}/tmp/${x} ]] || ( cd "${ROOT}"/tmp && ln -s usr/${x} )
 	done
 
-	configure_toolchain
+	BOOTSTRAP_STAGE="stage1" configure_toolchain || return 1
 	export CC CXX
 
 	# default: empty = NO
@@ -1752,9 +1757,16 @@ bootstrap_stage1() {
 	# setup a profile for stage2
 	mkdir -p "${ROOT}"/tmp/etc/. || return 1
 	[[ -e ${ROOT}/tmp/etc/portage/make.profile ]] || \
-		(	"${CP}" -dpR "${ROOT}"/etc/portage "${ROOT}"/tmp/etc && \
+		(
+			"${CP}" -dpR "${ROOT}"/etc/portage "${ROOT}"/tmp/etc && \
 			rm -f "${ROOT}"/tmp/etc/portage/make.profile && \
-			(ROOT="${ROOT}"/tmp PREFIX_DISABLE_RAP=yes bootstrap_profile) ) || return 1
+			(
+				ROOT="${ROOT}"/tmp \
+				PREFIX_DISABLE_RAP="yes" \
+				BOOTSTRAP_STAGE="stage2" \
+				bootstrap_profile
+			)
+		) || return 1
 
 	# setup portage
 	[[ -e ${ROOT}/tmp/usr/bin/emerge ]] || (bootstrap_portage) || return 1
@@ -1819,7 +1831,6 @@ do_emerge_pkgs() {
 			"-berkdb"
 			"-fortran"            # gcc
 			"-gdbm"
-			"-libcxx"
 			"-nls"
 			"-pcre"
 			"-python"
@@ -1831,7 +1842,24 @@ do_emerge_pkgs() {
 			"clang"
 			"internal-glib"
 		)
-		local override_make_conf_dir="${PORTAGE_OVERRIDE_EPREFIX}${MAKE_CONF_DIR#"${ROOT}"}"
+
+		local skip_llvm_pkg_setup=
+		if [[ ${CHOST}:${DARWIN_USE_GCC} == *-darwin*:0 ]] ; then
+			# Clang-based Darwin
+			myuse+=(
+				"-binutils-plugin"
+				"default-compiler-rt"
+				"default-libcxx"
+				"default-lld"
+			)
+			if [[ "${BOOTSTRAP_STAGE}" == stage2 ]] ; then
+				myuse+=( "bootstrap-prefix" )
+				skip_llvm_pkg_setup="yes"
+			fi
+		fi
+
+		local override_make_conf_dir="${PORTAGE_OVERRIDE_EPREFIX}"
+		override_make_conf_dir+="${MAKE_CONF_DIR#"${ROOT}"}"
 
 		if [[ " ${USE} " == *" prefix-stack "* ]] &&
 		   [[ ${PORTAGE_OVERRIDE_EPREFIX} == */tmp ]] &&
@@ -1892,6 +1920,7 @@ do_emerge_pkgs() {
 			PORTAGE_SYNC_STALE=0 \
 			FEATURES="-news ${FEATURES}" \
 			USE="${myuse[*]}" \
+			LLVM_ECLASS_SKIP_PKG_SETUP="${skip_llvm_pkg_setup}" \
 			"${ROOT}"/tmp/bin/python \
 			"${ROOT}"/tmp/usr/bin/emerge "${eopts[@]}" "${pkg}"
 		) || return 1
@@ -1908,7 +1937,7 @@ bootstrap_stage2() {
 
 	# Find out what toolchain packages we need, and configure LDFLAGS
 	# and friends.
-	configure_toolchain || return 1
+	BOOTSTRAP_STAGE="stage2" configure_toolchain || return 1
 	configure_cflags || return 1
 	export CONFIG_SHELL="${ROOT}"/tmp/bin/bash
 	export CC CXX
@@ -1995,6 +2024,24 @@ bootstrap_stage2() {
 		EOF
 	fi
 
+	# provide active SDK link on Darwin
+	if [[ ${CHOST} == *-darwin* ]] ; then
+		rm -f "${ROOT}"/tmp/MacOSX.sdk
+		( cd "${ROOT}"/tmp && ln -s ../MacOSX.sdk MacOSX.sdk )
+		if [[ ${DARWIN_USE_GCC} == 0 ]] ; then
+			# Until proper clang is installed, just redirect calls to it
+			# to the system's one. Libtool is here because its path is
+			# passed to the compiler-rt and llvm's ebuilds.
+			for bin in libtool clang clang++ ; do
+				{
+					echo "#!${ROOT}/tmp/bin/sh"
+					echo "exec ${bin}"' "$@"'
+				} > "${ROOT}/tmp/usr/bin/${CHOST}-${bin}"
+				chmod +x "${ROOT}/tmp/usr/bin/${CHOST}-${bin}"
+			done
+		fi
+	fi
+
 	# Build a basic compiler and portage dependencies in $ROOT/tmp.
 	pkgs=(
 		sys-devel/gnuconfig
@@ -2013,12 +2060,6 @@ bootstrap_stage2() {
 		sys-devel/binutils-config
 	)
 
-	# provide active SDK link on Darwin
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		rm -f "${ROOT}"/tmp/MacOSX.sdk
-		( cd "${ROOT}"/tmp && ln -s ../MacOSX.sdk MacOSX.sdk )
-	fi
-
 	# cmake has some external dependencies which require autoconf, etc.
 	# unless we only build the buildtool, bug #603012
 	echo "dev-build/cmake -server" >> "${ROOT}"/tmp/etc/portage/package.use
@@ -2037,8 +2078,8 @@ bootstrap_stage2() {
 
 	emerge_pkgs --nodeps "${pkgs[@]}" || return 1
 
-	# Debian multiarch supported by RAP needs ld to support sysroot.
 	for pkg in ${linker} ; do
+		# Debian multiarch supported by RAP needs ld to support sysroot.
 		EXTRA_ECONF=$(rapx --with-sysroot=/) \
 		emerge_pkgs --nodeps "${pkg}" || return 1
 	done
@@ -2083,12 +2124,22 @@ bootstrap_stage2() {
 	done
 
 	if [[ ${compiler_type} == clang ]] ; then
+		if [[ ${CHOST} == *-darwin* ]] ; then
+			# Stop using host's compilers, but still need 'libtool' in PATH.
+			rm "${ROOT}/tmp/usr/bin/${CHOST}"-{libtool,clang,clang++}
+			mkdir -p "${ROOT}"/usr/bin
+			ln -s "${ROOT}"/tmp/usr/lib/llvm/*/bin/llvm-libtool-darwin \
+				"${ROOT}"/usr/bin/libtool
+		fi
+
 		# We use Clang as our toolchain compiler, so we need to make
 		# sure we actually use it
 		mkdir -p -- "${MAKE_CONF_DIR}"
 		{
 			echo
 			echo "# System compiler on $(uname) Prefix is Clang, do not remove this"
+			echo "AS=\"${CHOST}-clang -c\""
+			echo "CPP=${CHOST}-clang-cpp"
 			echo "CC=${CHOST}-clang"
 			echo "CXX=${CHOST}-clang++"
 			echo "OBJC=${CHOST}-clang"
@@ -2152,7 +2203,7 @@ bootstrap_stage3() {
 	# they stop mucking up builds.
 	rm -f "${ROOT}"/tmp/usr/local/bin/{,my,${CHOST}-}{gcc,g++}
 
-	configure_toolchain || return 1
+	BOOTSTRAP_STAGE=stage3 configure_toolchain || return 1
 
 	if [[ ${compiler_type} == clang ]] ; then
 		if ! type -P clang > /dev/null ; then
@@ -2205,7 +2256,6 @@ bootstrap_stage3() {
 		# (CBUILD, BDEPEND) and with the system being built
 		# (CHOST, RDEPEND).  To correctly bootstrap stage3,
 		# PORTAGE_OVERRIDE_EPREFIX as BROOT is needed.
-		PREROOTPATH="${ROOT}"$(echo /{,tmp/}{usr/,}{,lib/llvm/{12,11,10}/}{s,}bin | sed "s, ,:${ROOT},g") \
 		EPREFIX="${ROOT}" PORTAGE_TMPDIR="${PORTAGE_TMPDIR}" \
 		EMERGE_LOG_DIR="${ROOT}"/var/log \
 		STAGE=stage3 \
@@ -2388,6 +2438,31 @@ bootstrap_stage3() {
 	PYTHON_COMPAT_OVERRIDE="python$(python_ver)" \
 	pre_emerge_pkgs --nodeps "${compiler_pkgs[@]}" || return 1
 
+	if [[ ${CHOST}:${DARWIN_USE_GCC} == *-darwin*:0 ]] ; then
+		# At this point our libc++abi.dylib is dynamically linked to
+		# /usr/lib/libc++abi.dylib. That causes issues with perl later. Force
+		# rebuild of sys-libs/libcxxabi to break this link.
+		rm -Rf "${ROOT}/var/db/pkg/sys-libs/libcxxabi"*
+		PYTHON_COMPAT_OVERRIDE=python$(python_ver) \
+			pre_emerge_pkgs --nodeps "sys-libs/libcxxabi" || return 1
+
+		# Make ${CHOST}-libtool (used by compiler-rt's and llvm's ebuild) to
+		# point at the correct libtool in stage3. Resolve it in runtime, to
+		# support llvm version upgrades.
+		rm -f ${ROOT}/usr/bin/${CHOST}-libtool
+		{
+			echo "#!${ROOT}/bin/sh"
+			echo 'exec llvm-libtool-darwin "$@"'
+		} > "${ROOT}"/usr/bin/${CHOST}-${bin}
+
+		# Now clang is ready, can use it instead of /usr/bin/gcc
+		# TODO: perhaps symlink the whole etc/portage instead?
+		ln -s -f "${ROOT}/etc/portage/make.profile" \
+			"${ROOT}/tmp/etc/portage/make.profile"
+		cp "${ROOT}/etc/portage/make.conf/0100_bootstrap_prefix_clang.conf" \
+			"${ROOT}/tmp/etc/portage/make.conf/"
+	fi
+
 	# Undo libgcc_s.so path of stage2
 	# Now we have the compiler right there
 	unset CC CXX CPPFLAGS LDFLAGS
@@ -2404,8 +2479,35 @@ bootstrap_stage3() {
 		ln -s bash "${ROOT}"/bin/sh
 	fi
 
+	if [[ "${compiler_type}" == clang ]] ; then
+		if [[ ! -e "${ROOT}"/tmp/etc/env.d/11stage3-llvm ]]; then
+			ln -s "${ROOT}"/etc/env.d/60llvm-* \
+				"${ROOT}"/tmp/etc/env.d/11stage3-llvm
+		fi
+		# Prevent usage of AppleClang aka gcc for bad packages which ignore $CC
+		if [[ ! -e "${ROOT}"/usr/bin/gcc ]]; then
+			echo "#!${ROOT}/bin/bash" > "${ROOT}"/usr/bin/gcc
+			echo "false ${CHOST}-clang \"\$@\"" >> "${ROOT}"/usr/bin/gcc
+		fi
+		if [[ ! -e "${ROOT}"/usr/bin/g++ ]]; then
+			echo "#!${ROOT}/bin/bash" > "${ROOT}"/usr/bin/g++
+			echo "false ${CHOST}-clang++ \"\$@\"" >> "${ROOT}"/usr/bin/g++
+		fi
+		chmod +x "${ROOT}"/usr/bin/{gcc,g++}
+		if [[ ${CHOST} == *-darwin* ]]; then
+			if [[ ! -e "${ROOT}"/usr/bin/ld ]]; then
+				echo "#!${ROOT}/bin/bash" > "${ROOT}"/usr/bin/ld
+				echo "false ld64.lld \"\$@\"" >> "${ROOT}"/usr/bin/ld
+			fi
+			chmod +x "${ROOT}"/usr/bin/ld
+		fi
+	fi
+	
 	# Start using apps from the final destination Prefix
-	export PREROOTPATH="${ROOT}/usr/bin:${ROOT}/bin"
+	cat > "${ROOT}"/tmp/etc/env.d/10stage3 <<-EOF
+		PATH="${ROOT}/usr/bin:${ROOT}/bin"
+	EOF
+	"${ROOT}"/tmp/usr/sbin/env-update
 
 	# Get a sane bash, overwriting tmp symlinks
 	pre_emerge_pkgs "" "app-shells/bash" || return 1


             reply	other threads:[~2024-10-18 14:01 UTC|newest]

Thread overview: 552+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-18 14:01 Fabian Groffen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-18  8:29 [gentoo-commits] repo/proj/prefix:master commit in: scripts/ Fabian Groffen
2024-10-18 14:01 Fabian Groffen
2024-10-01 13:31 Fabian Groffen
2024-09-30  9:08 Fabian Groffen
2024-09-28 13:05 Fabian Groffen
2024-09-28 12:50 Fabian Groffen
2024-09-23 17:03 Fabian Groffen
2024-09-18 19:51 Fabian Groffen
2024-09-05 11:47 Fabian Groffen
2024-08-21 13:30 Fabian Groffen
2024-08-21  6:36 Fabian Groffen
2024-08-20 18:57 Fabian Groffen
2024-08-20 18:57 Fabian Groffen
2024-08-20 18:57 Fabian Groffen
2024-08-19 16:56 Fabian Groffen
2024-08-19 16:42 Fabian Groffen
2024-08-19 16:24 Fabian Groffen
2024-08-11 16:19 Fabian Groffen
2024-07-30 17:05 Fabian Groffen
2024-07-25 11:17 Fabian Groffen
2024-07-25  6:25 Fabian Groffen
2024-07-24  6:30 Fabian Groffen
2024-07-23  6:35 Fabian Groffen
2024-07-22  7:43 Fabian Groffen
2024-07-21  8:57 Fabian Groffen
2024-07-21  8:57 Fabian Groffen
2024-07-14 13:11 Fabian Groffen
2024-06-23  7:05 Fabian Groffen
2024-06-18  6:13 Fabian Groffen
2024-06-14 20:21 Fabian Groffen
2024-05-30 17:55 Fabian Groffen
2024-05-28 19:02 Fabian Groffen
2024-05-28 14:15 Fabian Groffen
2024-05-28 12:43 Sam James
2024-04-10  6:59 Fabian Groffen
2024-04-08  8:22 Fabian Groffen
2024-04-07  6:54 Fabian Groffen
2024-04-06  7:28 Fabian Groffen
2024-03-30 13:16 Fabian Groffen
2024-03-30 13:05 Fabian Groffen
2024-03-30 12:51 Fabian Groffen
2024-03-30 12:39 Fabian Groffen
2024-03-30 12:38 Fabian Groffen
2024-03-30 12:13 Fabian Groffen
2024-03-30 11:46 Fabian Groffen
2024-03-29 17:17 Fabian Groffen
2024-03-29 11:55 Fabian Groffen
2024-03-29 11:52 Fabian Groffen
2024-03-29 11:52 Fabian Groffen
2024-03-28 16:12 Fabian Groffen
2024-02-29 14:53 Fabian Groffen
2024-02-24  9:55 Fabian Groffen
2024-02-24  9:55 Fabian Groffen
2024-02-19 18:46 Fabian Groffen
2024-02-18 20:03 Fabian Groffen
2024-02-18 18:38 Fabian Groffen
2024-02-17 14:09 Fabian Groffen
2024-02-17 10:18 Fabian Groffen
2024-02-12  8:47 Fabian Groffen
2024-02-06 13:16 Fabian Groffen
2024-02-05 19:51 Fabian Groffen
2024-02-05 19:31 Fabian Groffen
2024-02-05 18:40 Fabian Groffen
2024-02-04 19:15 Fabian Groffen
2024-02-02 12:29 Fabian Groffen
2024-02-02 12:14 Fabian Groffen
2024-02-02 12:07 Fabian Groffen
2024-01-30 11:33 Fabian Groffen
2024-01-29 18:56 Fabian Groffen
2024-01-27 14:04 Fabian Groffen
2024-01-26 12:36 Sam James
2024-01-23  8:32 Fabian Groffen
2024-01-22  8:44 Fabian Groffen
2024-01-21  8:20 Fabian Groffen
2024-01-18 12:10 Fabian Groffen
2024-01-17  7:19 Fabian Groffen
2024-01-15  7:10 Fabian Groffen
2024-01-14 19:41 Sam James
2024-01-13 23:00 James Le Cuirot
2024-01-07  8:29 Sam James
2024-01-07  8:29 Sam James
2024-01-07  8:08 Sam James
2024-01-07  8:05 Sam James
2024-01-01  4:11 Sam James
2023-12-29  9:45 Fabian Groffen
2023-12-29  9:40 Fabian Groffen
2023-12-25 11:11 Fabian Groffen
2023-11-04  7:35 Fabian Groffen
2023-09-23 11:07 Fabian Groffen
2023-09-16 13:48 Fabian Groffen
2023-09-16 13:38 Fabian Groffen
2023-09-14  7:17 Fabian Groffen
2023-09-11 19:52 Fabian Groffen
2023-09-10 19:43 Fabian Groffen
2023-09-10 10:57 Fabian Groffen
2023-09-01 15:26 Fabian Groffen
2023-08-31  6:28 Fabian Groffen
2023-07-28  8:02 Sam James
2023-07-28  8:02 Sam James
2023-07-28  8:02 Sam James
2023-07-11  6:22 Fabian Groffen
2023-07-10 10:24 Fabian Groffen
2023-07-10  6:24 Fabian Groffen
2023-07-08  7:57 Fabian Groffen
2023-07-04  9:37 Fabian Groffen
2023-07-04  7:08 Fabian Groffen
2023-06-23 13:57 Fabian Groffen
2023-06-02 12:23 Fabian Groffen
2023-06-01  6:41 Fabian Groffen
2023-05-27 11:14 Fabian Groffen
2023-05-14  6:46 Fabian Groffen
2023-05-09  6:28 Fabian Groffen
2023-05-05  7:05 Fabian Groffen
2023-05-04 13:39 Fabian Groffen
2023-05-04  7:54 Fabian Groffen
2023-05-03 18:54 Fabian Groffen
2023-05-01  6:29 Fabian Groffen
2023-04-25 15:25 Fabian Groffen
2023-04-25 15:10 Fabian Groffen
2023-04-24 20:12 Sam James
2023-03-20 12:38 Sam James
2023-03-19  1:03 Sam James
2023-03-06  4:53 Sam James
2023-03-04  2:21 Sam James
2023-02-24 18:52 Sam James
2023-02-22  7:44 Sam James
2023-01-17  3:04 Sam James
2022-12-28 15:19 Sam James
2022-11-05  9:32 Fabian Groffen
2022-11-02  8:03 Fabian Groffen
2022-09-03  1:59 Sam James
2022-08-08 10:49 Fabian Groffen
2022-08-08  8:09 Fabian Groffen
2022-08-05  6:35 Fabian Groffen
2022-08-04 11:51 Fabian Groffen
2022-08-03 12:01 Fabian Groffen
2022-07-19  8:16 Fabian Groffen
2022-07-13  5:41 Sam James
2022-07-02 17:23 Fabian Groffen
2022-07-02 17:22 Fabian Groffen
2022-07-01  6:30 Fabian Groffen
2022-07-01  6:08 Fabian Groffen
2022-06-30 19:14 Sam James
2022-06-30 18:19 Sam James
2022-06-30 18:18 Sam James
2022-06-30 18:16 Sam James
2022-06-30 16:11 Sam James
2022-06-30 12:59 Sam James
2022-06-30 12:59 Sam James
2022-06-30 12:59 Sam James
2022-06-30 12:59 Sam James
2022-06-30 12:59 Sam James
2022-06-30 12:23 Sam James
2022-06-30 12:18 Sam James
2022-06-29 16:28 Sam James
2022-06-29 16:28 Sam James
2022-06-29 16:28 Sam James
2022-06-29 16:28 Sam James
2022-06-29 16:28 Sam James
2022-06-29 16:28 Sam James
2022-06-29 16:28 Sam James
2022-06-20  6:09 Fabian Groffen
2022-06-18  7:02 Fabian Groffen
2022-06-06  8:42 Fabian Groffen
2022-05-31 11:10 Fabian Groffen
2022-03-14 17:32 Sam James
2022-03-14 17:32 Sam James
2022-03-14 17:32 Sam James
2022-02-19 16:08 Fabian Groffen
2022-01-22 18:51 Sam James
2022-01-17  7:16 Fabian Groffen
2021-12-30 12:29 Fabian Groffen
2021-12-30 12:17 Fabian Groffen
2021-12-30 10:46 Fabian Groffen
2021-12-28  8:07 Fabian Groffen
2021-12-28  8:07 Fabian Groffen
2021-12-22 23:58 Sam James
2021-12-07 10:55 Fabian Groffen
2021-12-05 13:47 Fabian Groffen
2021-12-05 13:47 Fabian Groffen
2021-12-05 13:47 Fabian Groffen
2021-12-05 13:47 Fabian Groffen
2021-11-19 13:33 Sam James
2021-11-13 11:06 Sam James
2021-11-13  3:34 Sam James
2021-11-09  7:59 Sam James
2021-11-09  5:58 Sam James
2021-11-09  4:10 Sam James
2021-11-06  8:40 Fabian Groffen
2021-11-04 23:29 Sam James
2021-11-03  3:23 Sam James
2021-11-02 15:36 Sam James
2021-10-28 11:45 Guilherme Amadio
2021-10-15  6:02 Fabian Groffen
2021-10-14 18:30 Sam James
2021-10-14 18:11 Sam James
2021-08-23 16:48 Fabian Groffen
2021-08-23  6:18 Fabian Groffen
2021-08-22  5:25 Fabian Groffen
2021-08-21  6:18 Fabian Groffen
2021-07-16  7:10 Fabian Groffen
2021-07-16  7:10 Fabian Groffen
2021-06-08  9:14 Fabian Groffen
2021-06-08  7:33 Fabian Groffen
2021-06-08  6:18 Fabian Groffen
2021-04-17  8:34 Fabian Groffen
2021-03-31  6:54 Fabian Groffen
2021-03-13 12:29 Fabian Groffen
2021-02-19 14:20 Fabian Groffen
2021-02-13 18:51 Fabian Groffen
2021-02-13  7:47 Fabian Groffen
2021-01-21 11:56 Fabian Groffen
2021-01-19  7:10 Fabian Groffen
2021-01-15  7:15 Fabian Groffen
2021-01-14 10:37 Fabian Groffen
2021-01-14  7:08 Fabian Groffen
2021-01-11  7:39 Fabian Groffen
2021-01-10 18:59 Fabian Groffen
2021-01-09 15:12 Fabian Groffen
2021-01-06 11:53 Fabian Groffen
2021-01-06  8:30 Fabian Groffen
2021-01-05  8:47 Fabian Groffen
2021-01-04 12:29 Fabian Groffen
2021-01-04 10:57 Fabian Groffen
2021-01-04 10:57 Fabian Groffen
2021-01-04 10:53 Fabian Groffen
2021-01-03 14:37 Fabian Groffen
2021-01-03 10:33 Fabian Groffen
2021-01-03 10:13 Fabian Groffen
2021-01-03 10:13 Fabian Groffen
2021-01-02 19:17 Fabian Groffen
2021-01-02 11:35 Fabian Groffen
2021-01-02 11:01 Fabian Groffen
2021-01-02 11:01 Fabian Groffen
2021-01-02 11:01 Fabian Groffen
2021-01-02 10:48 Fabian Groffen
2021-01-02 10:48 Fabian Groffen
2021-01-01 12:36 Fabian Groffen
2021-01-01 12:36 Fabian Groffen
2020-12-31 20:31 Fabian Groffen
2020-12-31 18:36 Fabian Groffen
2020-12-31 17:50 Fabian Groffen
2020-12-31 17:50 Fabian Groffen
2020-12-31 17:50 Fabian Groffen
2020-12-31 15:23 Fabian Groffen
2020-12-31 15:16 Fabian Groffen
2020-12-31 15:13 Fabian Groffen
2020-12-23  7:50 Fabian Groffen
2020-12-23  7:50 Fabian Groffen
2020-12-18  8:18 Fabian Groffen
2020-12-17 21:04 Fabian Groffen
2020-12-12  9:20 Fabian Groffen
2020-12-11  8:01 Fabian Groffen
2020-12-10 12:16 Fabian Groffen
2020-12-10  7:15 Fabian Groffen
2020-12-09 19:26 Fabian Groffen
2020-12-09 15:56 Fabian Groffen
2020-12-09 11:36 Fabian Groffen
2020-12-08  7:26 Fabian Groffen
2020-12-07 18:09 Fabian Groffen
2020-12-04 10:58 Fabian Groffen
2020-12-04 10:38 Fabian Groffen
2020-12-01 19:19 Fabian Groffen
2020-12-01 10:16 Fabian Groffen
2020-11-29 10:28 Fabian Groffen
2020-11-27 10:33 Fabian Groffen
2020-11-25 20:27 Fabian Groffen
2020-11-25 20:19 Fabian Groffen
2020-11-25 19:54 Fabian Groffen
2020-11-25 19:10 Fabian Groffen
2020-11-24 11:26 Fabian Groffen
2020-11-24  9:48 Fabian Groffen
2020-11-24  8:46 Fabian Groffen
2020-11-23 21:06 Fabian Groffen
2020-11-23 10:27 Fabian Groffen
2020-11-22 17:19 Fabian Groffen
2020-11-21 14:28 Fabian Groffen
2020-11-21 13:45 Fabian Groffen
2020-11-21 13:45 Fabian Groffen
2020-11-21 13:45 Fabian Groffen
2020-11-21 13:02 Fabian Groffen
2020-11-07 11:55 Fabian Groffen
2020-10-27  7:44 Fabian Groffen
2020-10-27  7:18 Fabian Groffen
2020-10-27  7:10 Fabian Groffen
2020-10-26 11:50 Fabian Groffen
2020-10-25  8:15 Fabian Groffen
2020-06-29 23:53 Benda XU
2020-06-19  7:09 Fabian Groffen
2020-06-13 13:53 Fabian Groffen
2020-06-08  6:19 Fabian Groffen
2020-06-03 14:40 Fabian Groffen
2020-06-03 14:34 Fabian Groffen
2020-06-03  7:13 Fabian Groffen
2020-06-01 11:55 Fabian Groffen
2020-06-01 11:25 Fabian Groffen
2020-06-01  9:55 Fabian Groffen
2020-05-29  6:22 Fabian Groffen
2020-05-13  7:25 Benda XU
2020-05-12 14:44 Benda XU
2020-05-11  6:59 Benda XU
2020-05-11  6:59 Benda XU
2020-05-11  6:59 Benda XU
2020-05-11  6:59 Benda XU
2020-03-31 17:09 Fabian Groffen
2020-03-30 17:11 Fabian Groffen
2020-03-12 16:38 Michael Haubenwallner
2020-03-12 16:38 Michael Haubenwallner
2020-03-12 11:47 Michael Haubenwallner
2020-01-28 15:51 Michael Haubenwallner
2020-01-27  9:33 Fabian Groffen
2020-01-27  2:53 Benda XU
2020-01-27  2:53 Benda XU
2020-01-27  2:53 Benda XU
2020-01-27  2:53 Benda XU
2020-01-27  2:53 Benda XU
2020-01-10 13:29 Fabian Groffen
2019-12-25 15:33 Fabian Groffen
2019-12-03 11:17 Michael Haubenwallner
2019-07-14  9:01 Fabian Groffen
2019-07-12 18:16 Fabian Groffen
2019-07-02 11:11 Fabian Groffen
2019-06-17  9:55 Fabian Groffen
2019-06-17  9:16 Fabian Groffen
2019-06-16 18:56 Fabian Groffen
2019-06-06 18:56 Fabian Groffen
2019-05-31 14:34 Fabian Groffen
2019-05-28 12:24 Fabian Groffen
2019-05-27  9:42 Michael Haubenwallner
2019-05-25  6:16 Benda XU
2019-05-22 20:07 Fabian Groffen
2019-05-22 17:33 Fabian Groffen
2019-05-05  8:15 Fabian Groffen
2019-05-05  8:15 Fabian Groffen
2019-03-27 16:25 Fabian Groffen
2019-03-25 18:17 Fabian Groffen
2019-03-25 17:17 Michael Haubenwallner
2019-03-25 14:20 Michael Haubenwallner
2019-03-25  8:02 Fabian Groffen
2019-03-20 14:54 Fabian Groffen
2019-03-20 13:16 Fabian Groffen
2019-03-20 10:35 Fabian Groffen
2019-03-20  8:51 Fabian Groffen
2019-03-20  8:51 Fabian Groffen
2019-03-19  8:39 Fabian Groffen
2019-03-14 18:15 Fabian Groffen
2019-03-14 18:15 Fabian Groffen
2019-03-13 14:14 Fabian Groffen
2019-03-13 14:14 Fabian Groffen
2019-03-06 12:34 Fabian Groffen
2019-03-06 12:34 Fabian Groffen
2019-03-06 12:10 Fabian Groffen
2019-03-06 11:16 Fabian Groffen
2019-03-04 15:15 Michael Haubenwallner
2019-03-04 14:01 Michael Haubenwallner
2019-02-22  7:32 Fabian Groffen
2019-02-21  7:52 Fabian Groffen
2019-02-21  7:52 Fabian Groffen
2019-02-07 20:12 Fabian Groffen
2019-02-06 16:40 Fabian Groffen
2019-01-29 15:59 Michael Haubenwallner
2019-01-29 15:59 Michael Haubenwallner
2019-01-10  8:20 Fabian Groffen
2019-01-10  8:20 Fabian Groffen
2019-01-09 13:49 Fabian Groffen
2019-01-09 12:10 Michael Haubenwallner
2019-01-07 16:20 Michael Haubenwallner
2019-01-07 16:20 Michael Haubenwallner
2019-01-06 11:38 Fabian Groffen
2019-01-04 19:58 Fabian Groffen
2019-01-04 19:58 Fabian Groffen
2019-01-04 19:58 Fabian Groffen
2019-01-03  9:24 Fabian Groffen
2019-01-01 10:22 Benda XU
2018-12-30  1:10 Benda XU
2018-12-28  8:45 Fabian Groffen
2018-12-25 13:00 Fabian Groffen
2018-12-23 11:53 Fabian Groffen
2018-12-23 10:32 Benda XU
2018-12-23 10:32 Benda XU
2018-12-23 10:32 Benda XU
2018-12-23 10:32 Benda XU
2018-12-23 10:32 Benda XU
2018-12-23 10:32 Benda XU
2018-12-16 10:29 Fabian Groffen
2018-12-13  7:50 Fabian Groffen
2018-12-13  7:16 Fabian Groffen
2018-12-13  7:13 Fabian Groffen
2018-12-11 14:29 Fabian Groffen
2018-11-20  8:37 Fabian Groffen
2018-10-05 15:28 Michael Haubenwallner
2018-08-19  8:34 Fabian Groffen
2018-07-09  8:27 Benda XU
2018-06-30 18:43 Fabian Groffen
2018-06-22 14:34 Michael Haubenwallner
2018-06-21  6:56 Fabian Groffen
2018-06-20 12:06 Michael Haubenwallner
2018-06-20 12:06 Michael Haubenwallner
2018-06-20  7:32 Fabian Groffen
2018-06-18  8:45 Fabian Groffen
2018-06-17 14:54 Fabian Groffen
2018-06-14  1:16 Benda XU
2018-06-14  1:16 Benda XU
2018-06-14  1:16 Benda XU
2018-06-14  1:16 Benda XU
2018-06-14  1:16 Benda XU
2018-06-12 16:40 Fabian Groffen
2018-06-12 16:40 Fabian Groffen
2018-06-12 16:40 Fabian Groffen
2018-06-12 16:40 Fabian Groffen
2018-06-11 16:38 Fabian Groffen
2018-06-05 17:56 Fabian Groffen
2018-06-01 18:40 Fabian Groffen
2018-05-29  6:34 Fabian Groffen
2018-05-27  7:14 Fabian Groffen
2018-05-24 11:26 Michael Haubenwallner
2018-05-16 13:02 Michael Haubenwallner
2018-05-14 12:05 Michael Haubenwallner
2018-05-14 11:21 Michael Haubenwallner
2018-04-09  7:38 Fabian Groffen
2018-03-19 11:55 Fabian Groffen
2018-03-14  9:07 Fabian Groffen
2018-03-13  8:14 Fabian Groffen
2018-03-10 18:44 Fabian Groffen
2018-02-20  8:00 Benda XU
2018-02-20  7:29 Fabian Groffen
2018-02-17  7:16 Fabian Groffen
2018-02-12  9:45 Fabian Groffen
2018-02-12  9:45 Fabian Groffen
2018-02-11  8:57 Fabian Groffen
2018-02-09  8:16 Fabian Groffen
2018-02-07 18:15 Fabian Groffen
2018-01-29  5:32 Benda XU
2018-01-17  2:12 Benda XU
2018-01-16  4:22 Benda XU
2018-01-16  3:29 Benda XU
2018-01-16  3:29 Benda XU
2018-01-16  3:29 Benda XU
2018-01-16  3:29 Benda XU
2018-01-15 19:38 Fabian Groffen
2018-01-15  9:52 Fabian Groffen
2018-01-13 12:02 Fabian Groffen
2018-01-13 11:36 Benda XU
2018-01-13  9:16 Fabian Groffen
2018-01-09 14:12 Fabian Groffen
2018-01-08  7:53 Benda XU
2018-01-08  7:53 Benda XU
2018-01-08  7:53 Benda XU
2018-01-06 15:23 Fabian Groffen
2018-01-06 14:27 Fabian Groffen
2018-01-05 11:24 Fabian Groffen
2018-01-04  9:46 Fabian Groffen
2018-01-02 16:27 Fabian Groffen
2017-12-20  8:04 Benda XU
2017-12-11  5:22 Benda XU
2017-12-11  5:22 Benda XU
2017-12-11  5:22 Benda XU
2017-12-10 11:58 Benda XU
2017-12-10 11:58 Benda XU
2017-11-29  9:45 Benda XU
2017-11-29  9:45 Benda XU
2017-11-27  0:42 Benda XU
2017-11-27  0:42 Benda XU
2017-11-13 14:38 Fabian Groffen
2017-11-13 12:36 Fabian Groffen
2017-11-09 14:07 Fabian Groffen
2017-10-24  6:37 Fabian Groffen
2017-09-25  7:43 Fabian Groffen
2017-09-22  9:36 Fabian Groffen
2017-09-14 11:51 Michael Haubenwallner
2017-09-10 14:20 Benda XU
2017-09-10  5:39 Benda XU
2017-08-31  6:54 Fabian Groffen
2017-08-24  6:27 Benda XU
2017-08-22  8:21 Benda XU
2016-10-27  8:37 Benda XU
2016-10-26 11:59 Benda XU
2016-10-11 11:42 Fabian Groffen
2016-10-11 10:06 Fabian Groffen
2016-09-28  6:35 Fabian Groffen
2016-08-22  9:28 Benda XU
2016-07-16 16:51 Fabian Groffen
2016-07-12  1:26 Benda XU
2016-07-08 11:17 Fabian Groffen
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-07-07  2:41 Benda XU
2016-06-15 10:12 Benda XU
2016-06-15  8:04 [gentoo-commits] repo/proj/prefix:rap0 " Benda XU
2016-06-15  7:31 ` [gentoo-commits] repo/proj/prefix:master " Benda XU
2016-06-15  8:04 [gentoo-commits] repo/proj/prefix:rap0 " Benda XU
2016-06-15  7:58 ` [gentoo-commits] repo/proj/prefix:master " Benda XU
2016-06-15  7:58 Benda XU
2016-06-15  7:45 Fabian Groffen
2016-06-14  7:07 Fabian Groffen
2016-06-10  3:29 [gentoo-commits] repo/proj/prefix:rap0 " Benda XU
2016-06-10  1:47 ` [gentoo-commits] repo/proj/prefix:master " Benda XU
2016-05-26 13:57 Benda XU
2016-05-26  4:20 Benda XU
2016-05-23 13:13 Michael Haubenwallner
2016-05-23 13:13 Michael Haubenwallner
2016-05-12 13:41 Michael Haubenwallner
2016-05-10 18:19 Fabian Groffen
2016-05-03  9:31 Fabian Groffen
2016-04-28 15:07 Michael Haubenwallner
2016-04-28  9:27 Michael Haubenwallner
2016-04-25  8:16 Fabian Groffen
2016-04-22 13:24 Fabian Groffen
2016-04-21 15:25 Fabian Groffen
2016-04-13 14:07 Michael Haubenwallner
2016-04-11 13:31 Michael Haubenwallner
2016-04-10  6:23 Fabian Groffen
2016-04-08  9:44 Fabian Groffen
2016-04-06 12:43 Fabian Groffen
2016-04-05 16:17 Fabian Groffen
2016-04-05 16:17 Fabian Groffen
2016-04-05 16:17 Fabian Groffen
2016-04-03 16:40 Fabian Groffen
2016-04-03 16:40 Fabian Groffen
2016-04-03 16:40 Fabian Groffen
2016-03-25 20:41 Fabian Groffen
2016-03-20 18:14 Fabian Groffen
2016-03-01 17:06 Fabian Groffen
2016-02-29 18:32 Fabian Groffen
2016-02-14 14:56 Fabian Groffen
2016-02-13  9:55 Fabian Groffen
2016-02-12 12:08 Fabian Groffen
2016-02-11  8:25 Fabian Groffen
2016-02-10  8:09 Fabian Groffen
2016-02-05  9:16 Fabian Groffen
2016-02-02 19:48 Fabian Groffen
2016-02-02 19:48 Fabian Groffen
2016-02-02 19:48 Fabian Groffen
2016-01-25 13:06 Fabian Groffen
2016-01-24 19:21 Fabian Groffen
2016-01-24 19:12 Fabian Groffen
2016-01-24 15:41 Fabian Groffen
2016-01-23 10:41 Fabian Groffen
2016-01-22 18:08 Fabian Groffen
2016-01-22 16:14 Fabian Groffen
2016-01-22  8:16 Fabian Groffen
2016-01-21 19:35 Fabian Groffen
2016-01-21 19:35 Fabian Groffen
2015-10-10 11:27 Fabian Groffen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1729260050.0e8cc099b8d696b2354e8705ce83bcf317ed9a7a.grobian@gentoo \
    --to=grobian@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox