apt-get -y install vim gdb strace patch && \ | apt-get -y install vim gdb strace patch && \ | ||||
\ | \ | ||||
apt update -y && \ | apt update -y && \ | ||||
apt-get install -y clang-15 clang-tidy-15 libclang-15-dev clangd-15 lldb-15 lld-15 clangd-15 && \ | |||||
apt-get install -y libc++-15-dev libc++-15-dev clang-format-15 clang-tidy-15 && \ | |||||
apt-get install -y clang-19 clang-tidy-19 libclang-19-dev clangd-19 lldb-19 lld-19 clangd-19 && \ | |||||
apt-get install -y libc++-19-dev libc++-19-dev clang-format-19 clang-tidy-19 && \ | |||||
\ | \ | ||||
rm -rf /var/lib/apt/lists/* | rm -rf /var/lib/apt/lists/* | ||||
RUN /emsdk/upstream/emscripten/em++ -s WASM=1 -s USE_SDL=2 -s USE_SDL_TTF=2 -O3 /dev/null || true | RUN /emsdk/upstream/emscripten/em++ -s WASM=1 -s USE_SDL=2 -s USE_SDL_TTF=2 -O3 /dev/null || true | ||||
# Fix some weird linker issue CAF build runs into. (fails to link -lc++abi) | # Fix some weird linker issue CAF build runs into. (fails to link -lc++abi) | ||||
RUN cp -prv /usr/lib/llvm-15/lib/libc++abi.so.1.0 /usr/lib/llvm-15/lib/libc++abi.so | |||||
#RUN cp -prv /usr/lib/llvm-15/lib/libc++abi.so.1.0 /usr/lib/llvm-15/lib/libc++abi.so | |||||
# ^ No longer needed with clang-19 | |||||
# EDIT: no longer needed! | # EDIT: no longer needed! | ||||
# RUN cp -prv /usr/lib/llvm-14/lib/libunwind.so.1.0 /usr/lib/llvm-14/lib/libunwind.so | # RUN cp -prv /usr/lib/llvm-14/lib/libunwind.so.1.0 /usr/lib/llvm-14/lib/libunwind.so | ||||
RUN chmod +x /usr/local/bin/switch-to-latest-gcc | RUN chmod +x /usr/local/bin/switch-to-latest-gcc | ||||
RUN apt clean | RUN apt clean | ||||
# DEBUG | # DEBUG | ||||
# RUN ls -alh /emsdk/upstream/emscripten/cache/ports/harfbuzz/harfbuzz-3.2.0 | # RUN ls -alh /emsdk/upstream/emscripten/cache/ports/harfbuzz/harfbuzz-3.2.0 | ||||
# RUN chown -R root:root /emsdk | # RUN chown -R root:root /emsdk | ||||
# RUN ls -alh /emsdk/upstream/emscripten/cache/ports/harfbuzz/harfbuzz-3.2.0 | # RUN ls -alh /emsdk/upstream/emscripten/cache/ports/harfbuzz/harfbuzz-3.2.0 | ||||
FROM scratch | FROM scratch | ||||
COPY --from=build1 / / | COPY --from=build1 / / |
make -C v8pp build | make -C v8pp build | ||||
make -C vivid build | make -C vivid build | ||||
prepare: | |||||
make ubuntu2404 | |||||
make ubuntu2404publish | |||||
publish: | |||||
. env.sh; make -C apt-publisher build | |||||
ubuntu1804: | ubuntu1804: | ||||
docker build . -f Dockerfile-ubuntu1804 -t rayburgemeestre/build-ubuntu:18.04 | docker build . -f Dockerfile-ubuntu1804 -t rayburgemeestre/build-ubuntu:18.04 | ||||
VERSION:=5.2.5.0 | VERSION:=5.2.5.0 | ||||
build: cppse-allegro5_$(VERSION)_amd64.deb | |||||
build: cppse-allegro5_$(VERSION)_amd64.deb cppse-allegro5sdl_$(VERSION)_amd64.deb | |||||
cppse-allegro5_$(VERSION)_amd64.deb: | cppse-allegro5_$(VERSION)_amd64.deb: | ||||
make ubuntu2404 | make ubuntu2404 | ||||
cppse-allegro5sdl_$(VERSION)_amd64.deb: | |||||
echo handled by above target anyway | |||||
ubuntu1804: | 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 | ||||
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/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/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/ | ||||
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/ | 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:22.04 fpm -v 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 | |||||
rm -rf cppse-allegro5sdl_*_amd64.deb | |||||
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v $(VERSION) -s dir -t deb -n cppse-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 |
SHELL:=/bin/bash | SHELL:=/bin/bash | ||||
build: | build: | ||||
echo TODO | |||||
. ../.env; make apt-ubuntu2404 | |||||
curl http://cppse.nl:11224; echo; | |||||
sleep 2 | |||||
. ../.env; make apt-ubuntu2404-pt2 | |||||
apt-ubuntu1804: | apt-ubuntu1804: | ||||
wget $$SECRET_URL 1>/dev/null 2>/dev/null | wget $$SECRET_URL 1>/dev/null 2>/dev/null | ||||
prepare-packages-ubuntu1804: | prepare-packages-ubuntu1804: | ||||
mkdir -p packages | mkdir -p packages | ||||
cp -prv ffmpeg/pkg/*.deb \ | |||||
v8pp/pkg/*.deb \ | |||||
crtmpserver/pkg/*.deb \ | |||||
allegro5/pkg/*.deb \ | |||||
sfml/pkg/*.deb \ | |||||
caf/pkg/*.deb \ | |||||
boost/pkg/*.deb \ | |||||
benchmarklib/pkg/*.deb \ | |||||
fastpfor/pkg/*.deb \ | |||||
seasocks/pkg/*.deb \ | |||||
fmt/pkg/*.deb \ | |||||
pngpp/pkg/*.deb \ | |||||
openexr/pkg/*.deb \ | |||||
imagemagick/pkg/*.deb \ | |||||
tvision/pkg/*.deb \ | |||||
inotify-cpp/pkg/*.deb \ | |||||
\ | |||||
msxsaver/pkg/*.deb \ | |||||
\ | |||||
# ../crtmpserver/cppse-crtmpserver_*.deb \ | |||||
# ../benchmarklib/cppse-benchmarklib_*.deb \ | |||||
cp -prv ../ffmpeg/cppse-ffmpeg_*.deb \ | |||||
../v8pp/cppse-v8_*_amd64.deb \ | |||||
../allegro5/cppse-allegro5_*.deb \ | |||||
../sfml/cppse-sfml_*.deb \ | |||||
../caf/cppse-caf_*.deb \ | |||||
../boost/cppse-boost_*.deb \ | |||||
../fastpfor/cppse-fastpfor_*.deb \ | |||||
../seasocks/cppse-seasocks_*.deb \ | |||||
../fmt/cppse-fmt_*.deb \ | |||||
../pngpp/cppse-pngpp_*.deb \ | |||||
../openexr/cppse-openexr_*.deb \ | |||||
../imagemagick/cppse-imagemagick_*.deb \ | |||||
../tvision/cppse-tvision_*.deb \ | |||||
../inotify-cpp/cppse-inotify-cpp_*.deb \ | |||||
../msxsaver/cppse-msxsaver_*.deb \ | |||||
packages/ | packages/ | ||||
prepare-packages-ubuntu2404: | prepare-packages-ubuntu2404: | ||||
mkdir -p packages | mkdir -p packages | ||||
cp -prv ffmpeg/pkg/*.deb \ | |||||
v8pp/pkg/*.deb \ | |||||
allegro5/pkg/*.deb \ | |||||
sfml/pkg/*.deb \ | |||||
boost/pkg/*.deb \ | |||||
fastpfor/pkg/*.deb \ | |||||
seasocks/pkg/*.deb \ | |||||
fmt/pkg/*.deb \ | |||||
openexr/pkg/*.deb \ | |||||
imagemagick/pkg/*.deb \ | |||||
pngpp/pkg/*.deb \ | |||||
tvision/pkg/*.deb \ | |||||
vivid/pkg/*.deb \ | |||||
inotify-cpp/pkg/*.deb \ | |||||
msxsaver/pkg/*.deb \ | |||||
redis-plus-plus/pkg/*.deb \ | |||||
# TODO: fix ../msxsaver/cppse-msxsaver_*.deb | |||||
cp -prv ../ffmpeg/cppse-ffmpeg_*.deb \ | |||||
../v8pp/cppse-v8_*_amd64.deb \ | |||||
../allegro5/cppse-allegro5_*.deb \ | |||||
../allegro5/cppse-allegro5sdl_*.deb \ | |||||
../sfml/cppse-sfml_*.deb \ | |||||
../boost/cppse-boost_*.deb \ | |||||
../fastpfor/cppse-fastpfor_*.deb \ | |||||
../seasocks/cppse-seasocks_*.deb \ | |||||
../fmt/cppse-fmt_*.deb \ | |||||
../openexr/cppse-openexr_*.deb \ | |||||
../imagemagick/cppse-imagemagick_*.deb \ | |||||
../png++/cppse-pngpp_*.deb \ | |||||
../tvision/cppse-tvision_*.deb \ | |||||
../vivid/cppse-vivid_*.deb \ | |||||
../inotify-cpp/cppse-inotify-cpp_*.deb \ | |||||
../redis-plus-plus/cppse-redis-plus-plus_*.deb \ | |||||
packages/ | packages/ | ||||
docker-ubuntu1804: | docker-ubuntu1804: |