@@ -19,7 +19,7 @@ extends "GradleJob.pkl"
1919import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.5.0#/Config.pkl"
2020
2121/// The architecture to use
22- arch: "amd64" | "aarch64"
22+ arch: "amd64" | "aarch64"
2323
2424/// Whether to link to musl. Otherwise, links to glibc.
2525musl : Boolean = false
@@ -44,40 +44,45 @@ local setupLinuxEnvironment: Config.RunStep =
4444 new {
4545 name = "Set up environment"
4646 shell = "#!/bin/bash -exo pipefail"
47- command = new Listing {
48- #"""
49- sed -ie '/\[ol8_codeready_builder\]/,/^$/s/enabled=0/enabled=1/g' /etc/yum.repos.d/oracle-linux-ol8.repo \
50- && microdnf -y install util-linux tree coreutils-single findutils curl tar gzip git zlib-devel gcc-c++ make openssl glibc-langpack-en libstdc++-static \
51- && microdnf clean all \
52- && rm -rf /var/cache/dnf
53-
54- # install jdk
55- curl -Lf \
56- https://github.com/adoptium/temurin\#(module.majorJdkVersion) -binaries/releases/download/\#(module.jdkGitHubReleaseName) /OpenJDK\#(module.majorJdkVersion) U-jdk_\#(if (arch == "amd64") "x64" else "aarch64")_linux_hotspot_\#(module.jdkVersionAlt) .tar.gz -o /tmp/jdk.tar.gz
57-
58- mkdir /jdk \
59- && cd /jdk \
60- && cat /tmp/jdk.tar.gz | tar --strip-components=1 -xzC .
61-
62- mkdir -p ~/staticdeps/bin
63-
64- cp /usr/lib/gcc/\#(if (arch == "amd64") "x86_64" else "aarch64")-redhat-linux/8/libstdc++.a ~/staticdeps
65-
66- # install zlib
67- if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
68- curl -Lf https://github.com/madler/zlib/releases/download/v\#(zlibVersion) /zlib-\#(zlibVersion) .tar.gz -o /tmp/zlib.tar.gz
69-
70- mkdir -p /tmp/dep_zlib-\#(zlibVersion) \
71- && cd /tmp/dep_zlib-\#(zlibVersion) \
72- && cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC . \
73- && echo "zlib-\#(zlibVersion) : configure..." && ./configure --static --prefix="$HOME"/staticdeps > /dev/null \
74- && echo "zlib-\#(zlibVersion) : make..." && make -s -j4 \
75- && echo "zlib-\#(zlibVersion) : make install..." && make -s install \
76- && rm -rf /tmp/dep_zlib-\#(zlibVersion)
77- fi
78- """#
79- // don't need musl on aarch because GraalVM only supports musl builds on x86
80- when (arch == "amd64" ) {
47+ command =
48+ new Listing {
49+ #"""
50+ sed -ie '/\[ol8_codeready_builder\]/,/^$/s/enabled=0/enabled=1/g' /etc/yum.repos.d/oracle-linux-ol8.repo \
51+ && microdnf -y install util-linux tree coreutils-single findutils curl tar gzip git zlib-devel gcc-c++ make openssl glibc-langpack-en libstdc++-static \
52+ && microdnf clean all \
53+ && rm -rf /var/cache/dnf
54+
55+ # install jdk
56+ curl -Lf \
57+ https://github.com/adoptium/temurin\#(module.majorJdkVersion) -binaries/releases/download/\#( module
58+ .jdkGitHubReleaseName)/OpenJDK\#(module.majorJdkVersion) U-jdk_\#(if (arch == "amd64")
59+ "x64"
60+ else
61+ "aarch64")_linux_hotspot_\#(module.jdkVersionAlt) .tar.gz -o /tmp/jdk.tar.gz
62+
63+ mkdir /jdk \
64+ && cd /jdk \
65+ && cat /tmp/jdk.tar.gz | tar --strip-components=1 -xzC .
66+
67+ mkdir -p ~/staticdeps/bin
68+
69+ cp /usr/lib/gcc/\#(if (arch == "amd64") "x86_64" else "aarch64")-redhat-linux/8/libstdc++.a ~/staticdeps
70+
71+ # install zlib
72+ if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
73+ curl -Lf https://github.com/madler/zlib/releases/download/v\#(zlibVersion) /zlib-\#(zlibVersion) .tar.gz -o /tmp/zlib.tar.gz
74+
75+ mkdir -p /tmp/dep_zlib-\#(zlibVersion) \
76+ && cd /tmp/dep_zlib-\#(zlibVersion) \
77+ && cat /tmp/zlib.tar.gz | tar --strip-components=1 -xzC . \
78+ && echo "zlib-\#(zlibVersion) : configure..." && ./configure --static --prefix="$HOME"/staticdeps > /dev/null \
79+ && echo "zlib-\#(zlibVersion) : make..." && make -s -j4 \
80+ && echo "zlib-\#(zlibVersion) : make install..." && make -s install \
81+ && rm -rf /tmp/dep_zlib-\#(zlibVersion)
82+ fi
83+ """#
84+ // don't need musl on aarch because GraalVM only supports musl builds on x86
85+ when (arch == "amd64" ) {
8186 #"""
8287 # install musl
8388 if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
@@ -95,25 +100,28 @@ local setupLinuxEnvironment: Config.RunStep =
95100 ln -s ~/staticdeps/bin/musl-gcc ~/staticdeps/bin/x86_64-linux-musl-gcc
96101 fi
97102 """#
98- }
99- }.join("\n\n " )
103+ }
104+ }.join("\n\n " )
100105 }
101106
102- local setupMacEnvironment : Config .RunStep =
103- new {
104- name = "Set up environment"
105- shell = "#!/bin/bash -exo pipefail"
106- command =
107- #"""
108- # install jdk
109- curl -Lf \
110- https://github.com/adoptium/temurin\#(module.majorJdkVersion) -binaries/releases/download/\#(module.jdkGitHubReleaseName) /OpenJDK\#(module.majorJdkVersion) U-jdk_\#(if (arch == "amd64") "x64" else "aarch64")_mac_hotspot_\#(module.jdkVersionAlt) .tar.gz -o /tmp/jdk.tar.gz
111-
112- mkdir $HOME/jdk \
113- && cd $HOME/jdk \
114- && cat /tmp/jdk.tar.gz | tar --strip-components=1 -xzC .
115- """#
116- }
107+ local setupMacEnvironment : Config .RunStep = new {
108+ name = "Set up environment"
109+ shell = "#!/bin/bash -exo pipefail"
110+ command =
111+ #"""
112+ # install jdk
113+ curl -Lf \
114+ https://github.com/adoptium/temurin\#(module.majorJdkVersion) -binaries/releases/download/\#( module
115+ .jdkGitHubReleaseName)/OpenJDK\#(module.majorJdkVersion) U-jdk_\#(if (arch == "amd64")
116+ "x64"
117+ else
118+ "aarch64")_mac_hotspot_\#(module.jdkVersionAlt) .tar.gz -o /tmp/jdk.tar.gz
119+
120+ mkdir $HOME/jdk \
121+ && cd $HOME/jdk \
122+ && cat /tmp/jdk.tar.gz | tar --strip-components=1 -xzC .
123+ """#
124+ }
117125
118126steps {
119127 when (os == "linux" ) {
@@ -134,7 +142,8 @@ steps {
134142 when (arch == "amd64" ) {
135143 new Config .RunStep {
136144 name = "Installing Rosetta 2"
137- command = """
145+ command =
146+ """
138147 /usr/sbin/softwareupdate --install-rosetta --agree-to-license
139148 """
140149 }
@@ -146,7 +155,8 @@ steps {
146155 when (module .os == "windows" ) {
147156 shell = "bash.exe"
148157 }
149- command = #"""
158+ command =
159+ #"""
150160 export PATH=~/staticdeps/bin:$PATH
151161 ./gradlew \#(module.gradleArgs) \#(project) :buildNative
152162 """#
0 commit comments