WIP: Build static MPV
This commit is contained in:
parent
1e8a6b670f
commit
1f0d7db079
|
@ -0,0 +1,48 @@
|
||||||
|
pkgname=mingw-w64-gmp
|
||||||
|
pkgver=6.1.2
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="A free library for arbitrary precision arithmetic (mingw-w64)"
|
||||||
|
arch=(any)
|
||||||
|
url="http://gmplib.org"
|
||||||
|
license=("LGPL3")
|
||||||
|
depends=(mingw-w64-crt)
|
||||||
|
makedepends=(mingw-w64-configure)
|
||||||
|
options=(staticlibs !strip !buildflags)
|
||||||
|
source=("ftp://ftp.gmplib.org/pub/gmp-${pkgver}/gmp-${pkgver}.tar.xz")
|
||||||
|
md5sums=('f58fa8001d60c4c77595fbbb62b63c1d')
|
||||||
|
|
||||||
|
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "${srcdir}/gmp-${pkgver}"
|
||||||
|
for _arch in ${_architectures}; do
|
||||||
|
mkdir -p build-${_arch}-static && pushd build-${_arch}-static
|
||||||
|
${_arch}-configure \
|
||||||
|
--disable-shared \
|
||||||
|
--enable-cxx
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
mkdir -p build-${_arch}-shared && pushd build-${_arch}-shared
|
||||||
|
${_arch}-configure \
|
||||||
|
--disable-static \
|
||||||
|
--enable-cxx
|
||||||
|
make
|
||||||
|
popd
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
for _arch in ${_architectures}; do
|
||||||
|
cd "${srcdir}/gmp-${pkgver}/build-${_arch}-static"
|
||||||
|
make DESTDIR="$pkgdir" install
|
||||||
|
mv "$pkgdir/usr/$_arch/include/gmp.h" "$pkgdir/usr/$_arch/include/gmp-static.h"
|
||||||
|
mv "$pkgdir/usr/$_arch/include/gmpxx.h" "$pkgdir/usr/$_arch/include/gmpxx-static.h"
|
||||||
|
cd "${srcdir}/gmp-${pkgver}/build-${_arch}-shared"
|
||||||
|
make DESTDIR="$pkgdir" install
|
||||||
|
rm -r "$pkgdir/usr/${_arch}/share"
|
||||||
|
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
|
||||||
|
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,9 +11,9 @@ arch=('any')
|
||||||
url="https://mpv.io"
|
url="https://mpv.io"
|
||||||
license=('GPL3')
|
license=('GPL3')
|
||||||
depends=(
|
depends=(
|
||||||
'mingw-w64-crt' 'mingw-w64-lcms2' 'mingw-w64-enca' 'mingw-w64-libjpeg-turbo'
|
'mingw-w64-crt' 'mingw-w64-lcms2' 'mingw-w64-enca'
|
||||||
'mingw-w64-ffmpeg' 'mingw-w64-libass' 'mingw-w64-angleproject'
|
'mingw-w64-libjpeg-turbo' 'mingw-w64-ffmpeg' 'mingw-w64-libass'
|
||||||
'mingw-w64-lua' 'mingw-w64-zlib'
|
'mingw-w64-angleproject' 'mingw-w64-lua' 'mingw-w64-zlib'
|
||||||
)
|
)
|
||||||
options=(!strip !buildflags staticlibs)
|
options=(!strip !buildflags staticlibs)
|
||||||
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'python')
|
makedepends=('mingw-w64-gcc' 'mingw-w64-pkg-config' 'python')
|
||||||
|
@ -30,28 +30,40 @@ prepare() {
|
||||||
build() {
|
build() {
|
||||||
cd "$srcdir/${_name}-${pkgver}"
|
cd "$srcdir/${_name}-${pkgver}"
|
||||||
|
|
||||||
mingw_c_flags="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
|
local mingw_flags="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
|
||||||
export LDFLAGS=""
|
local mingw_c_flags="$mingw_flags $CFLAGS"
|
||||||
export CFLAGS="$mingw_c_flags $CFLAGS"
|
local mingw_cxx_flags="$mingw-flags $CXXFLAGS"
|
||||||
export CXXFLAGS="$mingw_c_flags $CXXFLAGS"
|
|
||||||
export DEST_OS=win32
|
export DEST_OS=win32
|
||||||
|
|
||||||
for _arch in ${_architectures}; do
|
for _arch in ${_architectures}; do
|
||||||
export TARGET=$_arch
|
export TARGET=$_arch
|
||||||
|
export CFLAGS="$mingw_c_flags -I$PWD/build"
|
||||||
|
export CXXFLAGS="$mingw_cxx_flags -I$PWD/build"
|
||||||
|
|
||||||
# build static libmpv
|
# build static libmpv
|
||||||
|
mkdir -p build
|
||||||
|
for header in gmp{,xx}; do
|
||||||
|
cp "/usr/$_arch/include/$header-static.h" "build/$header.h"
|
||||||
|
done
|
||||||
./waf configure \
|
./waf configure \
|
||||||
--prefix=/usr/$_arch \
|
--prefix=/usr/$_arch \
|
||||||
--confdir=../etc/mpv \
|
--confdir=../etc/mpv \
|
||||||
--enable-libmpv-static --enable-static
|
--enable-libmpv-static --enable-static \
|
||||||
./waf build
|
-v
|
||||||
|
export LDFLAGS="-Wl,-Bstatic -lavfilter -lavcodec -lavformat -lavutil -lass -lfribidi -lbluray -lxml -lvidstab -lsoxr -lomp -lgnutls -lnettle -lunistring -ltasn -lgmp -lp11kit -lssh -lcrypto -lSDL2 -lhid -lsetupapi -limm32 -lcrypt32"
|
||||||
|
./waf build -v
|
||||||
|
|
||||||
|
# don't override static mpv.exe
|
||||||
|
mv build/mpv{,-static}.exe
|
||||||
|
|
||||||
# build shared libmpv
|
# build shared libmpv
|
||||||
|
export LDFLAGS=""
|
||||||
./waf configure \
|
./waf configure \
|
||||||
--prefix=/usr/$_arch \
|
--prefix=/usr/$_arch \
|
||||||
--confdir=../etc/mpv \
|
--confdir=../etc/mpv \
|
||||||
--enable-libmpv-shared
|
--enable-libmpv-shared \
|
||||||
./waf build
|
-v
|
||||||
|
./waf build -v
|
||||||
|
|
||||||
# I don't know how to do an out-of-source tree build with waf
|
# I don't know how to do an out-of-source tree build with waf
|
||||||
# since waf creates a dir called build I use this workaround
|
# since waf creates a dir called build I use this workaround
|
||||||
|
|
Loading…
Reference in New Issue