From aaeb3b59885c019fda6d81d7713aa61d1798bc67 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 29 Feb 2024 13:19:25 +0100 Subject: [PATCH] Add docker file for easy reproducible builds Signed-off-by: falkTX --- .gitignore | 1 + docker/.dockerignore | 6 ++++++ docker/Dockerfile | 32 ++++++++++++++++++++++++++++++++ docker/build.sh | 16 ++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 docker/.dockerignore create mode 100644 docker/Dockerfile create mode 100755 docker/build.sh diff --git a/.gitignore b/.gitignore index 7188b4f..1b46db5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ *~ +*.dll *.o *.so build32/ diff --git a/docker/.dockerignore b/docker/.dockerignore new file mode 100644 index 0000000..1a29279 --- /dev/null +++ b/docker/.dockerignore @@ -0,0 +1,6 @@ +# binary files +*.dll +*.so + +# this script +build.sh diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..58f6b4c --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,32 @@ +FROM ubuntu:20.04 +LABEL maintainer="falkTX " +ENV DEBIAN_FRONTEND noninteractive + +# enable i386 +RUN dpkg --add-architecture i386 + +# update system +RUN apt-get update -qq && apt-get upgrade -qqy && apt-get clean + +# install packages needed for build +RUN apt-get install -qqy --no-install-recommends ca-certificates gcc-multilib git libjack-jackd2-dev libjack-jackd2-dev:i386 make openssl pkg-config wget && \ + apt-get clean + +# install newer wine +RUN mkdir -pm755 /etc/apt/keyrings && \ + wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key && \ + wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources + +RUN apt-get update -qq && \ + apt-get install -qqy --no-install-recommends winehq-stable wine-stable-dev && \ + apt-get clean + +# fetch wineasio +RUN git clone --recursive https://github.com/wineasio/wineasio.git --depth=1 + +# build wineasio +WORKDIR /wineasio +RUN make 32 64 + +# CMD for inspection +CMD ["bash"] diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 0000000..b48ed94 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +cd $(dirname $0) + +rm -f *.dll *.so + +set -e + +docker build -t wineasio . +docker run -v $PWD:/mnt --rm --entrypoint \ + cp wineasio:latest \ + /wineasio/build32/wineasio32.dll \ + /wineasio/build32/wineasio32.dll.so \ + /wineasio/build64/wineasio64.dll \ + /wineasio/build64/wineasio64.dll.so \ + /mnt/