Compare commits

...

2 commits

7 changed files with 61 additions and 22 deletions

View file

9
LICENSE Normal file
View file

@ -0,0 +1,9 @@
MIT License
Copyright Lynnesbian/bartbes 2020
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,3 +1,30 @@
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.
## 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