Commit c1891b14 authored by ab0027's avatar ab0027 💬
Browse files

arm64 image

parent 60464464
automake:arm64
build-essential:arm64
checkinstall:arm64
cmake:arm64
curl:arm64
desktop-file-utils:arm64
devscripts:arm64
equivs:arm64
exiv2:arm64
extra-cmake-modules:arm64
fakeroot:arm64
file:arm64
gettext:arm64
git:arm64
gnupg2:arm64
kirigami2-dev:arm64
kquickimageeditor-dev:arm64
libc-dev:arm64
libcairo-dev:arm64
libexiv2-dev:arm64
libexpat1-dev:arm64
libfam0:arm64
libfuse-dev:arm64
libgdk-pixbuf2.0-dev:arm64
libglib2.0-bin:arm64
libglib2.0-dev:arm64
libicu-dev:arm64
libkdecorations2-dev:arm64
libkf5archive-dev:arm64
libkf5auth-dev:arm64
libkf5bookmarks-dev:arm64
libkf5codecs-dev:arm64
libkf5completion-dev:arm64
libkf5config-dev:arm64
libkf5configwidgets-dev:arm64
libkf5contacts-dev:arm64
libkf5coreaddons-dev:arm64
libkf5declarative-dev:arm64
libkf5i18n-dev:arm64
libkf5itemviews-dev:arm64
libkf5kexiv2-dev:arm64
libkf5kio-dev:arm64
libkf5notifications-dev:arm64
libkf5people-dev:arm64
libkf5plasma-dev:arm64
libkf5service-dev:arm64
libkf5syntaxhighlighting-dev:arm64
libkf5widgetsaddons-dev:arm64
libmpv-dev:arm64
libpoppler-dev:arm64
libpoppler-qt5-dev:arm64
libqt5multimedia5-plugins:arm64
libqt5sql5-sqlite:arm64
libqt5svg5-dev:arm64
libqt5virtualkeyboard5-dev:arm64
libqt5webchannel5-dev:arm64
libqt5webkit5-dev:arm64
libqt5websockets5-dev:arm64
libqt5webview5-dev:arm64
libqt5x11extras5-dev:arm64
librsvg2-dev:arm64
libtag1-dev:arm64
libtool:arm64
patchelf:arm64
python3:arm64
python3-pip:arm64
python3-setuptools:arm64
qml-module-qtgraphicaleffects:arm64
qtbase5-dev:arm64
qtdeclarative5-dev:arm64
qtmultimedia5-dev:arm64
qtquickcontrols2-5-dev:arm64
qtwebengine5-dev:arm64
shared-mime-info:arm64
wget:arm64
x11proto-dev:arm64
xcb-proto:arm64
xxd:arm64
zlib1g-dev:arm64
zsync:arm64
automake
build-essential
checkinstall
cmake
curl
desktop-file-utils
devscripts
equivs
exiv2
extra-cmake-modules
fakeroot
file
gettext
git
gnupg2
kirigami2-dev
kquickimageeditor-dev
libc-dev
libcairo-dev
libexiv2-dev
libexpat1-dev
libfam0
libfuse-dev
libgdk-pixbuf2.0-dev
libglib2.0-bin
libglib2.0-dev
libicu-dev
libkdecorations2-dev
libkf5archive-dev
libkf5auth-dev
libkf5bookmarks-dev
libkf5codecs-dev
libkf5completion-dev
libkf5config-dev
libkf5configwidgets-dev
libkf5contacts-dev
libkf5coreaddons-dev
libkf5declarative-dev
libkf5i18n-dev
libkf5itemviews-dev
libkf5kexiv2-dev
libkf5kio-dev
libkf5notifications-dev
libkf5people-dev
libkf5plasma-dev
libkf5service-dev
libkf5syntaxhighlighting-dev
libkf5widgetsaddons-dev
libmpv-dev
libpoppler-dev
libpoppler-qt5-dev
libqt5multimedia5-plugins
libqt5sql5-sqlite
libqt5svg5-dev
libqt5virtualkeyboard5-dev
libqt5webchannel5-dev
libqt5webkit5-dev
libqt5websockets5-dev
libqt5webview5-dev
libqt5x11extras5-dev
librsvg2-dev
libtag1-dev
libtool
patchelf
python3
python3-pip
python3-setuptools
qml-module-qtgraphicaleffects
qtbase5-dev
qtdeclarative5-dev
qtmultimedia5-dev
qtquickcontrols2-5-dev
qtwebengine5-dev
shared-mime-info
wget
x11proto-dev
xcb-proto
xxd
zlib1g-dev
zsync
......@@ -2,105 +2,26 @@ FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
# Install basic tools
RUN apt-get update && \
apt-get -o Dpkg::Options::="--force-overwrite" install -y automake curl python3 python3-setuptools python3-pip wget \
patchelf fakeroot gnupg2 libglib2.0-bin file \
desktop-file-utils libgdk-pixbuf2.0-dev xxd zsync && \
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-overwrite" install -y curl gnupg2 && \
apt-get autoclean && \
rm -rf /var/lib/apt/
# add foreign architecture for cross-compiling
RUN dpkg --add-architecture arm64
ADD appimagetool.AppDir /opt/appimagetool.AppDir/
RUN ln -s /opt/appimagetool.AppDir/AppRun /usr/bin/appimagetool
RUN pip3 install appimage-builder==0.7.0
# setup kde neon repositories
COPY customsources.list /etc/apt/sources.list.d/
RUN curl https://origin.archive.neon.kde.org/public.key -sS | apt-key add -
RUN echo "deb [arch=amd64] http://origin.archive.neon.kde.org/user focal main" > /etc/apt/sources.list.d/neon.list && \
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main restricted multiverse universe" > /etc/apt/sources.list && \
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal-updates main restricted multiverse universe" >> /etc/apt/sources.list && \
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal-security main restricted multiverse universe" >> /etc/apt/sources.list
RUN apt-get update && apt-get -o Dpkg::Options::="--force-overwrite" dist-upgrade -y && apt-get autoclean && rm -rf /var/lib/apt/
# install toolchain
ADD BUILD_PACKAGES /BUILD_PACKAGES
RUN apt-get update && \
apt-get -o Dpkg::Options::="--force-overwrite" dist-upgrade -y && \
apt-get -y -f --no-install-recommends -o Dpkg::Options::="--force-overwrite" install crossbuild-essential-arm64 cmake git gettext checkinstall \
pkg-config-aarch64-linux-gnu qemu-user-static qt5-qmake qtbase5-dev-tools && \
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-overwrite" install -y $(cat /BUILD_PACKAGES) && \
apt-get autoclean && \
rm -rf /var/lib/apt/
ARG BUILD_ROOT=/tmp/buildroot
WORKDIR $BUILD_ROOT
ADD BUILD_PACKAGES /BUILD_PACKAGES
ADD apt.conf etc/apt/
ADD sources.list etc/apt/
RUN mkdir -p \
etc/apt/trusted.gpg.d etc/apt/trusted.gpg.d \
var/lib/apt/lists/partial var/lib/dpkg \
var/cache/apt/archives/partial var/log/apt; \
\
touch var/lib/dpkg/status etc/apt/trusted.gpg.d/neon.gpg; \
cp -r /etc/apt/trusted.gpg.d etc/apt; \
\
# add kde neon repo key
curl https://origin.archive.neon.kde.org/public.key -sS | apt-key --keyring $BUILD_ROOT/etc/apt/trusted.gpg.d/neon.gpg add -; \
apt-get -c etc/apt/apt.conf update; \
\
# install mauikit dependencies
apt-get -c etc/apt/apt.conf -y --no-install-recommends --allow-remove-essential --download-only install $(cat /BUILD_PACKAGES); \
\
# extract downloaded files
for DEB_FILE in var/cache/apt/archives/*.deb; do \
echo "Extracting: $DEB_FILE"; \
dpkg-deb -x $DEB_FILE $BUILD_ROOT; \
done ;\
\
# Copy libs and headers to the file system root
cp -rn lib/* /lib ;\
cp -rn usr/lib/* /usr/lib ;\
cp -rn usr/include/* /usr/include/ ;\
cp -rn usr/share/pkgconfig/* /usr/share/pkgconfig/ ;\
cp -rn usr/share/ECM /usr/share ;\
cp -rn usr/bin/* /usr/bin ;\
\
# cleanup
rm -rf $BUILD_ROOT
ADD appimagetool.AppDir /opt/appimagetool.AppDir/
RUN ln -s /opt/appimagetool.AppDir/AppRun /usr/bin/appimagetool
# Generated from `dpkg-architecture -a arm64`
ENV DEB_BUILD_ARCH=amd64 \
DEB_BUILD_ARCH_BITS=64 \
DEB_BUILD_ARCH_CPU=amd64 \
DEB_BUILD_ARCH_ENDIAN=little \
DEB_BUILD_ARCH_OS=linux \
DEB_BUILD_GNU_CPU=x86_64 \
DEB_BUILD_GNU_SYSTEM=linux-gnu \
DEB_BUILD_GNU_TYPE=x86_64-linux-gnu \
DEB_BUILD_MULTIARCH=x86_64-linux-gnu \
DEB_HOST_ARCH=arm64 \
DEB_HOST_ARCH_BITS=64 \
DEB_HOST_ARCH_CPU=arm64 \
DEB_HOST_ARCH_ENDIAN=little \
DEB_HOST_ARCH_OS=linux \
DEB_HOST_GNU_CPU=aarch64 \
DEB_HOST_GNU_SYSTEM=linux-gnu \
DEB_HOST_GNU_TYPE=aarch64-linux-gnu \
DEB_HOST_MULTIARCH=aarch64-linux-gnu \
DEB_TARGET_ARCH=arm64 \
DEB_TARGET_ARCH_BITS=64 \
DEB_TARGET_ARCH_CPU=arm64 \
DEB_TARGET_ARCH_ENDIAN=little \
DEB_TARGET_ARCH_OS=linux \
DEB_TARGET_GNU_CPU=aarch64 \
DEB_TARGET_GNU_SYSTEM=linux-gnu \
DEB_TARGET_GNU_TYPE=aarch64-linux-gnu \
DEB_TARGET_MULTIARCH=aarch64-linux-gnu \
PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig \
CC=aarch64-linux-gnu-gcc \
CXX=aarch64-linux-gnu-g++
RUN pip3 install appimage-builder==0.7.0
ADD arm64-toolchain.cmake /
WORKDIR /
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get -o Dpkg::Options::="--force-overwrite" install -y automake curl python3 python3-setuptools python3-pip wget \
patchelf fakeroot gnupg2 libglib2.0-bin file \
desktop-file-utils libgdk-pixbuf2.0-dev xxd zsync && \
apt-get autoclean && \
rm -rf /var/lib/apt/
# add foreign architecture for cross-compiling
RUN dpkg --add-architecture arm64
ADD appimagetool.AppDir /opt/appimagetool.AppDir/
RUN ln -s /opt/appimagetool.AppDir/AppRun /usr/bin/appimagetool
RUN pip3 install appimage-builder==0.7.0
# setup kde neon repositories
RUN curl https://origin.archive.neon.kde.org/public.key -sS | apt-key add -
RUN echo "deb [arch=amd64] http://origin.archive.neon.kde.org/user focal main" > /etc/apt/sources.list.d/neon.list && \
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal main restricted multiverse universe" > /etc/apt/sources.list && \
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal-updates main restricted multiverse universe" >> /etc/apt/sources.list && \
echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu focal-security main restricted multiverse universe" >> /etc/apt/sources.list
# install toolchain
RUN apt-get update && \
apt-get -o Dpkg::Options::="--force-overwrite" dist-upgrade -y && \
apt-get -y -f --no-install-recommends -o Dpkg::Options::="--force-overwrite" install crossbuild-essential-arm64 cmake git gettext checkinstall \
pkg-config-aarch64-linux-gnu qemu-user-static qt5-qmake qtbase5-dev-tools && \
apt-get autoclean && \
rm -rf /var/lib/apt/
ARG BUILD_ROOT=/tmp/buildroot
WORKDIR $BUILD_ROOT
ADD BUILD_PACKAGES /BUILD_PACKAGES
ADD apt.conf etc/apt/
ADD sources.list etc/apt/
RUN mkdir -p \
etc/apt/trusted.gpg.d etc/apt/trusted.gpg.d \
var/lib/apt/lists/partial var/lib/dpkg \
var/cache/apt/archives/partial var/log/apt; \
\
touch var/lib/dpkg/status etc/apt/trusted.gpg.d/neon.gpg; \
cp -r /etc/apt/trusted.gpg.d etc/apt; \
\
# add kde neon repo key
curl https://origin.archive.neon.kde.org/public.key -sS | apt-key --keyring $BUILD_ROOT/etc/apt/trusted.gpg.d/neon.gpg add -; \
apt-get -c etc/apt/apt.conf update; \
\
# install mauikit dependencies
apt-get -c etc/apt/apt.conf -y --no-install-recommends --allow-remove-essential --download-only install $(cat /BUILD_PACKAGES); \
\
# extract downloaded files
for DEB_FILE in var/cache/apt/archives/*.deb; do \
echo "Extracting: $DEB_FILE"; \
dpkg-deb -x $DEB_FILE $BUILD_ROOT; \
done ;\
\
# Copy libs and headers to the file system root
cp -rn lib/* /lib ;\
cp -rn usr/lib/* /usr/lib ;\
cp -rn usr/include/* /usr/include/ ;\
cp -rn usr/share/pkgconfig/* /usr/share/pkgconfig/ ;\
cp -rn usr/share/ECM /usr/share ;\
cp -rn usr/bin/* /usr/bin ;\
\
# cleanup
rm -rf $BUILD_ROOT
# Generated from `dpkg-architecture -a arm64`
ENV DEB_BUILD_ARCH=amd64 \
DEB_BUILD_ARCH_BITS=64 \
DEB_BUILD_ARCH_CPU=amd64 \
DEB_BUILD_ARCH_ENDIAN=little \
DEB_BUILD_ARCH_OS=linux \
DEB_BUILD_GNU_CPU=x86_64 \
DEB_BUILD_GNU_SYSTEM=linux-gnu \
DEB_BUILD_GNU_TYPE=x86_64-linux-gnu \
DEB_BUILD_MULTIARCH=x86_64-linux-gnu \
DEB_HOST_ARCH=arm64 \
DEB_HOST_ARCH_BITS=64 \
DEB_HOST_ARCH_CPU=arm64 \
DEB_HOST_ARCH_ENDIAN=little \
DEB_HOST_ARCH_OS=linux \
DEB_HOST_GNU_CPU=aarch64 \
DEB_HOST_GNU_SYSTEM=linux-gnu \
DEB_HOST_GNU_TYPE=aarch64-linux-gnu \
DEB_HOST_MULTIARCH=aarch64-linux-gnu \
DEB_TARGET_ARCH=arm64 \
DEB_TARGET_ARCH_BITS=64 \
DEB_TARGET_ARCH_CPU=arm64 \
DEB_TARGET_ARCH_ENDIAN=little \
DEB_TARGET_ARCH_OS=linux \
DEB_TARGET_GNU_CPU=aarch64 \
DEB_TARGET_GNU_SYSTEM=linux-gnu \
DEB_TARGET_GNU_TYPE=aarch64-linux-gnu \
DEB_TARGET_MULTIARCH=aarch64-linux-gnu \
PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig \
CC=aarch64-linux-gnu-gcc \
CXX=aarch64-linux-gnu-g++
ADD arm64-toolchain.cmake /
#!/bin/sh
SELF=$(readlink -f "$0")
HERE=${SELF%/*}
export PATH="${HERE}/usr/bin/:${HERE}/usr/sbin/:${HERE}/usr/games/:${HERE}/bin/:${HERE}/sbin/${PATH:+:$PATH}"
export LD_LIBRARY_PATH="${HERE}/usr/lib/:${HERE}/usr/lib/i386-linux-gnu/:${HERE}/usr/lib/x86_64-linux-gnu/:${HERE}/usr/lib32/:${HERE}/usr/lib64/:${HERE}/lib/:${HERE}/lib/i386-linux-gnu/:${HERE}/lib/x86_64-linux-gnu/:${HERE}/lib32/:${HERE}/lib64/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export PYTHONPATH="${HERE}/usr/share/pyshared/${PYTHONPATH:+:$PYTHONPATH}"
export XDG_DATA_DIRS="${HERE}/usr/share/${XDG_DATA_DIRS:+:$XDG_DATA_DIRS}"
export PERLLIB="${HERE}/usr/share/perl5/:${HERE}/usr/lib/perl5/${PERLLIB:+:$PERLLIB}"
export GSETTINGS_SCHEMA_DIR="${HERE}/usr/share/glib-2.0/schemas/${GSETTINGS_SCHEMA_DIR:+:$GSETTINGS_SCHEMA_DIR}"
export QT_PLUGIN_PATH="${HERE}/usr/lib/qt4/plugins/:${HERE}/usr/lib/i386-linux-gnu/qt4/plugins/:${HERE}/usr/lib/x86_64-linux-gnu/qt4/plugins/:${HERE}/usr/lib32/qt4/plugins/:${HERE}/usr/lib64/qt4/plugins/:${HERE}/usr/lib/qt5/plugins/:${HERE}/usr/lib/i386-linux-gnu/qt5/plugins/:${HERE}/usr/lib/x86_64-linux-gnu/qt5/plugins/:${HERE}/usr/lib32/qt5/plugins/:${HERE}/usr/lib64/qt5/plugins/${QT_PLUGIN_PATH:+:$QT_PLUGIN_PATH}"
EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2 | cut -d " " -f 1)
exec "${EXEC}" "$@"
[Desktop Entry]
Type=Application
Name=appimagetool
Exec=appimagetool
Comment=Tool to generate AppImages from AppDirs
Icon=appimagetool
Categories=Development;
Terminal=true
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment