Remove old eclasses.
Thanks to Fat-Zer. 2011 - 2020. Signed-off-by: Chris <xchrisx@uber.space>pull/126/head
parent
e412aa0434
commit
017a1d752a
@ -1,440 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
#
|
||||
# Original Author: fat-zer
|
||||
# Purpose: support planty of ebuilds for trinity project (a kde3 fork).
|
||||
#
|
||||
|
||||
RESTRICT=network-sandbox
|
||||
inherit trinity-functions cmake-utils base
|
||||
|
||||
# FIXME we don't need to write to both
|
||||
addwrite "/usr/qt/3/etc/settings"
|
||||
addpredict "/usr/qt/3/etc/settings"
|
||||
addwrite "/usr/tqt3/etc/settings"
|
||||
addpredict "/usr/tqt3/etc/settings"
|
||||
|
||||
# ban EAPI 0, 1 and 2
|
||||
case $EAPI in
|
||||
0|1|2|3|4) die "EAPI=${EAPI} is not supported" ;;
|
||||
5) ;;
|
||||
*) die "Unknown EAPI=${EAPI}"
|
||||
esac
|
||||
|
||||
# @ECLASS-VARIABLE: BUILD_TYPE
|
||||
# @DESCRIPTION:
|
||||
# Determins he build type: live or release
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
BUILD_TYPE="live"
|
||||
else
|
||||
BUILD_TYPE="release"
|
||||
fi
|
||||
export BUILD_TYPE
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_MODULE_NAME
|
||||
# @DESCRIPTION:
|
||||
# The name of trinity module; It's used for multiple purposes. First of all it
|
||||
# determines the tarball name (git repository for live packages)
|
||||
echo "${TRINITY_MODULE_NAME:=${PN}}" >/dev/null
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_SCM
|
||||
# @DESCRIPTION:
|
||||
# Determins from what version control system code is chiking out for live
|
||||
# ebuilds.
|
||||
|
||||
# @ECLASS-VARIABLE: TMP_DOCDIR
|
||||
# @DESCRIPTION:
|
||||
# A temporary directory used to copy common documentation before installing it
|
||||
#
|
||||
# @ECLASS-VARIABLE: TRINTY_BASE_NO_INSTALL_DOC
|
||||
# @DESCRIPTION:
|
||||
# if setted to anything except "no" this variable prevents
|
||||
# trinity-base_src_install() to install documentation
|
||||
#
|
||||
|
||||
# @ECLASS-VARIABLE: TRINTY_LANGS
|
||||
# @DESCRIPTION:
|
||||
# This is a whitespace-separated list of translations this ebuild supports.
|
||||
# These translations are automatically added to IUSE. Therefore ebuilds must set
|
||||
# this variable before inheriting any eclasses. To enable only selected
|
||||
# translations, ebuilds must call enable_selected_linguas(). kde4-{base,meta}.eclass does
|
||||
# this for you.
|
||||
|
||||
# @ECLASS-VARIABLE: TRINTY_DOC_LANGS
|
||||
# @DESCRIPTION:
|
||||
# This is a whitespace-separated list of translations this ebuild supports.
|
||||
# These translations are automatically added to IUSE. Therefore ebuilds must set
|
||||
# this variable before inheriting any eclasses. To enable only selected
|
||||
# translations, ebuilds must call enable_selected_linguas(). kde4-{base,meta}.eclass does
|
||||
# this for you.
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_HANDBOOK
|
||||
# @DESCRIPTION:
|
||||
# Set to enable handbook in application. Possible values are 'always', 'optional'
|
||||
# (handbook USE flag) and 'never'.
|
||||
# This variable must be set before inheriting any eclasses. Defaults to 'never'.
|
||||
# As well It ensures buildtime and runtime dependencies.
|
||||
TRINITY_HANDBOOK="${TRINITY_HANDBOOK:-never}"
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_EXTRAGEAR_PACKAGING
|
||||
# @DESCRIPTION:
|
||||
# Set TRINITY_EXTRAGEAR_PACKAGING=yes before inheriting if the package use extragear-like
|
||||
# packaging and then supports ${TRINITY_LANGS}, ${TRINITY_DOC_LANGS} and
|
||||
# ${TRINITY_HANDBOOK} variables. The translations are found in the directory
|
||||
# pointed by the TEG_PO_DIR variable.
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_GIT_MIRROR
|
||||
# @DESCRIPTION:
|
||||
# User (or ebuild) can decide another git mirror if it's needed;
|
||||
# Defaults to http://scm.trinitydesktop.org/scm/git
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_GIT_BRANCH
|
||||
# @DESCRIPTION:
|
||||
# Specify git branch for live ebuilds. Default: master
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_COMMON_DOCS
|
||||
# @DESCRIPTION:
|
||||
# Common doc names that was found in trinity project's dirs.
|
||||
TRINITY_COMMON_DOCS="AUTHORS BUGS CHANGELOG CHANGES COMMENTS COMPLIANCE COMPILING
|
||||
CONFIG_FORMAT CONFIGURING COPYING COPYRIGHT CREDITS DEBUG DESIGN FAQ
|
||||
HACKING HISTORY HOWTO IDEAS INSTALL LICENSE MAINTAINERS NAMING NEWS
|
||||
NOTES PLUGINS PORTING README SECURITY-HOLES TASKGROUPS TEMPLATE
|
||||
TESTCASES THANKS THOUGHTS TODO VERSION"
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_TARBALL
|
||||
# @DESCRIPTION:
|
||||
# This variable holds the name of the tarboll with current module's source code.
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_BASE_SRC_URI
|
||||
# @DESCRIPTION:
|
||||
# The top SRC_URI for all trinity packages
|
||||
TRINITY_BASE_SRC_URI="http://www.mirrorservice.org/sites/trinitydesktop.org/trinity/releases/"
|
||||
# TRINITY_BASE_SRC_URI="http://trinity.blackmag.net/releases" # the old one
|
||||
|
||||
#reset TRINITY_SCM and inherit proper eclass
|
||||
if [[ ${BUILD_TYPE} = live ]]; then
|
||||
# set default TRINITY_SCM if not set
|
||||
[[ -z "$TRINITY_SCM" ]] && TRINITY_SCM=git
|
||||
|
||||
case ${TRINITY_SCM} in
|
||||
git) inherit git-2 ;;
|
||||
*) die "Unsupported TRINITY_SCM=${TRINITY_SCM}" ;;
|
||||
esac
|
||||
|
||||
#set some varyables
|
||||
case ${TRINITY_SCM} in
|
||||
git)
|
||||
EGIT_REPO_URI="${TRINITY_GIT_MIRROR:=https://mirror.git.trinitydesktop.org/gitea/TDE}/${TRINITY_MODULE_NAME}"
|
||||
EGIT_BRANCH="${TRINITY_GIT_BRANCH:=master}"
|
||||
EGIT_PROJECT="trinity/${TRINITY_MODULE_NAME}"
|
||||
EGIT_HAS_SUBMODULES="yes"
|
||||
;;
|
||||
esac
|
||||
S="${WORKDIR}/${TRINITY_MODULE_NAME}"
|
||||
elif [[ "${BUILD_TYPE}" == release ]]; then
|
||||
mod_name="${TRINITY_MODULE_NAME}"
|
||||
mod_ver="${TRINITY_MODULE_VER:=${PV}}"
|
||||
|
||||
case ${mod_ver} in
|
||||
3.5.13.1)
|
||||
full_mod_name="${mod_name}-${mod_ver}"
|
||||
TRINITY_TARBALL="${full_mod_name}.tar.gz" ;;
|
||||
3.5.13.2)
|
||||
full_mod_name="${mod_name}-trinity-${mod_ver}"
|
||||
TRINITY_TARBALL="${full_mod_name}.tar.xz" ;;
|
||||
*)
|
||||
full_mod_name="${mod_name}-${mod_ver}"
|
||||
TRINITY_TARBALL="${full_mod_name}.tar.xz"
|
||||
esac
|
||||
|
||||
if [[ -n "${TRINITY_MODULE_TYPE}" ]] ; then
|
||||
SRC_URI="${TRINITY_BASE_SRC_URI}/${mod_ver}/${TRINITY_MODULE_TYPE}/$TRINITY_TARBALL"
|
||||
else
|
||||
SRC_URI="${TRINITY_BASE_SRC_URI}/${mod_ver}/$TRINITY_TARBALL"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${full_mod_name}"
|
||||
else
|
||||
die "Unknown BUILD_TYPE=${BUILD_TYPE}"
|
||||
fi
|
||||
|
||||
|
||||
if [[ -n "${TRINITY_EXTRAGEAR_PACKAGING}" ]]; then
|
||||
# @ECLASS-VARIABLE: TEG_PO_DIR
|
||||
# @DESCRIPTION:
|
||||
# Change the translation directory for extragear packages. The default is ${S}/po
|
||||
TEG_PO_DIR="${TEG_PO_DIR:-${S}/po}"
|
||||
|
||||
# @ECLASS-VARIABLE: TEG_DOC_DIR
|
||||
# @DESCRIPTION:
|
||||
# Change the documentation directory for extragear packages. The default is
|
||||
# ${S}/doc
|
||||
TEG_DOC_DIR="${TEG_DOC_DIR:-${S}/doc}"
|
||||
|
||||
if [[ -n "${TRINITY_LANGS}" || -n "${TRINITY_DOC_LANGS}" ]]; then
|
||||
for lang in ${TRINITY_LANGS} ${TRINITY_DOC_LANGS}; do
|
||||
IUSE="${IUSE} linguas_${lang}"
|
||||
done
|
||||
|
||||
trinityhandbookdepend="
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xsl-stylesheets
|
||||
"
|
||||
case ${TRINITY_HANDBOOK} in
|
||||
yes | always)
|
||||
DEPEDND+=" ${trinityhandbookdepend}"
|
||||
;;
|
||||
optional)
|
||||
IUSE+=" +handbook"
|
||||
DEPEND+=" handbook? ( ${trinityhandbookdepend} )"
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
# @FUNCTION: trinity-base_src_unpack
|
||||
# @DESCRIPTION:
|
||||
# A default src unpack function to be call git-2_src_unpack either
|
||||
trinity-base_src_unpack() {
|
||||
if [[ ${BUILD_TYPE} = live ]]; then
|
||||
case "${TRINITY_SCM}" in
|
||||
|
||||
git)
|
||||
git-2_src_unpack
|
||||
;;
|
||||
*) die "TRINITY_SCM: ${TRINITY_SCM} is not supported by ${FUNCNAME}" ;;
|
||||
esac
|
||||
else
|
||||
base_src_unpack
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# @FUNCTION: trinity-base_src_prepare
|
||||
# @DESCRIPTION:
|
||||
# General pre-configure and pre-compile function for Trinity applications.
|
||||
trinity-base_src_prepare() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
# # Only enable selected languages, used for KDE extragear apps.
|
||||
# if [[ -n ${KDE_LINGUAS} ]]; then
|
||||
# enable_selected_linguas
|
||||
# fi
|
||||
local dir lang
|
||||
|
||||
# SCM bootstrap
|
||||
if [[ ${BUILD_TYPE} = live ]]; then
|
||||
case ${TRINITY_SCM} in
|
||||
svn) subversion_src_prepare ;;
|
||||
git) ;;
|
||||
*) die "TRINITY_SCM: ${TRINITY_SCM} is not supported by ${FUNCNAME}"
|
||||
esac
|
||||
fi
|
||||
|
||||
# Apply patches
|
||||
base_src_prepare
|
||||
|
||||
# Handle documentation and translations for extragear packages
|
||||
if [[ -n "$TRINITY_EXTRAGEAR_PACKAGING" ]]; then
|
||||
# remove not selected languages
|
||||
if [[ -n $TRINITY_LANGS ]]; then
|
||||
einfo "Removing unselected translations from ${TEG_PO_DIR}"
|
||||
for dir in $(find ${TEG_PO_DIR} -mindepth 1 -maxdepth 1 -type d ); do
|
||||
lang="$(basename "$dir")"
|
||||
if ! has "$lang" ${TRINITY_LANGS}; then
|
||||
eerror "Translation $lang seems to present in the package but is not supported by the ebuild"
|
||||
elif ! has $lang ${LINGUAS}; then
|
||||
rm -rf $dir
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# if we removed all translations we should point it
|
||||
if [[ -z $(find ${TEG_PO_DIR} -mindepth 1 -maxdepth 1 -type d) ]]; then
|
||||
TRINITY_NO_TRANSLATIONS=yes
|
||||
fi
|
||||
|
||||
# remove not selected documentation
|
||||
if [[ -n $TRINITY_DOC_LANGS ]]; then
|
||||
einfo "Removing unselected documentation from ${TEG_DOC_DIR}"
|
||||
for dir in $(find ${TEG_DOC_DIR} -mindepth 1 -maxdepth 1 -type d ); do
|
||||
lang="$(basename "$dir")"
|
||||
if [[ "$lang" == "${PN}" || \
|
||||
"$lang" == "${TRINITY_MODULE_NAME}" ]] ; then
|
||||
echo -n; # do nothing it's main documentation
|
||||
elif ! has "$lang" ${TRINITY_LANGS}; then
|
||||
eerror "Documentation translated to language $lang seems to present in the package but is not supported by the ebuild"
|
||||
elif ! has $lang ${LINGUAS}; then
|
||||
rm -rf $dir
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# @FUNCTION: trinity-base_src_configure
|
||||
# @DESCRIPTION:
|
||||
# Call standart cmake-utils_src_onfigure and add some common arguments.
|
||||
trinity-base_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
local eg_cmakeargs
|
||||
|
||||
[[ -n "${PREFIX}" ]] && export PREFIX="${TDEDIR}"
|
||||
|
||||
if [[ -n "$TRINITY_EXTRAGEAR_PACKAGING" ]]; then
|
||||
eg_cmakeargs=( -DBUILD_ALL=ON )
|
||||
if [[ "$TRINITY_NO_TRANSLATIONS" == "yes" ]]; then
|
||||
eg_cmakeargs=( -DBUILD_TRANSLATIONS=OFF "${eg_cmakeargs[@]}" )
|
||||
else
|
||||
eg_cmakeargs=( -DBUILD_TRANSLATIONS=ON "${eg_cmakeargs[@]}" )
|
||||
fi
|
||||
if [[ "${TRINITY_HANDBOOK}" == optional ]]; then
|
||||
eg_cmakeargs=(
|
||||
$(cmake-utils_use_with handbook DOC)
|
||||
"${eg_cmakeargs[@]}" )
|
||||
fi
|
||||
fi
|
||||
|
||||
mycmakeargs=(
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}${TDEDIR}"
|
||||
-DCMAKE_INSTALL_RPATH="${EPREFIX}${TDEDIR}"
|
||||
$([[ "${TRINITY_NEED_ARTS}" == "optional" ]] && cmake-utils_use_with arts ARTS)
|
||||
"${eg_cmakeargs[@]}"
|
||||
"${mycmakeargs[@]}"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-base_src_compile
|
||||
# @DESCRIPTION:
|
||||
# Just call cmake-utils_src_compile.
|
||||
trinity-base_src_compile() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
cmake-utils_src_compile
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-base_src_install
|
||||
# @DESCRIPTION:
|
||||
# Call standart cmake-utils_src_install and installs common documentation.
|
||||
trinity-base_src_install() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
cmake-utils_src_install
|
||||
|
||||
trinity-base_fix_desktop_files
|
||||
if [[ -z "$TRINITY_BASE_NO_INSTALL_DOC" ||
|
||||
"$TRINITY_BASE_NO_INSTALL_DOC" == "no" ]]; then
|
||||
trinity-base_create_tmp_docfiles
|
||||
trinity-base_install_docfiles
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-base_create_tmp_docfiles
|
||||
# @DESCRIPTION:
|
||||
# Create docfiles in the form ${TMP_DOCDIR}/path.to.docfile.COMMON_NAME
|
||||
# Also see the description for TRINITY_COMMON_DOCS and TMP_DOCDIR.
|
||||
trinity-base_create_tmp_docfiles() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
local srcdirs dir docfile targetdoc
|
||||
|
||||
if [[ -z "$TMP_DOCDIR" || ! -d "$TMP_DOCDIR" ]] ; then
|
||||
TMP_DOCDIR="$T/docs"
|
||||
mkdir -p ${TMP_DOCDIR}
|
||||
fi
|
||||
|
||||
if [[ -z "$@" ]] ; then
|
||||
srcdirs="./"
|
||||
else
|
||||
srcdirs="$@"
|
||||
fi
|
||||
|
||||
einfo "Generating documentation list..."
|
||||
for dir in $srcdirs; do
|
||||
for doc in ${TRINITY_COMMON_DOCS}; do
|
||||
for docfile in $(find $dir -type f -name "*${doc}*"); do
|
||||
targetdoc="${docfile//\//.}"
|
||||
targetdoc="${targetdoc#..}"
|
||||
cp "${docfile}" "$TMP_DOCDIR/${targetdoc}"
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
# if [[ "${TRINITY_INSTALL_ROOT_DOCS}" == "yes" && " ${srcdirs} " == "* ./ *" ]]; then
|
||||
# for doc in ${TRINITY_COMMON_DOCS}; do
|
||||
# for docfile in $(ls ./"*${doc}*"); do
|
||||
# targetdoc="${docfile//\//.}"
|
||||
# targetdoc="${targetdoc#..}"
|
||||
# cp "${docfile}" "$TMP_DOCDIR/${targetdoc}"
|
||||
# done
|
||||
# done
|
||||
# fi
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-base_install_docfiles
|
||||
# @DESCRIPTION:
|
||||
# Install documentation from ${TMP_DOCDIR} or from first argument.
|
||||
trinity-base_install_docfiles() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
local doc docdir
|
||||
[[ -n "$TMP_DOCDIR" ]] && docdir="$TMP_DOCDIR"
|
||||
[[ -n "$1" ]] && docdir="$1"
|
||||
[[ -z "$docdir" ]] && die "docdir is not set in ${FUNCNAME}."
|
||||
|
||||
pushd "${docdir}" >/dev/null
|
||||
find . -maxdepth 1 -type f | while read doc; do
|
||||
einfo "Installing documentation: ${doc##*/}"
|
||||
dodoc "${doc}"
|
||||
done
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-base_fix_desktop_files
|
||||
# @DESCRIPTION:
|
||||
# Perform desktop files modifications according to current version. You can pass
|
||||
# either desktop files or direcories to the parametrs. In case you'd pass a
|
||||
# directory the function will recursively search for all desktop files and
|
||||
# modify them. If no argument specified the function assume to work on the ${D};
|
||||
trinity-base_fix_desktop_files() {
|
||||
|
||||
# Test if we have to perform any file fixing for current version
|
||||
case "3.5" in
|
||||
*${TRINITY_VER}*);;
|
||||
*) return 0 ;;
|
||||
esac
|
||||
|
||||
local file_list dir_list f
|
||||
|
||||
if [ "$#" != 0 ]; then
|
||||
# Get directories and files from arguments
|
||||
for f in $@; do
|
||||
if [ -f "$f" ]; then
|
||||
file_list+=" $f"
|
||||
elif [ -d "$f" ]; then
|
||||
dir_list+=" $f"
|
||||
else
|
||||
eerror "${FUNCNAME}: bad argument type: $(stat -c %F "$f")"
|
||||
fi
|
||||
done
|
||||
else
|
||||
dir_list="${D}"
|
||||
fi
|
||||
|
||||
# Recursivly search for desktop files in directories
|
||||
for f in $dir_list; do
|
||||
file_list+="$(find ${f} -type f -name '*.desktop')"
|
||||
done
|
||||
|
||||
# Performe the updates
|
||||
case "${TRINITY_VER}" in
|
||||
3.5)
|
||||
for f in $file_list; do
|
||||
sed -i '/^OnlyShowIn=/s/KDE/TDE/g' "$f"
|
||||
done;;
|
||||
esac
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS src_configure src_compile src_install src_prepare
|
@ -1,205 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
#
|
||||
# Original Author: Alexander Golubev (Fat-Zer)
|
||||
# Purpose: basic trinity functions and variables
|
||||
#
|
||||
|
||||
inherit versionator multilib
|
||||
|
||||
TRINITY_LIVEVER="14.0.0"
|
||||
|
||||
# @FUNCTION: set-trinityver
|
||||
# @USAGE: < version >
|
||||
# @DESCRIPTION:
|
||||
# Sets the right TRINITY_VER, TDEDIR etc...
|
||||
# !!! unfinished
|
||||
set-trinityver() {
|
||||
debug-print-function $FUNCNAME "$@"
|
||||
|
||||
# set install location:
|
||||
# - 3rd party apps go into /usr, and have SLOT="0".
|
||||
# - kde-base category ebuilds go into /usr/kde/$MAJORVER.$MINORVER,
|
||||
# and have SLOT="$MAJORVER.$MINORVER".
|
||||
# - This function exports $PREFIX (location to install to) and $KDEDIR
|
||||
# (location of kdelibs to link against) for all ebuilds.
|
||||
#
|
||||
# -- Overrides - deprecated but working for now: --
|
||||
# - If $KDEPREFIX is defined (in the profile or env), it overrides everything
|
||||
# and both base and 3rd party kde stuff goes in there.
|
||||
# - If $KDELIBSDIR is defined, the kdelibs installed in that location will be
|
||||
# used, even by kde-base packages.
|
||||
|
||||
# get version elements
|
||||
if [[ -n "$1" ]]; then
|
||||
ETRINITY_VER="$1"
|
||||
else
|
||||
ETRINITY_VER="$PV"
|
||||
fi
|
||||
|
||||
case "$ETRINITY_VER" in
|
||||
3.* )
|
||||
export TRINITY_VER="$(get_version_component_range 1-2 "${ETRINITY_VER}")" ;;
|
||||
9999 )
|
||||
export TRINITY_VER="$(get_major_version "$TRINITY_LIVEVER" )" ;;
|
||||
* )
|
||||
export TRINITY_VER="$(get_major_version "$ETRINITY_VER" )" ;;
|
||||
esac
|
||||
|
||||
export TDEDIR="/usr/trinity/${TRINITY_VER}"
|
||||
export TDEDIRS="/usr/trinity/${TRINITY_VER}"
|
||||
|
||||
# 3.5.x still uses KDE* variables
|
||||
if [ "${TRINITY_VER}" = "3.5" ]; then
|
||||
export KDEDIR="$TDEDIR"
|
||||
export KDEDIRS="$TDEDIRS"
|
||||
fi
|
||||
|
||||
# this sould solve problems like "cannot find libraries" espessialy when
|
||||
# compiling kdelibs
|
||||
# NOTE: That can breaks compilation of tdelibs:
|
||||
# binaries which runs during compilation are tring to load shared
|
||||
# libraries from the TDE's directory wich may be broken.
|
||||
# TODO: fix that issue for tdelibs
|
||||
adjust-trinity-paths
|
||||
}
|
||||
|
||||
# @FUNCTION: get-trinity-libdirs
|
||||
# @USAGE:
|
||||
# @DESCRIPTION:
|
||||
# lists all the trinity library directories
|
||||
get-trinity-libdirs() {
|
||||
local rv
|
||||
for libdir in $(get_all_libdirs); do
|
||||
echo " ${TDEDIR}/${libdir}"
|
||||
done
|
||||
}
|
||||
|
||||
# @FUNCTION: adjust-trinity-paths
|
||||
# @USAGE: < version >
|
||||
# @DESCRIPTION:
|
||||
# Adjust PATH LDPATH and LD_LIBRARY_PATH to see only current trinity version
|
||||
adjust-trinity-paths() {
|
||||
debug-print-function $FUNCNAME "$@"
|
||||
local libdir
|
||||
|
||||
# this function can be called during depend phase so we shouldn't use sed here
|
||||
PATH="$(trinity_remove_path_component "$PATH" "/usr/trinity/*/bin")"
|
||||
PATH="$(trinity_remove_path_component "$PATH" "/usr/trinity/*/sbin")"
|
||||
PATH="$(trinity_prepand_path_component "$PATH" "${TDEDIR}/bin" )"
|
||||
|
||||
# FIXME: it seems we don't need LDPATH
|
||||
# LDPATH="$(trinity_remove_path_component "$LDPATH" "/usr/trinity/*/${libdir}")"
|
||||
LD_LIBRARY_PATH="$(trinity_remove_path_component "$LD_LIBRARY_PATH" "/usr/trinity/*/${libdir}")"
|
||||
for libdir in $(get-trinity-libdirs); do
|
||||
# LDPATH="$(trinity_prepand_path_component "$LDPATH" "${TDEDIR}/${libdir}" )"
|
||||
LD_LIBRARY_PATH="$(trinity_prepand_path_component "$LD_LIBRARY_PATH" "${libdir}" )"
|
||||
done
|
||||
|
||||
export PATH
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
# Unset home paths so aplications wouldn't try to write to root's dir while build
|
||||
unset TDEHOME
|
||||
unset TDEROOTHOME
|
||||
}
|
||||
|
||||
trinity_remove_path_component() {
|
||||
local i new_path path_array
|
||||
|
||||
IFS=: read -ra path_array <<< "$1"
|
||||
for i in "${path_array[@]}"; do
|
||||
case "$i" in
|
||||
$2 ) ;; # delete specyfied entry
|
||||
"" ) ;;
|
||||
* ) new_path="${new_path}:${i}" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo "${new_path#:}"
|
||||
}
|
||||
|
||||
trinity_prepand_path_component() {
|
||||
local new_path
|
||||
|
||||
new_path="${2%:}:${1#:}"
|
||||
echo "${new_path%:}"
|
||||
}
|
||||
|
||||
# @FUNCTION: need-trinity
|
||||
# @USAGE: < version >
|
||||
# @DESCRIPTION:
|
||||
# Sets the correct DEPEND and RDEPEND for the needed trinity < version >.
|
||||
need-trinity() {
|
||||
debug-print-function $FUNCNAME "$@"
|
||||
|
||||
local my_depend
|
||||
|
||||
# determine install locations
|
||||
set-trinityver $1
|
||||
adjust-trinity-paths
|
||||
|
||||
case "$1" in
|
||||
3.5*)
|
||||
my_depend=">=trinity-base/kdelibs-${ETRINITY_VER}:3.5";;
|
||||
*)
|
||||
my_depend=">=trinity-base/tdelibs-${ETRINITY_VER}:${TRINITY_VER}";;
|
||||
esac
|
||||
|
||||
DEPEND="$DEPEND $my_depend"
|
||||
RDEPEND="$RDEPEND $my_depend"
|
||||
}
|
||||
|
||||
# @ECLASS-VARIABLE: TRINITY_NEED_ARTS
|
||||
# @DESCRIPTION:
|
||||
# This variable is setted by need-arts function. Possible arguments values 'yes', 'no' and 'optional'
|
||||
# Default is 'no'
|
||||
TRINITY_NEED_ARTS="no"
|
||||
|
||||
# @FUNCTION: need-arts
|
||||
# @USAGE: need-arts <yes|optional>
|
||||
# @DESCRIPTION:
|
||||
# This function adds DEPEND's for aRTs-support Possible arguments are 'yes' and 'optinal'
|
||||
# 'yes' means arts is required, optional' results in USE flag arts.
|
||||
# NOTE: this function modifies IUSE DEPEND and RDEPEND variables, so if you call it before setting
|
||||
# those variables don't forget to include the priviously setted value into them.
|
||||
need-arts() {
|
||||
debug-print-function $FUNCNAME "$@"
|
||||
|
||||
local tdelibs my_depend
|
||||
|
||||
[[ -z "${1}" ]] && die "$FUNCNAME requires an argument"
|
||||
|
||||
TRINITY_NEED_ARTS=$1;
|
||||
|
||||
case "${TRINITY_VER}" in
|
||||
"") die "You must call set-trinityver unctions to set TRINITY_VER before calling $FUNCNAME.";;
|
||||
3.5*) tdelibs="trinity-base/kdelibs";;
|
||||
*) tdelibs="trinity-base/tdelibs";;
|
||||
esac
|
||||
|
||||
# handle trinity-base/tdelibs in special way
|
||||
if [[ "${CATEGORY}/${PN}" == "${tdelibs}" ]]; then
|
||||
if [[ "$1" == optional ]]; then
|
||||
my_depend=" arts? ( trinity-base/arts )"
|
||||
IUSE+=" arts"
|
||||
else
|
||||
die "aRTs support for ${tdelibs} supposed to be optional"
|
||||
fi
|
||||
else
|
||||
case "$1" in
|
||||
yes) my_depend=" trinity-base/arts
|
||||
${tdelibs}[arts]" ;;
|
||||
optional) my_depend=" arts? ( trinity-base/arts
|
||||
${tdelibs}[arts] )"
|
||||
IUSE+=" arts" ;;
|
||||
*) die "bad parameter: $1"
|
||||
esac
|
||||
fi
|
||||
|
||||
DEPEND+=" ${my_depend}";
|
||||
RDEPEND+=" ${my_depend}";
|
||||
}
|
||||
|
@ -1,262 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
#
|
||||
# Original Author: fat-zer
|
||||
# Purpose: make easy to install trinity ebuilds.
|
||||
#
|
||||
|
||||
inherit trinity-base trinity-functions cmake-utils
|
||||
|
||||
LICENSE="GPL-2 LGPL-2"
|
||||
HOMEPAGE="http://www.trinitydesktop.org/"
|
||||
|
||||
# set slot, TDEDIR, TRINITY_VER and PREFIX
|
||||
set-trinityver
|
||||
[[ -z "$SLOT" ]] && SLOT="$TRINITY_VER"
|
||||
|
||||
if [[ "$TRINITY_VER" == "3.5" ]]; then
|
||||
# common dependencies
|
||||
DEPEND="trinity-base/kdelibs:${SLOT}"
|
||||
else
|
||||
DEPEND="trinity-base/tdelibs:${SLOT}"
|
||||
fi
|
||||
|
||||
# @FUNCTION: trinity-meta_set_trinity_submodule
|
||||
# @DESCRIPTION:
|
||||
# sets the TRINITY_SUBMODULE variable to vth value aptained from ${PN}
|
||||
# if it doesn't set yet
|
||||
trinity-meta_set_trinity_submodule() {
|
||||
debug-print-function $FUNCNAME "$@"
|
||||
|
||||
if [[ -z "$TRINITY_SUBMODULE" ]]; then
|
||||
TRINITY_SUBMODULE="${PN#${TRINITY_MODULE_NAME}-}"
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_pkg_setup
|
||||
# @DESCRIPTION:
|
||||
# Default pkg_setup function. It sets the correct ${S}
|
||||
# nessecary files.
|
||||
trinity-meta_pkg_setup() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
adjust-trinity-paths
|
||||
|
||||
trinity-meta_set_trinity_submodule
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_unpack
|
||||
# @DESCRIPTION:
|
||||
# Default source extract function. It tries to unpack only
|
||||
# nessecary files.
|
||||
trinity-meta_src_unpack() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
if [[ ${BUILD_TYPE} = live ]]; then
|
||||
case "${TRINITY_SCM}" in
|
||||
svn)
|
||||
mkdir -p "$S"
|
||||
ESVN_RESTRICT="export" subversion_src_unpack
|
||||
subversion_wc_info
|
||||
subversion_bootstrap
|
||||
;;
|
||||
git)
|
||||
git-2_src_unpack
|
||||
;;
|
||||
*) die "TRINITY_SCM: ${TRINITY_SCM} is not supported by ${FUNCNAME}" ;;
|
||||
esac
|
||||
fi
|
||||
trinity-meta_src_extract
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_extract
|
||||
# @DESCRIPTION:
|
||||
# A function to extract the source for a split KDE ebuild.
|
||||
# Also see KMMODULE, KMEXTRACT
|
||||
trinity-meta_src_extract() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
trinity-meta_create_extractlists
|
||||
|
||||
if [[ "${BUILD_TYPE}" = live ]]; then
|
||||
einfo "Exporting parts of working copy to ${S}"
|
||||
case "$TRINITY_SCM" in
|
||||
svn) trinity-meta_rsync_copy ;;
|
||||
git) # we nothing can do to prevent git from unpacking code
|
||||
;;
|
||||
*) die "TRINITY_SCM: ${TRINITY_SCM} is not supported by ${FUNCNAME}"
|
||||
esac
|
||||
else
|
||||
local tarfile tarparams f extractlist
|
||||
|
||||
case $TRINITY_TARBALL in
|
||||
*.gz)
|
||||
tarparams=" --gzip"
|
||||
;;
|
||||
*.xz)
|
||||
tarparams=" --xz"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Full path to source tarball
|
||||
tarfile="${DISTDIR}/${TRINITY_TARBALL}"
|
||||
|
||||
# Detect real toplevel dir from tarball name - it will be used upon extraction
|
||||
topdir="${TRINITY_TARBALL%.tar.*}"
|
||||
|
||||
ebegin "Unpacking parts of ${TRINITY_TARBALL} to ${WORKDIR}"
|
||||
|
||||
for f in $TSM_EXTRACT_LIST; do
|
||||
extractlist+=" ${topdir}/${f}"
|
||||
done
|
||||
|
||||
tar -xpf "${tarfile}" ${tarparams} -C "${WORKDIR}" ${extractlist} 2> /dev/null \
|
||||
|| echo "tar extract command failed at least partially - continuing anyway"
|
||||
|
||||
# Make sure $S points to right place
|
||||
[[ "${WORKDIR}/${topdir}" != "${S}" ]] && S="${WORKDIR}/${topdir}"
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_rsync_copy
|
||||
# @DESCRIPTION:
|
||||
# Copies files from svn or git repository to $S
|
||||
trinity-meta_rsync_copy() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local rsync_options subdir targetdir wc_path escm
|
||||
case "${TRINITY_SCM}" in
|
||||
svn) wc_path="${ESVN_WC_PATH}";;
|
||||
git) wc_path="${EGIT_STORE_DIR}/${EGIT_PROJECT}";;
|
||||
*) die "TRINITY_SCM: ${TRINITY_SCM} is not supported by ${FUNCNAME}" ;;
|
||||
esac
|
||||
|
||||
rsync_options="--group --links --owner --perms --quiet --exclude=.svn/ --exclude=.git/"
|
||||
|
||||
# Copy ${TRINITY_MODULE_NAME} non-recursively (toplevel files)
|
||||
rsync ${rsync_options} "${wc_path}"/* "${S}" \
|
||||
|| die "rsync: can't export toplevel files to '${S}'."
|
||||
# Copy cmake directory
|
||||
if [[ -d "${wc_path}/cmake" ]]; then
|
||||
rsync --recursive ${rsync_options} "${wc_path}/cmake" "${S}" \
|
||||
|| die "rsync: can't export cmake files to '${S}'."
|
||||
fi
|
||||
# Copy all subdirectories listed in $TSM_EXTRACT_LIST
|
||||
for subdir in ${TSM_EXTRACT_LIST}; do
|
||||
rsync --recursive ${rsync_options} "${wc_path}/${subdir}" \
|
||||
"${S}/$(dirname subdir)" \
|
||||
|| die "rsync: can't export object '${wc_path}/${subdir}' to '${S}'."
|
||||
done
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_create_extractlists
|
||||
# @DESCRIPTION:
|
||||
# Create lists of files and subdirectories to extract.
|
||||
# Also see descriptions of KMMODULE and KMEXTRACT
|
||||
trinity-meta_create_extractlists() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
local submod
|
||||
|
||||
# if $TSM_EXTRACT is not set assign it to dirs named in TRINITY_SUBMODULE
|
||||
if [ -z "${TSM_EXTRACT}" ]; then
|
||||
for submod in ${TRINITY_SUBMODULE}; do
|
||||
TSM_EXTRACT="${TSM_EXTRACT} ${submod}/"
|
||||
done
|
||||
fi
|
||||
|
||||
# add package-specific files and directories
|
||||
case "${TRINITY_MODULE_NAME}" in
|
||||
kdebase) TSM_EXTRACT_LIST+=" kcontrol/ kdmlib/" ;;
|
||||
tdebase) TSM_EXTRACT_LIST+=" kcontrol/" ;;
|
||||
*) ;; # nothing special for over modules
|
||||
# *) die "TRINITY_MODULE_NAME ${TRINITY_MODULE_NAME} is not supported by function ${FUNCNAME}" ;;
|
||||
esac
|
||||
|
||||
TSM_EXTRACT_LIST+=" ${TSM_EXTRACT} ${TSM_EXTRACT_ALSO} cmake/ CMakeLists.txt"
|
||||
TSM_EXTRACT_LIST+=" config.h.cmake ConfigureChecks.cmake"
|
||||
|
||||
debug-print "line ${LINENO} ${ECLASS} ${FUNCNAME}: TSM_EXTRACT_LIST=\"${TSM_EXTRACT_LIST}\""
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_prepare
|
||||
# @DESCRIPTION:
|
||||
# Default src prepare function. Currently it's only a stub.
|
||||
trinity-meta_src_prepare() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
local shared_patch_dir f f_name;
|
||||
|
||||
shared_patch_dir="${FILESDIR}/shared/${TRINITY_MODULE_NAME}-${PV}/patches/"
|
||||
if [ -d "${shared_patch_dir}" ]; then
|
||||
find "${shared_patch_dir}" -type f | while read f; do
|
||||
f_name="$(basename "${f}")"
|
||||
case "${f_name}" in
|
||||
*.diff | *.patch ) epatch "${f}" ;;
|
||||
*.gz ) cp "${f}" "${T}"
|
||||
gunzip ${T}/${f_name}
|
||||
epatch ${T}/${f_name%.gz}
|
||||
;;
|
||||
*.bz2 ) cp "${f}" "${T}"
|
||||
bunzip2 ${T}/${f_name}
|
||||
epatch ${T}/${f_name%.bz2}
|
||||
;;
|
||||
*) die "unknown patch type in the patch directory" ;;
|
||||
esac
|
||||
done;
|
||||
fi
|
||||
|
||||
# fix bad cmake code fo 3.5.13.1
|
||||
if [ $PV == "3.5.13.1" ]; then
|
||||
[ -f "cmake/modules/FindTDE.cmake" ] && \
|
||||
sed -ie 's!HINTS\s\+${\w*BIN\w*}!HINTS "${TDE_PREFIX}/bin" ${BIN_INSTALL_DIR}!' \
|
||||
cmake/modules/FindTDE.cmake
|
||||
fi
|
||||
|
||||
trinity-base_src_prepare
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_configure
|
||||
# @DESCRIPTION:
|
||||
# Default source configure function. It sets apropriate cmake args.
|
||||
# Also see description of KMMODULE
|
||||
trinity-meta_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local item tsmargs mod
|
||||
|
||||
for item in $TRINITY_SUBMODULE; do
|
||||
mod="${item^^}"
|
||||
mod="${mod//-/_}"
|
||||
tsmargs+=" -DBUILD_${mod}=ON"
|
||||
done
|
||||
|
||||
mycmakeargs=(
|
||||
"${mycmakeargs[@]}"
|
||||
${tsmargs}
|
||||
)
|
||||
|
||||
trinity-base_src_configure
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_compile
|
||||
# @DESCRIPTION:
|
||||
# Just call trinity-base_src_compile.
|
||||
trinity-meta_src_compile() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
trinity-base_src_compile
|
||||
}
|
||||
|
||||
# @FUNCTION: trinity-meta_src_install
|
||||
# @DESCRIPTION:
|
||||
# Call default cmake install function. and install documentation.
|
||||
trinity-meta_src_install() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
TRINITY_BASE_NO_INSTALL_DOC="yes" trinity-base_src_install
|
||||
|
||||
trinity-base_create_tmp_docfiles $TSM_EXTRACT
|
||||
trinity-base_install_docfiles
|
||||
}
|
||||
|
||||
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_unpack pkg_setup
|
Loading…
Reference in New Issue