summaryrefslogtreecommitdiff
path: root/libre-testing/libretools
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-09 03:58:56 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-09 03:58:56 +0000
commitebfbe6aa4a09806147654dd9e8d512cd68921e0d (patch)
tree645198602e94164a4130285756f401ae0b0756fd /libre-testing/libretools
parent3092fe0e20f490a5f9b8b9602ffc039a22be60c0 (diff)
Thu Jan 9 03:54:24 UTC 2014
Diffstat (limited to 'libre-testing/libretools')
-rw-r--r--libre-testing/libretools/PKGBUILD91
-rw-r--r--libre-testing/libretools/libretools.install64
2 files changed, 155 insertions, 0 deletions
diff --git a/libre-testing/libretools/PKGBUILD b/libre-testing/libretools/PKGBUILD
new file mode 100644
index 000000000..7daf4c071
--- /dev/null
+++ b/libre-testing/libretools/PKGBUILD
@@ -0,0 +1,91 @@
+# Maintainer: Joshua Haase <hahj87@gmail.com
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: fauno <fauno@kiwwwi.com.ar>
+# Contributor: Márcio Silva <coadde@lavabit.com>
+
+pkgbase=libretools
+pkgname=(libretools libretools-mips64el librelib gitget)
+pkgdesc="Programs for Parabola development"
+url="https://projects.parabolagnulinux.org/packages/libretools.git/"
+license=('GPL3' 'GPL2')
+
+pkgver=20140106.1
+_libretools_commit=39b13f63d0fd89bfa3cae1feb8744fb100eb5651
+_devtools_commit=534d2015b45e013b37e1edbb997bd4df27d7b8fd
+
+_packages_url=https://projects.parabolagnulinux.org/packages
+source=($_packages_url/libretools.git/snapshot/libretools-$_libretools_commit.tar.bz2
+ $_packages_url/devtools-par.git/snapshot/devtools-par-$_devtools_commit.tar.bz2)
+
+pkgrel=1
+arch=('any')
+makedepends=(emacs ronn) # emacs --batch is used during the build to process text
+checkdepends=(sh-roundup)
+
+build() {
+ cd "$srcdir"
+ ln -sf devtools-par-$_devtools_commit devtools-par
+ cd "$srcdir/$pkgbase-$_libretools_commit"
+ make build-libretools build-libretools-mips64el build-librelib build-doc
+}
+
+check() {
+ cd "$srcdir/$pkgbase-$_libretools_commit"
+
+ SUDO_USER= make check TESTENVFLAGS='--no-network --no-sudo'
+}
+
+package_librelib() {
+ pkgdesc="Shell library portion of libretools"
+ depends=(
+ wget # `aur` and `lib/blacklist.sh`
+ )
+
+ cd "$srcdir/$pkgbase-$_libretools_commit"
+ make install-librelib DESTDIR="$pkgdir"
+}
+
+package_gitget() {
+ depends=("librelib=$pkgver" git)
+
+ provides=("libregit=$pkgver")
+ conflicts=("libregit")
+ replaces=("libregit")
+
+ cd "$srcdir/$pkgbase-$_libretools_commit"
+ make install-gitget DESTDIR="$pkgdir"
+}
+
+package_libretools() {
+ backup=(etc/libretools.conf etc/libretools.d/chroot.conf etc/libretools.d/librefetch.conf)
+ install=libretools.install
+ replaces=(chroottools)
+ conflicts=(devtools)
+
+ depends=(
+ "librelib=$pkgver"
+ "gitget=$pkgver" # `createworkdir`
+ arch-install-scripts # `archroot` uses `pacstrap`
+ openssh # `librerelease`
+ rsync # `librerelease` and `makechrootpkg.sh`
+ subversion # `diff-unfree`
+ tokyocabinet # `treepkg`
+ )
+ optdepends=('namcap: to check package files')
+
+ cd "$srcdir/$pkgbase-$_libretools_commit"
+ make install-libretools install-doc DESTDIR="$pkgdir"
+}
+
+package_libretools-mips64el() {
+ pkgdesc="Scripts for Parabola development (for mips64el architecture)"
+ depends=("$pkgbase=$pkgver"
+ git # mips-add
+ )
+
+ cd "$srcdir/$pkgbase-$_libretools_commit"
+ make install-libretools-mips64el DESTDIR="$pkgdir"
+}
+
+md5sums=('246274cf5974d6adee536edbdb2447c0'
+ 'ec69dffa68829f063224de19bbd55fa9')
diff --git a/libre-testing/libretools/libretools.install b/libre-testing/libretools/libretools.install
new file mode 100644
index 000000000..a451add36
--- /dev/null
+++ b/libre-testing/libretools/libretools.install
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+_edit_code=" 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'"
+_edit_cmnt='#%s # commented out by the libretools post_install script'
+
+_add_cmnt='# The following line is added by the libretools post_install script'
+_add_code='[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p \"\$BUILDFILE\" -- %u %o")'
+
+# This line was installed by previous versions of this script
+_old_code='[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$BUILDFILE\" %u %o")'
+
+# has_line $line
+has_line() { grep -Fxq -- "$1" etc/makepkg.conf; }
+# add_line $line
+add_line() { printf '%s\n' "$1" >> etc/makepkg.conf; }
+# del_line $line
+del_line() {
+ local lineno=($(grep -Fxn -- "$1" etc/makepkg.conf | cut -d: -f1))
+ if [[ "${#lineno[@]}" -gt 0 ]]; then
+ sed -i "$(printf '%dd;' "${lineno[@]}")" etc/makepkg.conf;
+ fi
+}
+# rep_line $orig $replacement_bre
+rep_line() {
+ local lineno=($(grep -Fxn -- "$1" etc/makepkg.conf | cut -d: -f1))
+ if [[ "${#lineno[@]}" == 1 ]]; then
+ sed -i "${lineno}s|.*|${2//|/\\|}|" etc/makepkg.conf;
+ fi
+}
+
+# arg 1: the new package version
+post_install() {
+ if grep -q 'librefetch' etc/makepkg.conf; then
+ libremessages msg2 "libretools: librefetch is already in /etc/makepkg.conf"
+ if has_line "$_old_code"; then
+ libremessages msg2 "libretools: removing old librefetch entry in /etc/makepkg.conf"
+ del_line "$_old_code"
+ post_install
+ else
+ return 0
+ fi
+ else
+ libremessages msg2 "libretools: adding librefetch to /etc/makepkg.conf"
+ rep_line "$_edit_code" "$(printf "$_edit_cmnt" '&')"
+ add_line "$_add_cmnt"
+ add_line "$_add_code"
+ fi
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ libremessages msg2 "libretools: removing librefetch from /etc/makepkg.conf"
+
+ rep_line "$(printf "$_edit_cmnt" "$_edit_code")" "$_edit_code"
+ del_line "$_add_cmnt"
+ del_line "$_add_code"
+
+ del_line "$_old_code"
+}