(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<darktable>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<2.2.5>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'an open source photography workflow application and raw developer'>)}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://www.darktable.org/'>)}
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <'x86 x86_64 aarch64'>)}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <GPL3>)}
          spids: [30]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'\tcmake\n'> <'\tcolord-dev\n'> <'\tcolord-gtk-dev\n'> <'\tcups-dev\n'> 
                <'\tcurl-dev\n'> <'\texiv2-dev\n'> <'\tgtk+3.0-dev\n'> <'\tintltool\n'> <'\tlibjpeg-turbo-dev\n'> <'\tjson-glib-dev\n'> 
                <'\tlcms2-dev\n'> <'\tlensfun-dev\n'> <'\tflickcurl-dev\n'> <'\tlibgphoto2-dev\n'> <'\tlibrsvg-dev\n'> 
                <'\tlibsecret-dev\n'> <'\tlibwebp-dev\n'> <'\tlibxml2-dev\n'> <'\tlibxml2-utils\n'> <'\tlibxslt\n'> <'\tlua5.2-dev\n'> 
                <'\topenexr-dev\n'> <'\topenjpeg-dev\n'> <'\tpugixml-dev\n'> <'\tsqlite-dev\n'> <'\ttiff-dev'>
              )
            }
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ldpath)
          op: assign_op.Equal
          rhs: {(DQ <'/usr/lib/'> ($ Id.VSub_DollarName '$pkgname'))}
          spids: [70]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <'-dbg '> ($ Id.VSub_DollarName '$pkgname') 
                <'-doc '> ($ Id.VSub_DollarName '$pkgname') <-lang>
              )
            }
          spids: [76]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'https://github.com/darktable-org/darktable/releases/download/release-'> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: (suffix_op.PatSub pat:{<_>} replace:{} replace_mode:Id.Undefined_Tok)
                ) <'/darktable-'> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: (suffix_op.PatSub pat:{<_>} replace:{<.>} replace_mode:Id.Undefined_Tok)
                ) <.tar.xz>
              )
            }
          spids: [86]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$srcdir') <'/'> ($ Id.VSub_DollarName '$pkgname') <-> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgver>
                  suffix_op: 
                    (suffix_op.PatSub
                      pat: {<_>}
                      replace: {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>)}
                      replace_mode: Id.Undefined_Tok
                    )
                )
              )
            }
          spids: [106]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<default_prepare>})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<mkdir>} {<-p>} {<build>})
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir') <'/build'>)})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<cmake>} {<-DCMAKE_INSTALL_PREFIX> <Id.Lit_Equals '='> <'/usr'>} 
                  {<-DCMAKE_INSTALL_LIBDIR> <Id.Lit_Equals '='> <lib>} {<-DBUILD_SHARED_LIBS> <Id.Lit_Equals '='> <True>} {<-DCMAKE_BUILD_TYPE> <Id.Lit_Equals '='> <Release>} 
                  {<-DBINARY_PACKAGE_BUILD> <Id.Lit_Equals '='> <ON>} {<..>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<make>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir') <'/build'>)})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>})
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'fbc79398660b51e580d22dbdfc9a74d213f69335d6058e2844ef397951a1e840264b6d03d1b52b424319fb647a274ac14ff23ee9a9c60071f71497988bdf989b  darktable-2.2.5.tar.xz'
                >
              )
            }
          spids: [243]
        )
      ]
    )
  ]
)