From: "Maciej Barć" <xgqt@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/
Date: Fri, 15 Sep 2023 20:49:04 +0000 (UTC) [thread overview]
Message-ID: <1694810819.33953bf9dd7aef94ab2d5862cb003765d749566f.xgqt@gentoo> (raw)
commit: 33953bf9dd7aef94ab2d5862cb003765d749566f
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 15 14:46:52 2023 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Fri Sep 15 20:46:59 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=33953bf9
eclass/dotnet-pkg-base.eclass: add new dotnet-pkg-base eclass
common functions and variables for builds using .NET SDK
Bug: https://bugs.gentoo.org/900597
Bug: https://github.com/gentoo/gentoo/pull/32109
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
eclass/dotnet-pkg-base.eclass | 628 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 628 insertions(+)
diff --git a/eclass/dotnet-pkg-base.eclass b/eclass/dotnet-pkg-base.eclass
new file mode 100644
index 000000000000..c7f2e031daec
--- /dev/null
+++ b/eclass/dotnet-pkg-base.eclass
@@ -0,0 +1,628 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: dotnet-pkg-base.eclass
+# @MAINTAINER:
+# Gentoo Dotnet project <dotnet@gentoo.org>
+# @AUTHOR:
+# Anna Figueiredo Gomes <navi@vlhl.dev>
+# Maciej Barć <xgqt@gentoo.org>
+# @SUPPORTED_EAPIS: 8
+# @PROVIDES: nuget
+# @BLURB: common functions and variables for builds using .NET SDK
+# @DESCRIPTION:
+# This eclass is designed to provide required ebuild definitions for .NET
+# packages. Beware that in addition to Gentoo-specific concepts also terms that
+# should be known to people familiar with the .NET ecosystem are used through
+# this one and similar eclasses.
+#
+# In ebuilds for software that only utilizes the .NET SDK, without special
+# cases, the "dotnet-pkg.eclass" is probably better suited.
+#
+# This eclass does not export any phase functions, for that see
+# the "dotnet-pkg" eclass.
+
+case ${EAPI} in
+ 8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
+esac
+
+if [[ -z ${_DOTNET_PKG_BASE_ECLASS} ]] ; then
+_DOTNET_PKG_BASE_ECLASS=1
+
+inherit edo multiprocessing nuget
+
+# @ECLASS_VARIABLE: DOTNET_PKG_COMPAT
+# @REQUIRED
+# @PRE_INHERIT
+# @DESCRIPTION:
+# Allows to choose a slot for dotnet.
+#
+# Most .NET packages will lock onto one supported .NET major version.
+# DOTNET_PKG_COMPAT should specify which version was chosen by package upstream.
+# In case multiple .NET versions are specified in the project, then the highest
+# should be picked by the maintainer.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_RDEPS
+# @DESCRIPTION:
+# Populated with important dependencies on .NET ecosystem packages for running
+# .NET packages.
+#
+# "DOTNET_PKG_RDEPS" should appear (or conditionally appear) in "RDEPEND".
+DOTNET_PKG_RDEPS=""
+
+# @ECLASS_VARIABLE: DOTNET_PKG_BDEPS
+# @DESCRIPTION:
+# Populated with important dependencies on .NET ecosystem packages for building
+# .NET packages.
+#
+# "DOTNET_PKG_BDEPS" should appear (or conditionally appear) in "BDEPEND".
+DOTNET_PKG_BDEPS=""
+
+# Have this guard to be sure that *DEPS are not added to
+# the "dev-dotnet/dotnet-runtime-nugets" package dependencies.
+if [[ ${CATEGORY}/${PN} != dev-dotnet/dotnet-runtime-nugets ]] ; then
+ if [[ -z ${DOTNET_PKG_COMPAT} ]] ; then
+ die "${ECLASS}: DOTNET_PKG_COMPAT not set"
+ fi
+
+ DOTNET_PKG_RDEPS+=" virtual/dotnet-sdk:${DOTNET_PKG_COMPAT} "
+ DOTNET_PKG_BDEPS+=" ${DOTNET_PKG_RDEPS} "
+
+ # Special package "dev-dotnet/csharp-gentoodotnetinfo" used for information
+ # gathering, example for usage see the "dotnet-pkg-base_info" function.
+ if [[ ${CATEGORY}/${PN} != dev-dotnet/csharp-gentoodotnetinfo ]] ; then
+ DOTNET_PKG_BDEPS+=" dev-dotnet/csharp-gentoodotnetinfo "
+ fi
+
+ IUSE+=" debug "
+fi
+
+# Needed otherwise the binaries may break.
+RESTRICT+=" strip "
+
+# Everything is built by "dotnet".
+QA_PREBUILT=".*"
+
+# Special .NET SDK environment variables.
+# Setting them either prevents annoying information from being generated
+# or stops services that may interfere with a clean package build.
+export DOTNET_CLI_TELEMETRY_OPTOUT=1
+export DOTNET_NOLOGO=1
+export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+export MSBUILDDISABLENODEREUSE=1
+export POWERSHELL_TELEMETRY_OPTOUT=1
+export POWERSHELL_UPDATECHECK=0
+# Overwrite selected MSBuild properties ("-p:XYZ").
+export UseSharedCompilation=false
+
+# @ECLASS_VARIABLE: DOTNET_PKG_RUNTIME
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Sets the runtime used to build a package.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_EXECUTABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Sets path of a "dotnet" executable.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_CONFIGURATION
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Configuration value passed to "dotnet" in the compile phase.
+# Is either Debug or Release, depending on the "debug" USE flag.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @ECLASS_VARIABLE: DOTNET_PKG_OUTPUT
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Path of the output directory, where the package artifacts are placed during
+# the building of packages with "dotnet-pkg-base_build" function.
+#
+# This variable is set automatically by the "dotnet-pkg-base_setup" function.
+
+# @VARIABLE: _DOTNET_PKG_LAUNCHERDEST
+# @INTERNAL
+# @DESCRIPTION:
+# Sets the path that .NET launchers are installed into by
+# the "dotnet-pkg-base_dolauncher" function.
+#
+# The function "dotnet-pkg-base_launcherinto" is able to manipulate this
+# variable.
+#
+# Defaults to "/usr/bin".
+_DOTNET_PKG_LAUNCHERDEST=/usr/bin
+
+# @VARIABLE: _DOTNET_PKG_LAUNCHERVARS
+# @INTERNAL
+# @DESCRIPTION:
+# Sets additional variables for .NET launchers created by
+# the "dotnet-pkg-base_dolauncher" function.
+#
+# The function "dotnet-pkg-base_append_launchervar" is able to manipulate this
+# variable.
+#
+# Defaults to a empty array.
+_DOTNET_PKG_LAUNCHERVARS=()
+
+# @FUNCTION: dotnet-pkg-base_get-configuration
+# @DESCRIPTION:
+# Return .NET configuration type of the current package.
+#
+# It is advised to refer to the "DOTNET_PKG_CONFIGURATION" variable instead of
+# calling this function if necessary.
+#
+# Used by "dotnet-pkg-base_setup".
+dotnet-pkg-base_get-configuration() {
+ if in_iuse debug && use debug ; then
+ echo Debug
+ else
+ echo Release
+ fi
+}
+
+# @FUNCTION: dotnet-pkg-base_get-output
+# @USAGE: <name>
+# @DESCRIPTION:
+# Return a specially constructed name of a directory for output of
+# "dotnet build" artifacts ("--output" flag, see "dotnet-pkg-base_build").
+#
+# It is very rare that a maintainer would use this function in an ebuild.
+#
+# This function is used inside "dotnet-pkg-base_setup".
+dotnet-pkg-base_get-output() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ [[ -z ${DOTNET_PKG_CONFIGURATION} ]] &&
+ die "${FUNCNAME[0]}: DOTNET_PKG_CONFIGURATION is not set."
+
+ echo "${WORKDIR}/${1}_net${DOTNET_PKG_COMPAT}_${DOTNET_PKG_CONFIGURATION}"
+}
+
+# @FUNCTION: dotnet-pkg-base_get-runtime
+# @DESCRIPTION:
+# Return the .NET runtime used for the current package.
+#
+# Used by "dotnet-pkg-base_setup".
+dotnet-pkg-base_get-runtime() {
+ local libc
+ libc="$(usex elibc_musl "-musl" "")"
+
+ if use amd64 ; then
+ echo "linux${libc}-x64"
+ elif use x86 ; then
+ echo "linux${libc}-x86"
+ elif use arm ; then
+ echo "linux${libc}-arm"
+ elif use arm64 ; then
+ echo "linux${libc}-arm64"
+ else
+ die "${FUNCNAME[0]}: Unsupported architecture: ${ARCH}"
+ fi
+}
+
+# @FUNCTION: dotnet-pkg-base_setup
+# @DESCRIPTION:
+# Sets up "DOTNET_PKG_EXECUTABLE" variable for later use in "edotnet".
+# Also sets up "DOTNET_PKG_CONFIGURATION" and "DOTNET_PKG_OUTPUT"
+# for "dotnet-pkg_src_configure" and "dotnet-pkg_src_compile".
+#
+# This functions should be called by "pkg_setup".
+#
+# Used by "dotnet-pkg_pkg_setup" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_setup() {
+ local dotnet_compat_impl
+ local dotnet_compat_impl_path
+ for dotnet_compat_impl in dotnet{,-bin}-${DOTNET_PKG_COMPAT} ; do
+ dotnet_compat_impl_path="$(type -P "${dotnet_compat_impl}")"
+
+ if [[ -n ${dotnet_compat_impl_path} ]] ; then
+ DOTNET_PKG_EXECUTABLE=${dotnet_compat_impl}
+ DOTNET_PKG_EXECUTABLE_PATH="${dotnet_compat_impl_path}"
+
+ break
+ fi
+ done
+
+ # Link "DOTNET_PKG_EXECUTABLE" to "dotnet" only for the package build.
+ local dotnet_spoof_path="${T}"/dotnet_spoof/${DOTNET_PKG_COMPAT}
+ mkdir -p "${dotnet_spoof_path}" || die
+ ln -s "${DOTNET_PKG_EXECUTABLE_PATH}" "${dotnet_spoof_path}"/dotnet || die
+ export PATH="${dotnet_spoof_path}:${PATH}"
+
+ einfo "Using dotnet SDK \"${DOTNET_PKG_EXECUTABLE}\" from \"${DOTNET_PKG_EXECUTABLE_PATH}\"."
+
+ # The picked "DOTNET_PKG_EXECUTABLE" should set "DOTNET_ROOT" internally
+ # and not rely upon this environment variable.
+ unset DOTNET_ROOT
+
+ # Unset .NET and NuGet directories.
+ unset DOTNET_DATA
+ unset NUGET_DATA
+
+ DOTNET_PKG_RUNTIME="$(dotnet-pkg-base_get-runtime)"
+ DOTNET_PKG_CONFIGURATION="$(dotnet-pkg-base_get-configuration)"
+ DOTNET_PKG_OUTPUT="$(dotnet-pkg-base_get-output "${P}")"
+}
+
+# @FUNCTION: dotnet-pkg-base_remove-global-json
+# @USAGE: [directory]
+# @DESCRIPTION:
+# Remove the "global.json" if it exists.
+# The file in question might lock target package to a specified .NET
+# version, which might be unnecessary (as it is in most cases).
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Used by "dotnet-pkg_src_prepare" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_remove-global-json() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local file="${1:-.}"/global.json
+
+ if [[ -f "${file}" ]] ; then
+ ebegin "Removing the global.json file"
+ rm "${file}"
+ eend ${?} || die "${FUNCNAME[0]}: failed to remove ${file}"
+ fi
+}
+
+# @FUNCTION: edotnet
+# @USAGE: <command> [args...]
+# @DESCRIPTION:
+# Call dotnet, passing the supplied arguments.
+edotnet() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ if [[ -z ${DOTNET_PKG_EXECUTABLE} ]] ; then
+ die "${FUNCNAME[0]}: DOTNET_PKG_EXECUTABLE not set. Was dotnet-pkg-base_setup called?"
+ fi
+
+ edo "${DOTNET_PKG_EXECUTABLE}" "${@}"
+}
+
+# @FUNCTION: dotnet-pkg-base_info
+# @DESCRIPTION:
+# Show information about current .NET SDK that is being used.
+#
+# Depends upon the "gentoo-dotnet-info" program installed by
+# the "dev-dotnet/csharp-gentoodotnetinfo" package.
+#
+# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_info() {
+ if [[ ${CATEGORY}/${PN} == dev-dotnet/csharp-gentoodotnetinfo ]] ; then
+ debug-print-function "${FUNCNAME[0]}: ${P} is a special package, skipping dotnet-pkg-base_info"
+ elif command -v gentoo-dotnet-info >/dev/null ; then
+ gentoo-dotnet-info || die "${FUNCNAME[0]}: failed to execute gentoo-dotnet-info"
+ else
+ ewarn "${FUNCNAME[0]}: gentoo-dotnet-info not available"
+ fi
+}
+
+# @FUNCTION: dotnet-pkg-base_foreach-solution
+# @USAGE: <function> [directory]
+# @DESCRIPTION:
+# Execute a function for each solution file (.sln) in a specified directory.
+# This function may yield no real results because solutions are discovered
+# automatically.
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_foreach-solution() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local dotnet_solution
+ local dotnet_solution_name
+ while read -r dotnet_solution ; do
+ dotnet_solution_name="$(basename "${dotnet_solution}")"
+
+ ebegin "Running \"${1}\" for solution: \"${dotnet_solution_name}\""
+ "${1}" "${dotnet_solution}"
+ eend $? "${FUNCNAME[0]}: failed for solution: \"${dotnet_solution}\"" || die
+ done < <(find "${2:-.}" -maxdepth 1 -type f -name "*.sln")
+}
+
+# @FUNCTION: dotnet-pkg-base_restore
+# @USAGE: [directory] [args] ...
+# @DESCRIPTION:
+# Restore the package using "dotnet restore" in a specified directory.
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Additionally any number of "args" maybe be given, they are appended to
+# the "dotnet" command invocation.
+#
+# Used by "dotnet-pkg_src_configure" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_restore() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local directory
+ if [[ "${1}" ]] ; then
+ directory="${1}"
+ shift
+ else
+ directory="$(pwd)"
+ fi
+
+ local -a restore_args=(
+ --runtime "${DOTNET_PKG_RUNTIME}"
+ --source "${NUGET_PACKAGES}"
+ -maxCpuCount:$(makeopts_jobs)
+ "${@}"
+ )
+
+ edotnet restore "${restore_args[@]}" "${directory}"
+}
+
+# @FUNCTION: dotnet-pkg-base_restore_tools
+# @USAGE: [config-file] [args] ...
+# @DESCRIPTION:
+# Restore dotnet tools for a project in the current directory.
+#
+# Optional "config-file" argument is used to specify a file for the
+# "--configfile" option which records what tools should be restored.
+#
+# Additionally any number of "args" maybe be given, they are appended to
+# the "dotnet" command invocation.
+dotnet-pkg-base_restore_tools() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local -a tool_restore_args=(
+ --add-source "${NUGET_PACKAGES}"
+ )
+
+ if [[ "${1}" ]] ; then
+ tool_restore_args+=( --configfile "${1}" )
+ shift
+ fi
+
+ tool_restore_args+=( "${@}" )
+
+ edotnet tool restore "${tool_restore_args[@]}"
+}
+
+# @FUNCTION: dotnet-pkg-base_build
+# @USAGE: [directory] [args] ...
+# @DESCRIPTION:
+# Build the package using "dotnet build" in a specified directory.
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Additionally any number of "args" maybe be given, they are appended to
+# the "dotnet" command invocation.
+#
+# Used by "dotnet-pkg_src_compile" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_build() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local directory
+ if [[ "${1}" ]] ; then
+ directory="${1}"
+ shift
+ else
+ directory="$(pwd)"
+ fi
+
+ local -a build_args=(
+ --configuration "${DOTNET_PKG_CONFIGURATION}"
+ --no-restore
+ --no-self-contained
+ --output "${DOTNET_PKG_OUTPUT}"
+ --runtime "${DOTNET_PKG_RUNTIME}"
+ -maxCpuCount:$(makeopts_jobs)
+ "${@}"
+ )
+
+ if ! use debug ; then
+ build_args+=(
+ -p:StripSymbols=true
+ -p:NativeDebugSymbols=false
+ )
+ fi
+
+ edotnet build "${build_args[@]}" "${directory}"
+}
+
+# @FUNCTION: dotnet-pkg-base_test
+# @USAGE: [directory] [args] ...
+# @DESCRIPTION:
+# Test the package using "dotnet test" in a specified directory.
+#
+# Optional "directory" argument defaults to the current directory path.
+#
+# Additionally any number of "args" maybe be given, they are appended to
+# the "dotnet" command invocation.
+#
+# Used by "dotnet-pkg_src_test" from the "dotnet-pkg" eclass.
+dotnet-pkg-base_test() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local directory
+ if [[ "${1}" ]] ; then
+ directory="${1}"
+ shift
+ else
+ directory="$(pwd)"
+ fi
+
+ local -a test_args=(
+ --configuration "${DOTNET_PKG_CONFIGURATION}"
+ --no-restore
+ -maxCpuCount:$(makeopts_jobs)
+ "${@}"
+ )
+
+ edotnet test "${test_args[@]}" "${directory}"
+}
+
+# @FUNCTION: dotnet-pkg-base_install
+# @USAGE: [directory]
+# @DESCRIPTION:
+# Install the contents of "DOTNET_PKG_OUTPUT" into a directory, defaults to
+# "/usr/share/${P}".
+#
+# Installation directory is relative to "ED".
+dotnet-pkg-base_install() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local installation_directory="${1:-/usr/share/${P}}"
+
+ dodir "${installation_directory}"
+ cp -r "${DOTNET_PKG_OUTPUT}"/* "${ED}/${installation_directory}/" || die
+}
+
+# @FUNCTION: dotnet-pkg-base_launcherinto
+# @USAGE: <directory>
+# @DESCRIPTION:
+# Changes the path .NET launchers are installed into via subsequent
+# "dotnet-pkg-base_dolauncher" calls.
+#
+# For more info see the "_DOTNET_PKG_LAUNCHERDEST" variable.
+dotnet-pkg-base_launcherinto() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ [[ -z ${1} ]] && die "${FUNCNAME[0]}: no directory specified"
+
+ _DOTNET_PKG_LAUNCHERDEST="${1}"
+}
+
+# @FUNCTION: dotnet-pkg-base_append_launchervar
+# @USAGE: <variable-setting>
+# @DESCRIPTION:
+# Appends a given variable setting to the "_DOTNET_PKG_LAUNCHERVARS".
+#
+# WARNING: This functions modifies a global variable permanently!
+# This means that all launchers created in subsequent
+# "dotnet-pkg-base_dolauncher" calls of a given package will have
+# the given variable set.
+#
+# Example:
+# @CODE
+# dotnet-pkg-base_append_launchervar "DOTNET_EnableAlternateStackCheck=1"
+# @CODE
+#
+# For more info see the "_DOTNET_PKG_LAUNCHERVARS" variable.
+dotnet-pkg-base_append_launchervar() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ [[ -z ${1} ]] && die "${FUNCNAME[0]}: no variable setting specified"
+
+ _DOTNET_PKG_LAUNCHERVARS+=( "${1}" )
+}
+
+# @FUNCTION: dotnet-pkg-base_dolauncher
+# @USAGE: <executable-path> [filename]
+# @DESCRIPTION:
+# Make a wrapper script to launch an executable built from a .NET package.
+#
+# If no file name is given, the `basename` of the executable is used.
+#
+# Parameters:
+# ${1} - path of the executable to launch,
+# ${2} - filename of launcher to create (optional).
+#
+# Example:
+# @CODE
+# dotnet-pkg-base_install
+# dotnet-pkg-base_dolauncher /usr/share/${P}/${PN^}
+# @CODE
+#
+# The path is prepended by "EPREFIX".
+dotnet-pkg-base_dolauncher() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local executable_path executable_name
+
+ if [[ "${1}" ]] ; then
+ local executable_path="${1}"
+ shift
+ else
+ die "${FUNCNAME[0]}: No executable path given."
+ fi
+
+ if [[ ${#} -eq 0 ]] ; then
+ executable_name="$(basename "${executable_path}")"
+ else
+ executable_name="${1}"
+ shift
+ fi
+
+ local executable_target="${T}/${executable_name}"
+
+ cat <<-EOF > "${executable_target}" || die
+ #!/bin/sh
+
+ # Launcher script for ${executable_path} (${executable_name}),
+ # created from package "${CATEGORY}/${P}",
+ # compatible with dotnet version ${DOTNET_PKG_COMPAT}.
+
+ for __dotnet_root in \\
+ ${EPREFIX}/usr/$(get_libdir)/dotnet-sdk-${DOTNET_PKG_COMPAT} \\
+ ${EPREFIX}/opt/dotnet-sdk-bin-${DOTNET_PKG_COMPAT} ; do
+ [ -d \${__dotnet_root} ] && break
+ done
+
+ DOTNET_ROOT="\${__dotnet_root}"
+ export DOTNET_ROOT
+
+ $(for var in "${_DOTNET_PKG_LAUNCHERVARS[@]}" ; do
+ echo "${var}"
+ echo "export ${var%%=*}"
+ done)
+
+ exec "${EPREFIX}${executable_path}" "\${@}"
+ EOF
+
+ exeinto "${_DOTNET_PKG_LAUNCHERDEST}"
+ doexe "${executable_target}"
+}
+
+# @FUNCTION: dotnet-pkg-base_dolauncher_portable
+# @USAGE: <dll-path> <filename>
+# @DESCRIPTION:
+# Make a wrapper script to launch a .NET DLL file built from a .NET package.
+#
+# Parameters:
+# ${1} - path of the DLL to launch,
+# ${2} - filename of launcher to create.
+#
+# Example:
+# @CODE
+# dotnet-pkg-base_dolauncher_portable \
+# /usr/share/${P}/GentooDotnetInfo.dll gentoo-dotnet-info
+# @CODE
+#
+# The path is prepended by "EPREFIX".
+dotnet-pkg-base_dolauncher_portable() {
+ debug-print-function "${FUNCNAME[0]}" "${@}"
+
+ local dll_path="${1}"
+ local executable_name="${2}"
+ local executable_target="${T}/${executable_name}"
+
+ cat <<-EOF > "${executable_target}" || die
+ #!/bin/sh
+
+ # Launcher script for ${dll_path} (${executable_name}),
+ # created from package "${CATEGORY}/${P}",
+ # compatible with any dotnet version, built on ${DOTNET_PKG_COMPAT}.
+
+ $(for var in "${_DOTNET_PKG_LAUNCHERVARS[@]}" ; do
+ echo "${var}"
+ echo "export ${var%%=*}"
+ done)
+
+ exec dotnet exec "${EPREFIX}${dll_path}" "\${@}"
+ EOF
+
+ exeinto "${_DOTNET_PKG_LAUNCHERDEST}"
+ doexe "${executable_target}"
+}
+
+fi
next reply other threads:[~2023-09-15 20:49 UTC|newest]
Thread overview: 6115+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-15 20:49 Maciej Barć [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-07 5:28 [gentoo-commits] repo/gentoo:master commit in: eclass/ Michał Górny
2024-11-07 5:28 Michał Górny
2024-11-06 11:27 Sam James
2024-11-05 10:47 Florian Schmaus
2024-11-05 10:47 Florian Schmaus
2024-11-03 9:35 Sam James
2024-11-01 9:03 Michał Górny
2024-10-30 20:50 Sam James
2024-10-30 11:43 Miroslav Šulc
2024-10-30 2:27 Sam James
2024-10-29 23:22 Maciej Barć
2024-10-29 23:22 Maciej Barć
2024-10-29 13:01 Michał Górny
2024-10-23 12:18 Michał Górny
2024-10-21 9:32 Sam James
2024-10-19 13:47 Ionen Wolkens
2024-10-18 17:54 Ulrich Müller
2024-10-18 17:54 Ulrich Müller
2024-10-18 17:54 Ulrich Müller
2024-10-16 16:13 Andreas Sturmlechner
2024-10-16 4:54 Michał Górny
2024-10-16 4:54 Michał Górny
2024-10-16 4:54 Michał Górny
2024-10-15 13:13 Michał Górny
2024-10-15 7:17 Michał Górny
2024-10-10 14:47 Andrew Ammerlaan
2024-10-09 11:45 Michał Górny
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:32 David Seifert
2024-10-08 15:29 Ulrich Müller
2024-10-08 15:29 Ulrich Müller
2024-10-08 7:09 Florian Schmaus
2024-10-07 4:13 Sam James
2024-10-07 4:13 Sam James
2024-10-07 4:13 Sam James
2024-10-07 4:13 Sam James
2024-10-07 2:40 Sam James
2024-10-04 11:49 Sam James
2024-10-03 4:02 Sam James
2024-10-03 3:43 Sam James
2024-10-02 9:01 Miroslav Šulc
2024-10-02 9:01 Miroslav Šulc
2024-10-02 9:01 Miroslav Šulc
2024-10-02 9:01 Miroslav Šulc
2024-10-02 0:57 Sam James
2024-10-01 23:13 Eli Schwartz
2024-10-01 23:13 Eli Schwartz
2024-10-01 20:40 James Le Cuirot
2024-10-01 19:38 Eli Schwartz
2024-10-01 10:18 Sam James
2024-10-01 7:47 Sam James
2024-10-01 6:59 Sam James
2024-10-01 2:16 Sam James
2024-10-01 2:14 Sam James
2024-10-01 2:06 Sam James
2024-10-01 1:58 Sam James
2024-10-01 1:58 Sam James
2024-10-01 1:46 Sam James
2024-10-01 1:11 Sam James
2024-09-30 5:57 Sam James
2024-09-30 3:03 Sam James
2024-09-30 3:02 Sam James
2024-09-30 2:20 Sam James
2024-09-30 2:15 Sam James
2024-09-30 2:15 Sam James
2024-09-30 2:02 Sam James
2024-09-30 2:02 Sam James
2024-09-30 2:02 Sam James
2024-09-30 1:52 Sam James
2024-09-30 1:52 Sam James
2024-09-30 1:52 Sam James
2024-09-30 1:52 Sam James
2024-09-29 11:28 Sam James
2024-09-29 11:22 Sam James
2024-09-29 11:22 Sam James
2024-09-29 11:22 Sam James
2024-09-29 1:13 Sam James
2024-09-29 1:13 Sam James
2024-09-29 1:07 Sam James
2024-09-29 1:07 Sam James
2024-09-29 0:18 Sam James
2024-09-29 0:18 Sam James
2024-09-29 0:18 Sam James
2024-09-25 19:29 Eli Schwartz
2024-09-25 11:12 Sam James
2024-09-25 11:12 Sam James
2024-09-25 11:12 Sam James
2024-09-25 4:51 Ulrich Müller
2024-09-25 4:39 Michał Górny
2024-09-24 18:02 Michał Górny
2024-09-24 18:02 Michał Górny
2024-09-24 11:52 Sam James
2024-09-24 6:41 Michał Górny
2024-09-23 15:11 Michał Górny
2024-09-23 12:06 Ulrich Müller
2024-09-19 22:57 Sam James
2024-09-18 15:51 Sam James
2024-09-17 12:13 Michał Górny
2024-09-17 11:58 Andrew Ammerlaan
2024-09-12 22:08 Sam James
2024-09-11 22:21 Sam James
2024-09-10 19:11 Miroslav Šulc
2024-09-10 12:58 Michał Górny
2024-09-10 8:54 Michał Górny
2024-09-10 6:46 Miroslav Šulc
2024-09-09 18:20 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-08 18:21 Sam James
2024-09-07 18:23 Sam James
2024-09-07 18:21 Sam James
2024-09-05 12:10 Sam James
2024-09-04 20:33 Michał Górny
2024-09-03 9:40 Sam James
2024-09-03 8:58 Sam James
2024-09-03 4:22 Ionen Wolkens
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 11:05 Sam James
2024-09-01 9:59 Miroslav Šulc
2024-09-01 9:59 Miroslav Šulc
2024-09-01 9:59 Miroslav Šulc
2024-09-01 9:59 Miroslav Šulc
2024-08-31 8:33 Michał Górny
2024-08-30 19:43 Andrew Ammerlaan
2024-08-30 19:10 Andrew Ammerlaan
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 13:04 Ulrich Müller
2024-08-26 6:34 Andreas Sturmlechner
2024-08-25 15:37 Andrew Ammerlaan
2024-08-25 0:49 Jason Zaman
2024-08-23 19:25 Michał Górny
2024-08-23 19:25 Michał Górny
2024-08-22 17:00 Andreas Sturmlechner
2024-08-22 11:23 Michał Górny
2024-08-21 21:51 Andreas Sturmlechner
2024-08-20 20:17 Mike Gilbert
2024-08-20 20:07 Mike Gilbert
2024-08-19 18:17 Robin H. Johnson
2024-08-19 6:02 Viorel Munteanu
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-18 17:44 Arsen Arsenović
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 17:21 Sam James
2024-08-16 10:15 Arthur Zamarin
2024-08-16 5:55 Arthur Zamarin
2024-08-15 21:24 Sam James
2024-08-15 21:18 Sam James
2024-08-15 20:01 Michał Górny
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-15 17:48 Andreas Sturmlechner
2024-08-12 19:02 Ulrich Müller
2024-08-12 19:02 Ulrich Müller
2024-08-12 1:19 Sam James
2024-08-12 1:19 Sam James
2024-08-12 1:19 Sam James
2024-08-12 1:19 Sam James
2024-08-11 20:56 Sam James
2024-08-10 17:24 Sam James
2024-08-10 14:06 Fabian Groffen
2024-08-09 15:50 Andrew Ammerlaan
2024-08-09 14:30 Sam James
2024-08-09 11:50 Sam James
2024-08-09 11:39 Sam James
2024-08-08 19:26 Michał Górny
2024-08-08 16:46 Andrew Ammerlaan
2024-08-08 14:38 James Le Cuirot
2024-08-08 10:49 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:30 Sam James
2024-08-08 10:05 Sam James
2024-08-08 9:00 James Le Cuirot
2024-08-07 15:13 Sam James
2024-08-07 9:41 Sam James
2024-08-07 9:25 Sam James
2024-08-07 9:21 Sam James
2024-08-07 8:58 Andrew Ammerlaan
2024-08-07 8:58 Andrew Ammerlaan
2024-08-07 3:03 Sam James
2024-08-06 16:39 Florian Schmaus
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 8:47 Michał Górny
2024-08-06 1:46 Sam James
2024-08-04 8:28 Sam James
2024-08-04 7:30 Andrew Ammerlaan
2024-08-04 7:27 Sam James
2024-08-01 20:20 Michał Górny
2024-08-01 7:32 Miroslav Šulc
2024-07-31 0:02 Sam James
2024-07-28 17:40 Florian Schmaus
2024-07-27 22:00 Andrew Ammerlaan
2024-07-27 7:27 Michał Górny
2024-07-26 17:18 Ulrich Müller
2024-07-26 9:00 Miroslav Šulc
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 17:18 Andrew Ammerlaan
2024-07-24 8:58 Florian Schmaus
2024-07-24 8:58 Florian Schmaus
2024-07-23 14:13 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 14:07 Michał Górny
2024-07-23 10:03 Miroslav Šulc
2024-07-22 15:09 Michał Górny
2024-07-22 15:09 Michał Górny
2024-07-22 15:09 Michał Górny
2024-07-21 15:45 Andrew Ammerlaan
2024-07-21 15:14 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-21 13:31 Andrew Ammerlaan
2024-07-20 12:09 Ulrich Müller
2024-07-18 16:15 Michał Górny
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-16 9:16 James Le Cuirot
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 19:18 Andrew Ammerlaan
2024-07-15 7:17 David Seifert
2024-07-15 7:17 David Seifert
2024-07-15 7:17 David Seifert
2024-07-14 17:45 Florian Schmaus
2024-07-14 17:45 Florian Schmaus
2024-07-13 14:14 Michał Górny
2024-07-13 7:46 Michał Górny
2024-07-12 17:43 Ulrich Müller
2024-07-12 7:38 Sam James
2024-07-12 6:27 Sam James
2024-07-11 20:54 Ulrich Müller
2024-07-11 20:54 Ulrich Müller
2024-07-11 14:35 Michał Górny
2024-07-09 16:44 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-08 10:03 Ulrich Müller
2024-07-07 6:45 Matthew Smith
2024-07-06 11:19 Michał Górny
2024-07-05 20:50 Luca Barbato
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-05 11:03 Arthur Zamarin
2024-07-03 5:30 Joonas Niilola
2024-07-03 0:59 Sam James
2024-07-03 0:54 Sam James
2024-07-02 17:49 Sam James
2024-06-30 18:27 Sam James
2024-06-29 8:39 Andrew Ammerlaan
2024-06-29 8:39 Andrew Ammerlaan
2024-06-29 8:39 Andrew Ammerlaan
2024-06-28 8:23 Miroslav Šulc
2024-06-27 7:33 Andrew Ammerlaan
2024-06-26 6:24 Florian Schmaus
2024-06-24 11:58 Ulrich Müller
2024-06-23 17:33 Michał Górny
2024-06-23 1:00 Ionen Wolkens
2024-06-20 9:57 Sam James
2024-06-20 7:29 Florian Schmaus
2024-06-20 7:29 Florian Schmaus
2024-06-19 3:16 Andreas K. Hüttel
2024-06-17 17:13 Andreas Sturmlechner
2024-06-17 9:39 James Le Cuirot
2024-06-17 0:53 Sam James
2024-06-15 11:01 Michał Górny
2024-06-15 7:58 Sam James
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:26 Michał Górny
2024-06-14 12:19 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-14 10:00 Miroslav Šulc
2024-06-13 20:43 Andreas Sturmlechner
2024-06-13 18:35 Ulrich Müller
2024-06-13 18:35 Ulrich Müller
2024-06-13 13:21 Miroslav Šulc
2024-06-12 17:13 James Le Cuirot
2024-06-12 16:36 Patrick Lauer
2024-06-12 14:27 Patrick Lauer
2024-06-12 13:20 James Le Cuirot
2024-06-12 13:20 James Le Cuirot
2024-06-12 10:24 Arthur Zamarin
2024-06-10 14:23 Ulrich Müller
2024-06-10 14:23 Ulrich Müller
2024-06-10 12:46 Joonas Niilola
2024-06-08 15:47 Michał Górny
2024-06-08 10:29 Michał Górny
2024-06-08 3:53 Ulrich Müller
2024-06-08 3:53 Ulrich Müller
2024-06-06 20:37 Mike Gilbert
2024-06-02 8:22 Ionen Wolkens
2024-06-01 21:34 Alfredo Tupone
2024-06-01 21:11 Alfredo Tupone
2024-06-01 6:19 Hans de Graaff
2024-06-01 6:19 Hans de Graaff
2024-06-01 6:19 Hans de Graaff
2024-05-31 12:42 Michał Górny
2024-05-26 8:18 Miroslav Šulc
2024-05-25 8:35 Michał Górny
2024-05-25 5:55 Sam James
2024-05-22 1:44 Sam James
2024-05-21 8:58 Florian Schmaus
2024-05-21 8:58 Florian Schmaus
2024-05-21 8:58 Florian Schmaus
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-20 17:02 Michał Górny
2024-05-18 13:25 Michał Górny
2024-05-18 3:50 Benda XU
2024-05-17 23:05 Ionen Wolkens
2024-05-17 23:05 Ionen Wolkens
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 12:07 Andrew Ammerlaan
2024-05-17 6:25 Michał Górny
2024-05-15 18:02 Michał Górny
2024-05-15 14:20 Michał Górny
2024-05-14 9:19 Florian Schmaus
2024-05-14 8:20 Florian Schmaus
2024-05-13 21:53 Sam James
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 13:22 Michael Orlitzky
2024-05-13 8:35 Florian Schmaus
2024-05-13 7:07 Miroslav Šulc
2024-05-12 4:51 Sam James
2024-05-11 13:39 Michał Górny
2024-05-11 6:44 Joonas Niilola
2024-05-11 6:21 Hans de Graaff
2024-05-11 1:58 Sam James
2024-05-11 0:55 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-10 17:28 Sam James
2024-05-09 19:54 Conrad Kostecki
2024-05-09 19:54 Conrad Kostecki
2024-05-08 8:06 Ulrich Müller
2024-05-07 7:57 Andreas K. Hüttel
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:28 Ulrich Müller
2024-05-06 17:11 Ionen Wolkens
2024-05-06 4:39 Sam James
2024-05-04 19:57 Michał Górny
2024-05-04 19:57 Michał Górny
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03 11:43 Sam James
2024-05-03 2:48 Sam James
2024-05-03 2:48 Sam James
2024-05-02 17:44 Florian Schmaus
2024-05-02 0:24 Sam James
2024-05-01 3:02 Sam James
2024-05-01 0:27 Sam James
2024-05-01 0:27 Sam James
2024-04-30 19:25 Alfredo Tupone
2024-04-30 19:19 Alfredo Tupone
2024-04-30 18:34 Michał Górny
2024-04-30 18:34 Michał Górny
2024-04-30 5:58 Sam James
2024-04-29 17:31 Florian Schmaus
2024-04-28 15:54 Michał Górny
2024-04-28 9:47 Hans de Graaff
2024-04-27 10:42 Michał Górny
2024-04-25 20:43 Andreas Sturmlechner
2024-04-25 20:43 Andreas Sturmlechner
2024-04-23 21:43 Sam James
2024-04-22 3:14 Sam James
2024-04-20 14:20 Ionen Wolkens
2024-04-20 14:20 Ionen Wolkens
2024-04-20 9:41 Michał Górny
2024-04-20 5:40 Michał Górny
2024-04-19 23:11 Mike Gilbert
2024-04-19 18:46 Michał Górny
2024-04-19 18:46 Michał Górny
2024-04-17 23:34 Sam James
2024-04-16 1:40 Sam James
2024-04-16 1:40 Sam James
2024-04-16 1:40 Sam James
2024-04-13 20:03 Miroslav Šulc
2024-04-13 18:41 Sam James
2024-04-13 18:32 Ulrich Müller
2024-04-11 7:48 Miroslav Šulc
2024-04-10 17:56 Ulrich Müller
2024-04-10 11:10 Michał Górny
2024-04-10 8:11 Miroslav Šulc
2024-04-09 20:17 Ulrich Müller
2024-04-08 7:15 Miroslav Šulc
2024-04-06 13:44 Michał Górny
2024-04-06 9:13 Michał Górny
2024-04-05 16:06 Florian Schmaus
2024-04-05 9:45 Hans de Graaff
2024-04-04 17:33 Ulrich Müller
2024-04-04 17:33 Ulrich Müller
2024-04-04 8:18 Florian Schmaus
2024-04-04 1:07 Sam James
2024-04-04 1:07 Sam James
2024-04-03 17:38 Florian Schmaus
2024-04-03 17:38 Florian Schmaus
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-04-01 9:40 Michał Górny
2024-03-30 10:27 Michał Górny
2024-03-29 18:47 Sam James
2024-03-24 17:47 Sam James
2024-03-24 14:05 Sam James
2024-03-24 9:32 Sam James
2024-03-24 9:09 Sam James
2024-03-23 20:19 Sam James
2024-03-23 19:01 Sam James
2024-03-23 17:04 Sam James
2024-03-23 17:03 Michał Górny
2024-03-23 16:05 Sam James
2024-03-23 15:43 Sam James
2024-03-23 15:43 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 15:42 Sam James
2024-03-23 14:52 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:49 Sam James
2024-03-23 14:35 Arthur Zamarin
2024-03-23 10:25 Michał Górny
2024-03-23 8:28 Arthur Zamarin
2024-03-23 8:28 Arthur Zamarin
2024-03-19 14:12 Florian Schmaus
2024-03-18 13:02 Sam James
2024-03-17 9:18 Andreas K. Hüttel
2024-03-16 16:25 Michał Górny
2024-03-16 4:44 Sam James
2024-03-16 4:44 Sam James
2024-03-15 20:45 Sam James
2024-03-12 5:13 Michał Górny
2024-03-12 0:38 Mike Gilbert
2024-03-12 0:34 Mike Gilbert
2024-03-11 23:05 Andreas K. Hüttel
2024-03-11 19:20 Sam James
2024-03-10 21:10 Miroslav Šulc
2024-03-10 21:10 Miroslav Šulc
2024-03-09 15:52 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-08 5:40 Michał Górny
2024-03-07 18:04 Sam James
2024-03-06 17:03 Michał Górny
2024-03-02 13:24 Michał Górny
2024-03-01 20:50 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-03-01 19:25 Sam James
2024-02-28 20:40 Michał Górny
2024-02-28 13:56 Andreas Sturmlechner
2024-02-28 13:56 Andreas Sturmlechner
2024-02-27 23:54 Sam James
2024-02-27 23:54 Sam James
2024-02-24 14:54 Michał Górny
2024-02-24 12:57 Jakov Smolić
2024-02-23 7:46 Sam James
2024-02-22 4:23 Michał Górny
2024-02-19 5:08 Sam James
2024-02-19 5:06 Sam James
2024-02-18 20:22 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-18 13:23 Michał Górny
2024-02-12 16:25 Sam James
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-11 12:11 Andrew Ammerlaan
2024-02-10 17:27 Michał Górny
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-10 16:24 Maciej Barć
2024-02-07 15:10 Andreas Sturmlechner
2024-02-06 3:07 Michał Górny
2024-02-06 3:07 Michał Górny
2024-02-05 0:20 Sam James
2024-02-03 14:07 Sam James
2024-02-02 6:28 Andrew Ammerlaan
2024-02-01 23:52 Sam James
2024-02-01 23:52 Sam James
2024-02-01 19:22 Sam James
2024-01-31 13:59 Michał Górny
2024-01-30 21:21 Michał Górny
2024-01-30 11:28 Florian Schmaus
2024-01-30 11:09 Andrew Ammerlaan
2024-01-27 20:33 Michał Górny
2024-01-27 17:18 Sam James
2024-01-24 15:57 Michael Orlitzky
2024-01-24 14:35 Andrew Ammerlaan
2024-01-24 11:44 Michał Górny
2024-01-23 6:00 Sam James
2024-01-23 6:00 Sam James
2024-01-23 5:32 Sam James
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-22 11:29 Michael Orlitzky
2024-01-20 21:22 Conrad Kostecki
2024-01-20 10:09 Florian Schmaus
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19 12:44 Miroslav Šulc
2024-01-19 9:51 罗百科
2024-01-17 7:41 Michał Górny
2024-01-16 9:02 Andrew Ammerlaan
2024-01-13 17:49 Michał Górny
2024-01-13 17:49 Michał Górny
2024-01-12 11:46 Sam James
2024-01-12 11:46 Sam James
2024-01-12 11:36 Andrew Ammerlaan
2024-01-12 11:08 Sam James
2024-01-11 17:50 William Hubbs
2024-01-11 9:48 Miroslav Šulc
2024-01-11 9:48 Miroslav Šulc
2024-01-11 9:48 Miroslav Šulc
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-10 11:01 Andreas Sturmlechner
2024-01-09 6:41 Michał Górny
2024-01-08 23:53 Sam James
2024-01-08 21:09 Ionen Wolkens
2024-01-08 14:48 Michał Górny
2024-01-08 14:48 Michał Górny
2024-01-08 12:29 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:28 Sam James
2024-01-08 12:03 Sam James
2024-01-08 12:03 Sam James
2024-01-08 12:03 Sam James
2024-01-08 9:48 Sam James
2024-01-08 9:48 Sam James
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 17:29 Andrew Ammerlaan
2024-01-07 11:38 Michał Górny
2024-01-06 21:52 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 20:19 Michał Górny
2024-01-05 10:54 Michał Górny
2024-01-03 10:44 Sam James
2024-01-03 9:35 Ionen Wolkens
2024-01-03 6:20 Sam James
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 16:20 Michał Górny
2023-12-30 15:34 Ulrich Müller
2023-12-30 15:34 Ulrich Müller
2023-12-28 15:06 Michał Górny
2023-12-28 6:29 Ionen Wolkens
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-27 20:57 Sam James
2023-12-26 14:02 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 15:47 Michał Górny
2023-12-25 9:02 Hans de Graaff
2023-12-24 12:35 Andrew Ammerlaan
2023-12-24 11:46 Andrew Ammerlaan
2023-12-23 18:12 Sam James
2023-12-23 17:35 Michał Górny
2023-12-22 16:44 Michał Górny
2023-12-21 16:41 Andreas Sturmlechner
2023-12-21 16:41 Andreas Sturmlechner
2023-12-20 13:41 Sam James
2023-12-19 20:33 Ionen Wolkens
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-18 17:21 WANG Xuerui
2023-12-17 11:23 Michał Górny
2023-12-15 17:51 Michał Górny
2023-12-15 6:52 Sam James
2023-12-14 15:02 Benda XU
2023-12-14 5:35 Sam James
2023-12-14 5:25 Sam James
2023-12-14 5:22 Sam James
2023-12-14 5:22 Sam James
2023-12-14 5:22 Sam James
2023-12-14 5:22 Sam James
2023-12-12 13:04 Andreas Sturmlechner
2023-12-11 12:41 Andrew Ammerlaan
2023-12-11 12:41 Andrew Ammerlaan
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-11 7:31 Ulrich Müller
2023-12-09 18:16 Michał Górny
2023-12-09 10:32 Michał Górny
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-09 10:01 Ulrich Müller
2023-12-08 17:03 Ulrich Müller
2023-12-08 17:03 Ulrich Müller
2023-12-07 13:01 Sam James
2023-12-05 10:27 Andrew Ammerlaan
2023-12-04 7:32 Sam James
2023-11-29 15:15 Michał Górny
2023-11-27 11:13 Sam James
2023-11-26 18:51 Andrew Ammerlaan
2023-11-26 18:34 Sam James
2023-11-26 8:06 Andrew Ammerlaan
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 23:34 Andreas Sturmlechner
2023-11-25 11:21 Michał Górny
2023-11-24 18:35 Sam James
2023-11-24 18:35 Sam James
2023-11-24 17:17 Sam James
2023-11-24 16:26 Sam James
2023-11-24 16:26 Sam James
2023-11-23 15:02 Michał Górny
2023-11-22 0:00 Sam James
2023-11-22 0:00 Sam James
2023-11-22 0:00 Sam James
2023-11-21 20:51 Sam James
2023-11-21 20:43 Sam James
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-20 23:27 James Le Cuirot
2023-11-19 16:01 Michał Górny
2023-11-19 16:01 Michał Górny
2023-11-19 16:01 Michał Górny
2023-11-19 11:10 Michał Górny
2023-11-18 9:19 Andrew Ammerlaan
2023-11-18 9:19 Andrew Ammerlaan
2023-11-14 14:11 Florian Schmaus
2023-11-13 22:15 James Le Cuirot
2023-11-13 21:11 Andreas Sturmlechner
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-13 17:33 Maciej Barć
2023-11-11 20:23 Michał Górny
2023-11-11 10:36 Michał Górny
2023-11-10 16:20 Pacho Ramos
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 12:17 Andrew Ammerlaan
2023-11-10 10:33 Michał Górny
2023-11-09 2:00 Sam James
2023-11-08 7:39 Ulrich Müller
2023-11-08 1:50 Sam James
2023-11-07 5:29 Michał Górny
2023-11-07 5:29 Michał Górny
2023-11-07 5:29 Michał Górny
2023-11-07 5:29 Michał Górny
2023-11-04 17:51 Mike Gilbert
2023-11-01 8:11 Ionen Wolkens
2023-10-31 19:55 Mike Gilbert
2023-10-30 18:55 Mike Gilbert
2023-10-29 3:53 Sam James
2023-10-27 3:33 Sam James
2023-10-26 21:55 Sam James
2023-10-26 16:48 Sam James
2023-10-26 2:10 Michał Górny
2023-10-26 0:41 Marek Szuba
2023-10-23 8:36 Florian Schmaus
2023-10-22 19:14 Michał Górny
2023-10-22 19:14 Michał Górny
2023-10-22 9:49 Ulrich Müller
2023-10-21 17:46 Sam James
2023-10-21 17:46 Sam James
2023-10-21 17:06 Sam James
2023-10-21 16:59 Sam James
2023-10-20 20:07 Matt Turner
2023-10-19 19:50 Michał Górny
2023-10-19 19:50 Michał Górny
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:22 Miroslav Šulc
2023-10-19 18:10 Mike Pagano
2023-10-19 12:21 Hans de Graaff
2023-10-18 12:11 Florian Schmaus
2023-10-18 7:50 Miroslav Šulc
2023-10-18 7:50 Miroslav Šulc
2023-10-18 7:50 Miroslav Šulc
2023-10-18 7:50 Miroslav Šulc
2023-10-18 6:44 Sam James
2023-10-16 9:26 Sam James
2023-10-15 15:23 Sam James
2023-10-13 16:34 Ionen Wolkens
2023-10-13 16:15 Michał Górny
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-12 15:52 Maciej Barć
2023-10-09 20:28 James Le Cuirot
2023-10-09 10:54 Florian Schmaus
2023-10-09 10:54 Florian Schmaus
2023-10-08 10:03 Hans de Graaff
2023-10-08 10:03 Hans de Graaff
2023-10-08 10:03 Hans de Graaff
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-05 11:12 Sam James
2023-10-02 19:39 Michał Górny
2023-10-02 17:51 Michał Górny
2023-10-01 18:16 Mike Gilbert
2023-10-01 9:28 Andrew Ammerlaan
2023-10-01 7:27 Sam James
2023-09-30 10:34 Sam James
2023-09-30 9:38 Sam James
2023-09-30 9:38 Sam James
2023-09-30 9:38 Sam James
2023-09-30 7:58 Miroslav Šulc
2023-09-28 15:51 Hans de Graaff
2023-09-28 8:22 Miroslav Šulc
2023-09-27 9:12 Michał Górny
2023-09-27 6:58 Miroslav Šulc
2023-09-27 6:58 Miroslav Šulc
2023-09-27 5:28 Sam James
2023-09-26 12:24 Ionen Wolkens
2023-09-25 18:45 Michał Górny
2023-09-25 2:07 Sam James
2023-09-23 6:31 Hans de Graaff
2023-09-23 6:31 Hans de Graaff
2023-09-19 19:47 Michał Górny
2023-09-19 11:15 Sam James
2023-09-19 11:15 Sam James
2023-09-19 11:12 Miroslav Šulc
2023-09-18 9:52 Sam James
2023-09-18 9:50 Sam James
2023-09-16 9:43 Sam James
2023-09-16 7:44 Florian Schmaus
2023-09-15 20:49 Maciej Barć
2023-09-15 20:49 Maciej Barć
2023-09-14 20:43 Ionen Wolkens
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 5:30 Michał Górny
2023-09-14 2:10 Sam James
2023-09-12 7:46 James Le Cuirot
2023-09-11 21:20 Ionen Wolkens
2023-09-11 11:20 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 16:22 Ionen Wolkens
2023-09-09 6:59 Joonas Niilola
2023-09-07 22:16 Ionen Wolkens
2023-09-07 10:22 Ionen Wolkens
2023-09-07 10:03 Ionen Wolkens
2023-09-06 18:13 Michał Górny
2023-09-05 19:58 Michał Górny
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-05 13:05 Ionen Wolkens
2023-09-04 13:14 Michał Górny
2023-09-04 13:14 Michał Górny
2023-09-02 17:34 Michał Górny
2023-09-02 17:34 Michał Górny
2023-08-29 15:44 Ulrich Müller
2023-08-29 11:20 Michał Górny
2023-08-29 11:20 Michał Górny
2023-08-29 2:11 Sam James
2023-08-28 6:54 WANG Xuerui
2023-08-27 20:26 Sam James
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 19:36 Andrew Ammerlaan
2023-08-27 18:04 Andrew Ammerlaan
2023-08-26 15:22 Ulrich Müller
2023-08-26 6:52 Ulrich Müller
2023-08-26 6:52 Ulrich Müller
2023-08-26 6:52 Ulrich Müller
2023-08-25 19:17 Michał Górny
2023-08-25 9:12 Andrew Ammerlaan
2023-08-23 7:36 Michał Górny
2023-08-22 18:04 Sam James
2023-08-22 18:04 Sam James
2023-08-22 17:12 Sam James
2023-08-22 17:12 Sam James
2023-08-22 13:27 Andrew Ammerlaan
2023-08-22 13:27 Andrew Ammerlaan
2023-08-21 8:39 Andrew Ammerlaan
2023-08-21 8:39 Andrew Ammerlaan
2023-08-20 15:46 Michał Górny
2023-08-20 12:02 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-19 18:28 Michał Górny
2023-08-18 1:31 Sam James
2023-08-18 1:31 Sam James
2023-08-18 1:31 Sam James
2023-08-18 1:31 Sam James
2023-08-18 1:31 Sam James
2023-08-17 6:22 Sam James
2023-08-17 6:22 Sam James
2023-08-14 21:15 Michael Orlitzky
2023-08-14 21:15 Michael Orlitzky
2023-08-13 5:22 Hans de Graaff
2023-08-10 17:49 Michał Górny
2023-08-08 14:26 Mike Gilbert
2023-08-08 9:07 Michał Górny
2023-08-07 12:10 James Le Cuirot
2023-08-07 3:01 Michał Górny
2023-08-06 6:42 Michał Górny
2023-08-04 2:05 Sam James
2023-08-03 19:37 Sam James
2023-08-03 15:43 Michał Górny
2023-08-03 15:43 Michał Górny
2023-08-02 18:22 Sam James
2023-08-02 18:22 Sam James
2023-08-02 6:54 Florian Schmaus
2023-07-31 15:12 David Seifert
2023-07-31 2:36 Sam James
2023-07-30 18:41 Sam James
2023-07-30 18:38 Sam James
2023-07-30 18:29 Sam James
2023-07-29 2:24 Sam James
2023-07-27 18:26 Matthew Thode
2023-07-27 16:36 Ulrich Müller
2023-07-26 6:03 Michał Górny
2023-07-26 2:53 Sam James
2023-07-25 16:11 Michał Górny
2023-07-25 16:11 Michał Górny
2023-07-25 16:11 Michał Górny
2023-07-22 13:04 Michał Górny
2023-07-21 23:49 Sam James
2023-07-21 23:49 Sam James
2023-07-21 22:14 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-21 17:59 Sam James
2023-07-20 12:16 Sam James
2023-07-20 11:33 Andrew Ammerlaan
2023-07-20 11:33 Andrew Ammerlaan
2023-07-20 11:33 Andrew Ammerlaan
2023-07-20 9:49 WANG Xuerui
2023-07-20 9:49 WANG Xuerui
2023-07-20 0:08 Sam James
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-18 20:52 Matt Turner
2023-07-17 21:18 Sam James
2023-07-17 14:24 Florian Schmaus
2023-07-17 14:14 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 9:44 Michał Górny
2023-07-17 8:13 Andrew Ammerlaan
2023-07-16 9:44 Ulrich Müller
2023-07-16 9:40 Ulrich Müller
2023-07-12 6:25 Sam James
2023-07-11 10:41 Michał Górny
2023-07-09 16:31 Mike Gilbert
2023-07-08 21:18 Andreas Sturmlechner
2023-07-06 17:36 Mike Gilbert
2023-07-06 6:31 Sam James
2023-07-05 20:41 Conrad Kostecki
2023-07-05 15:31 Michał Górny
2023-07-05 6:19 Michał Górny
2023-07-04 17:15 Mike Pagano
2023-07-03 13:54 Alexey Shvetsov
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=1694810819.33953bf9dd7aef94ab2d5862cb003765d749566f.xgqt@gentoo \
--to=xgqt@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