description="Develop EFI applications using the GNU toolchain and the EFI development environment"
url="https://sourceforge.net/projects/gnu-efi/"

packager="Great-OS Team"
maintainer="Dania"

name=gnu-efi
version=3.0.18
release=3

source=(https://download.sourceforge.net/$name/$name-$version.tar.bz2
        $name-3.0.12-ldflags.patch)

prepare() {
  cd $name-$version
  # -Werror, not even once
  sed -e 's/-Werror//g' -i Make.defaults
  # insert LDFLFAGS into custom linker for apps
  # patch -Np1 -i "../$name-3.0.12-ldflags.patch"
}

build_x86_64() {
  cd $name-$version
  # fat-lto-objects is required for non-mangled (static) object files
  CFLAGS+=" -ffat-lto-objects"
  make
  make -C lib
  make -C gnuefi
  make -C inc
  # unset LDFLAGS for custom linker used in apps, as we have patched our
  # LDFLAGS in manually in prepare()
  LDFLAGS=""
  make -C apps
}

package_x86_64() {
  cd $name-$version
  make INSTALLROOT="$PKG/" PREFIX='/usr' install
  install -vDm 644 apps/*.efi -t $PKG/usr/share/$name/apps/$(uname -m)
  install -vDm 644 README.efilib -t $PKG/usr/share/licenses/$name
  install -vDm 644 {ChangeLog,README.{gnuefi,git,elilo}} -t $PKG/usr/share/doc/$name
}

build_aarch64() {
  mkdir -pv $PKG/usr

}

build() {
  case $(uname -m) in
    x86_64)
      build_x86_64
    ;;
    aarch64)
      build_aarch64
    ;;
  esac
}

package() {

  case $(uname -m) in
    x86_64)
      package_x86_64
    ;;
    *)
      echo -e "Nothing to do"
    ;;
  esac
}
