# Contributor: Fabian Affolter # Maintainer: Jakub Jirutka global pkgname := 'ruby-nokogiri' global _gemname := $(pkgname#ruby-) global pkgver := '1.8.1' global pkgrel := '0' global pkgdesc := '"An HTML, XML, SAX, and Reader parser'" global url := '"http://nokogiri.org/'" global arch := '"all'" global license := '"MIT'" global depends := '"ruby ruby-mini_portile2'" global makedepends := '"ruby-dev libxml2-dev libxslt-dev'" global checkdepends := '"ruby-minitest'" global source := ""https://rubygems.org/downloads/$_gemname-$pkgver.gem"" global builddir := ""$srcdir/$_gemname-$pkgver"" global options := '"!check'" # FIXME: some tests fails due to encoding issues proc unpack { default_unpack cd $srcdir gem unpack $_gemname-$pkgver.gem } proc prepare { default_prepare cd $builddir # Generate gemspec (there's no gemspec in the source). gem specification -l --ruby "$srcdir"/$_gemname-$pkgver.gem \ > "$builddir"/$_gemname.gemspec # Remove bundled external libraries etc. sed -i \ -e 's|, "ports/archives/[^"][^"]*"||g' \ -e 's|, "ports/patches/[^"][^"]*"||g' \ -e '\@mini_portile@d' \ $_gemname.gemspec } proc build { cd $builddir gem build $_gemname.gemspec gem install \ --local \ --install-dir dist \ --ignore-dependencies \ --no-document \ --verbose \ $_gemname-$pkgver.gem -- \ --use-system-libraries } proc check { cd "$builddir"/dist/gems/$_gemname-$pkgver # Note: This is copied from Fedora package. export LANG=ja_JP.UTF-8 ruby -I.:lib:test:ext \ -e 'require "test/helper"' \ -e 'Dir.glob("test/**/test_*.rb") {|f| require f }' } proc package { var gemdir = ""$pkgdir/$[ruby -rubygems -e 'puts Gem.default_dir]"" cd "$builddir"/dist mkdir -p $gemdir cp -r bin extensions gems specifications "$gemdir"/ cd "$gemdir"/gems/$_gemname-$pkgver # Remove unnecessary files and rubbish... rm -r ext/ patches/ suppressions/ tasks/ test/ \ build_all test_all Rakefile .[a-z]* *.md *.rdoc *.txt *.yml || true } global sha512sums := '"b74e423e295265bd34960ffcfabfad5cc6048ca9c524e9dbf3aff652dab1b5b41470d1161f009bccd61b3acd16cad82b466c2e36e2ed65801f87b88b7c047b93 nokogiri-1.8.1.gem'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(ruby-nokogiri)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_gemname) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(ruby-)}) spids: [10 14] ) } spids: [9] ) ] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.8.1)} spids:[16])] spids: [16] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[19])] spids: [19] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("An HTML, XML, SAX, and Reader parser"))} spids: [22] ) ] spids: [22] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://nokogiri.org/"))} spids: [27] ) ] spids: [27] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[32])] spids: [32] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[37])] spids: [37] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("ruby ruby-mini_portile2"))} spids: [42] ) ] spids: [42] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ("ruby-dev libxml2-dev libxslt-dev"))} spids: [47] ) ] spids: [47] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ (ruby-minitest))} spids: [52] ) ] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://rubygems.org/downloads/") ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") (.gem) ) } spids: [57] ) ] spids: [57] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver"))} spids: [66] ) ] spids: [66] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[75])] spids: [75] ) (FuncDef name: unpack body: (BraceGroup children: [ (C {(default_unpack)}) (C {(cd)} {(DQ ($ VSub_Name "$srcdir"))}) (C {(gem)} {(unpack)} {($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") (.gem)}) ] spids: [88] ) spids: [84 87] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(default_prepare)}) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (SimpleCommand words: [ {(gem)} {(specification)} {(-l)} {(--ruby)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") (.gem) } ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name "$builddir")) (/) ($ VSub_Name "$_gemname") (.gemspec)} spids: [156] ) ] ) (C {(sed)} {(-i)} {(-e)} {(SQ <"s|, \"ports/archives/[^\"][^\"]*\"||g">)} {(-e)} {(SQ <"s|, \"ports/patches/[^\"][^\"]*\"||g">)} {(-e)} {(SQ <"\\@mini_portile@d">)} {($ VSub_Name "$_gemname") (.gemspec)} ) ] spids: [118] ) spids: [114 117] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(gem)} {(build)} {($ VSub_Name "$_gemname") (.gemspec)}) (C {(gem)} {(install)} {(--local)} {(--install-dir)} {(dist)} {(--ignore-dependencies)} {(--no-document)} {(--verbose)} {($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") (.gem)} {(--)} {(--use-system-libraries)} ) ] spids: [211] ) spids: [207 210] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/dist/gems/) ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") } ) (C {(export)} {(Lit_VarLike "LANG=") (ja_JP.UTF-8)}) (C {(ruby)} {(-I.) (Lit_Other ":") (lib) (Lit_Other ":") (test) (Lit_Other ":") (ext)} {(-e)} {(SQ <"require \"test/helper\"">)} {(-e)} {(SQ <"Dir.glob(\"test/**/test_*.rb\") {|f| require f }">)} ) ] spids: [276] ) spids: [272 275] ) (FuncDef name: package body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gemdir) op: Equal rhs: { (DQ ($ VSub_Name "$pkgdir") (/) (CommandSubPart command_list: (CommandList children: [ (C {(ruby)} {(-rubygems)} {(-e)} {(SQ <"puts Gem.default_dir">)}) ] ) left_token: spids: [343 353] ) ) } spids: [339] ) ] spids: [337] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/dist)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$gemdir"))}) (C {(cp)} {(-r)} {(bin)} {(extensions)} {(gems)} {(specifications)} {(DQ ($ VSub_Name "$gemdir")) (/)} ) (C {(cd)} {(DQ ($ VSub_Name "$gemdir")) (/gems/) ($ VSub_Name "$_gemname") (-) ($ VSub_Name "$pkgver") } ) (AndOr children: [ (C {(rm)} {(-r)} {(ext/)} {(patches/)} {(suppressions/)} {(tasks/)} {(test/)} {(build_all)} {(test_all)} {(Rakefile)} {(.) (Lit_Other "[") (a-z) (Lit_Other "]") (Lit_Other "*")} {(Lit_Other "*") (.md)} {(Lit_Other "*") (.rdoc)} {(Lit_Other "*") (.txt)} {(Lit_Other "*") (.yml)} ) (C {(true)}) ] op_id: Op_DPipe ) ] spids: [334] ) spids: [330 333] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "b74e423e295265bd34960ffcfabfad5cc6048ca9c524e9dbf3aff652dab1b5b41470d1161f009bccd61b3acd16cad82b466c2e36e2ed65801f87b88b7c047b93 nokogiri-1.8.1.gem" ) ) } spids: [458] ) ] spids: [458] ) ] )