summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* scripts/mpv-config: remove -Bsymbolic linker flagHEADmasterKacper Michajłow2023-09-071-7/+0
| | | | | | | | | | | | It shouldn't be added unconditionally and with all the fragile checks if it is supported it is way better to handle it in the meson itself. See also: https://github.com/mpv-player/mpv/pull/12346 Fixes: https://github.com/mpv-player/mpv-build/issues/215 https://github.com/haasn/libplacebo/issues/198
* scripts/mpv-config: check platform when adding flagsDudemanguy2023-09-011-1/+4
| | | | | | | | | When building libmpv against the static ffmpeg libraries, we have to add the -Wl,-Bsymbolic linker flags. The problem is that these are only valid for ELF which doesn't apply to all OSes (namely, macOS). Solve this by simply checking the output from uname and seeing if it matches a known ELF platform like linux, bsd, or solaris (who uses this?). Fixes #216.
* scripts/test-libmpv: remove --enable-libmpv checkingDudemanguy2023-08-271-1/+1
| | | | | e5d2640cb3a25c060a63bb57e8ecdcd2afcd9588 removed waf support so this flag is no longer valid.
* debian: remove libxinerama-devDudemanguy2023-08-271-1/+0
| | | | | | No longer needed by mpv. https://github.com/mpv-player/mpv/commit/200992f90c49fdc2d5605cf79ffaa5247fd62e3e
* mpv: remove waf supportLaserEyess2023-07-238-55/+8
| | | | | Waf was deprecated in mpv 0.36.0, and will be removed in 0.37.0, so remove waf support in mpv-build as well.
* README: update with meson-style switchesjmakovecki2023-01-311-2/+2
|
* debian: adapt to mpv meson switchKevin Mitchell2023-01-232-16/+12
| | | | | | | | | | | The options passed through mpv-config have different syntax. --confdir is no longer necessary. Rename $WAFFLAGS to $MESONFLAGS. Use the mpv-install script with appropriate --destdir. Remove the unused DOCS and TOOLS variables.
* README: correct the note about debianDudemanguy2023-01-221-4/+3
| | | | | | In light of 3ec52b9c80bc900a5c2aa409aaa6cad515d5ea5f. A user on debian bullesye would still need to get meson from backports for libplacebo and mpv.
* scripts/mpv-config: pass -Wl,-Bsymbolic when building libmpvDudemanguy2023-01-231-2/+7
| | | | | | | | | | According to ffmpeg's own documentation* we have to add these linker flags to libmpv when building it against the static library. waf doesn't need this for mysterious, unknown reasons (the linker flags there are a bit different) but passing this works fine on meson. Just add an extra check to the mpv-config script to enable this if needed. Fixes #208. *: https://ffmpeg.org/platform.html#Advanced-linking-configuration
* hopefully fix shared / private mess for mpv meson buildKevin Mitchell2023-01-231-6/+6
| | | | | | | | | | | | | | | | | Using meson to build mpv with prefer_static=true would try to link everything statically including things provided by the system. For example, if both shared and static versions of libarchive are were available, it would choose the static version. This would work until it tried to actulaly link the mpv binary which would additionally require static versions of -lacl, lzlib, etc. These build dependencies can be avoided if it instead links to shared libarchive. To avoid this, don't use -Dprefer_static=true. It should already be preferring the specifically statically built libs in build_libs because they are added first in the pkg-config path. Of course, we still run into the same -lstdc++ issue that we saw with waf, so that hack needs to be made general to both build systems.
* configure/build: default to mesonDudemanguy2023-01-185-21/+23
| | | | | | | | Waf was officially deprecated in mpv, so we should make these scripts use meson by default instead. Waf support is still there for now via the BUILDSYSTEM=waf environment variable (meson no longer requires any special variable to use). The README is adjusted a little to reflect this.
* configure scripts: use meson setup buildDudemanguy2022-11-112-2/+2
| | | | | | | | The old usage of "meson build" for configuration was deprecated in meson 0.64*. You're meant to use "meson setup build" instead so just replace the couple of instances of "meson build" that we have in the scripts. https://github.com/mesonbuild/meson/commit/3c7ab542c0c4770241eae149b0d4cd8de329aee0
* debian: switch to nasm over yasmKevin Mitchell2022-09-011-1/+1
| | | | | | it seems ffmpeg no longer supports nasm, or at least isn't autodetecting it and configure was explicitly warning about nasm not being found.
* debian: include libplacebo in the debian packageKevin Mitchell2022-08-313-5/+18
|
* include libplacebozeromind2022-08-3113-12/+88
| | | | | | | | | | | Include libplacebo to add support `vo=gpu-next` in mpv, as the OS-provided libplacebo may not be recent enough. Explicitly link mpv and ffmpeg against stdc++ in case libplacebo was built with glslang, which does not have pkg-config files. Adjust the update script to also checkout git submodules as well, which is needed for libplacebo.
* README: use correct rst code-quote (double-back-tick)Avi Halachmi (:avih)2022-08-291-3/+3
|
* README: debian: add note on custom options and ./updateAvi Halachmi (:avih)2022-08-291-0/+4
|
* debian: add libxpresent-devDudemanguy2022-06-191-0/+1
| | | | This is now needed for x11.
* ffmpeg-config: ssl/tls detection: identify more optionsAvi Halachmi (:avih)2022-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | ffmpeg doesn't always autodetect/enable tls/ssl libs, so mpv-build does that if the user didn't specify one. However, previously it had two issues: 1. It checked for 3 options (openssl/gnutls/mbedtls) but ffmpeg supports 6. So for instance if --enable-schannel was specified by the user, then mpv still tried to add another one, which resulted in a conflict which the user couldn't override easily (needs the user options: --disable-openssl --disable-gnutls). 2. It still tried to auto-enable even if the user disabled some of them. Not a real problem (because the user option comes after the mpv-build auto-option), but not very nice either. Now if any of the 6 ssl/tls names exist at the user option (enabled/disabled/whatever) then autodetection is skipped.
* ffmpeg-config: ssl/tls detection: simplify (no-op)Avi Halachmi (:avih)2022-05-201-3/+6
| | | | | | | | | | | - Implement our own echo function. echo is non standard and its behavior varies, where on some systems it can be affected by -n or -e etc. Our implementation is unaffected by any switch/options. - Invoke grep only once, and check one of the three strings at once as an ERE (-E). - Add a user-message when skipping auto-detection
* ffmpeg-config: ssl/tls detection: don't ignore ffmpeg_optionsAvi Halachmi (:avih)2022-05-201-3/+3
| | | | | | | | | This is a regression from 3de25ed , where previously ffmpeg_options content was added to $OPTION before the checks, but since 3de25ed it stays as "$@", but the ssl/tls still only checked $OPTIONS. Now it checks both $OPTIONS and "$@", which takes ffmpeg_options into account as well.
* mpv-clean: remove outdated rm -f lineDudemanguy2022-05-161-3/+0
| | | | | | There was an old rm -f line for removing things created by mpv's old, pre-waf build system (nearly 10 years ago) in mpv-clean. Remove this since it's completely pointless now and just confusing.
* configure/build: add meson supportDudemanguy2022-05-167-12/+42
| | | | | | | | | | This adds an optional environment variable, BUILDSYSTEM, that can be passed to the build scripts to use mpv's meson build instead of waf, the default. BUILDSYSTEM=meson needs to be set and any configure options passed must use meson's syntax instead of waf. The catch with meson support is that it requires the new prefer_static option for statically linking libass and ffmpeg. This option is not currrently in a release and will land in meson 0.63.
* configure scripts: move fixed options to $OPTIONS (no-op)Avi Halachmi (:avih)2021-12-013-7/+7
|
* README: echo -> printf, explain NAME_options handlingAvi Halachmi (:avih)2021-12-011-4/+28
| | | | | | | | Some implementations of "echo" can interpret the value as option to echo itself if it begins with "-", while "printf" avoid this issue. Also, add a section which explains how the options files are handled. It doesn't contradict any prior/existing docs, but makes it clearer.
* NAME_options files: allow values with spacesAvi Halachmi (:avih)2021-12-014-0/+24
| | | | | | | | | | | | | | | | | | | | Previously these files were split into arguments based on default IFS (space, tab, newline), which means that they couldn't hold whitespaces. Now they're split by newlines, so the entire line is a single value. Like before, values with newline[s] or empty can't be stored at the file, but other than these the files can now hold arbitrary values. This is potentially a breaking change, because while it was documented that there should be one value per line (and the example didn't add leading/trailing spaces), in practice it was possible to place several values per line, and leading/trailing spaces were ignored. So this will break for users who placed several options per line and/or expect whitespaces to be ignored. Also, libass and fribidi didn't support *_options files, now they do.
* configure options: allow CLI arguments with spacesAvi Halachmi (:avih)2021-12-014-19/+12
| | | | | | | | | | | | | | | | | | | | | | | | While configure CLI options are not used with ./build and ./rebuild, scripts/*-config can be invoked directly with arguments, and these script do take that into account. Previously, spaces in such arguments e.g. --extra-libs="-L/foo -lbar" caused the argument to be incorrectly split (on IFS), and now they're preserved correctly. The issue was that the arguments were stored using USER_OPTS="$@", and the var value was later used unquoted - which splits on IFS. Another issue is that VAR="$@" is unspecified by posix, because quoted "$@" is only specified where field-splitting otherwise happens, but it doesn't happen in variable assignment. The solution is to never store "$@", and instead just use it directly. Also, previously scripts/fribidi-config ignored CLI arguments, now it doesn't. Config options at NAME_options files will be fixed at the next commit.
* build options: allow CLI arguments with spacesAvi Halachmi (:avih)2021-12-016-9/+9
| | | | | | | | | | | | | | | | This affects CLI arguments to ./build, ./rebuild, as well as when invoking any of scripts/*-build directly. Previously, if such CLI argument contained a space, then the argument was incorrectly split. Now spaces are taken correctly. The issue was that the scripts used unquoted $@, which is identical to unquoted $*, i.e. it's field-split on IFS. Now we use quoted "$@", which preserves the arguments exactly. Also, previously scripts/fribidi-build ignored the CLI arguments, and now it doesn't (but we still override any -jN option with -j1).
* debian: disable LTOWessel Dankers2021-11-151-1/+1
| | | | | | | | | | | | Newer versions of Ubuntu (and future versions of Debian) enable LTO by default for package builds. This is apparently incompatible with how we compile mpv using static builds of ffmpeg and libass. Fixes https://github.com/mpv-player/mpv-build/issues/158 Further reading: - https://wiki.ubuntu.com/ToolChain/LTO - https://wiki.debian.org/ToolChain/LTO
* README: update IRC referencesfan52021-08-241-1/+1
|
* manually add libass requires in mpv-configKevin Mitchell2021-04-031-0/+4
| | | | | | | This became necessary with libass/libass@c9c4fed39339ffde45123013a117e06d0bb9c488 fixes #152, #150
* Call waf with python3 everywhereKrzysztof Knapik2021-02-164-4/+4
|
* Explicitly call waf with python3 everywheresfan52021-02-084-9/+4
| | | | | This saves Debian users from installing python-is-python3 and others from accidentally running waf with python2 (unsupported).
* debian: update instructions to install python-is-python3Kevin Mitchell2020-11-181-3/+3
|
* debian: make python3 workKevin Mitchell2020-11-162-1/+6
| | | | Debian is determined to make the python3 upgrade as painful as possible
* debian: remove libwavpackKevin Mitchell2020-10-112-2/+0
| | | | it is no longer used by ffmpeg
* debian: allow python3-docutils to be used instead of python-docutilsKevin Mitchell2020-08-081-1/+1
|
* debian: replace aom with dav1dKevin Mitchell2020-07-042-2/+2
| | | | | | The Debian libaom package hasn't been updated since v1.0.0-errata1 released 2019-01-08! FFmpeg has moved on and will no longer build with this. Luckily, there's finally a libdav1d pacakge, so use that.
* debian: add libbrotli-dev dependency now required with freetypeKevin Mitchell2020-07-041-0/+1
|
* debian: enable libaom until debian gets libdav1dKevin Mitchell2020-03-082-0/+2
|
* debian: add libarchive since internal rar reading is goneKevin Mitchell2020-03-081-0/+1
|
* debian: add libdrmKevin Mitchell2020-03-081-0/+1
|
* debian: install dependencies for waylandKevin Mitchell2020-03-081-0/+2
|
* debian: use spaces instead of tabs in debian-update-versionsKevin Mitchell2020-03-081-6/+6
|
* debian: remove smbclient as it is no longer supportedKevin Mitchell2020-03-072-3/+1
|
* README.rst: remove reference to homebrew-mpv repoVítor Galvão2019-10-111-5/+0
|
* Remove --enable-zsh-compThomas Danielsson2019-10-041-2/+1
| | | | | This option no longer exists, as zsh completion is installed unconditionally now. See https://github.com/mpv-player/mpv/pull/5139
* Remove --enable-dvdread from the Debian build rules.Wessel Dankers2019-09-162-2/+0
| | | | Fixes #120.
* Code block formatting in READMEDavid Beitey2019-09-141-12/+12
|
* support for mbedtlsDale Weiler2019-09-141-1/+2
|
* debian: remove dirs fileKevin Mitchell2018-05-211-2/+0
|
* debian: remove manually installed stuff in /usr/share/docKevin Mitchell2018-05-211-29/+0
| | | | | The pacakge isn't meant to be redistributed and those building it will have everything in the source dir anyway.
* debian: remove mime fileKevin Mitchell2018-05-211-20/+0
| | | | I think this is covered by .desktop now.
* debian: update documentationKevin Mitchell2018-05-213-146/+21
|
* debian: remove theora and twolame encodingKevin Mitchell2018-05-212-4/+0
| | | | Nobody should ever need this. These codecs can still be decoded.
* Revert "Remove Debian scripts"Kevin Mitchell2018-05-2114-0/+445
| | | | | This reverts commit 8c9abd8c7914b71562e2d81faad76015526a9f8e. I'm restoring them, bugs will be my own responsibility.
* Remove Debian scriptsMartin Herkt2018-05-1914-445/+0
| | | | | | | | | | | | | | What’s so special about this distro that we not only have a repository with scripts to compensate for the inability of its maintainers to package and distribute software to our users, but also have to deal with their incredibly bad tooling? Also, the instructions don’t work and only waste users’ time. If these “only exist for users who want to hurt themselves” then perhaps we shouldn’t have them in the first place, even if “wants to hurt themselves” practically describes the majority of Debian users. Closes #106.
* Use upstream ffmpegKevin Mitchell2017-12-061-1/+1
|
* add use-<proj>-custom FOO for any commit/branch/tagAvi Halachmi (:avih)2017-12-056-8/+51
| | | | | | | | | | | | | While it was possible before to build any branch of mpv/ffmpeg/etc by just git checkout $whatever and then ./build, it got reset after ./rebuild or ./update etc. Add use-mpv-custom and use-ffmpeg-custom which accept any commit/branch/tag which will survive ./rebuild, ./update, etc. This should make it slightly easier to build past versions of mpv. While at it, also add use-libass-{master|custom}
* add missing use-ffmpeg-releaseAvi Halachmi (:avih)2017-12-051-0/+5
|
* update script: use arguments normally instead of constructing commandsAvi Halachmi (:avih)2017-12-051-35/+38
| | | | | | | | | | | Previously $checkout_<proj> were constructed as commands which were executed later. This is not very flexible and also hard to follow and modify. Change them to be used as normal arguments which contain the value release/master, possibly with additional space-separated '-' to indicate that the config file should be ignored (used when invoked with --master or --release).
* don't checkout detachedAvi Halachmi (:avih)2017-12-051-3/+3
| | | | | | | | Commit a0f90ad changed from git checkout --detached $rev to git checkout $rev^0 to support old git versions without detach, however, mpv-build use cases don't require to detach in the first place. Just use normal checkout
* Update FFmpeg URL, drop support for FFmpeg releaseswm42017-10-272-6/+1
|
* debian: enable zsh completionsKevin Mitchell2017-09-141-1/+2
|
* debian: enable libsmbclientKevin Mitchell2017-09-141-1/+2
|
* debian: enable cdda and dvd stuffKevin Mitchell2017-09-141-1/+5
|
* debian: remove libguess and libenca dependenciesKevin Mitchell2017-09-141-2/+0
| | | | they're no longer supported
* debian: remove netcdf dependencyKevin Mitchell2017-06-262-2/+0
|
* Disable fribidi fetchingwm42017-03-311-4/+4
| | | | | | | It's not built by default either. Someone who wants to build fribidi with this can just uncommment all locations. Fixes #82.
* debian: Remove dependency on libschroedinger-devVishnu Vardhan Reddy Naini2017-03-102-2/+0
| | | | | | | | | libschroedinger-dev is being removed from development in debian and is also absent from the Ubuntu 17.04 development branch. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=845037 for more details. Signed-off-by: Vishnu Vardhan Reddy Naini <vishnu@vishnunaini.com>
* Workaround for old git versions without --detachKevin Mitchell2017-01-171-3/+3
| | | | fixes #78
* debian: remove openjpeg JPEG2000Kevin Mitchell2016-09-152-2/+0
| | | | | | | it's been replaced by libopenjp2-7-dev, but that causes link errors and I don't care enough to find out why. ffmpeg seems to have native decode support anyway.
* debian: add netcdf for softalizer filterKevin Mitchell2016-09-152-0/+2
|
* debian: remove rst2pdf dependencyKevin Mitchell2016-09-151-1/+0
| | | | pdf wasn't being built anyway
* Default to git master branches for almost everythingwm42016-06-022-8/+15
|
* README: fix IRC channel namewm42016-04-211-1/+1
|
* debian: add libgbm to build with egl-drm supportKevin Mitchell2016-02-271-0/+1
|
* debian: remove libvo-aacenc-devKevin Mitchell2016-02-102-2/+1