Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
diff_in_building_cpython_dockerfile
Created
4 years ago
Diff never expires
Clear
Export
Share
Explain
0 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
81 lines
Copy
7 additions
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
84 lines
Copy
FROM build-base:dev
FROM build-base:dev
# clone cpython 3.11
# clone cpython 3.11
ARG CPYTHON_COMMIT="d81182b8ec3b1593daf241d44757a9fa68fd14cc"
ARG CPYTHON_COMMIT="d81182b8ec3b1593daf241d44757a9fa68fd14cc"
RUN git clone https://github.com/python/cpython.git /opt/cpython && \
RUN git clone https://github.com/python/cpython.git /opt/cpython && \
cd /opt/cpython && git checkout ${CPYTHON_COMMIT}
cd /opt/cpython && git checkout ${CPYTHON_COMMIT}
# patch i386 python
# patch i386 python
RUN mkdir -p /opt/cpython/i386
RUN mkdir -p /opt/cpython/i386
COPY ./patches/cpython.i386.patch /opt/cpython/cpython.i386.patch
COPY ./patches/cpython.i386.patch /opt/cpython/cpython.i386.patch
RUN cd /opt/cpython && \
RUN cd /opt/cpython && \
git reset --hard && \
git reset --hard && \
git apply ./cpython.i386.patch
git apply ./cpython.i386.patch
# configure
# configure
RUN mkdir -p /opt/cpython/i386 && cd /opt/cpython/i386 && \
RUN mkdir -p /opt/cpython/i386 && cd /opt/cpython/i386 && \
../configure CFLAGS="-m32 -march=i386 -static" \
../configure CFLAGS="-m32 -march=i386 -static" \
LDFLAGS="-m32 -march=i386" \
LDFLAGS="-m32 -march=i386" \
Copy
Copied
Copy
Copied
--prefix=$(pwd)
--prefix=$(pwd)
\
--with-pydebug
# build/install i386 python interpreter w/ pip
# build/install i386 python interpreter w/ pip
RUN cd /opt/cpython/i386 && make -j install
RUN cd /opt/cpython/i386 && make -j install
RUN /opt/cpython/i386/bin/python3.11 -m pip install --upgrade pip
RUN /opt/cpython/i386/bin/python3.11 -m pip install --upgrade pip
# build/install libffi-emscripten
# build/install libffi-emscripten
RUN git clone https://github.com/hoodmane/libffi-emscripten /opt/libffi-emscripten && \
RUN git clone https://github.com/hoodmane/libffi-emscripten /opt/libffi-emscripten && \
cd /opt/libffi-emscripten && git checkout 1fd79801595a43e26b65b59030a9040ba124ee24
cd /opt/libffi-emscripten && git checkout 1fd79801595a43e26b65b59030a9040ba124ee24
RUN cd /opt/libffi-emscripten && ./build.sh
RUN cd /opt/libffi-emscripten && ./build.sh
RUN mkdir -p /build/libffi-emscripten && cp -r /opt/libffi-emscripten/target/* /build/
RUN mkdir -p /build/libffi-emscripten && cp -r /opt/libffi-emscripten/target/* /build/
# build flags for the wasm python interpreter (and for builds in child containers)
# build flags for the wasm python interpreter (and for builds in child containers)
ENV CFLAGS="-pthread -O3 -static"
ENV CFLAGS="-pthread -O3 -static"
ENV LDFLAGS="-pthread \
ENV LDFLAGS="-pthread \
-s USE_ZLIB \
-s USE_ZLIB \
-s WASM_BIGINT \
-s WASM_BIGINT \
-s USE_PTHREADS \
-s USE_PTHREADS \
-s ALLOW_MEMORY_GROWTH \
-s ALLOW_MEMORY_GROWTH \
-s LLD_REPORT_UNDEFINED \
-s LLD_REPORT_UNDEFINED \
-s ERROR_ON_UNDEFINED_SYMBOLS=0 \
-s ERROR_ON_UNDEFINED_SYMBOLS=0 \
-s EXIT_RUNTIME \
-s EXIT_RUNTIME \
-lnodefs.js -s NODERAWFS -s FORCE_FILESYSTEM"
-lnodefs.js -s NODERAWFS -s FORCE_FILESYSTEM"
ENV LINKFORSHARED="${LDFLAGS}"
ENV LINKFORSHARED="${LDFLAGS}"
# patch cpython for the wasm build
# patch cpython for the wasm build
RUN mkdir -p /opt/cpython/wasm
RUN mkdir -p /opt/cpython/wasm
COPY ./patches/cpython.wasm.patch /opt/cpython/cpython.wasm.patch
COPY ./patches/cpython.wasm.patch /opt/cpython/cpython.wasm.patch
RUN cd /opt/cpython && \
RUN cd /opt/cpython && \
git reset --hard && \
git reset --hard && \
git apply ./cpython.wasm.patch
git apply ./cpython.wasm.patch
# configure
# configure
RUN cd /opt/cpython/wasm && \
RUN cd /opt/cpython/wasm && \
emconfigure ../configure \
emconfigure ../configure \
CONFIG_SITE=/opt/cpython/wasm/config.site \
CONFIG_SITE=/opt/cpython/wasm/config.site \
SHLIB_SUFFIX=".bc" \
SHLIB_SUFFIX=".bc" \
--with-static-libpython \
--with-static-libpython \
--disable-shared \
--disable-shared \
--without-ensurepip \
--without-ensurepip \
--without-pymalloc \
--without-pymalloc \
Copy
Copied
Copy
Copied
--prefix=/opt/cpython/wasm
--prefix=/opt/cpython/wasm
\
--with-pydebug
# build/install the wasm interpreter (w/ NodeFS support)
# build/install the wasm interpreter (w/ NodeFS support)
RUN cd /opt/cpython/wasm && make -j install && \
RUN cd /opt/cpython/wasm && make -j install && \
cp /opt/cpython/wasm/python.wasm /opt/cpython/wasm/bin/ && \
cp /opt/cpython/wasm/python.wasm /opt/cpython/wasm/bin/ && \
cp /opt/cpython/wasm/python.worker.js /opt/cpython/wasm/bin/
cp /opt/cpython/wasm/python.worker.js /opt/cpython/wasm/bin/
# configure the i386 python interpreter to ues the wasm python configuration
# configure the i386 python interpreter to ues the wasm python configuration
# - used for eg. freezing wasm python modules
# - used for eg. freezing wasm python modules
RUN cp /opt/cpython/i386/bin/python3.11 /opt/cpython/wasm/bin/python3.11-i386
RUN cp /opt/cpython/i386/bin/python3.11 /opt/cpython/wasm/bin/python3.11-i386
Copy
Copied
Copy
Copied
RUN cp /opt/cpython/wasm/lib/python3.11/_sysconfigdata_
_linux_.py /opt/cpython/wasm/lib/python3.11/_sysconfigdata_
_linux_x86_64-linux-gnu.py
RUN cp /opt/cpython/wasm/lib/python3.11/_sysconfigdata_
d
_linux_.py /opt/cpython/wasm/lib/python3.11/_sysconfigdata_
d
_linux_x86_64-linux-gnu.py
RUN cp -r /opt/cpython/i386/lib/python3.11/lib-dynload/. /opt/cpython/wasm/lib/python3.11/lib-dynload/
RUN cp -r /opt/cpython/i386/lib/python3.11/lib-dynload/. /opt/cpython/wasm/lib/python3.11/lib-dynload/
# install pip for i386 python
# install pip for i386 python
# - i386 python wheel
# - i386 python wheel
# - used to cross-compile wasm python modules w/ source from pip
# - used to cross-compile wasm python modules w/ source from pip
RUN /opt/cpython/wasm/bin/python3.11-i386 -m ensurepip
RUN /opt/cpython/wasm/bin/python3.11-i386 -m ensurepip
RUN /opt/cpython/wasm/bin/python3.11-i386 -m pip install --upgrade pip
RUN /opt/cpython/wasm/bin/python3.11-i386 -m pip install --upgrade pip
# copy source and build output w/o the .git directory
# copy source and build output w/o the .git directory
RUN rm -rf /opt/cpython/.git && \
RUN rm -rf /opt/cpython/.git && \
cp -r /opt/cpython /build/cpython
cp -r /opt/cpython /build/cpython
Copy
Copied
Copy
Copied
Saved diffs
Original text
Open file
FROM build-base:dev # clone cpython 3.11 ARG CPYTHON_COMMIT="d81182b8ec3b1593daf241d44757a9fa68fd14cc" RUN git clone https://github.com/python/cpython.git /opt/cpython && \ cd /opt/cpython && git checkout ${CPYTHON_COMMIT} # patch i386 python RUN mkdir -p /opt/cpython/i386 COPY ./patches/cpython.i386.patch /opt/cpython/cpython.i386.patch RUN cd /opt/cpython && \ git reset --hard && \ git apply ./cpython.i386.patch # configure RUN mkdir -p /opt/cpython/i386 && cd /opt/cpython/i386 && \ ../configure CFLAGS="-m32 -march=i386 -static" \ LDFLAGS="-m32 -march=i386" \ --prefix=$(pwd) # build/install i386 python interpreter w/ pip RUN cd /opt/cpython/i386 && make -j install RUN /opt/cpython/i386/bin/python3.11 -m pip install --upgrade pip # build/install libffi-emscripten RUN git clone https://github.com/hoodmane/libffi-emscripten /opt/libffi-emscripten && \ cd /opt/libffi-emscripten && git checkout 1fd79801595a43e26b65b59030a9040ba124ee24 RUN cd /opt/libffi-emscripten && ./build.sh RUN mkdir -p /build/libffi-emscripten && cp -r /opt/libffi-emscripten/target/* /build/ # build flags for the wasm python interpreter (and for builds in child containers) ENV CFLAGS="-pthread -O3 -static" ENV LDFLAGS="-pthread \ -s USE_ZLIB \ -s WASM_BIGINT \ -s USE_PTHREADS \ -s ALLOW_MEMORY_GROWTH \ -s LLD_REPORT_UNDEFINED \ -s ERROR_ON_UNDEFINED_SYMBOLS=0 \ -s EXIT_RUNTIME \ -lnodefs.js -s NODERAWFS -s FORCE_FILESYSTEM" ENV LINKFORSHARED="${LDFLAGS}" # patch cpython for the wasm build RUN mkdir -p /opt/cpython/wasm COPY ./patches/cpython.wasm.patch /opt/cpython/cpython.wasm.patch RUN cd /opt/cpython && \ git reset --hard && \ git apply ./cpython.wasm.patch # configure RUN cd /opt/cpython/wasm && \ emconfigure ../configure \ CONFIG_SITE=/opt/cpython/wasm/config.site \ SHLIB_SUFFIX=".bc" \ --with-static-libpython \ --disable-shared \ --without-ensurepip \ --without-pymalloc \ --prefix=/opt/cpython/wasm # build/install the wasm interpreter (w/ NodeFS support) RUN cd /opt/cpython/wasm && make -j install && \ cp /opt/cpython/wasm/python.wasm /opt/cpython/wasm/bin/ && \ cp /opt/cpython/wasm/python.worker.js /opt/cpython/wasm/bin/ # configure the i386 python interpreter to ues the wasm python configuration # - used for eg. freezing wasm python modules RUN cp /opt/cpython/i386/bin/python3.11 /opt/cpython/wasm/bin/python3.11-i386 RUN cp /opt/cpython/wasm/lib/python3.11/_sysconfigdata__linux_.py /opt/cpython/wasm/lib/python3.11/_sysconfigdata__linux_x86_64-linux-gnu.py RUN cp -r /opt/cpython/i386/lib/python3.11/lib-dynload/. /opt/cpython/wasm/lib/python3.11/lib-dynload/ # install pip for i386 python # - i386 python wheel # - used to cross-compile wasm python modules w/ source from pip RUN /opt/cpython/wasm/bin/python3.11-i386 -m ensurepip RUN /opt/cpython/wasm/bin/python3.11-i386 -m pip install --upgrade pip # copy source and build output w/o the .git directory RUN rm -rf /opt/cpython/.git && \ cp -r /opt/cpython /build/cpython
Changed text
Open file
FROM build-base:dev # clone cpython 3.11 ARG CPYTHON_COMMIT="d81182b8ec3b1593daf241d44757a9fa68fd14cc" RUN git clone https://github.com/python/cpython.git /opt/cpython && \ cd /opt/cpython && git checkout ${CPYTHON_COMMIT} # patch i386 python RUN mkdir -p /opt/cpython/i386 COPY ./patches/cpython.i386.patch /opt/cpython/cpython.i386.patch RUN cd /opt/cpython && \ git reset --hard && \ git apply ./cpython.i386.patch # configure RUN mkdir -p /opt/cpython/i386 && cd /opt/cpython/i386 && \ ../configure CFLAGS="-m32 -march=i386 -static" \ LDFLAGS="-m32 -march=i386" \ --prefix=$(pwd) \ --with-pydebug # build/install i386 python interpreter w/ pip RUN cd /opt/cpython/i386 && make -j install RUN /opt/cpython/i386/bin/python3.11 -m pip install --upgrade pip # build/install libffi-emscripten RUN git clone https://github.com/hoodmane/libffi-emscripten /opt/libffi-emscripten && \ cd /opt/libffi-emscripten && git checkout 1fd79801595a43e26b65b59030a9040ba124ee24 RUN cd /opt/libffi-emscripten && ./build.sh RUN mkdir -p /build/libffi-emscripten && cp -r /opt/libffi-emscripten/target/* /build/ # build flags for the wasm python interpreter (and for builds in child containers) ENV CFLAGS="-pthread -O3 -static" ENV LDFLAGS="-pthread \ -s USE_ZLIB \ -s WASM_BIGINT \ -s USE_PTHREADS \ -s ALLOW_MEMORY_GROWTH \ -s LLD_REPORT_UNDEFINED \ -s ERROR_ON_UNDEFINED_SYMBOLS=0 \ -s EXIT_RUNTIME \ -lnodefs.js -s NODERAWFS -s FORCE_FILESYSTEM" ENV LINKFORSHARED="${LDFLAGS}" # patch cpython for the wasm build RUN mkdir -p /opt/cpython/wasm COPY ./patches/cpython.wasm.patch /opt/cpython/cpython.wasm.patch RUN cd /opt/cpython && \ git reset --hard && \ git apply ./cpython.wasm.patch # configure RUN cd /opt/cpython/wasm && \ emconfigure ../configure \ CONFIG_SITE=/opt/cpython/wasm/config.site \ SHLIB_SUFFIX=".bc" \ --with-static-libpython \ --disable-shared \ --without-ensurepip \ --without-pymalloc \ --prefix=/opt/cpython/wasm\ --with-pydebug # build/install the wasm interpreter (w/ NodeFS support) RUN cd /opt/cpython/wasm && make -j install && \ cp /opt/cpython/wasm/python.wasm /opt/cpython/wasm/bin/ && \ cp /opt/cpython/wasm/python.worker.js /opt/cpython/wasm/bin/ # configure the i386 python interpreter to ues the wasm python configuration # - used for eg. freezing wasm python modules RUN cp /opt/cpython/i386/bin/python3.11 /opt/cpython/wasm/bin/python3.11-i386 RUN cp /opt/cpython/wasm/lib/python3.11/_sysconfigdata_d_linux_.py /opt/cpython/wasm/lib/python3.11/_sysconfigdata_d_linux_x86_64-linux-gnu.py RUN cp -r /opt/cpython/i386/lib/python3.11/lib-dynload/. /opt/cpython/wasm/lib/python3.11/lib-dynload/ # install pip for i386 python # - i386 python wheel # - used to cross-compile wasm python modules w/ source from pip RUN /opt/cpython/wasm/bin/python3.11-i386 -m ensurepip RUN /opt/cpython/wasm/bin/python3.11-i386 -m pip install --upgrade pip # copy source and build output w/o the .git directory RUN rm -rf /opt/cpython/.git && \ cp -r /opt/cpython /build/cpython
Find difference