summaryrefslogtreecommitdiffstats
path: root/rules
diff options
context:
space:
mode:
Diffstat (limited to 'rules')
-rw-r--r--rules/base.sh166
1 files changed, 166 insertions, 0 deletions
diff --git a/rules/base.sh b/rules/base.sh
new file mode 100644
index 0000000..f2699af
--- /dev/null
+++ b/rules/base.sh
@@ -0,0 +1,166 @@
+#!/bin/sh
+#
+# Copyright (c) 2011 William Pitcock <nenolod@dereferenced.org>.
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+_abh_builddir="${srcdir}/${pkgname}-${pkgver}"
+
+_abh_prepare_preactions=""
+_abh_prepare_postactions=""
+
+abh_preprepare_push() {
+ _abh_prepare_preactions="${_abh_prepare_preactions} $1"
+}
+
+abh_postprepare_push() {
+ _abh_prepare_postactions="${_abh_prepare_postactions} $1"
+}
+
+prepare() {
+ cd "${_abh_builddir}"
+
+ for i in ${_abh_prepare_preactions}; do
+ msg "--> $i (prepare)"
+ $i || return 1
+ msg "<-- $i (prepare)"
+ done
+
+ for i in ${_abh_prepare_postactions}; do
+ msg "--> $i (prepare)"
+ $i || return 1
+ msg "<-- $i (prepare)"
+ done
+}
+
+_abh_build_preactions=""
+_abh_build_postactions=""
+
+abh_prebuild_push() {
+ _abh_build_preactions="${_abh_build_preactions} $1"
+}
+
+abh_postbuild_push() {
+ _abh_build_postactions="${_abh_build_postactions} $1"
+}
+
+build() {
+ cd "${_abh_builddir}"
+
+ for i in ${_abh_build_preactions}; do
+ msg "--> $i (build)"
+ $i || return 1
+ msg "<-- $i (build)"
+ done
+
+ for i in ${_abh_build_postactions}; do
+ msg "--> $i (build)"
+ $i || return 1
+ msg "<-- $i (build)"
+ done
+}
+
+_abh_package_preactions=""
+_abh_package_postactions=""
+
+abh_prepackage_push() {
+ _abh_package_preactions="${_abh_package_preactions} $1"
+}
+
+abh_postpackage_push() {
+ _abh_package_postactions="${_abh_package_postactions} $1"
+}
+
+package() {
+ cd "${_abh_builddir}"
+
+ for i in ${_abh_package_preactions}; do
+ msg "--> $i (package)"
+ $i || return 1
+ msg "<-- $i (package)"
+ done
+
+ for i in ${_abh_package_postactions}; do
+ msg "--> $i (package)"
+ $i || return 1
+ msg "<-- $i (package)"
+ done
+}
+
+_abh_dev_preactions=""
+_abh_dev_postactions=""
+
+abh_predev_push() {
+ _abh_dev_preactions="${_abh_dev_preactions} $1"
+}
+
+abh_postdev_push() {
+ _abh_dev_postactions="${_abh_dev_postactions} $1"
+}
+
+dev() {
+ abh_predev_push default_dev
+
+ for i in ${_abh_dev_preactions}; do
+ msg "--> $i (dev)"
+ $i || return 1
+ msg "<-- $i (dev)"
+ done
+
+ for i in ${_abh_dev_postactions}; do
+ msg "--> $i (dev)"
+ $i || return 1
+ msg "<-- $i (dev)"
+ done
+}
+
+_abh_doc_preactions=""
+_abh_doc_postactions=""
+
+abh_predoc_push() {
+ _abh_doc_preactions="${_abh_doc_preactions} $1"
+}
+
+abh_postdoc_push() {
+ _abh_doc_postactions="${_abh_doc_postactions} $1"
+}
+
+doc() {
+ abh_predoc_push default_doc
+
+ for i in ${_abh_doc_preactions}; do
+ msg "--> $i (doc)"
+ $i || return 1
+ msg "<-- $i (doc)"
+ done
+
+ for i in ${_abh_doc_postactions}; do
+ msg "--> $i (doc)"
+ $i || return 1
+ msg "<-- $i (doc)"
+ done
+}
+
+# FUNCTION: using
+# import an abuildhelper class
+using() {
+ if [ "$1" != "plugin" ]; then
+ source /usr/share/abuildhelper/class/${1}.sh
+ else
+ source /usr/share/abuildhelper/plugin/${2}.sh
+ fi
+}