diff options
Diffstat (limited to 'libre-testing')
-rw-r--r-- | libre-testing/libretools/PKGBUILD | 108 | ||||
-rw-r--r-- | libre-testing/libretools/libretools.install | 72 |
2 files changed, 180 insertions, 0 deletions
diff --git a/libre-testing/libretools/PKGBUILD b/libre-testing/libretools/PKGBUILD new file mode 100644 index 000000000..a034a412b --- /dev/null +++ b/libre-testing/libretools/PKGBUILD @@ -0,0 +1,108 @@ +# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: Joshua Ismael Haase Hernández (xihh) <hahj87@gmail.com> +# Contributor: fauno <fauno@kiwwwi.com.ar> +# Contributor: Márcio Silva <coadde@parabola.nu> + +pkgbase=libretools +pkgname=(libretools libretools-mips64el librelib gitget xbs) +pkgdesc="Programs for Parabola development" +url="https://projects.parabolagnulinux.org/packages/libretools.git/" +license=('GPL3' 'GPL2') + +pkgver=20140630 +_libretools_commit=5a84f3c84a1f3275f5b3ab51b1cf90327f52b9b2 +_devtools_commit=d732aae2ca57430f3dd95c0ed4dcc05df4014f91 +md5sums=('14a272e6b69c05493b16d84a247a1e17' + '615db785531757d3a849614bb117fba4') + +_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="The shell library portion of libretools" + license=(GPL2) + depends=( + wget # `blacklist` + ) + + cd "$srcdir/$pkgbase-$_libretools_commit" + make install-librelib DESTDIR="$pkgdir" +} + +package_gitget() { + pkgdesc="A simple to use downloader for git URLs" + license=(GPL2) + depends=("librelib=$pkgver" git) + + provides=("libregit=$pkgver") + conflicts=("libregit") + replaces=("libregit") + + cd "$srcdir/$pkgbase-$_libretools_commit" + make install-gitget DESTDIR="$pkgdir" +} + +package_xbs() { + pkgdesc='A tool for working with arbitrary ABS-like build systems' + license=(GPL2) + depends=( + "gitget=$pkgver" # for helper-abslibre + "librelib=$pkgver" + ) + + cd "$srcdir/$pkgbase-$_libretools_commit" + make install-xbs 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 chroottools) + + depends=( + "librelib=$pkgver" + "xbs=$pkgver" # `createworkdir`, `librestage` + "systemd>=212" # force newer systemd + arch-install-scripts # `archroot` uses `pacstrap` + openssh # `librerelease` + rsync # `librerelease` and `makechrootpkg.sh` + subversion # `diff-unfree` + tokyocabinet # `treepkg` + wget # `aur` + ) + 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)" + license=(GPL3) + depends=("$pkgbase=$pkgver" + git # mips-add + ) + + cd "$srcdir/$pkgbase-$_libretools_commit" + make install-libretools-mips64el DESTDIR="$pkgdir" +} diff --git a/libre-testing/libretools/libretools.install b/libre-testing/libretools/libretools.install new file mode 100644 index 000000000..35edf68c7 --- /dev/null +++ b/libre-testing/libretools/libretools.install @@ -0,0 +1,72 @@ +#!/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='DLAGENTS+=({https,libre}'\''::/usr/bin/librefetch -p "$BUILDFILE" -- %u %o'\'')' + +# These lines were installed by previous versions of this script +_old_code=( + '[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=("libre::/usr/bin/librefetch -p \"\$BUILDFILE\" %u %o")' + '[[ ! -x /usr/bin/librefetch ]] || DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p \"\$BUILDFILE\" -- %u %o")' + 'DLAGENTS+=({https,libre}"::/usr/bin/librefetch -p $(printf "%q" "$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" + local line del=false + for line in "${_old_code[@]}"; do + if has_line "$line"; then + pre_remove + post_install + return $? + fi + done + 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" + + local line + for line in "${_old_code[@]}"; do + del_line "$line" + done +} |