Skip to content

Commit f965ba0

Browse files
committed
update Dockerfile
* Use CMake instead of QMake * Update to Qt 5.15 and Ubuntu Focal (20.04)
1 parent b0d5676 commit f965ba0

File tree

1 file changed

+29
-32
lines changed

1 file changed

+29
-32
lines changed

dist/linux/Dockerfile

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
FROM ubuntu:bionic
1+
FROM ubuntu:focal
22

3-
RUN apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:beineri/opt-qt-5.11.3-bionic
4-
RUN apt-get update && apt-get install -y git qt511base qt511svg build-essential mesa-common-dev libglu1-mesa-dev && rm -rf /var/lib/apt/lists/*
3+
RUN apt-get update && apt-get install -y software-properties-common && add-apt-repository ppa:beineri/opt-qt-5.15.2-focal
4+
RUN apt-get update && apt-get install -y git qt515base qt515svg build-essential cmake mesa-common-dev libglu1-mesa-dev && rm -rf /var/lib/apt/lists/*
55

6-
ENV QT_BASE_DIR=/opt/qt511
6+
ENV QT_BASE_DIR=/opt/qt515
77
ENV QTDIR=$QT_BASE_DIR
88
ENV PATH=$QT_BASE_DIR/bin:$PATH
99
ENV LD_LIBRARY_PATH=$QT_BASE_DIR/lib/x86_64-linux-gnu:$QT_BASE_DIR/lib:$LD_LIBRARY_PATH
@@ -21,10 +21,11 @@ RUN \
2121
# Download and build cutechess
2222
RUN git clone https://github.com/cutechess/cutechess.git /cutechess
2323
WORKDIR /cutechess
24-
RUN qmake && \
25-
make -j4 && \
26-
make doc-txt && \
27-
make doc-html
24+
RUN mkdir build && \
25+
cd build && \
26+
cmake .. -DCMAKE_INSTALL_PREFIX=/usr && \
27+
cmake --build . && \
28+
make install DESTDIR=/cutechess
2829

2930
# Create .deb and .rpm packages
3031
RUN \
@@ -37,55 +38,53 @@ RUN \
3738
mkdir -p usr/share/man/man6 && \
3839
mkdir -p usr/share/man/man5 && \
3940
mkdir -p usr/share/doc/cutechess && \
40-
cp /cutechess/projects/cli/cutechess-cli usr/games && \
41-
cp /cutechess/projects/gui/cutechess usr/games && \
41+
cp /cutechess/usr/bin/cutechess-cli usr/games && \
42+
cp /cutechess/usr/bin/cutechess usr/games && \
4243
cp /cutechess/dist/linux/menu/cutechess usr/share/menu && \
4344
cp /cutechess/projects/gui/res/icons/cutechess_128x128.png usr/share/pixmaps/cutechess.png && \
4445
cp /cutechess/projects/gui/res/icons/cutechess_32x32.xpm usr/share/pixmaps/cutechess.xpm && \
4546
cp /cutechess/dist/linux/cutechess.desktop usr/share/applications && \
4647
cp /cutechess/docs/cutechess-cli.6 usr/share/man/man6 && \
4748
gzip usr/share/man/man6/cutechess-cli.6 && \
48-
cp /cutechess/docs/engines.json.5 usr/share/man/man5 && \
49-
gzip usr/share/man/man5/engines.json.5 && \
49+
cp /cutechess/docs/cutechess-engines.json.5 usr/share/man/man5 && \
50+
gzip usr/share/man/man5/cutechess-engines.json.5 && \
5051
cp /cutechess/COPYING usr/share/doc/cutechess/copyright && \
5152
cp /cutechess/README.md usr/share/doc/cutechess/README && \
5253
mkdir /finished_pkg && \
53-
export CUTECHESS_MAJOR_VERSION=$(awk -F= '/^CUTECHESS_MAJOR_VERSION/ { print $NF }' /cutechess/version.pri) && \
54-
export CUTECHESS_MINOR_VERSION=$(awk -F= '/^CUTECHESS_MINOR_VERSION/ { print $NF }' /cutechess/version.pri) && \
55-
export CUTECHESS_PATCH_VERSION=$(awk -F= '/^CUTECHESS_PATCH_VERSION/ { print $NF }' /cutechess/version.pri) && \
54+
export CUTECHESS_VERSION=$(cat /cutechess/.version) && \
5655
export TODAY=$(date +%Y%m%d) && \
5756
fpm -s dir -t deb -C /cutechess_pkg \
5857
-a "amd64" \
5958
--license "GPLv3" \
6059
--url "https://github.com/cutechess/cutechess" \
6160
-n "cutechess" \
62-
-v "$TODAY+$CUTECHESS_MAJOR_VERSION.$CUTECHESS_MINOR_VERSION.$CUTECHESS_PATCH_VERSION" \
61+
-v "$TODAY+$CUTECHESS_VERSION" \
6362
--iteration 1 \
6463
--category "games" \
6564
-m "Ilari Pihlajisto <ilaripih@gmail.com>" \
6665
--description "Commandline and graphical interface for playing chess" \
6766
-d "libc6 (>= 2.27)" \
6867
-d "libgcc1 (>= 1:8.3.0)" \
69-
-d "libqt5svg5 (>= 5.11.0)" \
70-
-d "libqt5core5a (>= 5.11.0)" \
71-
-d "libqt5gui5 (>= 5.11.0)" \
72-
-d "libqt5widgets5 (>= 5.11.0)" \
73-
-d "libqt5printsupport5 (>= 5.11.0)" \
74-
-d "libqt5concurrent5 (>= 5.11.0)" \
68+
-d "libqt5svg5 (>= 5.15.0)" \
69+
-d "libqt5core5a (>= 5.15.0)" \
70+
-d "libqt5gui5 (>= 5.15.0)" \
71+
-d "libqt5widgets5 (>= 5.15.0)" \
72+
-d "libqt5printsupport5 (>= 5.15.0)" \
73+
-d "libqt5concurrent5 (>= 5.15.0)" \
7574
-d "libstdc++6 (>= 8.3.0)" && \
7675
mv /cutechess_pkg/*.deb /finished_pkg/ && \
7776
fpm -s dir -t rpm -C /cutechess_pkg \
7877
-a "x86_64" \
7978
--license "GPLv3" \
8079
--url "https://github.com/cutechess/cutechess" \
8180
-n "cutechess" \
82-
-v "$TODAY+$CUTECHESS_MAJOR_VERSION.$CUTECHESS_MINOR_VERSION.$CUTECHESS_PATCH_VERSION" \
81+
-v "$TODAY+$CUTECHESS_VERSION" \
8382
--iteration 1 \
8483
--category "Amusements/Games/Board/Chess" \
8584
-m "Ilari Pihlajisto <ilaripih@gmail.com>" \
8685
--description "Commandline and graphical interface for playing chess" \
87-
-d "qt5-qtbase >= 5.11.0" \
88-
-d "qt5-qtsvg >= 5.11.0" && \
86+
-d "qt5-qtbase >= 5.15.0" \
87+
-d "qt5-qtsvg >= 5.15.0" && \
8988
mv /cutechess_pkg/*.rpm /finished_pkg/
9089

9190
# Create .tar.gz package for cutechess-cli
@@ -95,20 +94,18 @@ RUN \
9594
cd /cutechess_pkg && \
9695
mkdir -p ./cutechess-cli/lib && \
9796
cp $QT_BASE_DIR/lib/libQt5Core.so.5 cutechess-cli/lib/ && \
98-
cp /cutechess/projects/cli/cutechess-cli cutechess-cli/ && \
97+
cp /cutechess/usr/bin/cutechess-cli cutechess-cli/ && \
9998
cp /cutechess/COPYING cutechess-cli/ && \
10099
cp /cutechess/docs/man-style.css cutechess-cli/ && \
101100
cp /cutechess/tools/clop-cutechess-cli.py cutechess-cli/ && \
102101
cp /cutechess/dist/linux/cutechess-cli.sh cutechess-cli/ && \
103102
cp /cutechess/docs/cutechess-cli.6.html cutechess-cli/ && \
104103
cp /cutechess/docs/cutechess-cli.6.txt cutechess-cli/ && \
105-
cp /cutechess/docs/engines.json.5.html cutechess-cli/ && \
106-
cp /cutechess/docs/engines.json.5.txt cutechess-cli/ && \
104+
cp /cutechess/docs/cutechess-engines.json.5.html cutechess-cli/ && \
105+
cp /cutechess/docs/cutechess-engines.json.5.txt cutechess-cli/ && \
107106
tar -zcvf cutechess-cli-linux64.tar.gz cutechess-cli && \
108-
export CUTECHESS_MAJOR_VERSION=$(awk -F= '/^CUTECHESS_MAJOR_VERSION/ { print $NF }' /cutechess/version.pri) && \
109-
export CUTECHESS_MINOR_VERSION=$(awk -F= '/^CUTECHESS_MINOR_VERSION/ { print $NF }' /cutechess/version.pri) && \
110-
export CUTECHESS_PATCH_VERSION=$(awk -F= '/^CUTECHESS_PATCH_VERSION/ { print $NF }' /cutechess/version.pri) && \
111-
mv cutechess-cli-linux64.tar.gz /finished_pkg/cutechess-cli-$CUTECHESS_MAJOR_VERSION.$CUTECHESS_MINOR_VERSION.$CUTECHESS_PATCH_VERSION-linux64.tar.gz
107+
export CUTECHESS_VERSION=$(cat /cutechess/.version) && \
108+
mv cutechess-cli-linux64.tar.gz /finished_pkg/cutechess-cli-$CUTECHESS_VERSION-linux64.tar.gz
112109

113110
# Copy the .deb package to the host
114111
CMD cp /finished_pkg/cutechess*.* /package

0 commit comments

Comments
 (0)