# Contributor: Fabian Affolter # Maintainer: Fabian Affolter global pkgname := 'rats' global pkgver := '2.3' global pkgrel := '0' global pkgdesc := '"A tool to find security related programming errors'" global url := '"https://www.fortify.com/ssa-elements/threat-intelligence/rats.html'" global arch := '"all'" global license := '"GPL2+'" global depends := ''"" global depends_dev := ''"" global makedepends := '"expat-dev wget flex'" global install := ''"" global subpackages := ""$pkgname-doc"" global source := ""https://www.fortify.com/downloads2/public/$pkgname-$pkgver.tar.gz"" global _builddir := ""$srcdir"/$pkgname-$pkgver" proc prepare { var i = '' cd $_builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } } proc build { cd $_builddir ./configure \ --prefix=/usr \ --datadir=/usr/share/ \ --mandir=/usr/share/man make || return 1 } proc package { cd $_builddir ##make DESTDIR="$pkgdir" install || return 1 install -Dpm 0755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1 mkdir -p "$pkgdir"/usr/share/$pkgname || return 1 install -Dm 0644 *.xml "$pkgdir"/usr/share/$pkgname/ || return 1 } proc doc { # The man page is not picked-up automatically mkdir -p "$subpkgdir"/usr/share/man/man1 || return 1 mv "$_builddir"/*.1 "$subpkgdir"/usr/share/man/man1/ || return 1 } global md5sums := '"339ebe60fc61789808a457f6f967d226 rats-2.3.tar.gz'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(rats)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.3)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A tool to find security related programming errors"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("https://www.fortify.com/ssa-elements/threat-intelligence/rats.html"))} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[25])] spids: [25] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("GPL2+"))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[35])] spids: [35] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[39])] spids: [39] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ("expat-dev wget flex"))} spids: [43] ) ] spids: [43] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[48])] spids: [48] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))} spids: [52] ) ] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://www.fortify.com/downloads2/public/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (.tar.gz) ) } spids: [58] ) ] spids: [58] ) (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: [67] ) ] spids: [67] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[86])] spids: [84] ) (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [115 117 141 -1] ) ] spids: [108 112 144] ) ] spids: [105 147] ) spids: [101 103] ) ] spids: [81] ) spids: [77 80] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--datadir) (Lit_Other "=") (/usr/share/)} {(--mandir) (Lit_Other "=") (/usr/share/man)} ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [156] ) spids: [152 155] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(install)} {(-Dpm)} {(0755)} {(DQ ($ VSub_Name "$pkgname"))} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-Dm)} {(0644)} {(Lit_Other "*") (.xml)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/) ($ VSub_Name "$pkgname") (/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [202] ) spids: [198 201] ) (FuncDef name: doc body: (BraceGroup children: [ (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/man/man1)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$_builddir")) (/) (Lit_Other "*") (.1)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/man/man1/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [285] ) spids: [281 284] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: {(DQ ("339ebe60fc61789808a457f6f967d226 rats-2.3.tar.gz"))} spids: [331] ) ] spids: [331] ) ] )