[devdocsgjs/wip/andyholmes/fix-redirects: 2/2] Dockerfile: revert changes from 76d8d093




commit ed39bc7c4a8b49e437e112b0ad3a24311eb781de
Author: Andy Holmes <andrew g r holmes gmail com>
Date:   Thu Sep 22 16:13:57 2022 -0700

    Dockerfile: revert changes from 76d8d093
    
    The commit 76d8d093 migrated from a multi-version fedora build with
    three stages to a single version (`fedora:37`) with two stages, allowing
    us to build with the latest `gobject-introspection`.
    
    Unfortunately this has resulted in arbitrary documentation pages
    missing (e.g. `GObject.Object`, `Gtk.Widget`, `Clutter.Actor`) and the
    cause has yet to be diagnosed.
    
    Revert back to a three-stage build until that can be fixed.

 Dockerfile | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)
---
diff --git a/Dockerfile b/Dockerfile
index 3e3cfe77..0c5c279d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
 # We bump this each release to fetch the latest stable GIRs
-FROM registry.fedoraproject.org/fedora:37 AS build
+FROM registry.fedoraproject.org/fedora:37 AS fetch
 
 RUN dnf install -y \
         NetworkManager-libnm-devel cairo-devel colord{,-gtk,-gtk4}-devel \
@@ -21,13 +21,19 @@ RUN dnf install -y \
         poppler-glib-devel rest{,0.7}-devel telepathy-glib-devel tracker-devel \
         udisks-devel upower-devel vte{,291,291-gtk4}-devel \
         webkit2gtk{4.0,4.1,5.0}-devel wireplumber-devel && \
-    dnf install -y 'dnf-command(builddep)' @development-tools bzip2 gcc-c++ && \
-    dnf builddep -y ruby && \
-    dnf install -y --allowerasing openssl1.1-devel python3-pip && \
-    pip3 install -I Markdown==3.3.7 && \
     dnf clean all && \
     rm -rf /var/cache/dnf
 
+# We build in fedora:33 for the ruby dependency
+FROM registry.fedoraproject.org/fedora:33 AS build
+
+ENV LANG=C.UTF-8
+
+# These are GIRs from the fetch step
+COPY --from=fetch /usr/share/gir-1.0 /usr/share/gir-1.0
+COPY --from=fetch /usr/share/gnome-shell /usr/share/gnome-shell
+COPY --from=fetch /usr/lib64/mutter-11 /usr/lib64/mutter-11
+
 # These are extra GIRs we can't install with dnf
 COPY lib/docs/scrapers/gnome/girs/*.gir /usr/share/gir-1.0/
 COPY lib/docs/scrapers/gnome/girs/mutter-3 /usr/lib64/mutter-3
@@ -39,13 +45,13 @@ COPY lib/docs/scrapers/gnome/girs/mutter-8 /usr/lib64/mutter-8
 COPY lib/docs/scrapers/gnome/girs/mutter-9 /usr/lib64/mutter-9
 COPY lib/docs/scrapers/gnome/girs/mutter-10 /usr/lib64/mutter-10
 
-# Install ruby-2.7.6
-RUN curl -Os http://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.6.tar.gz && \
-    tar -xzf ruby-2.7.6.tar.gz && \
-    cd ruby-2.7.6 && \
-    ./configure --prefix=/usr/local && \
-    make && \
-    make install
+# Install devdocs dependencies
+RUN dnf install -y 'dnf-command(builddep)' @development-tools bzip2 gcc-c++ && \
+    dnf builddep -y ruby && \
+    dnf install -y ruby rubygem-bundler ruby-devel python3-markdown \
+                   gobject-introspection-devel && \
+    dnf clean all && \
+    rm -rf /var/cache/dnf
 
 # Install the devdocs application
 COPY . /opt/devdocs/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]