Skip to content

Commit 0b5a990

Browse files
georgestaggjeroen
andauthored
R 4.4.0 (#420)
* Update patches for R 4.4.0 * Use R 4.4.0 * Remove package subdirectory override New subdirectory for R 4.4 series, no longer require individual patch level Wasm package builds. * Don't hard-code Wasm repository in package tests * Avoid incompatible grDevices/iconv tests * Add de-duplicating pkg-config shim * Add glib patch for Python 3.12 compatibility Co-authored-by: Jeroen Ooms <[email protected]> * Use default nodejs in docker image (#421) * Use default nodejs in docker image --------- Co-authored-by: Jeroen Ooms <[email protected]>
1 parent 0b10025 commit 0b5a990

31 files changed

+630
-1822
lines changed

Dockerfile

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,8 @@ RUN mkdir /opt/fake_rust/ && \
2626

2727
# Step 2: Do the necessary setups
2828
FROM webr as scratch
29-
# Install node 18
30-
RUN mkdir -p /etc/apt/keyrings && \
31-
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | \
32-
gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
33-
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] \
34-
https://deb.nodesource.com/node_18.x nodistro main" | \
35-
tee /etc/apt/sources.list.d/nodesource.list && \
36-
apt-get update && \
29+
# Install nodejs
30+
RUN apt-get update && \
3731
apt-get install nodejs -y
3832

3933
# Install Rust; these lines are based on the official Rust docker image:
@@ -72,7 +66,7 @@ RUN curl -L https://rig.r-pkg.org/deb/rig.gpg -o /etc/apt/trusted.gpg.d/rig.gpg
7266

7367
# Because $HOME gets masked by GHA with the host $HOME
7468
ENV R_LIBS_USER=/opt/R/current/lib/R/site-library
75-
RUN rig add 4.3.3
69+
RUN rig add 4.4.0
7670

7771
# Download webR and configure for LLVM flang
7872
RUN git clone https://github.com/r-wasm/webr.git /opt/webr

R/Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ STAGE1_FC ?= gfortran
7272

7373
# Stage 1: Build a native version of R so we can compile the default packages
7474
$(BUILD)/state/R-$(R_VERSION)/r-stage1-configured: $(BUILD)/state/R-$(R_VERSION)/r-patched
75-
mkdir -p $(R_SOURCE)/build-stage1/doc
75+
@mkdir -p $(R_SOURCE)/build-stage1/doc
7676
# Workaround for the lack of LaTeX packages
7777
cd $(R_SOURCE)/build-stage1/doc && \
7878
touch NEWS NEWS.pdf NEWS.rds NEWS.2.rds NEWS.3.rds
@@ -156,8 +156,12 @@ SHLIB_LDFLAGS += -s WASM_BIGINT $(WASM_OPT_LDADD)
156156

157157
# Stage 2: Reconfigure and build for wasm32-unknown-emscripten target
158158
$(BUILD)/state/R-$(R_VERSION)/r-stage2-configured: $(BUILD)/state/R-$(R_VERSION)/r-patched $(FORTRAN_WASM_LIB)
159-
mkdir -p $(R_SOURCE)/build
159+
@mkdir -p $(R_SOURCE)/build
160+
@cp $(TOOLS)/shims/pkg-config $(HOST)/bin/pkg-config
161+
@chmod +x $(HOST)/bin/pkg-config
160162
cd $(R_SOURCE)/build && \
163+
PKG_CONFIG="$(HOST)/bin/pkg-config" \
164+
EM_PKG_CONFIG="$(shell which pkg-config)" \
161165
EM_PKG_CONFIG_PATH="$(WASM)/lib/pkgconfig" \
162166
MAIN_LDFLAGS="$(MAIN_LDFLAGS)" \
163167
SHLIB_LDFLAGS="$(SHLIB_LDFLAGS)" \

R/R-VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.3.3
1+
4.4.0

packages/webr/R/install.R

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,6 @@ install <- function(packages,
2929
repos <- gsub("/$", "", repos)
3030
contrib <- sprintf("%s/bin/emscripten/contrib/%s", repos, ver)
3131

32-
# Handle webR 0.3.x - R 4.3.3 on repo.r-wasm.org
33-
# TODO: Once R 4.4.0 is released this can be removed from future webR builds
34-
contrib <- gsub(
35-
"repo.r-wasm.org/bin/emscripten/contrib/4.3",
36-
"repo.r-wasm.org/bin/emscripten/contrib/4.3.3",
37-
contrib,
38-
fixed = TRUE
39-
)
40-
4132
if (is.null(info)) {
4233
info <- utils::available.packages(contriburl = contrib)
4334
}

patches/R-4.3.3/emscripten-avoid-testing-issues.diff

Lines changed: 0 additions & 154 deletions
This file was deleted.

0 commit comments

Comments
 (0)