1FROM fedora:latest
2# minimal docker file to get sp and sf running on ubunty 16.04 image,
3# using gdal/geos/proj from ppa:ubuntugis/ubuntugis-unstable
4
5MAINTAINER "edzerpebesma" edzer.pebesma@uni-muenster.de
6
7RUN yum install -y gdal-devel geos-devel udunits2-devel
8RUN yum install -y proj-devel proj-epsg proj-nad
9RUN yum install -y pandoc pandoc-citeproc
10RUN yum install -y readline-devel curl-devel wget clang vim git autoconf sqlite-devel
11RUN yum install -y R-devel
12# needed by R packages:
13RUN yum install -y libxml2-devel openssl-devel cairo-devel postgresql-devel unixODBC-devel
14
15# install R-devel from source, with clang:
16RUN wget https://stat.ethz.ch/R/daily/R-devel.tar.gz
17RUN tar zxvf R-devel.tar.gz
18# Get https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-clang into ./config.site:
19RUN echo $'CC=clang \n\
20OBJC=clang \n\
21CXX=clang++ \n\
22FC=gfortran \n\
23F77=gfortran \n\
24CFLAGS="-g -O3 -Wall -pedantic -mtune=native" \n\
25FFLAGS="-g -O2 -mtune=native -Wall -pedantic" \n\
26FCFLAGS="-g -O2 -mtune=native -Wall -pedantic" \n\
27CXXFLAGS="-g -O3 -Wall -pedantic -mtune=native -frtti" \n\
28CPPFLAGS="-I/usr/local/clang/include -I/usr/local/include" \n\
29JAVA_HOME=/usr/lib/jvm/jre-11 \n\
30LDFLAGS="-L/usr/local/clang/lib64 -L/usr/local/lib64"' > R-devel/config.site
31
32RUN (cd R-devel; ./configure --with-x=no; make; make install)
33
34RUN /usr/local/bin/Rscript -e 'install.packages(c("XML", "Rcpp", "units", "DBI", "classInt", "magrittr", "lwgeom", "tibble", "knitr", "sp", "maps", "markdown", "testthat", "maptools", "dplyr", "rgeos", "rgdal", "tidyr", "stars", "rmarkdown", "covr", "ggplot2", "mapview", "microbenchmark", "odbc", "pool", "raster", "rmarkdown", "RPostgres", "RPostgreSQL", "RSQLite", "spatstat", "tmap"), repos = "https://cloud.r-project.org")'
35
36# get CRAN version of sf/lwgeom:
37RUN cd ..
38#RUN wget https://cran.r-project.org/src/contrib/lwgeom_0.2-2.tar.gz
39RUN /usr/local/bin/R -e 'install.packages("remotes", repos = "https://cloud.r-project.org"); remotes::install_github("r-spatial/lwgeom")'
40RUN /usr/local/bin/R -e 'install.packages(c("stars", "tmap"), repos = "https://cloud.r-project.org")'
41RUN wget https://cran.r-project.org/src/contrib/sf_0.9-1.tar.gz
42#RUN /usr/local/bin/R CMD check --as-cran sf_0.8-1.tar.gz
43RUN rm -fr lwgeom
44RUN git clone --depth 1 https://github.com/r-spatial/lwgeom.git
45RUN R CMD build lwgeom
46RUN /usr/local/bin/Rscript -e 'install.packages(c("geosphere"), repos = "https://cloud.r-project.org")'
47RUN R CMD check lwgeom_0.2-3.tar.gz
48RUN wget https://cran.r-project.org/src/contrib/tmap_3.0.tar.gz
49RUN /usr/local/bin/Rscript -e 'install.packages(c("rmapshaper", "cartogram", "osmdata"), repos = "https://cloud.r-project.org")'
50#RUN yum install -y xorg-x11-apps
51RUN yum install -y xorg-x11-server-Xvfb
52RUN yum /usr/bin/Xvfb :99 -screen 0 1280x1024x24 &
53RUN /usr/local/bin/Rscript -e 'install.packages(c("Cairo"), repos = "https://cloud.r-project.org")'
54RUN _R_CHECK_FORCE_SUGGESTS_=false R CMD check tmap_3.0.tar.gz
55
56CMD ["/bin/bash"]
57