# Contributor: Sergei Lukin # Maintainer: Natanael Copa global pkgname := 'pcre' global pkgver := '8.41' global pkgrel := '1' global pkgdesc := '"Perl-compatible regular expression library'" global url := '"http://pcre.sourceforge.net'" global arch := '"all'" global license := '"BSD'" global depends := '' global makedepends := ''"" global checkdepends := '"paxmark'" global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-tools libpcrecpp libpcre16 libpcre32"" global source := ""ftp://ftp.csx.cam.ac.uk/pub/software/programming/$pkgname/$pkgname-$pkgver.tar.bz2 "" # secfixes: # 8.40-r2: # - CVE-2017-7186 # 7.8-r0: # - CVE-2017-11164 global builddir := ""$srcdir/$pkgname-$pkgver"" proc build { cd $builddir test $CARCH = "s390x" && global _enable_jit := ''"" || global _enable_jit := '"--enable-jit'" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ $_enable_jit \ --enable-utf8 \ --enable-unicode-properties \ --enable-pcre8 \ --enable-pcre16 \ --enable-pcre32 \ --with-match-limit-recursion=8192 \ --htmldir=/usr/share/doc/$pkgname-$pkgver/html \ --docdir=/usr/share/doc/$pkgname-$pkgver make } proc package { cd $builddir make DESTDIR="$pkgdir" install } proc check { cd $builddir # paxmark tests requiring JIT for fn in [pcre_jit_test pcretest] { ./$fn &>/dev/null < /dev/null || true test -x .libs/lt-$fn && paxmark -m .libs/lt-$fn } # skip locale specific tests sed -i -e 's/do3=yes//g' RunTest make check } proc libpcrecpp { global pkgdesc := '"C++ bindings for PCRE'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libpcrecpp.so* "$subpkgdir"/usr/lib/ } proc libpcre16 { global pkgdesc := '"PCRE with 16 bit character support'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libpcre16.so* "$subpkgdir"/usr/lib/ } proc libpcre32 { global pkgdesc := '"PCRE with 32 bit character support'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libpcre32.so* "$subpkgdir"/usr/lib/ } proc tools { global pkgdesc := '"Auxiliary utilities for PCRE'" mkdir -p "$subpkgdir"/usr/ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ } global sha512sums := '"cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551 pcre-8.41.tar.bz2'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(pcre)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(8.41)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Perl-compatible regular expression library"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://pcre.sourceforge.net"))} 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 (BSD))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[35])] spids: [35] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[37])] spids: [37] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:checkdepends) op:Equal rhs:{(DQ (paxmark))} spids:[41])] spids: [41] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-tools\n") ("\tlibpcrecpp libpcre16 libpcre32") ) } spids: [46] ) ] spids: [46] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("ftp://ftp.csx.cam.ac.uk/pub/software/programming/") ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.bz2\n") ("\t") ) } spids: [57] ) ] spids: [57] ) (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: [86] ) ] spids: [86] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$CARCH"))} {(Lit_Other "=")} {(DQ (s390x))} {(Lit_Other "]")} ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_enable_jit) op: Equal rhs: {(DQ )} spids: [126] ) ] spids: [126] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_enable_jit) op: Equal rhs: {(DQ (--enable-jit))} spids: [132] ) ] spids: [132] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {($ VSub_Name "$_enable_jit")} {(--enable-utf8)} {(--enable-unicode-properties)} {(--enable-pcre8)} {(--enable-pcre16)} {(--enable-pcre32)} {(--with-match-limit-recursion) (Lit_Other "=") (8192)} {(--htmldir) (Lit_Other "=") (/usr/share/doc/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/html) } {(--docdir) (Lit_Other "=") (/usr/share/doc/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver")} ) (C {(make)}) ] spids: [100] ) spids: [96 99] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) ] spids: [218] ) spids: [214 217] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (ForEach iter_name: fn iter_words: [{(pcre_jit_test)} {(pcretest)}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (C {(./) ($ VSub_Name "$fn")}) terminator: ) (AndOr children: [ (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [277] ) (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [280] ) ] ) (C {(true)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(Lit_Other "[")} {(-x)} {(.libs/lt-) ($ VSub_Name "$fn")} {(Lit_Other "]")}) (C {(paxmark)} {(-m)} {(.libs/lt-) ($ VSub_Name "$fn")}) ] op_id: Op_DAmp ) ] spids: [270 308] ) spids: [264 268] ) (C {(sed)} {(-i)} {(-e)} {(SQ <"s/do3=yes//g">)} {(RunTest)}) (C {(make)} {(check)}) ] spids: [244] ) spids: [240 243] ) (FuncDef name: libpcrecpp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("C++ bindings for PCRE"))} spids: [344] ) ] spids: [344] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/libpcrecpp.so) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [341] ) spids: [337 340] ) (FuncDef name: libpcre16 body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("PCRE with 16 bit character support"))} spids: [383] ) ] spids: [383] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/libpcre16.so) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [380] ) spids: [376 379] ) (FuncDef name: libpcre32 body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("PCRE with 32 bit character support"))} spids: [422] ) ] spids: [422] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/libpcre32.so) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [419] ) spids: [415 418] ) (FuncDef name: tools body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Auxiliary utilities for PCRE"))} spids: [461] ) ] spids: [461] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/)} ) ] spids: [458] ) spids: [454 457] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "cc9cdbeb98c010fe4f093a019bebfb91965dae4c6a48f8e49c38ec8df7d9da7f0d32c12fc58f22c51f1c2f010e72b65bcbf8bbf180060e93edf464fa9a7c3551 pcre-8.41.tar.bz2" ) ) } spids: [492] ) ] spids: [492] ) ] )