Installer botanicula-gog-linux

files:
- goginstaller: N/A:Please select the GOG.com Linux installer for Botanicula
- pkg_gtk2:
    filename: lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst
    url: https://archive.archlinux.org/packages/l/lib32-gtk2/lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst
- pkg_libxml2:
    filename: lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst
    url: https://archive.archlinux.org/packages/l/lib32-libxml2/lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst
- pkg_icu:
    filename: lib32-icu-76.1-1-x86_64.pkg.tar.zst
    url: https://archive.archlinux.org/packages/l/lib32-icu/lib32-icu-76.1-1-x86_64.pkg.tar.zst
game:
  exe: $GAMEDIR/start.sh
  gogid: 1207659024
  working_dir: $GAMEDIR
install_complete_text: Botanicula installed. Bundled legacy 32-bit libs (GTK2, libxml2
  2.13, ICU 76) live in game/lib32. Other 32-bit dependencies (glib2, pango, cairo,
  atk, ...) must come from your distribution's multilib/i386 repositories.
installer:
- extract:
    dst: $CACHE/GOG
    file: goginstaller
    format: zip
- merge:
    dst: $GAMEDIR
    src: $CACHE/GOG/data/noarch/
- execute:
    command: 'set -euo pipefail

      work=$(mktemp -d)

      trap ''rm -rf "$work"'' EXIT

      cp "$pkg_gtk2" "$work/lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst"

      cp "$pkg_libxml2" "$work/lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst"

      cp "$pkg_icu" "$work/lib32-icu-76.1-1-x86_64.pkg.tar.zst"

      cd "$work"

      sha256sum -c - <<''EOF''

      a2e7dea409f128399b675b93a4800d75183720d3fb336b99e02b393e7f416be4  lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst

      983fba3ee0009e23ad174ed2645d9ea79281dcdbf6e3579fcd2246df48aabd40  lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst

      61c2edf37c304b47b666ce6d20728b91a1e53dcd2af41847ff73868b1acb83d4  lib32-icu-76.1-1-x86_64.pkg.tar.zst

      EOF

      mkdir -p "$GAMEDIR/game/lib32"

      bsdtar -xf lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst -C "$GAMEDIR/game/lib32"
      --strip-components 2 \

      ''usr/lib32/libgtk-x11-2.0.so.0*'' ''usr/lib32/libgdk-x11-2.0.so.0*''

      bsdtar -xf lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst -C "$GAMEDIR/game/lib32"
      --strip-components 2 \

      ''usr/lib32/libxml2.so.2*''

      bsdtar -xf lib32-icu-76.1-1-x86_64.pkg.tar.zst -C "$GAMEDIR/game/lib32" --strip-components
      2 \

      ''usr/lib32/libicuuc.so.76*'' ''usr/lib32/libicudata.so.76*''

      '
    description: Verifying and extracting legacy 32-bit libraries
    disable_runtime: true
- chmodx: $GAMEDIR/start.sh
require-binaries: bsdtar, sha256sum
system:
  LD_LIBRARY_PATH: $GAMEDIR/game/lib32
  env: null
description: GOG Linux version with the legacy 32-bit libraries required by its Adobe
  AIR runtime (GTK2, libxml2 2.13, ICU 76) bundled in the game folder. Use this if
  the default GOG Linux installer fails with "Error loading the runtime (libgtk-x11-2.0.so.0
  ...)".
game_slug: botanicula
gogslug: botanicula_collectors_edition
humblestoreid: botanicula
installer_slug: botanicula-gog-linux
name: Botanicula
notes: "- Requires bsdtar (libarchive) and sha256sum on the host.\r\n- Downloads three\
  \ official Arch Linux packages from the Arch Linux Archive (lib32-gtk2 2.24.33-5,\
  \ lib32-libxml2 2.13.8-1, lib32-icu 76.1-1). Their SHA256 checksums are pinned in\
  \ the script and verified before extraction; only the five needed .so files are\
  \ extracted to game/lib32. Nothing is installed system-wide.\r\n- The remaining\
  \ 32-bit dependencies (e.g. glib2, pango, cairo, atk, gdk-pixbuf2, libx11) must\
  \ come from your distribution's multilib/i386 repositories. They are usually already\
  \ present if Steam is installed.\r\n- GTK \"Unable to locate theme engine\" warnings\
  \ in the log are harmless.\r\n- Tested on CachyOS (Arch-based), Lutris 0.5.22."
runner: linux
script:
  files:
  - goginstaller: N/A:Please select the GOG.com Linux installer for Botanicula
  - pkg_gtk2:
      filename: lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst
      url: https://archive.archlinux.org/packages/l/lib32-gtk2/lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst
  - pkg_libxml2:
      filename: lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst
      url: https://archive.archlinux.org/packages/l/lib32-libxml2/lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst
  - pkg_icu:
      filename: lib32-icu-76.1-1-x86_64.pkg.tar.zst
      url: https://archive.archlinux.org/packages/l/lib32-icu/lib32-icu-76.1-1-x86_64.pkg.tar.zst
  game:
    exe: $GAMEDIR/start.sh
    gogid: 1207659024
    working_dir: $GAMEDIR
  install_complete_text: Botanicula installed. Bundled legacy 32-bit libs (GTK2, libxml2
    2.13, ICU 76) live in game/lib32. Other 32-bit dependencies (glib2, pango, cairo,
    atk, ...) must come from your distribution's multilib/i386 repositories.
  installer:
  - extract:
      dst: $CACHE/GOG
      file: goginstaller
      format: zip
  - merge:
      dst: $GAMEDIR
      src: $CACHE/GOG/data/noarch/
  - execute:
      command: 'set -euo pipefail

        work=$(mktemp -d)

        trap ''rm -rf "$work"'' EXIT

        cp "$pkg_gtk2" "$work/lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst"

        cp "$pkg_libxml2" "$work/lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst"

        cp "$pkg_icu" "$work/lib32-icu-76.1-1-x86_64.pkg.tar.zst"

        cd "$work"

        sha256sum -c - <<''EOF''

        a2e7dea409f128399b675b93a4800d75183720d3fb336b99e02b393e7f416be4  lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst

        983fba3ee0009e23ad174ed2645d9ea79281dcdbf6e3579fcd2246df48aabd40  lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst

        61c2edf37c304b47b666ce6d20728b91a1e53dcd2af41847ff73868b1acb83d4  lib32-icu-76.1-1-x86_64.pkg.tar.zst

        EOF

        mkdir -p "$GAMEDIR/game/lib32"

        bsdtar -xf lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst -C "$GAMEDIR/game/lib32"
        --strip-components 2 \

        ''usr/lib32/libgtk-x11-2.0.so.0*'' ''usr/lib32/libgdk-x11-2.0.so.0*''

        bsdtar -xf lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst -C "$GAMEDIR/game/lib32"
        --strip-components 2 \

        ''usr/lib32/libxml2.so.2*''

        bsdtar -xf lib32-icu-76.1-1-x86_64.pkg.tar.zst -C "$GAMEDIR/game/lib32" --strip-components
        2 \

        ''usr/lib32/libicuuc.so.76*'' ''usr/lib32/libicudata.so.76*''

        '
      description: Verifying and extracting legacy 32-bit libraries
      disable_runtime: true
  - chmodx: $GAMEDIR/start.sh
  require-binaries: bsdtar, sha256sum
  system:
    LD_LIBRARY_PATH: $GAMEDIR/game/lib32
    env: null
slug: botanicula-gog-linux
steamid: 207690
version: GOG Linux
year: 2012
{
  "game_slug": "botanicula",
  "version": "GOG Linux",
  "description": "GOG Linux version with the legacy 32-bit libraries required by its Adobe AIR runtime (GTK2, libxml2 2.13, ICU 76) bundled in the game folder. Use this if the default GOG Linux installer fails with \"Error loading the runtime (libgtk-x11-2.0.so.0 ...)\".",
  "notes": "- Requires bsdtar (libarchive) and sha256sum on the host.\r\n- Downloads three official Arch Linux packages from the Arch Linux Archive (lib32-gtk2 2.24.33-5, lib32-libxml2 2.13.8-1, lib32-icu 76.1-1). Their SHA256 checksums are pinned in the script and verified before extraction; only the five needed .so files are extracted to game/lib32. Nothing is installed system-wide.\r\n- The remaining 32-bit dependencies (e.g. glib2, pango, cairo, atk, gdk-pixbuf2, libx11) must come from your distribution's multilib/i386 repositories. They are usually already present if Steam is installed.\r\n- GTK \"Unable to locate theme engine\" warnings in the log are harmless.\r\n- Tested on CachyOS (Arch-based), Lutris 0.5.22.",
  "name": "Botanicula",
  "year": 2012,
  "steamid": 207690,
  "gogslug": "botanicula_collectors_edition",
  "humblestoreid": "botanicula",
  "runner": "linux",
  "slug": "botanicula-gog-linux",
  "installer_slug": "botanicula-gog-linux",
  "script": {
    "files": [
      {
        "goginstaller": "N/A:Please select the GOG.com Linux installer for Botanicula"
      },
      {
        "pkg_gtk2": {
          "filename": "lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst",
          "url": "https://archive.archlinux.org/packages/l/lib32-gtk2/lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst"
        }
      },
      {
        "pkg_libxml2": {
          "filename": "lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst",
          "url": "https://archive.archlinux.org/packages/l/lib32-libxml2/lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst"
        }
      },
      {
        "pkg_icu": {
          "filename": "lib32-icu-76.1-1-x86_64.pkg.tar.zst",
          "url": "https://archive.archlinux.org/packages/l/lib32-icu/lib32-icu-76.1-1-x86_64.pkg.tar.zst"
        }
      }
    ],
    "game": {
      "exe": "$GAMEDIR/start.sh",
      "gogid": 1207659024,
      "working_dir": "$GAMEDIR"
    },
    "install_complete_text": "Botanicula installed. Bundled legacy 32-bit libs (GTK2, libxml2 2.13, ICU 76) live in game/lib32. Other 32-bit dependencies (glib2, pango, cairo, atk, ...) must come from your distribution's multilib/i386 repositories.",
    "installer": [
      {
        "extract": {
          "dst": "$CACHE/GOG",
          "file": "goginstaller",
          "format": "zip"
        }
      },
      {
        "merge": {
          "dst": "$GAMEDIR",
          "src": "$CACHE/GOG/data/noarch/"
        }
      },
      {
        "execute": {
          "command": "set -euo pipefail\nwork=$(mktemp -d)\ntrap 'rm -rf \"$work\"' EXIT\ncp \"$pkg_gtk2\" \"$work/lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst\"\ncp \"$pkg_libxml2\" \"$work/lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst\"\ncp \"$pkg_icu\" \"$work/lib32-icu-76.1-1-x86_64.pkg.tar.zst\"\ncd \"$work\"\nsha256sum -c - <<'EOF'\na2e7dea409f128399b675b93a4800d75183720d3fb336b99e02b393e7f416be4  lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst\n983fba3ee0009e23ad174ed2645d9ea79281dcdbf6e3579fcd2246df48aabd40  lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst\n61c2edf37c304b47b666ce6d20728b91a1e53dcd2af41847ff73868b1acb83d4  lib32-icu-76.1-1-x86_64.pkg.tar.zst\nEOF\nmkdir -p \"$GAMEDIR/game/lib32\"\nbsdtar -xf lib32-gtk2-2.24.33-5-x86_64.pkg.tar.zst -C \"$GAMEDIR/game/lib32\" --strip-components 2 \\\n'usr/lib32/libgtk-x11-2.0.so.0*' 'usr/lib32/libgdk-x11-2.0.so.0*'\nbsdtar -xf lib32-libxml2-2.13.8-1-x86_64.pkg.tar.zst -C \"$GAMEDIR/game/lib32\" --strip-components 2 \\\n'usr/lib32/libxml2.so.2*'\nbsdtar -xf lib32-icu-76.1-1-x86_64.pkg.tar.zst -C \"$GAMEDIR/game/lib32\" --strip-components 2 \\\n'usr/lib32/libicuuc.so.76*' 'usr/lib32/libicudata.so.76*'\n",
          "description": "Verifying and extracting legacy 32-bit libraries",
          "disable_runtime": true
        }
      },
      {
        "chmodx": "$GAMEDIR/start.sh"
      }
    ],
    "require-binaries": "bsdtar, sha256sum",
    "system": {
      "LD_LIBRARY_PATH": "$GAMEDIR/game/lib32",
      "env": null
    }
  }
}
Back to game