parent
94eb3161af
commit
dd8d8b9007
5 changed files with 175 additions and 0 deletions
@ -0,0 +1,44 @@ |
||||
# Build: |
||||
# docker build -t falkon-appimage-build . |
||||
# Run: |
||||
# docker run -v $OUT_DIRECTORY:/out -it falkon-appimage-build $FALKON_TARBALL_URL |
||||
|
||||
FROM centos:7 |
||||
|
||||
RUN yum -y install \ |
||||
wget \ |
||||
fontconfig \ |
||||
xz \ |
||||
openssl-devel \ |
||||
libX11-devel \ |
||||
xcb-util-devel \ |
||||
centos-release-scl \ |
||||
make \ |
||||
gettext \ |
||||
squashfs-tools \ |
||||
chrpath \ |
||||
which \ |
||||
mesa-libGL-devel \ |
||||
mesa-libEGL-devel \ |
||||
libXcomposite-devel \ |
||||
libXcursor-devel \ |
||||
alsa-lib-devel \ |
||||
libXi-devel \ |
||||
libXtst-devel \ |
||||
libXrandr-devel |
||||
|
||||
RUN yum -y install devtoolset-4-gcc-c++ |
||||
|
||||
RUN wget -O cmake-install https://cmake.org/files/v3.11/cmake-3.11.1-Linux-x86_64.sh && \ |
||||
chmod +x cmake-install && \ |
||||
./cmake-install --skip-license --prefix=/usr && \ |
||||
rm cmake-install |
||||
|
||||
COPY setup.sh /root/setup.sh |
||||
COPY qt-installer-noninteractive.qs /root/qt-installer-noninteractive.qs |
||||
RUN scl enable devtoolset-4 /root/setup.sh |
||||
|
||||
COPY build.sh /root/build.sh |
||||
COPY build-appimage.sh /root/build-appimage.sh |
||||
|
||||
ENTRYPOINT ["/root/build.sh"] |
||||
@ -0,0 +1,26 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
FALKON_URL=$1 |
||||
RUNTIME_URL="https://github.com/AppImage/AppImageKit/releases/download/continuous/runtime-x86_64" |
||||
|
||||
if [ -z "$FALKON_URL" ]; then |
||||
echo "No url specified!" |
||||
exit 1 |
||||
fi |
||||
|
||||
source /root/env.sh |
||||
source /opt/rh/devtoolset-4/enable |
||||
|
||||
cd /root |
||||
|
||||
wget $RUNTIME_URL -O runtime |
||||
|
||||
wget $FALKON_URL -O falkon.tar.xz |
||||
tar xf falkon.tar.xz |
||||
cd falkon-* |
||||
|
||||
/root/build-appimage.sh \ |
||||
--sourcedir=`pwd` \ |
||||
--outdir=/out \ |
||||
--runtime=/root/runtime \ |
||||
--qmake=$QTDIR/bin/qmake |
||||
@ -0,0 +1,57 @@ |
||||
function Controller() { |
||||
installer.autoRejectMessageBoxes(); |
||||
installer.installationFinished.connect(function() { |
||||
gui.clickButton(buttons.NextButton); |
||||
}) |
||||
} |
||||
|
||||
Controller.prototype.WelcomePageCallback = function() { |
||||
gui.clickButton(buttons.NextButton, 2000); |
||||
} |
||||
|
||||
Controller.prototype.CredentialsPageCallback = function() { |
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.IntroductionPageCallback = function() { |
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.TargetDirectoryPageCallback = function() |
||||
{ |
||||
gui.currentPageWidget().TargetDirectoryLineEdit.setText("/root/Qt"); |
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.ComponentSelectionPageCallback = function() { |
||||
var widget = gui.currentPageWidget(); |
||||
|
||||
widget.deselectAll(); |
||||
widget.selectComponent("qt.qt5.5101.gcc_64"); |
||||
widget.selectComponent("qt.qt5.5101.qtscript"); |
||||
widget.selectComponent("qt.qt5.5101.qtwebengine"); |
||||
|
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.LicenseAgreementPageCallback = function() { |
||||
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true); |
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.StartMenuDirectoryPageCallback = function() { |
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.ReadyForInstallationPageCallback = function() |
||||
{ |
||||
gui.clickButton(buttons.NextButton); |
||||
} |
||||
|
||||
Controller.prototype.FinishedPageCallback = function() { |
||||
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm |
||||
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) { |
||||
checkBoxForm.launchQtCreatorCheckBox.checked = false; |
||||
} |
||||
gui.clickButton(buttons.FinishButton); |
||||
} |
||||
@ -0,0 +1,37 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
QT_INSTALL_URL="https://download.qt.io/official_releases/qt/5.10/5.10.1/qt-opensource-linux-x64-5.10.1.run" |
||||
EXTRA_CMAKE_MODULES_URL="https://download.kde.org/stable/frameworks/5.45/extra-cmake-modules-5.45.0.tar.xz" |
||||
KI18N_URL="https://download.kde.org/stable/frameworks/5.45/ki18n-5.45.0.tar.xz" |
||||
|
||||
QTDIR="/root/Qt/5.10.1/gcc_64" |
||||
|
||||
# Install Qt |
||||
cd /root |
||||
wget $QT_INSTALL_URL -O qt-installer |
||||
chmod u+x qt-installer |
||||
./qt-installer --script qt-installer-noninteractive.qs --platform minimal -v |
||||
|
||||
echo "export QTDIR=$QTDIR" > /root/env.sh |
||||
|
||||
# Install ECM |
||||
cd /root |
||||
wget $EXTRA_CMAKE_MODULES_URL -O extra-cmake-modules.tar.xz |
||||
tar xf extra-cmake-modules.tar.xz |
||||
cd extra-cmake-modules-* |
||||
mkdir build && cd build |
||||
cmake -DBUILD_TESTING=OFF -DBUILD_QCH=OFF -DCMAKE_PREFIX_PATH=$QTDIR/lib/cmake -DCMAKE_INSTALL_PREFIX=$QTDIR -DCMAKE_INSTALL_LIBDIR=lib .. |
||||
make && make install |
||||
|
||||
# Install KI18n |
||||
cd /root |
||||
wget $KI18N_URL -O ki18n.tar.xz |
||||
tar xf ki18n.tar.xz |
||||
cd ki18n-* |
||||
mkdir build && cd build |
||||
cmake -DBUILD_TESTING=OFF -DBUILD_QCH=OFF -DCMAKE_PREFIX_PATH=$QTDIR/lib/cmake -DCMAKE_INSTALL_PREFIX=$QTDIR -DCMAKE_INSTALL_LIBDIR=lib .. |
||||
make && make install |
||||
|
||||
# Cleanup |
||||
cd /root |
||||
rm -r qt-installer* extra-cmake-modules* ki18n* setup.sh |
||||
Loading…
Reference in new issue