浏览代码

Add SFML 2.x static dependency.

Includes one patch to make it compatible with Allegro 5.
master
Ray Burgemeestre 4 年前
父节点
当前提交
6aafdabadd
共有 2 个文件被更改,包括 55 次插入0 次删除
  1. +43
    -0
      sfml/Makefile
  2. +12
    -0
      sfml/patch.txt

+ 43
- 0
sfml/Makefile 查看文件

@@ -0,0 +1,43 @@
SHELL:=/bin/bash

sfml:
git clone https://github.com/SFML/SFML.git
pushd SFML && git checkout 2.5.x && patch -p1 < ../patch.txt
bash ../ubuntu1804.sh make impl
make package

impl:
# copy & paste from allegro5
apt-get update
apt-get install -y freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \
libxcursor-dev libavfilter-dev \
libpng-dev libjpeg-dev libfreetype6-dev \
libxrandr-dev libxinerama-dev libxi-dev \
libgtk2.0-dev
# extra needed
apt-get install -y libudev-dev libopenal-dev libflac-dev libvorbis-dev

update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40
update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 40
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-10 40
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 40
update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-10 40
# static build
pushd SFML && \
cmake -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=$$PWD/sfml_static -DBUILD_SHARED_LIBS=false . && \
make -j $$(nproc) && \
make install

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

clean:
rm -rf SFML
rm -rf out

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

+ 12
- 0
sfml/patch.txt 查看文件

@@ -0,0 +1,12 @@
diff --git a/src/SFML/Window/Unix/Display.cpp b/src/SFML/Window/Unix/Display.cpp
index 351a1284..1019a09c 100644
--- a/src/SFML/Window/Unix/Display.cpp
+++ b/src/SFML/Window/Unix/Display.cpp
@@ -76,6 +76,7 @@ Display* OpenDisplay()
////////////////////////////////////////////////////////////
void CloseDisplay(Display* display)
{
+ return;
Lock lock(mutex);
assert(display == sharedDisplay);

正在加载...
取消
保存