diff '--exclude=.git' -Npaur a/dependencies/common/install-common b/dependencies/common/install-common --- a/dependencies/common/install-common 2020-04-30 11:49:50.395912258 -0400 +++ b/dependencies/common/install-common 2020-05-01 19:36:49.672053789 -0400 @@ -19,7 +19,7 @@ set -e ./install-dictionaries ./install-mathjax -./install-boost +#./install-boost ./install-pandoc ./install-packages ./install-sentry-cli diff '--exclude=.git' -Npaur a/docker/jenkins/Dockerfile.focal-amd64 b/docker/jenkins/Dockerfile.focal-amd64 --- a/docker/jenkins/Dockerfile.focal-amd64 1969-12-31 19:00:00.000000000 -0500 +++ b/docker/jenkins/Dockerfile.focal-amd64 2020-05-01 21:20:07.364280163 -0400 @@ -0,0 +1,114 @@ +FROM ubuntu:focal + +ARG AWS_REGION=us-east-1 + +# install needed packages. replace httpredir apt source with cloudfront +RUN set -x \ + && sed -i "s/archive.ubuntu.com/$AWS_REGION.ec2.archive.ubuntu.com/" /etc/apt/sources.list \ + && export DEBIAN_FRONTEND=noninteractive \ + && apt-get update \ + && apt-get install -y gnupg \ + && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0x51716619e084dab9 \ + && echo 'deb http://cran.rstudio.com/bin/linux/ubuntu focal-cran40/' >> /etc/apt/sources.list \ + && apt-get update + +# add ppa repository so we can install java 8 (not in any official repo for bionic) +RUN apt-get update \ + && apt-get install -y software-properties-common \ + && add-apt-repository ppa:openjdk-r/ppa + +RUN apt-get update && \ + export DEBIAN_FRONTEND=noninteractive && \ + apt-get install -y \ + ant \ + autoconf \ + build-essential \ + clang \ + cmake \ + curl \ + debsigs \ + dpkg-sig \ + expect \ + fakeroot \ + git-core \ + libattr1-dev \ + libacl1-dev \ + libboost-all-dev \ + libbz2-dev \ + libcap-dev \ + libcurl4-openssl-dev \ + libfuse2 \ + libgpg-error0 \ + libgtk-3-0 \ + libgl1-mesa-dev \ + libegl1-mesa \ + libpam-dev \ + libpango1.0-dev \ + libuser1-dev \ + libssl1.1 libssl-dev \ + libxslt1-dev \ + lsof \ + openjdk-11-jdk \ + patchelf \ + p7zip-full \ + pkg-config \ + python \ + r-base \ + sudo \ + unzip \ + uuid-dev \ + valgrind \ + wget \ + yarnpkg \ + zlib1g-dev + +# ensure we use the java 11 compiler +#RUN update-alternatives --set java /usr/lib/jvm/java-11-openjdk-amd64/jre/bin/java + +## build patchelf +#RUN cd /tmp \ +# && wget https://github.com/NixOS/patchelf/archive/0.10.tar.gz \ +# && mv 0.10.tar.gz patchelf-0.10.tar.gz \ +# && tar xzvf patchelf-0.10.tar.gz \ +# && cd patchelf-0.10 \ +# && ./bootstrap.sh \ +# && ./configure \ +# && make \ +# && make install + +## run install-boost twice - boost exits 1 even though it has installed good enough for our uses. +## https://github.com/rstudio/rstudio/blob/master/vagrant/provision-primary-user.sh#L12-L15 +#COPY dependencies/common/install-boost /tmp/ +#RUN bash /tmp/install-boost || bash /tmp/install-boost +RUN mkdir /opt/rstudio-tools + +# set github login from build argument if defined +ARG GITHUB_LOGIN +ENV RSTUDIO_GITHUB_LOGIN=$GITHUB_LOGIN + +# install cmake +COPY package/linux/install-dependencies /tmp/ +RUN /bin/bash /tmp/install-dependencies + +# install crashpad and its dependencies +COPY dependencies/common/install-crashpad /tmp/ +RUN bash /tmp/install-crashpad bionic + +# install common dependencies +RUN mkdir -p /opt/rstudio-tools/dependencies/common +COPY dependencies/common/ /opt/rstudio-tools/dependencies/common/ +RUN cd /opt/rstudio-tools/dependencies/common && /bin/bash ./install-common + +# install Qt SDK +COPY dependencies/common/install-qt.sh /tmp/ +COPY dependencies/linux/install-qt-linux /tmp/ +RUN export QT_VERSION=5.14.2 && \ + cd /tmp && /bin/bash ./install-qt-linux + +# create jenkins user, make sudo. try to keep this toward the bottom for less cache busting +ARG JENKINS_GID=999 +ARG JENKINS_UID=999 +RUN groupadd -g $JENKINS_GID jenkins && \ + useradd -m -d /var/lib/jenkins -u $JENKINS_UID -g jenkins jenkins && \ + echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + diff '--exclude=.git' -Npaur a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt --- a/src/cpp/CMakeLists.txt 2020-04-30 11:49:50.435911806 -0400 +++ b/src/cpp/CMakeLists.txt 2020-05-01 19:36:49.672053789 -0400 @@ -272,7 +272,7 @@ endif() # allow opt-in to using Boost.Signals2 # TODO: remove this in RStudio v1.3 and port to signals2 if(NOT RSTUDIO_BOOST_SIGNALS_VERSION) - if (Boost_VERSION LESS 106900) + if (BOOST_VERSION LESS 106900) set(RSTUDIO_BOOST_SIGNALS_VERSION 1) else() set(RSTUDIO_BOOST_SIGNALS_VERSION 2) diff '--exclude=.git' -Npaur a/src/cpp/desktop/install/LinuxInstallQt.sh.in b/src/cpp/desktop/install/LinuxInstallQt.sh.in --- a/src/cpp/desktop/install/LinuxInstallQt.sh.in 2020-04-30 11:49:50.479911309 -0400 +++ b/src/cpp/desktop/install/LinuxInstallQt.sh.in 2020-04-30 13:41:29.969583035 -0400 @@ -17,13 +17,13 @@ COMPONENTS=( lib/libQt5Positioning.so.5 lib/libQt5PrintSupport.so.5 lib/libQt5Qml.so.5 + lib/libQt5QmlModels.so.5 lib/libQt5Quick.so.5 lib/libQt5QuickWidgets.so.5 lib/libQt5Sensors.so.5 lib/libQt5Sql.so.5 lib/libQt5Svg.so.5 lib/libQt5WaylandClient.so.5 - lib/libQt5WaylandCompositor.so.5 lib/libQt5WebChannel.so.5 lib/libQt5WebEngine.so.5 lib/libQt5WebEngineCore.so.5 diff '--exclude=.git' -Npaur a/src/cpp/r/session/REmbeddedPosix.cpp b/src/cpp/r/session/REmbeddedPosix.cpp --- a/src/cpp/r/session/REmbeddedPosix.cpp 2020-04-30 11:49:50.515910903 -0400 +++ b/src/cpp/r/session/REmbeddedPosix.cpp 2020-04-30 11:57:56.990088076 -0400 @@ -13,6 +13,8 @@ * */ +#include + #include #include @@ -104,7 +106,11 @@ void runEmbeddedR(const core::FilePath& structRstart rp; Rstart Rp = &rp; R_DefParams(Rp) ; - Rp->R_Slave = FALSE ; +#if R_VERSION < R_Version(4, 0, 0) + Rp->R_Slave = FALSE; +#else + Rp->R_NoEcho = FALSE; +#endif Rp->R_Quiet = quiet ? TRUE : FALSE; Rp->R_Interactive = TRUE ; Rp->SaveAction = defaultSaveAction ;