Skip to content

Instantly share code, notes, and snippets.

@rlefevre
Last active February 23, 2022 08:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rlefevre/8fcf368d9951137e9e810c06c111bba1 to your computer and use it in GitHub Desktop.
Save rlefevre/8fcf368d9951137e9e810c06c111bba1 to your computer and use it in GitHub Desktop.
Elm 0.19.1 Linux 32bit unofficial binaries (Debian 10 Buster i386)

Unofficial Elm for Debian 10 Buster i386

Built with 32bit patches from https://github.com/dmy/elm-raspberry-pi.

Please do not report issues at the official Elm projects. You can comment here in the gist, note however that this is not a project that I intend to support in the future.

Install

curl -L https://gist.github.com/rlefevre/8fcf368d9951137e9e810c06c111bba1/raw/52c66eb0e01737e28f1f67f20790212b8ca6fd88/elm-i386-20200424.tar.gz | sudo tar zxC /usr/local/bin

The tarball includes the following binaries:

Compatibility

  • Built and tested on Docker x64 with Debian GNU/Linux 10 Buster i386 (32-bit).

Uninstall

$ sudo rm /usr/local/bin/elm{,-format,i-to-json}

Node.js

To use Elm tools like elm-test or elm-doc-preview, you will need Node.js.
The following command will install Node.js v10 and npm:

sudo apt-get update
sudo apt-get install nodejs npm

It is advised to configure npm to store packages in a user directory.
Add to ~/.bashrc:

NPM_PACKAGES="$HOME/.npm-packages"
export PATH="$NPM_PACKAGES/bin:$PATH"
# Unset manpath so we can inherit from /etc/manpath via the `manpath` command
unset MANPATH  # delete if you already modified MANPATH elsewhere in your configuration
export MANPATH="$NPM_PACKAGES/share/man:$(manpath)"
unset NPM_PACKAGES

and run

npm config set prefix ~/.npm-packages

Then logout/login.

You probably want to update to the latest npm version at this point:

npm install -g npm@latest

Then logout/login again.

elm-test

You can install elm-test globally:

npm install -g elm-test --ignore-scripts

But it won't run without an elmi-to-json binary suitable for the platform, which is not available upstream. So we will make a link, in the expected location, to the one provided by this release:

$ ln -sft $(npm config get prefix)/lib/node_modules/elm-test/node_modules/elmi-to-json/bin /usr/local/bin/elmi-to-json

Tests

All elm/core tests pass successfully:

# elm-test

elm-test 0.19.1-revision2
-------------------------

Running 1268 tests. To reproduce these results, run: elm-test --fuzz 100 --seed 365698587306260 /root/core/tests/tests/Main.elm /root/core/tests/tests/Test/Array.elm /root/core/tests/tests/Test/Basics.elm /root/core/tests/tests/Test/Bitwise.elm /root/core/tests/tests/Test/Char.elm /root/core/tests/tests/Test/CodeGen.elm /root/core/tests/tests/Test/Dict.elm /root/core/tests/tests/Test/Equality.elm /root/core/tests/tests/Test/List.elm /root/core/tests/tests/Test/Maybe.elm /root/core/tests/tests/Test/Result.elm /root/core/tests/tests/Test/Set.elm /root/core/tests/tests/Test/String.elm /root/core/tests/tests/Test/Tuple.elm


TEST RUN PASSED

Duration: 61718 ms
Passed:   1268
Failed:   0
This file has been truncated, but you can view the full file.
@MarkDBlackwell
Copy link

I have, for you, a pull request from my fork which exports Bash variables and uses a symbolic link.

@dullbananas
Copy link

Doesn't run on Alpine Linux

@gtsui
Copy link

gtsui commented Feb 23, 2022

Hi, I'm getting an error "truncated gzip input" when trying to download this. Looks like the file may be corrupted? Is there another source to download this somewhere? Thanks.

@rlefevre
Copy link
Author

@gtsui The file is hosted by GitHub and does not seem corrupted. I just tested it. Maybe download it first before trying to uncompress it:

https://gist.github.com/rlefevre/8fcf368d9951137e9e810c06c111bba1/raw/52c66eb0e01737e28f1f67f20790212b8ca6fd88/elm-i386-20200424.tar.gz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment