FROM docker.io/fedora:40

RUN dnf install -y openssl openssl-devel cargo llvm libsecret libsecret-devel sqlcipher sqlcipher-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat pkgconf perl python3-setuptools

# node setup
ARG NODE_VERSION
RUN mkdir -p /usr/local/n
RUN mkdir -p /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
RUN curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
RUN bash n ${NODE_VERSION}
RUN npm install -g n
RUN npm install -g yarn
RUN npm install -g node-gyp
RUN gem install --no-user-install --no-document fpm
RUN ln -s /usr/bin/python3 /usr/bin/python

ENV RUSTUP_HOME=/usr/local/rustup \
    CARGO_HOME=/usr/local/cargo \
    PATH=/usr/local/cargo/bin:$PATH
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal

WORKDIR /project
