Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ab0027
mauikit-docker-images
Commits
01477056
Verified
Commit
01477056
authored
Feb 12, 2020
by
azubieta
Browse files
Add ubuntu 18.04 arm64 recipe
parent
b4702600
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
LICENCE
0 → 100644
View file @
01477056
This diff is collapsed.
Click to expand it.
README.md
View file @
01477056
# mauikit-docker-images
Docker Images for building mauikit based applications
\ No newline at end of file
Docker Images for building mauikit based applications
# What is MauiKit ?
MauiKit is a set of utilities and "templated" controls based on Kirigami and QCC2 that follow the ongoing work on the Maui HIG.
It let you quickly create a Maui application and access utilities and widgets shared amoing the other Maui apps.
# MauiKit sources
[
https://invent.kde.org/kde/mauikit
](
)
\ No newline at end of file
ubuntu/18.04-amd64/Dockerfile
0 → 100644
View file @
01477056
FROM
appimagecrafters/appimage-builder:ubuntu-18.04-arm64
RUN
apt-get update
RUN
apt-get
install
curl
-y
# setup kde neon repositories
RUN
echo
"deb http://archive.neon.kde.org/user bionic main"
>
/etc/apt/sources.list.d/neon.list
RUN
curl https://origin.archive.neon.kde.org/public.key
-sS
| apt-key add -
RUN
apt-get update
# install toolchain
RUN
apt-get
install
-y
g++ cmake git gettext checkinstall
# install mauikit dependencies
RUN
apt-get
install
-y
libkf5configwidgets-dev libkf5kio-dev libkf5service-dev libkf5config-dev
\
libkf5notifications-dev libkf5i18n-dev extra-cmake-modules libqt5svg5-dev qtquickcontrols2-5-dev
\
qtdeclarative5-dev qtwebengine5-dev libkf5syntaxhighlighting-dev
# Build mauikit
RUN
git clone https://invent.kde.org/kde/mauikit.git /tmp/mauikit
--depth
=
1
--branch
master
WORKDIR
/tmp/mauikit
RUN
cmake
.
-DCMAKE_INSTALL_PREFIX
=
/usr
-DCMAKE_BUILD_TYPE
=
Release
RUN
make
-j
$(
nproc
)
# Install mauikit
RUN
checkinstall
--pkgname
mauikit
--pkgversion
0.1.0
-y
--backup
=
no
WORKDIR
/
RUN
rm
-rf
/tmp/mauikit
RUN
apt-get autoclean
\ No newline at end of file
ubuntu/18.04-arm64/Dockerfile
0 → 100644
View file @
01477056
FROM
appimagecrafters/appimage-builder:ubuntu-18.04-arm64
RUN
apt-get update
RUN
apt-get
install
curl
-y
# add foreign architecture for cross-compiling
RUN
dpkg
--add-architecture
arm64
# setup kde neon repositories
RUN
echo
"deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic main multiverse universe"
>
/etc/apt/sources.list
&&
\
echo
"deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-updates main multiverse universe"
>>
/etc/apt/sources.list
&&
\
echo
"deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-security main multiverse universe"
>>
/etc/apt/sources.list
RUN
apt-get update
RUN
apt-get dist-upgrade
-y
# install toolchain
RUN
apt-get
-y
-f
--no-install-recommends
install
crossbuild-essential-arm64 cmake git gettext checkinstall
\
pkg-config-aarch64-linux-gnu qemu-user-static qt5-qmake qtbase5-dev-tools
ARG
BUILD_ROOT=/tmp/buildroot
WORKDIR
$BUILD_ROOT
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 \
libc-dev:arm64 libicu-dev:arm64 \
libkf5configwidgets-dev:arm64 libkf5kio-dev:arm64 \
libkf5service-dev:arm64 libkf5config-dev:arm64 libkf5notifications-dev:arm64 libkf5i18n-dev:arm64 \
extra-cmake-modules:arm64 libqt5svg5-dev:arm64 qtquickcontrols2-5-dev:arm64 qtdeclarative5-dev:arm64 \
qtwebengine5-dev:arm64 libkf5syntaxhighlighting-dev:arm64; \
# 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/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=$BUILD_ROOT/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 /
# Build mauikit
RUN
git clone https://invent.kde.org/kde/mauikit.git /tmp/mauikit
--depth
=
1
--branch
master
WORKDIR
/tmp/mauikit
RUN
cmake
.
-DCMAKE_INSTALL_PREFIX
=
/usr
-DCMAKE_BUILD_TYPE
=
Release
-DCMAKE_TOOLCHAIN_FILE
=
'/arm64-toolchain.cmake'
;
\
make
-j
$(
nproc
)
;
\
# Install mauikit
checkinstall --pkgname=mauikit --pkgversion=0.1.0 --pkgarch=arm64 -y --backup=no ;\
rm -rf /tmp/mauikit
RUN
apt-get autoremove checkinstall
;
\
apt-get autoclean
\ No newline at end of file
ubuntu/18.04-arm64/apt.conf
0 → 100644
View file @
01477056
apt
::
Architecture
"arm64"
;
APT
::
Get
::
Host
-
Architecture
"arm64"
;
Dir
"/tmp/buildroot"
;
apt
::
Install
-
Recommends
"false"
;
APT
::
Default
-
Release
"*"
;
ubuntu/18.04-arm64/arm64-toolchain.cmake
0 → 100644
View file @
01477056
# this one is important
SET
(
CMAKE_SYSTEM_NAME Linux
)
#this one not so much
SET
(
CMAKE_SYSTEM_VERSION 1
)
# specify the cross compiler
SET
(
CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc
)
SET
(
CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++
)
# where is the target environment
SET
(
CMAKE_FIND_ROOT_PATH /usr/lib/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu/cmake/
)
# search for programs in the build host directories
SET
(
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER
)
# for libraries and headers in the target directories
SET
(
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY
)
SET
(
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY
)
ubuntu/18.04-arm64/sources.list
0 → 100644
View file @
01477056
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-updates main multiverse universe
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports bionic-security main multiverse universe
deb [arch=arm64] http://archive.neon.kde.org/user bionic main
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment