Bladeren bron

Add Ubuntu 24.04 targets

master
Ray Burgemeestre 5 maanden geleden
bovenliggende
commit
d8a4186743
25 gewijzigde bestanden met toevoegingen van 442 en 5 verwijderingen
  1. +71
    -0
      Dockerfile-ubuntu2404
  2. +12
    -0
      Makefile
  3. +31
    -0
      allegro5/Makefile
  4. +16
    -0
      apt-publisher/Dockerfile-ubuntu2404
  5. +54
    -0
      apt-publisher/Makefile
  6. +14
    -0
      boost/Makefile
  7. +2
    -2
      caf/Makefile
  8. +1
    -1
      crtmpserver/Makefile
  9. +16
    -0
      fastpfor/Makefile
  10. +20
    -0
      ffmpeg/Makefile
  11. +15
    -0
      fmt/Makefile
  12. +22
    -0
      fpm/Dockerfile-ubuntu2404
  13. +4
    -0
      fpm/Makefile
  14. +13
    -0
      imagemagick/Makefile
  15. +16
    -0
      inotify-cpp/Makefile
  16. +14
    -0
      openexr/Makefile
  17. +15
    -0
      opentelemetry-cpp/Makefile
  18. +12
    -0
      png++/Makefile
  19. +19
    -0
      redis-plus-plus/Makefile
  20. +14
    -0
      seasocks/Makefile
  21. +14
    -0
      sfml/Makefile
  22. +16
    -0
      tvision/Makefile
  23. +4
    -0
      ubuntu2404.sh
  24. +10
    -2
      v8pp/Makefile
  25. +17
    -0
      vivid/Makefile

+ 71
- 0
Dockerfile-ubuntu2404 Bestand weergeven

FROM ubuntu:24.04 AS build1

MAINTAINER Ray Burgemeestre

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-15 clang-tidy-15 libclang-15-dev clangd-15 lldb-15 lld-15 clangd-15 && \
apt-get install -y libc++-15-dev libc++-15-dev clang-format-15 clang-tidy-15 && \
\
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.24.1/cmake-3.24.1.tar.gz && \
# tar -zxf cmake-3.24.1.tar.gz && \
# cd cmake-3.24.1 && \
# ./bootstrap && \
# make -j $(nproc) && \
# make install && \
# cd .. && \
# rm -rf cmake-3.24.1 && \
# rm -rf cmake-3.24.1.tar.gz

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

# Install emscripten deps
RUN sudo apt-get install -y libsdl2-dev && \
(git clone https://github.com/emscripten-core/emsdk.git || true) && \
cd emsdk && \
./emsdk install latest && \
./emsdk activate latest && \
sudo cp -prv ./emsdk_env.sh /etc/profile.d/

# 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

# 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

FROM scratch

COPY --from=build1 / /

CMD "/bin/bash"

+ 12
- 0
Makefile Bestand weergeven

ubuntu2204publish: ubuntu2204publish:
docker push rayburgemeestre/build-ubuntu:22.04 docker push rayburgemeestre/build-ubuntu:22.04


ubuntu2404:
docker build . -f Dockerfile-ubuntu2404 -t rayburgemeestre/build-ubuntu:24.04

ubuntu2404nocache:
docker build . -f Dockerfile-ubuntu2404 -t rayburgemeestre/build-ubuntu:24.04 --no-cache

ubuntu2404publish:
docker push rayburgemeestre/build-ubuntu:24.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


make -C allegro5 clean make -C allegro5 clean
#make -C apt-publisher clean #make -C apt-publisher clean
make -C benchmarklib clean make -C benchmarklib clean
make -C opentelemetry-cpp clean
make -C boost clean make -C boost clean
make -C redis-plus-plus clean
make -C caf clean make -C caf clean
make -C crtmpserver clean make -C crtmpserver clean
make -C openexr clean
make -C fastpfor clean make -C fastpfor clean
make -C ffmpeg clean make -C ffmpeg clean
make -C mesa clean make -C mesa clean

+ 31
- 0
allegro5/Makefile Bestand weergeven

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:
git clone https://github.com/liballeg/allegro5.git
pushd allegro5 && git checkout 5.2.5.0
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

prep: prep:
apt-get update apt-get update
apt-get install -y freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \ apt-get install -y freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \
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 -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:
rm -rf out
mkdir -p out/opt/cppse/build/allegro5/
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5/
# with one exception I'm relying on internals of allegro5 for one file..
cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5/include/allegro5/internal/aintern_bitmap.h
# since above file also includes others, let's just sync the entire internal dir
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5/include/allegro5/internal/
# somewhere also platform became needed, let's pull those in as well
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5/include/allegro5/platform/
rm -rf allegro5_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

package_sdl-ubuntu2004: package_sdl-ubuntu2004:
rm -rf out rm -rf out
mkdir -p out/opt/cppse/build/allegro5sdl/ mkdir -p out/opt/cppse/build/allegro5sdl/
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 -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:
rm -rf out
mkdir -p out/opt/cppse/build/allegro5sdl/
cp -prv allegro5/allegro5_static/* out/opt/cppse/build/allegro5sdl/
cp -prv allegro5/include/allegro5/internal/aintern_bitmap.h out/opt/cppse/build/allegro5sdl/include/allegro5/internal/aintern_bitmap.h
cp -prv allegro5/include/allegro5/internal/* out/opt/cppse/build/allegro5sdl/include/allegro5/internal/
cp -prv allegro5/include/allegro5/platform/* out/opt/cppse/build/allegro5sdl/include/allegro5/platform/
rm -rf allegro5sdl_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu: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


clean: clean:
rm -rf allegro5 rm -rf allegro5

+ 16
- 0
apt-publisher/Dockerfile-ubuntu2404 Bestand weergeven

FROM ubuntu:24.04

MAINTAINER Ray Burgemeestre

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
apt install -y rng-tools gnupg2 \
apache2 dpkg-dev dpkg-sig \
apt-utils reprepro && \
\
mkdir -p /repo && \
mkdir -p ~/.gnupg && \
rm -rf /var/lib/apt/lists/*

CMD "/bin/bash"

+ 54
- 0
apt-publisher/Makefile Bestand weergeven

make update-packages-ubuntu2204-rsync make update-packages-ubuntu2204-rsync
bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions bash ../ubuntu2204.sh chown $$(id -u):$$(id -g) . -R # fix permissions


apt-ubuntu2404:
wget $$SECRET_URL 1>/dev/null 2>/dev/null
tar -zxvf *secret.tar.gz
make prepare-packages-ubuntu2404
make update-packages-ubuntu2404

apt-ubuntu2404-pt2:
make update-packages-ubuntu2404-rsync
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions

prepare-packages-ubuntu1804: prepare-packages-ubuntu1804:
mkdir -p packages mkdir -p packages
cp -prv ffmpeg/pkg/*.deb \ cp -prv ffmpeg/pkg/*.deb \
redis-plus-plus/pkg/*.deb \ redis-plus-plus/pkg/*.deb \
packages/ packages/


prepare-packages-ubuntu2404:
mkdir -p packages
cp -prv ffmpeg/pkg/*.deb \
v8pp/pkg/*.deb \
allegro5/pkg/*.deb \
sfml/pkg/*.deb \
boost/pkg/*.deb \
fastpfor/pkg/*.deb \
seasocks/pkg/*.deb \
fmt/pkg/*.deb \
openexr/pkg/*.deb \
imagemagick/pkg/*.deb \
pngpp/pkg/*.deb \
tvision/pkg/*.deb \
vivid/pkg/*.deb \
inotify-cpp/pkg/*.deb \
msxsaver/pkg/*.deb \
redis-plus-plus/pkg/*.deb \
packages/

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


docker-ubuntu2204: docker-ubuntu2204:
docker build . -t rayburgemeestre/apt-ubuntu:22.04 -f Dockerfile-ubuntu2204 docker build . -t rayburgemeestre/apt-ubuntu:22.04 -f Dockerfile-ubuntu2204


docker-ubuntu2404:
docker build . -t rayburgemeestre/apt-ubuntu:22.04 -f Dockerfile-ubuntu2404

run-initialize-once: run-initialize-once:
echo Please refer to README. Initial steps were done once manually and tar of artifacts was zipped. echo Please refer to README. Initial steps were done once manually and tar of artifacts was zipped.
# mkdir -p repo gnupg keys # mkdir -p repo gnupg keys
# NOTE: troubles with this shizzle? remove /mnt2/NAS/kube/cppse.nl/cppse.nl/repo # NOTE: troubles with this shizzle? remove /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
# and also remove work dir in go-agent: rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2204 # and also remove work dir in go-agent: rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2204


update-packages-ubuntu2404:
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 "reprepro -b /repo includedeb jammy packages/*.deb"
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 jammy"
# echo produce artifact for debugging
tar -czf repo.tar.gz repo
# rsync to host
echo if the rsync fails, then double check if the ssh key is accepted in authorized_hosts
echo check https://ci.cppse.nl/go/admin/pipelines/apt-publisher-ubuntu2404/stages/publisher/job/make/environment_variables
echo then probably you need to rm -rf /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
echo then probably you need to rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2404

update-packages-ubuntu2404-rsync:
rsync --delete -raPv -e "$$SYNC_CMD_SSH" repo $$SYNC_CMD_DEST
# NOTE: troubles with this shizzle? remove /mnt2/NAS/kube/cppse.nl/cppse.nl/repo
# and also remove work dir in go-agent: rm -rf /var/lib/go-agent/pipelines/apt-publisher-ubuntu2404

shell-ubuntu1804: shell-ubuntu1804:
docker pull rayburgemeestre/apt-ubuntu:18.04 docker pull rayburgemeestre/apt-ubuntu:18.04
docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:18.04 /bin/bash
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:22.04 /bin/bash docker run -i -t -v $$PWD:$$PWD -v $$PWD/gnupg:/root/.gnupg -v $$PWD/repo:/repo --workdir $$PWD rayburgemeestre/apt-ubuntu:22.04 /bin/bash


shell-ubuntu2404:
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

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

+ 14
- 0
boost/Makefile Bestand weergeven

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:
git clone --branch boost-1.80.0 --recursive https://github.com/boostorg/boost
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R

impl: impl:
switch-to-latest-clang switch-to-latest-clang
pushd boost && \ pushd boost && \
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 -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:
rm -rf out
mkdir -p out/opt/cppse/build/boost/include/
cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
cp -L -prv boost/boost out/opt/cppse/build/boost/include/
rm -rf boost_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

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

+ 2
- 2
caf/Makefile Bestand weergeven

# 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 rm -rf caf_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n 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
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v 1.1.1 -s dir -t deb -n 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


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


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

+ 1
- 1
crtmpserver/Makefile Bestand weergeven

./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 rm -rf crtmpserver_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.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
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


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

+ 16
- 0
fastpfor/Makefile Bestand weergeven

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 https://github.com/rayburgemeestre/FastPFor
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

impl: impl:
patch FastPFor/CMakeLists.txt libcpp.patch patch FastPFor/CMakeLists.txt libcpp.patch
switch-to-latest-clang switch-to-latest-clang
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 -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:
rm -rf out
mkdir -p out/opt/cppse/build/fastpfor/lib
mkdir -p out/opt/cppse/build/fastpfor/include
cp -prv ./FastPFor/libFastPFOR.a out/opt/cppse/build/fastpfor/lib/
cp -prv ./FastPFor/headers out/opt/cppse/build/fastpfor/include/
rm -rf fastpfor_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

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

+ 20
- 0
ffmpeg/Makefile Bestand weergeven

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:
# sometimes got 404 on videolan/x264
#git clone https://code.videolan.org/videolan/x264
#git clone git://source.ffmpeg.org/ffmpeg.git
git clone https://github.com/rayburgemeestre/x264
git clone https://github.com/rayburgemeestre/ffmpeg

bash ../ubuntu2404.sh make ffmpeg_impl
make package-ubuntu2404
bash ../ubuntu2404.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/
git config --global --add safe.directory '*' git config --global --add safe.directory '*'
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 -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:
rm -rf out
mkdir -p out/opt/cppse/build/x264
mkdir -p out/opt/cppse/build/ffmpeg
cp -prv ./x264_out/* out/opt/cppse/build/x264/
cp -prv ./ffmpeg_out/* out/opt/cppse/build/ffmpeg/
rm -rf cppseffmpeg_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

clean: clean:
rm -rf x264 rm -rf x264
rm -rf ffmpeg rm -rf ffmpeg

+ 15
- 0
fmt/Makefile Bestand weergeven

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 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

impl: impl:
switch-to-latest-clang switch-to-latest-clang
apt-get update && apt-get install libz-dev -y && \ apt-get update && apt-get install libz-dev -y && \
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 -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:
rm -rf out
mkdir -p 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
rm -rf fmt_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

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

+ 22
- 0
fpm/Dockerfile-ubuntu2404 Bestand weergeven

FROM ubuntu:24.04

ENV DEBIAN_FRONTEND noninteractive

RUN set -x \
&& apt-get update && apt-get install -y --no-install-recommends \
ruby \
ruby-dev \
gcc \
g++ \
make \
ca-certificates \
libffi-dev \
ruby-ffi \
rpm \
vim \
&& gem install fpm \
&& mkdir /src/

WORKDIR /src/

CMD /usr/local/bin/fpm

+ 4
- 0
fpm/Makefile Bestand weergeven

docker pull rayburgemeestre/fpm-ubuntu:22.04 || true docker pull rayburgemeestre/fpm-ubuntu:22.04 || true
docker build . -f Dockerfile-ubuntu2204 -t rayburgemeestre/fpm-ubuntu:22.04 docker build . -f Dockerfile-ubuntu2204 -t rayburgemeestre/fpm-ubuntu:22.04


ubuntu2404fpm:
docker pull rayburgemeestre/fpm-ubuntu:22.04 || true
docker build . -f Dockerfile-ubuntu2404 -t rayburgemeestre/fpm-ubuntu:24.04

publish1804: publish1804:
docker push rayburgemeestre/fpm-ubuntu:18.04 docker push rayburgemeestre/fpm-ubuntu:18.04



+ 13
- 0
imagemagick/Makefile Bestand weergeven

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

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 && \
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 -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:
rm -rf out
mkdir -p 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 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

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

+ 16
- 0
inotify-cpp/Makefile Bestand weergeven

bash ../ubuntu2204.sh make impl bash ../ubuntu2204.sh make impl
make package-ubuntu2204 make package-ubuntu2204


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

impl: impl:
dpkg -i boost/pkg/*.deb dpkg -i boost/pkg/*.deb
pushd inotify-cpp && \ pushd 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 -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:
rm -rf out
mkdir -p 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 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

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

+ 14
- 0
openexr/Makefile Bestand weergeven

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 v3.1.5 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

impl: impl:
switch-to-latest-clang switch-to-latest-clang
apt-get update && apt-get install libz-dev -y && \ apt-get update && apt-get install libz-dev -y && \
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 -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:
rm -rf out
mkdir -p 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/
rm -rf cppseopenexr_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

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

+ 15
- 0
opentelemetry-cpp/Makefile Bestand weergeven



make package-ubuntu2204 make package-ubuntu2204


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

mkdir -p out
bash ../ubuntu2404.sh make opentelem

make package-ubuntu2404

.PHONY : opentelem .PHONY : opentelem
opentelem: opentelem:
pushd opentelemetry-cpp && \ pushd opentelemetry-cpp && \
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 -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:
rm -rf pkg_out
mkdir -p 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

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

+ 12
- 0
png++/Makefile Bestand weergeven

tar -zxvf png++-0.2.10.tar.gz tar -zxvf png++-0.2.10.tar.gz
make package-ubuntu2204 make package-ubuntu2204


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

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 pngpp_*_amd64.deb rm -rf pngpp_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n 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 docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n 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


package-ubuntu2404:
rm -rf out
mkdir -p 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 1.1.1 -s dir -t deb -n 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

clean: clean:
rm -rf png++* rm -rf png++*
rm -rf png*.tar.gz rm -rf png*.tar.gz

+ 19
- 0
redis-plus-plus/Makefile Bestand weergeven



make package-ubuntu2204 make package-ubuntu2204


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

# check out revision that is master at the time of writing
git clone -b v1.1.0 https://github.com/redis/hiredis || true
bash ../ubuntu2404.sh make hiredis

git clone -b 1.3.6 https://github.com/sewenew/redis-plus-plus || true
bash ../ubuntu2404.sh make redis-plus-plus

make package-ubuntu2404

.PHONY : hiredis .PHONY : hiredis
hiredis: hiredis:
pushd hiredis && \ pushd hiredis && \
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 -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:
rm -rf pkg_out
mkdir -p 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

clean: clean:
sudo rm -rf hiredis sudo rm -rf hiredis
sudo rm -rf redis-plus-plus sudo rm -rf redis-plus-plus

+ 14
- 0
seasocks/Makefile Bestand weergeven

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 https://github.com/rayburgemeestre/seasocks --branch v1.4.4
git clone https://github.com/rayburgemeestre/seasocks --branch master
bash ../ubuntu2404.sh make impl
make package-ubuntu2404
bash ../ubuntu2404.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 -y && \ apt-get update && apt-get install libz-dev -y && \
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 -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:
rm -rf out
mkdir -p 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 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

clean: clean:
rm -rf seasocks rm -rf seasocks
rm -rf out rm -rf out

+ 14
- 0
sfml/Makefile Bestand weergeven

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 https://github.com/SFML/SFML.git
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

impl: impl:
# copy & paste from allegro5 # copy & paste from allegro5
apt-get update apt-get update
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 -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:
rm -rf out
mkdir -p 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 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

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

+ 16
- 0
tvision/Makefile Bestand weergeven

bash ../ubuntu2204.sh make impl bash ../ubuntu2204.sh make impl
make package-ubuntu2204 make package-ubuntu2204


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

impl: impl:
pushd tvision && \ pushd tvision && \
cmake . -B ./build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$$PWD/../tvision_out && \ cmake . -B ./build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$$PWD/../tvision_out && \
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 -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:
rm -rf out
mkdir -p 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 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

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

+ 4
- 0
ubuntu2404.sh Bestand weergeven

#!/bin/bash

docker run $FLAGS --pull always -t -v $PWD:$PWD --workdir $PWD rayburgemeestre/build-ubuntu:24.04 sh -c "$*"


+ 10
- 2
v8pp/Makefile Bestand weergeven

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:
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 master https://github.com/pmed/v8pp # ..we'll use master.
bash ../ubuntu2404.sh make build # prepares packaging as well
make fpm_package
bash ../ubuntu2404.sh chown $$(id -u):$$(id -g) . -R # fix permissions

build: build:
# see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/ # see issue https://exerror.com/fatal-detected-dubious-ownership-in-repository/
git config --global --add safe.directory '*' git config --global --add safe.directory '*'
cp -prv v8pp/v8pp out/opt/cppse/build/v8pp/include/ cp -prv v8pp/v8pp out/opt/cppse/build/v8pp/include/


fpm_package: fpm_package:
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:22.04 fpm -v 1.1.1 -s dir -t deb -n v8pp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "v8pp - build dependency" --url "https://github.com/rayburgemeestre/v8pp" --deb-generate-changes -C /src/out
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.04 fpm -v 1.1.1 -s dir -t deb -n v8pp --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "v8pp - build dependency" --url "https://github.com/rayburgemeestre/v8pp" --deb-generate-changes -C /src/out


clean: clean:
rm -rf v8pp rm -rf v8pp
rm -rf .gclient_entries rm -rf .gclient_entries


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

+ 17
- 0
vivid/Makefile Bestand weergeven

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

impl: impl:
git config --global --add safe.directory '*' git config --global --add safe.directory '*'
switch-to-latest-clang switch-to-latest-clang
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 -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:
rm -rf out
mkdir -p out/opt/cppse/build/vivid/
cp -prv vivid/vivid_out/* out/opt/cppse/build/vivid/
# emscripten version
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/
rm -rf vivid_*_amd64.deb
docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:24.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

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

Laden…
Annuleren
Opslaan