@@ -154,7 +154,7 @@ RUN \
154154 sed -i 's/default-members = ["rsvg", "rsvg_convert"]/default-members = ["rsvg"]/g' Cargo.toml && \
155155 sed -i "s/subdir('rsvg_convert')//g" meson.build && \
156156 meson setup build \
157- -Dbuildtype=release \
157+ -Dbuildtype=debug \
158158 -Ddefault_library=static \
159159 -Ddocs=disabled \
160160 -Dintrospection=disabled \
@@ -182,7 +182,7 @@ RUN \
182182 sed -i 's/lto = "thin"/lto = "off"/g' Cargo.toml && \
183183 CARGO_REGISTRIES_CRATES_IO_PROTOCOL="sparse" \
184184 RUSTFLAGS="-C target-feature=+crt-static" \
185- cargo cinstall --release
185+ cargo cinstall --debug
186186
187187# bump: ffmpeg /FFMPEG_VERSION=([\d.]+)/ https://github.com/FFmpeg/FFmpeg.git|*
188188# bump: ffmpeg after ./hashupdate Dockerfile FFMPEG $LATEST
@@ -208,10 +208,9 @@ RUN \
208208 sed -i 's/add_ldexeflags -fPIE -pie/add_ldexeflags -fPIE -static-pie/' configure && \
209209 ./configure \
210210 --pkg-config-flags="--static" \
211- --extra-cflags="-fopenmp" \
211+ --extra-cflags="-O0 -ggdb - fopenmp" \
212212 --extra-ldflags="-fopenmp -Wl,--allow-multiple-definition -Wl,-z,stack-size=2097152" \
213213 --toolchain=hardened \
214- --disable-debug \
215214 --disable-shared \
216215 --disable-ffplay \
217216 --enable-static \
@@ -220,123 +219,123 @@ RUN \
220219 || (cat ffbuild/config.log ; false) \
221220 && make -j$(nproc) install
222221
223- RUN \
224- EXPAT_VERSION=$(pkg-config --modversion expat) \
225- FFTW_VERSION=$(pkg-config --modversion fftw3) \
226- FONTCONFIG_VERSION=$(pkg-config --modversion fontconfig) \
227- FREETYPE_VERSION=$(pkg-config --modversion freetype2) \
228- FRIBIDI_VERSION=$(pkg-config --modversion fribidi) \
229- LIBSAMPLERATE_VERSION=$(pkg-config --modversion samplerate) \
230- LIBVO_AMRWBENC_VERSION=$(pkg-config --modversion vo-amrwbenc) \
231- LIBXML2_VERSION=$(pkg-config --modversion libxml-2.0) \
232- OPENSSL_VERSION=$(pkg-config --modversion openssl) \
233- SNAPPY_VERSION=$(apk info -a snappy $APK_OPTS | head -n1 | awk '{print $1}' | sed -e 's/snappy-//' ) \
234- SOXR_VERSION=$(pkg-config --modversion soxr) \
235- jq -n \
236- '{ \
237- expat: env.EXPAT_VERSION, \
238- "libfdk-aac": env.FDK_AAC_VERSION, \
239- ffmpeg: env.FFMPEG_VERSION, \
240- fftw: env.FFTW_VERSION, \
241- fontconfig: env.FONTCONFIG_VERSION, \
242- lcms2: env.LCMS2_VERSION, \
243- libaom: env.AOM_VERSION, \
244- libaribb24: env.LIBARIBB24_VERSION, \
245- libass: env.LIBASS_VERSION, \
246- libbluray: env.LIBBLURAY_VERSION, \
247- libdav1d: env.DAV1D_VERSION, \
248- libdavs2: env.DAVS2_VERSION, \
249- libfreetype: env.FREETYPE_VERSION, \
250- libfribidi: env.FRIBIDI_VERSION, \
251- libgme: env.LIBGME_COMMIT, \
252- libgsm: env.LIBGSM_COMMIT, \
253- libharfbuzz: env.LIBHARFBUZZ_VERSION, \
254- libjxl: env.LIBJXL_VERSION, \
255- libkvazaar: env.KVAZAAR_VERSION, \
256- libmodplug: env.LIBMODPLUG_VERSION, \
257- libmp3lame: env.MP3LAME_VERSION, \
258- libmysofa: env.LIBMYSOFA_VERSION, \
259- libogg: env.OGG_VERSION, \
260- libopencoreamr: env.OPENCOREAMR_VERSION, \
261- libopenjpeg: env.OPENJPEG_VERSION, \
262- libopus: env.OPUS_VERSION, \
263- librabbitmq: env.LIBRABBITMQ_VERSION, \
264- librav1e: env.RAV1E_VERSION, \
265- librsvg: env.LIBRSVG_VERSION, \
266- librtmp: env.LIBRTMP_COMMIT, \
267- librubberband: env.RUBBERBAND_VERSION, \
268- libsamplerate: env.LIBSAMPLERATE_VERSION, \
269- libshine: env.LIBSHINE_VERSION, \
270- libsnappy: env.SNAPPY_VERSION, \
271- libsoxr: env.SOXR_VERSION, \
272- libspeex: env.SPEEX_VERSION, \
273- libsrt: env.SRT_VERSION, \
274- libssh: env.LIBSSH_VERSION, \
275- libsvtav1: env.SVTAV1_VERSION, \
276- libtheora: env.THEORA_VERSION, \
277- libtwolame: env.TWOLAME_VERSION, \
278- libuavs3d: env.UAVS3D_COMMIT, \
279- libvidstab: env.VIDSTAB_VERSION, \
280- libvmaf: env.VMAF_VERSION, \
281- libvo_amrwbenc: env.LIBVO_AMRWBENC_VERSION, \
282- libvorbis: env.VORBIS_VERSION, \
283- libvpx: env.VPX_VERSION, \
284- libwebp: env.LIBWEBP_VERSION, \
285- libx264: env.X264_VERSION, \
286- libx265: env.X265_VERSION, \
287- libxavs2: env.XAVS2_VERSION, \
288- libxevd: env.XEVD_VERSION, \
289- libxeve: env.XEVE_VERSION, \
290- libxml2: env.LIBXML2_VERSION, \
291- libxvid: env.XVID_VERSION, \
292- libzimg: env.ZIMG_VERSION, \
293- libzmq: env.LIBZMQ_VERSION, \
294- openssl: env.OPENSSL_VERSION, \
295- }' > /versions.json
222+ # RUN \
223+ # EXPAT_VERSION=$(pkg-config --modversion expat) \
224+ # FFTW_VERSION=$(pkg-config --modversion fftw3) \
225+ # FONTCONFIG_VERSION=$(pkg-config --modversion fontconfig) \
226+ # FREETYPE_VERSION=$(pkg-config --modversion freetype2) \
227+ # FRIBIDI_VERSION=$(pkg-config --modversion fribidi) \
228+ # LIBSAMPLERATE_VERSION=$(pkg-config --modversion samplerate) \
229+ # LIBVO_AMRWBENC_VERSION=$(pkg-config --modversion vo-amrwbenc) \
230+ # LIBXML2_VERSION=$(pkg-config --modversion libxml-2.0) \
231+ # OPENSSL_VERSION=$(pkg-config --modversion openssl) \
232+ # SNAPPY_VERSION=$(apk info -a snappy $APK_OPTS | head -n1 | awk '{print $1}' | sed -e 's/snappy-//') \
233+ # SOXR_VERSION=$(pkg-config --modversion soxr) \
234+ # jq -n \
235+ # '{ \
236+ # expat: env.EXPAT_VERSION, \
237+ # "libfdk-aac": env.FDK_AAC_VERSION, \
238+ # ffmpeg: env.FFMPEG_VERSION, \
239+ # fftw: env.FFTW_VERSION, \
240+ # fontconfig: env.FONTCONFIG_VERSION, \
241+ # lcms2: env.LCMS2_VERSION, \
242+ # libaom: env.AOM_VERSION, \
243+ # libaribb24: env.LIBARIBB24_VERSION, \
244+ # libass: env.LIBASS_VERSION, \
245+ # libbluray: env.LIBBLURAY_VERSION, \
246+ # libdav1d: env.DAV1D_VERSION, \
247+ # libdavs2: env.DAVS2_VERSION, \
248+ # libfreetype: env.FREETYPE_VERSION, \
249+ # libfribidi: env.FRIBIDI_VERSION, \
250+ # libgme: env.LIBGME_COMMIT, \
251+ # libgsm: env.LIBGSM_COMMIT, \
252+ # libharfbuzz: env.LIBHARFBUZZ_VERSION, \
253+ # libjxl: env.LIBJXL_VERSION, \
254+ # libkvazaar: env.KVAZAAR_VERSION, \
255+ # libmodplug: env.LIBMODPLUG_VERSION, \
256+ # libmp3lame: env.MP3LAME_VERSION, \
257+ # libmysofa: env.LIBMYSOFA_VERSION, \
258+ # libogg: env.OGG_VERSION, \
259+ # libopencoreamr: env.OPENCOREAMR_VERSION, \
260+ # libopenjpeg: env.OPENJPEG_VERSION, \
261+ # libopus: env.OPUS_VERSION, \
262+ # librabbitmq: env.LIBRABBITMQ_VERSION, \
263+ # librav1e: env.RAV1E_VERSION, \
264+ # librsvg: env.LIBRSVG_VERSION, \
265+ # librtmp: env.LIBRTMP_COMMIT, \
266+ # librubberband: env.RUBBERBAND_VERSION, \
267+ # libsamplerate: env.LIBSAMPLERATE_VERSION, \
268+ # libshine: env.LIBSHINE_VERSION, \
269+ # libsnappy: env.SNAPPY_VERSION, \
270+ # libsoxr: env.SOXR_VERSION, \
271+ # libspeex: env.SPEEX_VERSION, \
272+ # libsrt: env.SRT_VERSION, \
273+ # libssh: env.LIBSSH_VERSION, \
274+ # libsvtav1: env.SVTAV1_VERSION, \
275+ # libtheora: env.THEORA_VERSION, \
276+ # libtwolame: env.TWOLAME_VERSION, \
277+ # libuavs3d: env.UAVS3D_COMMIT, \
278+ # libvidstab: env.VIDSTAB_VERSION, \
279+ # libvmaf: env.VMAF_VERSION, \
280+ # libvo_amrwbenc: env.LIBVO_AMRWBENC_VERSION, \
281+ # libvorbis: env.VORBIS_VERSION, \
282+ # libvpx: env.VPX_VERSION, \
283+ # libwebp: env.LIBWEBP_VERSION, \
284+ # libx264: env.X264_VERSION, \
285+ # libx265: env.X265_VERSION, \
286+ # libxavs2: env.XAVS2_VERSION, \
287+ # libxevd: env.XEVD_VERSION, \
288+ # libxeve: env.XEVE_VERSION, \
289+ # libxml2: env.LIBXML2_VERSION, \
290+ # libxvid: env.XVID_VERSION, \
291+ # libzimg: env.ZIMG_VERSION, \
292+ # libzmq: env.LIBZMQ_VERSION, \
293+ # openssl: env.OPENSSL_VERSION, \
294+ # }' > /versions.json
296295
297- # make sure binaries has no dependencies, is relro, pie and stack nx
298- COPY checkelf /
299- RUN \
300- /checkelf /usr/local/bin/ffmpeg && \
301- /checkelf /usr/local/bin/ffprobe
302- # workaround for using -Wl,--allow-multiple-definition
303- # see comment in checkdupsym for details
304- COPY checkdupsym /
305- RUN /checkdupsym /ffmpeg-*
296+ # # make sure binaries has no dependencies, is relro, pie and stack nx
297+ # COPY checkelf /
298+ # RUN \
299+ # /checkelf /usr/local/bin/ffmpeg && \
300+ # /checkelf /usr/local/bin/ffprobe
301+ # # workaround for using -Wl,--allow-multiple-definition
302+ # # see comment in checkdupsym for details
303+ # COPY checkdupsym /
304+ # RUN /checkdupsym /ffmpeg-*
306305
307- # some basic fonts that don't take up much space
308- RUN apk add $APK_OPTS font-terminus font-inconsolata font-dejavu font-awesome
306+ # # some basic fonts that don't take up much space
307+ # RUN apk add $APK_OPTS font-terminus font-inconsolata font-dejavu font-awesome
309308
310- FROM scratch AS final1
311- COPY --from=builder /usr/local/bin/ffmpeg /
312- COPY --from=builder /usr/local/bin/ffprobe /
313- COPY --from=builder /versions.json /
314- COPY --from=builder /usr/local/share/doc/ffmpeg/* /doc/
315- COPY --from=builder /etc/ssl/cert.pem /etc/ssl/cert.pem
316- COPY --from=builder /etc/fonts/ /etc/fonts/
317- COPY --from=builder /usr/share/fonts/ /usr/share/fonts/
318- COPY --from=builder /usr/share/consolefonts/ /usr/share/consolefonts/
319- COPY --from=builder /var/cache/fontconfig/ /var/cache/fontconfig/
309+ # FROM scratch AS final1
310+ # COPY --from=builder /usr/local/bin/ffmpeg /
311+ # COPY --from=builder /usr/local/bin/ffprobe /
312+ # COPY --from=builder /versions.json /
313+ # COPY --from=builder /usr/local/share/doc/ffmpeg/* /doc/
314+ # COPY --from=builder /etc/ssl/cert.pem /etc/ssl/cert.pem
315+ # COPY --from=builder /etc/fonts/ /etc/fonts/
316+ # COPY --from=builder /usr/share/fonts/ /usr/share/fonts/
317+ # COPY --from=builder /usr/share/consolefonts/ /usr/share/consolefonts/
318+ # COPY --from=builder /var/cache/fontconfig/ /var/cache/fontconfig/
320319
321- # sanity tests
322- RUN ["/ffmpeg" , "-version" ]
323- RUN ["/ffprobe" , "-version" ]
324- RUN ["/ffmpeg" , "-hide_banner" , "-buildconf" ]
325- # stack size
326- # RUN ["/ffmpeg", "-f", "lavfi", "-i", "testsrc", "-c:v", "libsvtav1", "-t", "100ms", "-f", "null", "-"]
327- # dns
328- # RUN ["/ffprobe", "-i", "https://github.com/favicon.ico"]
329- # tls/https certs
330- # RUN ["/ffprobe", "-tls_verify", "1", "-ca_file", "/etc/ssl/cert.pem", "-i", "https://github.com/favicon.ico"]
331- # svg
332- # RUN ["/ffprobe", "-i", "https://github.githubassets.com/favicons/favicon.svg"]
333- # >1 static rust libs
334- RUN ["/ffmpeg" , "-f" , "lavfi" , "-i" , "testsrc" , "-c:v" , "librav1e" , "-t" , "100ms" , "-f" , "null" , "-" ]
320+ # # sanity tests
321+ # RUN ["/ffmpeg", "-version"]
322+ # RUN ["/ffprobe", "-version"]
323+ # RUN ["/ffmpeg", "-hide_banner", "-buildconf"]
324+ # # stack size
325+ # # RUN ["/ffmpeg", "-f", "lavfi", "-i", "testsrc", "-c:v", "libsvtav1", "-t", "100ms", "-f", "null", "-"]
326+ # # dns
327+ # # RUN ["/ffprobe", "-i", "https://github.com/favicon.ico"]
328+ # # tls/https certs
329+ # # RUN ["/ffprobe", "-tls_verify", "1", "-ca_file", "/etc/ssl/cert.pem", "-i", "https://github.com/favicon.ico"]
330+ # # svg
331+ # # RUN ["/ffprobe", "-i", "https://github.githubassets.com/favicons/favicon.svg"]
332+ # # >1 static rust libs
333+ # RUN ["/ffmpeg", "-f", "lavfi", "-i", "testsrc", "-c:v", "librav1e", "-t", "100ms", "-f", "null", "-"]
335334
336- # clamp all files into one layer
337- FROM scratch AS final2
338- COPY --from=final1 / /
335+ # # clamp all files into one layer
336+ # FROM scratch AS final2
337+ # COPY --from=final1 / /
339338
340- FROM final2
341- LABEL maintainer="Mattias Wadman mattias.wadman@gmail.com"
342- ENTRYPOINT ["/ffmpeg" ]
339+ # FROM final2
340+ # LABEL maintainer="Mattias Wadman mattias.wadman@gmail.com"
341+ # ENTRYPOINT ["/ffmpeg"]
0 commit comments