Categories:
  - System
License: GPL-2.0-or-later
WebSite: https://limboemulator.weebly.com/
SourceCode: https://github.com/limboemu/limbo
IssueTracker: https://github.com/limboemu/limbo/issues

AutoName: Limbo x86 PC Emulator
Description: |-
    Limbo is a qemu-based x86 architecture emulator for android devices.
    With limbo, you can emulate a complete desktop computer on your device and
    install various systems (FreeDOS, Windows, KolibriOS, various GNU/Linux
    distributes and any other x86-compatible OS).

    Limbo has a wide selection of settings, allowing you to change available
    RAM, number of emulated cores, type of CPU, mount hard-drive and cd-rom
    images, select emulated graphics, network and audio card types and many
    more.

    Access to the emulated desktop is done inside limbo with the inbuilt VNC
    viewer, SDL mode or an external VNC. To connect to an external VNC, you
    can use [[com.coboltforge.dontmind.multivnc]] or [[android.androidVNC]]
    clients available in F-Droid.

    On android devices with x86-based CPU (Intel Atom), Limbo can run with
    KVM mode, allowing for much better perfomance.

    Keep in mind, limbo is a complete emulation of another CPU architecture,
    so you most likely won't be able to run modern operating systems
    with reasonable perfomance.

RepoType: git
Repo: https://github.com/limboemu/limbo

Builds:
  - versionName: 3.0.1-x86-beta
    versionCode: 30001
    commit: v3.0.1-Limbox86-multiarch
    subdir: limbo-android-x86
    sudo:
      - apt-get update
      - apt-get install -y libltdl-dev g++-multilib texinfo
    gradle:
      - yes
    srclibs:
      - qemu@v2.9.1
      - glib@2.56.1
      - libffi@v3.2.1
      - pixman@pixman-0.34.0
      - SDL@release-2.0.8
    prebuild:
      - export PATH=$PATH:$$NDK$$
      - export NDK_MODULE_PATH=$$NDK$$/sources/
      - sed -i -e '/NDK_ROOT/d' ../limbo-android-lib/src/main/jni/android-config.mak
      - cp -r $$qemu$$ ../limbo-android-lib/src/main/jni/qemu/
      - cp -r $$glib$$ ../limbo-android-lib/src/main/jni/glib/
      - cp -r $$libffi$$ ../limbo-android-lib/src/main/jni/libffi/
      - cp -r $$pixman$$ ../limbo-android-lib/src/main/jni/pixman/
      - cp -r $$SDL$$ ../limbo-android-lib/src/main/jni/SDL2/
      - patch -d ../limbo-android-lib/src/main/jni/qemu/ -p1 < ../limbo-android-lib/src/main/jni/patches/qemu-2.9.1.patch
      - patch -d ../limbo-android-lib/src/main/jni/glib/ -p1 < ../limbo-android-lib/src/main/jni/patches/glib-2.56.1.patch
      - make -C ../limbo-android-lib/src/main/jni/ clean
    scandelete:
      - limbo-android-lib
    build:
      - export NDK_ROOT=$$NDK$$
      - export NDK_MODULE_PATH=$$NDK$$/sources/
      - make -C ../limbo-android-lib/src/main/jni/qemu/roms/ bios seavgabios
      - make -C ../limbo-android-lib/src/main/jni/ all-release-x86 BUILD_HOST=armeabi-v7a
    ndk: r17b

MaintainerNotes: |-
    We only build x86 emulation on ARM devices for now.
    ARM emulation on x86 devices would require a separate build recipe (the app ID is different).

AutoUpdateMode: None
UpdateCheckMode: Tags
CurrentVersion: 4.1.0-x86
CurrentVersionCode: 40100
