[arch-commits] Commit in protobuf/trunk (PKGBUILD)

Lukas Fleischer lfleischer at archlinux.org
Fri Nov 11 19:44:00 UTC 2016


    Date: Friday, November 11, 2016 @ 19:43:59
  Author: lfleischer
Revision: 280582

upgpkg: protobuf 3.0.2-1

Upstream update.

Modified:
  protobuf/trunk/PKGBUILD

----------+
 PKGBUILD |   90 ++++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 68 insertions(+), 22 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-11-11 19:35:39 UTC (rev 280581)
+++ PKGBUILD	2016-11-11 19:43:59 UTC (rev 280582)
@@ -1,51 +1,97 @@
-# $Id$
-# Maintainer:  Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+# Maintainer: Lukas Fleischer <lfleischer at archlinux.org>
+# Contributor: Aleksey Filippov <sarum9in at gmail.com>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
 # Contributor: Sven-Hendrik Haase <sh at lutzhaase.com>
 # Contributor: Thomas S Hatch <thatch45 at gmail.com>
 # Contributor: Geoffroy Carrier <geoffroy at archlinux.org>
 # Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
 
-pkgname=('protobuf' 'python2-protobuf')
-pkgver=2.6.1
-pkgrel=2
+pkgbase='protobuf'
+pkgname=('protobuf' 'python2-protobuf' 'python-protobuf')
+pkgver=3.0.2
+_gtestver=1.8.0
+pkgrel=1
 pkgdesc="Protocol Buffers - Google's data interchange format"
 arch=('i686' 'x86_64')
 url='https://developers.google.com/protocol-buffers/'
 license=('BSD')
 depends=('gcc-libs' 'zlib')
-makedepends=('python2-setuptools')
-source=(https://github.com/google/protobuf/releases/download/v$pkgver/protobuf-$pkgver.tar.bz2)
-md5sums=('11aaac2d704eef8efd1867a807865d85')
+optdepends=('libprotobuf2: compatibility with extra/protobuf linked binaries')
+makedepends=('unzip' 'python-setuptools' 'python2-setuptools' 'clang')
+source=("https://github.com/google/${pkgbase}/archive/v${pkgver}.tar.gz"
+        "gtest-${_gtestver}.tar.gz::https://github.com/google/googletest/archive/release-${_gtestver}.tar.gz")
+md5sums=('845b39e4b7681a2ddfd8c7f528299fbb'
+         '16877098823401d1bf2ed7891d7dce36')
 
+prepare() {
+  cd "$pkgbase-$pkgver"
+
+  rm -rf gmock && cp -r "$srcdir/googletest-release-${_gtestver}/googlemock" gmock
+  rm -rf googletest && cp -r "$srcdir/googletest-release-${_gtestver}/googletest" googletest
+  ln -sf ../googletest gmock/gtest
+
+  sed -r 's|/usr/bin/env python|/usr/bin/env python2|' -i googletest/scripts/*.py
+}
+
 build() {
-  cd $pkgbase-$pkgver
+  # GCC is stuck on src/google/protobuf/util/internal/protostream_objectsource_test.cc
+  # and src/google/protobuf/util/internal/protostream_objectwriter_test.cc.
+  export CC=/usr/bin/clang CXX=/usr/bin/clang++
+
+  cd "$srcdir/$pkgbase-$pkgver"
+  ./autogen.sh
+
+  cd "$srcdir/$pkgbase-$pkgver/googletest"
+  ./configure
+  make
+
+  cd "$srcdir/$pkgbase-$pkgver/gmock"
+  ./configure
+  make
+
+  cd "$srcdir/$pkgbase-$pkgver"
   ./configure --prefix=/usr
   make
 }
 
 check() {
-  make -C $pkgbase-$pkgver check
+  make -C "$srcdir/$pkgbase-$pkgver" check
 }
 
 package_protobuf() {
-  cd $pkgbase-$pkgver
+  conflicts=('protobuf' 'protobuf-cpp')
+  provides=('protobuf' 'protobuf-cpp')
+  replaces=('protobuf-cpp')
+
+  cd "$srcdir/$pkgbase-$pkgver"
   make DESTDIR="$pkgdir" install
-  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
 
-  install -Dm644 editors/protobuf-mode.el \
-    "$pkgdir"/usr/share/emacs/site-lisp/protobuf-mode.el
+  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+  install -Dm644 editors/protobuf-mode.el "$pkgdir"/usr/share/emacs/site-lisp/protobuf-mode.el
 }
 
 package_python2-protobuf() {
   pkgdesc='Python 2 bindings for Google Protocol Buffers'
-  depends=("python2" "protobuf=${pkgver}")
-  provides=("protobuf-python")
-  conflicts=("protobuf-python")
-  replaces=("protobuf-python")
+  depends=('python2' 'python2-six' "protobuf=$pkgver")
+  conflicts=('python2-protobuf')
+  provides=('python2-protobuf')
 
-  cd $pkgbase-$pkgver/python
-  python2 setup.py install --prefix=/usr --root="$pkgdir"
+  cd "$srcdir/$pkgbase-$pkgver/python"
+  python2 setup.py install --root="$pkgdir"
 
-  install -d "$pkgdir"/usr/share/licenses/$pkgname
-  ln -s /usr/share/licenses/$pkgbase/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/
+  install -d "$pkgdir/usr/share/licenses/$pkgname"
+  ln -s "/usr/share/licenses/$pkgbase/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/"
 }
+
+package_python-protobuf() {
+  pkgdesc='Python 3 bindings for Google Protocol Buffers'
+  depends=('python' 'python-six' "protobuf=$pkgver")
+  conflicts=('python-protobuf')
+  provides=('python-protobuf')
+
+  cd "$srcdir/$pkgbase-$pkgver/python"
+  python3 setup.py install --root="$pkgdir"
+
+  install -d "$pkgdir/usr/share/licenses/$pkgname"
+  ln -s "/usr/share/licenses/$pkgbase/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/"
+}



More information about the arch-commits mailing list