GMT6インストール用のDockerfile

GMT6をインストールするためのDockerfileを作成しました。

ナンセンスなコードな気がするので自己責任でお願いします。

Docker Hub
docker pull maclaurin/gmt6

これで行けます。

なお、中身はこんな感じです。

FROM ubuntu:20.04

LABEL version="1.0"
ENV DEBIAN_FRONTEND=noninteractive
COPY ./gmt_install.sh /tmp
ARG GMT_VERSION=6.1.1
ARG GSHHG_VERSION=2.3.7
ARG DCW_VERSION=1.1.4

RUN sed -i.bak -e "s%http://[^ ]\+%http://ftp.jaist.ac.jp/pub/Linux/ubuntu/%g" /etc/apt/sources.list
RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y build-essential \
    cmake \
    libcurl4-gnutls-dev \
    libnetcdf-dev \
    gdal-bin \
    libgdal-dev \
    libfftw3-dev \
    libpcre3-dev \
    liblapack-dev \
    libblas-dev \
    libglib2.0-dev \
    ghostscript \
    ghostscript-x \
    wget \
    graphicsmagick \
    ffmpeg \
    wget
RUN wget "http://www.scc.u-tokai.ac.jp/gmt/gshhg-gmt-${GSHHG_VERSION}.tar.gz" -P /tmp/
RUN wget "http://www.scc.u-tokai.ac.jp/gmt/dcw-gmt-${DCW_VERSION}.tar.gz" -P /tmp/
RUN wget "ftp://ftp.scc.u-tokai.ac.jp/pub/gmt/gmt-${GMT_VERSION}-src.tar.gz" -P /tmp/

RUN bash /tmp/gmt_install.sh

gmt_install.shは下記になっています。

#!/bin/bash
# -------------------------------
GMT_VERSION=6.1.1
GSHHG_VERSION=2.3.7
DCW_VERSION=1.1.4
# --------------------------------------------------
GSHHG_ROOT=/tmp/gshhg-gmt-${GSHHG_VERSION}
DCW_ROOT=/tmp/dcw-gmt-${DCW_VERSION}
tar xvzf /tmp/gshhg-gmt-${GSHHG_VERSION}.tar.gz -C /tmp
tar xvzf /tmp/dcw-gmt-${DCW_VERSION}.tar.gz -C /tmp
tar xvzf /tmp/gmt-${GMT_VERSION}-src.tar.gz -C /tmp
cd /tmp/gmt-${GMT_VERSION}
cat ./cmake/ConfigUserTemplate.cmake | \
sed -e 's%\#set (GSHHG_ROOT "gshhg_path"%'"set (GSHHG_ROOT ${GSHHG_ROOT}"'%g' | \
sed -e 's/\#set (COPY_GSHHG FALSE)/set (COPY_GSHHG TRUE)/g' | \
sed -e 's%\#set (DCW_ROOT "dcw-gmt_path"%'"set (DCW_ROOT ${DCW_ROOT}"'%g' | \
sed -e 's/\#set (COPY_DCW FALSE)/set (COPY_DCW TRUE)/g' \
> ./cmake/ConfigUser.cmake
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
ncpu=$(nproc)
make -j${ncpu}
make -j${ncpu} install

コメント

タイトルとURLをコピーしました