diff --git a/README.md b/README.md index 8c93b25..26a8f34 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/docker/Dockerfile-armv7l b/docker/Dockerfile-armv7l index d33a8bb..2a7a342 100644 --- a/docker/Dockerfile-armv7l +++ b/docker/Dockerfile-armv7l @@ -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/ diff --git a/docker/Dockerfile-i686 b/docker/Dockerfile-i686 index ecb27ec..e485b61 100644 --- a/docker/Dockerfile-i686 +++ b/docker/Dockerfile-i686 @@ -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/ diff --git a/docker/Dockerfile-x86_64 b/docker/Dockerfile-x86_64 index 1343ab0..4de1092 100644 --- a/docker/Dockerfile-x86_64 +++ b/docker/Dockerfile-x86_64 @@ -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/ diff --git a/docker/build.sh b/docker/build.sh index 9436e77..86f3d2c 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -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