[vlc-devel] [PATCH] contrib: disable packages not usable on Winstore builds

Jean-Baptiste Kempf jb at videolan.org
Tue Mar 5 13:44:08 CET 2019


Hello,

On Tue, 5 Mar 2019, at 13:18, Steve Lhomme wrote:
> - SDL_image : uses forbidden APIs
> - aribb25 : uses forbidden APIs

Which ones?

> - bluray : missing JAVA on UWP

Disable Java on WinStore.

> - caca : no console (may change in the future)

Agreed.

> - cddb : no disc access (may change in the future)

There is now disc access...

> - d3d9 : no access to D3D9 on store supported OSes

Agreed.

> - gettext : not supported and uses forbidden APIs

Which ones?

> - glslang : not supported

Agreed.

> - mfx : needs an update to build properly

Let's update.

> - modplug : uses forbidden APIs

Which ones?

> - projectM : uses forbidden APIs

Agreed.

> - qt : not used in our winstore build and likely won't build (could be 
> removed when selecting a libvlc only build)
> - qtdeclarative : same as qt
> - qtgraphicaleffects : same as qt
> - qtquickcontrols2 : same as qt
> - qtsvg : same as qt
> - sdl : uses forbidden APIs

Agreed  for all of those.


> - srt : uses forbidden APIs

Which one?

> - vncclient : uses forbidden APIs

I'm surprised, but it does not matter.


> 
> diff --git a/contrib/src/SDL_image/rules.mak 
> b/contrib/src/SDL_image/rules.mak
> index c66911ac78..072463493a 100644
> --- a/contrib/src/SDL_image/rules.mak
> +++ b/contrib/src/SDL_image/rules.mak
> @@ -3,7 +3,9 @@
>  SDL_IMAGE_VERSION := 1.2.12
>  SDL_IMAGE_URL := 
> http://www.libsdl.org/projects/SDL_image/release/SDL_image-$(SDL_IMAGE_VERSION).tar.gz
>  
> +ifndef HAVE_WINSTORE
>  PKGS += SDL_image
> +endif
>  ifeq ($(call need_pkg,"SDL_image"),)
>  PKGS_FOUND += SDL_image
>  endif
> diff --git a/contrib/src/aribb25/rules.mak 
> b/contrib/src/aribb25/rules.mak
> index bc1ef48933..7bcd9b3e03 100644
> --- a/contrib/src/aribb25/rules.mak
> +++ b/contrib/src/aribb25/rules.mak
> @@ -4,8 +4,10 @@ ARIBB25_VERSION := 0.2.7
>  ARIBB25_URL := 
> $(VIDEOLAN)/aribb25/$(ARIBB25_VERSION)/aribb25-$(ARIBB25_VERSION).tar.gz
>  
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  PKGS += aribb25
>  endif
> +endif
>  ifeq ($(call need_pkg,"pcslite"),)
>  PKGS += aribb25
>  endif
> diff --git a/contrib/src/bluray/rules.mak b/contrib/src/bluray/rules.mak
> index 09ad2f43f6..0e07128c45 100644
> --- a/contrib/src/bluray/rules.mak
> +++ b/contrib/src/bluray/rules.mak
> @@ -4,8 +4,10 @@ BLURAY_VERSION := 1.1.0
>  BLURAY_URL := 
> $(VIDEOLAN)/libbluray/$(BLURAY_VERSION)/libbluray-$(BLURAY_VERSION).tar.bz2
>  
>  ifdef BUILD_DISCS
> +ifndef HAVE_WINSTORE
>  PKGS += bluray
>  endif
> +endif
>  ifeq ($(call need_pkg,"libbluray >= 0.7.0"),)
>  PKGS_FOUND += bluray
>  endif
> diff --git a/contrib/src/caca/rules.mak b/contrib/src/caca/rules.mak
> index 2bc78d893e..6369d1ec5c 100644
> --- a/contrib/src/caca/rules.mak
> +++ b/contrib/src/caca/rules.mak
> @@ -3,8 +3,10 @@ CACA_VERSION := 0.99.beta17
>  CACA_URL := http://caca.zoy.org/files/libcaca/libcaca-$(CACA_VERSION).tar.gz
>  
>  ifndef HAVE_LINUX # see VLC Trac 17251
> +ifndef HAVE_WINSTORE
>  PKGS += caca
>  endif
> +endif
>  ifeq ($(call need_pkg,"caca >= 0.99.beta14"),)
>  PKGS_FOUND += caca
>  endif
> diff --git a/contrib/src/cddb/rules.mak b/contrib/src/cddb/rules.mak
> index e317152812..c9da6d7b83 100644
> --- a/contrib/src/cddb/rules.mak
> +++ b/contrib/src/cddb/rules.mak
> @@ -4,9 +4,11 @@ CDDB_URL := $(SF)/libcddb/libcddb-$(CDDB_VERSION).tar.bz2
>  
>  ifdef BUILD_NETWORK
>  ifdef BUILD_DISCS
> +ifndef HAVE_WINSTORE
>  PKGS += cddb
>  endif
>  endif
> +endif
>  ifeq ($(call need_pkg,"libcddb"),)
>  PKGS_FOUND += cddb
>  endif
> diff --git a/contrib/src/d3d9/rules.mak b/contrib/src/d3d9/rules.mak
> index b3b3b61aea..d2fd57c3a5 100644
> --- a/contrib/src/d3d9/rules.mak
> +++ b/contrib/src/d3d9/rules.mak
> @@ -18,7 +18,7 @@ DST_DXVA2API_H = $(PREFIX)/include/dxva2api.h
>  
>  
>  ifdef HAVE_WIN32
> -ifndef HAVE_VISUALSTUDIO
> +ifndef HAVE_WINSTORE
>  PKGS += d3d9
>  endif
>  endif
> diff --git a/contrib/src/gettext/rules.mak b/contrib/src/gettext/rules.mak
> index 2684b8ff5e..8e8dbbebaa 100644
> --- a/contrib/src/gettext/rules.mak
> +++ b/contrib/src/gettext/rules.mak
> @@ -2,7 +2,9 @@
>  GETTEXT_VERSION := 0.19.8.1
>  GETTEXT_URL := $(GNU)/gettext/gettext-$(GETTEXT_VERSION).tar.gz
>  
> +ifndef HAVE_WINSTORE
>  PKGS += gettext
> +endif
>  ifneq ($(filter gnu%,$(subst -, ,$(HOST))),)
>  # GNU platform should have gettext (?)
>  PKGS_FOUND += gettext
> diff --git a/contrib/src/glslang/rules.mak b/contrib/src/glslang/rules.mak
> index 5b60a5ab1c..9c6ab12cc7 100644
> --- a/contrib/src/glslang/rules.mak
> +++ b/contrib/src/glslang/rules.mak
> @@ -4,7 +4,9 @@ GLSLANG_BRANCH := master
>  GLSLANG_GITURL := https://github.com/KhronosGroup/glslang.git
>  GLSLANG_BASENAME := $(subst .,_,$(subst \,_,$(subst /,_,$(GLSLANG_HASH))))
>  
> +ifndef HAVE_WINSTORE
>  PKGS += glslang
> +endif
>  ifeq ($(call need_pkg,"glslang"),)
>  PKGS_FOUND += glslang
>  endif
> diff --git a/contrib/src/mfx/rules.mak b/contrib/src/mfx/rules.mak
> index 2b4fbad702..1a5bba2233 100644
> --- a/contrib/src/mfx/rules.mak
> +++ b/contrib/src/mfx/rules.mak
> @@ -7,8 +7,10 @@ ifeq ($(call need_pkg,"mfx"),)
>  PKGS_FOUND += mfx
>  endif
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  PKGS += mfx
>  endif
> +endif
>  
>  $(TARBALLS)/mfx-$(MFX_GITHASH).tar.xz:
>  	$(call download_git,$(mfx_GITURL),,$(MFX_GITHASH))
> diff --git a/contrib/src/modplug/rules.mak b/contrib/src/modplug/rules.mak
> index 29507574e1..5e5fd421c3 100644
> --- a/contrib/src/modplug/rules.mak
> +++ b/contrib/src/modplug/rules.mak
> @@ -3,7 +3,9 @@
>  MODPLUG_VERSION := 0.8.8.5
>  MODPLUG_URL := $(SF)/modplug-xmms/libmodplug-$(MODPLUG_VERSION).tar.gz
>  
> +ifndef HAVE_WINSTORE
>  PKGS += modplug
> +endif
>  ifeq ($(call need_pkg,"libmodplug >= 0.8.8.5"),)
>  PKGS_FOUND += modplug
>  endif
> diff --git a/contrib/src/projectM/rules.mak 
> b/contrib/src/projectM/rules.mak
> index 24f3bdc9b0..29c92fd9f5 100644
> --- a/contrib/src/projectM/rules.mak
> +++ b/contrib/src/projectM/rules.mak
> @@ -5,10 +5,12 @@ PROJECTM_URL := 
> $(SF)/projectm/$(PROJECTM_VERSION)/projectM-$(PROJECTM_VERSION)-
>  ifdef HAVE_WIN32
>  ifneq ($(ARCH),arm)
>  ifneq ($(ARCH),aarch64)
> +ifndef HAVE_WINSTORE
>  PKGS += projectM
>  endif
>  endif
>  endif
> +endif
>  ifeq ($(call need_pkg,"libprojectM"),)
>  PKGS_FOUND += projectM
>  endif
> diff --git a/contrib/src/qt/rules.mak b/contrib/src/qt/rules.mak
> index d579b5d47b..b78b9169c3 100644
> --- a/contrib/src/qt/rules.mak
> +++ b/contrib/src/qt/rules.mak
> @@ -10,8 +10,10 @@ ifdef HAVE_MACOSX
>  #PKGS += qt
>  endif
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  PKGS += qt
>  endif
> +endif
>  
>  ifeq ($(call need_pkg,"Qt5Core Qt5Gui Qt5Widgets"),)
>  PKGS_FOUND += qt
> diff --git a/contrib/src/qtdeclarative/rules.mak 
> b/contrib/src/qtdeclarative/rules.mak
> index 817ec82874..36872c3330 100644
> --- a/contrib/src/qtdeclarative/rules.mak
> +++ b/contrib/src/qtdeclarative/rules.mak
> @@ -6,6 +6,7 @@ QTDECLARATIVE_URL := 
> http://download.qt.io/official_releases/qt/5.11/$(QTDECLARA
>  DEPS_qtdeclarative += qt $(DEPS_qt)
>  
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  ifeq ($(findstring $(ARCH), arm aarch64),)
>  # There is no opengl available on windows on these architectures.
>  # QtDeclarative in itself should be usable without opengl though, but
> @@ -14,6 +15,7 @@ ifeq ($(findstring $(ARCH), arm aarch64),)
>  PKGS += qtdeclarative
>  endif
>  endif
> +endif
>  
>  ifeq ($(call need_pkg,"Qt5Quick"),)
>  PKGS_FOUND += qtdeclarative
> diff --git a/contrib/src/qtgraphicaleffects/rules.mak 
> b/contrib/src/qtgraphicaleffects/rules.mak
> index 669265fc9b..46175d1c4a 100644
> --- a/contrib/src/qtgraphicaleffects/rules.mak
> +++ b/contrib/src/qtgraphicaleffects/rules.mak
> @@ -6,11 +6,13 @@ QTGE_URL := 
> http://download.qt.io/official_releases/qt/5.11/$(QTGE_VERSION)/subm
>  DEPS_qtgraphicaleffects += qtdeclarative $(DEPS_qtdeclarative)
>  
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  ifeq ($(findstring $(ARCH), arm aarch64),)
>  # There is no opengl available on windows on these architectures.
>  PKGS += qtgraphicaleffects
>  endif
>  endif
> +endif
>  
>  ifeq ($(call need_pkg,"Qt5QuickControls2"),)
>  PKGS_FOUND += qtgraphicaleffects
> diff --git a/contrib/src/qtquickcontrols2/rules.mak 
> b/contrib/src/qtquickcontrols2/rules.mak
> index cff4aaf767..029e44fdb8 100644
> --- a/contrib/src/qtquickcontrols2/rules.mak
> +++ b/contrib/src/qtquickcontrols2/rules.mak
> @@ -4,11 +4,13 @@ QTQC2_VERSION := 5.11.0
>  QTQC2_URL := 
> http://download.qt.io/official_releases/qt/5.11/$(QTQC2_VERSION)/submodules/qtquickcontrols2-everywhere-src-$(QTQC2_VERSION).tar.xz
>  
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  ifeq ($(findstring $(ARCH), arm aarch64),)
>  # There is no opengl available on windows on these architectures.
>  PKGS += qtquickcontrols2
>  endif
>  endif
> +endif
>  
>  ifeq ($(call need_pkg,"Qt5QuickControls2"),)
>  PKGS_FOUND += qtquickcontrols2
> diff --git a/contrib/src/qtsvg/rules.mak b/contrib/src/qtsvg/rules.mak
> index 9784b51ffd..2793cfd858 100644
> --- a/contrib/src/qtsvg/rules.mak
> +++ b/contrib/src/qtsvg/rules.mak
> @@ -6,8 +6,10 @@ QTSVG_URL := 
> https://download.qt.io/official_releases/qt/5.11/$(QTSVG_VERSION)/s
>  DEPS_qtsvg += qt $(DEPS_qt)
>  
>  ifdef HAVE_WIN32
> +ifndef HAVE_WINSTORE
>  PKGS += qtsvg
>  endif
> +endif
>  
>  ifeq ($(call need_pkg,"Qt5Svg"),)
>  PKGS_FOUND += qtsvg
> diff --git a/contrib/src/sdl/rules.mak b/contrib/src/sdl/rules.mak
> index 4a933b5486..8eb56be0cc 100644
> --- a/contrib/src/sdl/rules.mak
> +++ b/contrib/src/sdl/rules.mak
> @@ -3,7 +3,9 @@
>  SDL_VERSION := 1.2.15
>  SDL_URL := http://www.libsdl.org/release/SDL-$(SDL_VERSION).tar.gz
>  
> +ifndef HAVE_WINSTORE
>  #PKGS += sdl
> +endif
>  ifeq ($(call need_pkg,"sdl"),)
>  PKGS_FOUND += sdl
>  endif
> diff --git a/contrib/src/srt/rules.mak b/contrib/src/srt/rules.mak
> index c9dbb59db8..343dc44a55 100644
> --- a/contrib/src/srt/rules.mak
> +++ b/contrib/src/srt/rules.mak
> @@ -4,8 +4,10 @@ SRT_VERSION := 1.3.1
>  SRT_URL := $(GITHUB)/Haivision/srt/archive/v$(SRT_VERSION).tar.gz
>  
>  ifdef BUILD_NETWORK
> +ifndef HAVE_WINSTORE
>  PKGS += srt
>  endif
> +endif
>  
>  ifeq ($(call need_pkg,"srt >= 1.3.1"),)
>  PKGS_FOUND += srt
> diff --git a/contrib/src/vncclient/rules.mak 
> b/contrib/src/vncclient/rules.mak
> index e048fd68e0..20af67cbcb 100644
> --- a/contrib/src/vncclient/rules.mak
> +++ b/contrib/src/vncclient/rules.mak
> @@ -4,8 +4,10 @@ VNCCLIENT_VERSION := 0.9.10
>  VNCCLIENT_URL := 
> https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$(VNCCLIENT_VERSION).tar.gz
>  
>  ifdef BUILD_NETWORK
> +ifndef HAVE_WINSTORE
>  PKGS += vncclient
>  endif
> +endif
>  ifeq ($(call need_pkg,"libvncclient"),)
>  PKGS_FOUND += vncclient
>  endif
> -- 
> 2.17.1
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

-- 
Jean-Baptiste Kempf -  President
+33 672 704 734


More information about the vlc-devel mailing list