# Contributor: Kiyoshi Aman # Maintainer: Natanael Copa global pkgname := 'protobuf' global _gemname := 'google-protobuf' global pkgver := '3.3.2' global pkgrel := '1' global pkgdesc := '"Library for extensible, efficient structure packing'" global url := '"https://github.com/google/protobuf'" global arch := '"all'" global license := '"BSD'" global depends_dev := '"zlib-dev'" global makedepends := ""$depends_dev autoconf automake libtool ruby ruby-dev ruby-rake"" global subpackages := ""ruby-$_gemname:_ruby $pkgname-dev $pkgname-vim::noarch"" global source := ""$pkgname-$pkgver.tar.gz::https://github.com/google/$pkgname/archive/v$pkgver.tar.gz musl-fix.patch trim-rakefile.patch "" global builddir := ""$srcdir/$pkgname-$pkgver"" proc prepare { default_prepare cd $builddir ./autogen.sh } proc build { cd $builddir env 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. proc check { cd $builddir make check } proc package { cd $builddir make DESTDIR="$pkgdir" install } proc _ruby { global pkgdesc := '"Ruby bindings to Google's data interchange format'" var 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/ } proc vim { global pkgdesc := ""Vim syntax for $pkgname"" global depends := ''"" global install_if := ""$pkgname=$pkgver-r$pkgrel vim"" install -Dm644 "$builddir"/editors/proto.vim \ "$subpkgdir"/usr/share/vim/vimfiles/syntax/proto.vim } global sha512sums := '"795b2b438e6c3628f574bdb2929b7a3771a8105af2d320ca0f9b144b93d9be4f713fb389f5a08c1c771ce93585b7aefc9b272c9cb57299d9ee6827e06e7ff557 protobuf-3.3.2.tar.gz 66b430c81f34f49a86dfca50edbb517e4ad1a5ea922625b6266410c5feacfb621fe583c2998ac8994c6de45470652d2408c6c731d9746b74891a627564ca01f0 musl-fix.patch e1f6483b7e8d38b07cd01883bda439b2017fa0a87626fa49628f1d2042b5097ba8a68bdf1a03cd385e3e9a7c0bd2af6fbccec25e1c061617c3cceccabd17dce4 trim-rakefile.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(protobuf)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_gemname) op:Equal rhs:{(google-protobuf)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.3.2)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Library for extensible, efficient structure packing"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://github.com/google/protobuf"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ (zlib-dev))} spids:[38])] spids: [38] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") (" autoconf automake libtool ruby ruby-dev ruby-rake")) } spids: [43] ) ] spids: [43] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ (ruby-) ($ VSub_Name "$_gemname") (":_ruby ") ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-vim::noarch") ) } spids: [49] ) ] spids: [49] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.gz::https://github.com/google/") ($ VSub_Name "$pkgname") (/archive/v) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tmusl-fix.patch\n") ("\ttrim-rakefile.patch\n") ("\t") ) } spids: [60] ) ] spids: [60] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [75] ) ] spids: [75] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(default_prepare)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(./autogen.sh)}) ] spids: [89] ) spids: [85 88] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (SimpleCommand words: [ {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} {(--localstatedir) (Lit_Other "=") (/var)} ] more_env: [ (env_pair name: CXXFLAGS val: {(DQ ($ VSub_Name "$CXXFLAGS") (" -fno-delete-null-pointer-checks"))} spids: [123] ) ] ) (C {(make)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/ruby)}) (C {(rake)} {(genproto)}) (C {(gem)} {(build)} {($ VSub_Name "$_gemname") (.gemspec)}) (C {(gem)} {(install)} {(--local)} {(--install-dir)} {(dist)} {(--ignore-dependencies)} {(--no-document)} {(--verbose)} {($ VSub_Name "$_gemname")} ) ] spids: [112] ) spids: [108 111] ) (FuncDef name: check body: (BraceGroup children: [(C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(check)})] spids: [231] ) spids: [227 230] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) ] spids: [252] ) spids: [248 251] ) (FuncDef name: _ruby body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Ruby bindings to Google's data interchange format"))} spids: [281] ) ] spids: [281] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gemdir) op: Equal rhs: { (DQ ($ VSub_Name "$subpkgdir") (/) (CommandSubPart command_list: (CommandList children: [ (C {(ruby)} {(-rubygems)} {(-e)} {(SQ <"puts Gem.default_dir">)}) ] ) left_token: spids: [294 304] ) ) } spids: [290] ) ] spids: [288] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/ruby/dist)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$gemdir"))}) (C {(cp)} {(-r)} {(extensions)} {(gems)} {(specifications)} {(DQ ($ VSub_Name "$gemdir")) (/)}) (C {(find)} {(DQ ($ VSub_Name "$gemdir")) (/gems/)} {(-name)} {(DQ ("*.so"))} {(-delete)}) (C {(cd)} {(DQ ($ VSub_Name "$gemdir")) (/gems/) ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") } ) (C {(rm)} {(-r)} {(ext/)} {(tests/)}) ] spids: [278] ) spids: [274 277] ) (FuncDef name: vim body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Vim syntax for ") ($ VSub_Name "$pkgname"))} spids: [397] ) ] spids: [397] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[404])] spids: [404] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) ($ VSub_Name "$pkgrel") (" vim") ) } spids: [409] ) ] spids: [409] ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$builddir")) (/editors/proto.vim)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/vim/vimfiles/syntax/proto.vim)} ) ] spids: [394] ) spids: [390 393] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "795b2b438e6c3628f574bdb2929b7a3771a8105af2d320ca0f9b144b93d9be4f713fb389f5a08c1c771ce93585b7aefc9b272c9cb57299d9ee6827e06e7ff557 protobuf-3.3.2.tar.gz\n" ) ( "66b430c81f34f49a86dfca50edbb517e4ad1a5ea922625b6266410c5feacfb621fe583c2998ac8994c6de45470652d2408c6c731d9746b74891a627564ca01f0 musl-fix.patch\n" ) ( "e1f6483b7e8d38b07cd01883bda439b2017fa0a87626fa49628f1d2042b5097ba8a68bdf1a03cd385e3e9a7c0bd2af6fbccec25e1c061617c3cceccabd17dce4 trim-rakefile.patch" ) ) } spids: [440] ) ] spids: [440] ) ] )