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