From 6957d355a93099d1d5466159999716c5a1f23e9e Mon Sep 17 00:00:00 2001 From: GRAnimated Date: Tue, 29 Jul 2025 15:15:56 -0400 Subject: [PATCH 1/5] Patch clang for Switch --- platforms/switch/clang-3.9.1/linux/Dockerfile | 19 +++++++++++++++++++ .../switch/clang-4.0.1/darwin/Dockerfile | 19 +++++++++++++++++++ platforms/switch/clang-4.0.1/linux/Dockerfile | 19 +++++++++++++++++++ .../switch/clang-8.0.0/darwin/Dockerfile | 19 +++++++++++++++++++ platforms/switch/clang-8.0.0/linux/Dockerfile | 19 +++++++++++++++++++ templates/switch/clang.j2 | 19 +++++++++++++++++++ 6 files changed, 114 insertions(+) diff --git a/platforms/switch/clang-3.9.1/linux/Dockerfile b/platforms/switch/clang-3.9.1/linux/Dockerfile index 0f55e57..db37da6 100644 --- a/platforms/switch/clang-3.9.1/linux/Dockerfile +++ b/platforms/switch/clang-3.9.1/linux/Dockerfile @@ -25,6 +25,25 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-3.9.1/ +RUN apk add --no-cache patch + +ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches +ARG PATCH_BRANCH=main + +RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches + +# apply patches to clang +WORKDIR /compilers/switch/clang-3.9.1 +RUN patch_dir="/tmp/patches/clang-3.9.1/include/c++/v1" && \ + if [ -d "$patch_dir" ]; then \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -p1 < "$patch"; \ + done; \ + fi + +RUN rm -rf /tmp/patches + RUN chown -R root:root /compilers/switch/clang-3.9.1/ diff --git a/platforms/switch/clang-4.0.1/darwin/Dockerfile b/platforms/switch/clang-4.0.1/darwin/Dockerfile index f04c5fe..099f229 100644 --- a/platforms/switch/clang-4.0.1/darwin/Dockerfile +++ b/platforms/switch/clang-4.0.1/darwin/Dockerfile @@ -25,6 +25,25 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-4.0.1/ +RUN apk add --no-cache patch + +ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches +ARG PATCH_BRANCH=main + +RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches + +# apply patches to clang +WORKDIR /compilers/switch/clang-4.0.1 +RUN patch_dir="/tmp/patches/clang-4.0.1/include/c++/v1" && \ + if [ -d "$patch_dir" ]; then \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -p1 < "$patch"; \ + done; \ + fi + +RUN rm -rf /tmp/patches + RUN chown -R root:root /compilers/switch/clang-4.0.1/ diff --git a/platforms/switch/clang-4.0.1/linux/Dockerfile b/platforms/switch/clang-4.0.1/linux/Dockerfile index c1786be..4919337 100644 --- a/platforms/switch/clang-4.0.1/linux/Dockerfile +++ b/platforms/switch/clang-4.0.1/linux/Dockerfile @@ -25,6 +25,25 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-4.0.1/ +RUN apk add --no-cache patch + +ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches +ARG PATCH_BRANCH=main + +RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches + +# apply patches to clang +WORKDIR /compilers/switch/clang-4.0.1 +RUN patch_dir="/tmp/patches/clang-4.0.1/include/c++/v1" && \ + if [ -d "$patch_dir" ]; then \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -p1 < "$patch"; \ + done; \ + fi + +RUN rm -rf /tmp/patches + RUN chown -R root:root /compilers/switch/clang-4.0.1/ diff --git a/platforms/switch/clang-8.0.0/darwin/Dockerfile b/platforms/switch/clang-8.0.0/darwin/Dockerfile index e2b9d90..8a4a0e5 100644 --- a/platforms/switch/clang-8.0.0/darwin/Dockerfile +++ b/platforms/switch/clang-8.0.0/darwin/Dockerfile @@ -25,6 +25,25 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-8.0.0/ +RUN apk add --no-cache patch + +ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches +ARG PATCH_BRANCH=main + +RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches + +# apply patches to clang +WORKDIR /compilers/switch/clang-8.0.0 +RUN patch_dir="/tmp/patches/clang-8.0.0/include/c++/v1" && \ + if [ -d "$patch_dir" ]; then \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -p1 < "$patch"; \ + done; \ + fi + +RUN rm -rf /tmp/patches + RUN chown -R root:root /compilers/switch/clang-8.0.0/ diff --git a/platforms/switch/clang-8.0.0/linux/Dockerfile b/platforms/switch/clang-8.0.0/linux/Dockerfile index 2f083a2..04c2f52 100644 --- a/platforms/switch/clang-8.0.0/linux/Dockerfile +++ b/platforms/switch/clang-8.0.0/linux/Dockerfile @@ -25,6 +25,25 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-8.0.0/ +RUN apk add --no-cache patch + +ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches +ARG PATCH_BRANCH=main + +RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches + +# apply patches to clang +WORKDIR /compilers/switch/clang-8.0.0 +RUN patch_dir="/tmp/patches/clang-8.0.0/include/c++/v1" && \ + if [ -d "$patch_dir" ]; then \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -p1 < "$patch"; \ + done; \ + fi + +RUN rm -rf /tmp/patches + RUN chown -R root:root /compilers/switch/clang-8.0.0/ diff --git a/templates/switch/clang.j2 b/templates/switch/clang.j2 index f48b045..6c2ea08 100644 --- a/templates/switch/clang.j2 +++ b/templates/switch/clang.j2 @@ -24,6 +24,25 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/{{ platform }}/{{ id }}/ +RUN apk add --no-cache patch + +ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches +ARG PATCH_BRANCH=main + +RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches + +# apply patches to clang +WORKDIR /compilers/{{ platform }}/{{ id }} +RUN patch_dir="/tmp/patches/{{ id }}/include/c++/v1" && \ + if [ -d "$patch_dir" ]; then \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -p1 < "$patch"; \ + done; \ + fi + +RUN rm -rf /tmp/patches + RUN chown -R root:root /compilers/{{ platform }}/{{ id }}/ From 4d732098d39befe54e0672ceee6146f2cb9986bc Mon Sep 17 00:00:00 2001 From: GRAnimated Date: Tue, 29 Jul 2025 15:26:37 -0400 Subject: [PATCH 2/5] No need to delete tmp/patches --- templates/switch/clang.j2 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/templates/switch/clang.j2 b/templates/switch/clang.j2 index 6c2ea08..1fc3631 100644 --- a/templates/switch/clang.j2 +++ b/templates/switch/clang.j2 @@ -24,7 +24,7 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/{{ platform }}/{{ id }}/ -RUN apk add --no-cache patch +RUN apk add --no-cache git patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main @@ -41,8 +41,6 @@ RUN patch_dir="/tmp/patches/{{ id }}/include/c++/v1" && \ done; \ fi -RUN rm -rf /tmp/patches - RUN chown -R root:root /compilers/{{ platform }}/{{ id }}/ From e6d69f8b0d78aafbe4240e3647419576a72b9661 Mon Sep 17 00:00:00 2001 From: GRAnimated Date: Tue, 29 Jul 2025 15:32:18 -0400 Subject: [PATCH 3/5] Download the patches repo instead of cloning it --- platforms/switch/clang-3.9.1/linux/Dockerfile | 6 +++--- platforms/switch/clang-4.0.1/darwin/Dockerfile | 6 +++--- platforms/switch/clang-4.0.1/linux/Dockerfile | 6 +++--- platforms/switch/clang-8.0.0/darwin/Dockerfile | 6 +++--- platforms/switch/clang-8.0.0/linux/Dockerfile | 6 +++--- templates/switch/clang.j2 | 6 ++++-- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/platforms/switch/clang-3.9.1/linux/Dockerfile b/platforms/switch/clang-3.9.1/linux/Dockerfile index db37da6..dde15a5 100644 --- a/platforms/switch/clang-3.9.1/linux/Dockerfile +++ b/platforms/switch/clang-3.9.1/linux/Dockerfile @@ -30,7 +30,9 @@ RUN apk add --no-cache patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main -RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches +RUN wget -O patches.zip "${PATCH_REPO}/archive/refs/heads/${PATCH_BRANCH}.zip" +RUN unzip patches.zip -d /tmp +RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang WORKDIR /compilers/switch/clang-3.9.1 @@ -42,8 +44,6 @@ RUN patch_dir="/tmp/patches/clang-3.9.1/include/c++/v1" && \ done; \ fi -RUN rm -rf /tmp/patches - RUN chown -R root:root /compilers/switch/clang-3.9.1/ diff --git a/platforms/switch/clang-4.0.1/darwin/Dockerfile b/platforms/switch/clang-4.0.1/darwin/Dockerfile index 099f229..3f8cf89 100644 --- a/platforms/switch/clang-4.0.1/darwin/Dockerfile +++ b/platforms/switch/clang-4.0.1/darwin/Dockerfile @@ -30,7 +30,9 @@ RUN apk add --no-cache patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main -RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches +RUN wget -O patches.zip "${PATCH_REPO}/archive/refs/heads/${PATCH_BRANCH}.zip" +RUN unzip patches.zip -d /tmp +RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang WORKDIR /compilers/switch/clang-4.0.1 @@ -42,8 +44,6 @@ RUN patch_dir="/tmp/patches/clang-4.0.1/include/c++/v1" && \ done; \ fi -RUN rm -rf /tmp/patches - RUN chown -R root:root /compilers/switch/clang-4.0.1/ diff --git a/platforms/switch/clang-4.0.1/linux/Dockerfile b/platforms/switch/clang-4.0.1/linux/Dockerfile index 4919337..bfd11ea 100644 --- a/platforms/switch/clang-4.0.1/linux/Dockerfile +++ b/platforms/switch/clang-4.0.1/linux/Dockerfile @@ -30,7 +30,9 @@ RUN apk add --no-cache patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main -RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches +RUN wget -O patches.zip "${PATCH_REPO}/archive/refs/heads/${PATCH_BRANCH}.zip" +RUN unzip patches.zip -d /tmp +RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang WORKDIR /compilers/switch/clang-4.0.1 @@ -42,8 +44,6 @@ RUN patch_dir="/tmp/patches/clang-4.0.1/include/c++/v1" && \ done; \ fi -RUN rm -rf /tmp/patches - RUN chown -R root:root /compilers/switch/clang-4.0.1/ diff --git a/platforms/switch/clang-8.0.0/darwin/Dockerfile b/platforms/switch/clang-8.0.0/darwin/Dockerfile index 8a4a0e5..943283c 100644 --- a/platforms/switch/clang-8.0.0/darwin/Dockerfile +++ b/platforms/switch/clang-8.0.0/darwin/Dockerfile @@ -30,7 +30,9 @@ RUN apk add --no-cache patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main -RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches +RUN wget -O patches.zip "${PATCH_REPO}/archive/refs/heads/${PATCH_BRANCH}.zip" +RUN unzip patches.zip -d /tmp +RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang WORKDIR /compilers/switch/clang-8.0.0 @@ -42,8 +44,6 @@ RUN patch_dir="/tmp/patches/clang-8.0.0/include/c++/v1" && \ done; \ fi -RUN rm -rf /tmp/patches - RUN chown -R root:root /compilers/switch/clang-8.0.0/ diff --git a/platforms/switch/clang-8.0.0/linux/Dockerfile b/platforms/switch/clang-8.0.0/linux/Dockerfile index 04c2f52..ebfde7c 100644 --- a/platforms/switch/clang-8.0.0/linux/Dockerfile +++ b/platforms/switch/clang-8.0.0/linux/Dockerfile @@ -30,7 +30,9 @@ RUN apk add --no-cache patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main -RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches +RUN wget -O patches.zip "${PATCH_REPO}/archive/refs/heads/${PATCH_BRANCH}.zip" +RUN unzip patches.zip -d /tmp +RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang WORKDIR /compilers/switch/clang-8.0.0 @@ -42,8 +44,6 @@ RUN patch_dir="/tmp/patches/clang-8.0.0/include/c++/v1" && \ done; \ fi -RUN rm -rf /tmp/patches - RUN chown -R root:root /compilers/switch/clang-8.0.0/ diff --git a/templates/switch/clang.j2 b/templates/switch/clang.j2 index 1fc3631..13de885 100644 --- a/templates/switch/clang.j2 +++ b/templates/switch/clang.j2 @@ -24,12 +24,14 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/{{ platform }}/{{ id }}/ -RUN apk add --no-cache git patch +RUN apk add patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main -RUN git clone --branch ${PATCH_BRANCH} ${PATCH_REPO} /tmp/patches +RUN wget -O patches.zip "${PATCH_REPO}/archive/refs/heads/${PATCH_BRANCH}.zip" +RUN unzip patches.zip -d /tmp +RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang WORKDIR /compilers/{{ platform }}/{{ id }} From 82f3e59933ae8395ae80cebbda07fa41451fcd37 Mon Sep 17 00:00:00 2001 From: GRAnimated Date: Tue, 29 Jul 2025 15:34:33 -0400 Subject: [PATCH 4/5] Update templates, oops --- platforms/switch/clang-3.9.1/linux/Dockerfile | 2 +- platforms/switch/clang-4.0.1/darwin/Dockerfile | 2 +- platforms/switch/clang-4.0.1/linux/Dockerfile | 2 +- platforms/switch/clang-8.0.0/darwin/Dockerfile | 2 +- platforms/switch/clang-8.0.0/linux/Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/platforms/switch/clang-3.9.1/linux/Dockerfile b/platforms/switch/clang-3.9.1/linux/Dockerfile index dde15a5..5b25fc2 100644 --- a/platforms/switch/clang-3.9.1/linux/Dockerfile +++ b/platforms/switch/clang-3.9.1/linux/Dockerfile @@ -25,7 +25,7 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-3.9.1/ -RUN apk add --no-cache patch +RUN apk add patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main diff --git a/platforms/switch/clang-4.0.1/darwin/Dockerfile b/platforms/switch/clang-4.0.1/darwin/Dockerfile index 3f8cf89..4faaebb 100644 --- a/platforms/switch/clang-4.0.1/darwin/Dockerfile +++ b/platforms/switch/clang-4.0.1/darwin/Dockerfile @@ -25,7 +25,7 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-4.0.1/ -RUN apk add --no-cache patch +RUN apk add patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main diff --git a/platforms/switch/clang-4.0.1/linux/Dockerfile b/platforms/switch/clang-4.0.1/linux/Dockerfile index bfd11ea..2c69bf6 100644 --- a/platforms/switch/clang-4.0.1/linux/Dockerfile +++ b/platforms/switch/clang-4.0.1/linux/Dockerfile @@ -25,7 +25,7 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-4.0.1/ -RUN apk add --no-cache patch +RUN apk add patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main diff --git a/platforms/switch/clang-8.0.0/darwin/Dockerfile b/platforms/switch/clang-8.0.0/darwin/Dockerfile index 943283c..48db09d 100644 --- a/platforms/switch/clang-8.0.0/darwin/Dockerfile +++ b/platforms/switch/clang-8.0.0/darwin/Dockerfile @@ -25,7 +25,7 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-8.0.0/ -RUN apk add --no-cache patch +RUN apk add patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main diff --git a/platforms/switch/clang-8.0.0/linux/Dockerfile b/platforms/switch/clang-8.0.0/linux/Dockerfile index ebfde7c..9a29ef7 100644 --- a/platforms/switch/clang-8.0.0/linux/Dockerfile +++ b/platforms/switch/clang-8.0.0/linux/Dockerfile @@ -25,7 +25,7 @@ RUN wget -O musl.zip https://github.com/open-ead/botw-lib-musl/archive/${MUSL_HA RUN unzip musl.zip RUN cp -r botw-lib-musl-${MUSL_HASH} /compilers/switch/clang-8.0.0/ -RUN apk add --no-cache patch +RUN apk add patch ARG PATCH_REPO=https://github.com/GRAnimated/switch-clang-patches ARG PATCH_BRANCH=main From eff4a932eccb937335d5c7383240ecff046bdce6 Mon Sep 17 00:00:00 2001 From: GRAnimated Date: Tue, 29 Jul 2025 20:48:12 -0400 Subject: [PATCH 5/5] Fix include directory for the patch --- platforms/switch/clang-3.9.1/linux/Dockerfile | 13 +++++-------- platforms/switch/clang-4.0.1/darwin/Dockerfile | 13 +++++-------- platforms/switch/clang-4.0.1/linux/Dockerfile | 13 +++++-------- platforms/switch/clang-8.0.0/darwin/Dockerfile | 13 +++++-------- platforms/switch/clang-8.0.0/linux/Dockerfile | 13 +++++-------- templates/switch/clang.j2 | 13 +++++-------- 6 files changed, 30 insertions(+), 48 deletions(-) diff --git a/platforms/switch/clang-3.9.1/linux/Dockerfile b/platforms/switch/clang-3.9.1/linux/Dockerfile index 5b25fc2..f6ea3bc 100644 --- a/platforms/switch/clang-3.9.1/linux/Dockerfile +++ b/platforms/switch/clang-3.9.1/linux/Dockerfile @@ -35,14 +35,11 @@ RUN unzip patches.zip -d /tmp RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang -WORKDIR /compilers/switch/clang-3.9.1 -RUN patch_dir="/tmp/patches/clang-3.9.1/include/c++/v1" && \ - if [ -d "$patch_dir" ]; then \ - find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ - echo "Applying patch: $patch"; \ - patch -p1 < "$patch"; \ - done; \ - fi +RUN patch_dir="/tmp/patches/clang-3.9.1" && \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -d "/compilers/switch/clang-3.9.1" -p0 < "$patch"; \ + done; RUN chown -R root:root /compilers/switch/clang-3.9.1/ diff --git a/platforms/switch/clang-4.0.1/darwin/Dockerfile b/platforms/switch/clang-4.0.1/darwin/Dockerfile index 4faaebb..6e07db1 100644 --- a/platforms/switch/clang-4.0.1/darwin/Dockerfile +++ b/platforms/switch/clang-4.0.1/darwin/Dockerfile @@ -35,14 +35,11 @@ RUN unzip patches.zip -d /tmp RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang -WORKDIR /compilers/switch/clang-4.0.1 -RUN patch_dir="/tmp/patches/clang-4.0.1/include/c++/v1" && \ - if [ -d "$patch_dir" ]; then \ - find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ - echo "Applying patch: $patch"; \ - patch -p1 < "$patch"; \ - done; \ - fi +RUN patch_dir="/tmp/patches/clang-4.0.1" && \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -d "/compilers/switch/clang-4.0.1" -p0 < "$patch"; \ + done; RUN chown -R root:root /compilers/switch/clang-4.0.1/ diff --git a/platforms/switch/clang-4.0.1/linux/Dockerfile b/platforms/switch/clang-4.0.1/linux/Dockerfile index 2c69bf6..b6893b5 100644 --- a/platforms/switch/clang-4.0.1/linux/Dockerfile +++ b/platforms/switch/clang-4.0.1/linux/Dockerfile @@ -35,14 +35,11 @@ RUN unzip patches.zip -d /tmp RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang -WORKDIR /compilers/switch/clang-4.0.1 -RUN patch_dir="/tmp/patches/clang-4.0.1/include/c++/v1" && \ - if [ -d "$patch_dir" ]; then \ - find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ - echo "Applying patch: $patch"; \ - patch -p1 < "$patch"; \ - done; \ - fi +RUN patch_dir="/tmp/patches/clang-4.0.1" && \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -d "/compilers/switch/clang-4.0.1" -p0 < "$patch"; \ + done; RUN chown -R root:root /compilers/switch/clang-4.0.1/ diff --git a/platforms/switch/clang-8.0.0/darwin/Dockerfile b/platforms/switch/clang-8.0.0/darwin/Dockerfile index 48db09d..810abe1 100644 --- a/platforms/switch/clang-8.0.0/darwin/Dockerfile +++ b/platforms/switch/clang-8.0.0/darwin/Dockerfile @@ -35,14 +35,11 @@ RUN unzip patches.zip -d /tmp RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang -WORKDIR /compilers/switch/clang-8.0.0 -RUN patch_dir="/tmp/patches/clang-8.0.0/include/c++/v1" && \ - if [ -d "$patch_dir" ]; then \ - find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ - echo "Applying patch: $patch"; \ - patch -p1 < "$patch"; \ - done; \ - fi +RUN patch_dir="/tmp/patches/clang-8.0.0" && \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -d "/compilers/switch/clang-8.0.0" -p0 < "$patch"; \ + done; RUN chown -R root:root /compilers/switch/clang-8.0.0/ diff --git a/platforms/switch/clang-8.0.0/linux/Dockerfile b/platforms/switch/clang-8.0.0/linux/Dockerfile index 9a29ef7..ac6ab22 100644 --- a/platforms/switch/clang-8.0.0/linux/Dockerfile +++ b/platforms/switch/clang-8.0.0/linux/Dockerfile @@ -35,14 +35,11 @@ RUN unzip patches.zip -d /tmp RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang -WORKDIR /compilers/switch/clang-8.0.0 -RUN patch_dir="/tmp/patches/clang-8.0.0/include/c++/v1" && \ - if [ -d "$patch_dir" ]; then \ - find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ - echo "Applying patch: $patch"; \ - patch -p1 < "$patch"; \ - done; \ - fi +RUN patch_dir="/tmp/patches/clang-8.0.0" && \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -d "/compilers/switch/clang-8.0.0" -p0 < "$patch"; \ + done; RUN chown -R root:root /compilers/switch/clang-8.0.0/ diff --git a/templates/switch/clang.j2 b/templates/switch/clang.j2 index 13de885..1d309e3 100644 --- a/templates/switch/clang.j2 +++ b/templates/switch/clang.j2 @@ -34,14 +34,11 @@ RUN unzip patches.zip -d /tmp RUN mv /tmp/switch-clang-patches-${PATCH_BRANCH} /tmp/patches # apply patches to clang -WORKDIR /compilers/{{ platform }}/{{ id }} -RUN patch_dir="/tmp/patches/{{ id }}/include/c++/v1" && \ - if [ -d "$patch_dir" ]; then \ - find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ - echo "Applying patch: $patch"; \ - patch -p1 < "$patch"; \ - done; \ - fi +RUN patch_dir="/tmp/patches/{{ id }}" && \ + find "$patch_dir" -type f -name '*.diff' -print0 | while IFS= read -r -d '' patch; do \ + echo "Applying patch: $patch"; \ + patch -d "/compilers/{{ platform }}/{{ id }}" -p0 < "$patch"; \ + done; RUN chown -R root:root /compilers/{{ platform }}/{{ id }}/