Skip to content

Instantly share code, notes, and snippets.

@JySzE
Forked from dbrookman/build-mpv_silicon.sh
Last active March 27, 2025 14:47
Show Gist options
  • Save JySzE/d25c7b7abf1b689739d51a6a6a6e0e29 to your computer and use it in GitHub Desktop.
Save JySzE/d25c7b7abf1b689739d51a6a6a6e0e29 to your computer and use it in GitHub Desktop.

Revisions

  1. JySzE revised this gist Mar 9, 2025. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -36,4 +36,8 @@ Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of re

    16. Now go ahead and open up a video file with mpv and press the tilde key and it should tell you if a profile was loaded or not. If you see a profile loaded congrats you are now done.

    17. Requires font file from here: https://files.catbox.moe/ftcqlt.zip . Google how to install fonts on macos.

    18. Screenshot images have colorspace metadata; check 'Optimize' when uploading to slow.pics. Photo Viewing apps and Discord may not display the correct colorspace and gamma, but Photoshop and GIMP will.

    I will not be providing ways to add lua scripts and other functionality to MacOS. You will need to figure that out on your own.
  2. JySzE revised this gist May 24, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,7 @@ Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of re

    6. In terminal: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` to install homebrew.

    7. In terminal: `brew install --build-from-source --only-dependencies mpv && brew install libplacebo && brew install molten-vk && brew install dylibbundler`
    7. In terminal: `brew install --build-from-source --only-dependencies mpv && brew install libplacebo && brew install molten-vk && brew install dylibbundler && brew install lua`

    8. In terminal: `git clone https://github.com/mpv-player/mpv`

  3. JySzE revised this gist May 23, 2024. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -32,6 +32,8 @@ Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of re

    15. Next in terminal: `sudo curl -s https://gist.github.com/JySzE/34ee131da3974811a9469e1e3b7d4d34/raw --output ~/.config/mpv/mpv.conf`

    * While `sudo` isnt required for curl normally I and a few others ran into a weird sonoma perm issue where it was needed to write directly to `~/.config/mpv/` so keep that in mind.

    16. Now go ahead and open up a video file with mpv and press the tilde key and it should tell you if a profile was loaded or not. If you see a profile loaded congrats you are now done.

    I will not be providing ways to add lua scripts and other functionality to MacOS. You will need to figure that out on your own.
  4. JySzE revised this gist May 23, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,7 @@ Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of re

    6. In terminal: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` to install homebrew.

    7. In terminal: `brew install --build-from-source --only-dependencies mpv && brew install libplacebo && brew install molten-vk && brew install dylibbundler`.
    7. In terminal: `brew install --build-from-source --only-dependencies mpv && brew install libplacebo && brew install molten-vk && brew install dylibbundler`

    8. In terminal: `git clone https://github.com/mpv-player/mpv`

  5. JySzE revised this gist May 23, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -24,7 +24,7 @@ Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of re

    11. In terminal: `sudo chmod 755 build-mpv_silicon.sh`

    12. In terminal: `sudo ./build-mpv_silicon.sh --static`.
    12. In terminal: `sudo ./build-mpv_silicon.sh --static`

    13. After your build is complete type `cd build && cp -R mpv.app /Applications/mpv.app`

  6. JySzE revised this gist May 23, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -4,7 +4,7 @@ Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of re

    1. Go to __System Preferences__ > __Software Update__. If there's anything there to update, do it.

    2. Install Xcode from this [link]().
    2. Install Xcode from this [link](https://archive.org/details/xcode-15.4_202405) or via the [Apple App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12).

    3. Open Xcode and click Xcode at the top left corner > Settings > Locations > Command Line Tools.

  7. JySzE revised this gist May 23, 2024. No changes.
  8. JySzE revised this gist May 23, 2024. 1 changed file with 21 additions and 18 deletions.
    39 changes: 21 additions & 18 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -1,34 +1,37 @@
    ### Preparations

    Before you can build __mpv__ & __mpv.app__ on an Apple silicon Mac, there's a couple of required dependencies you'll need to install if you haven't already:
    Before you can build __mpv.app__ on an Apple silicon Mac, there's a couple of required dependencies you'll need to install if you haven't already:

    1. Go to __System Preferences__ > __Software Update__. If there's anything there to update, do it.

    2. If you don't have the __Xcode Command Line Tools__ installed, run `xcode-select --install` and select _Install_ on the prompt that appears.
    2. Install Xcode from this [link]().

    3. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).
    3. Open Xcode and click Xcode at the top left corner > Settings > Locations > Command Line Tools.

    4. If you don't have all of __mpv__'s [dependencies](https://github.com/mpv-player/mpv#compilation) installed, run `brew install --build-from-source --only-dependencies mpv && brew install libplacebo`.
    4. Even if there is something already listed there in Command Line Tools, Still click it as it will prompt you to type in your password.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.
    5. In terminal: `xcode-select --install` to be sure it all worked properly: "xcode-select: note: Command line tools are already installed."

    You can now run the attached script to build __mpv__ & __mpv.app__ on an Apple silicon Mac yourself. Just make sure to run it from the root directory of the cloned repo.
    6. In terminal: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` to install homebrew.

    #### Static Build
    7. In terminal: `brew install --build-from-source --only-dependencies mpv && brew install libplacebo && brew install molten-vk && brew install dylibbundler`.

    If you want to bundle a static build of __mpv.app__, perform these steps following the ones above.
    8. In terminal: `git clone https://github.com/mpv-player/mpv`

    1. Run `brew install dylibbundler`.
    9. In terminal: `cd mpv`

    2. Run the script from the root directory of the cloned repo, but append `--static` to the command, like `./build-mpv_silicon.sh --static`.
    10. In terminal: `curl -s https://gist.github.com/JySzE/d25c7b7abf1b689739d51a6a6a6e0e29/raw --output build-mpv_silicon.sh`

    ---
    11. In terminal: `sudo chmod 755 build-mpv_silicon.sh`

    ### Updating
    12. In terminal: `sudo ./build-mpv_silicon.sh --static`.

    Going forward, you can update your local copy of the repo by running the following commands from its root directory:
    ```
    git reset --hard
    git clean --force -d -x
    git pull origin master
    ```
    13. After your build is complete type `cd build && cp -R mpv.app /Applications/mpv.app`

    14. Now mpv is added to your applications list, Go ahead and manually open mpv once from spotlight search or from finder to get it to appear in the open with menu when you right click files. (Sometimes this isnt required)

    15. Next in terminal: `sudo curl -s https://gist.github.com/JySzE/34ee131da3974811a9469e1e3b7d4d34/raw --output ~/.config/mpv/mpv.conf`

    16. Now go ahead and open up a video file with mpv and press the tilde key and it should tell you if a profile was loaded or not. If you see a profile loaded congrats you are now done.

    I will not be providing ways to add lua scripts and other functionality to MacOS. You will need to figure that out on your own.
  9. @dbrookman dbrookman revised this gist Nov 15, 2023. 2 changed files with 2 additions and 2 deletions.
    2 changes: 1 addition & 1 deletion build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    #!/usr/bin/env bash

    # Builds mpv & mpv.app on Apple silicon (M1 / M2) Macs.
    # Builds mpv & mpv.app on Apple silicon Macs.
    # Run this script from the root directory of the mpv repo.

    # if anything fails, gtfo
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    ### Preparations

    Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, there's a couple of required dependencies you'll need to install if you haven't already:
    Before you can build __mpv__ & __mpv.app__ on an Apple silicon Mac, there's a couple of required dependencies you'll need to install if you haven't already:

    1. Go to __System Preferences__ > __Software Update__. If there's anything there to update, do it.

  10. @dbrookman dbrookman revised this gist Nov 15, 2023. No changes.
  11. @dbrookman dbrookman revised this gist Nov 15, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, th

    3. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).

    4. If you don't have all of __mpv__'s [dependencies](https://github.com/mpv-player/mpv#compilation) installed, run `brew install --build-from-source --only-dependencies mpv`.
    4. If you don't have all of __mpv__'s [dependencies](https://github.com/mpv-player/mpv#compilation) installed, run `brew install --build-from-source --only-dependencies mpv && brew install libplacebo`.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

  12. @dbrookman dbrookman revised this gist Aug 15, 2023. 1 changed file with 1 addition and 3 deletions.
    4 changes: 1 addition & 3 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -8,9 +8,7 @@ Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, th

    3. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).

    4. If you don't have __pkg-config__ or __meson__ installed, run `brew install pkg-config meson`.

    5. If you don't have all of __mpv__'s [dependencies](https://github.com/mpv-player/mpv#compilation) installed, run `brew install --only-dependencies mpv`.
    4. If you don't have all of __mpv__'s [dependencies](https://github.com/mpv-player/mpv#compilation) installed, run `brew install --build-from-source --only-dependencies mpv`.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

  13. @dbrookman dbrookman revised this gist Aug 15, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,7 @@ meson compile -C build

    ./TOOLS/osxbundle.py --skip-deps build/mpv
    if [[ $1 == "--static" ]]; then
    dylibbundler --bundle-deps --dest-dir build/mpv.app/Contents/lib/ --create-dir --install-path @executable_path/../lib/ --fix-file build/mpv.app/Contents/MacOS/mpv
    dylibbundler --bundle-deps --dest-dir build/mpv.app/Contents/MacOS/lib/ --install-path @executable_path/lib/ --fix-file build/mpv.app/Contents/MacOS/mpv
    # test the app binary to make sure all the dylibs made it okay
    ./build/mpv.app/Contents/MacOS/mpv --version
    fi
  14. @dbrookman dbrookman revised this gist Aug 8, 2023. 1 changed file with 3 additions and 9 deletions.
    12 changes: 3 additions & 9 deletions build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -3,23 +3,17 @@
    # Builds mpv & mpv.app on Apple silicon (M1 / M2) Macs.
    # Run this script from the root directory of the mpv repo.

    BUNDLE_STATIC=false
    if [[ $1 == "--static" ]]; then
    BUNDLE_STATIC=true
    fi

    # if anything fails, gtfo
    set -ex

    meson setup build
    meson compile -C build

    # test the binary we just built
    ./build/mpv --version
    ./TOOLS/osxbundle.py --skip-deps build/mpv

    if $BUNDLE_STATIC; then
    dylibbundler --bundle-deps --dest-dir ./build/mpv.app/Contents/lib/ --create-dir --install-path @executable_path/../lib/ --fix-file ./build/mpv.app/Contents/MacOS/mpv
    ./TOOLS/osxbundle.py --skip-deps build/mpv
    if [[ $1 == "--static" ]]; then
    dylibbundler --bundle-deps --dest-dir build/mpv.app/Contents/lib/ --create-dir --install-path @executable_path/../lib/ --fix-file build/mpv.app/Contents/MacOS/mpv
    # test the app binary to make sure all the dylibs made it okay
    ./build/mpv.app/Contents/MacOS/mpv --version
    fi
  15. @dbrookman dbrookman revised this gist Aug 8, 2023. No changes.
  16. @dbrookman dbrookman revised this gist Aug 7, 2023. 2 changed files with 19 additions and 0 deletions.
    11 changes: 11 additions & 0 deletions build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,11 @@
    # Builds mpv & mpv.app on Apple silicon (M1 / M2) Macs.
    # Run this script from the root directory of the mpv repo.

    BUNDLE_STATIC=false
    if [[ $1 == "--static" ]]; then
    BUNDLE_STATIC=true
    fi

    # if anything fails, gtfo
    set -ex

    @@ -12,3 +17,9 @@ meson compile -C build
    # test the binary we just built
    ./build/mpv --version
    ./TOOLS/osxbundle.py --skip-deps build/mpv

    if $BUNDLE_STATIC; then
    dylibbundler --bundle-deps --dest-dir ./build/mpv.app/Contents/lib/ --create-dir --install-path @executable_path/../lib/ --fix-file ./build/mpv.app/Contents/MacOS/mpv
    # test the app binary to make sure all the dylibs made it okay
    ./build/mpv.app/Contents/MacOS/mpv --version
    fi
    8 changes: 8 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -16,6 +16,14 @@ You'll also need a local copy of the mpv repo, which you can get by running `git

    You can now run the attached script to build __mpv__ & __mpv.app__ on an Apple silicon Mac yourself. Just make sure to run it from the root directory of the cloned repo.

    #### Static Build

    If you want to bundle a static build of __mpv.app__, perform these steps following the ones above.

    1. Run `brew install dylibbundler`.

    2. Run the script from the root directory of the cloned repo, but append `--static` to the command, like `./build-mpv_silicon.sh --static`.

    ---

    ### Updating
  17. @dbrookman dbrookman revised this gist Aug 7, 2023. 1 changed file with 3 additions and 2 deletions.
    5 changes: 3 additions & 2 deletions build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,14 @@
    #!/usr/bin/env bash

    # builds mpv & mpv.app on Apple silicon (M1 / M2) Macs
    # run this script from the root directory of the mpv repo
    # Builds mpv & mpv.app on Apple silicon (M1 / M2) Macs.
    # Run this script from the root directory of the mpv repo.

    # if anything fails, gtfo
    set -ex

    meson setup build
    meson compile -C build

    # test the binary we just built
    ./build/mpv --version
    ./TOOLS/osxbundle.py --skip-deps build/mpv
  18. @dbrookman dbrookman revised this gist Aug 7, 2023. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion readme.md
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, th

    4. If you don't have __pkg-config__ or __meson__ installed, run `brew install pkg-config meson`.

    5. If you don't have all of __mpv__'s dependencies installed, run `brew install --only-dependencies mpv`.
    5. If you don't have all of __mpv__'s [dependencies](https://github.com/mpv-player/mpv#compilation) installed, run `brew install --only-dependencies mpv`.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

  19. @dbrookman dbrookman revised this gist Aug 7, 2023. 1 changed file with 3 additions and 5 deletions.
    8 changes: 3 additions & 5 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -8,15 +8,13 @@ Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, th

    3. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).

    4. If you've never run `brew install --only-dependencies mpv`, do so now.
    4. If you don't have __pkg-config__ or __meson__ installed, run `brew install pkg-config meson`.

    5. If you've never run `brew install pkg-config`, do so now.

    5. If you've never run `brew install meson`, do so now.
    5. If you don't have all of __mpv__'s dependencies installed, run `brew install --only-dependencies mpv`.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

    You can now run the attached script to build __mpv__ & __mpv.app__ on an Apple silicon Mac yourself. Just make sure you're in the root directory of the cloned repo beforehand.
    You can now run the attached script to build __mpv__ & __mpv.app__ on an Apple silicon Mac yourself. Just make sure to run it from the root directory of the cloned repo.

    ---

  20. @dbrookman dbrookman revised this gist Aug 7, 2023. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,8 @@ Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, th

    4. If you've never run `brew install --only-dependencies mpv`, do so now.

    5. If you've never run `brew install pkg-config`, do so now.

    5. If you've never run `brew install meson`, do so now.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.
  21. @dbrookman dbrookman revised this gist Jan 25, 2023. 2 changed files with 6 additions and 26 deletions.
    30 changes: 4 additions & 26 deletions build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -3,33 +3,11 @@
    # builds mpv & mpv.app on Apple silicon (M1 / M2) Macs
    # run this script from the root directory of the mpv repo

    set -x
    # if anything fails, gtfo
    set -ex

    # use standalone tools, not Xcode's (avoids xcrun errors)
    export DEVELOPER_DIR="/Library/Developer/CommandLineTools/"

    LUAJIT_PATH="$(brew --prefix --installed luajit)" || exit 1
    LUAJIT_PKG_CONFIG_PATH="$LUAJIT_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$LUAJIT_PKG_CONFIG_PATH"

    # if we don't have the latest ffmpeg...
    if ! brew --prefix --installed ffmpeg; then
    # ...but we do have ffmpeg@4, use it instead
    if FFMPEG4_PATH="$(brew --prefix --installed ffmpeg@4)"; then
    FFMPEG4_PKG_CONFIG_PATH="$FFMPEG4_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$FFMPEG4_PKG_CONFIG_PATH"
    # if we have neither version, gtfo
    else
    exit 1
    fi
    fi

    # if any of the following fail, immediately gtfo
    set -e

    ./bootstrap.py
    ./waf configure --lua=luajit
    ./waf build
    meson setup build
    meson compile -C build
    # test the binary we just built
    ./build/mpv --version
    ./TOOLS/osxbundle.py --skip-deps build/mpv
    2 changes: 2 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -10,6 +10,8 @@ Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, th

    4. If you've never run `brew install --only-dependencies mpv`, do so now.

    5. If you've never run `brew install meson`, do so now.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

    You can now run the attached script to build __mpv__ & __mpv.app__ on an Apple silicon Mac yourself. Just make sure you're in the root directory of the cloned repo beforehand.
  22. @dbrookman dbrookman revised this gist Dec 18, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ set -x
    # use standalone tools, not Xcode's (avoids xcrun errors)
    export DEVELOPER_DIR="/Library/Developer/CommandLineTools/"

    LUAJIT_PATH="$(brew --prefix --installed luajit-openresty)" || exit 1
    LUAJIT_PATH="$(brew --prefix --installed luajit)" || exit 1
    LUAJIT_PKG_CONFIG_PATH="$LUAJIT_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$LUAJIT_PKG_CONFIG_PATH"

  23. @dbrookman dbrookman revised this gist Dec 18, 2022. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion build-mpv_silicon.sh
    100644 → 100755
    Original file line number Diff line number Diff line change
    @@ -24,7 +24,8 @@ if ! brew --prefix --installed ffmpeg; then
    fi
    fi

    set -e # if any of the following fail, immediately gtfo
    # if any of the following fail, immediately gtfo
    set -e

    ./bootstrap.py
    ./waf configure --lua=luajit
  24. @dbrookman dbrookman revised this gist Jul 21, 2022. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -2,11 +2,13 @@

    Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, there's a couple of required dependencies you'll need to install if you haven't already:

    1. If you don't have the __Xcode Command Line Tools__ installed, run `xcode-select --install` and select _Install_ on the prompt that appears.
    1. Go to __System Preferences__ > __Software Update__. If there's anything there to update, do it.

    2. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).
    2. If you don't have the __Xcode Command Line Tools__ installed, run `xcode-select --install` and select _Install_ on the prompt that appears.

    3. If you've never run `brew install --only-dependencies mpv`, do so now.
    3. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).

    4. If you've never run `brew install --only-dependencies mpv`, do so now.

    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

  25. @dbrookman dbrookman revised this gist Jul 4, 2022. 2 changed files with 7 additions and 7 deletions.
    2 changes: 1 addition & 1 deletion build-mpv_m1.sh → build-mpv_silicon.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    #!/usr/bin/env bash

    # builds mpv on M1 Macs
    # builds mpv & mpv.app on Apple silicon (M1 / M2) Macs
    # run this script from the root directory of the mpv repo

    set -x
    12 changes: 6 additions & 6 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -1,16 +1,16 @@
    ### Preparations

    Before you can build _mpv.app_ on an M1 Mac, there's a couple of required dependencies you'll need to install if you haven't already:
    Before you can build __mpv__ & __mpv.app__ on an Apple silicon (M1 / M2) Mac, there's a couple of required dependencies you'll need to install if you haven't already:

    1. If you don't have the _Xcode Command Line Tools_ installed, run `xcode-select --install` and select __Install__ on the prompt that appears.
    1. If you don't have the __Xcode Command Line Tools__ installed, run `xcode-select --install` and select _Install_ on the prompt that appears.

    2. If you don't have _Homebrew_ installed, follow the instructions [here](https://brew.sh/#install).
    2. If you don't have __Homebrew__ installed, follow the instructions [here](https://brew.sh/#install).

    3. If you've never run `brew install --only-dependencies mpv`, do so now.

    You'll also need a local copy of the _mpv_ repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.
    You'll also need a local copy of the mpv repo, which you can get by running `git clone https://github.com/mpv-player/mpv`.

    You can now run the attached script to build _mpv.app_ on an M1 Mac yourself. Just make sure you're in the root directory of the cloned repo beforehand.
    You can now run the attached script to build __mpv__ & __mpv.app__ on an Apple silicon Mac yourself. Just make sure you're in the root directory of the cloned repo beforehand.

    ---

    @@ -21,4 +21,4 @@ Going forward, you can update your local copy of the repo by running the followi
    git reset --hard
    git clean --force -d -x
    git pull origin master
    ```
    ```
  26. @dbrookman dbrookman revised this gist May 27, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion build-mpv_m1.sh
    Original file line number Diff line number Diff line change
    @@ -31,4 +31,4 @@ set -e # if any of the following fail, immediately gtfo
    ./waf build
    # test the binary we just built
    ./build/mpv --version
    ./TOOLS/osxbundle.py -s build/mpv
    ./TOOLS/osxbundle.py --skip-deps build/mpv
  27. @dbrookman dbrookman revised this gist May 20, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion build-mpv_m1.sh
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@

    set -x

    # use standalone tools, not Xcode's (avoid xcrun errors)
    # use standalone tools, not Xcode's (avoids xcrun errors)
    export DEVELOPER_DIR="/Library/Developer/CommandLineTools/"

    LUAJIT_PATH="$(brew --prefix --installed luajit-openresty)" || exit 1
  28. @dbrookman dbrookman revised this gist May 20, 2022. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion build-mpv_m1.sh
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,13 @@
    #!/usr/bin/env bash
    set -x

    # builds mpv on M1 Macs
    # run this script from the root directory of the mpv repo

    set -x

    # use standalone tools, not Xcode's (avoid xcrun errors)
    export DEVELOPER_DIR="/Library/Developer/CommandLineTools/"

    LUAJIT_PATH="$(brew --prefix --installed luajit-openresty)" || exit 1
    LUAJIT_PKG_CONFIG_PATH="$LUAJIT_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$LUAJIT_PKG_CONFIG_PATH"
  29. @dbrookman dbrookman revised this gist Mar 8, 2022. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions build-mpv_m1.sh
    Original file line number Diff line number Diff line change
    @@ -3,8 +3,6 @@ set -x

    # run this script from the root directory of the mpv repo

    ./bootstrap.py || exit 1

    LUAJIT_PATH="$(brew --prefix --installed luajit-openresty)" || exit 1
    LUAJIT_PKG_CONFIG_PATH="$LUAJIT_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$LUAJIT_PKG_CONFIG_PATH"
    @@ -23,6 +21,7 @@ fi

    set -e # if any of the following fail, immediately gtfo

    ./bootstrap.py
    ./waf configure --lua=luajit
    ./waf build
    # test the binary we just built
  30. @dbrookman dbrookman revised this gist Mar 8, 2022. 1 changed file with 19 additions and 11 deletions.
    30 changes: 19 additions & 11 deletions build-mpv_m1.sh
    Original file line number Diff line number Diff line change
    @@ -1,22 +1,30 @@
    #!/usr/bin/env bash
    set -ex
    set -x

    # run this script from the root directory of the mpv repo

    ./bootstrap.py
    ./bootstrap.py || exit 1

    LUAJIT_PKG_CONFIG_PATH="$(brew --prefix luajit-openresty)/lib/pkgconfig"
    LUAJIT_PATH="$(brew --prefix --installed luajit-openresty)" || exit 1
    LUAJIT_PKG_CONFIG_PATH="$LUAJIT_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$LUAJIT_PKG_CONFIG_PATH"

    # if we only have ffmpeg@4, and not the latest ffmpeg, point to ffmpeg@4
    if [[ -z "$(brew ls --versions ffmpeg)" && -n "$(brew ls --versions ffmpeg@4)" ]]; then
    FFMPEG4_PKG_CONFIG_PATH="$(brew --prefix ffmpeg@4)/lib/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$FFMPEG4_PKG_CONFIG_PATH"
    # if we have neither version of ffmpeg, gtfo
    elif [[ -z "$(brew ls --versions ffmpeg ffmpeg@4)" ]]; then
    exit 1
    # if we don't have the latest ffmpeg...
    if ! brew --prefix --installed ffmpeg; then
    # ...but we do have ffmpeg@4, use it instead
    if FFMPEG4_PATH="$(brew --prefix --installed ffmpeg@4)"; then
    FFMPEG4_PKG_CONFIG_PATH="$FFMPEG4_PATH/lib/pkgconfig"
    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$FFMPEG4_PKG_CONFIG_PATH"
    # if we have neither version, gtfo
    else
    exit 1
    fi
    fi

    set -e # if any of the following fail, immediately gtfo

    ./waf configure --lua=luajit
    ./waf build
    ./TOOLS/osxbundle.py -s build/mpv
    # test the binary we just built
    ./build/mpv --version
    ./TOOLS/osxbundle.py -s build/mpv