SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
allegro5_: | |||||
ubuntu1804: | |||||
git clone https://github.com/liballeg/allegro5.git | git clone https://github.com/liballeg/allegro5.git | ||||
pushd allegro5 && git checkout 5.2.5.0 | pushd allegro5 && git checkout 5.2.5.0 | ||||
bash ../ubuntu1804.sh make impl | bash ../ubuntu1804.sh make impl | ||||
make package | |||||
make package-ubuntu1804 | |||||
bash ../ubuntu1804.sh make impl_sdl | bash ../ubuntu1804.sh make impl_sdl | ||||
make package_sdl | |||||
make package_sdl-ubuntu1804 | |||||
ubuntu2004: | |||||
git clone https://github.com/liballeg/allegro5.git | |||||
pushd allegro5 && git checkout 5.2.5.0 | |||||
bash ../ubuntu2004.sh make impl | |||||
make package-ubuntu2004 | |||||
bash ../ubuntu2004.sh make impl_sdl | |||||
make package_sdl-ubuntu2004 | |||||
prep: | prep: | ||||
apt-get update | apt-get update | ||||
make install && \ | make install && \ | ||||
cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/ | cp -prv lib/pkgconfig/allegro* /usr/share/pkgconfig/ | ||||
package: | |||||
package-ubuntu1804: | |||||
rm -rf out | rm -rf out | ||||
mkdir -p out/opt/cppse/build/allegro5/ | mkdir -p out/opt/cppse/build/allegro5/ | ||||
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/ | cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/ | ||||
rm -rf allegro5_*_amd64.deb | rm -rf allegro5_*_amd64.deb | ||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out | docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out | ||||
package_sdl: | |||||
package_sdl-ubuntu1804: | |||||
rm -rf out | rm -rf out | ||||
mkdir -p out/opt/cppse/build/allegro5sdl/ | mkdir -p out/opt/cppse/build/allegro5sdl/ | ||||
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/ | cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/ | ||||
rm -rf allegro5sdl_*_amd64.deb | rm -rf allegro5sdl_*_amd64.deb | ||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out | docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out | ||||
package-ubuntu2004: | |||||
rm -rf out | |||||
mkdir -p out/opt/cppse/build/allegro5/ | |||||
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/ | |||||
# with one exception I'm relying on internals of allegro5 for one file.. | |||||
cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h | |||||
# since above file also includes others, let's just sync the entire internal dir | |||||
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/ | |||||
# somewhere also platform became needed, let's pull those in as well | |||||
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/ | |||||
rm -rf allegro5_*_amd64.deb | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n allegro5 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out | |||||
package_sdl-ubuntu2004: | |||||
rm -rf out | |||||
mkdir -p out/opt/cppse/build/allegro5sdl/ | |||||
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/ | |||||
cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h | |||||
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/ | |||||
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/ | |||||
rm -rf allegro5sdl_*_amd64.deb | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n allegro5sdl --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "allegro5 - SDL version - build dependency" --url "https://github.com/liballeg/allegro5.git" --deb-generate-changes -C /src/out | |||||
clean: | clean: | ||||
rm -rf allegro5 | rm -rf allegro5 | ||||
rm -rf out | rm -rf out |
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
apt: | |||||
apt-ubuntu1804: | |||||
wget $$SECRET_URL 1>/dev/null 2>/dev/null | wget $$SECRET_URL 1>/dev/null 2>/dev/null | ||||
tar -zxvf *secret.tar.gz | tar -zxvf *secret.tar.gz | ||||
make prepare-packages | make prepare-packages | ||||
make update-packages | |||||
make update-packages-ubuntu1804 | |||||
apt-ubuntu2004: | |||||
wget $$SECRET_URL 1>/dev/null 2>/dev/null | |||||
tar -zxvf *secret.tar.gz | |||||
make prepare-packages | |||||
make update-packages-ubuntu1804 | |||||
prepare-packages: | prepare-packages: | ||||
mkdir -p packages | mkdir -p packages | ||||
# tar -czf secret.tar.gz keys gnupg | # tar -czf secret.tar.gz keys gnupg | ||||
# -> Hide secret.tar.gz somewhere with a very hard to guess URL | # -> Hide secret.tar.gz somewhere with a very hard to guess URL | ||||
update-packages: | |||||
update-packages-ubuntu1804: | |||||
docker pull rayburgemeestre/apt-ubuntu:18.04 | docker pull rayburgemeestre/apt-ubuntu:18.04 | ||||
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo includedeb bionic packages/*.deb" | docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo includedeb bionic packages/*.deb" | ||||
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo list bionic" | docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/sh -c "reprepro -b /repo list bionic" | ||||
# rsync to host | # rsync to host | ||||
rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST | rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST | ||||
update-packages-ubuntu2004: | |||||
docker pull rayburgemeestre/apt-ubuntu:20.04 | |||||
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/sh -c "reprepro -b /repo includedeb focal packages/*.deb" | |||||
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:20.04 /bin/sh -c "reprepro -b /repo list focal" | |||||
# echo produce artifact for debugging | |||||
tar -czf repo.tar.gz repo | |||||
# rsync to host | |||||
rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST | |||||
shell: | shell: | ||||
docker pull rayburgemeestre/apt-ubuntu:18.04 | docker pull rayburgemeestre/apt-ubuntu:18.04 | ||||
docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash | docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash |
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
boost_: | |||||
ubuntu1804: | |||||
# below URL is unreliable | # below URL is unreliable | ||||
# wget "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2" | # wget "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2" | ||||
#tar -xf boost_1_72_0.tar.bz2 | #tar -xf boost_1_72_0.tar.bz2 | ||||
git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost | git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost | ||||
bash ../ubuntu1804.sh make impl | bash ../ubuntu1804.sh make impl | ||||
make package | |||||
make package-ubuntu1804 | |||||
ubuntu2004: | |||||
git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost | |||||
bash ../ubuntu2004.sh make impl | |||||
make package-ubuntu2004 | |||||
impl: | impl: | ||||
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 | update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 | ||||
#- type_erasure | #- type_erasure | ||||
#- wave | #- wave | ||||
package: | |||||
package-ubuntu1804: | |||||
rm -rf out | rm -rf out | ||||
mkdir -p out/opt/cppse/build/boost/include/ | mkdir -p out/opt/cppse/build/boost/include/ | ||||
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ | cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ | ||||
rm -rf boost_*_amd64.deb | rm -rf boost_*_amd64.deb | ||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out | docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out | ||||
package-ubuntu2004: | |||||
rm -rf out | |||||
mkdir -p out/opt/cppse/build/boost/include/ | |||||
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ | |||||
cp -L -prv boost/boost out/opt/cppse/build/boost/include/ | |||||
rm -rf boost_*_amd64.deb | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out | |||||
clean: | clean: | ||||
rm -rf boost | rm -rf boost | ||||
rm -rf out | rm -rf out |
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
caf: | |||||
ubuntu1804: | |||||
git clone https://github.com/lemire/FastPFor | git clone https://github.com/lemire/FastPFor | ||||
pushd FastPFor && git checkout 8030e3808f857cc12d1d09e264f1ad2a05b1964a # master at the time of writing | pushd FastPFor && git checkout 8030e3808f857cc12d1d09e264f1ad2a05b1964a # master at the time of writing | ||||
patch FastPFor/CMakeLists.txt libcpp.patch | patch FastPFor/CMakeLists.txt libcpp.patch | ||||
bash ../ubuntu1804.sh make impl | bash ../ubuntu1804.sh make impl | ||||
make package | |||||
make package-ubuntu1804 | |||||
ubuntu2004: | |||||
git clone https://github.com/lemire/FastPFor | |||||
pushd FastPFor && git checkout 8030e3808f857cc12d1d09e264f1ad2a05b1964a # master at the time of writing | |||||
patch FastPFor/CMakeLists.txt libcpp.patch | |||||
bash ../ubuntu2004.sh make impl | |||||
make package-ubuntu2004 | |||||
impl: | impl: | ||||
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 | update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 | ||||
CXX=$$(which c++) cmake . && \ | CXX=$$(which c++) cmake . && \ | ||||
make -j $$(nproc) | make -j $$(nproc) | ||||
package: | |||||
package-ubuntu1804: | |||||
rm -rf out | rm -rf out | ||||
mkdir -p out/opt/cppse/build/fastpfor/lib | mkdir -p out/opt/cppse/build/fastpfor/lib | ||||
mkdir -p out/opt/cppse/build/fastpfor/include | mkdir -p out/opt/cppse/build/fastpfor/include | ||||
rm -rf fastpfor_*_amd64.deb | rm -rf fastpfor_*_amd64.deb | ||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n fastpfor --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fastpfor - build dependency" --url "https://github.com/rayburgemeestre/FastPFor" --deb-generate-changes -C /src/out | docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n fastpfor --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fastpfor - build dependency" --url "https://github.com/rayburgemeestre/FastPFor" --deb-generate-changes -C /src/out | ||||
package-ubuntu2004: | |||||
rm -rf out | |||||
mkdir -p out/opt/cppse/build/fastpfor/lib | |||||
mkdir -p out/opt/cppse/build/fastpfor/include | |||||
cp -prv ./FastPFor/libFastPFor.a out/opt/cppse/build/fastpfor/lib/ | |||||
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/ | |||||
rm -rf fastpfor_*_amd64.deb | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n fastpfor --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fastpfor - build dependency" --url "https://github.com/rayburgemeestre/FastPFor" --deb-generate-changes -C /src/out | |||||
clean: | clean: | ||||
rm -rf FastPFor | rm -rf FastPFor | ||||
rm -rf out | rm -rf out |
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
ffmpeg: | |||||
ubuntu1804: | |||||
# git clone git://git.videolan.org/x264.git | # git clone git://git.videolan.org/x264.git | ||||
#git clone https://github.com/rayburgemeestre/x264 | #git clone https://github.com/rayburgemeestre/x264 | ||||
bash ../ubuntu1804.sh make ffmpeg_impl | bash ../ubuntu1804.sh make ffmpeg_impl | ||||
make package | |||||
make package-ubuntu1804 | |||||
ubuntu2004: | |||||
git clone https://code.videolan.org/videolan/x264 | |||||
git clone git://source.ffmpeg.org/ffmpeg.git | |||||
bash ../ubuntu2004.sh make ffmpeg_impl | |||||
make package-ubuntu2004 | |||||
ffmpeg_impl: | ffmpeg_impl: | ||||
apt-get update | apt-get update | ||||
make -j $$(nproc) && \ | make -j $$(nproc) && \ | ||||
make install | make install | ||||
package: | |||||
package-ubuntu1804: | |||||
rm -rf out | rm -rf out | ||||
mkdir -p out/opt/cppse/build/x264 | mkdir -p out/opt/cppse/build/x264 | ||||
mkdir -p out/opt/cppse/build/ffmpeg | mkdir -p out/opt/cppse/build/ffmpeg | ||||
cp -prv ./x264_out/* out/opt/cppse/build/x264/ | cp -prv ./x264_out/* out/opt/cppse/build/x264/ | ||||
cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/ | cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/ | ||||
rm -rf cppseffmpeg_*_amd64.deb | rm -rf cppseffmpeg_*_amd64.deb | ||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out | docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out | ||||
package-ubuntu2004: | |||||
rm -rf out | |||||
mkdir -p out/opt/cppse/build/x264 | |||||
mkdir -p out/opt/cppse/build/ffmpeg | |||||
cp -prv ./x264_out/* out/opt/cppse/build/x264/ | |||||
cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/ | |||||
rm -rf cppseffmpeg_*_amd64.deb | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n cppseffmpeg --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "ffmpeg - build dependency" --url "https://gitea.cppse.nl/rayburgemeestre/build-config/src/branch/master/ffmpeg" --deb-generate-changes -C /src/out | |||||
clean: | clean: | ||||
rm -rf x264 | rm -rf x264 | ||||
rm -rf ffmpeg | rm -rf ffmpeg |
FROM ubuntu:20:04 | |||||
FROM ubuntu:20.04 | |||||
ENV DEBIAN_FRONTEND noninteractive | ENV DEBIAN_FRONTEND noninteractive | ||||
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
iv8: | |||||
ubuntu1804: | |||||
# git clone https://github.com/rayburgemeestre/v8pp | # git clone https://github.com/rayburgemeestre/v8pp | ||||
# | # | ||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true | git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true | ||||
# also packages v8pp for now | # also packages v8pp for now | ||||
make fpm_package | make fpm_package | ||||
ubuntu2004: | |||||
# git clone https://github.com/rayburgemeestre/v8pp | |||||
# | |||||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true | |||||
# will be factored out at some point | |||||
git clone https://github.com/pmed/v8pp || true | |||||
pushd v8pp && git checkout 94308b4fcd992fcc8174b0b30a73e58a436819b2 # master at time of writing | |||||
bash ../ubuntu2004.sh make build | |||||
bash ../ubuntu2004.sh make archive # outside container not enough permissions | |||||
bash ../ubuntu2004.sh make package # outside container not enough permissions | |||||
# also packages v8pp for now | |||||
make fpm_package | |||||
build: | build: | ||||
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 | update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40 | ||||
update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 40 | update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 40 |