updated dockerfiles to hopefully work

This commit is contained in:
Lynne Megido 2020-04-09 00:18:46 +10:00
parent 40a5de5a7c
commit 911319576a
Signed by: lynnesbian
GPG key ID: F0A184B5213D9F90
5 changed files with 41 additions and 24 deletions

View file

@ -3,14 +3,28 @@ love-linux-git
## This is a fork!
This project was forked from [the original BitBucket repo](https://bitbucket.org/bartbes/love-linux-builder/), which hasn't been updated in some time. Currently, the Docker image provided by that repo fails to build, as the Mercurial version that it tries to use dies when connecting to bitbucket.org because it can't complete the SSLv3 handshake (which is a good thing). I've fixed this by updating the Dockerfile to use [Debian OldStable](https://wiki.debian.org/DebianOldStable) instead of [Debian Jessie](https://wiki.debian.org/LTS/Jessie). As of the time of writing, Debian OldStable is [Debian Stretch](https://wiki.debian.org/DebianStretch). Debian Stretch was originally released 3 years ago, and uses Linux kernel version 4.9, meaning that any Löve binaries created should be compatible with any Linux system that was updated within the last 3 or so years.
## License
## Usage
The easiest way to use this project is with Docker.
```bash
# clone the repo
git clone https://git.bune.city/lynnesbian/love-linux-builder
# run the docker image
REPO_PATH=love-linux-builder # the path to the git repo you just cloned
TARGET_ARCH=x86_64 # the target architecture. one of: x86_64 (aka amd64), i686 (aka x86, i386), armv7l (raspberry pi)
LOVE_VERSION=11.3 # the löve version you want to use
docker run --rm -v $REPO_PATH:/build/love-linux-builder lynnesbian/love-linux-builder:$TARGET_ARCH $LOVE_VERSION
```
A list of available löve versions can be found [on the love2d wiki](https://love2d.org/wiki/Version_History).
## License
The original repo did not provide a license, meaning by default it is copyrighted by the author. I assume that the author did not intend this, and am releasing this fork under the MIT license. Please don't sue me!
## The rest
The original README is as follows:
---
The script in this git repository can be used (on a sufficiently old linux
system) to extract LÓVE binaries, and turn them into a portable build in
various different formats.

View file

@ -1,19 +1,19 @@
FROM arm32v7/debian:jessie
# Install all sdl, love (build) deps and love-linux-builder deps
RUN apt-get update && apt-get install -y build-essential cmake libgl1-mesa-glx libgles2-mesa-dev libxrandr-dev libdbus-1-dev libxi-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libibus-1.0-dev libasound2-dev libpulse-dev libwayland-dev libfreetype6-dev libopenal-dev libmodplug-dev libvorbis-dev libtheora-dev libphysfs-dev libmpg123-dev squashfs-tools curl mercurial libfuse2 autotools-dev automake libtool pkg-config libdevil-dev
RUN apt-get update && apt-get install -y build-essential cmake libgl1-mesa-glx libgles2-mesa-dev libxrandr-dev libdbus-1-dev libxi-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libibus-1.0-dev libasound2-dev libpulse-dev libwayland-dev libfreetype6-dev libopenal-dev libmodplug-dev libvorbis-dev libtheora-dev libphysfs-dev libmpg123-dev squashfs-tools curl mercurial libfuse2 autotools-dev automake libtool pkg-config libdevil-dev luajit libsdl2-2.0-0 libopenal1
# Now build sdl
ADD SDL2-2.0.10.tar.gz /tmp/
RUN cd /tmp/SDL2-2.0.10 && ./configure --prefix=/usr && make all install
# ADD SDL2-2.0.10.tar.gz /tmp/
# RUN cd /tmp/SDL2-2.0.10 && ./configure --prefix=/usr && make all install
# And build luajit
ADD LuaJIT-2.0.5.tar.gz /tmp/
RUN cd /tmp/LuaJIT-2.0.5 && make PREFIX=/usr all install
# ADD LuaJIT-2.0.5.tar.gz /tmp/
# RUN cd /tmp/LuaJIT-2.0.5 && make PREFIX=/usr all install
# And build a modern openal soft
ADD openal-soft-1.19.1.tar.gz /tmp/
RUN cd /tmp/openal-soft-openal-soft-1.19.1/build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make all install
# ADD openal-soft-1.19.1.tar.gz /tmp/
# RUN cd /tmp/openal-soft-openal-soft-1.19.1/build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make all install
# Add the build script
ADD build.sh /build/

View file

@ -1,19 +1,19 @@
FROM i386/debian:jessie
# Install all sdl, love (build) deps and love-linux-builder deps
RUN apt-get update && apt-get install -y build-essential cmake libgl1-mesa-glx libgles2-mesa-dev libxrandr-dev libdbus-1-dev libxi-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libibus-1.0-dev libasound2-dev libpulse-dev libwayland-dev libfreetype6-dev libopenal-dev libmodplug-dev libvorbis-dev libtheora-dev libphysfs-dev libmpg123-dev squashfs-tools curl mercurial libfuse2 autotools-dev automake libtool pkg-config libdevil-dev
RUN apt-get update && apt-get install -y build-essential cmake libgl1-mesa-glx libgles2-mesa-dev libxrandr-dev libdbus-1-dev libxi-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libibus-1.0-dev libasound2-dev libpulse-dev libwayland-dev libfreetype6-dev libopenal-dev libmodplug-dev libvorbis-dev libtheora-dev libphysfs-dev libmpg123-dev squashfs-tools curl mercurial libfuse2 autotools-dev automake libtool pkg-config libdevil-dev luajit libsdl2-2.0-0 libopenal1
# Now build sdl
ADD SDL2-2.0.10.tar.gz /tmp/
RUN cd /tmp/SDL2-2.0.10 && ./configure --prefix=/usr && make all install
# ADD SDL2-2.0.10.tar.gz /tmp/
# RUN cd /tmp/SDL2-2.0.10 && ./configure --prefix=/usr && make all install
# And build luajit
ADD LuaJIT-2.0.5.tar.gz /tmp/
RUN cd /tmp/LuaJIT-2.0.5 && make PREFIX=/usr all install
# ADD LuaJIT-2.0.5.tar.gz /tmp/
# RUN cd /tmp/LuaJIT-2.0.5 && make PREFIX=/usr all install
# And build a modern openal soft
ADD openal-soft-1.19.1.tar.gz /tmp/
RUN cd /tmp/openal-soft-openal-soft-1.19.1/build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make all install
# ADD openal-soft-1.19.1.tar.gz /tmp/
# RUN cd /tmp/openal-soft-openal-soft-1.19.1/build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make all install
# Add the build script
ADD build.sh /build/

View file

@ -1,19 +1,19 @@
FROM amd64/debian:jessie
FROM amd64/debian:oldstable
# Install all sdl, love (build) deps and love-linux-builder deps
RUN apt-get update && apt-get install -y build-essential cmake libgl1-mesa-glx libgles2-mesa-dev libxrandr-dev libdbus-1-dev libxi-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libibus-1.0-dev libasound2-dev libpulse-dev libwayland-dev libfreetype6-dev libopenal-dev libmodplug-dev libvorbis-dev libtheora-dev libphysfs-dev libmpg123-dev squashfs-tools curl mercurial libfuse2 autotools-dev automake libtool pkg-config libdevil-dev
RUN apt-get update && apt-get install -y build-essential cmake libgl1-mesa-glx libgles2-mesa-dev libxrandr-dev libdbus-1-dev libxi-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libibus-1.0-dev libasound2-dev libpulse-dev libwayland-dev libfreetype6-dev libopenal-dev libmodplug-dev libvorbis-dev libtheora-dev libphysfs-dev libmpg123-dev squashfs-tools curl mercurial libfuse2 autotools-dev automake libtool pkg-config libdevil-dev luajit libsdl2-2.0-0 libopenal1
# Now build sdl
ADD SDL2-2.0.10.tar.gz /tmp/
RUN cd /tmp/SDL2-2.0.10 && ./configure --prefix=/usr && make all install
# ADD SDL2-2.0.10.tar.gz /tmp/
# RUN cd /tmp/SDL2-2.0.10 && ./configure --prefix=/usr && make all install
# And build luajit
ADD LuaJIT-2.0.5.tar.gz /tmp/
RUN cd /tmp/LuaJIT-2.0.5 && make PREFIX=/usr all install
# ADD LuaJIT-2.0.5.tar.gz /tmp/
# RUN cd /tmp/LuaJIT-2.0.5 && make PREFIX=/usr all install
# And build a modern openal soft
ADD openal-soft-1.19.1.tar.gz /tmp/
RUN cd /tmp/openal-soft-openal-soft-1.19.1/build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make all install
# ADD openal-soft-1.19.1.tar.gz /tmp/
# RUN cd /tmp/openal-soft-openal-soft-1.19.1/build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make all install
# Add the build script
ADD build.sh /build/

View file

@ -14,6 +14,9 @@ msg() {
printf "\033[1m· %s\033[0m\n" "$1"
}
# print the linux version being used
msg "Building with `lsb_release -ds`"
buildlove() {
pushd ../love