Files
pixiv_downloader/.devcontainer/all/Dockerfile

51 lines
2.1 KiB
Docker

FROM ubuntu:latest
RUN apt update && apt install -y \
gcc \
'g++' \
cmake \
nasm \
git \
zlib1g-dev \
libexpat1-dev \
pkgconf \
clang \
autoconf \
automake \
autotools-dev \
libtool \
xutils-dev \
libssl-dev \
ca-certificates \
curl \
file
RUN cd ~ && git clone --depth 1 'https://github.com/Exiv2/exiv2' \
&& cd exiv2 && mkdir -p build && cd build \
&& cmake -DCMAKE_BUILD_TYPE=Release .. "-DCMAKE_INSTALL_PREFIX=/usr" \
-DEXIV2_ENABLE_BROTLI=OFF -DEXIV2_ENABLE_INIH=OFF \
&& make -j$(grep -c ^processor /proc/cpuinfo) && make install \
&& cd ~ && rm -rf exiv2
RUN cd ~ && git clone --depth 1 'https://github.com/nih-at/libzip' \
&& cd libzip && mkdir -p build && cd build \
&& cmake -DCMAKE_BUILD_TYPE=Release .. "-DCMAKE_INSTALL_PREFIX=/usr" \
&& make -j$(grep -c ^processor /proc/cpuinfo) && make install \
&& cd ~ && rm -rf libzip
RUN cd ~ && git clone --depth 1 'https://code.videolan.org/videolan/x264.git' && cd x264 \
&& ./configure --disable-cli --enable-strip --enable-pic --enable-shared --disable-static --prefix=/usr \
&& make -j$(grep -c ^processor /proc/cpuinfo) && make install \
&& cd ~ && rm -rf x264
RUN cd ~ && git clone --depth 1 'https://git.ffmpeg.org/ffmpeg.git' && cd ffmpeg \
&& ./configure --enable-shared --disable-static --enable-gpl --enable-version3 --enable-libx264 --prefix=/usr \
&& make -j$(grep -c ^processor /proc/cpuinfo) && make install \
&& cd ~ && rm -rf ffmpeg
RUN cd ~ && git clone --depth 1 'https://github.com/Tencent/rapidjson' && cd rapidjson \
&& mkdir -p build && cd build \
&& cmake -DCMAKE_BUILD_TYPE=Release .. "-DCMAKE_INSTALL_PREFIX=/usr" -DRAPIDJSON_BUILD_DOC=OFF \
-DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF \
&& make -j$(grep -c ^processor /proc/cpuinfo) && make install \
&& cd ~ && rm -rf rapidjson
RUN curl https://sh.rustup.rs -sSf | \
sh -s -- --default-toolchain nightly -y
ENV PATH=/root/.cargo/bin:$PATH
# Enable GPG sign by default
RUN git config --global commit.gpgsign true