diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/mate-desktop.org.eclass | 32 | ||||
-rw-r--r-- | eclass/mate.eclass | 58 |
2 files changed, 90 insertions, 0 deletions
diff --git a/eclass/mate-desktop.org.eclass b/eclass/mate-desktop.org.eclass new file mode 100644 index 00000000..cc305b82 --- /dev/null +++ b/eclass/mate-desktop.org.eclass @@ -0,0 +1,32 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# @ECLASS: mate-desktop.org.eclass +# @MAINTAINER: +# micia@sabayon.org +# @AUTHOR: +# Authors: Spidler <spidler@gentoo.org> with help of carparski. +# eclass variable additions and documentation: Gilles Dartiguelongue <eva@gentoo.org> +# @BLURB: Helper eclass for gnome.org hosted archives +# @DESCRIPTION: +# Provide a default SRC_URI for tarball hosted on mate-desktop.org mirrors. + +inherit versionator + +DEPEND="${DEPEND} app-arch/xz-utils" + +# @ECLASS-VARIABLE: MATE_DESKTOP_ORG_MODULE +# @DESCRIPTION: +# Name of the module as hosted on mate-desktop.org mirrors. +# Leave unset if package name matches module name. +: ${MATE_DESKTOP_ORG_MODULE:=$PN} + +# @ECLASS-VARIABLE: GNOME_ORG_PVP +# @INTERNAL +# @DESCRIPTION: +# Major and minor numbers of the version number. +: ${GNOME_ORG_PVP:=$(get_version_component_range 1-2)} + +SRC_URI="http://pub.mate-desktop.org/releases/${GNOME_ORG_PVP}/${MATE_DESKTOP_ORG_MODULE}-${PV}.tar.xz" +S="${WORKDIR}/${MATE_DESKTOP_ORG_MODULE}-${PV}" diff --git a/eclass/mate.eclass b/eclass/mate.eclass new file mode 100644 index 00000000..1f4584b8 --- /dev/null +++ b/eclass/mate.eclass @@ -0,0 +1,58 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils libtool gnome2 mate-desktop.org + +# FIXME Not all package have proper build system/docs +# Once this is fixed upstream remove DEPEND and move to ebuild. +DEPEND="dev-util/gtk-doc + dev-util/gtk-doc-am" + +# @FUNCTION: mate_gen_build_system +# @DESCRIPTION: +# Generate autotools build system for releases that don't have one. +# We need this as early releases did not have a proper build system. +mate_gen_build_system() { + einfo "Generating mate build system" + # Retrieve configure script + local mate_conf_in + if [[ -f "${S}/configure.in" ]]; then + mate_conf_in="${S}/configure.in" + elif [[ -f "${S}/configure.ac" ]]; then + mate_conf_in="${S}/configure.ac" + else + einfo "no configure.in or configure.ac file were found" + return 0 + fi + # Mate preparation, doing similar to autotools eclass stuff. (Do we need die here?) + if grep -q "^AM_GLIB_GNU_GETTEXT" "${mate_conf_in}"; then + autotools_run_tool glib-gettextize --copy --force || die + elif grep -q "^AM_GNU_GETTEXT" "${mate_conf_in}"; then + eautopoint --force + fi + + if grep -q "^A[CM]_PROG_LIBTOOL" "${mate_conf_in}" || grep -q "^LT_INIT" "${mate_conf_in}"; then + _elibtoolize --copy --force --install + fi + + + if grep -q "^AC_PROG_INTLTOOL" "${mate_conf_in}" || grep -q "^IT_PROG_INTLTOOL" "${mate_conf_in}"; then + mkdir -p "${S}/m4" + autotools_run_tool intltoolize --automake --copy --force || die + fi + + if grep -q "^GTK_DOC_CHECK" "${mate_conf_in}"; then + autotools_run_tool gtkdocize --copy || die + fi + + if grep -q "^MATE_DOC_INIT" "${mate_conf_in}"; then + autotools_run_tool mate-doc-prepare --force --copy || die + autotools_run_tool mate-doc-common --copy || die + fi + + eaclocal + eautoconf + eautoheader + eautomake +} |