Commit aae964bc authored by Chris Cantwell's avatar Chris Cantwell
Browse files

Merge branch 'feature/pkg' into 'release/5.0'

Feature/pkg

See merge request !1206
parents 78381b09 32deca3d
Pipeline #2558 failed with stages
in 702 minutes and 24 seconds
# Files to ignore for export
.gitlab-ci.yml export-ignore
.gitlab-ci/ export-ignore
.gitignore export-ignore
.gitattributes export-ignore
.gitmodules export-ignore
.dockerignore export-ignore
/docs/tutorial export-ignore
/library/Demos/MultiRegions/ExtraDemos/ export-ignore
/solvers/ImageWarpingSolver/ export-ignore
......
......@@ -7,8 +7,12 @@ stages:
- package-build
- package-build-dev
- package-test
- package-deploy-dev
- package-deploy
include:
- local: .gitlab-ci/packaging.yml
.execution-conditions: &execution-conditions
only:
refs:
......@@ -232,7 +236,7 @@ user-guide-build:
paths:
- build/docs/user-guide/user-guide.pdf
- build/docs/user-guide/html
- build/docs/developer-guide/developers-guide.pdf
- build/docs/developer-guide/developer-guide.pdf
- build/docs/developer-guide/html
doxygen-build:
......@@ -580,3 +584,4 @@ dockerhub-deploy-nektar-workbook:
<<: *dockerhub_deploy_template
variables:
image_name: nektar-workbook
build*
docs/tutorial
docker
pkg
ThirdParty
nektar++*.tar.gz
This diff is collapsed.
......@@ -89,6 +89,7 @@ v5.0.1
- Added checked conversion from double to int in SessionReader (!1113)
- Switched to Gitlab CI (!1120, !1120, !1128, !1129, !1131, !1141)
- Updated bullseye build to remove UCX components (!1203)
- Added automated packaging for Linxu distributions (!1206)
v5.0.0
------
......
......@@ -319,12 +319,14 @@ IF (NEKTAR_BUILD_TESTS)
ENDIF (NEKTAR_BUILD_TESTS)
# Compile list of definitions for Nektar++Config.cmake input file. We exclude
# vtk definitions which should not be required for external builds.
# vtk definitions which should not be required for external builds. We also need
# to eliminate generator expressions from OCE which were not evaluated during
# OCE build (bug).
SET(NEKTAR_DEFINITIONS "")
GET_DIRECTORY_PROPERTY(
NEKTAR_DEFINITIONS_LIST DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
FOREACH(def ${NEKTAR_DEFINITIONS_LIST})
IF (NOT def MATCHES "^vtk")
IF (NOT def MATCHES "^vtk" AND NOT def MATCHES "CONFIG:RelWithDebInfo")
SET(NEKTAR_DEFINITIONS "${NEKTAR_DEFINITIONS} -D${def}")
ENDIF()
ENDFOREACH()
......
......@@ -57,14 +57,14 @@ IF(NEKTAR_USE_MESHGEN)
ENDIF()
EXTERNALPROJECT_ADD(
oce-0.17
oce-0.18.3
PREFIX ${TPSRC}
URL ${TPURL}/OCE-0.17.2.tar.gz
URL_MD5 bf2226be4cd192606af677cf178088e5
URL ${TPURL}/OCE-0.18.3.tar.gz
URL_MD5 1686393c8493bbbb2f3f242330b33cba
STAMP_DIR ${TPBUILD}/stamp
BINARY_DIR ${TPBUILD}/oce-0.17
BINARY_DIR ${TPBUILD}/oce-0.18.3
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/oce-0.17
SOURCE_DIR ${TPSRC}/oce-0.18.3
INSTALL_DIR ${TPBUILD}/oce-0.17/dist
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
......@@ -73,7 +73,7 @@ IF(NEKTAR_USE_MESHGEN)
-DOCE_INSTALL_PREFIX:PATH=${TPDIST}
-DOCE_TESTING=OFF
-DOCE_VISUALISATION=OFF
${TPSRC}/oce-0.17
${TPSRC}/oce-0.18.3
)
# Patch OS X libraries to fix install name problems.
......
FROM centos:7
# Set up to use EPEL release files.
RUN yum install -y epel-release
# Grab docker
COPY docker/packaging/texlive.profile pkg/redhat/nektar-centos-7.spec /root/
WORKDIR /root
# Install build dependencies from specfile.
RUN yum install -y yum-builddep ghostscript rpm-build wget perl-Digest-MD5 git && \
yum-builddep -y nektar-centos-7.spec && \
rm -f nektar-centos-7.spec
# Install a reduced version of TeXLive for user/developer guide.
RUN wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip && \
unzip install-tl.zip && cd install-tl-* && \
./install-tl -profile ../texlive.profile && \
PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH \
tlmgr install lm babel microtype amsmath amsfonts mathtools psnfss graphics \
import tools xcolor listings lstaddons pgf environ bclogo hyperref memoir ec \
xkeyval trimspaces mdframed l3packages etoolbox footmisc caption standalone \
currfile filehook filemod epstopdf zref
FROM centos:8
# Set up to use EPEL release files and PowerTools
RUN yum install -y epel-release dnf-plugins-core && \
yum config-manager --set-enabled powertools
# Grab docker
COPY docker/packaging/texlive.profile pkg/redhat/nektar-centos-8.spec /root/
WORKDIR /root
# Install build dependencies from specfile.
RUN yum install -y ghostscript rpm-build wget perl-Digest-MD5 git && \
dnf builddep -y nektar-centos-8.spec && \
rm -f nektar-centos-8.spec
# Install a reduced version of TeXLive for user/developer guide.
RUN wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip && \
unzip install-tl.zip && cd install-tl-* && \
./install-tl -profile ../texlive.profile && \
PATH=/usr/local/texlive/2019/bin/x86_64-linux:$PATH \
tlmgr install lm babel microtype amsmath amsfonts mathtools psnfss graphics \
import tools xcolor listings lstaddons pgf environ bclogo hyperref memoir ec \
xkeyval trimspaces mdframed l3packages etoolbox footmisc caption standalone \
currfile filehook filemod epstopdf zref
# vim: syntax=dockerfile
FROM debian:bullseye-slim
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN DEBIAN_RELEASE=bullseye && \
echo "deb http://deb.debian.org/debian ${DEBIAN_RELEASE} non-free" > \
/etc/apt/sources.list.d/debian-non-free.list && \
apt-get update && \
apt-get install -y \
packaging-dev cmake git git-buildpackage vim \
libboost-thread-dev libboost-iostreams-dev libboost-filesystem-dev \
libboost-system-dev libboost-program-options-dev \
libboost-python-dev libboost-numpy-dev libboost-regex-dev \
libboost-timer-dev \
libarpack2-dev \
libfftw3-dev \
libhdf5-mpi-dev \
liblapack-dev \
libtinyxml-dev \
mpi-default-dev \
zlib1g-dev \
python3-dev python3-numpy \
libptscotch-dev \
liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev libgl-dev \
libtet1.5-dev libtriangle-dev \
texlive-base texlive-latex-extra texlive-science \
texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick dvipng
RUN rm -f /usr/lib/x86_64-linux-gnu/openmpi/lib/*ucx* && \
rm /usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/*ucx*
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
USER nektar:nektar
WORKDIR /home/nektar
COPY docker/packaging/quiltrc .quiltrc
# vim: syntax=dockerfile
FROM debian:buster-slim
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN DEBIAN_RELEASE=buster && \
echo "deb http://deb.debian.org/debian ${DEBIAN_RELEASE} non-free" > \
/etc/apt/sources.list.d/debian-non-free.list && \
apt-get update && \
apt-get install -y \
packaging-dev cmake git git-buildpackage vim \
libboost-thread-dev libboost-iostreams-dev libboost-filesystem-dev \
libboost-system-dev libboost-program-options-dev \
libboost-python-dev libboost-numpy-dev libboost-regex-dev \
libboost-timer-dev \
libarpack2-dev \
libfftw3-dev \
libhdf5-mpi-dev \
liblapack-dev \
libtinyxml-dev \
mpi-default-dev \
zlib1g-dev \
python3-dev python3-numpy \
libptscotch-dev \
liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev libgl-dev \
libtet1.5-dev libtriangle-dev \
texlive-base texlive-latex-extra texlive-science \
texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick dvipng
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
USER nektar:nektar
WORKDIR /home/nektar
COPY docker/packaging/quiltrc .quiltrc
# vim: syntax=dockerfile
FROM debian:stretch-slim
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN DEBIAN_RELEASE=stretch && \
echo "deb http://deb.debian.org/debian ${DEBIAN_RELEASE} non-free" > \
/etc/apt/sources.list.d/debian-non-free.list && \
apt-get update && \
apt-get install -y \
packaging-dev cmake git git-buildpackage vim \
libboost-thread-dev libboost-iostreams-dev libboost-filesystem-dev \
libboost-system-dev libboost-program-options-dev \
libboost-python-dev libboost-regex-dev libboost-timer-dev \
libarpack2-dev \
libfftw3-dev \
libhdf5-mpi-dev \
liblapack-dev \
libtinyxml-dev \
mpi-default-dev \
zlib1g-dev \
python3-dev python3-numpy \
libptscotch-dev \
liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev libgl-dev \
libtet1.5-dev libtriangle-dev \
texlive-base texlive-latex-extra texlive-science \
texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick dvipng
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
USER nektar:nektar
WORKDIR /home/nektar
COPY docker/packaging/quiltrc .quiltrc
# vim: syntax=dockerfile
FROM debian:sid-slim
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN DEBIAN_RELEASE=sid && \
echo "deb http://deb.debian.org/debian ${DEBIAN_RELEASE} non-free" > \
/etc/apt/sources.list.d/debian-non-free.list && \
apt-get update && \
apt-get install -y \
packaging-dev cmake git git-buildpackage vim \
libboost-thread-dev libboost-iostreams-dev libboost-filesystem-dev \
libboost-system-dev libboost-program-options-dev \
libboost-python-dev libboost-numpy-dev libboost-regex-dev \
libboost-timer-dev \
libarpack2-dev \
libfftw3-dev \
libhdf5-mpi-dev \
liblapack-dev \
libtinyxml-dev \
mpi-default-dev \
zlib1g-dev \
python3-dev python3-numpy \
libptscotch-dev \
liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev libgl-dev \
libtet1.5-dev libtriangle-dev \
texlive-base texlive-latex-extra texlive-science \
texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick dvipng
RUN rm -f /usr/lib/x86_64-linux-gnu/openmpi/lib/*ucx* && \
rm /usr/lib/x86_64-linux-gnu/openmpi/lib/openmpi3/*ucx*
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
USER nektar:nektar
WORKDIR /home/nektar
COPY docker/packaging/quiltrc .quiltrc
FROM fedora:30
# Install some basic build requirements.
RUN dnf install -y rpm-build dnf-plugins-core git
WORKDIR /root
COPY pkg/redhat/nektar-fedora-30.spec .
# Install build requirements from spec file.
RUN dnf builddep -y nektar-fedora-30.spec && rm -f nektar-fedora-30.spec
FROM fedora:31
# Install some basic build requirements.
RUN dnf install -y rpm-build dnf-plugins-core git
WORKDIR /root
COPY pkg/redhat/nektar-fedora-31.spec .
# Install build requirements from spec file.
RUN dnf builddep -y nektar-fedora-31.spec && rm -f nektar-fedora-31.spec
FROM fedora:32
# Install some basic build requirements.
RUN dnf install -y rpm-build dnf-plugins-core git
WORKDIR /root
COPY pkg/redhat/nektar-fedora-32.spec .
# Install build requirements from spec file.
RUN dnf builddep -y nektar-fedora-32.spec && rm -f nektar-fedora-32.spec
FROM fedora:33
# Install some basic build requirements.
RUN dnf install -y rpm-build dnf-plugins-core git
WORKDIR /root
COPY pkg/redhat/nektar-fedora-33.spec .
# Install build requirements from spec file.
RUN dnf builddep -y nektar-fedora-33.spec && rm -f nektar-fedora-33.spec
# vim: syntax=dockerfile
FROM debian:stable-slim
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN apt-get update && \
apt-get install -y git tar gzip bzip2 xz-utils
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
USER nektar:nektar
WORKDIR /home/nektar
# vim: syntax=dockerfile
FROM debian:stable-slim
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN apt-get update && \
apt-get install -y \
build-essential cmake rsync flex \
liblapack-dev \
texlive-base texlive-latex-extra texlive-science \
texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick dvipng
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
# Patch security policy to allow PDF conversion by ImageMagick
RUN sed -i 's/rights="none" pattern="PDF"/rights="read|write" pattern="PDF"/g' /etc/ImageMagick-6/policy.xml
USER nektar:nektar
WORKDIR /home/nektar
# vim: syntax=dockerfile
FROM ubuntu:bionic
LABEL maintainer="Nektar++ Development Team <nektar-users@imperial.ac.uk>"
WORKDIR /root
RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
apt-get install -y \
packaging-dev cmake git git-buildpackage vim \
libboost-thread-dev libboost-iostreams-dev libboost-filesystem-dev \
libboost-system-dev libboost-program-options-dev \
libboost-python-dev libboost-numpy-dev libboost-regex-dev \
libboost-timer-dev \
libarpack2-dev \
libfftw3-dev \
libhdf5-mpi-dev \
liblapack-dev \
libtinyxml-dev \
mpi-default-dev \
zlib1g-dev \
python3-dev python3-numpy \
libptscotch-dev \
liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev libgl-dev \
libtet1.5-dev libtriangle-dev \
texlive-base texlive-latex-extra texlive-science \
texlive-fonts-recommended texlive-pstricks \
doxygen graphviz imagemagick dvipng
RUN groupadd nektar && useradd -m -g nektar nektar
# Force update to always run when building image
ARG INVALIDATE_CACHE
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y
USER nektar:nektar
WORKDIR /home/nektar
COPY docker/packaging/quiltrc .quiltrc
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