summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--COPYING16
-rw-r--r--class/autotools.sh48
-rw-r--r--class/makeinstall.sh31
-rw-r--r--plugin/atheme-buildsys.sh27
-rw-r--r--rules/base.sh166
5 files changed, 288 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..542a879
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,16 @@
+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.
diff --git a/class/autotools.sh b/class/autotools.sh
new file mode 100644
index 0000000..955687a
--- /dev/null
+++ b/class/autotools.sh
@@ -0,0 +1,48 @@
+#!/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.
+#
+
+_ac_enable_opts=""
+_ac_with_opts=""
+
+ac_enable_opt() {
+ _ac_enable_opts="${_ac_enable_opts} --enable-${1}"
+}
+
+ac_with_opt() {
+ if [ "x$2" != "x" ]; then
+ _ac_with_opts="${_ac_with_opts} --with-${1}=${2}"
+ else
+ _ac_with_opts="${_ac_with_opts} --with-${1}"
+ fi
+}
+
+ac_configure() {
+ msg "Configuring with following options: ${_ac_enable_opts} ${_ac_with_opts}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ ${_ac_enable_opts} \
+ ${_ac_with_opts} || return 1
+}
+
+abh_prebuild_push "ac_configure"
diff --git a/class/makeinstall.sh b/class/makeinstall.sh
new file mode 100644
index 0000000..2438cde
--- /dev/null
+++ b/class/makeinstall.sh
@@ -0,0 +1,31 @@
+#!/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.
+#
+
+makebuild() {
+ make || return 1
+}
+
+abh_postbuild_push "makebuild"
+
+makeinstall() {
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+abh_postpackage_push "makeinstall"
diff --git a/plugin/atheme-buildsys.sh b/plugin/atheme-buildsys.sh
new file mode 100644
index 0000000..aa81bdb
--- /dev/null
+++ b/plugin/atheme-buildsys.sh
@@ -0,0 +1,27 @@
+#!/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.
+#
+
+fixconfigure() {
+ # workaround bug in busybox
+ sed -e "/touch/s/0001010000/200001010000/g" \
+ -i configure
+}
+
+abh_postprepare_push "fixconfigure"
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
+}