# Contributor: Valery Kartel # Maintainer: Natanael Copa global pkgname := 'cmake' global pkgver := '3.9.3' global pkgrel := '0' global pkgdesc := '"CMake is a cross-platform open-source make system'" global url := '"http://www.cmake.org'" global arch := '"all'" global license := '"CMake'" global makedepends := '"ncurses-dev curl-dev expat-dev zlib-dev bzip2-dev libarchive-dev libuv-dev xz-dev rhash-dev'" global options := '"!checkroot !check'" global checkdepends := '"musl-utils file'" global subpackages := ""$pkgname-doc"" matchstr $pkgver { *.*.*.* { global _v := "v$(pkgver%.*.*)"} *.*.* { global _v := "v$(pkgver%.*)"} } global source := ""http://www.cmake.org/files/$_v/cmake-$(pkgver).tar.gz"" global builddir := ""$srcdir/$pkgname-$pkgver"" proc parallel_opt { var i = '', n = '' for i in [$MAKEOPTS] { matchstr $i { -j* { n := $(i#-j)} }; } test -n $n && echo "--parallel $n" } proc build { cd $builddir # jsoncpp needs cmake to build so to avoid recursive build # dependency, we use the bundled version of jsoncpp ./bootstrap --prefix=/usr \ --mandir=/share/man \ --datadir=/share/$pkgname \ --docdir=/share/doc/$pkgname \ --system-libs \ --no-system-jsoncpp \ $[parallel_opt] make } proc check { cd $builddir env CTEST_OUTPUT_ON_FAILURE=TRUE bin/ctest } proc package { cd $startdir/src/$pkgname-$pkgver make DESTDIR="$pkgdir" install } global sha512sums := '"30058cf4c154221846d1cd22eaf44a297d2a2d020a443f3e6f40384dfb86ee9a639a1299aa9f187f230505b2a6ee0fe69fbf5e80410711a6ac3d7a07b37f8dfc cmake-3.9.3.tar.gz'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(cmake)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.9.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 ("CMake is a cross-platform open-source make system"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.cmake.org"))} 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 (CMake))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("ncurses-dev curl-dev expat-dev zlib-dev bzip2-dev libarchive-dev\n") (" libuv-dev xz-dev rhash-dev") ) } spids: [35] ) ] spids: [35] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: {(DQ ("!checkroot !check"))} spids: [41] ) ] spids: [41] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:checkdepends) op: Equal rhs: {(DQ ("musl-utils file"))} spids: [46] ) ] spids: [46] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))} spids: [51] ) ] spids: [51] ) (Case to_match: {($ VSub_Name "$pkgver")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.) (Lit_Other "*") (.) (Lit_Other "*") (.) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_v) op: Equal rhs: {(v) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*.*")}) spids: [75 79] ) } spids: [73] ) ] spids: [73] ) ] spids: [64 71 80 -1] ) (case_arm pat_list: [{(Lit_Other "*") (.) (Lit_Other "*") (.) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_v) op: Equal rhs: {(v) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [91 95] ) } spids: [89] ) ] spids: [89] ) ] spids: [82 87 96 -1] ) ] spids: [58 62 98] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://www.cmake.org/files/") ($ VSub_Name "$_v") (/cmake-) (${ VSub_Name pkgver) (.tar.gz) ) } spids: [101] ) ] spids: [101] ) (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: [112] ) ] spids: [112] ) (FuncDef name: parallel_opt body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:i) op:Equal spids:[131]) (assign_pair lhs:(LhsName name:n) op:Equal spids:[133]) ] spids: [129] ) (ForEach iter_name: i iter_words: [{($ VSub_Name "$MAKEOPTS")}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (Case to_match: {(DQ ($ VSub_Name "$i"))} arms: [ (case_arm pat_list: [{(-j) (Lit_Other "*")}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(-j)}) spids: [162 166] ) } spids: [161] ) ] spids: [161] ) ] spids: [157 159 167 -1] ) ] spids: [148 154 170] ) terminator: ) ] spids: [145 174] ) spids: [141 143] ) (AndOr children: [ (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$n"))} {(Lit_Other "]")}) (C {(echo)} {(DQ ("--parallel ") ($ VSub_Name "$n"))}) ] op_id: Op_DAmp ) ] spids: [126] ) spids: [122 125] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(./bootstrap)} {(--prefix) (Lit_Other "=") (/usr)} {(--mandir) (Lit_Other "=") (/share/man)} {(--datadir) (Lit_Other "=") (/share/) ($ VSub_Name "$pkgname")} {(--docdir) (Lit_Other "=") (/share/doc/) ($ VSub_Name "$pkgname")} {(--system-libs)} {(--no-system-jsoncpp)} { (CommandSubPart command_list: (CommandList children:[(C {(parallel_opt)})]) left_token: spids: [257 259] ) } ) (C {(make)}) ] spids: [203] ) spids: [199 202] ) (FuncDef name: check body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (SimpleCommand words: [{(bin/ctest)}] more_env: [(env_pair name:CTEST_OUTPUT_ON_FAILURE val:{(TRUE)} spids:[282])] ) ] spids: [272] ) spids: [268 271] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {($ VSub_Name "$startdir") (/src/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver")} ) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) ] spids: [294] ) spids: [290 293] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "30058cf4c154221846d1cd22eaf44a297d2a2d020a443f3e6f40384dfb86ee9a639a1299aa9f187f230505b2a6ee0fe69fbf5e80410711a6ac3d7a07b37f8dfc cmake-3.9.3.tar.gz" ) ) } spids: [318] ) ] spids: [318] ) ] )