Browse Source

Add Docker 25.04 builds and fix apt-publisher to support both 24.04 and 25.04.

Started making builds more dynamic
master
Ray Burgemeestre 1 month ago
parent
commit
451f918fff
24 changed files with 520 additions and 250 deletions
  1. +79
    -0
      Dockerfile-ubuntu2504
  2. +42
    -23
      Makefile
  3. +29
    -25
      allegro5/Makefile
  4. +21
    -2
      apt-publisher/Makefile
  5. +13
    -8
      benchmarklib/Makefile
  6. +18
    -13
      boost/Makefile
  7. +11
    -6
      caf/Makefile
  8. +16
    -4
      crtmpserver/Makefile
  9. +17
    -13
      fastpfor/Makefile
  10. +19
    -14
      ffmpeg/Makefile
  11. +18
    -13
      fmt/Makefile
  12. +23
    -16
      imagemagick/Makefile
  13. +17
    -12
      inotify-cpp/Makefile
  14. +8
    -4
      msxsaver/Makefile
  15. +19
    -13
      openexr/Makefile
  16. +21
    -8
      opentelemetry-cpp/Makefile
  17. +23
    -5
      png++/Makefile
  18. +31
    -6
      redis-plus-plus/Makefile
  19. +19
    -14
      seasocks/Makefile
  20. +19
    -14
      sfml/Makefile
  21. +8
    -4
      starcry/Makefile
  22. +17
    -12
      tvision/Makefile
  23. +14
    -8
      v8pp/Makefile
  24. +18
    -13
      vivid/Makefile

+ 79
- 0
Dockerfile-ubuntu2504 View File

FROM ubuntu:25.04 AS build1

LABEL maintainer="Ray Burgemeestre <ray@cppse.nl>"

ARG DEBIAN_FRONTEND=noninteractive

# This is a workaround for https://stackoverflow.com/questions/71941032/why-i-cannot-run-apt-update-inside-a-fresh-ubuntu22-04
RUN sed -i -e 's/^APT/# APT/' -e 's/^DPkg/# DPkg/' \
/etc/apt/apt.conf.d/docker-clean

RUN apt-get update && \
apt-get -y install g++12 git sudo wget gnupg2 && \
apt-get -y install libssl-dev build-essential && \
apt-get -y install vim gdb strace patch && \
\
apt update -y && \
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/*

# Install newer CMake to avoid some warnings the "FindBoost" script throws on
# more recent versions of boost that the system CMake doesn't now about.
# I chose a bloody new boost, so I need to use the latest RC1 (at the time of writing)
# EDIT: actually we can get rid of this block, Ubuntu 22.04 has a recent enough version already
#RUN wget https://github.com/Kitware/CMake/releases/download/v3.31.7/cmake-3.31.7.tar.gz && \
# tar -zxf cmake-3.31.7.tar.gz && \
# cd cmake-3.31.7 && \
# ./bootstrap && \
# make -j $(nproc) && \
# make install && \
# cd .. && \
# rm -rf cmake-3.31.7 && \
# rm -rf cmake-3.31.7.tar.gz

RUN sudo apt-get update && \
sudo apt-get install -y cmake

# Install emscripten deps (EDIT: was using default branch, and 'latest' instead of 3.1.6, but I think something broke recently w/r/t keyboard handling)
RUN sudo apt-get install -y libsdl2-dev && \
(git clone https://github.com/emscripten-core/emsdk.git || true) && \
cd emsdk && \
git checkout 3.1.6 && \
./emsdk install 3.1.6 && \
./emsdk activate 3.1.6 && \
sudo cp -prv ./emsdk_env.sh /etc/profile.d/ && \
chown root:root /emsdk -R

# Warmup emscripten (this will pre-fetch SDL2, and cache it)
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)
#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!
# RUN cp -prv /usr/lib/llvm-14/lib/libunwind.so.1.0 /usr/lib/llvm-14/lib/libunwind.so

# Install mold (even faster than gold) (linker)
RUN apt install -y mold

COPY switch-to-latest-clang /usr/local/bin/switch-to-latest-clang
COPY switch-to-latest-gcc /usr/local/bin/switch-to-latest-gcc

RUN chmod +x /usr/local/bin/switch-to-latest-clang
RUN chmod +x /usr/local/bin/switch-to-latest-gcc

RUN apt clean

# DEBUG
# RUN ls -alh /emsdk/upstream/emscripten/cache/ports/harfbuzz/harfbuzz-3.2.0
# RUN chown -R root:root /emsdk
# RUN ls -alh /emsdk/upstream/emscripten/cache/ports/harfbuzz/harfbuzz-3.2.0

FROM scratch

COPY --from=build1 / /

CMD "/bin/bash"

+ 42
- 23
Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


#UBUNTU_VERSION ?= 2404
#CODENAME ?= noble
UBUNTU_VERSION ?= 2504
CODENAME ?= plucky

.PHONY: help .PHONY: help
help: # with thanks to Ben Rady help: # with thanks to Ben Rady
@grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' @grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
# make -C $$dir build; \ # make -C $$dir build; \
# fi \ # fi \
# done # done
make -C allegro5 build
make -C boost build
echo make -C allegro5 build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C allegro5 build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C boost build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)

# no longer used # no longer used
# make -C benchmarklib build
make -C caf build
# TODO: retest after building boost..
# make -C benchmarklib build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C caf build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C opentelemetry-cpp build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
# skipping # skipping
# make -C crtmpserver build # make -C crtmpserver build
# make -C opentelemetry-cpp build
make -C fastpfor build
make -C ffmpeg build
make -C fmt build
make -C openexr build
make -C imagemagick build
make -C inotify-cpp build
make -C png++ build
make -C redis-plus-plus build
make -C seasocks build
make -C sfml build
make -C tvision build
make -C v8pp build
make -C vivid build
make -C starcry build
make -C msxsaver build
make -C fastpfor build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C ffmpeg build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C fmt build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C openexr build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C imagemagick build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C inotify-cpp build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C png++ build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C redis-plus-plus build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C seasocks build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C sfml build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C tvision build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C v8pp build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C vivid build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C starcry build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make -C msxsaver build UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)


prepare: ## prepare and publish build container prepare: ## prepare and publish build container
sudo chown trigen:trigen . -R sudo chown trigen:trigen . -R
make ubuntu2404 make ubuntu2404
make ubuntu2404publish make ubuntu2404publish
make ubuntu2504
make ubuntu2504publish


publish: ## publish build deb packages publish: ## publish build deb packages
. env.sh; make -C apt-publisher build
. .env; make -C apt-publisher build


ci_all: # run all CI ci_all: # run all CI
make prepare make prepare
ubuntu2404publish: ubuntu2404publish:
docker push rayburgemeestre/build-ubuntu:24.04 docker push rayburgemeestre/build-ubuntu:24.04


ubuntu2504:
docker build . -f Dockerfile-ubuntu2504 -t rayburgemeestre/build-ubuntu:25.04

ubuntu2504nocache:
docker build . -f Dockerfile-ubuntu2504 -t rayburgemeestre/build-ubuntu:25.04 --no-cache

ubuntu2504publish:
docker push rayburgemeestre/build-ubuntu:25.04

shell: shell:
docker run -it -v $$PWD:$$PWD --workdir $$PWD rayburgemeestre/build-ubuntu:18.04 /bin/bash docker run -it -v $$PWD:$$PWD --workdir $$PWD rayburgemeestre/build-ubuntu:18.04 /bin/bash


clean: clean:
chown trigen:trigen . -R
for dir in */; do \ for dir in */; do \
if [ -f "$$dir/Makefile" ]; then \ if [ -f "$$dir/Makefile" ]; then \
make -C $$dir clean; \ make -C $$dir clean; \
fi \ fi \
done done



+ 29
- 25
allegro5/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=5.2.5.0 VERSION:=5.2.5.0


build: cppse-allegro5_$(VERSION)_amd64.deb cppse-allegro5sdl_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-allegro5_$(VERSION)_amd64.deb $(CODENAME)/cppse-allegro5sdl_$(VERSION)_amd64.deb


cppse-allegro5_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-allegro5_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


cppse-allegro5sdl_$(VERSION)_amd64.deb:
$(CODENAME)/cppse-allegro5sdl_$(VERSION)_amd64.deb:
echo handled by above target anyway echo handled by above target anyway


ubuntu1804: ubuntu1804:
make package_sdl-ubuntu2204 make package_sdl-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone https://github.com/liballeg/allegro5.git || true git clone https://github.com/liballeg/allegro5.git || true
pushd allegro5 && git checkout $(VERSION) pushd allegro5 && git checkout $(VERSION)
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh make impl_sdl
make package_sdl-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh make impl_sdl
make package_sdl-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


prep: prep:
apt-get update apt-get update
# somewhere also platform became needed, let's pull those in as well # 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/ cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
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 -f -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-ubuntu1804: package_sdl-ubuntu1804:
rm -rf out rm -rf out
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 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 -f -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: package-ubuntu2004:
rm -rf out rm -rf out
# somewhere also platform became needed, let's pull those in as well # 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/ cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
rm -rf allegro5_*_amd64.deb 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
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -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-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
# somewhere also platform became needed, let's pull those in as well # 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/ cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
rm -rf allegro5_*_amd64.deb rm -rf allegro5_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.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:22.04 fpm -f -v 1.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-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
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/
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/ 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 # 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/ cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
rm -rf cppse-allegro5_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-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
rm -rf $(CODENAME)/cppse-allegro5_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-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
cp -prv cppse-allegro5_*_amd64.deb $(CODENAME)/


package_sdl-ubuntu2004: package_sdl-ubuntu2004:
rm -rf out rm -rf out
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 rm -rf allegro5sdl_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.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:20.04 fpm -f -v 1.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_sdl-ubuntu2204: package_sdl-ubuntu2204:
rm -rf out rm -rf out
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 rm -rf allegro5sdl_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.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:22.04 fpm -f -v 1.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_sdl-ubuntu2404:
package_sdl-ubuntu$(UBUNTU_VERSION):
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/
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 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
rm -rf $(CODENAME)/cppse-allegro5sdl_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -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
cp -prv cppse-allegro5sdl_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf allegro5 rm -rf allegro5
rm -rf out rm -rf out
rm -rf allegro5*.deb
rm -rf allegro5*.changes
rm -rf cppse-allegro5*.deb
# rm -rf cppse-allegro5*.deb


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash

+ 21
- 2
apt-publisher/Makefile View File

sleep 2 sleep 2
. ../.env; make apt-ubuntu2404-pt2 . ../.env; make apt-ubuntu2404-pt2


status:
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble"
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list plucky"
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble" | wc -l
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list plucky" | wc -l

apt-ubuntu1804: apt-ubuntu1804:
wget -c $$SECRET_URL 1>/dev/null 2>/dev/null wget -c $$SECRET_URL 1>/dev/null 2>/dev/null
tar -zxvf *secret.tar.gz tar -zxvf *secret.tar.gz
apt-ubuntu2404: apt-ubuntu2404:
wget -c $$SECRET_URL 1>/dev/null 2>/dev/null wget -c $$SECRET_URL 1>/dev/null 2>/dev/null
tar -zxvf *secret.tar.gz || true tar -zxvf *secret.tar.gz || true
make prepare-packages-ubuntu2404
make prepare-packages-ubuntu-dyn CODENAME=noble
make prepare-packages-ubuntu-dyn CODENAME=plucky
make update-packages-ubuntu2404 make update-packages-ubuntu2404


apt-ubuntu2404-pt2: apt-ubuntu2404-pt2:
../msxsaver/msxsaver_*.deb \ ../msxsaver/msxsaver_*.deb \
packages/ packages/


prepare-packages-ubuntu-dyn:
mkdir -p packages/$(CODENAME)
echo removing old packages..
rm -rfv packages/$(CODENAME)/*
echo copying new packages..
cp -prv ../*/$(CODENAME)/*.deb packages/$(CODENAME)/ || true

docker-ubuntu1804: docker-ubuntu1804:
docker build . -t rayburgemeestre/apt-ubuntu:18.04 -f Dockerfile-ubuntu1804 docker build . -t rayburgemeestre/apt-ubuntu:18.04 -f Dockerfile-ubuntu1804




update-packages-ubuntu2404: update-packages-ubuntu2404:
docker pull rayburgemeestre/apt-ubuntu:22.04 docker pull rayburgemeestre/apt-ubuntu:22.04
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "find packages -type f -name '*.deb' | xargs -n 1 reprepro -b /repo includedeb noble "
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "find packages/noble -type f -name '*.deb' | xargs -n 1 reprepro -b /repo --ignore=wrongdistribution --ignore=surprisingbinary includedeb noble "
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "find packages/plucky -type f -name '*.deb' | xargs -n 1 reprepro -b /repo --ignore=wrongdistribution --ignore=surprisingbinary includedeb plucky "
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble" docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list noble"
docker run -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/sh -c "reprepro -b /repo list plucky"
# echo produce artifact for debugging # echo produce artifact for debugging
tar -czf repo.tar.gz repo tar -czf repo.tar.gz repo
# rsync to host # rsync to host
docker pull rayburgemeestre/apt-ubuntu:22.04 docker pull rayburgemeestre/apt-ubuntu:22.04
docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/bash docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:24.04 /bin/bash


clean:
rm -rf *_secret.tar.gz

clean-all: clean-all:
rm -rf repo gnupg keys rm -rf repo gnupg keys

+ 13
- 8
benchmarklib/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.0 VERSION:=1.0


build: cppse-benchmarklib_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-benchmarklib_$(VERSION)_amd64.deb


cppse-benchmarklib_$(VERSION)_amd64.deb:
make benchmarklib_
$(CODENAME)/cppse-benchmarklib_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make benchmarklib_ CODENAME=$(CODENAME)


benchmarklib_: benchmarklib_:
git clone https://bitbucket.org/rayburgemeestre/benchmarklib || true git clone https://bitbucket.org/rayburgemeestre/benchmarklib || true
pushd benchmarklib && git checkout master pushd benchmarklib && git checkout master
bash ../ubuntu2404.sh make impl
bash ../ubuntu$(UBUNTU_VERSION).sh make impl CODENAME=$(CODENAME)
make package make package


impl: impl:
switch-to-latest-clang switch-to-latest-clang
# TODO install boost from apt repo # TODO install boost from apt repo
# if [[ -f CMakeCache.txt ]]; then rm CMakeCache.txt; fi # if [[ -f CMakeCache.txt ]]; then rm CMakeCache.txt; fi
dpkg -i ../boost/cppse-boost_*_amd64.deb
dpkg -i ../boost/$(CODENAME)/cppse-boost_*_amd64.deb
pushd benchmarklib && \ pushd benchmarklib && \
CXX=$$(which c++) cmake -DSTATIC=1 -DBOOST_ROOT=/opt/cppse/build/boost -DCMAKE_INSTALL_PREFIX=$$PWD/benchmarklib_out -DNO_AUTO_USE_LIBCPP_CLANG=1 . && \ CXX=$$(which c++) cmake -DSTATIC=1 -DBOOST_ROOT=/opt/cppse/build/boost -DCMAKE_INSTALL_PREFIX=$$PWD/benchmarklib_out -DNO_AUTO_USE_LIBCPP_CLANG=1 . && \
make -j $$(nproc) && \ make -j $$(nproc) && \
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/benchmarklib mkdir -p out/opt/cppse/build/benchmarklib
cp -prv ./benchmarklib/benchmarklib_out/* out/opt/cppse/build/benchmarklib/ cp -prv ./benchmarklib/benchmarklib_out/* out/opt/cppse/build/benchmarklib/
rm -rf benchmarklib_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v $(VERSION) -s dir -t deb -n cppse-benchmarklib --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "benchmarklib - build dependency" --url "https://bitbucket.org/rayburgemeestre/benchmarklib" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-benchmarklib_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-benchmarklib --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "benchmarklib - build dependency" --url "https://bitbucket.org/rayburgemeestre/benchmarklib" --deb-generate-changes -C /src/out
cp -prv cppse-benchmarklib_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf benchmarklib rm -rf benchmarklib
rm -rf out rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 18
- 13
boost/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.86.0 VERSION:=1.86.0


build: cppse-boost_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-boost_$(VERSION)_amd64.deb


cppse-boost_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-boost_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu1804: ubuntu1804:
# below URL is unreliable # below URL is unreliable
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone --branch boost-1.86.0 --recursive https://github.com/boostorg/boost git clone --branch boost-1.86.0 --recursive https://github.com/boostorg/boost
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R


impl: impl:
switch-to-latest-clang switch-to-latest-clang
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
cp -L -prv boost/boost out/opt/cppse/build/boost/include/ cp -L -prv boost/boost out/opt/cppse/build/boost/include/
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 -f -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: package-ubuntu2004:
rm -rf out rm -rf out
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
cp -L -prv boost/boost out/opt/cppse/build/boost/include/ cp -L -prv boost/boost out/opt/cppse/build/boost/include/
rm -rf boost_*_amd64.deb 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
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -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-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/ cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
cp -L -prv boost/boost out/opt/cppse/build/boost/include/ cp -L -prv boost/boost out/opt/cppse/build/boost/include/
rm -rf boost_*_amd64.deb rm -rf boost_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.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:22.04 fpm -f -v 1.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-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
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/
cp -L -prv boost/boost out/opt/cppse/build/boost/include/ cp -L -prv boost/boost out/opt/cppse/build/boost/include/
rm -rf boost_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-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
rm -rf $(CODENAME)/cppse-boost_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-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
cp -prv cppse-boost_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf boost rm -rf boost

+ 11
- 6
caf/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.0.2 VERSION:=1.0.2


build: cppse-caf_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-caf_$(VERSION)_amd64.deb


cppse-caf_$(VERSION)_amd64.deb:
$(CODENAME)/cppse-caf_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make caf make caf


caf: caf:
git clone https://github.com/actor-framework/actor-framework || true git clone https://github.com/actor-framework/actor-framework || true
pushd actor-framework && git checkout 1.0.2 pushd actor-framework && git checkout 1.0.2
bash ../ubuntu2404.sh make impl
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package make package


impl: impl:
cp -prv actor-framework/build/caf_out/* out/opt/cppse/build/caf/ cp -prv actor-framework/build/caf_out/* out/opt/cppse/build/caf/
# workaround for https://groups.google.com/forum/#!topic/actor-framework/xOmdVFRD7lc # workaround for https://groups.google.com/forum/#!topic/actor-framework/xOmdVFRD7lc
# cp -prv actor-framework/build/caf/detail/build_config.hpp out/opt/cppse/build/caf/include/caf/detail/ # cp -prv actor-framework/build/caf/detail/build_config.hpp out/opt/cppse/build/caf/include/caf/detail/
rm -rf caf_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-caf --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "caf - build dependency" --url "https://github.com/liballeg/caf.git" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-caf_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-caf --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "caf - build dependency" --url "https://github.com/liballeg/caf.git" --deb-generate-changes -C /src/out
cp -prv cppse-caf_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf actor-framework rm -rf actor-framework
rm -rf out rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2404.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 16
- 4
crtmpserver/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.1.1

build: $(CODENAME)/cppse-crtmpserver_$(VERSION)_amd64.deb

$(CODENAME)/cppse-crtmpserver_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make crtmpserver

crtmpserver: crtmpserver:
git clone --branch lib https://github.com/rayburgemeestre/crtmpserver git clone --branch lib https://github.com/rayburgemeestre/crtmpserver
bash ../ubuntu1804.sh make impl
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package make package


impl: impl:
./crtmpserver/builders/cmake/tinyxml/libtinyxml.a \ ./crtmpserver/builders/cmake/tinyxml/libtinyxml.a \
./crtmpserver/builders/cmake/lua/liblua.a \ ./crtmpserver/builders/cmake/lua/liblua.a \
out/opt/cppse/build/crtmpserver/lib/ # last is DEST out/opt/cppse/build/crtmpserver/lib/ # last is DEST
rm -rf crtmpserver_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v 1.1.1 -s dir -t deb -n crtmpserver --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "crtmpserver - build dependency" --url "https://github.com/rayburgemeestre/crtmpserver" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-crtmpserver_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-crtmpserver --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "crtmpserver - build dependency" --url "https://github.com/rayburgemeestre/crtmpserver" --deb-generate-changes -C /src/out
cp -prv cppse-crtmpserver_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf crtmpserver rm -rf crtmpserver
rm -rf out rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 17
- 13
fastpfor/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble


VERSION:=0.1.7 VERSION:=0.1.7


build: cppse-fastpfor_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-fastpfor_$(VERSION)_amd64.deb


cppse-fastpfor_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-fastpfor_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu1804: ubuntu1804:
#git clone https://github.com/lemire/FastPFor #git clone https://github.com/lemire/FastPFor
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone https://github.com/rayburgemeestre/FastPFor || true git clone https://github.com/rayburgemeestre/FastPFor || true
pushd FastPFor && git checkout change-google-test-branch # master at the time of writing pushd FastPFor && git checkout change-google-test-branch # master at the time of writing
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
patch FastPFor/CMakeLists.txt libcpp.patch patch FastPFor/CMakeLists.txt libcpp.patch
cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/ cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/ cp -prv ./FastPFor/headers 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 -f -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: package-ubuntu2004:
rm -rf out rm -rf out
cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/ cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/ cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/
rm -rf fastpfor_*_amd64.deb 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
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -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-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/ cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/ cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/
rm -rf fastpfor_*_amd64.deb rm -rf fastpfor_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.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:22.04 fpm -f -v 1.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-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
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
cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/ cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/ cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/
rm -rf fastpfor_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-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
rm -rf $(CODENAME)/cppse-fastpfor_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-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
cp -prv cppse-fastpfor_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf FastPFor rm -rf FastPFor

+ 19
- 14
ffmpeg/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=7.1 VERSION:=7.1


build: cppse-ffmpeg_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-ffmpeg_$(VERSION)_amd64.deb


cppse-ffmpeg_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-ffmpeg_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu1804: ubuntu1804:
# sometimes got 404 on videolan/x264 # sometimes got 404 on videolan/x264
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone -b stable https://code.videolan.org/videolan/x264 || true git clone -b stable https://code.videolan.org/videolan/x264 || true
git clone -b n$(VERSION) https://github.com/FFmpeg/FFmpeg ffmpeg || true git clone -b n$(VERSION) https://github.com/FFmpeg/FFmpeg ffmpeg || true


bash ../ubuntu2404.sh make ffmpeg_impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make ffmpeg_impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


ffmpeg_impl: ffmpeg_impl:
# see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/ # see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/
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 -f -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: package-ubuntu2004:
rm -rf out rm -rf out
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: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
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -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-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
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:22.04 fpm -v 1.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:22.04 fpm -f -v 1.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-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
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
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-ffmpeg --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
rm -rf $(CODENAME)/cppse-ffmpeg_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-ffmpeg --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
cp -prv cppse-ffmpeg_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf x264 rm -rf x264
rm -rf ffmpeg_out rm -rf ffmpeg_out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2404.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 18
- 13
fmt/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=7.1.3 VERSION:=7.1.3


build: cppse-fmt_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-fmt_$(VERSION)_amd64.deb


cppse-fmt_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-fmt_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2004: ubuntu2004:
git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3 git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3 git clone https://github.com/rayburgemeestre/fmt --branch 7.1.3
bash ../ubuntu2404.sh make impl
bash ../ubuntu2404.sh make impl-emscripten
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
bash ../ubuntu$(UBUNTU_VERSION).sh make impl-emscripten
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
switch-to-latest-clang switch-to-latest-clang
cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/ cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
rm -rf fmt_*_amd64.deb rm -rf fmt_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/ cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
rm -rf fmt_*_amd64.deb rm -rf fmt_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/fmt mkdir -p out/opt/cppse/build/fmt
cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/ cp -prv fmt/build/fmt_out/* out/opt/cppse/build/fmt/
cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a cp -prv fmt/build2/fmt_out/lib/libfmt.a out/opt/cppse/build/fmt/lib/libfmt-em.a
rm -rf fmt_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-fmt_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-fmt --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "fmt - build dependency" --url "https://github.com/mattgodbolt/fmt" --deb-generate-changes -C /src/out
cp -prv cppse-fmt_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf fmt rm -rf fmt

+ 23
- 16
imagemagick/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


VERSION:=7.0.10-53
UBUNTU_VERSION ?= 2404
CODENAME ?= noble


build: cppse-imagemagick_$(VERSION)_amd64.deb
# VERSION:=7.0.10-53
VERSION:=7.1.1-47


cppse-imagemagick_$(VERSION)_amd64.deb:
make ubuntu2404
build: $(CODENAME)/cppse-imagemagick_$(VERSION)_amd64.deb

$(CODENAME)/cppse-imagemagick_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2004: ubuntu2004:
git clone --branch 7.0.10-53 https://github.com/ImageMagick/ImageMagick || true git clone --branch 7.0.10-53 https://github.com/ImageMagick/ImageMagick || true
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
git clone --branch 7.0.10-53 https://github.com/ImageMagick/ImageMagick || true
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
ubuntu$(UBUNTU_VERSION):
git clone --branch $(VERSION) https://github.com/ImageMagick/ImageMagick || true
bash ../ubuntu$(UBUNTU_VERSION).sh make impl UBUNTU_VERSION=$(UBUNTU_VERSION) CODENAME=$(CODENAME)
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
switch-to-latest-clang switch-to-latest-clang
apt-get update && apt-get install libz-dev autoconf -y && \ apt-get update && apt-get install libz-dev autoconf -y && \
apt-get install -y libpng-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libtiff-dev libtiff5-dev libtiffxx6 && \ apt-get install -y libpng-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libtiff-dev libtiff5-dev libtiffxx6 && \
dpkg -i ../openexr/cppse-openexr_*.deb && \
echo dpkg -i ../openexr/$(CODENAME)/cppse-openexr_*.deb && \
dpkg -i ../openexr/$(CODENAME)/cppse-openexr_*.deb && \
pushd ImageMagick && \ pushd ImageMagick && \
autoconf && \ autoconf && \
PKG_CONFIG_PATH=/opt/cppse/build//openexr/lib/pkgconfig ./configure CC=$$(which cc) CXX=$$(which c++) --with-pkgconfigdir=/opt/cppse/build/openexr/lib/pkgconfig CFLAGS="-I/opt/cppse/build/openexr/include/OpenEXR" LDFLAGS="-L/opt/cppse/build/openexr/lib/" --with-openexr=yes --enable-hdri --with-tiff=yes --with-jpeg=yes --with-openexr=yes --with-png=yes --with-tiff=yes --enable-shared=no --enable-static=yes --prefix=$$PWD/imagemagick_out && \ PKG_CONFIG_PATH=/opt/cppse/build//openexr/lib/pkgconfig ./configure CC=$$(which cc) CXX=$$(which c++) --with-pkgconfigdir=/opt/cppse/build/openexr/lib/pkgconfig CFLAGS="-I/opt/cppse/build/openexr/include/OpenEXR" LDFLAGS="-L/opt/cppse/build/openexr/lib/" --with-openexr=yes --enable-hdri --with-tiff=yes --with-jpeg=yes --with-openexr=yes --with-png=yes --with-tiff=yes --enable-shared=no --enable-static=yes --prefix=$$PWD/imagemagick_out && \
mkdir -p out/opt/cppse/build/imagemagick mkdir -p out/opt/cppse/build/imagemagick
cp -prv ImageMagick/imagemagick_out/* out/opt/cppse/build/imagemagick/ cp -prv ImageMagick/imagemagick_out/* out/opt/cppse/build/imagemagick/
rm -rf cppseimagemagick_*_amd64.deb rm -rf cppseimagemagick_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n cppseimagemagick --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "imagemagick - build dependency" --url "https://github.com/ImageMagick/ImageMagick" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n cppseimagemagick --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "imagemagick - build dependency" --url "https://github.com/ImageMagick/ImageMagick" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/imagemagick mkdir -p out/opt/cppse/build/imagemagick
cp -prv ImageMagick/imagemagick_out/* out/opt/cppse/build/imagemagick/ cp -prv ImageMagick/imagemagick_out/* out/opt/cppse/build/imagemagick/
rm -rf cppseimagemagick_*_amd64.deb rm -rf cppseimagemagick_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n cppseimagemagick --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "imagemagick - build dependency" --url "https://github.com/ImageMagick/ImageMagick" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n cppseimagemagick --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "imagemagick - build dependency" --url "https://github.com/ImageMagick/ImageMagick" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/imagemagick mkdir -p out/opt/cppse/build/imagemagick
cp -prv ImageMagick/imagemagick_out/* out/opt/cppse/build/imagemagick/ cp -prv ImageMagick/imagemagick_out/* out/opt/cppse/build/imagemagick/
rm -rf cppseimagemagick_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-imagemagick --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "imagemagick - build dependency" --url "https://github.com/ImageMagick/ImageMagick" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-imagemagick_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-imagemagick --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "imagemagick - build dependency" --url "https://github.com/ImageMagick/ImageMagick" --deb-generate-changes -C /src/out
cp -prv cppse-imagemagick_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf ImageMagick rm -rf ImageMagick
rm -rf out rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2404.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 17
- 12
inotify-cpp/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.0.0 VERSION:=1.0.0


build: cppse-inotify-cpp_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-inotify-cpp_$(VERSION)_amd64.deb


cppse-inotify-cpp_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-inotify-cpp_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2004: ubuntu2004:
# check out revision that is master at the time of writing # check out revision that is master at the time of writing
bash ../ubuntu2204.sh make impl bash ../ubuntu2204.sh make impl
make package-ubuntu2204 make package-ubuntu2204


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
# check out revision that is master at the time of writing # check out revision that is master at the time of writing
git clone https://github.com/erikzenker/inotify-cpp || true git clone https://github.com/erikzenker/inotify-cpp || true
pushd inotify-cpp && \ pushd inotify-cpp && \
git checkout 1a4413637a08f6303526a2be140806f5abaaffd5 && \ git checkout 1a4413637a08f6303526a2be140806f5abaaffd5 && \
popd && \ popd && \
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)


impl: impl:
dpkg -i ../boost/cppse-boost_*.deb dpkg -i ../boost/cppse-boost_*.deb
mkdir -p out/opt/cppse/build/inotify-cpp mkdir -p out/opt/cppse/build/inotify-cpp
cp -prv inotify-cpp_out/* out/opt/cppse/build/inotify-cpp/ cp -prv inotify-cpp_out/* out/opt/cppse/build/inotify-cpp/
rm -rf cppse_inotify-cpp_*_amd64.deb rm -rf cppse_inotify-cpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n inotify-cpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "inotify-cpp - build dependency" --url "https://github.com/erikzenker/inotify-cpp" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n inotify-cpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "inotify-cpp - build dependency" --url "https://github.com/erikzenker/inotify-cpp" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/inotify-cpp mkdir -p out/opt/cppse/build/inotify-cpp
cp -prv inotify-cpp_out/* out/opt/cppse/build/inotify-cpp/ cp -prv inotify-cpp_out/* out/opt/cppse/build/inotify-cpp/
rm -rf cppse_inotify-cpp_*_amd64.deb rm -rf cppse_inotify-cpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n inotify-cpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "inotify-cpp - build dependency" --url "https://github.com/erikzenker/inotify-cpp" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n inotify-cpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "inotify-cpp - build dependency" --url "https://github.com/erikzenker/inotify-cpp" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/inotify-cpp mkdir -p out/opt/cppse/build/inotify-cpp
cp -prv inotify-cpp_out/* out/opt/cppse/build/inotify-cpp/ cp -prv inotify-cpp_out/* out/opt/cppse/build/inotify-cpp/
rm -rf cppse_inotify-cpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-inotify-cpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "inotify-cpp - build dependency" --url "https://github.com/erikzenker/inotify-cpp" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-inotify-cpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-inotify-cpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "inotify-cpp - build dependency" --url "https://github.com/erikzenker/inotify-cpp" --deb-generate-changes -C /src/out
cp -prv cppse-inotify-cpp_*_amd64.deb $(CODENAME)/


clean: clean:
sudo rm -rf inotify-cpp* sudo rm -rf inotify-cpp*
sudo rm -rf out sudo rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 8
- 4
msxsaver/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.0 VERSION:=1.0


build: msxsaver_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-msxsaver_$(VERSION)_amd64.deb


msxsaver_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-msxsaver_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone --recursive https://github.com/rayburgemeestre/msxsaver || true git clone --recursive https://github.com/rayburgemeestre/msxsaver || true
pushd msxsaver && \ pushd msxsaver && \
git pull --rebase && \ git pull --rebase && \

+ 19
- 13
openexr/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=3.3.2 VERSION:=3.3.2


build: cppse-openexr_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-openexr_$(VERSION)_amd64.deb


cppse-openexr_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-openexr_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2004: ubuntu2004:
git clone --branch v2.5.2 https://github.com/AcademySoftwareFoundation/openexr || true git clone --branch v2.5.2 https://github.com/AcademySoftwareFoundation/openexr || true
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone --branch v3.3.2 https://github.com/AcademySoftwareFoundation/openexr || true git clone --branch v3.3.2 https://github.com/AcademySoftwareFoundation/openexr || true
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
switch-to-latest-clang switch-to-latest-clang
cp -prv openexr/build/openexr_out/* out/opt/cppse/build/openexr/ cp -prv openexr/build/openexr_out/* out/opt/cppse/build/openexr/
cp -prv openexr/build2/openexr_out/lib/* out/opt/cppse/build/openexr/lib/ cp -prv openexr/build2/openexr_out/lib/* out/opt/cppse/build/openexr/lib/
rm -rf cppseopenexr_*_amd64.deb rm -rf cppseopenexr_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n cppseopenexr --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "openexr - build dependency" --url "https://github.com/AcademySoftwareFoundation/openexr" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n cppseopenexr --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "openexr - build dependency" --url "https://github.com/AcademySoftwareFoundation/openexr" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
cp -prv openexr/build/openexr_out/* out/opt/cppse/build/openexr/ cp -prv openexr/build/openexr_out/* out/opt/cppse/build/openexr/
cp -prv openexr/build2/openexr_out/lib/* out/opt/cppse/build/openexr/lib/ cp -prv openexr/build2/openexr_out/lib/* out/opt/cppse/build/openexr/lib/
rm -rf cppseopenexr_*_amd64.deb rm -rf cppseopenexr_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n cppseopenexr --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "openexr - build dependency" --url "https://github.com/AcademySoftwareFoundation/openexr" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n cppseopenexr --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "openexr - build dependency" --url "https://github.com/AcademySoftwareFoundation/openexr" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/openexr mkdir -p out/opt/cppse/build/openexr
cp -prv openexr/build/openexr_out/* out/opt/cppse/build/openexr/ cp -prv openexr/build/openexr_out/* out/opt/cppse/build/openexr/
cp -prv openexr/build2/openexr_out/lib/* out/opt/cppse/build/openexr/lib/ cp -prv openexr/build2/openexr_out/lib/* out/opt/cppse/build/openexr/lib/
rm -rf cppseopenexr_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-openexr --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "openexr - build dependency" --url "https://github.com/AcademySoftwareFoundation/openexr" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-openexr_*_amd64.deb
# TODO: make sure all other debs are in noble.
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-openexr --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "openexr - build dependency" --url "https://github.com/AcademySoftwareFoundation/openexr" --deb-generate-changes -C /src/out
cp -prv cppse-openexr_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf openexr rm -rf openexr
rm -rf out rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2204.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 21
- 8
opentelemetry-cpp/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.20.0

build: $(CODENAME)/cppse-opentelemetry_$(VERSION)_amd64.deb

$(CODENAME)/cppse-opentelemetry_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)

ubuntu2204: ubuntu2204:
git clone --recurse-submodules https://github.com/open-telemetry/opentelemetry-cpp || true git clone --recurse-submodules https://github.com/open-telemetry/opentelemetry-cpp || true




make package-ubuntu2204 make package-ubuntu2204


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone --recurse-submodules https://github.com/open-telemetry/opentelemetry-cpp || true git clone --recurse-submodules https://github.com/open-telemetry/opentelemetry-cpp || true
git checkout v$(VERSION) || true


mkdir -p out mkdir -p out
bash ../ubuntu2404.sh make opentelem
bash ../ubuntu$(UBUNTU_VERSION).sh make opentelem


make package-ubuntu2404
make package-ubuntu$(UBUNTU_VERSION)


.PHONY : opentelem .PHONY : opentelem
opentelem: opentelem:
mkdir -p pkg_out/opt/cppse/build/ mkdir -p pkg_out/opt/cppse/build/
rsync -raPv out/ pkg_out/opt/cppse/build/ rsync -raPv out/ pkg_out/opt/cppse/build/
rm -rf redis-plus-plus*amd64.deb rm -rf redis-plus-plus*amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1 -s dir -t deb -n redis-plus-plus --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "redis-plus-plus - build dependency" --url "https://github.com/sewenew/redis-plus-plus" --deb-generate-changes -C /src/pkg_out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1 -s dir -t deb -n redis-plus-plus --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "redis-plus-plus - build dependency" --url "https://github.com/sewenew/redis-plus-plus" --deb-generate-changes -C /src/pkg_out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf pkg_out rm -rf pkg_out
mkdir -p pkg_out/opt/cppse/build/ mkdir -p pkg_out/opt/cppse/build/
rsync -raPv out/ pkg_out/opt/cppse/build/ rsync -raPv out/ pkg_out/opt/cppse/build/
rm -rf redis-plus-plus*amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v 1.1 -s dir -t deb -n redis-plus-plus --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "redis-plus-plus - build dependency" --url "https://github.com/sewenew/redis-plus-plus" --deb-generate-changes -C /src/pkg_out
rm -rf $(CODENAME)/cppse-opentelemetry_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-opentelemetry --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "opentelemetry - build dependency" --url "https://github.com/open-telemetry/opentelemetry-cpp" --deb-generate-changes -C /src/pkg_out
cp -prv cppse-opentelemetry_*_amd64.deb $(CODENAME)/


clean: clean:
sudo rm -rf opentelemetry-cpp sudo rm -rf opentelemetry-cpp
sudo rm -rf pkg_out sudo rm -rf pkg_out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2204.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 23
- 5
png++/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=0.2.10 VERSION:=0.2.10


build: cppse-pngpp_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-pngpp_$(VERSION)_amd64.deb


cppse-pngpp_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-pngpp_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu1804: ubuntu1804:
wget http://download.savannah.nongnu.org/releases/pngpp/png++-0.2.10.tar.gz wget http://download.savannah.nongnu.org/releases/pngpp/png++-0.2.10.tar.gz
tar -zxvf png++-0.2.10.tar.gz tar -zxvf png++-0.2.10.tar.gz
make package-ubuntu2404 make package-ubuntu2404


ubuntu$(UBUNTU_VERSION):
wget -c http://download.savannah.nongnu.org/releases/pngpp/png++-0.2.10.tar.gz
tar -zxvf png++-0.2.10.tar.gz
make package-ubuntu$(UBUNTU_VERSION)

package-ubuntu1804: package-ubuntu1804:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/png++ mkdir -p out/opt/cppse/build/png++
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/png++ mkdir -p out/opt/cppse/build/png++
cp -prv png++-0.2.10/* out/opt/cppse/build/png++/ cp -prv png++-0.2.10/* out/opt/cppse/build/png++/
rm -rf pngpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-pngpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "png++ - build dependency" --url "https://www.nongnu.org/pngpp/" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-pngpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-pngpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "png++ - build dependency" --url "https://www.nongnu.org/pngpp/" --deb-generate-changes -C /src/out
mv -v cppse-pngpp_*_amd64.deb $(CODENAME)/

package-ubuntu$(UBUNTU_VERSION):
rm -rf out
mkdir -p out/opt/cppse/build/png++
cp -prv png++-0.2.10/* out/opt/cppse/build/png++/
rm -rf $(CODENAME)/cppse-pngpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-pngpp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "png++ - build dependency" --url "https://www.nongnu.org/pngpp/" --deb-generate-changes -C /src/out
mv -v cppse-pngpp_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf png++* rm -rf png++*

+ 31
- 6
redis-plus-plus/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.3.6 VERSION:=1.3.6


build: cppse-redis-plus-plus_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-redis-plus-plus_$(VERSION)_amd64.deb


cppse-redis-plus-plus_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-redis-plus-plus_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2204: ubuntu2204:
mkdir -p $$PWD/../out mkdir -p $$PWD/../out


make package-ubuntu2404 make package-ubuntu2404


ubuntu$(UBUNTU_VERSION):
mkdir -p $$PWD/../out

# check out revision that is master at the time of writing
git clone -b v1.2.0 https://github.com/redis/hiredis || true
bash ../ubuntu$(UBUNTU_VERSION).sh make hiredis

git clone -b 1.3.13 https://github.com/sewenew/redis-plus-plus || true
bash ../ubuntu$(UBUNTU_VERSION).sh make redis-plus-plus

make package-ubuntu$(UBUNTU_VERSION)

.PHONY : hiredis .PHONY : hiredis
hiredis: hiredis:
pushd hiredis && \ pushd hiredis && \
rm -rf pkg_out rm -rf pkg_out
mkdir -p pkg_out/opt/cppse/build/ mkdir -p pkg_out/opt/cppse/build/
rsync -raPv out/ pkg_out/opt/cppse/build/ rsync -raPv out/ pkg_out/opt/cppse/build/
rm -rf redis-plus-plus*amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-redis-plus-plus --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "redis-plus-plus - build dependency" --url "https://github.com/sewenew/redis-plus-plus" --deb-generate-changes -C /src/pkg_out
rm -rf $(CODENAME)/cppse-redis-plus-plus_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-redis-plus-plus --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "redis-plus-plus - build dependency" --url "https://github.com/sewenew/redis-plus-plus" --deb-generate-changes -C /src/pkg_out
mv -v cppse-redis-plus-plus_*_amd64.deb $(CODENAME)/

package-ubuntu$(UBUNTU_VERSION):
rm -rf pkg_out
mkdir -p pkg_out/opt/cppse/build/
rsync -raPv out/ pkg_out/opt/cppse/build/
rm -rf $(CODENAME)/cppse-redis-plus-plus_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-redis-plus-plus --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "redis-plus-plus - build dependency" --url "https://github.com/sewenew/redis-plus-plus" --deb-generate-changes -C /src/pkg_out
mv -v cppse-redis-plus-plus_*_amd64.deb $(CODENAME)/


clean: clean:
sudo rm -rf hiredis sudo rm -rf hiredis
sudo rm -rf pkg_out sudo rm -rf pkg_out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2404.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 19
- 14
seasocks/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=1.4.4 VERSION:=1.4.4


build: cppse-seasocks_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-seasocks_$(VERSION)_amd64.deb


cppse-seasocks_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-seasocks_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu1804: ubuntu1804:
git clone https://github.com/rayburgemeestre/seasocks --branch v1.4.3 git clone https://github.com/rayburgemeestre/seasocks --branch v1.4.3
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
# git clone https://github.com/rayburgemeestre/seasocks --branch v1.4.4 # git clone https://github.com/rayburgemeestre/seasocks --branch v1.4.4
git clone https://github.com/rayburgemeestre/seasocks --branch master || true git clone https://github.com/rayburgemeestre/seasocks --branch master || true
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
switch-to-latest-clang switch-to-latest-clang
mkdir -p out/opt/cppse/build/seasocks mkdir -p out/opt/cppse/build/seasocks
cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/ cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/
rm -rf seasocks_*_amd64.deb rm -rf seasocks_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -f -v 1.1 -s dir -t deb -n seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out


package-ubuntu2004: package-ubuntu2004:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/seasocks mkdir -p out/opt/cppse/build/seasocks
cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/ cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/
rm -rf seasocks_*_amd64.deb rm -rf seasocks_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/seasocks mkdir -p out/opt/cppse/build/seasocks
cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/ cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/
rm -rf seasocks_*_amd64.deb rm -rf seasocks_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/seasocks mkdir -p out/opt/cppse/build/seasocks
cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/ cp -prv seasocks/build/seasocks_out/* out/opt/cppse/build/seasocks/
rm -rf seasocks_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-seasocks_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-seasocks --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "seasocks - build dependency" --url "https://github.com/mattgodbolt/seasocks" --deb-generate-changes -C /src/out
cp -prv cppse-seasocks_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf seasocks rm -rf seasocks
rm -rf build rm -rf build


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2204.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 19
- 14
sfml/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=2.5.0 VERSION:=2.5.0


build: cppse-sfml_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-sfml_$(VERSION)_amd64.deb


cppse-sfml_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-sfml_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu1804: ubuntu1804:
git clone https://github.com/SFML/SFML.git git clone https://github.com/SFML/SFML.git
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone https://github.com/SFML/SFML.git git clone https://github.com/SFML/SFML.git
pushd SFML && git checkout 2.5.x # && patch -p1 < ../patch.txt pushd SFML && git checkout 2.5.x # && patch -p1 < ../patch.txt
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
# copy & paste from allegro5 # copy & paste from allegro5
mkdir -p out/opt/cppse/build/sfml/ mkdir -p out/opt/cppse/build/sfml/
cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/ cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/
rm -rf sfml_*_amd64.deb rm -rf sfml_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -f -v 1.1 -s dir -t deb -n sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out


package-ubuntu2004: package-ubuntu2004:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/sfml/ mkdir -p out/opt/cppse/build/sfml/
cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/ cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/
rm -rf sfml_*_amd64.deb rm -rf sfml_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/sfml/ mkdir -p out/opt/cppse/build/sfml/
cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/ cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/
rm -rf sfml_*_amd64.deb rm -rf sfml_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/sfml/ mkdir -p out/opt/cppse/build/sfml/
cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/ cp -prv SFML/sfml_static/* out/opt/cppse/build/sfml/
rm -rf sfml_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-sfml_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-sfml --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "SFML - build dependency" --url "https://github.com/SFML/SFML.git" --deb-generate-changes -C /src/out
cp -prv cppse-sfml_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf SFML rm -rf SFML
rm -rf out rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 8
- 4
starcry/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=0.1.0 VERSION:=0.1.0


build: cppse-starcry_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-starcry_$(VERSION)_amd64.deb


cppse-starcry_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-starcry_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
git clone --recursive https://github.com/rayburgemeestre/starcry || true git clone --recursive https://github.com/rayburgemeestre/starcry || true
pushd starcry && \ pushd starcry && \
git fetch --all && \ git fetch --all && \

+ 17
- 12
tvision/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=2.0 VERSION:=2.0


build: cppse-tvision_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-tvision_$(VERSION)_amd64.deb


cppse-tvision_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-tvision_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2004: ubuntu2004:
# check out revision that is master at the time of writing # check out revision that is master at the time of writing
bash ../ubuntu2204.sh make impl bash ../ubuntu2204.sh make impl
make package-ubuntu2204 make package-ubuntu2204


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
# check out revision that is master at the time of writing # check out revision that is master at the time of writing
git clone https://github.com/magiblot/tvision || true git clone https://github.com/magiblot/tvision || true
pushd tvision && \ pushd tvision && \
git checkout 8605384659274edf1db39abef5338d2573c3e0b6 && \ git checkout 8605384659274edf1db39abef5338d2573c3e0b6 && \
popd && \ popd && \
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
make package-ubuntu$(UBUNTU_VERSION)


impl: impl:
pushd tvision && \ pushd tvision && \
mkdir -p out/opt/cppse/build/tvision mkdir -p out/opt/cppse/build/tvision
cp -prv tvision_out/* out/opt/cppse/build/tvision/ cp -prv tvision_out/* out/opt/cppse/build/tvision/
rm -rf cppse_tvision_*_amd64.deb rm -rf cppse_tvision_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n cppse-tvision --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "tvision - build dependency" --url "https://github.com/magiblot/tvision" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -f -v 1.1 -s dir -t deb -n cppse-tvision --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "tvision - build dependency" --url "https://github.com/magiblot/tvision" --deb-generate-changes -C /src/out


package-ubuntu2204: package-ubuntu2204:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/tvision mkdir -p out/opt/cppse/build/tvision
cp -prv tvision_out/* out/opt/cppse/build/tvision/ cp -prv tvision_out/* out/opt/cppse/build/tvision/
rm -rf cppse_tvision_*_amd64.deb rm -rf cppse_tvision_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n cppse-tvision --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "tvision - build dependency" --url "https://github.com/magiblot/tvision" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n cppse-tvision --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "tvision - build dependency" --url "https://github.com/magiblot/tvision" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/tvision mkdir -p out/opt/cppse/build/tvision
cp -prv tvision_out/* out/opt/cppse/build/tvision/ cp -prv tvision_out/* out/opt/cppse/build/tvision/
rm -rf cppse_tvision_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-tvision --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "tvision - build dependency" --url "https://github.com/magiblot/tvision" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-tvision_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-tvision --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "tvision - build dependency" --url "https://github.com/magiblot/tvision" --deb-generate-changes -C /src/out
cp -prv cppse-tvision_*_amd64.deb $(CODENAME)/


clean: clean:
sudo rm -rf tvision* sudo rm -rf tvision*
sudo rm -rf out sudo rm -rf out


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 14
- 8
v8pp/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=10.0.139.9 VERSION:=10.0.139.9
#VERSION:=11.9.169.4 #VERSION:=11.9.169.4
#VERSION:=13.0.245.25 #VERSION:=13.0.245.25


build: cppse-v8_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-v8_$(VERSION)_amd64.deb


cppse-v8_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-v8_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


#ubuntu1804: #ubuntu1804:
# # git clone https://github.com/rayburgemeestre/v8pp # # git clone https://github.com/rayburgemeestre/v8pp
# make fpm_package # make fpm_package
# bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions # bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
ubuntu$(UBUNTU_VERSION):
rm -rfv depot_tools rm -rfv depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git || true
#git clone -b v1.8.1 https://github.com/pmed/v8pp || true , next version 1.8.2, will probably contain the fix for clang-14 as well. for now.. #git clone -b v1.8.1 https://github.com/pmed/v8pp || true , next version 1.8.2, will probably contain the fix for clang-14 as well. for now..
#git clone -b master https://github.com/pmed/v8pp || true # ..we'll use master. #git clone -b master https://github.com/pmed/v8pp || true # ..we'll use master.
git clone -b v2.1.1 https://github.com/pmed/v8pp || true # ..we'll use master. git clone -b v2.1.1 https://github.com/pmed/v8pp || true # ..we'll use master.
make impl1 # v8 only, doesn't deal with docker rootless very well make impl1 # v8 only, doesn't deal with docker rootless very well
# no v8pp anymore: bash ../ubuntu2404.sh make impl2 # prepares packaging as well
# no v8pp anymore: bash ../ubuntu$(UBUNTU_VERSION).sh make impl2 # prepares packaging as well
make fpm_package make fpm_package
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl1: impl1:
# see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/ # see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/
echo no-op echo no-op


fpm_package: fpm_package:
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-v8 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "v8 - build dependency" --url "https://github.com/rayburgemeestre/v8pp" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-v8_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-v8 --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "v8 - build dependency" --url "https://github.com/rayburgemeestre/v8pp" --deb-generate-changes -C /src/out
cp -prv cppse-v8_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf v8pp rm -rf v8pp
rm -rf ninja rm -rf ninja


shell: shell:
FLAGS="-i --privileged" bash ../ubuntu2404.sh /bin/bash
FLAGS="-i --privileged" bash ../ubuntu$(UBUNTU_VERSION).sh /bin/bash

+ 18
- 13
vivid/Makefile View File

SHELL:=/bin/bash SHELL:=/bin/bash


UBUNTU_VERSION ?= 2404
CODENAME ?= noble

VERSION:=3.0.1 VERSION:=3.0.1


build: cppse-vivid_$(VERSION)_amd64.deb
build: $(CODENAME)/cppse-vivid_$(VERSION)_amd64.deb


cppse-vivid_$(VERSION)_amd64.deb:
make ubuntu2404
$(CODENAME)/cppse-vivid_$(VERSION)_amd64.deb:
mkdir -p $(CODENAME)
make ubuntu$(UBUNTU_VERSION)


ubuntu2204: ubuntu2204:
git clone -b v3.0.1 https://github.com/gurki/vivid git clone -b v3.0.1 https://github.com/gurki/vivid
make package-ubuntu2204 make package-ubuntu2204
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


ubuntu2404:
git clone -b v3.0.1 https://github.com/gurki/vivid
bash ../ubuntu2404.sh make impl
bash ../ubuntu2404.sh make impl-emscripten
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions
ubuntu$(UBUNTU_VERSION):
git clone -b v3.0.1 https://github.com/gurki/vivid || true
bash ../ubuntu$(UBUNTU_VERSION).sh make impl
bash ../ubuntu$(UBUNTU_VERSION).sh make impl-emscripten
make package-ubuntu$(UBUNTU_VERSION)
bash ../ubuntu$(UBUNTU_VERSION).sh chown $$(id -u):$$(id -g) . -R # fix permissions


impl: impl:
git config --global --add safe.directory '*' git config --global --add safe.directory '*'
cp -prv vivid/vivid_out2/lib/libvivid.a out/opt/cppse/build/vivid/lib/libvivid-em.a cp -prv vivid/vivid_out2/lib/libvivid.a out/opt/cppse/build/vivid/lib/libvivid-em.a
cp -prv vivid/build/_deps/glm-src/glm out/opt/cppse/build/vivid/include/ cp -prv vivid/build/_deps/glm-src/glm out/opt/cppse/build/vivid/include/
rm -rf vivid_*_amd64.deb rm -rf vivid_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n vivid --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "vivid - build dependency" --url "https://github.com/gurki/vivid.git" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -f -v 1.1.1 -s dir -t deb -n vivid --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "vivid - build dependency" --url "https://github.com/gurki/vivid.git" --deb-generate-changes -C /src/out


package-ubuntu2404:
package-ubuntu$(UBUNTU_VERSION):
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/vivid/ mkdir -p out/opt/cppse/build/vivid/
cp -prv vivid/vivid_out/* out/opt/cppse/build/vivid/ cp -prv vivid/vivid_out/* out/opt/cppse/build/vivid/
# emscripten version # emscripten version
cp -prv vivid/vivid_out2/lib/libvivid.a out/opt/cppse/build/vivid/lib/libvivid-em.a cp -prv vivid/vivid_out2/lib/libvivid.a out/opt/cppse/build/vivid/lib/libvivid-em.a
cp -prv vivid/build/_deps/glm-src/glm out/opt/cppse/build/vivid/include/ cp -prv vivid/build/_deps/glm-src/glm out/opt/cppse/build/vivid/include/
rm -rf vivid_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v $(VERSION) -s dir -t deb -n cppse-vivid --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "vivid - build dependency" --url "https://github.com/gurki/vivid.git" --deb-generate-changes -C /src/out
rm -rf $(CODENAME)/cppse-vivid_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -f -v $(VERSION) --iteration $(CODENAME) -s dir -t deb -n cppse-vivid --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "vivid - build dependency" --url "https://github.com/gurki/vivid.git" --deb-generate-changes -C /src/out
mv -v cppse-vivid_*_amd64.deb $(CODENAME)/


clean: clean:
rm -rf vivid rm -rf vivid

Loading…
Cancel
Save