summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/media/mpv/files/mpv-0.28.2-build-utilize-built-in-gnu_dirs-module-for-installat.patch132
-rw-r--r--packages/media/mpv/mpv-0.28.2.exheres-04
-rw-r--r--packages/media/mpv/mpv.exlib4
3 files changed, 139 insertions, 1 deletions
diff --git a/packages/media/mpv/files/mpv-0.28.2-build-utilize-built-in-gnu_dirs-module-for-installat.patch b/packages/media/mpv/files/mpv-0.28.2-build-utilize-built-in-gnu_dirs-module-for-installat.patch
new file mode 100644
index 0000000..4db4917
--- /dev/null
+++ b/packages/media/mpv/files/mpv-0.28.2-build-utilize-built-in-gnu_dirs-module-for-installat.patch
@@ -0,0 +1,132 @@
+Upstream: yes
+Reason: Needed for waf>=2.0, which is needed for python 3.7 compatibility
+
+From 5e608fc4c850d6210ca543d4ed7265c5eee68bc5 Mon Sep 17 00:00:00 2001
+From: Akemi <der.richter@gmx.de>
+Date: Sun, 1 Jul 2018 21:09:45 +0200
+Subject: [PATCH] build: utilize built-in gnu_dirs module for installation
+ directories
+
+This started breaking with newer (2.0.x) waf versions, and it was
+noticed that a built-in waf module was providing very similar
+functionality.
+
+APPNAME definition was required to have `gnu_dirs`' PACKAGE
+variable to be defined in order to have f.ex. documentation
+installed to the correct directory.
+
+Currently unused options added by `gnu_dirs` were removed to clean
+up the output of the help command.
+
+Effective changes to behavior:
+- `gnu_dirs` will attempt to figure out if it needs to use lib64
+ instead of lib within your installation prefix. If you would
+ like it to not do that, set `--libdir` during configuration.
+ The way it tries to figure lib/lib64 out is if there's a
+ `/usr/lib64` and no `/usr/lib32`.
+- `--incdir` is now `--includedir` as per standard `gnu_dirs`
+ behavior.
+---
+ wscript | 33 ++++++++++++++++++++-------------
+ wscript_build.py | 4 ++--
+ 2 files changed, 22 insertions(+), 15 deletions(-)
+
+diff --git a/wscript b/wscript
+index c808f9b8ce..01d3c020e8 100644
+--- a/wscript
++++ b/wscript
+@@ -12,6 +12,8 @@ from waftools.checks.custom import *
+ c_preproc.go_absolute=True # enable system folders
+ c_preproc.standard_includes.append('/usr/local/include')
+
++APPNAME = 'mpv'
++
+ """
+ Dependency identifiers (for win32 vs. Unix):
+ wscript / C source meaning
+@@ -916,18 +918,8 @@ standalone_features = [
+ ]
+
+ _INSTALL_DIRS_LIST = [
+- ('bindir', '${PREFIX}/bin', 'binary files'),
+- ('libdir', '${PREFIX}/lib', 'library files'),
+- ('confdir', '${PREFIX}/etc/mpv', 'configuration files'),
+-
+- ('incdir', '${PREFIX}/include', 'include files'),
+-
+- ('datadir', '${PREFIX}/share', 'data files'),
+- ('mandir', '${DATADIR}/man', 'man pages '),
+- ('docdir', '${DATADIR}/doc/mpv', 'documentation files'),
+- ('htmldir', '${DOCDIR}', 'html documentation files'),
++ ('confdir', '${SYSCONFDIR}/mpv', 'configuration files'),
+ ('zshdir', '${DATADIR}/zsh/site-functions', 'zsh completion functions'),
+-
+ ('confloaddir', '${CONFDIR}', 'configuration files load directory'),
+ ]
+
+@@ -935,16 +927,30 @@ def options(opt):
+ opt.load('compiler_c')
+ opt.load('waf_customizations')
+ opt.load('features')
++ opt.load('gnu_dirs')
+
+- group = opt.get_option_group("build and install options")
++ #remove unused options from gnu_dirs
++ opt.parser.remove_option("--sbindir")
++ opt.parser.remove_option("--libexecdir")
++ opt.parser.remove_option("--sharedstatedir")
++ opt.parser.remove_option("--localstatedir")
++ opt.parser.remove_option("--oldincludedir")
++ opt.parser.remove_option("--infodir")
++ opt.parser.remove_option("--localedir")
++ opt.parser.remove_option("--dvidir")
++ opt.parser.remove_option("--pdfdir")
++ opt.parser.remove_option("--psdir")
++
++ group = opt.get_option_group("Installation directories")
+ for ident, default, desc in _INSTALL_DIRS_LIST:
+ group.add_option('--{0}'.format(ident),
+ type = 'string',
+ dest = ident,
+ default = default,
+ help = 'directory for installing {0} [{1}]' \
+- .format(desc, default))
++ .format(desc, default.replace('${','').replace('}','')))
+
++ group = opt.get_option_group("build and install options")
+ group.add_option('--variant',
+ default = '',
+ help = 'variant name for saving configuration and build results')
+@@ -1005,6 +1011,7 @@ def configure(ctx):
+ ctx.load('detections.compiler_swift')
+ ctx.load('detections.compiler')
+ ctx.load('detections.devices')
++ ctx.load('gnu_dirs')
+
+ for ident, _, _ in _INSTALL_DIRS_LIST:
+ varname = ident.upper()
+diff --git a/wscript_build.py b/wscript_build.py
+index 89eaa48137..8e948ba333 100644
+--- a/wscript_build.py
++++ b/wscript_build.py
+@@ -693,7 +693,7 @@ def build(ctx):
+ features = 'subst',
+ PREFIX = ctx.env.PREFIX,
+ LIBDIR = ctx.env.LIBDIR,
+- INCDIR = ctx.env.INCDIR,
++ INCDIR = ctx.env.INCLUDEDIR,
+ VERSION = libversion,
+ PRIV_LIBS = get_deps(),
+ )
+@@ -701,7 +701,7 @@ def build(ctx):
+ headers = ["client.h", "qthelper.hpp", "opengl_cb.h", "render.h",
+ "render_gl.h", "stream_cb.h"]
+ for f in headers:
+- ctx.install_as(ctx.env.INCDIR + '/mpv/' + f, 'libmpv/' + f)
++ ctx.install_as(ctx.env.INCLUDEDIR + '/mpv/' + f, 'libmpv/' + f)
+
+ ctx.install_as(ctx.env.LIBDIR + '/pkgconfig/mpv.pc', 'libmpv/mpv.pc')
+
+--
+2.18.0
+
diff --git a/packages/media/mpv/mpv-0.28.2.exheres-0 b/packages/media/mpv/mpv-0.28.2.exheres-0
index 5683813..8130abe 100644
--- a/packages/media/mpv/mpv-0.28.2.exheres-0
+++ b/packages/media/mpv/mpv-0.28.2.exheres-0
@@ -5,3 +5,7 @@ require mpv
PLATFORMS="~amd64 ~armv8 ~x86"
+DEFAULT_SRC_PREPARE_PATCHES=(
+ "${FILES}"/${PNV}-build-utilize-built-in-gnu_dirs-module-for-installat.patch
+)
+
diff --git a/packages/media/mpv/mpv.exlib b/packages/media/mpv/mpv.exlib
index 2e62333..1546528 100644
--- a/packages/media/mpv/mpv.exlib
+++ b/packages/media/mpv/mpv.exlib
@@ -12,7 +12,7 @@ require freedesktop-desktop github [ user="mpv-player" tag="v${PV}" ] gtk-icon-c
export_exlib_phases src_prepare src_configure pkg_postrm pkg_postinst
if ever at_least 0.28; then
- WAF_VER=1.9.8
+ WAF_VER=2.0.9
else
WAF_VER=1.8.12
fi
@@ -235,6 +235,8 @@ mpv_src_configure() {
if ever at_least 0.28; then
args+=(
+ ## paths
+ --mandir=/usr/share/man
## video out
--disable-crossc
--disable-shaderc