Browse Source

add build deps for static build

build
Claudio Luck 7 months ago
parent
commit
14887e6ad8
5 changed files with 145 additions and 5 deletions
  1. +2
    -0
      .drone.yml
  2. +0
    -1
      .gitignore
  3. +4
    -2
      .gitmodules
  4. +1
    -1
      contrib/pstreams
  5. +138
    -1
      parts/build/Dockerfile

+ 2
- 0
.drone.yml View File

@ -15,6 +15,8 @@ steps:
# username: test
# password: n0t-This-1
repo: hub.pep.oneon.ch/pe_p/linux-tb-install-alpine-build
build_args:
- DRONE_BRANCH=${DRONE_BRANCH:-master}
tags:
- "${DRONE_BRANCH:-master}"
# - "${DRONE_BRANCH}-${DRONE_COMMIT}"


+ 0
- 1
.gitignore View File

@ -1,2 +1 @@
contrib
plat

+ 4
- 2
.gitmodules View File

@ -1,6 +1,7 @@
[submodule "contrib/pstreams"]
path = contrib/pstreams
url = https://gitea.pep.foundation/claudio/pstreams.git
url = https://gitea.pep.foundation/claudio/pstreams-mods.git
branch = master
[submodule "contrib/buffer"]
path = contrib/buffer
url = https://github.com/miguelibero/buffer.git
@ -13,4 +14,5 @@
branch = tb-profile-lock
[submodule "contrib/pEp/pEpForThunderbird"]
path = contrib/pEp/pEpForThunderbird
url = https://gitea.pep.foundation/claudio/pEpForThunderbird.git
url = https://pep-security.lu/gitlab/thunderbird/pEpForThunderbird.git
branch = master

+ 1
- 1
contrib/pstreams

@ -1 +1 @@
Subproject commit a2cf4bb9aa7a19d2ede5a2e9d255d4e793bbf8fe
Subproject commit 012f33d55222552bf84087a4e1e3ced6ecae203d

+ 138
- 1
parts/build/Dockerfile View File

@ -1,9 +1,146 @@
FROM alpine
RUN apk add wxgtk wxgtk-dev build-base python2 python2-dev sqlite curl git zip
ARG DRONE_BRANCH=master
ARG libiconvver=1.16
ARG cairover=1.16.0
ARG pangover=1.48.1
ARG wxWidgetsTag=v3.1.4
ARG p4liTag=${DRONE_BRANCH}
RUN apk add git wget
RUN mkdir -p /root/src /install
WORKDIR /root/src
RUN git clone --branch="${wxWidgetsTag}" --depth=1 https://github.com/wxWidgets/wxWidgets.git
RUN cd wxWidgets && git submodule update --init 3rdparty/catch
RUN git clone --branch="${p4liTag}" --depth=1 https://gitea.pep.foundation/claudio/pEpLinuxSetupForThunderbird.git
RUN cd pEpLinuxSetupForThunderbird && git submodule update --init
RUN wget https://ftp.gnu.org/gnu/libiconv/libiconv-${libiconvver}.tar.gz
RUN wget https://cairographics.org/releases/cairo-${cairover}.tar.xz
RUN wget https://download.gnome.org/sources/pango/${pangover%.*}/pango-${pangover}.tar.xz
RUN tar -xf libiconv-${libiconvver}.tar.gz
RUN tar -xf cairo-${cairover}.tar.xz
RUN tar -xf pango-${pangover}.tar.xz
RUN apk add wxgtk wxgtk-dev build-base meson python2 python2-dev sqlite curl zip
RUN apk add libpng-dev libpng-static libjpeg-turbo-dev libjpeg-turbo-static tiff tiff-dev expat-dev expat-static libx11-dev libx11-static libxau-dev libxcb libxcb-dev libxcb-static doxygen graphviz pango-dev xz zlib-static freetype-static fontconfig-static harfbuzz-static gettext-static glib-static graphite2-static fribidi-static bzip2-static brotli-static pixman-static
ADD contrib/get-pip.py get-pip.py
RUN python2 get-pip.py
RUN python2 -m pip install nuitka
# RUN apk add alpine-sdk
# RUN adduser -D build
# RUN addgroup build abuild
# RUN mkdir -p /var/cache/distfiles
# RUN chmod a+w /var/cache/distfiles
# RUN chmod g+w /var/cache/distfiles
#
# RUN apk add sudo
# RUN echo "build ALL=(ALL) NOPASSWD: ALL" >/etc/sudoers.d/build
# # RUN echo "build ALL=(root) NOPASSWD: /usr/bin/abuild-keygen" >/etc/sudoers.d/build
#
# RUN sed -i.bak -e 's/export JOBS=2/export JOBS=${JOBS-10}/' /etc/abuild.conf
# RUN sed -i.bak -e 's/USE_COLORS=1/#USE_COLORS=1/g' /etc/abuild.conf
#
# USER build
#
# RUN abuild-keygen -a -i -n
#
# RUN git config --global user.name "Build Bot"
# RUN git config --global user.email "build@pep.oneon.ch"
#
# RUN mkdir -p /home/build/src
# RUN [ -d /home/build/src/aports] || git clone https://gitlab.alpinelinux.org/alpine/aports /home/build/src/aports
#
# RUN cd /home/build/src/aports/community/gnu-libiconv
# RUN sed -i.bak -e 's/disable-static/enable-static/' APKBUILD
# RUN abuild
WORKDIR /root/src/libiconv-${libiconvver}
RUN ./configure --prefix=/install --enable-extra-encodings --enable-static
RUN make -j10
RUN make install
WORKDIR /root/src/cairo-${cairover}
RUN ./configure --enable-static --disable-xlib-xrender --disable-xcb-shm --prefix=/install/
# cairo (version 1.16.0 [release]) will be compiled with:
#
# The following surface backends:
# Image: yes (always builtin)
# Recording: yes (always builtin)
# Observer: yes (always builtin)
# Mime: yes (always builtin)
# Tee: no (disabled, use --enable-tee to enable)
# XML: no (disabled, use --enable-xml to enable)
# Xlib: yes
# Xlib Xrender: no (disabled, use --enable-xlib-xrender to enable)
# Qt: no (disabled, use --enable-qt to enable)
# Quartz: no (requires CoreGraphics framework)
# Quartz-image: no (disabled, use --enable-quartz-image to enable)
# XCB: yes
# Win32: no (requires a Win32 platform)
# OS2: no (disabled, use --enable-os2 to enable)
# CairoScript: yes
# PostScript: yes
# PDF: yes
# SVG: yes
# OpenGL: no (disabled, use --enable-gl to enable)
# OpenGL ES 2.0: no (disabled, use --enable-glesv2 to enable)
# OpenGL ES 3.0: no (disabled, use --enable-glesv3 to enable)
# BeOS: no (disabled, use --enable-beos to enable)
# DirectFB: no (disabled, use --enable-directfb to enable)
# OpenVG: no (disabled, use --enable-vg to enable)
# DRM: no (disabled, use --enable-drm to enable)
# Cogl: no (disabled, use --enable-cogl to enable)
#
# The following font backends:
# User: yes (always builtin)
# FreeType: yes
# Fontconfig: yes
# Win32: no (requires a Win32 platform)
# Quartz: no (requires CoreGraphics framework)
#
# The following functions:
# PNG functions: yes
# GLX functions: no (not required by any backend)
# WGL functions: no (not required by any backend)
# EGL functions: no (not required by any backend)
# X11-xcb functions: no (disabled, use --enable-xlib-xcb to enable)
# XCB-shm functions: no (disabled, use --enable-xcb-shm to enable)
#
# The following features and utilities:
# cairo-trace: yes
# cairo-script-interpreter: yes
#
# And the following internal features:
# pthread: yes
# gtk-doc: no
# gcov support: no
# symbol-lookup: no (requires bfd)
# test surfaces: no (disabled, use --enable-test-surfaces to enable)
# ps testing: no (requires libspectre)
# pdf testing: no (requires poppler-glib >= 0.17.4)
# svg testing: no (requires librsvg-2.0 >= 2.35.0)
#
RUN make -j15
RUN make install
WORKDIR /root/src/pango-${pangover}
# Note: missing libthai
RUN meson --prefix=/install/ -Db_staticpic=true -Db_pie=true --wrap-mode=nodownload --auto-features=auto --buildtype=plain -Dintrospection=disabled -Dgtk_doc=false -Ddefault_library=both build
RUN meson compile -j15 -C build
RUN meson install --no-rebuild -C build
WORKDIR /root/src/wxWidgets
RUN ./configure --with-x11 --disable-shared --prefix=/install/ --enable-monolithic --disable-xlocale
RUN make -j15
RUN make install
# WORKDIR /root/src/pEpLinuxSetupForThunderbird/src
# RUN make STATIC=yes wx_config=/install/bin/wx-config

Loading…
Cancel
Save