(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<sslh>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<1.18>}
          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 <'Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port) '>)}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://www.rutschle.net/tech/sslh.shtml'>)}
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <GPL2>)}
          spids: [30]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'libconfig-dev libcap-dev pcre-dev perl'>)}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-doc>)}
          spids: [40]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:options)
          op: assign_op.Equal
          rhs: {(DQ <'!check'>)}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') 
                <'.tar.gz::https://github.com/yrutschle/'> ($ Id.VSub_DollarName '$pkgname') <'/archive/v'> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz\n'> 
                <'\tmakefile-settings.patch\n'> <'\tgenerate-version.patch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'.conf\n'> <'\t'> 
                ($ Id.VSub_DollarName '$pkgname') <'.initd\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <.confd>
              )
            }
          spids: [51]
        )
      ]
    )
    (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') <-> 
                ($ Id.VSub_DollarName '$pkgver')
              )
            }
          spids: [74]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<export>} 
              {<Id.Lit_VarLike 'CFLAGS='> (DQ ($ Id.VSub_DollarName '$CFLAGS') <' -std=gnu99'>)}
            )
            (C {<make>} {<Id.Lit_VarLike 'ENABLE_REGEX='> <1>} {<Id.Lit_VarLike 'USELIBPCRE='> <1>} 
              {<Id.Lit_VarLike 'USELIBCONFIG='> <1>} {<Id.Lit_VarLike 'USELIBCAP='> <1>}
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} 
              {<Id.Lit_VarLike 'PREFIX='> <'/usr'>} {<install>}
            )
            (C {<install>} {<-D>} {<-m755>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <.initd>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/init.d/'> ($ Id.VSub_DollarName '$pkgname')}
            )
            (C {<install>} {<-D>} {<-m644>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <.confd>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/conf.d/'> ($ Id.VSub_DollarName '$pkgname')}
            )
            (C {<ln>} {<-s>} {<sslh-fork>} {(DQ ($ Id.VSub_DollarName '$pkgdir') <'/usr/sbin/sslh'>)})
            (C {<install>} {<-D>} {<-m644>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <.conf>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/'> ($ Id.VSub_DollarName '$pkgname') <'/'> 
                ($ Id.VSub_DollarName '$pkgname') <.conf>
              }
            )
            (C {<mv>} {<'scripts/fail2ban'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/'> ($ Id.VSub_DollarName '$pkgname')}
            )
          ]
        )
    )
    (command.ShFunction
      name: doc
      body: 
        (BraceGroup
          children: [
            (C {<default_doc>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<install>} {<-Dm>} {<644>} {<basic.cfg>} 
              {
                (DQ ($ Id.VSub_DollarName '$subpkgdir') <'/usr/share/doc/'> 
                  ($ Id.VSub_DollarName '$pkgname') <'/basic.cfg'>
                )
              }
            )
            (C {<install>} {<-Dm>} {<644>} {<example.cfg>} 
              {
                (DQ ($ Id.VSub_DollarName '$subpkgdir') <'/usr/share/doc/'> 
                  ($ Id.VSub_DollarName '$pkgname') <'/example.cfg'>
                )
              }
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'859ad65a258534fde68295a2880c077a00205d96a6aafeb525abce836850b9deea7b39daa2dc74a0dc18d2b198884958a39fbe758d61c93b257676f3a7d4f7bc  sslh-1.18.tar.gz\n'
                > 
                <
'aa1a9f5a1ba022f5fbb4ae2a1237813685d31b70011a876725a100bfc1cb7c6aa9a2ded046fd2082facdd9530ade3f5d9be66734ab5ecaf7342b54ce203a329b  makefile-settings.patch\n'
                > 
                <
'8dbd8fa19c9689f0455a8f48be7ceb3ec7428bdbbea5f8b6ed21f510e4a98e2203eadb9cb9d318a3aa3b2329b6eecf1f9c462b40dbe0f68ed3f6943f339050dd  generate-version.patch\n'
                > 
                <
'dd2231677d3e3f371ef643ebb9b9e31effc058ac7b430fe17dfb801b23040c6bde7b6c7c6b0ff6757607207a506096334b0a8e7ce83c884d483717c338a3499c  sslh.conf\n'
                > 
                <
'ba0a0fe8785ab9963d4dc11c39d6cbd41fe14d1e8f6d61eb0bf6eb2855e4f2de119b76f82894f3d52a91467ee83f4bd805d8eafc3c7da7b5a4f630cc4a241462  sslh.initd\n'
                > 
                <
'580114cef9356d66ec1e6c306837d44dc3098e8f3f805eda20c5d8f81f087bf295b25801ee64ee2bc667ce7324f510ff6f4fc7e222d1431ec3d4e82bbcfb160f  sslh.confd'
                >
              )
            }
          spids: [297]
        )
      ]
    )
  ]
)