--- trunk/mage/usr/lib/mage/smage2.functions.sh 2012/01/13 22:26:20 1651 +++ trunk/mage/usr/lib/mage/smage2.functions.sh 2014/01/06 12:49:32 2363 @@ -7,7 +7,8 @@ smagesource() { local file="$1" - local mystate + local localstate + local distfilestate local mytag source ${file} @@ -29,23 +30,22 @@ fi fi - [[ -n ${STATE} ]] && mystate="${STATE}" + [[ -n ${STATE} ]] && localstate="${STATE}" [[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" - # do not overide if local state was broken or disabled! - case ${STATE} in - broken) return ;; - disabled) return ;; - esac - if [ -f ${SMAGESCRIPTSDIR}/distribution ] then source ${SMAGESCRIPTSDIR}/distribution - [[ -n ${STATE} ]] && mystate="${STATE}" + [[ -n ${STATE} ]] && distfilestate="${STATE}" [[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" fi - # now switch state and export it - STATE="${mystate}" + # now switch state and export it but do not overide any local states + if [[ ! -z ${localstate} ]] + then + STATE="${localstate}" + else + STATE="${distfilestate}" + fi if mqueryfeature "pkgdistrotag" then @@ -59,7 +59,7 @@ echo -e "${COLRED}Requested 'pkgdistrotag' but no \$DISTROTAG found!${COLDEFAULT}" echo -e "${COLRED}Disabled the feature for pkgbuild sanity!${COLDEFAULT}" else - # now switch state and export it + # now switch state and export it but do not overide any local states export DISTROTAG="${mytag}" fi else @@ -281,8 +281,9 @@ fi fi - # always enable shared by default - if [[ ! -z $(./configure --help | grep -- '--.*able-shared') ]] + # always enable shared by default but not for waf configure + if [[ ! -z $(./configure --help | grep -- '--.*able-shared') ]] && + [[ -z $(./configure --version | grep waf) ]] then myopts+=" --enable-shared" fi @@ -317,9 +318,9 @@ sysconfdir=${BINDIR}/etc \ libdir=${BINDIR}/usr/$(mlibdir) \ "$@" install || die "minstall failed" - else - die "no Makefile found" - fi + else + die "no Makefile found" + fi } mmake() @@ -342,6 +343,8 @@ DEST=$2 fi + echo -e "${COLBLUE}>>>${COLGREEN} Unpacking ${SOURCEDIR}/${PNAME}/${SRCFILE}${COLDEFAULT}" + [[ ! -d ${DEST} ]] && install -d ${DEST} case "${SRCFILE##*.}" in @@ -391,7 +394,7 @@ tar --no-same-owner -xvJf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".txz unpack failed." ;; rar) - unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST} || die ".rar unpack failed." + unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST} || die ".rar unpack failed." ;; zip|xpi|jar) unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed." @@ -563,11 +566,98 @@ then for i in $@ do - echo "--- Including ${SMAGESCRIPTSDIR}/include/${i}.sminc" + [[ ${SILENT} = 1 ]] || echo "--- Including ${SMAGESCRIPTSDIR}/include/${i}.sminc" source ${SMAGESCRIPTSDIR}/include/${i}.sminc done - echo + [[ ${SILENT} = 1 ]] || echo + fi +} + +march() +{ + local retval + + if [[ ! -z ${ARCH} ]] + then + echo "${ARCH}" + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchsrcfile() +{ + local retval + local var="$1" + + [[ -z ${var} ]] && var="SRCFILE" + + if [[ ! -z $(eval echo \$${var}_${ARCH/i*86/x86}) ]] + then + eval echo \$${var}_${ARCH/i*86/x86} | tr ';' '\n' + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchsrcdir() +{ + local retval + local var="$1" + + [[ -z ${var} ]] && var="SRCDIR" + + if [[ ! -z $(eval echo \$${var}_${ARCH/i*86/x86}) ]] + then + eval echo \$${var}_${ARCH/i*86/x86} | tr ';' '\n' + retval=0 + else + retval=1 fi + + return "${retval}" +} + +marchdepend() +{ + local retval + local var="$1" + + [[ -z ${var} ]] && var="DEPEND" + + if [[ ! -z $(eval echo \$${var}_${ARCH/i*86/x86}) ]] + then + echo "\$(eval echo \\\$${var}_\${ARCH/i*86/x86} | tr ';' '\n')" + retval=0 + else + retval=1 + fi + + return "${retval}" +} + +marchsdepend() +{ + local retval + local var="$1" + + [[ -z ${var} ]] && var="SDEPEND" + + if [[ ! -z $(eval echo \$${var}_${ARCH/i*86/x86}) ]] + then + echo "\$(eval echo \\\$${var}_\${ARCH/i*86/x86} | tr ';' '\n')" + retval=0 + else + retval=1 + fi + + return "${retval}" } setup_distcc_environment() @@ -585,10 +675,21 @@ fi } +setup_icecc_environment() +{ + if [ -x /usr/bin/icecc ] + then + echo -e "${COLBLUE}---${COLGREEN} Using IceCC for compilation ...${COLDEFAULT}" + export PATH=/usr/$(mlibdir)/icecc/bin:${PATH} || die "icecc: could not export new $PATH" + fi +} + setup_ccache_environment() { if [ -x /usr/bin/ccache ] then + mqueryfeature "icecc" && export CCACHE_PREFIX=icecc + echo -e "${COLBLUE}---${COLGREEN} Using CCache for compilation ...${COLDEFAULT}" export PATH=/usr/$(mlibdir)/ccache/bin:${PATH} || die "ccache: could not export new $PATH" fi @@ -603,6 +704,12 @@ local NDEPEND local sym dep cat pver pname + # first of all remove all tabs and duplicate lines + if [ -n "${depend}" ] + then + depend=$(echo "${depend}" | sed 's:\t::g' | sort -u) + fi + # deps and provides are special # they must be fixed to match the target @@ -874,8 +981,8 @@ export SAVED_DESCRIPTION="${DESCRIPTION}" export SAVED_HOMEPAGE="${HOMEPAGE}" export SAVED_SPECIAL_VARS="${SPECIAL_VARS}" + export SAVED_SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS}" export SAVED_STATE="${STATE}" - export SAVED_PKGTYPE="${PKGTYPE}" export SAVED_INHERITS="${INHERITS}" export SAVED_DEPEND="${DEPEND}" export SAVED_SDEPEND="${SDEPEND}" @@ -949,8 +1056,8 @@ export DESCRIPTION="${SAVED_DESCRIPTION}" export HOMEPAGE="${SAVED_HOMEPAGE}" export SPECIAL_VARS="${SAVED_SPECIAL_VARS}" + export SPECIAL_FUNCTIONS="${SAVED_SPECIAL_FUNCTIONS}" export STATE="${SAVED_STATE}" - export PKGTYPE="${SAVED_PKGTYPE}" export INHERITS="${SAVED_INHERITS}" export DEPEND="${SAVED_DEPEND}" export SDEPEND="${SAVED_SDEPEND}" @@ -1018,6 +1125,7 @@ unset SAVED_DESCRIPTION unset SAVED_HOMEPAGE unset SAVED_SPECIAL_VARS + unset SAVED_SPECIAL_FUNCTIONS unset SAVED_STATE unset SAVED_PKGTYPE unset SAVED_INHERITS @@ -1183,7 +1291,7 @@ [[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR} mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} - echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}" + echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}\n" } step_by_step() @@ -1215,3 +1323,8 @@ return 1 fi } + +mqalint() +{ + return 0 +}