From: "Ionen Wolkens" <ionen@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/qt:master commit in: eclass/
Date: Wed, 23 Oct 2024 21:03:18 +0000 (UTC) [thread overview]
Message-ID: <1729717254.6fe82082a31990f73ee4c7caaa1bebafbd369525.ionen@gentoo> (raw)
commit: 6fe82082a31990f73ee4c7caaa1bebafbd369525
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 23 20:58:36 2024 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Oct 23 21:00:54 2024 +0000
URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=6fe82082
qt5-build.eclass: drop in favor ::gentoo's version
Not in sync, and given about about all new development
moved to ::gentoo (at least the moment) it is just a
hassle to maintain a duplicate here.
Bug: https://bugs.gentoo.org/942033
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
eclass/qt5-build.eclass | 1027 -----------------------------------------------
1 file changed, 1027 deletions(-)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
deleted file mode 100644
index 88720e39..00000000
--- a/eclass/qt5-build.eclass
+++ /dev/null
@@ -1,1027 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# @ECLASS: qt5-build.eclass
-# @MAINTAINER:
-# qt@gentoo.org
-# @AUTHOR:
-# Davide Pesavento <pesa@gentoo.org>
-# @SUPPORTED_EAPIS: 8
-# @BLURB: Eclass for Qt5 split ebuilds.
-# @DESCRIPTION:
-# This eclass contains various functions that are used when building Qt5.
-
-case ${EAPI} in
- 8) ;;
- *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
-esac
-
-if [[ -z ${_QT5_BUILD_ECLASS} ]]; then
-_QT5_BUILD_ECLASS=1
-
-[[ ${CATEGORY} != dev-qt ]] &&
- die "${ECLASS} is only to be used for building Qt 5"
-
-# @ECLASS_VARIABLE: QT5_BUILD_TYPE
-# @DESCRIPTION:
-# Default value is "release".
-# If PV matches "*9999*", this is automatically set to "live".
-QT5_BUILD_TYPE=release
-if [[ ${PV} == *9999* ]]; then
- QT5_BUILD_TYPE=live
-fi
-readonly QT5_BUILD_TYPE
-
-# @ECLASS_VARIABLE: QT5_KDEPATCHSET_REV
-# @DEFAULT_UNSET
-# @PRE_INHERIT
-# @DESCRIPTION:
-# Downstream generated patchset revision pulled from KDE's Qt5PatchCollection,
-# with the patchset having been generated in the following way from upstream's
-# qt module git repository:
-# @CODE
-# git format-patch v${PV}-lts-lgpl..origin/gentoo-kde/${PV} \
-# -o ${QT5_MODULE}-${PV}-gentoo-kde-${QT5_KDEPATCHSET_REV}
-# @CODE
-# Used for SRC_URI and applied in src_prepare.
-# Must be set before inheriting the eclass.
-
-# @ECLASS_VARIABLE: QT5_MODULE
-# @PRE_INHERIT
-# @DESCRIPTION:
-# The upstream name of the module this package belongs to. Used for
-# SRC_URI and EGIT_REPO_URI. Must be set before inheriting the eclass.
-: "${QT5_MODULE:=${PN}}"
-
-# @ECLASS_VARIABLE: QT5_PV
-# @DESCRIPTION:
-# 3-component version for use in dependency declarations on other dev-qt/ pkgs.
-QT5_PV=$(ver_cut 1-3)
-readonly QT5_PV
-
-# @ECLASS_VARIABLE: _QT5_P
-# @INTERNAL
-# @DESCRIPTION:
-# The upstream package name of the module this package belongs to.
-# Used for SRC_URI and S.
-
-# @ECLASS_VARIABLE: _QT5_GENTOOPATCHSET_REV
-# @DEFAULT_UNSET
-# @INTERNAL
-# @DESCRIPTION:
-# Gentoo downstream patchset version applied over qtbase. Used for SRC_URI and
-# applied in src_prepare.
-
-# @ECLASS_VARIABLE: QT5_TARGET_SUBDIRS
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Array variable containing the source directories that should be built.
-# All paths must be relative to ${S}.
-
-# @ECLASS_VARIABLE: QT5_GENTOO_CONFIG
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Array of <useflag:feature:macro> triplets that are evaluated in src_install
-# to generate the per-package list of enabled QT_CONFIG features and macro
-# definitions, which are then merged together with all other Qt5 packages
-# installed on the system to obtain the global qconfig.{h,pri} files.
-
-# @ECLASS_VARIABLE: QT5_GENTOO_PRIVATE_CONFIG
-# @DEFAULT_UNSET
-# @DESCRIPTION:
-# Array of <useflag:feature> pairs that are evaluated in src_install
-# to generate the per-package list of enabled QT.global_private features,
-# which are then merged together with all other Qt5 packages installed on the
-# system to obtain the global qmodule.pri file.
-
-# @ECLASS_VARIABLE: VIRTUALX_REQUIRED
-# @PRE_INHERIT
-# @DESCRIPTION:
-# For proper description see virtualx.eclass man page.
-# Here we redefine default value to be manual, if your package needs virtualx
-# for tests you should proceed with setting VIRTUALX_REQUIRED=test.
-: "${VIRTUALX_REQUIRED:=manual}"
-
-inherit estack flag-o-matic toolchain-funcs virtualx
-
-if [[ ${PN} != qtwebengine ]]; then
- case ${PV} in
- *9999 )
- inherit kde.org # kde/5.15 branch
- ;;
- 5.15.[5-9]* | 5.15.??* )
- # official stable release
- _QT5_P=${QT5_MODULE}-everywhere-opensource-src-${PV}
- HOMEPAGE="https://www.qt.io/"
- SRC_URI="https://download.qt.io/official_releases/qt/${PV%.*}/${PV}/submodules/${_QT5_P}.tar.xz"
- # KDE Qt5PatchCollection on top of tag v${PV}-lts-lgpl
- if [[ -n ${QT5_KDEPATCHSET_REV} ]]; then
- HOMEPAGE+=" https://invent.kde.org/qt/qt/${QT5_MODULE} https://community.kde.org/Qt5PatchCollection"
- SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/${QT5_MODULE}-${PV}-gentoo-kde-${QT5_KDEPATCHSET_REV}.tar.xz"
- fi
- S="${WORKDIR}"/${_QT5_P/opensource-}
- ;;
- esac
-fi
-
-if [[ ${QT5_MODULE} == qtbase ]]; then
- case ${PV} in
- 5.15.13)
- _QT5_GENTOOPATCHSET_REV=5
- ;;
- *)
- _QT5_GENTOOPATCHSET_REV=6
- ;;
- esac
- SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}.tar.xz"
-fi
-
-# @ECLASS_VARIABLE: QT5_BUILD_DIR
-# @OUTPUT_VARIABLE
-# @DESCRIPTION:
-# Build directory for out-of-source builds.
-: "${QT5_BUILD_DIR:=${S}_build}"
-
-LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
-
-case ${PN} in
- assistant|linguist|qdbus|qdbusviewer|pixeltool)
- SLOT=0 ;;
- linguist-tools|qdoc|qtdiag|qtgraphicaleffects|qtimageformats| \
- qtpaths|qtplugininfo|qtquickcontrols|qtquicktimeline| \
- qttranslations|qtwaylandscanner|qtxmlpatterns)
- SLOT=5 ;;
- *)
- SLOT=5/$(ver_cut 1-2) ;;
-esac
-
-IUSE="debug test"
-
-if [[ ${QT5_BUILD_TYPE} == release ]]; then
- RESTRICT="test" # bug 457182
-else
- RESTRICT="!test? ( test )"
-fi
-
-BDEPEND="
- dev-lang/perl
- virtual/pkgconfig
-"
-if [[ ${PN} != qttest ]]; then
- DEPEND+=" test? ( =dev-qt/qttest-${QT5_PV}* )"
-fi
-
-###### Phase functions ######
-
-# @FUNCTION: qt5-build_src_prepare
-# @DESCRIPTION:
-# Prepares the environment and patches the sources if necessary.
-qt5-build_src_prepare() {
- qt5_prepare_env
-
- # Workaround for bug #915203
- # Upstream: https://bugreports.qt.io/browse/QTBUG-111514
- if [[ ${PN} != qtcore ]]; then
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
- fi
-
- # many bugs, no one to fix
- filter-lto
-
- if [[ ${QT5_BUILD_TYPE} == live ]] || [[ -n ${KDE_ORG_COMMIT} ]]; then
- if [[ -n ${KDE_ORG_COMMIT} ]]; then
- einfo "Preparing KDE Qt5PatchCollection snapshot at ${KDE_ORG_COMMIT}"
- mkdir -p .git || die # need to fake a git repository for configure
- fi
- fi
-
- if [[ ${QT5_MODULE} == qtbase ]]; then
- qt5_symlink_tools_to_build_dir
-
- # Avoid unnecessary qmake recompilations
- sed -i -e "/Creating qmake/i if [ '!' -e \"\$outpath/bin/qmake\" ]; then" \
- -e '/echo "Done."/a fi' configure || die "sed failed (skip qmake bootstrap)"
-
- # Respect CXX in bsymbolic_functions, fvisibility, precomp, and a few other tests
- sed -i -e "/^QMAKE_CONF_COMPILER=/ s:=.*:=\"$(tc-getCXX)\":" \
- configure || die "sed failed (QMAKE_CONF_COMPILER)"
-
- # Respect build variables in configure tests (bug #639494)
- sed -i -e "s|\"\$outpath/bin/qmake\" \"\$relpathMangled\" -- \"\$@\"|& $(qt5_qmake_args) |" configure || die
- fi
-
- [[ -n ${QT5_KDEPATCHSET_REV} ]] && eapply "${WORKDIR}/${QT5_MODULE}-${PV}-gentoo-kde-${QT5_KDEPATCHSET_REV}"
-
- if [[ ${QT5_MODULE} == qtbase ]]; then
- [[ -n ${_QT5_GENTOOPATCHSET_REV} ]] && eapply "${WORKDIR}/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}"
-
- # Respect CC, CXX, *FLAGS, MAKEOPTS and EXTRA_EMAKE when bootstrapping qmake
- sed -i -e "/outpath\/qmake\".*\"*\$MAKE\"*)/ s|)| \
- ${MAKEOPTS} ${EXTRA_EMAKE} 'CC=$(tc-getCC)' 'CXX=$(tc-getCXX)' \
- 'QMAKE_CFLAGS=${CFLAGS}' 'QMAKE_CXXFLAGS=${CXXFLAGS}' 'QMAKE_LFLAGS=${LDFLAGS}'&|" \
- -e 's/\(setBootstrapVariable\s\+\|EXTRA_C\(XX\)\?FLAGS=.*\)QMAKE_C\(XX\)\?FLAGS_\(DEBUG\|RELEASE\).*/:/' \
- configure || die "sed failed (respect env for qmake build)"
- sed -i -e '/^CPPFLAGS\s*=/ s/-g //' \
- qmake/Makefile.unix || die "sed failed (CPPFLAGS for qmake build)"
- fi
-
- default
-}
-
-# @FUNCTION: qt5-build_src_configure
-# @DESCRIPTION:
-# Runs qmake in the target directories. For packages
-# in qtbase, ./configure is also run before qmake.
-qt5-build_src_configure() {
- if [[ ${QT5_MODULE} == qtbase ]]; then
- qt5_base_configure
- fi
- if [[ ${QT5_MODULE} == qttools ]]; then
- qt5_tools_configure
- fi
-
- qt5_foreach_target_subdir qt5_qmake
-}
-
-# @FUNCTION: qt5-build_src_compile
-# @DESCRIPTION:
-# Runs emake in the target directories.
-qt5-build_src_compile() {
- qt5_foreach_target_subdir emake
-}
-
-# @FUNCTION: qt5-build_src_test
-# @DESCRIPTION:
-# Runs tests in the target directories.
-qt5-build_src_test() {
- # disable broken cmake tests (bug 474004)
- local myqmakeargs=("${myqmakeargs[@]}" -after SUBDIRS-=cmake SUBDIRS-=installed_cmake)
-
- qt5_foreach_target_subdir qt5_qmake
- qt5_foreach_target_subdir emake
-
- # create a custom testrunner script that correctly sets
- # LD_LIBRARY_PATH before executing the given test
- local testrunner=${QT5_BUILD_DIR}/gentoo-testrunner
- cat > "${testrunner}" <<-_EOF_ || die
- #!/bin/sh
- export LD_LIBRARY_PATH="${QT5_BUILD_DIR}/lib:${QT5_LIBDIR}"
- "\$@"
- _EOF_
- chmod +x "${testrunner}"
-
- set -- qt5_foreach_target_subdir emake TESTRUNNER="'${testrunner}'" check
- if [[ ${VIRTUALX_REQUIRED} == test ]]; then
- virtx "$@"
- else
- "$@"
- fi
-}
-
-# @FUNCTION: qt5-build_src_install
-# @DESCRIPTION:
-# Runs emake install in the target directories.
-qt5-build_src_install() {
- qt5_foreach_target_subdir emake INSTALL_ROOT="${D}" install
-
- if [[ ${PN} == qtcore ]]; then
- pushd "${QT5_BUILD_DIR}" >/dev/null || die
-
- set -- emake INSTALL_ROOT="${D}" \
- sub-qmake-qmake-aux-pro-install_subtargets \
- install_{syncqt,mkspecs}
-
- einfo "Running $*"
- "$@"
-
- popd >/dev/null || die
-
- # install an empty Gentoo/gentoo-qconfig.h in ${D}
- # so that it's placed under package manager control
- > "${T}"/gentoo-qconfig.h
- (
- insinto "${QT5_HEADERDIR#${EPREFIX}}"/Gentoo
- doins "${T}"/gentoo-qconfig.h
- )
-
- # include gentoo-qconfig.h at the beginning of QtCore/qconfig.h
- sed -i -e '1i #include <Gentoo/gentoo-qconfig.h>\n' \
- "${D}${QT5_HEADERDIR}"/QtCore/qconfig.h \
- || die "sed failed (qconfig.h)"
- fi
-
- qt5_install_module_config
-
- # prune libtool files
- find "${D}" -name '*.la' -type f -delete || die
-}
-
-# @FUNCTION: qt5-build_pkg_postinst
-# @DESCRIPTION:
-# Regenerate configuration after installation or upgrade/downgrade.
-qt5-build_pkg_postinst() {
- qt5_regenerate_global_configs
-}
-
-# @FUNCTION: qt5-build_pkg_postrm
-# @DESCRIPTION:
-# Regenerate configuration when a module is completely removed.
-qt5-build_pkg_postrm() {
- if [[ -z ${REPLACED_BY_VERSION} && ${PN} != qtcore ]]; then
- qt5_regenerate_global_configs
- fi
-}
-
-
-###### Public helpers ######
-
-# @FUNCTION: qt5_configure_oos_quirk
-# @USAGE: <file> or <file> <path>
-# @DESCRIPTION:
-# Quirk for out-of-source builds. Runs qmake in root directory, copies
-# generated pri <file> from source <path> to build dir <path>.
-# If no <path> is given, <file> is copied to ${QT5_BUILD_DIR}.
-qt5_configure_oos_quirk() {
- if [[ "$#" == 2 ]]; then
- local source="${2}/${1}"
- local dest="${QT5_BUILD_DIR}/${2}"
- elif [[ "$#" == 1 ]]; then
- local source="${1}"
- local dest="${QT5_BUILD_DIR}"
- else
- die "${FUNCNAME[0]} must be passed either one or two arguments"
- fi
-
- mkdir -p "${dest}" || die
- qt5_qmake "${QT5_BUILD_DIR}"
- cp "${source}" "${dest}" || die
-}
-
-# @FUNCTION: qt5_syncqt_version
-# @DESCRIPTION:
-# Wrapper for Qt5 syncqt.pl to sync header files for ${PV} (required to run if
-# headers are added/removed by patching)
-qt5_syncqt_version() {
- if [[ ${PV} == *9999* ]]; then
- return
- fi
-
- local syncqt
- if [[ ${PN} == qtcore ]]; then
- syncqt=bin/syncqt.pl
- else
- syncqt=${QT5_BINDIR}/syncqt.pl
- fi
-
- perl ${syncqt} -version ${PV} || die
-}
-
-# @FUNCTION: qt5_symlink_binary_to_path
-# @USAGE: <target binary name> [suffix]
-# @DESCRIPTION:
-# Symlink a given binary from QT5_BINDIR to QT5_PREFIX/bin, with optional suffix
-qt5_symlink_binary_to_path() {
- [[ $# -ge 1 ]] || die "${FUNCNAME}() requires at least one argument"
-
- dosym -r "${QT5_BINDIR}"/${1} /usr/bin/${1}${2}
-}
-
-# @FUNCTION: qt_use
-# @USAGE: <flag> [feature] [enableval]
-# @DESCRIPTION:
-# <flag> is the name of a flag in IUSE.
-#
-# Outputs "-${enableval}-${feature}" if <flag> is enabled, "-no-${feature}"
-# otherwise. If [feature] is not specified, <flag> is used in its place.
-# If [enableval] is not specified, the "-${enableval}" prefix is omitted.
-qt_use() {
- [[ $# -ge 1 ]] || die "${FUNCNAME}() requires at least one argument"
-
- usex "$1" "${3:+-$3}-${2:-$1}" "-no-${2:-$1}"
-}
-
-# @FUNCTION: qt_use_compile_test
-# @USAGE: <flag> [config]
-# @DESCRIPTION:
-# <flag> is the name of a flag in IUSE.
-# [config] is the argument of qtCompileTest, defaults to <flag>.
-#
-# This function is useful to disable optional dependencies that are checked
-# at qmake-time using the qtCompileTest() function. If <flag> is disabled,
-# the compile test is skipped and the dependency is assumed to be unavailable,
-# i.e. the corresponding feature will be disabled. Note that all invocations
-# of this function must happen before calling qt5-build_src_configure.
-qt_use_compile_test() {
- [[ $# -ge 1 ]] || die "${FUNCNAME}() requires at least one argument"
-
- if ! use "$1"; then
- mkdir -p "${QT5_BUILD_DIR}" || die
- echo "CONFIG += done_config_${2:-$1}" >> "${QT5_BUILD_DIR}"/.qmake.cache || die
- fi
-}
-
-# @FUNCTION: qt_use_disable_config
-# @USAGE: <flag> <config> <files...>
-# @DESCRIPTION:
-# <flag> is the name of a flag in IUSE.
-# <config> is the (lowercase) name of a Qt5 config entry.
-# <files...> is a list of one or more qmake project files.
-#
-# This function patches <files> to treat <config> as disabled
-# when <flag> is disabled, otherwise it does nothing.
-# This can be useful to avoid an automagic dependency when the config entry
-# is enabled on the system but the corresponding USE flag is disabled.
-qt_use_disable_config() {
- [[ $# -ge 3 ]] || die "${FUNCNAME}() requires at least three arguments"
-
- local flag=$1
- local config=$2
- shift 2
-
- if ! use "${flag}"; then
- echo "$@" | xargs sed -i -e "s/qtConfig(${config})/false/g" || die
- fi
-}
-
-# @FUNCTION: qt_use_disable_mod
-# @USAGE: <flag> <module> <files...>
-# @DESCRIPTION:
-# <flag> is the name of a flag in IUSE.
-# <module> is the (lowercase) name of a Qt5 module.
-# <files...> is a list of one or more qmake project files.
-#
-# This function patches <files> to treat <module> as not installed
-# when <flag> is disabled, otherwise it does nothing.
-# This can be useful to avoid an automagic dependency when the module
-# is present on the system but the corresponding USE flag is disabled.
-qt_use_disable_mod() {
- [[ $# -ge 3 ]] || die "${FUNCNAME}() requires at least three arguments"
-
- local flag=$1
- local module=$2
- shift 2
-
- if ! use "${flag}"; then
- echo "$@" | xargs sed -i -e "s/qtHaveModule(${module})/false/g" || die
- fi
-}
-
-
-###### Internal functions ######
-
-# @FUNCTION: qt5_prepare_env
-# @INTERNAL
-# @DESCRIPTION:
-# Prepares the environment for building Qt.
-qt5_prepare_env() {
- # setup installation directories
- # note: keep paths in sync with qmake-utils.eclass
- QT5_PREFIX=${EPREFIX}/usr
- QT5_HEADERDIR=${QT5_PREFIX}/include/qt5
- QT5_LIBDIR=${QT5_PREFIX}/$(get_libdir)
- QT5_ARCHDATADIR=${QT5_PREFIX}/$(get_libdir)/qt5
- QT5_BINDIR=${QT5_ARCHDATADIR}/bin
- QT5_PLUGINDIR=${QT5_ARCHDATADIR}/plugins
- QT5_LIBEXECDIR=${QT5_ARCHDATADIR}/libexec
- QT5_IMPORTDIR=${QT5_ARCHDATADIR}/imports
- QT5_QMLDIR=${QT5_ARCHDATADIR}/qml
- QT5_DATADIR=${QT5_PREFIX}/share/qt5
- QT5_DOCDIR=${QT5_PREFIX}/share/qt5-doc
- QT5_TRANSLATIONDIR=${QT5_DATADIR}/translations
- QT5_EXAMPLESDIR=${QT5_DATADIR}/examples
- QT5_TESTSDIR=${QT5_DATADIR}/tests
- QT5_SYSCONFDIR=${EPREFIX}/etc/xdg
- readonly QT5_PREFIX QT5_HEADERDIR QT5_LIBDIR QT5_ARCHDATADIR \
- QT5_BINDIR QT5_PLUGINDIR QT5_LIBEXECDIR QT5_IMPORTDIR \
- QT5_QMLDIR QT5_DATADIR QT5_DOCDIR QT5_TRANSLATIONDIR \
- QT5_EXAMPLESDIR QT5_TESTSDIR QT5_SYSCONFDIR
-
- if [[ ${QT5_MODULE} == qtbase ]]; then
- # see mkspecs/features/qt_config.prf
- export QMAKEMODULES="${QT5_BUILD_DIR}/mkspecs/modules:${S}/mkspecs/modules:${QT5_ARCHDATADIR}/mkspecs/modules"
- fi
-}
-
-# @FUNCTION: qt5_foreach_target_subdir
-# @INTERNAL
-# @DESCRIPTION:
-# Executes the command given as argument from inside each directory
-# listed in QT5_TARGET_SUBDIRS. Handles autotests subdirs automatically.
-qt5_foreach_target_subdir() {
- [[ -z ${QT5_TARGET_SUBDIRS[@]} ]] && QT5_TARGET_SUBDIRS=("")
-
- local subdir=
- for subdir in "${QT5_TARGET_SUBDIRS[@]}"; do
- if [[ ${EBUILD_PHASE} == test ]]; then
- subdir=tests/auto${subdir#src}
- [[ -d ${S}/${subdir} ]] || continue
- fi
-
- local msg="Running $* ${subdir:+in ${subdir}}"
- einfo "${msg}"
-
- mkdir -p "${QT5_BUILD_DIR}/${subdir}" || die -n || return $?
- pushd "${QT5_BUILD_DIR}/${subdir}" >/dev/null || die -n || return $?
-
- "$@" || die -n "${msg} failed" || return $?
-
- popd >/dev/null || die -n || return $?
- done
-}
-
-# @FUNCTION: qt5_symlink_tools_to_build_dir
-# @INTERNAL
-# @DESCRIPTION:
-# Symlinks qmake and a few other tools to QT5_BUILD_DIR,
-# so that they can be used when building other modules.
-qt5_symlink_tools_to_build_dir() {
- local tool= tools=()
- if [[ ${PN} != qtcore ]]; then
- tools+=(qmake moc rcc qlalr)
- [[ ${PN} != qtdbus ]] && tools+=(qdbuscpp2xml qdbusxml2cpp)
- [[ ${PN} != qtwidgets ]] && tools+=(uic)
- fi
-
- mkdir -p "${QT5_BUILD_DIR}"/bin || die
- pushd "${QT5_BUILD_DIR}"/bin >/dev/null || die
-
- for tool in "${tools[@]}"; do
- [[ -e ${QT5_BINDIR}/${tool} ]] || continue
- ln -s "${QT5_BINDIR}/${tool}" . || die "failed to symlink ${tool}"
- done
-
- popd >/dev/null || die
-}
-
-# @FUNCTION: qt5_base_configure
-# @INTERNAL
-# @DESCRIPTION:
-# Runs ./configure for modules belonging to qtbase.
-qt5_base_configure() {
- # setup toolchain variables used by configure
- tc-export AR CC CXX OBJDUMP RANLIB STRIP
- export LD="$(tc-getCXX)"
-
- # bug 633838
- unset QMAKESPEC XQMAKESPEC QMAKEPATH QMAKEFEATURES
-
- # configure arguments
- local conf=(
- # installation paths
- -prefix "${QT5_PREFIX}"
- -bindir "${QT5_BINDIR}"
- -headerdir "${QT5_HEADERDIR}"
- -libdir "${QT5_LIBDIR}"
- -archdatadir "${QT5_ARCHDATADIR}"
- -plugindir "${QT5_PLUGINDIR}"
- -libexecdir "${QT5_LIBEXECDIR}"
- -importdir "${QT5_IMPORTDIR}"
- -qmldir "${QT5_QMLDIR}"
- -datadir "${QT5_DATADIR}"
- -docdir "${QT5_DOCDIR}"
- -translationdir "${QT5_TRANSLATIONDIR}"
- -sysconfdir "${QT5_SYSCONFDIR}"
- -examplesdir "${QT5_EXAMPLESDIR}"
- -testsdir "${QT5_TESTSDIR}"
-
- # force appropriate compiler
- $(if use kernel_linux; then
- if tc-is-gcc; then
- echo -platform linux-g++
- elif tc-is-clang; then
- echo -platform linux-clang
- fi
- fi)
-
- # configure in release mode by default,
- # override via the CONFIG qmake variable
- -release
- -no-separate-debug-info
-
- # no need to forcefully build host tools in optimized mode,
- # just follow the overall debug/release build type
- -no-optimized-tools
-
- # licensing stuff
- -opensource -confirm-license
-
- # autodetect the highest supported version of the C++ standard
- #-c++std <c++11|c++14|c++1z>
-
- # build shared libraries
- -shared
-
- # disabling accessibility is not recommended by upstream, as
- # it will break QStyle and may break other internal parts of Qt
- -accessibility
-
- # disable all SQL drivers by default, override in qtsql
- -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc
- -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds
-
- # MIPS DSP instruction set extensions
- $(is-flagq -mno-dsp && echo -no-mips_dsp)
- $(is-flagq -mno-dspr2 && echo -no-mips_dspr2)
-
- # use pkg-config to detect include and library paths
- -pkg-config
-
- # prefer system libraries (only common hard deps here)
- -system-zlib
- -system-pcre
- -system-doubleconversion
-
- # disable everything to prevent automagic deps (part 1)
- -no-mtdev
- -no-journald -no-syslog
- -no-libpng -no-libjpeg
- -no-freetype -no-harfbuzz
- -no-openssl -no-libproxy
- -no-feature-gssapi
- -no-xcb-xlib
-
- # bug 672340
- -no-xkbcommon
- -no-bundled-xcb-xinput
-
- # cannot use -no-gif because there is no way to override it later
- #-no-gif
-
- # always enable glib event loop support
- -glib
-
- # disable everything to prevent automagic deps (part 2)
- -no-gtk
-
- # exclude examples and tests from default build
- -nomake examples
- -nomake tests
- -no-compile-examples
-
- # disable rpath on non-prefix (bugs 380415 and 417169)
- $(usex prefix '' -no-rpath)
-
- # print verbose information about each configure test
- -verbose
-
- # disable everything to prevent automagic deps (part 3)
- -no-cups -no-evdev -no-tslib -no-icu -no-fontconfig -no-dbus
-
- # let portage handle stripping
- -no-strip
-
- # precompiled headers can cause problems on hardened, so turn them off
- -no-pch
-
- # link-time code generation is not something we want to enable by default
- -no-ltcg
-
- # reduced relocations cause major breakage on at least arm and ppc, so
- # don't specify anything and let the configure figure out if they are
- # supported; see also https://bugreports.qt.io/browse/QTBUG-36129
- #-reduce-relocations
-
- # use the system linker (gold will be selected automagically otherwise)
- $(tc-ld-is-gold && echo -use-gold-linker || echo -no-use-gold-linker)
-
- # disable all platform plugins by default, override in qtgui
- -no-xcb -no-eglfs -no-kms -no-gbm -no-directfb -no-linuxfb
-
- # always enable session management support: it doesn't need extra deps
- # at configure time and turning it off is dangerous, see bug 518262
- -sm
-
- # typedef qreal to double (warning: changing this flag breaks the ABI)
- -qreal double
-
- # disable OpenGL and EGL support by default, override in qtgui,
- # qtopengl, qtprintsupport and qtwidgets
- -no-opengl -no-egl
-
- # disable libinput-based generic plugin by default, override in qtgui
- -no-libinput
-
- # respect system proxies by default: it's the most natural
- # setting, and it'll become the new upstream default in 5.8
- -system-proxies
-
- # do not build with -Werror
- -no-warnings-are-errors
-
- # enable in respective modules to avoid poisoning QT.global_private.enabled_features
- -no-gui -no-widgets
-
- # QTBUG-76521, default will change to zstd in Qt6
- -no-zstd
-
- # module-specific options
- "${myconf[@]}"
- )
-
- pushd "${QT5_BUILD_DIR}" >/dev/null || die
-
- einfo "Configuring with: ${conf[@]}"
- "${S}"/configure "${conf[@]}" || die "configure failed"
-
- # a forwarding header is no longer created since 5.8, causing the system
- # config to always be used. bug 599636
- # ${S}/include does not exist in live sources or kde.org snapshots
- local basedir="${S}/"
- if [[ ${QT5_BUILD_TYPE} == live ]] || [[ -n ${KDE_ORG_COMMIT} ]]; then
- basedir=""
- fi
- cp src/corelib/global/qconfig.h "${basedir}"include/QtCore/ || die
-
- popd >/dev/null || die
-
-}
-
-# @FUNCTION: qt5_tools_configure
-# @INTERNAL
-# @DESCRIPTION:
-# Most of qttools require files that are only generated when qmake is
-# run in the root directory. Related bugs: 676948, 716514.
-# Runs qt5_qmake in root directory to create qttools-config.pri and copy to
-# ${QT5_BUILD_DIR}, disabling modules other than ${PN} belonging to qttools.
-qt5_tools_configure() {
- # configure arguments
- local qmakeargs=(
- --
- # not packaged in Gentoo
- -no-feature-distancefieldgenerator
- -no-feature-kmap2qmap
- -no-feature-macdeployqt
- -no-feature-makeqpf
- -no-feature-qev
- -no-feature-qtattributionsscanner
- -no-feature-windeployqt
- -no-feature-winrtrunner
- )
-
- local i module=${PN}
- case ${PN} in
- linguist-tools) module=linguist ;;
- *) ;;
- esac
- for i in assistant designer linguist pixeltool qdbus qdoc qtdiag qtpaths qtplugininfo; do
- [[ ${module} != ${i} ]] && qmakeargs+=( -no-feature-${i} )
- done
-
- # allow the ebuild to override what we set here
- myqmakeargs=( "${qmakeargs[@]}" "${myqmakeargs[@]}" )
-
- qt5_configure_oos_quirk qttools-config.pri
-}
-
-# @FUNCTION: qt5_qmake_args
-# @INTERNAL
-# @DESCRIPTION:
-# Helper function to get the various toolchain-related variables.
-qt5_qmake_args() {
- echo \
- QMAKE_AR=\"$(tc-getAR)\" \
- QMAKE_CC=\"$(tc-getCC)\" \
- QMAKE_LINK_C=\"$(tc-getCC)\" \
- QMAKE_LINK_C_SHLIB=\"$(tc-getCC)\" \
- QMAKE_CXX=\"$(tc-getCXX)\" \
- QMAKE_LINK=\"$(tc-getCXX)\" \
- QMAKE_LINK_SHLIB=\"$(tc-getCXX)\" \
- QMAKE_OBJCOPY=\"$(tc-getOBJCOPY)\" \
- QMAKE_RANLIB= \
- QMAKE_STRIP=\"$(tc-getSTRIP)\" \
- QMAKE_CFLAGS=\"${CFLAGS}\" \
- QMAKE_CFLAGS_RELEASE= \
- QMAKE_CFLAGS_DEBUG= \
- QMAKE_CXXFLAGS=\"${CXXFLAGS}\" \
- QMAKE_CXXFLAGS_RELEASE= \
- QMAKE_CXXFLAGS_DEBUG= \
- QMAKE_LFLAGS=\"${LDFLAGS}\" \
- QMAKE_LFLAGS_RELEASE= \
- QMAKE_LFLAGS_DEBUG=
-}
-
-# @FUNCTION: qt5_qmake
-# @INTERNAL
-# @DESCRIPTION:
-# Helper function that runs qmake in the current target subdir.
-# Intended to be called by qt5_foreach_target_subdir().
-qt5_qmake() {
- local projectdir=${PWD/#${QT5_BUILD_DIR}/${S}}
- local qmakepath=
- if [[ ${QT5_MODULE} == qtbase ]]; then
- qmakepath=${QT5_BUILD_DIR}/bin
- else
- qmakepath=${QT5_BINDIR}
- fi
-
- "${qmakepath}"/qmake \
- "${projectdir}" \
- CONFIG+=$(usex debug debug release) \
- CONFIG-=$(usex debug release debug) \
- QMAKE_AR="$(tc-getAR) cqs" \
- QMAKE_CC="$(tc-getCC)" \
- QMAKE_LINK_C="$(tc-getCC)" \
- QMAKE_LINK_C_SHLIB="$(tc-getCC)" \
- QMAKE_CXX="$(tc-getCXX)" \
- QMAKE_LINK="$(tc-getCXX)" \
- QMAKE_LINK_SHLIB="$(tc-getCXX)" \
- QMAKE_OBJCOPY="$(tc-getOBJCOPY)" \
- QMAKE_RANLIB= \
- QMAKE_STRIP="$(tc-getSTRIP)" \
- QMAKE_CFLAGS="${CFLAGS}" \
- QMAKE_CFLAGS_RELEASE= \
- QMAKE_CFLAGS_DEBUG= \
- QMAKE_CXXFLAGS="${CXXFLAGS}" \
- QMAKE_CXXFLAGS_RELEASE= \
- QMAKE_CXXFLAGS_DEBUG= \
- QMAKE_LFLAGS="${LDFLAGS}" \
- QMAKE_LFLAGS_RELEASE= \
- QMAKE_LFLAGS_DEBUG= \
- "${myqmakeargs[@]}" \
- || die "qmake failed (${projectdir#${S}/})"
-}
-
-# @FUNCTION: qt5_install_module_config
-# @INTERNAL
-# @DESCRIPTION:
-# Creates and installs gentoo-specific ${PN}-qconfig.{h,pri} and
-# ${PN}-qmodule.pri files.
-qt5_install_module_config() {
- local x qconfig_add= qconfig_remove= qprivateconfig_add= qprivateconfig_remove=
-
- > "${T}"/${PN}-qconfig.h
- > "${T}"/${PN}-qconfig.pri
- > "${T}"/${PN}-qmodule.pri
-
- # generate qconfig_{add,remove} and ${PN}-qconfig.h
- for x in "${QT5_GENTOO_CONFIG[@]}"; do
- local flag=${x%%:*}
- x=${x#${flag}:}
- local feature=${x%%:*}
- x=${x#${feature}:}
- local macro=${x}
- macro=$(tr 'a-z-' 'A-Z_' <<< "${macro}")
-
- if [[ -z ${flag} ]] || { [[ ${flag} != '!' ]] && use ${flag}; }; then
- [[ -n ${feature} ]] && qconfig_add+=" ${feature}"
- [[ -n ${macro} ]] && echo "#define QT_${macro}" >> "${T}"/${PN}-qconfig.h
- else
- [[ -n ${feature} ]] && qconfig_remove+=" ${feature}"
- [[ -n ${macro} ]] && echo "#define QT_NO_${macro}" >> "${T}"/${PN}-qconfig.h
- fi
- done
-
- # install ${PN}-qconfig.h
- [[ -s ${T}/${PN}-qconfig.h ]] && (
- insinto "${QT5_HEADERDIR#${EPREFIX}}"/Gentoo
- doins "${T}"/${PN}-qconfig.h
- )
-
- # generate and install ${PN}-qconfig.pri
- [[ -n ${qconfig_add} ]] && echo "QCONFIG_ADD=${qconfig_add}" >> "${T}"/${PN}-qconfig.pri
- [[ -n ${qconfig_remove} ]] && echo "QCONFIG_REMOVE=${qconfig_remove}" >> "${T}"/${PN}-qconfig.pri
- [[ -s ${T}/${PN}-qconfig.pri ]] && (
- insinto "${QT5_ARCHDATADIR#${EPREFIX}}"/mkspecs/gentoo
- doins "${T}"/${PN}-qconfig.pri
- )
-
- # generate qprivateconfig
- for x in "${QT5_GENTOO_PRIVATE_CONFIG[@]}"; do
- local flag=${x%%:*}
- x=${x#${flag}:}
- local feature=${x%%:*}
- x=${x#${feature}:}
-
- if [[ -z ${flag} ]] || { [[ ${flag} != '!' ]] && use ${flag}; }; then
- [[ -n ${feature} ]] && qprivateconfig_add+=" ${feature}"
- else
- [[ -n ${feature} ]] && qprivateconfig_remove+=" ${feature}"
- fi
- done
-
- # generate and install ${PN}-qmodule.pri
- [[ -n ${qprivateconfig_add} ]] && echo "QT.global_private.enabled_features = ${qprivateconfig_add}" >> "${T}"/${PN}-qmodule.pri
- [[ -n ${qprivateconfig_remove} ]] && echo "QT.global_private.disabled_features = ${qprivateconfig_remove}" >> "${T}"/${PN}-qmodule.pri
- [[ -s ${T}/${PN}-qmodule.pri ]] && (
- insinto "${QT5_ARCHDATADIR#${EPREFIX}}"/mkspecs/gentoo
- doins "${T}"/${PN}-qmodule.pri
- )
-
- # install the original {qconfig,qmodule}.pri from qtcore
- [[ ${PN} == qtcore ]] && (
- insinto "${QT5_ARCHDATADIR#${EPREFIX}}"/mkspecs/gentoo
- newins "${D}${QT5_ARCHDATADIR}"/mkspecs/qconfig.pri qconfig-qtcore.pri
- newins "${D}${QT5_ARCHDATADIR}"/mkspecs/qmodule.pri qmodule-qtcore.pri
- )
-}
-
-# @FUNCTION: qt5_regenerate_global_configs
-# @INTERNAL
-# @DESCRIPTION:
-# Generates Gentoo-specific qconfig.{h,pri} and qmodule.pri according to the
-# build configuration.
-# Don't call die here because dying in pkg_post{inst,rm} only makes things worse.
-qt5_regenerate_global_configs() {
- einfo "Regenerating gentoo-qconfig.h"
-
- find "${ROOT}${QT5_HEADERDIR}"/Gentoo \
- -name '*-qconfig.h' -a \! -name 'gentoo-qconfig.h' -type f \
- -execdir cat '{}' + | sort -u > "${T}"/gentoo-qconfig.h
-
- [[ -s ${T}/gentoo-qconfig.h ]] || ewarn "Generated gentoo-qconfig.h is empty"
- cp "${T}"/gentoo-qconfig.h "${ROOT}${QT5_HEADERDIR}"/Gentoo/gentoo-qconfig.h \
- || eerror "Failed to install new gentoo-qconfig.h"
-
- einfo "Updating QT_CONFIG in qconfig.pri"
-
- local qconfig_pri=${ROOT}${QT5_ARCHDATADIR}/mkspecs/qconfig.pri
- local qconfig_pri_orig=${ROOT}${QT5_ARCHDATADIR}/mkspecs/gentoo/qconfig-qtcore.pri
- if [[ -f ${qconfig_pri} ]]; then
- local x qconfig_add= qconfig_remove=
- local qt_config new_qt_config=
- if [[ -f ${qconfig_pri_orig} ]]; then
- qt_config=$(sed -n 's/^QT_CONFIG\s*+=\s*//p' "${qconfig_pri_orig}")
- else
- qt_config=$(sed -n 's/^QT_CONFIG\s*+=\s*//p' "${qconfig_pri}")
- fi
-
- # generate list of QT_CONFIG entries from the existing list,
- # appending QCONFIG_ADD and excluding QCONFIG_REMOVE
- eshopts_push -s nullglob
- for x in "${ROOT}${QT5_ARCHDATADIR}"/mkspecs/gentoo/*-qconfig.pri; do
- qconfig_add+=" $(sed -n 's/^QCONFIG_ADD=\s*//p' "${x}")"
- qconfig_remove+=" $(sed -n 's/^QCONFIG_REMOVE=\s*//p' "${x}")"
- done
- eshopts_pop
- for x in ${qt_config} ${qconfig_add}; do
- if ! has "${x}" ${new_qt_config} ${qconfig_remove}; then
- new_qt_config+=" ${x}"
- fi
- done
-
- # now replace the existing QT_CONFIG with the generated list
- sed -i -e "s/^QT_CONFIG\s*+=.*/QT_CONFIG +=${new_qt_config}/" \
- "${qconfig_pri}" || eerror "Failed to sed QT_CONFIG in ${qconfig_pri}"
- else
- ewarn "${qconfig_pri} does not exist or is not a regular file"
- fi
-
- einfo "Updating QT.global_private in qmodule.pri"
-
- local qmodule_pri=${ROOT}${QT5_ARCHDATADIR}/mkspecs/qmodule.pri
- local qmodule_pri_orig=${ROOT}${QT5_ARCHDATADIR}/mkspecs/gentoo/qmodule-qtcore.pri
- if [[ -f ${qmodule_pri} && -f ${qmodule_pri_orig} ]]; then
- local x
- local qprivateconfig_enabled= qprivateconfig_disabled=
- local qprivateconfig_orig_enabled= qprivateconfig_orig_disabled=
- local new_qprivateconfig_enabled= new_qprivateconfig_disabled=
-
- # generate lists of QT.global_private.{dis,en}abled_features
- qprivateconfig_orig_enabled="$(sed -n 's/^QT.global_private.enabled_features\s=\s*//p' "${qmodule_pri_orig}")"
- qprivateconfig_orig_disabled="$(sed -n 's/^QT.global_private.disabled_features\s=\s*//p' "${qmodule_pri_orig}")"
- eshopts_push -s nullglob
- for x in "${ROOT}${QT5_ARCHDATADIR}"/mkspecs/gentoo/*-qmodule.pri; do
- qprivateconfig_enabled+=" $(sed -n 's/^QT.global_private.enabled_features\s=\s*//p' "${x}")"
- qprivateconfig_disabled+=" $(sed -n 's/^QT.global_private.disabled_features\s=\s*//p' "${x}")"
- done
- eshopts_pop
-
- # anything enabled is enabled, but anything disabled is
- # only disabled if it isn't enabled somewhere else.
- # this is because we need to forcibly disable some stuff
- # in qtcore to support split qtbase.
- new_qprivateconfig_enabled=${qprivateconfig_enabled}
- for x in ${qprivateconfig_disabled}; do
- if ! has "${x}" ${qprivateconfig_enabled}; then
- new_qprivateconfig_disabled+=" ${x}"
- fi
- done
-
- # check all items from the original qtcore qmodule.pri,
- # and add them to the appropriate list if not overridden
- # elsewhere
- for x in ${qprivateconfig_orig_enabled}; do
- if ! has "${x}" ${new_qprivateconfig_enabled} ${new_qprivateconfig_disabled}; then
- new_qprivateconfig_enabled+=" ${x}"
- fi
- done
- for x in ${qprivateconfig_orig_disabled}; do
- if ! has "${x}" ${new_qprivateconfig_enabled} ${new_qprivateconfig_disabled}; then
- new_qprivateconfig_disabled+=" ${x}"
- fi
- done
-
- # now replace the existing QT.global_private.{dis,en}abled_features
- # with the generated list
- sed \
- -e "s/^QT.global_private.enabled_features\s*=.*/QT.global_private.enabled_features =${new_qprivateconfig_enabled}/" \
- -e "s/^QT.global_private.disabled_features\s*=.*/QT.global_private.disabled_features =${new_qprivateconfig_disabled}/" \
- -i "${qmodule_pri}" || eerror "Failed to sed QT.global_private.enabled_features in ${qmodule_pri}"
- else
- ewarn "${qmodule_pri} or ${qmodule_pri_orig} does not exist or is not a regular file"
- fi
-}
-
-fi
-
-EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test pkg_postinst pkg_postrm
next reply other threads:[~2024-10-23 21:03 UTC|newest]
Thread overview: 453+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-23 21:03 Ionen Wolkens [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-23 21:03 [gentoo-commits] proj/qt:master commit in: eclass/ Ionen Wolkens
2024-05-28 19:34 Andreas Sturmlechner
2024-01-10 9:40 Andreas Sturmlechner
2024-01-03 18:12 Andreas Sturmlechner
2024-01-03 11:31 Sam James
2024-01-03 10:45 Sam James
2023-12-12 12:51 Andreas Sturmlechner
2023-10-15 20:00 Andreas Sturmlechner
2023-07-08 21:26 Andreas Sturmlechner
2023-06-22 15:53 Andreas Sturmlechner
2023-06-22 15:53 Andreas Sturmlechner
2023-06-13 8:14 Andreas Sturmlechner
2023-06-11 17:39 Andreas Sturmlechner
2023-06-11 17:36 Andreas Sturmlechner
2023-06-11 17:17 Andreas Sturmlechner
2023-06-11 17:17 Andreas Sturmlechner
2023-04-13 19:48 Andreas Sturmlechner
2023-03-26 12:28 Andreas Sturmlechner
2023-03-26 12:28 Andreas Sturmlechner
2023-03-26 12:28 Andreas Sturmlechner
2023-03-26 12:28 Andreas Sturmlechner
2023-01-08 14:38 Andreas Sturmlechner
2022-12-16 22:27 Jimi Huotari
2022-11-29 19:19 Andreas Sturmlechner
2022-10-16 13:37 Jimi Huotari
2022-08-03 9:14 Andreas Sturmlechner
2022-07-23 11:24 Andreas Sturmlechner
2022-07-23 11:24 Andreas Sturmlechner
2022-06-20 18:42 Jimi Huotari
2022-06-18 11:15 Andreas Sturmlechner
2022-06-15 17:20 Andreas Sturmlechner
2022-06-15 17:20 Andreas Sturmlechner
2022-04-18 12:48 Andreas Sturmlechner
2022-03-25 19:46 Andreas Sturmlechner
2022-03-21 10:06 Andreas Sturmlechner
2022-03-21 10:06 Andreas Sturmlechner
2022-03-12 13:54 Andreas Sturmlechner
2022-03-04 9:51 Andreas Sturmlechner
2022-01-07 15:49 Andreas Sturmlechner
2021-12-24 23:08 Andreas Sturmlechner
2021-11-17 6:08 Jimi Huotari
2021-11-17 6:08 Jimi Huotari
2021-11-17 6:08 Jimi Huotari
2021-09-08 8:10 Andreas Sturmlechner
2021-09-08 8:10 Andreas Sturmlechner
2021-09-05 20:15 Andreas Sturmlechner
2021-08-26 13:55 Andreas Sturmlechner
2021-08-20 12:36 Andreas Sturmlechner
2021-07-14 13:24 Andreas Sturmlechner
2021-07-14 13:24 Andreas Sturmlechner
2021-07-09 2:17 Davide Pesavento
2021-07-09 2:17 Davide Pesavento
2021-04-25 20:53 Andreas Sturmlechner
2021-04-25 20:53 Andreas Sturmlechner
2021-04-25 20:53 Andreas Sturmlechner
2021-04-25 20:53 Andreas Sturmlechner
2021-04-14 6:54 Jimi Huotari
2021-02-05 22:05 Andreas Sturmlechner
2021-02-02 0:43 Andreas Sturmlechner
2021-02-02 0:41 Andreas Sturmlechner
2021-01-10 16:16 Andreas Sturmlechner
2021-01-07 19:02 Andreas Sturmlechner
2021-01-01 18:58 Andreas Sturmlechner
2020-12-28 9:49 Andreas Sturmlechner
2020-12-26 20:18 Andreas Sturmlechner
2020-12-26 20:18 Andreas Sturmlechner
2020-10-18 20:51 Andreas Sturmlechner
2020-06-02 22:44 Andreas Sturmlechner
2020-06-01 23:41 Andreas Sturmlechner
2020-05-09 8:32 Andreas Sturmlechner
2020-04-28 21:41 Andreas Sturmlechner
2020-04-09 19:45 Andreas Sturmlechner
2020-04-09 17:32 Andreas Sturmlechner
2020-03-02 8:26 Andreas Sturmlechner
2019-12-16 15:06 Andreas Sturmlechner
2019-12-01 10:53 Andreas Sturmlechner
2019-10-21 11:23 Andreas Sturmlechner
2019-10-20 16:46 Andreas Sturmlechner
2019-09-18 14:02 Jimi Huotari
2019-06-20 11:07 Andreas Sturmlechner
2019-06-08 19:36 Jimi Huotari
2019-06-06 21:16 Andreas Sturmlechner
2019-04-30 13:06 Michael Palimaka
2019-02-28 14:19 Andreas Sturmlechner
2019-02-05 20:38 Andreas Sturmlechner
2018-12-27 20:37 Jimi Huotari
2018-12-06 20:49 Andreas Sturmlechner
2018-12-06 20:49 Andreas Sturmlechner
2018-12-06 20:49 Andreas Sturmlechner
2018-12-06 19:46 Andreas Sturmlechner
2018-12-06 3:47 Andreas Sturmlechner
2018-08-15 11:22 Jimi Huotari
2018-07-21 20:20 Davide Pesavento
2018-07-21 20:20 Davide Pesavento
2018-07-21 18:20 Davide Pesavento
2018-03-17 1:04 Michael Palimaka
2018-03-10 2:01 Michael Palimaka
2018-03-10 1:55 Michael Palimaka
2018-03-07 12:53 Michael Palimaka
2018-03-07 12:47 Michael Palimaka
2018-03-06 21:28 Davide Pesavento
2018-03-06 21:18 Davide Pesavento
2018-03-06 21:18 Davide Pesavento
2018-02-22 22:19 Andreas Sturmlechner
2018-02-10 0:00 Davide Pesavento
2018-02-09 23:35 Michael Palimaka
2018-02-09 23:19 Michael Palimaka
2018-02-02 11:54 Michael Palimaka
2018-02-01 18:56 Davide Pesavento
2018-02-01 18:52 Davide Pesavento
2018-01-26 0:02 Michael Palimaka
2018-01-25 12:10 Michael Palimaka
2018-01-25 12:10 Michael Palimaka
2018-01-14 5:48 Michael Palimaka
2018-01-01 1:13 Michael Palimaka
2017-12-22 12:00 Michael Palimaka
2017-12-10 11:29 Michael Palimaka
2017-12-09 11:55 Jimi Huotari
2017-11-27 2:14 Davide Pesavento
2017-11-27 1:29 Davide Pesavento
2017-10-12 11:27 Michael Palimaka
2017-10-10 11:13 Michael Palimaka
2017-10-07 3:38 Michael Palimaka
2017-09-22 14:45 Michael Palimaka
2017-09-22 14:45 Michael Palimaka
2017-09-08 15:52 Michael Palimaka
2017-09-03 0:24 Davide Pesavento
2017-09-03 0:24 Davide Pesavento
2017-08-27 5:37 Michael Palimaka
2017-05-18 0:23 Davide Pesavento
2017-05-18 0:23 Davide Pesavento
2017-04-25 19:21 Davide Pesavento
2017-04-24 1:03 Davide Pesavento
2017-04-15 4:46 Davide Pesavento
2016-12-07 10:27 Michael Palimaka
2016-12-04 15:36 Davide Pesavento
2016-12-04 3:01 Davide Pesavento
2016-12-04 2:55 Davide Pesavento
2016-12-01 13:49 Michael Palimaka
2016-11-30 17:23 Michael Palimaka
2016-11-19 16:59 Michael Palimaka
2016-08-12 18:44 Michael Palimaka
2016-07-07 21:45 Davide Pesavento
2016-06-12 22:57 Davide Pesavento
2016-06-12 1:19 Davide Pesavento
2016-06-11 0:13 Davide Pesavento
2016-05-30 0:40 Davide Pesavento
2016-04-27 12:16 Davide Pesavento
2016-04-27 12:16 Davide Pesavento
2016-04-07 16:23 Davide Pesavento
2016-04-07 14:13 Davide Pesavento
2016-03-13 21:39 Davide Pesavento
2016-03-13 20:28 Davide Pesavento
2016-03-13 20:28 Davide Pesavento
2016-03-13 2:04 Davide Pesavento
2016-03-13 1:27 Davide Pesavento
2016-03-13 1:27 Davide Pesavento
2016-03-13 1:27 Davide Pesavento
2016-02-23 1:15 Davide Pesavento
2016-02-21 21:36 Davide Pesavento
2016-02-08 0:02 Davide Pesavento
2016-01-23 2:03 Davide Pesavento
2016-01-23 2:03 Davide Pesavento
2016-01-23 2:03 Davide Pesavento
2016-01-20 18:04 Davide Pesavento
2016-01-20 15:47 Davide Pesavento
2016-01-19 19:14 Davide Pesavento
2016-01-19 17:09 Davide Pesavento
2016-01-14 18:28 Michael Palimaka
2016-01-08 0:09 Davide Pesavento
2016-01-07 19:10 Michael Palimaka
2016-01-06 18:19 Michael Palimaka
2016-01-06 18:19 Michael Palimaka
2016-01-06 13:49 Michael Palimaka
2015-12-28 3:40 Davide Pesavento
2015-12-28 3:40 Davide Pesavento
2015-12-28 1:42 Davide Pesavento
2015-12-28 1:42 Davide Pesavento
2015-12-28 1:42 Davide Pesavento
2015-12-28 1:42 Davide Pesavento
2015-12-27 2:32 Davide Pesavento
2015-12-26 21:52 Davide Pesavento
2015-12-20 2:05 Davide Pesavento
2015-12-20 1:57 Davide Pesavento
2015-11-22 23:09 Davide Pesavento
2015-11-22 22:48 Davide Pesavento
2015-11-19 17:13 Davide Pesavento
2015-11-19 16:28 Davide Pesavento
2015-11-19 15:48 Michael Palimaka
2015-11-19 15:48 Michael Palimaka
2015-08-27 22:35 Davide Pesavento
2015-08-22 1:56 Davide Pesavento
2015-08-22 1:56 Davide Pesavento
2015-08-04 21:40 Davide Pesavento
2015-07-08 0:06 Davide Pesavento
2015-07-05 13:26 Davide Pesavento
2015-06-29 0:31 Davide Pesavento
2015-06-24 18:46 Davide Pesavento
2015-06-23 20:57 Davide Pesavento
2015-06-16 20:13 Davide Pesavento
2015-06-16 19:23 Davide Pesavento
2015-06-16 17:42 Davide Pesavento
2015-06-16 17:23 Davide Pesavento
2015-06-13 23:08 Davide Pesavento
2015-06-11 17:47 Davide Pesavento
2015-06-11 0:21 Davide Pesavento
2015-06-11 0:03 Davide Pesavento
2015-06-10 1:57 Davide Pesavento
2015-05-31 19:17 Davide Pesavento
2015-05-31 17:33 Michael Palimaka
2015-05-31 14:13 Davide Pesavento
2015-05-31 12:53 Davide Pesavento
2015-05-10 15:28 Davide Pesavento
2015-05-10 14:50 Davide Pesavento
2015-05-10 1:18 Davide Pesavento
2015-05-06 1:14 Davide Pesavento
2015-05-05 17:26 Davide Pesavento
2015-04-19 16:55 Michael Palimaka
2015-04-14 17:34 Davide Pesavento
2015-04-12 16:30 Davide Pesavento
2015-04-12 15:54 Davide Pesavento
2015-04-12 15:54 Davide Pesavento
2015-04-12 15:54 Davide Pesavento
2015-03-30 19:30 Davide Pesavento
2015-03-30 19:30 Davide Pesavento
2015-03-23 2:16 Davide Pesavento
2015-03-15 1:28 Davide Pesavento
2015-03-11 14:11 Michael Palimaka
2015-03-06 14:11 Michael Palimaka
2015-02-26 2:15 Davide Pesavento
2015-02-18 14:24 Davide Pesavento
2015-02-11 15:11 Ben de Groot
2015-01-18 1:59 Davide Pesavento
2015-01-18 1:59 Davide Pesavento
2014-12-12 17:46 Davide Pesavento
2014-11-20 2:51 Davide Pesavento
2014-11-17 2:18 Davide Pesavento
2014-11-17 1:34 Davide Pesavento
2014-11-14 2:30 Davide Pesavento
2014-11-10 3:02 Davide Pesavento
2014-11-01 23:46 Davide Pesavento
2014-11-01 23:35 Davide Pesavento
2014-10-26 1:22 Davide Pesavento
2014-10-26 1:22 Davide Pesavento
2014-10-26 1:22 Davide Pesavento
2014-10-20 23:50 Davide Pesavento
2014-10-13 19:35 Davide Pesavento
2014-10-09 17:00 Davide Pesavento
2014-10-07 16:26 Davide Pesavento
2014-09-22 0:09 Davide Pesavento
2014-09-16 14:15 Davide Pesavento
2014-09-11 0:06 Davide Pesavento
2014-08-29 23:01 Davide Pesavento
2014-08-27 2:06 Davide Pesavento
2014-08-27 0:40 Davide Pesavento
2014-08-27 0:10 Davide Pesavento
2014-08-25 1:38 Davide Pesavento
2014-08-19 1:07 Davide Pesavento
2014-08-15 1:53 ` Davide Pesavento
2014-08-19 1:07 Davide Pesavento
2014-08-15 1:53 ` Davide Pesavento
2014-08-15 1:53 Davide Pesavento
2014-08-19 1:07 ` Davide Pesavento
2014-08-15 1:53 Davide Pesavento
2014-08-19 1:07 ` Davide Pesavento
2014-08-05 0:08 Davide Pesavento
2014-07-30 19:35 Davide Pesavento
2014-07-29 23:40 Davide Pesavento
2014-07-28 21:53 Davide Pesavento
2014-07-28 21:22 Davide Pesavento
2014-07-28 20:26 Davide Pesavento
2014-07-27 19:54 Michael Palimaka
2014-07-27 13:36 Davide Pesavento
2014-07-26 12:43 Davide Pesavento
2014-07-26 10:46 Davide Pesavento
2014-07-24 1:05 Davide Pesavento
2014-07-24 1:05 Davide Pesavento
2014-07-24 1:05 Davide Pesavento
2014-07-16 17:43 Michael Palimaka
2014-07-13 23:36 Davide Pesavento
2014-07-11 14:06 Davide Pesavento
2014-07-11 13:46 Davide Pesavento
2014-07-08 16:34 Davide Pesavento
2014-07-08 10:46 Michael Palimaka
2014-07-07 21:02 Davide Pesavento
2014-06-29 0:51 Davide Pesavento
2014-06-28 23:56 Davide Pesavento
2014-06-22 18:28 Davide Pesavento
2014-06-09 20:39 Davide Pesavento
2014-06-05 10:28 Davide Pesavento
2014-06-05 9:45 Davide Pesavento
2014-06-04 2:08 Davide Pesavento
2014-06-04 2:08 Davide Pesavento
2014-06-04 2:08 Davide Pesavento
2014-06-04 0:13 Davide Pesavento
2014-06-04 0:13 Davide Pesavento
2014-06-04 0:13 Davide Pesavento
2014-06-03 14:04 Davide Pesavento
2014-06-01 2:41 Davide Pesavento
2014-06-01 2:41 Davide Pesavento
2014-06-01 2:41 Davide Pesavento
2014-05-29 21:44 Davide Pesavento
2014-05-29 17:40 Davide Pesavento
2014-05-27 10:56 Davide Pesavento
2014-05-27 10:48 Davide Pesavento
2014-05-27 10:48 Davide Pesavento
2014-05-27 10:48 Davide Pesavento
2014-05-22 1:07 Davide Pesavento
2014-05-19 18:02 Davide Pesavento
2014-05-19 18:02 Davide Pesavento
2014-05-09 19:19 Michael Palimaka
2014-05-09 19:14 Michael Palimaka
2014-03-27 13:43 Michael Palimaka
2014-03-26 14:31 Davide Pesavento
2014-01-22 17:45 Davide Pesavento
2013-11-11 19:43 Davide Pesavento
2013-11-11 19:32 Davide Pesavento
2013-10-23 17:15 Davide Pesavento
2013-10-23 0:34 Davide Pesavento
2013-10-22 22:34 Davide Pesavento
2013-10-20 21:22 Davide Pesavento
2013-10-14 17:33 Davide Pesavento
2013-10-07 23:31 Davide Pesavento
2013-07-28 0:01 Davide Pesavento
2013-07-06 8:01 Davide Pesavento
2013-06-10 8:22 Davide Pesavento
2013-06-10 2:08 Davide Pesavento
2013-06-10 2:03 Davide Pesavento
2013-06-10 2:03 Davide Pesavento
2013-06-10 1:48 Davide Pesavento
2013-06-10 1:48 Davide Pesavento
2013-05-31 9:02 Davide Pesavento
2013-04-07 13:20 Davide Pesavento
2013-03-16 8:32 Davide Pesavento
2013-03-05 19:11 Davide Pesavento
2013-01-03 8:42 Davide Pesavento
2013-01-02 0:02 Davide Pesavento
2013-01-02 0:02 Davide Pesavento
2012-12-31 6:27 Davide Pesavento
2012-12-22 3:34 Davide Pesavento
2012-12-22 3:34 Davide Pesavento
2012-12-22 3:34 Davide Pesavento
2012-12-20 3:16 Davide Pesavento
2012-12-09 16:40 Davide Pesavento
2012-12-09 16:40 Davide Pesavento
2012-12-08 17:52 Davide Pesavento
2012-12-08 12:45 Davide Pesavento
2012-12-07 16:28 Davide Pesavento
2012-12-07 11:55 Davide Pesavento
2012-12-07 11:15 Davide Pesavento
2012-12-07 11:06 Davide Pesavento
2012-11-22 11:00 Davide Pesavento
2012-11-19 10:38 Davide Pesavento
2012-11-19 4:12 Davide Pesavento
2012-11-19 3:51 Davide Pesavento
2012-11-19 3:51 Davide Pesavento
2012-11-17 22:52 Davide Pesavento
2012-11-12 9:20 Davide Pesavento
2012-11-12 9:20 Davide Pesavento
2012-11-12 9:20 Davide Pesavento
2012-11-12 4:35 Davide Pesavento
2012-11-12 4:07 Davide Pesavento
2012-11-12 4:07 Davide Pesavento
2012-11-12 4:07 Davide Pesavento
2012-11-09 9:37 Davide Pesavento
2012-11-09 9:24 Davide Pesavento
2012-11-09 9:24 Davide Pesavento
2012-11-07 3:12 Davide Pesavento
2012-11-01 8:26 Davide Pesavento
2012-10-20 0:26 Davide Pesavento
2012-10-20 0:26 Davide Pesavento
2012-10-19 15:31 Davide Pesavento
2012-10-06 2:04 Davide Pesavento
2012-10-04 3:57 Davide Pesavento
2012-10-04 1:22 Davide Pesavento
2012-10-04 1:12 Davide Pesavento
2012-10-04 1:12 Davide Pesavento
2012-09-27 22:39 Davide Pesavento
2012-09-27 22:23 Davide Pesavento
2012-09-05 2:21 Davide Pesavento
2012-08-31 7:06 Davide Pesavento
2012-08-31 7:06 Davide Pesavento
2012-08-28 7:37 Davide Pesavento
2012-08-13 4:48 Davide Pesavento
2012-08-09 8:04 Davide Pesavento
2012-08-06 3:04 Davide Pesavento
2012-08-06 3:04 Davide Pesavento
2012-08-06 0:57 Davide Pesavento
2012-07-25 14:46 Michael Palimaka
2012-07-23 18:10 Davide Pesavento
2012-07-23 13:24 Ben de Groot
2012-07-23 12:31 Ben de Groot
2012-07-20 18:27 Davide Pesavento
2012-07-19 15:27 Ben de Groot
2012-07-19 6:07 Ben de Groot
2012-07-15 11:59 Ben de Groot
2012-07-14 16:45 Ben de Groot
2012-07-14 12:34 Ben de Groot
2012-07-12 21:09 Davide Pesavento
2012-07-11 0:07 Davide Pesavento
2012-07-10 21:46 Davide Pesavento
2012-07-10 20:44 Davide Pesavento
2012-07-10 20:44 Davide Pesavento
2012-07-10 20:44 Davide Pesavento
2012-07-10 20:44 Davide Pesavento
2012-07-05 15:23 Davide Pesavento
2012-07-05 14:19 Davide Pesavento
2012-07-03 23:03 Davide Pesavento
2012-07-01 23:39 Davide Pesavento
2012-06-30 0:41 Davide Pesavento
2012-06-29 23:09 Davide Pesavento
2012-06-29 15:16 Davide Pesavento
2012-06-29 12:48 Davide Pesavento
2012-06-29 12:19 Davide Pesavento
2012-06-29 0:17 Davide Pesavento
2012-06-28 19:01 Davide Pesavento
2012-06-26 23:31 Davide Pesavento
2012-06-24 21:05 Davide Pesavento
2012-06-24 21:05 Davide Pesavento
2012-06-18 21:52 Davide Pesavento
2012-06-17 21:23 Davide Pesavento
2012-06-17 21:23 Davide Pesavento
2012-06-17 21:23 Davide Pesavento
2012-06-11 23:59 Davide Pesavento
2012-06-11 23:12 Davide Pesavento
2012-06-11 22:37 Davide Pesavento
2012-06-10 17:56 Davide Pesavento
2012-06-08 19:14 Davide Pesavento
2012-06-08 0:14 Davide Pesavento
2012-06-08 0:07 Davide Pesavento
2012-06-07 15:39 Davide Pesavento
2012-06-07 14:12 Davide Pesavento
2012-06-06 17:53 Davide Pesavento
2012-05-25 12:09 Davide Pesavento
2012-05-22 15:13 Davide Pesavento
2012-05-22 13:00 Johannes Huber
2012-05-21 23:42 Davide Pesavento
2012-05-20 17:14 Davide Pesavento
2012-05-07 21:30 Davide Pesavento
2012-05-03 7:24 Johannes Huber
2012-04-26 13:06 Davide Pesavento
2012-04-19 14:55 Davide Pesavento
2012-04-05 13:37 Davide Pesavento
2012-04-05 12:51 Davide Pesavento
2012-04-04 18:24 Michael Palimaka
2012-04-04 18:24 Michael Palimaka
2012-04-04 17:54 Michael Palimaka
2012-04-01 18:03 Michael Palimaka
2012-03-31 12:21 Davide Pesavento
2012-03-30 15:20 Davide Pesavento
2012-03-25 17:13 Davide Pesavento
2012-01-31 23:10 Markos Chandras
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=1729717254.6fe82082a31990f73ee4c7caaa1bebafbd369525.ionen@gentoo \
--to=ionen@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