summaryrefslogtreecommitdiffstats
path: root/eclass/trinity-base.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/trinity-base.eclass')
-rw-r--r--eclass/trinity-base.eclass196
1 files changed, 118 insertions, 78 deletions
diff --git a/eclass/trinity-base.eclass b/eclass/trinity-base.eclass
index b4e4b2a4..ff116ba9 100644
--- a/eclass/trinity-base.eclass
+++ b/eclass/trinity-base.eclass
@@ -4,25 +4,28 @@
#
# Original Author: fat-zer
-# Purpose: support ebuilds for the trinity project (a kde3 fork).
+# Purpose: support planty of ebuilds for trinity project (a kde3 fork).
#
RESTRICT=network-sandbox
-inherit trinity-functions cmake-utils
+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-6
+# ban EAPI 0, 1 and 2
case $EAPI in
- 0|1|2|3|4|5|6) die "EAPI=${EAPI} is not supported" ;;
- 7) ;;
+ 0|1|2|3|4) die "EAPI=${EAPI} is not supported" ;;
+ 5) ;;
*) die "Unknown EAPI=${EAPI}"
esac
# @ECLASS-VARIABLE: BUILD_TYPE
# @DESCRIPTION:
-# Determines the build type: live or release
+# Determins he build type: live or release
if [[ ${PV} = *9999* ]]; then
BUILD_TYPE="live"
else
@@ -38,7 +41,8 @@ echo "${TRINITY_MODULE_NAME:=${PN}}" >/dev/null
# @ECLASS-VARIABLE: TRINITY_SCM
# @DESCRIPTION:
-# Determines which version control system code is checking out live ebuilds from.
+# Determins from what version control system code is chiking out for live
+# ebuilds.
# @ECLASS-VARIABLE: TMP_DOCDIR
# @DESCRIPTION:
@@ -46,8 +50,8 @@ echo "${TRINITY_MODULE_NAME:=${PN}}" >/dev/null
#
# @ECLASS-VARIABLE: TRINTY_BASE_NO_INSTALL_DOC
# @DESCRIPTION:
-# if set to anything except "no" this variable prevents
-# trinity-base_src_install() from installing documentation
+# if setted to anything except "no" this variable prevents
+# trinity-base_src_install() to install documentation
#
# @ECLASS-VARIABLE: TRINTY_LANGS
@@ -55,7 +59,8 @@ echo "${TRINITY_MODULE_NAME:=${PN}}" >/dev/null
# 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().
+# translations, ebuilds must call enable_selected_linguas(). kde4-{base,meta}.eclass does
+# this for you.
# @ECLASS-VARIABLE: TRINTY_DOC_LANGS
# @DESCRIPTION:
@@ -70,7 +75,7 @@ echo "${TRINITY_MODULE_NAME:=${PN}}" >/dev/null
# 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'.
-# Also ensures buildtime and runtime dependencies are met.
+# As well It ensures buildtime and runtime dependencies.
TRINITY_HANDBOOK="${TRINITY_HANDBOOK:-never}"
# @ECLASS-VARIABLE: TRINITY_EXTRAGEAR_PACKAGING
@@ -82,8 +87,8 @@ TRINITY_HANDBOOK="${TRINITY_HANDBOOK:-never}"
# @ECLASS-VARIABLE: TRINITY_GIT_MIRROR
# @DESCRIPTION:
-# User (or ebuild) can select another git mirror if it's needed;
-# Defaults to https://mirror.git.trinitydesktop.org/gitea/TDE/
+# 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:
@@ -91,7 +96,7 @@ TRINITY_HANDBOOK="${TRINITY_HANDBOOK:-never}"
# @ECLASS-VARIABLE: TRINITY_COMMON_DOCS
# @DESCRIPTION:
-# Common doc names that were found in trinity project's dirs.
+# 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
@@ -105,7 +110,8 @@ TRINITY_COMMON_DOCS="AUTHORS BUGS CHANGELOG CHANGES COMMENTS COMPLIANCE COMPILIN
# @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://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
@@ -113,27 +119,40 @@ if [[ ${BUILD_TYPE} = live ]]; then
[[ -z "$TRINITY_SCM" ]] && TRINITY_SCM=git
case ${TRINITY_SCM} in
- git) inherit git-r3 ;;
+ git) inherit git-2 ;;
*) die "Unsupported TRINITY_SCM=${TRINITY_SCM}" ;;
esac
- #set some variables
- EGIT_REPO_URI="${TRINITY_GIT_MIRROR:=https://mirror.git.trinitydesktop.org/gitea/TDE/${TRINITY_MODULE_NAME}}"
- EGIT_BRANCH="${TRINITY_GIT_BRANCH:=master}"
-
-# S="${WORKDIR}/${TRINITY_MODULE_NAME}"
+ #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}}"
-
- #Note: Only releases in the 14.0 series are presently supported.
- full_mod_name="${mod_name}-trinity-${mod_ver}"
- TRINITY_TARBALL="${full_mod_name}.tar.xz"
+
+ 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}/R${mod_ver}/main/${TRINITY_MODULE_TYPE}/$TRINITY_TARBALL"
+ SRC_URI="${TRINITY_BASE_SRC_URI}/${mod_ver}/${TRINITY_MODULE_TYPE}/$TRINITY_TARBALL"
else
- SRC_URI="${TRINITY_BASE_SRC_URI}/R${mod_ver}/main/$TRINITY_TARBALL"
+ SRC_URI="${TRINITY_BASE_SRC_URI}/${mod_ver}/$TRINITY_TARBALL"
fi
S="${WORKDIR}/${full_mod_name}"
@@ -178,10 +197,16 @@ fi
# @FUNCTION: trinity-base_src_unpack
# @DESCRIPTION:
-# A default src unpack function to be call git-v3_src_unpack either
+# A default src unpack function to be call git-2_src_unpack either
trinity-base_src_unpack() {
if [[ ${BUILD_TYPE} = live ]]; then
- git-v3_src_unpack
+ 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
@@ -194,17 +219,27 @@ trinity-base_src_unpack() {
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--removed on the grounds that if you got this far,
- # you have to be using git
+ # 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
- eapply_user
+ base_src_prepare
- # Handle documentation and translations for extragear packages
+ # Handle documentation and translations for extragear packages
if [[ -n "$TRINITY_EXTRAGEAR_PACKAGING" ]]; then
- # remove languages that have not been selected
+ # 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
@@ -238,14 +273,12 @@ trinity-base_src_prepare() {
done
fi
fi
-
- cmake-utils_src_prepare
}
# @FUNCTION: trinity-base_src_configure
# @DESCRIPTION:
-# Call standard cmake-utils_src_onfigure and add some common arguments.
+# Call standart cmake-utils_src_onfigure and add some common arguments.
trinity-base_src_configure() {
debug-print-function ${FUNCNAME} "$@"
local eg_cmakeargs
@@ -269,12 +302,10 @@ trinity-base_src_configure() {
mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="${EPREFIX}${TDEDIR}"
-DCMAKE_INSTALL_RPATH="${EPREFIX}${TDEDIR}"
+ $([[ "${TRINITY_NEED_ARTS}" == "optional" ]] && cmake-utils_use_with arts ARTS)
"${eg_cmakeargs[@]}"
"${mycmakeargs[@]}"
)
-
-# $([[ "${TRINITY_NEED_ARTS}" == "optional" ]] && (cmake-utils_use_with arts ARTS))
-
cmake-utils_src_configure
}
@@ -332,6 +363,15 @@ trinity-base_create_tmp_docfiles() {
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
@@ -353,48 +393,48 @@ trinity-base_install_docfiles() {
}
# @FUNCTION: trinity-base_fix_desktop_files
-# @DESCRIPTION: OBSOLETE??????
+# @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() {
+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
-#}
+ # 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