1
0
Fork 0
mirror of https://github.com/docker-library/ruby.git synced 2022-11-09 11:41:34 -05:00

Merge pull request #266 from lsb/master

Add libgmp for faster Integer calculations.
This commit is contained in:
Tianon Gravi 2019-02-28 17:00:26 -08:00 committed by GitHub
commit f2bdb4a6de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 107 additions and 56 deletions

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,7 +28,8 @@ ENV RUBYGEMS_VERSION 3.0.1
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -36,6 +37,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -44,9 +46,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -76,10 +75,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)

View file

@ -28,7 +28,8 @@ ENV RUBYGEMS_VERSION 3.0.1
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -36,6 +37,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -44,9 +46,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -76,10 +75,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,7 +28,8 @@ ENV RUBYGEMS_VERSION 3.0.1
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -36,6 +37,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -44,9 +46,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -76,10 +75,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)

View file

@ -28,7 +28,8 @@ ENV RUBYGEMS_VERSION 3.0.1
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -36,6 +37,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -44,9 +46,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -76,10 +75,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,7 +28,8 @@ ENV RUBYGEMS_VERSION 3.0.1
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -36,6 +37,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -44,9 +46,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -76,10 +75,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)

View file

@ -27,6 +27,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -27,6 +27,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -27,7 +27,8 @@ ENV RUBY_DOWNLOAD_SHA256 47b629808e9fd44ce1f760cdf3ed14875fc9b19d4f334e82e2cf25c
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -35,6 +36,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -43,9 +45,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -75,10 +74,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# rough smoke test # rough smoke test

View file

@ -28,6 +28,7 @@ RUN set -ex \
gcc \ gcc \
gdbm-dev \ gdbm-dev \
glib-dev \ glib-dev \
gmp-dev \
libc-dev \ libc-dev \
libffi-dev \ libffi-dev \
libxml2-dev \ libxml2-dev \

View file

@ -28,7 +28,8 @@ ENV RUBYGEMS_VERSION %%RUBYGEMS%%
# we purge system ruby later to make sure our final image uses what we just built # we purge system ruby later to make sure our final image uses what we just built
RUN set -ex \ RUN set -ex \
\ \
&& buildDeps=' \ && savedAptMark="$(apt-mark showmanual)" \
&& apt-get update && apt-get install -y --no-install-recommends \
autoconf \ autoconf \
bison \ bison \
dpkg-dev \ dpkg-dev \
@ -36,6 +37,7 @@ RUN set -ex \
libbz2-dev \ libbz2-dev \
libgdbm-dev \ libgdbm-dev \
libglib2.0-dev \ libglib2.0-dev \
libgmp-dev \
libncurses-dev \ libncurses-dev \
libreadline-dev \ libreadline-dev \
libxml2-dev \ libxml2-dev \
@ -44,9 +46,6 @@ RUN set -ex \
ruby \ ruby \
wget \ wget \
xz-utils \ xz-utils \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \ && wget -O ruby.tar.xz "https://cache.ruby-lang.org/pub/ruby/${RUBY_MAJOR%-rc}/ruby-$RUBY_VERSION.tar.xz" \
@ -76,10 +75,17 @@ RUN set -ex \
&& make -j "$(nproc)" \ && make -j "$(nproc)" \
&& make install \ && make install \
\ \
&& dpkg-query --show --showformat '${package}\n' \ && apt-mark auto '.*' > /dev/null \
| grep -P '^libreadline\d+$' \ && apt-mark manual $savedAptMark \
| xargs apt-mark manual \ && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
&& apt-get purge -y --auto-remove $buildDeps \ | awk '/=>/ { print $(NF-1) }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
\
&& cd / \ && cd / \
&& rm -r /usr/src/ruby \ && rm -r /usr/src/ruby \
# make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246) # make sure bundled "rubygems" is older than RUBYGEMS_VERSION (https://github.com/docker-library/ruby/issues/246)