[vlc-commits] contrib: update mpg123 to 1.26.0
Steve Lhomme
git at videolan.org
Tue May 26 09:41:12 CEST 2020
vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Mon May 25 14:52:30 2020 +0200| [39987975a44b8878d43fe55452ee350f5e67568b] | committer: Steve Lhomme
contrib: update mpg123 to 1.26.0
Build using CMake (faster and already has the proper FPU detection)
Simplify the patches
Set _FILE_OFFSET_BITS as it is set in VLC as the mpg123 change ABI if it's
defined or not...
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=39987975a44b8878d43fe55452ee350f5e67568b
---
...gure-detect-WINDOWS_UWP-for-mingw-as-well.patch | 64 ++++++++++++++
...on-t-error-on-GetThreadErrorMode-if-we-re.patch | 35 ++++++++
.../0003-fix-lfs_alias_t-type-for-Android.patch | 51 ++++++++++++
contrib/src/mpg123/SHA512SUMS | 2 +-
contrib/src/mpg123/mpg123-libm.patch | 9 --
contrib/src/mpg123/mpg123-win32.patch | 9 --
contrib/src/mpg123/mpg123_android_off_t.patch | 21 -----
contrib/src/mpg123/rules.mak | 24 +++---
contrib/src/mpg123/winstore.patch | 97 ----------------------
9 files changed, 164 insertions(+), 148 deletions(-)
diff --git a/contrib/src/mpg123/0001-configure-detect-WINDOWS_UWP-for-mingw-as-well.patch b/contrib/src/mpg123/0001-configure-detect-WINDOWS_UWP-for-mingw-as-well.patch
new file mode 100644
index 0000000000..82512918fc
--- /dev/null
+++ b/contrib/src/mpg123/0001-configure-detect-WINDOWS_UWP-for-mingw-as-well.patch
@@ -0,0 +1,64 @@
+From 099787a99e7214f068aa61d63befaced516ce254 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Mon, 25 May 2020 10:43:34 +0200
+Subject: [PATCH 1/3] configure: detect WINDOWS_UWP for mingw as well
+
+It is supported as well as with MSVC.
+
+We need to include winapifamily.h to detect UWP builds.
+The official way is to use the WINAPI_FAMILY_PARTITION macro which is compatible between MSVC and mingw.
+
+In UWP build we should use UNICODE API.
+---
+ configure.ac | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 4dfe617..917d251 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -162,6 +162,23 @@ AC_CHECK_HEADERS([windows.h])
+ case "$host" in
+ *-*-mingw*)
+ win32=yes
++ AC_MSG_CHECKING([if this is a UWP build])
++ AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
++ [[#include <winapifamily.h>
++ #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
++ # error Win32 Desktop build
++ #endif
++ ]],[[;]])
++ ],[
++ uwp_build=yes
++ AC_MSG_RESULT([yes])
++ ],[
++ uwp_build=no
++ AC_MSG_RESULT([no])
++ ])
++ if test x"$uwp_build" = xyes; then
++ AC_DEFINE( [WINDOWS_UWP], 1, [Windows UWP build] )
++ fi
+ ;;
+ *)
+ win32=no
+@@ -2284,6 +2301,9 @@ dnl We do not support non-unicode Windows.
+ if test "x$win32_specific_codes" = xenabled; then
+ #### Check for Wide functions
+ AC_CHECK_FUNC([_wopen], [win32_unicode=enabled],[win32_unicode=disabled])
++ if test "x$uwp_build" = xyes; then
++ AC_DEFINE([WANT_WIN32_UNICODE], [1], [ Define to use Unicode for Windows ])
++ else
+ AC_MSG_CHECKING([if we want Unicode File Open for Win32])
+ if test "x$win32_unicode" = xenabled; then
+ dnl We need to include the header for PathCombineW checking as
+@@ -2331,6 +2351,7 @@ if test "x$win32_specific_codes" = xenabled; then
+ else
+ AC_MSG_ERROR([Unicode File Open for Win32 not available])
+ fi
++ fi
+
+ #### Check for Network functions
+ AC_CHECK_HEADERS([ws2tcpip.h], [win32_sockets=enabled], [AC_MSG_WARN([Please update your headers to support winsock 2.2.])])
+--
+2.26.0.windows.1
+
diff --git a/contrib/src/mpg123/0002-configure-don-t-error-on-GetThreadErrorMode-if-we-re.patch b/contrib/src/mpg123/0002-configure-don-t-error-on-GetThreadErrorMode-if-we-re.patch
new file mode 100644
index 0000000000..a05369f5eb
--- /dev/null
+++ b/contrib/src/mpg123/0002-configure-don-t-error-on-GetThreadErrorMode-if-we-re.patch
@@ -0,0 +1,35 @@
+From 8084885e55bdc7e9f05bc25b76b8776a0205193d Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Mon, 25 May 2020 16:27:51 +0200
+Subject: [PATCH 2/3] configure: don't error on GetThreadErrorMode if we're not
+ going to use it
+
+In UWP builds GetThreadErrorMode is not supported (at least not on all Win8/Win10).
+But it's still possible to build mpg123 without module handling.
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 917d251..c494221 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2435,6 +2435,7 @@ if test x$win32_specific_codes = xenabled; then
+ AC_MSG_RESULT([no])
+ fi
+ # Check GetThreadErrorMode
++ if test x"$modules" != xdisabled; then
+ AC_MSG_CHECKING([if we have GetThreadErrorMode])
+ AC_LINK_IFELSE([AC_LANG_SOURCE([
+ #include <windows.h>
+@@ -2457,6 +2458,7 @@ if test x$win32_specific_codes = xenabled; then
+ AC_MSG_RESULT([no])
+ AC_ERROR([GetThreadErrorMode is required but not found])
+ fi
++ fi
+ fi
+
+ #### WINVER Bump
+--
+2.26.0.windows.1
+
diff --git a/contrib/src/mpg123/0003-fix-lfs_alias_t-type-for-Android.patch b/contrib/src/mpg123/0003-fix-lfs_alias_t-type-for-Android.patch
new file mode 100644
index 0000000000..7bfc9ce3c3
--- /dev/null
+++ b/contrib/src/mpg123/0003-fix-lfs_alias_t-type-for-Android.patch
@@ -0,0 +1,51 @@
+From 29604faf999056eb1c5e8e934ef9ceee472c78de Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Mon, 25 May 2020 12:46:56 +0200
+Subject: [PATCH 3/3] fix lfs_alias_t type for Android
+
+---
+ configure.ac | 5 +++--
+ ports/cmake/src/CMakeLists.txt | 4 ++++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c494221..f22047e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1158,6 +1158,7 @@ AC_CHECK_TYPE(uint16_t, unsigned short)
+ AC_CHECK_SIZEOF(size_t,4)
+ AC_CHECK_SIZEOF(ssize_t,4)
+ AC_CHECK_SIZEOF(off_t,4)
++AC_CHECK_SIZEOF(off64_t,8)
+ AC_CHECK_SIZEOF(int32_t)
+ AC_CHECK_SIZEOF(long,4)
+
+@@ -1168,8 +1169,8 @@ if test "x$largefile_sensitive" = xyes; then
+ lfs_alias_type=long
+ lfs_alias_size=$ac_cv_sizeof_long
+ else
+- lfs_alias_type=off_t
+- lfs_alias_size=$ac_cv_sizeof_off_t
++ lfs_alias_type=off64_t
++ lfs_alias_size=$ac_cv_sizeof_off64_t
+ fi
+
+ if test "x$lfs_alias_size" = "x"; then
+diff --git a/ports/cmake/src/CMakeLists.txt b/ports/cmake/src/CMakeLists.txt
+index 7ea2282..4b7b931 100644
+--- a/ports/cmake/src/CMakeLists.txt
++++ b/ports/cmake/src/CMakeLists.txt
+@@ -109,6 +109,10 @@ check_type_size(off_t SIZEOF_OFF_T)
+ if(LFS_SENSITIVE)
+ set(LFS_ALIAS_TYPE long)
+ math(EXPR LFS_ALIAS_BITS "${SIZEOF_LONG} * 8")
++elseif(CMAKE_ANDROID_ARCH_ABI)
++ check_type_size(off64_t SIZEOF_OFF64_T)
++ set(LFS_ALIAS_TYPE off64_t)
++ math(EXPR LFS_ALIAS_BITS "${SIZEOF_OFF64_T} * 8")
+ else()
+ set(LFS_ALIAS_TYPE off_t)
+ math(EXPR LFS_ALIAS_BITS "${SIZEOF_OFF_T} * 8")
+--
+2.26.0.windows.1
+
diff --git a/contrib/src/mpg123/SHA512SUMS b/contrib/src/mpg123/SHA512SUMS
index 2715bb93e1..0cb7ae2616 100644
--- a/contrib/src/mpg123/SHA512SUMS
+++ b/contrib/src/mpg123/SHA512SUMS
@@ -1 +1 @@
-a33666ae4aca7e7c1a93a6414d8c525ec19044c54f712d578180147d88e63033f7af2370b9ad22960cc3a0b454f15967b7a831cccc97e034c8855f70cdf1ab09 mpg123-1.25.10.tar.bz2
+0b58b02228f950320fa948fde17730f22a27e7bf6185fe678632281ca230fa5b84358382acb0f1f438631fcdfb93d1dce252d4fbfe616711144f181deb9f2a3e mpg123-1.26.0.tar.bz2
diff --git a/contrib/src/mpg123/mpg123-libm.patch b/contrib/src/mpg123/mpg123-libm.patch
deleted file mode 100644
index b11671d4dc..0000000000
--- a/contrib/src/mpg123/mpg123-libm.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- mpg123/libmpg123.pc.in.orig 2015-08-12 01:33:47.000000000 -0400
-+++ mpg123/libmpg123.pc.in 2016-02-03 20:40:25.335615001 -0500
-@@ -7,5 +7,5 @@
- Description: An optimised MPEG Audio decoder
- Requires:
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lmpg123
-+Libs: -L${libdir} -lmpg123 @LIBM@
- Cflags: -I${includedir}
diff --git a/contrib/src/mpg123/mpg123-win32.patch b/contrib/src/mpg123/mpg123-win32.patch
deleted file mode 100644
index dd39b3e0a0..0000000000
--- a/contrib/src/mpg123/mpg123-win32.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- mpg123/libmpg123.pc.in 2017-09-27 09:52:17.532298223 +0200
-+++ mpg123/libmpg123.pc.in.new 2017-09-27 09:53:18.236300149 +0200
-@@ -7,5 +7,5 @@
- Description: An optimised MPEG Audio decoder
- Requires:
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -lmpg123 @LIBM@
-+Libs: -L${libdir} -lmpg123 @LIBM@ -lshlwapi
- Cflags: -I${includedir}
diff --git a/contrib/src/mpg123/mpg123_android_off_t.patch b/contrib/src/mpg123/mpg123_android_off_t.patch
deleted file mode 100644
index ce022bb748..0000000000
--- a/contrib/src/mpg123/mpg123_android_off_t.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- mpg123/configure.ac 2015-08-12 07:38:31.000000000 +0200
-+++ mpg123.old/configure.ac 2015-12-02 14:26:55.303304758 +0100
-@@ -1007,6 +1007,7 @@
- AC_CHECK_SIZEOF(size_t,4)
- AC_CHECK_SIZEOF(ssize_t,4)
- AC_CHECK_SIZEOF(off_t,4)
-+AC_CHECK_SIZEOF(off64_t,8)
- AC_CHECK_SIZEOF(int32_t)
- AC_CHECK_SIZEOF(long,4)
-
-@@ -1017,8 +1018,8 @@
- lfs_alias_type=long
- lfs_alias_size=$ac_cv_sizeof_long
- else
-- lfs_alias_type=off_t
-- lfs_alias_size=$ac_cv_sizeof_off_t
-+ lfs_alias_type=off64_t
-+ lfs_alias_size=$ac_cv_sizeof_off64_t
- fi
-
- if test "x$lfs_alias_size" = "x"; then
diff --git a/contrib/src/mpg123/rules.mak b/contrib/src/mpg123/rules.mak
index c4ebea7eab..85864a4d94 100644
--- a/contrib/src/mpg123/rules.mak
+++ b/contrib/src/mpg123/rules.mak
@@ -1,5 +1,5 @@
# mpg123
-MPG123_VERSION := 1.25.10
+MPG123_VERSION := 1.26.0
MPG123_URL := $(SF)/mpg123/mpg123/$(MPG123_VERSION)/mpg123-$(MPG123_VERSION).tar.bz2
PKGS += mpg123
@@ -7,6 +7,10 @@ ifeq ($(call need_pkg,"libmpg123"),)
PKGS_FOUND += mpg123
endif
+MPG123_CFLAGS := $(CFLAGS)
+# Same forced value as in VLC
+MPG123_CFLAGS += -D_FILE_OFFSET_BITS=64
+
MPG123CONF = $(HOSTCONF)
MPG123CONF += --with-default-audio=dummy --enable-buffer=no --enable-modules=no --disable-network
@@ -37,21 +41,19 @@ $(TARBALLS)/mpg123-$(MPG123_VERSION).tar.bz2:
mpg123: mpg123-$(MPG123_VERSION).tar.bz2 .sum-mpg123
$(UNPACK)
- $(APPLY) $(SRC)/mpg123/no-programs.patch
- $(APPLY) $(SRC)/mpg123/mpg123-libm.patch
+ $(APPLY) $(SRC)/mpg123/0001-configure-detect-WINDOWS_UWP-for-mingw-as-well.patch
+ $(APPLY) $(SRC)/mpg123/0002-configure-don-t-error-on-GetThreadErrorMode-if-we-re.patch
ifdef HAVE_ANDROID
- $(APPLY) $(SRC)/mpg123/mpg123_android_off_t.patch
-endif
-ifdef HAVE_WIN32
- $(APPLY) $(SRC)/mpg123/mpg123-win32.patch
-endif
-ifdef HAVE_WINSTORE
- $(APPLY) $(SRC)/mpg123/winstore.patch
+ $(APPLY) $(SRC)/mpg123/0003-fix-lfs_alias_t-type-for-Android.patch
endif
+ # remove generated file from the source package
+ cd $(UNPACK_DIR) && rm -rf src/libsyn123/syn123.h
+ $(APPLY) $(SRC)/mpg123/no-programs.patch
+ $(call pkg_static,"libmpg123.pc.in")
$(MOVE)
.mpg123: mpg123
$(RECONF)
- cd $< && $(HOSTVARS) ./configure $(MPG123CONF)
+ cd $< && $(HOSTVARS) CFLAGS="$(MPG123_CFLAGS)" ./configure $(MPG123CONF)
cd $< && $(MAKE) install
touch $@
diff --git a/contrib/src/mpg123/winstore.patch b/contrib/src/mpg123/winstore.patch
deleted file mode 100644
index d325156329..0000000000
--- a/contrib/src/mpg123/winstore.patch
+++ /dev/null
@@ -1,97 +0,0 @@
---- mpg123/configure.ac 2015-08-12 07:38:31.000000000 +0200
-+++ mpg123/configure.ac.winstore 2016-05-16 16:23:05.234325900 +0200
-@@ -2294,23 +2294,41 @@ win32_fifo_working=no
- if test x$win32_specific_codes = xenabled; then
- AC_MSG_CHECKING([if we have Named Pipes])
- if test "x$fifo" != "xdisabled"; then
-+ if test "x$win32_wide_working" = xyes; then
- AC_LINK_IFELSE([AC_LANG_SOURCE([
- #include <windows.h>
- int main(){
-- CreateNamedPipeA(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
- CreateNamedPipeW(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
- return 0;
- }])],[win32_fifo_working=yes],[win32_winver_bump=yes])
-+ else
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([
-+ #include <windows.h>
-+ int main(){
-+ CreateNamedPipeA(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
-+ return 0;
-+ }])],[win32_fifo_working=yes],[win32_winver_bump=yes])
-+ fi
- if test "x$win32_fifo_working" != "xyes"; then
-+ if test "x$win32_wide_working" = xyes; then
- AC_LINK_IFELSE([AC_LANG_SOURCE([
- #define WINVER 0x501
- #define _WIN32_WINNT 0x501
- #include <windows.h>
- int main(){
-- CreateNamedPipeA(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
- CreateNamedPipeW(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
- return 0;
- }])],[win32_fifo_working=yes],[win32_fifo_working=no])
-+ else
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([
-+ #define WINVER 0x501
-+ #define _WIN32_WINNT 0x501
-+ #include <windows.h>
-+ int main(){
-+ CreateNamedPipeA(NULL,PIPE_ACCESS_DUPLEX|FILE_FLAG_OVERLAPPED,PIPE_TYPE_BYTE,1,255,255,0,NULL);
-+ return 0;
-+ }])],[win32_fifo_working=yes],[win32_fifo_working=no])
-+ fi
- fi
- fi
- have_mkfifo=$win32_fifo_working
-@@ -2324,6 +2342,10 @@ fi
-
- #### WINVER Bump
- if test x$win32_specific_codes = xenabled; then
-+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
-+ #if defined(WINVER) && WINVER > 0x0501
-+ #error don't bump
-+ #endif]])],[],[win32_winver_bump=no])
- AC_MSG_CHECKING([if WINVER and _WIN32_WINNT needs version bumps])
- if test "x$win32_winver_bump" = "xyes"; then
- AC_MSG_RESULT([yes])
---- mpg123/src/compat/compat.c 2017-11-17 11:22:26.575986065 +0100
-+++ mpg123/src/compat/compat.c.new 2017-11-17 11:22:22.671985997 +0100
-@@ -14,13 +14,14 @@
- #define _POSIX_SOURCE
- #include "compat.h"
-
--#ifdef _MSC_VER
--#include <io.h>
--
-+#include <winapifamily.h>
- #if(defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_APP))
- #define WINDOWS_UWP
- #endif
-
-+#ifdef _MSC_VER
-+#include <io.h>
-+
- #endif
- #ifdef HAVE_SYS_STAT_H
- # include <sys/stat.h>
---- mpg123/configure.ac.winstore 2019-03-12 14:32:33.852490800 +0100
-+++ mpg123/configure.ac 2019-03-12 14:44:17.475401200 +0100
-@@ -2202,7 +2202,7 @@ if test "x$win32_specific_codes" = xenab
- {
- MultiByteToWideChar (0, 0, NULL, 0, NULL, 0);
- WideCharToMultiByte (0, 0, NULL, 0, NULL, 0, NULL, NULL);
-- PathCombineW(0,0,0);
-+ //PathCombineW(0,0,0);
- return 0;
- }
- ])], [win32_wide_working=yes], [win32_winver_bump=yes])
-@@ -2217,7 +2217,7 @@ if test "x$win32_specific_codes" = xenab
- {
- MultiByteToWideChar (0, 0, NULL, 0, NULL, 0);
- WideCharToMultiByte (0, 0, NULL, 0, NULL, 0, NULL, NULL);
-- PathCombineW(0,0,0);
-+ //PathCombineW(0,0,0);
- return 0;
- }
- ])], [win32_wide_working=yes], [AC_MSG_RESULT([no])])
More information about the vlc-commits
mailing list