# Contributor: Kiyoshi Aman # Maintainer: Natanael Copa pkgname=protobuf _gemname=google-protobuf pkgver=3.3.2 pkgrel=1 pkgdesc="Library for extensible, efficient structure packing" url="https://github.com/google/protobuf" arch="all" license="BSD" depends_dev="zlib-dev" makedepends="$depends_dev autoconf automake libtool ruby ruby-dev ruby-rake" subpackages="ruby-$_gemname:_ruby $pkgname-dev $pkgname-vim::noarch" source="$pkgname-$pkgver.tar.gz::https://github.com/google/$pkgname/archive/v$pkgver.tar.gz musl-fix.patch trim-rakefile.patch " builddir="$srcdir/$pkgname-$pkgver" prepare() { default_prepare cd "$builddir" ./autogen.sh } build() { cd "$builddir" CXXFLAGS="$CXXFLAGS -fno-delete-null-pointer-checks" \ ./configure --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var make cd "$builddir"/ruby # Generate proto files for built-in protocols. rake genproto gem build $_gemname.gemspec gem install --local \ --install-dir dist \ --ignore-dependencies \ --no-document \ --verbose \ $_gemname } # TODO: Run tests for ruby gem. check() { cd "$builddir" make check } package() { cd "$builddir" make DESTDIR="$pkgdir" install } _ruby() { pkgdesc="Ruby bindings to Google's data interchange format" local gemdir="$subpkgdir/$(ruby -rubygems -e 'puts Gem.default_dir')" cd "$builddir"/ruby/dist mkdir -p "$gemdir" cp -r extensions gems specifications "$gemdir"/ # Remove duplicated .so libs (should be only in extensions directory). find "$gemdir"/gems/ -name "*.so" -delete # Remove unnecessary files. cd "$gemdir"/gems/$_gemname-$pkgver rm -r ext/ tests/ } vim() { pkgdesc="Vim syntax for $pkgname" depends="" install_if="$pkgname=$pkgver-r$pkgrel vim" install -Dm644 "$builddir"/editors/proto.vim \ "$subpkgdir"/usr/share/vim/vimfiles/syntax/proto.vim } sha512sums="795b2b438e6c3628f574bdb2929b7a3771a8105af2d320ca0f9b144b93d9be4f713fb389f5a08c1c771ce93585b7aefc9b272c9cb57299d9ee6827e06e7ff557 protobuf-3.3.2.tar.gz 66b430c81f34f49a86dfca50edbb517e4ad1a5ea922625b6266410c5feacfb621fe583c2998ac8994c6de45470652d2408c6c731d9746b74891a627564ca01f0 musl-fix.patch e1f6483b7e8d38b07cd01883bda439b2017fa0a87626fa49628f1d2042b5097ba8a68bdf1a03cd385e3e9a7c0bd2af6fbccec25e1c061617c3cceccabd17dce4 trim-rakefile.patch"