On Sat, 25 Jun 2016 08:46:05 +0200 Justus-dev@Piater.name wrote:
I scratched an itch and would now like feedback on my first PKGBUILD. I enabled the features I need (which are all basic), plus all those that did not pull in too many additional dependencies and compiled without fuss. I split out syncevo-http-server because it depends on many Python packages, and many users won't need it.
The patch (not included) replaces python by python2, fixes two minor compilation issues, and applies a hack to get it to work with libical2. (Upstream is aware.)
Sounds like it should be at least 3 separate patches.
(There are obsolete syncevolution packages in the AUR Archive, but I decided to start from scratch.)
Thanks, Justus
# Maintainer: Justus Piater <Justus-dev@Piater.name> pkgname=('syncevolution' 'syncevolution-http') pkgver=1.5.1 pkgrel=1 pkgdesc="Synchronize PIM data via various protocols" arch=('i686' 'x86_64') url="https://syncevolution.org/" license=('LGPL') depends=('evolution-data-server' 'neon' 'openobex' 'python2' 'libunique') makedepends=('intltool' 'boost') #changelog= source=("https://download.01.org/syncevolution/syncevolution/sources/$pkgname-$pkgver..." "$pkgname-$pkgver.patch") sha256sums=('39f52049006c4a703bfe4b7cea3bb3298fe61b4ba9a8dbc367492409e4091c70' 'e8592cff59bc0ebc9bb2b35b63840d4207bb8bc321f244294122a40910b6aeb2')
prepare() { cd "$pkgname-$pkgver" patch -p1 -i "$srcdir/$pkgname-$pkgver.patch" }
build() { cd "$pkgname-$pkgver" ./configure --prefix=/usr --libexecdir=/usr/lib/syncevolution --sysconfdir=/etc CXXFLAGS=-std=gnu++98 --enable-bluetooth --enable-core --enable-dbus-service --enable-notify --enable-notify-compatibility --enable-gui --enable-pbap --enable-dav
The guidelines ask to limit lines to somewhere around 100 characters. Not required, but considered good form.
make }
package_syncevolution() { cd "$pkgbase-$pkgver" make DESTDIR="$pkgdir/" install rm -f $pkgdir/usr/bin/syncevo-http-server rmdir $pkgdir/usr/lib/syncevolution/test
Missing some quotes here. You don't know if $pkgdir contains a space or not. You could also combine these two into one command.
}
package_syncevolution-http() { pkgdesc="Synchronize PIM data via various protocols (HTTP server)" arch=('any') depends=('syncevolution' 'python2-dbus' 'python2-twisted' 'python2-gobject2' 'python2-pyopenssl' 'python2-service-identity') #changelog=
cd "$pkgbase-$pkgver" mkdir -p $pkgdir/usr/bin /usr/bin/install -c test/syncevo-http-server.py $pkgdir/usr/bin/syncevo-http-server
More missing quotes. Not sure why you're specifying the full path for install, and you could use the -D switch to create the dir, so the preceding mkdir isn't necessary. The -c switch does nothing. I'm assuming you want this to be executable, so adding -m755 would be a good idea as well.
}