# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
global pkgname := 'openal-soft'
global pkgver := '1.18.2'
global pkgrel := '0'
global pkgdesc := '"software implementation of OpenAL API'"
global url := '"http://kcat.strangesoft.net/openal.html'"
global arch := '"all'"
global license := '"LGPL'"
global depends := ''""
global depends_dev := '"alsa-lib-dev'"
global makedepends := ""$depends_dev linux-headers cmake""
global install := ''""
global subpackages := ""$pkgname-dev""
global source := ""http://kcat.strangesoft.net/openal-releases/$(pkgname)-$(pkgver).tar.bz2""
global options := '"!check'"

global builddir := ""$(srcdir)/$(pkgname)-$(pkgver)""

global _builddir := ""$(srcdir)/build""
proc prepare {
	default_prepare
	mkdir -p $_builddir
}

proc build {
	var _cpuext_neon = ''
	cd $_builddir
	matchstr $CARCH {
		armhf { _cpuext_neon := '-DALSOFT_CPUEXT_NEON=OFF'}
	}
	cmake -DCMAKE_INSTALL_PREFIX="/usr" \
		-DCMAKE_INSTALL_LIBDIR="lib" \
		$_cpuext_neon \
		$builddir
	make
}

proc package {
	cd $_builddir
	make DESTDIR="$pkgdir" install
}

global sha512sums := '"752e2fb0a5a014caa6d6bac1590d3df46140b463fbaa13378fb5de89f1c97ee8b62bec74f68484d4ec02ee8755c1a2d0c9394cdb477db1b7401deae2fb9eeb4d  openal-soft-1.18.2.tar.bz2'"
(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(openal-soft)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.18.2)} 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 ("software implementation of OpenAL API"))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://kcat.strangesoft.net/openal.html"))}
          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 (LGPL))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends_dev)
          op: Equal
          rhs: {(DQ (alsa-lib-dev))}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev") (" linux-headers cmake"))}
          spids: [44]
        )
      ]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[50])]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-dev))}
          spids: [54]
        )
      ]
      spids: [54]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("http://kcat.strangesoft.net/openal-releases/") (${ VSub_Name pkgname) (-) 
                (${ VSub_Name pkgver) (.tar.bz2)
              )
            }
          spids: [60]
        )
      ]
      spids: [60]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[73])]
      spids: [73]
    )
    (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: [79]
        )
      ]
      spids: [79]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ (${ VSub_Name srcdir) (/build))}
          spids: [95]
        )
      ]
      spids: [95]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [(C {(default_prepare)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$_builddir"))})]
          spids: [107]
        )
      spids: [103 106]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:_cpuext_neon) op:Equal rhs:{(SQ )} spids:[133])]
              spids: [131]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (Case
              to_match: {(DQ ($ VSub_Name "$CARCH"))}
              arms: [
                (case_arm
                  pat_list: [{(armhf)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_cpuext_neon)
                          op: Equal
                          rhs: {(-DALSOFT_CPUEXT_NEON) (Lit_Other "=") (OFF)}
                          spids: [155]
                        )
                      ]
                      spids: [155]
                    )
                  ]
                  spids: [152 153 159 -1]
                )
              ]
              spids: [143 149 162]
            )
            (C {(cmake)} {(-DCMAKE_INSTALL_PREFIX) (Lit_Other "=") (DQ (/usr))} 
              {(-DCMAKE_INSTALL_LIBDIR) (Lit_Other "=") (DQ (lib))} {($ VSub_Name "$_cpuext_neon")} {(DQ ($ VSub_Name "$builddir"))}
            )
            (C {(make)})
          ]
          spids: [128]
        )
      spids: [124 127]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)})
          ]
          spids: [201]
        )
      spids: [197 200]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"752e2fb0a5a014caa6d6bac1590d3df46140b463fbaa13378fb5de89f1c97ee8b62bec74f68484d4ec02ee8755c1a2d0c9394cdb477db1b7401deae2fb9eeb4d  openal-soft-1.18.2.tar.bz2"
                )
              )
            }
          spids: [223]
        )
      ]
      spids: [223]
    )
  ]
)