trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: February 2012

arch pkgbuild - direct git download - prototype (rough)

From: "David C. Rankin" <drankinatty@...>
Date: Thu, 23 Feb 2012 16:31:03 -0600
Archers,

  Please look at the attached PKGBUILD for libart-lgpl. It pulls the source
either directly from the git tree on the local machine (after updating it), or
it clones directly from scm.trinitydesktop.org. I looked over the existing
pkgbuilds that use git in one form or another in ABS and this is my prototype
for how we could do the remaining build scripts.

  Let me know what changes you propose.

-- 
David C. Rankin, J.D.,P.E.
# Maintainer: David C. Rankin <drankinatty at gmail dot com>

pkgname=tde-libart-lgpl
pkgver=3513_git
pkgrel=1
pkgdesc="Trinity Desktop LGPL'd Component (git)"
arch=('i686' 'x86_64')
url="http://scm.trinitydesktop.org/scm/git/libart-lgpl"
license=('LGPL')
groups=('trinity-base')
depends=()
makedepends=()
optdepends=()
provides=('libart-lgpl')
conflicts=()
replaces=()
options=('libtool' '!strip')
install=
# source=(dependencies-libcaldav.tar.gz)
# md5sums=('9af08c597e01642b27763716789e1d50')

_gitlocal=/home/david/tde/tde/main
_gitname="${pkgname#*-}"
_gitdir="${_gitlocal}/dependencies/${_gitname}"
_giturl="$url"

_prefix=/trinity

build() {
#   cd $srcdir/${pkgname#*-}
  cd ${srcdir}

  msg "Connecting to GIT server...."
  if [ -d $_gitname ] ; then
    msg "Using existing source in: ${srcdir}/${_gitname}"
  else
    if [ -d $_gitdir ] ; then
      msg "Updating local tree: $_gitdir"
      cd $_gitdir && {
	git pull
	git submodule init
	git submodule update --recursive
	git submodule foreach --recursive "git checkout master"
	git submodule foreach --recursive "git pull"
      }
      cd ${srcdir} && cp -a "$_gitdir" .
      msg "The local files are updated."
    else
      msg "Cloning new source from: $url"
      git clone --depth=1 $_giturl
    fi
    msg "GIT checkout done or server timeout"
  fi

  cd "${srcdir}/${_gitname}"
  ./configure --prefix=$_prefix
  make || return 1
  make DESTDIR=$pkgdir install || return 1
}