summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/autoconf/files/eblits')
-rw-r--r--sys-devel/autoconf/files/eblits/main.eblit48
-rw-r--r--sys-devel/autoconf/files/eblits/src_configure.eblit12
-rw-r--r--sys-devel/autoconf/files/eblits/src_install.eblit39
-rw-r--r--sys-devel/autoconf/files/eblits/src_prepare.eblit9
4 files changed, 108 insertions, 0 deletions
diff --git a/sys-devel/autoconf/files/eblits/main.eblit b/sys-devel/autoconf/files/eblits/main.eblit
new file mode 100644
index 000000000000..c5d80c33d5ea
--- /dev/null
+++ b/sys-devel/autoconf/files/eblits/main.eblit
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+__EBLITS__="locked-and-loaded"
+
+# eblit-include [--skip] <function> [version]
+eblit-include() {
+ local skipable=false
+ [[ $1 == "--skip" ]] && skipable=true && shift
+ [[ $1 == pkg_* ]] && skipable=true
+
+ local e v func=$1 ver=$2
+ [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
+ for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+ e="${FILESDIR}/eblits/${func}${v}.eblit"
+ if [[ -e ${e} ]] ; then
+ source "${e}"
+ return 0
+ fi
+ done
+ ${skipable} && return 0
+ die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe <function>
+# run the specified function if it is defined
+eblit-run-maybe() {
+ [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run <function> [version]
+# aka: src_unpack() { eblit-run src_unpack ; }
+eblit-run() {
+ eblit-include --skip common "${*:2}"
+ eblit-include "$@"
+ eblit-run-maybe eblit-$1-pre
+ eblit-${PN}-$1
+ eblit-run-maybe eblit-$1-post
+}
+
+# Copy these into the ebuilds.
+#src_unpack() { eblit-run src_unpack ; }
+#src_prepare() { eblit-run src_prepare ; }
+#src_configure() { eblit-run src_configure ; }
+#src_compile() { eblit-run src_compile ; }
+#src_test() { eblit-run src_test ; }
+#src_install() { eblit-run src_install ; }
diff --git a/sys-devel/autoconf/files/eblits/src_configure.eblit b/sys-devel/autoconf/files/eblits/src_configure.eblit
new file mode 100644
index 000000000000..308c3a683e9d
--- /dev/null
+++ b/sys-devel/autoconf/files/eblits/src_configure.eblit
@@ -0,0 +1,12 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+eblit-autoconf-src_configure() {
+ # Disable Emacs in the build system since it is in a separate package.
+ export EMACS=no
+ econf --program-suffix="-${PV}" || die
+ # econf updates config.{sub,guess} which forces the manpages
+ # to be regenerated which we dont want to do #146621
+ touch man/*.1
+}
diff --git a/sys-devel/autoconf/files/eblits/src_install.eblit b/sys-devel/autoconf/files/eblits/src_install.eblit
new file mode 100644
index 000000000000..e9c98634fa24
--- /dev/null
+++ b/sys-devel/autoconf/files/eblits/src_install.eblit
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# slot the info pages. do this w/out munging the source so we don't have
+# to depend on texinfo to regen things. #464146 (among others)
+slot_info_pages() {
+ [[ ${SLOT} == "0" ]] && return
+
+ pushd "${D}"/usr/share/info >/dev/null
+ rm -f dir
+
+ # Rewrite all the references to other pages.
+ # before: * aclocal-invocation: (automake)aclocal Invocation. Generating aclocal.m4.
+ # after: * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation. Generating aclocal.m4.
+ local p pages=( *.info ) args=()
+ for p in "${pages[@]/%.info}" ; do
+ args+=(
+ -e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|"
+ -e "s:(${p}):(${p}-${SLOT}):g"
+ )
+ done
+ sed -i "${args[@]}" * || die
+
+ # Rewrite all the file references, and rename them in the process.
+ local f d
+ for f in * ; do
+ d=${f/.info/-${SLOT}.info}
+ mv "${f}" "${d}" || die
+ sed -i -e "s:${f}:${d}:g" * || die
+ done
+
+ popd >/dev/null
+}
+
+eblit-autoconf-src_install() {
+ default
+ slot_info_pages
+}
diff --git a/sys-devel/autoconf/files/eblits/src_prepare.eblit b/sys-devel/autoconf/files/eblits/src_prepare.eblit
new file mode 100644
index 000000000000..0a5aff53d59e
--- /dev/null
+++ b/sys-devel/autoconf/files/eblits/src_prepare.eblit
@@ -0,0 +1,9 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+eblit-autoconf-src_prepare() {
+ find -name Makefile.in -exec sed -i '/^pkgdatadir/s:$:-@VERSION@:' {} +
+
+ [[ ${#PATCHES[@]} -gt 0 ]] && epatch "${PATCHES[@]}"
+}