Add libass and all its dependencies
This commit is contained in:
		
							parent
							
								
									1afc43b4c8
								
							
						
					
					
						commit
						b9a9ddd37e
					
				
					 9 changed files with 314 additions and 1 deletions
				
			
		| 
						 | 
					@ -5,5 +5,5 @@ ENV DEBIAN_FRONTEND noninteractive
 | 
				
			||||||
RUN \
 | 
					RUN \
 | 
				
			||||||
    apt-get -y update && \
 | 
					    apt-get -y update && \
 | 
				
			||||||
    apt-get -y dist-upgrade && \
 | 
					    apt-get -y dist-upgrade && \
 | 
				
			||||||
    apt-get -y install build-essential yasm nasm pkg-config git curl wget cmake unzip subversion autoconf automake libtool cmake clang texinfo texi2html && \
 | 
					    apt-get -y install build-essential yasm nasm pkg-config git curl wget cmake unzip subversion autoconf automake libtool cmake clang texinfo texi2html gperf libc6-dev && \
 | 
				
			||||||
    apt-get -y clean
 | 
					    apt-get -y clean
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										53
									
								
								scripts.d/21-libxml2.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										53
									
								
								scripts.d/21-libxml2.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,53 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LIBXML2_SRC="ftp://xmlsoft.org/libxml2/libxml2-2.9.10.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_enabled() {
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerstage() {
 | 
				
			||||||
 | 
					    to_df "ADD $SELF /root/libxml2.sh"
 | 
				
			||||||
 | 
					    to_df "RUN bash -c 'source /root/libxml2.sh && ffbuild_dockerbuild && rm /root/libxml2.sh'"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerbuild() {
 | 
				
			||||||
 | 
					    mkdir fc
 | 
				
			||||||
 | 
					    cd fc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wget "$LIBXML2_SRC" -O libxml2.tar.gz || return -1
 | 
				
			||||||
 | 
					    tar xaf libxml2.tar.gz || return -1
 | 
				
			||||||
 | 
					    rm libxml2.tar.gz
 | 
				
			||||||
 | 
					    cd libxml2* || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local myconf=(
 | 
				
			||||||
 | 
					        --prefix="$FFBUILD_PREFIX"
 | 
				
			||||||
 | 
					        --disable-maintainer-mode
 | 
				
			||||||
 | 
					        --disable-shared
 | 
				
			||||||
 | 
					        --enable-static
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ $TARGET == win* ]]; then
 | 
				
			||||||
 | 
					        myconf+=(
 | 
				
			||||||
 | 
					            --host="$FFBUILD_TOOLCHAIN"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unknown target"
 | 
				
			||||||
 | 
					        return -1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./autogen.sh "${myconf[@]}" || return -1
 | 
				
			||||||
 | 
					    make -j$(nproc) || return -1
 | 
				
			||||||
 | 
					    make install || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd ../..
 | 
				
			||||||
 | 
					    rm -rf fc
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_configure() {
 | 
				
			||||||
 | 
					    echo --enable-libxml2
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_unconfigure() {
 | 
				
			||||||
 | 
					    echo --disable-libxml2
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										51
									
								
								scripts.d/25-freetype.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								scripts.d/25-freetype.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,51 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FREETYPE_SRC="https://sourceforge.net/projects/freetype/files/freetype2/2.10.2/freetype-2.10.2.tar.xz/download"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_enabled() {
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerstage() {
 | 
				
			||||||
 | 
					    to_df "ADD $SELF /root/ft.sh"
 | 
				
			||||||
 | 
					    to_df "RUN bash -c 'source /root/ft.sh && ffbuild_dockerbuild && rm /root/ft.sh'"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerbuild() {
 | 
				
			||||||
 | 
					    mkdir ft
 | 
				
			||||||
 | 
					    cd ft
 | 
				
			||||||
 | 
					    wget -O ft.tar.gz "$FREETYPE_SRC" || return -1
 | 
				
			||||||
 | 
					    tar xaf ft.tar.gz || return -1
 | 
				
			||||||
 | 
					    rm ft.tar.gz
 | 
				
			||||||
 | 
					    cd freetype*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local myconf=(
 | 
				
			||||||
 | 
					        --prefix="$FFBUILD_PREFIX"
 | 
				
			||||||
 | 
					        --disable-shared
 | 
				
			||||||
 | 
					        --enable-static
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ $TARGET == win* ]]; then
 | 
				
			||||||
 | 
					        myconf+=(
 | 
				
			||||||
 | 
					            --host="$FFBUILD_TOOLCHAIN"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unknown target"
 | 
				
			||||||
 | 
					        return -1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./configure "${myconf[@]}" || return -1
 | 
				
			||||||
 | 
					    make -j$(nproc) || return -1
 | 
				
			||||||
 | 
					    make install || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd ../..
 | 
				
			||||||
 | 
					    rm -rf ft
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_configure() {
 | 
				
			||||||
 | 
					    echo --enable-libfreetype
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_unconfigure() {
 | 
				
			||||||
 | 
					    echo --disable-libfreetype
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										52
									
								
								scripts.d/25-fribidi.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								scripts.d/25-fribidi.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,52 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FRIBIDI_REPO="https://github.com/fribidi/fribidi.git"
 | 
				
			||||||
 | 
					FRIBIDI_COMMIT="c75a94c84ad1c7d3a3df89b42370933976f4ba59"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_enabled() {
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerstage() {
 | 
				
			||||||
 | 
					    to_df "ADD $SELF /root/fribidi.sh"
 | 
				
			||||||
 | 
					    to_df "RUN bash -c 'source /root/fribidi.sh && ffbuild_dockerbuild && rm /root/fribidi.sh'"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerbuild() {
 | 
				
			||||||
 | 
					    git clone "$FRIBIDI_REPO" fribidi || return -1
 | 
				
			||||||
 | 
					    cd fribidi
 | 
				
			||||||
 | 
					    git checkout "$FRIBIDI_COMMIT" || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local myconf=(
 | 
				
			||||||
 | 
					        --prefix="$FFBUILD_PREFIX"
 | 
				
			||||||
 | 
					        --disable-shared
 | 
				
			||||||
 | 
					        --enable-static
 | 
				
			||||||
 | 
					        --with-pic
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ $TARGET == win* ]]; then
 | 
				
			||||||
 | 
					        myconf+=(
 | 
				
			||||||
 | 
					            --host="$FFBUILD_TOOLCHAIN"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unknown target"
 | 
				
			||||||
 | 
					        return -1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./autogen.sh "${myconf[@]}" || return -1
 | 
				
			||||||
 | 
					    make || return -1
 | 
				
			||||||
 | 
					    make install || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    sed -i 's/Cflags:/Cflags: -DFRIBIDI_LIB_STATIC/' "$FFBUILD_PREFIX"/lib/pkgconfig/fribidi.pc || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd ..
 | 
				
			||||||
 | 
					    rm -rf fribidi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_configure() {
 | 
				
			||||||
 | 
					    echo --enable-libfribidi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_unconfigure() {
 | 
				
			||||||
 | 
					    echo --disable-libfribidi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										53
									
								
								scripts.d/35-fontconfig.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										53
									
								
								scripts.d/35-fontconfig.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,53 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FONTCONFIG_SRC="https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.13.92.tar.xz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_enabled() {
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerstage() {
 | 
				
			||||||
 | 
					    to_df "ADD $SELF /root/fc.sh"
 | 
				
			||||||
 | 
					    to_df "RUN bash -c 'source /root/fc.sh && ffbuild_dockerbuild && rm /root/fc.sh'"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerbuild() {
 | 
				
			||||||
 | 
					    mkdir fc
 | 
				
			||||||
 | 
					    cd fc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    wget "$FONTCONFIG_SRC" -O fc.tar.gz || return -1
 | 
				
			||||||
 | 
					    tar xaf fc.tar.gz || return -1
 | 
				
			||||||
 | 
					    rm fc.tar.gz
 | 
				
			||||||
 | 
					    cd fontconfig* || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local myconf=(
 | 
				
			||||||
 | 
					        --prefix="$FFBUILD_PREFIX"
 | 
				
			||||||
 | 
					        --enable-libxml2
 | 
				
			||||||
 | 
					        --disable-shared
 | 
				
			||||||
 | 
					        --enable-static
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ $TARGET == win* ]]; then
 | 
				
			||||||
 | 
					        myconf+=(
 | 
				
			||||||
 | 
					            --host="$FFBUILD_TOOLCHAIN"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unknown target"
 | 
				
			||||||
 | 
					        return -1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./configure "${myconf[@]}" || return -1
 | 
				
			||||||
 | 
					    make -j$(nproc) || return -1
 | 
				
			||||||
 | 
					    make install || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd ../..
 | 
				
			||||||
 | 
					    rm -rf fc
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_configure() {
 | 
				
			||||||
 | 
					    echo --enable-fontconfig
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_unconfigure() {
 | 
				
			||||||
 | 
					    echo --disable-fontconfig
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										52
									
								
								scripts.d/49-libvorbis.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								scripts.d/49-libvorbis.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,52 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					VORBIS_REPO="https://github.com/xiph/vorbis.git"
 | 
				
			||||||
 | 
					VORBIS_COMMIT="4a767c9ead99d36f7dee4d45cabb6636dd9e8a75"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_enabled() {
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerstage() {
 | 
				
			||||||
 | 
					    to_df "ADD $SELF /root/vorbis.sh"
 | 
				
			||||||
 | 
					    to_df "RUN bash -c 'source /root/vorbis.sh && ffbuild_dockerbuild && rm /root/vorbis.sh'"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerbuild() {
 | 
				
			||||||
 | 
					    git clone "$VORBIS_REPO" vorbis || return -1
 | 
				
			||||||
 | 
					    cd vorbis
 | 
				
			||||||
 | 
					    git checkout "$VORBIS_COMMIT" || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./autogen.sh || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local myconf=(
 | 
				
			||||||
 | 
					        --prefix="$FFBUILD_PREFIX"
 | 
				
			||||||
 | 
					        --disable-shared
 | 
				
			||||||
 | 
					        --enable-static
 | 
				
			||||||
 | 
					        --disable-oggtest
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ $TARGET == win* ]]; then
 | 
				
			||||||
 | 
					        myconf+=(
 | 
				
			||||||
 | 
					            --host="$FFBUILD_TOOLCHAIN"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unknown target"
 | 
				
			||||||
 | 
					        return -1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./configure "${myconf[@]}" || return -1
 | 
				
			||||||
 | 
					    make -j$(nproc) || return -1
 | 
				
			||||||
 | 
					    make install || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd ..
 | 
				
			||||||
 | 
					    rm -rf vorbis
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_configure() {
 | 
				
			||||||
 | 
					    echo --enable-libvorbis
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_unconfigure() {
 | 
				
			||||||
 | 
					    echo --disable-libvorbis
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										52
									
								
								scripts.d/50-libass.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								scripts.d/50-libass.sh
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,52 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ASS_REPO="https://github.com/libass/libass.git"
 | 
				
			||||||
 | 
					ASS_COMMIT="e52ae4d1d326804574c90de1072873e848261508"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_enabled() {
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerstage() {
 | 
				
			||||||
 | 
					    to_df "ADD $SELF /root/ass.sh"
 | 
				
			||||||
 | 
					    to_df "RUN bash -c 'source /root/ass.sh && ffbuild_dockerbuild && rm /root/ass.sh'"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_dockerbuild() {
 | 
				
			||||||
 | 
					    git clone "$ASS_REPO" ass || return -1
 | 
				
			||||||
 | 
					    cd ass
 | 
				
			||||||
 | 
					    git checkout "$ASS_COMMIT" || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./autogen.sh || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local myconf=(
 | 
				
			||||||
 | 
					        --prefix="$FFBUILD_PREFIX"
 | 
				
			||||||
 | 
					        --disable-shared
 | 
				
			||||||
 | 
					        --enable-static
 | 
				
			||||||
 | 
					        --with-pic
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ $TARGET == win* ]]; then
 | 
				
			||||||
 | 
					        myconf+=(
 | 
				
			||||||
 | 
					            --host="$FFBUILD_TOOLCHAIN"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo "Unknown target"
 | 
				
			||||||
 | 
					        return -1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ./configure "${myconf[@]}" || return -1
 | 
				
			||||||
 | 
					    make -j$(nproc) || return -1
 | 
				
			||||||
 | 
					    make install || return -1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cd ..
 | 
				
			||||||
 | 
					    rm -rf ass
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_configure() {
 | 
				
			||||||
 | 
					    echo --enable-libass
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ffbuild_unconfigure() {
 | 
				
			||||||
 | 
					    echo --disable-libass
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue