@@ -55,19 +55,159 @@ jobs:
5555 wget "https://github.com/Tongsuo-Project/Tongsuo/archive/refs/tags/${TONGSUO_VERSION}.tar.gz"
5656 tar zxf "${TONGSUO_VERSION}.tar.gz"
5757 pushd "Tongsuo-${TONGSUO_VERSION}"
58- ./config --prefix=${RUNNER_TEMP}/tongsuo no-shared enable-ntls --release
58+ ./config --prefix=${RUNNER_TEMP}/tongsuo no-shared no-dso no-threads enable-ntls --release
5959 make -s -j4
6060 make install_sw
6161 popd
62+ - name : build libgpg-error
63+ run : |
64+ wget -nc https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.45.tar.gz
65+ tar xzf libgpg-error-1.45.tar.gz
66+ pushd libgpg-error-1.45
67+ ./configure \
68+ --disable-shared \
69+ --prefix="${RUNNER_TEMP}/libgpg-error" \
70+ --enable-static \
71+ --disable-doc
72+ make -s -j4
73+ make install
74+ - name : build libexpat
75+ run : |
76+ wget -nc https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.gz
77+ tar xzf expat-2.4.8.tar.gz
78+ pushd expat-2.4.8
79+ ./configure \
80+ --disable-shared \
81+ --prefix="${RUNNER_TEMP}/libexpat" \
82+ --enable-static \
83+ --without-docbook \
84+ --without-tests \
85+ --with-libgpg-error-prefix="${RUNNER_TEMP}/libgpg-error"
86+ make -s -j4
87+ make install
88+ popd
89+ - name : build libmetalink
90+ run : |
91+ wget -nc https://github.com/metalink-dev/libmetalink/releases/download/release-0.1.3/libmetalink-0.1.3.tar.gz
92+ tar xzf libmetalink-0.1.3.tar.gz
93+ pushd libmetalink-0.1.3
94+ EXPAT_CFLAGS="-I${RUNNER_TEMP}/libexpat/include" \
95+ EXPAT_LIBS="-L${RUNNER_TEMP}/libexpat/lib -lexpat" \
96+ ./configure \
97+ --disable-shared \
98+ --prefix="${RUNNER_TEMP}/libmetalink" \
99+ --enable-static \
100+ --with-libgpg-error-prefix="${RUNNER_TEMP}/libgpg-error" \
101+ --with-libexpat
102+ make -s -j4
103+ make install
104+ popd
105+ - name : build libunistring
106+ run : |
107+ wget -nc https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.gz
108+ tar zxf libunistring-1.1.tar.gz
109+ pushd libunistring-1.1
110+ ./configure \
111+ --prefix=${RUNNER_TEMP}/libunistring \
112+ --disable-shared
113+ make -s -j4
114+ make install
115+ popd
116+ - name : build libpcre2
117+ run : |
118+ wget -nc https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.gz
119+ tar xzf pcre2-10.40.tar.gz
120+ pushd pcre2-10.40
121+ ./configure \
122+ --disable-shared \
123+ --prefix=${RUNNER_TEMP}/libpcre2 \
124+ --enable-static
125+ make -s -j4
126+ make install
127+ popd
128+ - name : build libiconv
129+ run : |
130+ wget -nc https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz
131+ tar xzf libiconv-1.17.tar.gz
132+ pushd libiconv-1.17
133+ ./configure \
134+ --disable-shared \
135+ --prefix=${RUNNER_TEMP}/libiconv \
136+ --enable-static
137+ make -s -j4
138+ make install
139+ popd
140+ - name : build gettext (libintl)
141+ if : ${{ matrix.builder == 'macos-latest' }}
142+ run : |
143+ wget -nc https://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.1.tar.gz
144+ tar xzf gettext-0.21.1.tar.gz
145+ pushd gettext-0.21.1
146+ ./configure \
147+ --disable-shared \
148+ --prefix=${RUNNER_TEMP}/gettext \
149+ --enable-static \
150+ --disable-java \
151+ --disable-c++
152+ make -s -j4
153+ make install
154+ popd
62155 - uses : actions/checkout@v3
63156 with :
64157 path : wget
65- - name : build wget
158+ - name : build wget (ubuntu)
159+ if : ${{ matrix.builder == 'ubuntu-latest' }}
66160 working-directory : ./wget
67161 run : |
68162 ./bootstrap --skip-po --no-bootstrap-sync
69163 autoreconf -fi
70- ./configure --prefix=${RUNNER_TEMP}/wget --with-ssl=openssl --with-libssl-prefix=${RUNNER_TEMP}/tongsuo --disable-ntlm
164+ CFLAGS="-DPCRE2_STATIC=1 -I${RUNNER_TEMP}/libunistring/include -I${RUNNER_TEMP}/libiconv/include" \
165+ LDFLAGS="-L${RUNNER_TEMP}/libunistring/lib -lunistring -L${RUNNER_TEMP}/libiconv/lib -liconv" \
166+ PCRE2_CFLAGS="-I${RUNNER_TEMP}/libpcre2/include" \
167+ PCRE2_LIBS="-L${RUNNER_TEMP}/libpcre2/lib -lpcre2-8" \
168+ METALINK_CFLAGS="-I${RUNNER_TEMP}/libmetalink/include" \
169+ METALINK_LIBS="-L${RUNNER_TEMP}/libmetalink/lib -lmetalink -L${RUNNER_TEMP}/libexpat/lib -lexpat" \
170+ ./configure \
171+ --prefix=${RUNNER_TEMP}/wget \
172+ --with-ssl=openssl \
173+ --with-libssl-prefix=${RUNNER_TEMP}/tongsuo \
174+ --without-zlib \
175+ --without-libiconv-prefix \
176+ --disable-iri \
177+ --disable-ntlm \
178+ --disable-pcre \
179+ --without-libpsl \
180+ --without-libuuid \
181+ --without-libintl-prefix \
182+ --with-included-libunistring
183+ make -s -j4
184+ make install
185+ find ${RUNNER_TEMP}/wget -type f -name wget
186+ - name : build wget (macos)
187+ if : ${{ matrix.builder == 'macos-latest' }}
188+ working-directory : ./wget
189+ run : |
190+ ./bootstrap --skip-po --no-bootstrap-sync
191+ autoreconf -fi
192+ CFLAGS="-DPCRE2_STATIC=1 -I${RUNNER_TEMP}/libunistring/include -I${RUNNER_TEMP}/libiconv/include" \
193+ LDFLAGS="-L${RUNNER_TEMP}/libunistring/lib -lunistring -L${RUNNER_TEMP}/libiconv/lib -liconv ${RUNNER_TEMP}/gettext/lib/libintl.a" \
194+ PCRE2_CFLAGS="-I${RUNNER_TEMP}/libpcre2/include" \
195+ PCRE2_LIBS="-L${RUNNER_TEMP}/libpcre2/lib -lpcre2-8" \
196+ METALINK_CFLAGS="-I${RUNNER_TEMP}/libmetalink/include" \
197+ METALINK_LIBS="-L${RUNNER_TEMP}/libmetalink/lib -lmetalink -L${RUNNER_TEMP}/libexpat/lib -lexpat" \
198+ ./configure \
199+ --prefix=${RUNNER_TEMP}/wget \
200+ --with-ssl=openssl \
201+ --with-libssl-prefix=${RUNNER_TEMP}/tongsuo \
202+ --without-zlib \
203+ --without-libiconv-prefix \
204+ --disable-iri \
205+ --disable-ntlm \
206+ --disable-pcre \
207+ --without-libpsl \
208+ --without-libuuid \
209+ --without-libintl-prefix \
210+ --with-included-libunistring
71211 make -s -j4
72212 make install
73213 find ${RUNNER_TEMP}/wget -type f -name wget
@@ -80,6 +220,11 @@ jobs:
80220 asset_path : ${{ runner.temp }}/wget/bin/wget
81221 asset_name : wget-${{ runner.os }}
82222 asset_content_type : application/octet-stream
223+ - name : debug
224+ if : ${{ failure() }}
225+ working-directory : ./wget
226+ run : |
227+ cat config.log
83228 build_windows :
84229 runs-on : windows-latest
85230 needs : [new_release]
@@ -90,42 +235,146 @@ jobs:
90235 - name : install dependencies
91236 shell : msys2 {0}
92237 run : |
93- pacman -S --noconfirm base-devel msys2-runtime-devel mingw-w64-x86_64-toolchain autoconf automake git gperf pkg-config autoconf-archive gcc
238+ pacman -S --noconfirm base-devel msys2-runtime-devel mingw-w64-x86_64-toolchain autoconf automake git gperf pkg-config autoconf-archive gcc gettext
94239 ls -l ${RUNNER_TEMP}
95240 find ${RUNNER_TEMP} -type d -name openssl
96241 rm -rf ${RUNNER_TEMP}/msys64/mingw64/include/openssl
97242 ls -l ${RUNNER_TEMP}/msys64/mingw64/include/
243+ - name : Set env
244+ shell : msys2 {0}
245+ run : echo "RUN_TEMP=$(cd ${RUNNER_TEMP} && pwd)" >> $GITHUB_ENV
98246 - name : build Tongsuo
99247 shell : msys2 {0}
100248 run : |
101249 wget "https://github.com/Tongsuo-Project/Tongsuo/archive/refs/tags/${TONGSUO_VERSION}.tar.gz"
102250 tar zxf "${TONGSUO_VERSION}.tar.gz"
103251 pushd "Tongsuo-${TONGSUO_VERSION}"
104- ./Configure mingw64 enable-ntls no-shared -- release --prefix=${RUNNER_TEMP }/tongsuo
252+ ./Configure mingw64 enable-ntls no-shared no-dso no-threads -- release --prefix=${RUN_TEMP }/tongsuo
105253 make depend
106254 make -s -j4
107255 make install_sw
108256 popd
257+ - name : build libexpat
258+ shell : msys2 {0}
259+ run : |
260+ wget -nc https://github.com/libexpat/libexpat/releases/download/R_2_4_8/expat-2.4.8.tar.gz
261+ tar xzf expat-2.4.8.tar.gz
262+ pushd expat-2.4.8
263+ ./configure \
264+ --host=mingw32 \
265+ --disable-shared \
266+ --prefix=${runner_temp}/libexpat \
267+ --enable-static \
268+ --without-docbook \
269+ --without-tests \
270+ --with-libgpg-error-prefix=${RUN_TEMP}/libexpat
271+ make -s -j4
272+ make install
273+ popd
274+ - name : build libmetalink
275+ shell : msys2 {0}
276+ run : |
277+ wget -nc https://github.com/metalink-dev/libmetalink/releases/download/release-0.1.3/libmetalink-0.1.3.tar.gz
278+ tar xzf libmetalink-0.1.3.tar.gz
279+ pushd libmetalink-0.1.3
280+ EXPAT_CFLAGS="-I${RUN_TEMP}/libexpat/include" \
281+ EXPAT_LIBS="-L${RUN_TEMP}/libexpat/lib -lexpat" \
282+ ./configure \
283+ --host=mingw32 \
284+ --disable-shared \
285+ --prefix="${RUN_TEMP}/libmetalink" \
286+ --enable-static \
287+ --with-libgpg-error-prefix="${RUN_TEMP}/libmetalink" \
288+ --with-libexpat
289+ make -s -j4
290+ make install
291+ popd
292+ - name : build libunistring
293+ shell : msys2 {0}
294+ run : |
295+ wget -nc https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.gz
296+ tar zxf libunistring-1.1.tar.gz
297+ pushd libunistring-1.1
298+ ./configure \
299+ --host=mingw32 \
300+ --prefix=${RUN_TEMP}/libunistring \
301+ --disable-shared
302+ make -s -j4
303+ make install
304+ popd
305+ - name : build libpcre2
306+ shell : msys2 {0}
307+ run : |
308+ wget -nc https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.gz
309+ tar xzf pcre2-10.40.tar.gz
310+ pushd pcre2-10.40
311+ ./configure \
312+ --host=mingw32 \
313+ --disable-shared \
314+ --prefix=${RUN_TEMP}/libpcre2 \
315+ --enable-static
316+ make -s -j4
317+ make install
318+ popd
319+ - name : build libiconv
320+ shell : msys2 {0}
321+ run : |
322+ wget -nc https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz
323+ tar xzf libiconv-1.17.tar.gz
324+ pushd libiconv-1.17
325+ ./configure \
326+ --host=mingw32 \
327+ --disable-shared \
328+ --prefix=${RUN_TEMP}/libiconv \
329+ --enable-static
330+ make -s -j4
331+ make install
332+ popd
109333 - uses : actions/checkout@v3
110334 with :
111335 path : wget
112336 - name : build wget
113337 shell : msys2 {0}
114338 working-directory : ./wget
115339 run : |
116- runner_temp=`cd ${RUNNER_TEMP} && pwd`
117340 ./bootstrap --skip-po --no-bootstrap-sync
118341 autoreconf -fi
119- CFLAGS="-D_WIN32_WINNT=0x0601" LIBS="-lbcrypt -lcrypt32" ./configure --prefix=${runner_temp}/wget --host=mingw32 --with-ssl=openssl --with-libssl-prefix=${runner_temp}/tongsuo --disable-ntlm
342+ CFLAGS="-D_WIN32_WINNT=0x0601 -DPCRE2_STATIC=1 -I${RUN_TEMP}/libunistring/include -I${RUN_TEMP}/libiconv/include" \
343+ LDFLAGS="-L${RUN_TEMP}/libunistring/lib -lunistring -L${RUN_TEMP}/libiconv/lib -liconv -static -static-libgcc" \
344+ PCRE2_CFLAGS="-I${RUN_TEMP}/libpcre2/include" \
345+ PCRE2_LIBS="-L${RUN_TEMP}/libpcre2/lib -lpcre2-8" \
346+ METALINK_CFLAGS="-I${RUN_TEMP}/libmetalink/include" \
347+ METALINK_LIBS="-L${RUN_TEMP}/libmetalink/lib -lmetalink -L${RUN_TEMP}/libexpat/lib -lexpat" \
348+ LIBS="-lbcrypt -lcrypt32" \
349+ ./configure \
350+ --prefix=${RUN_TEMP}/wget \
351+ --host=mingw32 \
352+ --with-ssl=openssl \
353+ --with-libssl-prefix=${RUN_TEMP}/tongsuo \
354+ --without-zlib \
355+ --without-libiconv-prefix \
356+ --disable-iri \
357+ --disable-ntlm \
358+ --disable-pcre \
359+ --without-libpsl \
360+ --without-libuuid \
361+ --without-libintl-prefix \
362+ --with-included-libunistring
120363 make -s -j4
121364 make install
122- find ${RUNNER_TEMP }/wget -type f -name wget.exe
365+ find ${RUN_TEMP }/wget -type f -name wget.exe
123366 - name : upload artifact
124367 uses : actions/upload-release-asset@v1
125368 env :
126369 GITHUB_TOKEN : ${{ github.token }}
127370 with :
128371 upload_url : ${{ needs.new_release.outputs.upload_url }}
129- asset_path : ${{ runner.temp }}/ wget/ bin/ wget.exe
372+ asset_path : ${{ runner.temp }}\ wget\ bin\ wget.exe
130373 asset_name : wget-${{ runner.os }}.exe
131374 asset_content_type : application/octet-stream
375+ - name : debug
376+ if : ${{ failure() }}
377+ shell : msys2 {0}
378+ working-directory : ./wget
379+ run : |
380+ cat config.log
0 commit comments