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

David Runge dvzrv at archlinux.org
Mon Dec 9 12:55:16 UTC 2019


    Date: Monday, December 9, 2019 @ 12:55:16
  Author: dvzrv
Revision: 370553

upgpkg: protobuf 3.11.1-2

Adding all direct library dependencies. Switching to more safe checksum (sha512sum).
Running autoreconf in prepare() and copying/fixing the sources for python2. Building the python packages in build().
Adding libprotoc.so, libprotobuf.so and libprotobuf-lite.so to provides. Installing vim syntax plugin.
Running unit tests on the python packages in check(). Installing (without building) the python packages in their respective package functions. Installing LICENSE files for python packages instead of symlinking.

Modified:
  protobuf/trunk/PKGBUILD

----------+
 PKGBUILD |   81 ++++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 62 insertions(+), 19 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-12-09 11:26:09 UTC (rev 370552)
+++ PKGBUILD	2019-12-09 12:55:16 UTC (rev 370553)
@@ -1,4 +1,5 @@
 # Maintainer: Lukas Fleischer <lfleischer at archlinux.org>
+# Contributor: David Runge <dvzrv 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>
@@ -9,35 +10,65 @@
 pkgbase='protobuf'
 pkgname=('protobuf' 'python2-protobuf' 'python-protobuf')
 pkgver=3.11.1
-pkgrel=1
+pkgrel=2
 pkgdesc="Protocol Buffers - Google's data interchange format"
 arch=('x86_64')
 url='https://developers.google.com/protocol-buffers/'
 license=('BSD')
-depends=('gcc-libs' 'zlib')
+depends=('gcc-libs' 'glibc' 'zlib')
 makedepends=('unzip' 'python-setuptools' 'python2-setuptools')
 source=("https://github.com/protocolbuffers/$pkgname/releases/download/v$pkgver/$pkgname-all-$pkgver.tar.gz")
-md5sums=('488f02ae18e57866fb8898bc73d83113')
+sha512sums=('7922f7d082cba1f39db618e4167890f0cf1257269d43912ea474379cb1cf85dd876e546b26eb46af0f0bdc0f95c2234313ce5aa2d8756cad9fa1b98f7c1d61e5')
 
+prepare() {
+  cd "$pkgbase-$pkgver"
+  autoreconf -vfi
+  # copying sources for python2
+  cp -av python python2
+  # fixing python2 shebangs
+  sed -e 's/env python/env python2/g' \
+      -i python2/google/protobuf/internal/*.py
+}
+
 build() {
-  cd "$srcdir/$pkgbase-$pkgver"
-  ./autogen.sh
+  cd "$pkgbase-$pkgver"
   ./configure --prefix=/usr
   make
+  (
+    cd python2
+    python2 setup.py build --cpp_implementation
+  )
+  (
+    cd python
+    python setup.py build --cpp_implementation
+  )
 }
 
 check() {
-  make -C "$srcdir/$pkgbase-$pkgver" check
+  cd "$pkgbase-$pkgver"
+  make check
+  (
+    cd python2
+    python2 setup.py test
+  )
+  (
+    cd python
+    python setup.py test
+  )
 }
 
 package_protobuf() {
   replaces=('protobuf-cpp')
+  provides=('libprotoc.so' 'libprotobuf.so' 'libprotobuf-lite.so')
 
-  cd "$srcdir/$pkgbase-$pkgver"
+  cd "$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 -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+  install -vDm 644 editors/protobuf-mode.el \
+    -t "$pkgdir/usr/share/emacs/site-lisp/"
+  install -vDm 644 editors/proto.vim \
+    -t "${pkgdir}/usr/share/vim/vimfiles/syntax"
 }
 
 package_python2-protobuf() {
@@ -44,11 +75,17 @@
   pkgdesc='Python 2 bindings for Google Protocol Buffers'
   depends=('python2' 'python2-six' "protobuf=$pkgver")
 
-  cd "$srcdir/$pkgbase-$pkgver/python"
-  python2 setup.py install --root="$pkgdir" --cpp_implementation
-
-  install -d "$pkgdir/usr/share/licenses/$pkgname"
-  ln -s "/usr/share/licenses/$pkgbase/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/"
+  local python_version=$(python2 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
+  cd "$pkgbase-$pkgver"
+  (
+    cd python2
+    PYTHONPATH="$PWD/build/lib.linux-$CARCH-${python_version}:PYTHONPATH" \
+    python2 setup.py install --skip-build \
+                             --cpp_implementation \
+                             --optimize=1 \
+                             --root="$pkgdir"
+  )
+  install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
 }
 
 package_python-protobuf() {
@@ -55,9 +92,15 @@
   pkgdesc='Python 3 bindings for Google Protocol Buffers'
   depends=('python' 'python-six' "protobuf=$pkgver")
 
-  cd "$srcdir/$pkgbase-$pkgver/python"
-  python3 setup.py install --root="$pkgdir" --cpp_implementation
-
-  install -d "$pkgdir/usr/share/licenses/$pkgname"
-  ln -s "/usr/share/licenses/$pkgbase/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/"
+  local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
+  cd "$pkgbase-$pkgver"
+  (
+    cd python
+    PYTHONPATH="$PWD/build/lib.linux-$CARCH-${python_version}:PYTHONPATH" \
+    python setup.py install --skip-build \
+                            --cpp_implementation \
+                            --optimize=1 \
+                            --root="$pkgdir"
+  )
+  install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
 }


More information about the arch-commits mailing list