# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka global pkgname := 'dsfmt' global _pkgname := 'dSFMT' global pkgver := '2.2.3' global pkgrel := '0' global pkgdesc := '"Double precision SIMD-oriented Fast Mersenne Twister'" global url := '"http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/#dSFMT'" global arch := '"all'" global license := '"BSD'" global depends := ''"" global makedepends := ''"" global subpackages := ""$pkgname-dev"" global source := ""http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/$_pkgname-src-$pkgver.tar.gz $pkgname.pc 0001-dSFMT.patch "" global builddir := ""$srcdir/$_pkgname-src-$pkgver"" global _soname := ""lib$_pkgname.so"" proc prepare { cd $builddir sed "s/@VERSION@/$pkgver/" "$srcdir"/$pkgname.pc > $pkgname.pc || return 1 default_prepare } proc build { cd $builddir # copied from https://github.com/JuliaLang/julia/blob/master/deps/dsfmt.mk var cflags = ""$CFLAGS -DNDEBUG -DDSFMT_MEXP=19937 -DDSFMT_DO_NOT_USE_OLD_NAMES -fPIC -O3 -finline-functions -fomit-frame-pointer -fno-strict-aliasing --param max-inline-insns-single=1800 -Wmissing-prototypes -Wall -std=c99 -shared"" if test $CARCH = x86_64 { cflags := ""$cflags -msse2 -DHAVE_SSE2"" } gcc $cflags dSFMT.c -o $_soname } proc package { cd $builddir install -D $_soname "$pkgdir"/usr/lib/$_soname || return 1 install -D dSFMT.h "$pkgdir"/usr/include/dSFMT.h || return 1 install -D $pkgname.pc "$pkgdir"/usr/lib/pkgconfig/$pkgname.pc } global md5sums := '"057c5a11d28296825fba584f561a4369 dSFMT-src-2.2.3.tar.gz 57e48cb6635f9a84e70b5cb555b664cc dsfmt.pc dd236061b7019a9334b0174ce9d9e2fa 0001-dSFMT.patch'" global sha256sums := '"82344874522f363bf93c960044b0a6b87b651c9565b6312cf8719bb8e4c26a0e dSFMT-src-2.2.3.tar.gz 0dd529b54ef6b300f030854de1b229f63af371d3129fa830bafaad930a2a993f dsfmt.pc 9e0659814256b870468f23dcc4cf1da6ede781061c1df2edddd811a7114fc8da 0001-dSFMT.patch'" global sha512sums := '"6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662 dSFMT-src-2.2.3.tar.gz 07810381fea8477478a968aaeca983ef639dd42ee0efccf7bdc910d137b07f55c43f3feb1ee59eaf97f4143ac273e32a02f557cb3a0d4e430480f650efee4fbd dsfmt.pc 9feac5b96e431d110e88631e5540cec1e8ce3443c0c74afd8132650a077ae569e0214bbee9326d4f8a91e8fc10603fdcceedebbc3713bf0c3713117906b1f6da 0001-dSFMT.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(dsfmt)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgname) op:Equal rhs:{(dSFMT)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.2.3)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Double precision SIMD-oriented Fast Mersenne Twister"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/#dSFMT"))} 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) op:Equal rhs:{(DQ )} spids:[38])] spids: [38] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[42])] spids: [42] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-dev))} spids: [46] ) ] spids: [46] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/") ($ VSub_Name "$_pkgname") (-src-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\t") ($ VSub_Name "$pkgname") (".pc\n") ("\t0001-dSFMT.patch\n") ("\t") ) } spids: [52] ) ] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: { (DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_pkgname") (-src-) ($ VSub_Name "$pkgver")) } spids: [66] ) ] spids: [66] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_soname) op: Equal rhs: {(DQ (lib) ($ VSub_Name "$_pkgname") (.so))} spids: [76] ) ] spids: [76] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (SimpleCommand words: [ {(sed)} {(DQ ("s/@VERSION@/") ($ VSub_Name "$pkgver") (/))} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.pc)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$pkgname") (.pc)} spids: [114] ) ] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(default_prepare)}) ] spids: [88] ) spids: [84 87] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cflags) op: Equal rhs: { (DQ ($ VSub_Name "$CFLAGS") (" -DNDEBUG -DDSFMT_MEXP=19937 -DDSFMT_DO_NOT_USE_OLD_NAMES\n") ("\t\t-fPIC -O3 -finline-functions -fomit-frame-pointer\n") ("\t\t-fno-strict-aliasing --param max-inline-insns-single=1800\n") ("\t\t-Wmissing-prototypes -Wall -std=c99 -shared") ) } spids: [152] ) ] spids: [150] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$CARCH"))} {(Lit_Other "=")} {(x86_64)} {(Lit_Other "]")} ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cflags) op: Equal rhs: {(DQ ($ VSub_Name "$cflags") (" -msse2 -DHAVE_SSE2"))} spids: [181] ) ] spids: [181] ) ] spids: [-1 178] ) ] spids: [-1 188] ) (C {(gcc)} {($ VSub_Name "$cflags")} {(dSFMT.c)} {(-o)} {($ VSub_Name "$_soname")}) ] spids: [135] ) spids: [131 134] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(install)} {(-D)} {($ VSub_Name "$_soname")} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/) ($ VSub_Name "$_soname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-D)} {(dSFMT.h)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/include/dSFMT.h)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(install)} {(-D)} {($ VSub_Name "$pkgname") (.pc)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/pkgconfig/) ($ VSub_Name "$pkgname") (.pc)} ) ] spids: [209] ) spids: [205 208] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("057c5a11d28296825fba584f561a4369 dSFMT-src-2.2.3.tar.gz\n") ("57e48cb6635f9a84e70b5cb555b664cc dsfmt.pc\n") ("dd236061b7019a9334b0174ce9d9e2fa 0001-dSFMT.patch") ) } spids: [274] ) ] spids: [274] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "82344874522f363bf93c960044b0a6b87b651c9565b6312cf8719bb8e4c26a0e dSFMT-src-2.2.3.tar.gz\n" ) ("0dd529b54ef6b300f030854de1b229f63af371d3129fa830bafaad930a2a993f dsfmt.pc\n") ( "9e0659814256b870468f23dcc4cf1da6ede781061c1df2edddd811a7114fc8da 0001-dSFMT.patch" ) ) } spids: [281] ) ] spids: [281] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "6d8ddcd01aab3f9039f4f0288a8af53e290cc2f293ed8c4a8c9f3b3f12398e7eedfce8016117b425766ba89c61c86c13b3e420035b5f9bf91315b8b814c03662 dSFMT-src-2.2.3.tar.gz\n" ) ( "07810381fea8477478a968aaeca983ef639dd42ee0efccf7bdc910d137b07f55c43f3feb1ee59eaf97f4143ac273e32a02f557cb3a0d4e430480f650efee4fbd dsfmt.pc\n" ) ( "9feac5b96e431d110e88631e5540cec1e8ce3443c0c74afd8132650a077ae569e0214bbee9326d4f8a91e8fc10603fdcceedebbc3713bf0c3713117906b1f6da 0001-dSFMT.patch" ) ) } spids: [288] ) ] spids: [288] ) ] )