Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -316,4 +316,8 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk

apps/app-gui/node_modules
**/pnpm-lock.yaml
.pnpm-store/

# End of https://www.gitignore.io/api/node,linux,macos,windows,webstorm,sublimetext,visualstudiocode
47 changes: 47 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
FROM emscripten/emsdk:3.1.64

RUN apt-get update && apt-get install -y \
automake \
autoconf \
libtool \
pkg-config \
make \
cmake \
git \
curl \
wget \
build-essential \
&& rm -rf /var/lib/apt/lists/*

RUN wget https://www.sqlite.org/2024/sqlite-autoconf-3450100.tar.gz \
&& tar -xzf sqlite-autoconf-3450100.tar.gz \
&& cd sqlite-autoconf-3450100 \
&& ./configure --prefix=/usr/local \
&& make -j$(nproc) \
&& make install \
&& cd .. && rm -rf sqlite-autoconf-3450100*

# FNM + Node + PNPM
RUN curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir /usr/local/bin --skip-shell
ENV FNM_DIR="/root/.fnm"
ENV PATH="${FNM_DIR}/bin:${FNM_DIR}/multishells/containers/bin:/usr/local/bin:${PATH}"
SHELL ["/bin/bash", "-lc"]

RUN set -eux; \
eval "$(fnm env --use-on-cd --shell=bash)"; \
fnm install 22; \
fnm default 22; \
fnm use 22; \
ln -sf $(fnm which node) /usr/local/bin/node; \
ln -sf $(dirname $(fnm which node))/npm /usr/local/bin/npm; \
npm install -g pnpm@latest; \
ln -sf $(npm root -g)/pnpm/bin/pnpm.cjs /usr/local/bin/pnpm; \
node -v && npm -v && pnpm -v && fnm --version

# Add your app
WORKDIR /app
COPY start.sh /app/start.sh
RUN chmod +x /app/start.sh

ENTRYPOINT ["/app/start.sh"]

6 changes: 4 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ $(DIST_DIR)/gdal3WebAssembly.js: $(ROOT_DIR)/lib/libgdal.a
$(ROOT_DIR)/lib/libgeos.a $(ROOT_DIR)/lib/libgeos_c.a $(ROOT_DIR)/lib/libwebp.a $(ROOT_DIR)/lib/libsharpyuv.a $(ROOT_DIR)/lib/libwebpdemux.a \
$(ROOT_DIR)/lib/libexpat.a $(ROOT_DIR)/lib/libtiffxx.a $(ROOT_DIR)/lib/libtiff.a $(ROOT_DIR)/lib/libgeotiff.a \
$(ROOT_DIR)/lib/libiconv.a \
-o $@ $(GDAL_EMCC_FLAGS) \
-o $@ $(GDAL_EMCC_FLAGS) --emit-tsd ${DIST_DIR}/gdal.d.ts \
--preload-file $(ROOT_DIR)/share/gdal@/usr/share/gdal \
--preload-file $(ROOT_DIR)/share/proj@/usr/share/proj;

Expand Down Expand Up @@ -203,6 +203,7 @@ $(PROJ_SRC)/Makefile: $(ROOT_DIR)/lib/libtiff.a $(ROOT_DIR)/lib/libsqlite3.a $(P
$(EMCMAKE) cmake . $(PREFIX_CMAKE) \
-DSQLITE3_INCLUDE_DIR=${ROOT_DIR}/include \
-DSQLITE3_LIBRARY=${ROOT_DIR}/lib/libsqlite3.a \
-DEXE_SQLITE3=/usr/local/bin/sqlite3 \
-DTIFF_INCLUDE_DIR=${ROOT_DIR}/include \
-DTIFF_LIBRARY_RELEASE=${ROOT_DIR}/lib/libtiff.a \
-DENABLE_CURL=OFF \
Expand All @@ -222,7 +223,8 @@ $(PROJ_SRC)/CMakeLists.txt:
###########
SQLITE3_SRC = $(SRC_DIR)/sqlite-autoconf-$(SQLITE_VERSION)

sqlite3: $(ROOT_DIR)/lib/libsqlite3.a
sqlite3wasm: $(ROOT_DIR)/lib/libsqlite3.a


$(ROOT_DIR)/lib/libsqlite3.a: $(SQLITE3_SRC)/Makefile
cd $(SQLITE3_SRC); \
Expand Down
Loading