# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
global pkgname := 'awake'
global pkgver := '1.0'
global pkgrel := '2'
global pkgdesc := '"A python command and library to 'wake on lan' a remote host'"
global url := '"https://github.com/cyraxjoe/awake'"
global arch := '"noarch'"
global license := '"GPL3'"
global depends := '"py3-awake'"
global makedepends := '"python3-dev'"
global subpackages := ""py3-$pkgname:py3 $pkgname-doc""
global source := ""https://files.pythonhosted.org/packages/source/$(pkgname:0:1)/$pkgname/$pkgname-$pkgver.tar.gz""
global builddir := ""$srcdir"/$pkgname-$pkgver"

proc build {
	cd $builddir
	python3 setup.py build || return 1
}

proc package {
	cd $builddir
	python3 setup.py install --prefix=/usr --root="$pkgdir"
}

proc py3 {
	global pkgdesc := ""Python library for $pkgname""
	global depends := '"python3'"
	mkdir -p "$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
}

proc doc {
	# Doc files
	global _docs := '"LICENSE README'"
	for _doc in [$_docs] {
		install -Dm644 "$srcdir"/$pkgname-$pkgver/$_doc \
			"$subpkgdir"/usr/share/doc/$pkgname/$_doc || return 1
	}
}

global md5sums := '"57b7a2e616e37fc29b4011a2e1cc60b2  awake-1.0.tar.gz'"
global sha256sums := '"a4be9058c08ed702b700c9e10e270a7355ba1563f22ad6b2dbd334c6bb5a1730  awake-1.0.tar.gz'"
global sha512sums := '"3b9a69d39c48ef139b6ea125f6f6de36fc861430b6ccd6341bdc82369947745f879e2776fbfda6e3dfae3c0384ecab3fc35f724a4abe760b21ec91ef27562f4d  awake-1.0.tar.gz'"
(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(awake)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.0)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("A python command and library to 'wake on lan' a remote host"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/cyraxjoe/awake"))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[25])]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL3))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (py3-awake))} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ (python3-dev))}
          spids: [40]
        )
      ]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ (py3-) ($ VSub_Name "$pkgname") (":py3 ") ($ VSub_Name "$pkgname") (-doc))}
          spids: [45]
        )
      ]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("https://files.pythonhosted.org/packages/source/") 
                (BracedVarSub
                  token: <VSub_Name pkgname>
                  suffix_op: 
                    (Slice
                      begin: (ArithWord w:{(Lit_Digits 0)})
                      length: (ArithWord w:{(Lit_Digits 1)})
                    )
                  spids: [57 63]
                ) (/) ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (.tar.gz)
              )
            }
          spids: [54]
        )
      ]
      spids: [54]
    )
    (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: [73]
        )
      ]
      spids: [73]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(python3)} {(setup.py)} {(build)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [87]
        )
      spids: [83 86]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(python3)} {(setup.py)} {(install)} {(--prefix) (Lit_Other "=") (/usr)} 
              {(--root) (Lit_Other "=") (DQ ($ VSub_Name "$pkgdir"))}
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: py3
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Python library for ") ($ VSub_Name "$pkgname"))}
                  spids: [152]
                )
              ]
              spids: [152]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (python3))}
                  spids: [159]
                )
              ]
              spids: [159]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)})
            (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/python) (Lit_Other "*")} 
              {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)}
            )
          ]
          spids: [149]
        )
      spids: [145 148]
    )
    (FuncDef
      name: doc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_docs)
                  op: Equal
                  rhs: {(DQ ("LICENSE README"))}
                  spids: [202]
                )
              ]
              spids: [202]
            )
            (ForEach
              iter_name: _doc
              iter_words: [{($ VSub_Name "$_docs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (AndOr
                      children: [
                        (C {(install)} {(-Dm644)} 
                          {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) 
                            ($ VSub_Name "$pkgver") (/) ($ VSub_Name "$_doc")
                          } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$_doc")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [217 251]
                )
              spids: [213 215]
            )
          ]
          spids: [195]
        )
      spids: [191 194]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: {(DQ ("57b7a2e616e37fc29b4011a2e1cc60b2  awake-1.0.tar.gz"))}
          spids: [256]
        )
      ]
      spids: [256]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"a4be9058c08ed702b700c9e10e270a7355ba1563f22ad6b2dbd334c6bb5a1730  awake-1.0.tar.gz"
                )
              )
            }
          spids: [261]
        )
      ]
      spids: [261]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"3b9a69d39c48ef139b6ea125f6f6de36fc861430b6ccd6341bdc82369947745f879e2776fbfda6e3dfae3c0384ecab3fc35f724a4abe760b21ec91ef27562f4d  awake-1.0.tar.gz"
                )
              )
            }
          spids: [266]
        )
      ]
      spids: [266]
    )
  ]
)