[telegram-desktop] Updated to version 1.2.8 (alpha). Do not build for stable Fedora releases!
by Vitaly Zaitsev
commit 14fd9cfac84eae1e0877aed5f1996ab68a0ccd95
Author: Vitaly Zaitsev <vitaly(a)easycoding.org>
Date: Thu Jan 25 14:36:02 2018 +0100
Updated to version 1.2.8 (alpha).
Do not build for stable Fedora releases!
.gitignore | 2 ++
sources | 4 +--
telegram-desktop-build-fixes.patch | 57 +++++++++++++++++++-------------------
telegram-desktop.spec | 51 ++++++++++++++--------------------
4 files changed, 53 insertions(+), 61 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 7205239..79129ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,5 @@
/tdesktop-1.2.1.tar.gz
/crl-9e11a5c.tar.gz
/tdesktop-1.2.6.tar.gz
+/crl-344cbde.tar.gz
+/tdesktop-1.2.8.tar.gz
diff --git a/sources b/sources
index b305db0..f5780f2 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-a3280a044625e250ca4d4df1cd13fe80 crl-9e11a5c.tar.gz
-b7c9c19d164323b73e5bb192b755345e tdesktop-1.2.6.tar.gz
+ed3d3121418d32866ae348ce75042770 crl-344cbde.tar.gz
+33f99322144c3e6d01a838b502790042 tdesktop-1.2.8.tar.gz
diff --git a/telegram-desktop-build-fixes.patch b/telegram-desktop-build-fixes.patch
index 6eeb80d..45c650f 100644
--- a/telegram-desktop-build-fixes.patch
+++ b/telegram-desktop-build-fixes.patch
@@ -1,4 +1,4 @@
-From ceed396b282092a70ff819b17552e3e31419847d Mon Sep 17 00:00:00 2001
+From 03fc7824640665d679c559ecc14063b79abf5a50 Mon Sep 17 00:00:00 2001
From: Vitaly Zaitsev <vitaly(a)easycoding.org>
Date: Fri, 31 Mar 2017 14:29:58 +0200
Subject: [PATCH] Fixed build under Fedora using rpmbuild and mock.
@@ -14,11 +14,11 @@ Subject: [PATCH] Fixed build under Fedora using rpmbuild and mock.
Telegram/gyp/qt_moc.gypi | 3 +-
Telegram/gyp/qt_rcc.gypi | 2 +-
Telegram/gyp/settings_linux.gypi | 5 --
- Telegram/gyp/telegram_linux.gypi | 85 +++++++---------------------
+ Telegram/gyp/telegram_linux.gypi | 84 +++++++--------------------
Telegram/gyp/telegram_sources.txt | 9 +--
lib/xdg/telegramdesktop.appdata.xml | 2 +-
lib/xdg/telegramdesktop.desktop | 6 +-
- 14 files changed, 157 insertions(+), 167 deletions(-)
+ 14 files changed, 156 insertions(+), 167 deletions(-)
create mode 100644 Telegram/SourceFiles/qt_functions.cpp
create mode 100644 Telegram/gyp/CMakeLists.inj
@@ -33,10 +33,10 @@ index 0554fa17..3ea02740 100644
</qresource>
</RCC>
diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp
-index bf21d14d..73b33feb 100644
+index 7f173565..68f077d2 100644
--- a/Telegram/SourceFiles/core/launcher.cpp
+++ b/Telegram/SourceFiles/core/launcher.cpp
-@@ -64,6 +64,8 @@ int Launcher::exec() {
+@@ -51,6 +51,8 @@ int Launcher::exec() {
Logs::start(this); // must be started before Platform is started
Platform::start(); // must be started before QApplication is created
@@ -177,10 +177,10 @@ index 5d6830e9..c3f08d3f 100644
IMPLICIT_DEPENDS CXX "${_pch_header}"
COMMENT "Precompiling ${_name} for ${_target} (C++)")
diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp
-index 84a06153..7e6f41b7 100644
+index 62a4197f..a500611a 100644
--- a/Telegram/gyp/Telegram.gyp
+++ b/Telegram/gyp/Telegram.gyp
-@@ -31,7 +31,6 @@
+@@ -18,7 +18,6 @@
'src_loc': '../SourceFiles',
'res_loc': '../Resources',
'submodules_loc': '../ThirdParty',
@@ -188,7 +188,7 @@ index 84a06153..7e6f41b7 100644
'sp_media_key_tap_loc': '<(submodules_loc)/SPMediaKeyTap',
'emoji_suggestions_loc': '<(submodules_loc)/emoji_suggestions',
'style_files': [
-@@ -67,8 +66,6 @@
+@@ -54,8 +53,6 @@
'includes': [
'common_executable.gypi',
'telegram_qrc.gypi',
@@ -197,7 +197,7 @@ index 84a06153..7e6f41b7 100644
'telegram_linux.gypi',
'qt.gypi',
'qt_moc.gypi',
-@@ -81,34 +78,23 @@
+@@ -68,34 +65,23 @@
'codegen.gyp:codegen_lang',
'codegen.gyp:codegen_numbers',
'codegen.gyp:codegen_style',
@@ -238,7 +238,7 @@ index 84a06153..7e6f41b7 100644
'<(submodules_loc)/crl/src',
],
'sources': [
-@@ -126,7 +112,6 @@
+@@ -113,7 +99,6 @@
'CUSTOM_API_ID',
],
'dependencies': [
@@ -247,10 +247,10 @@ index 84a06153..7e6f41b7 100644
}],
],
diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi
-index dea127a3..bea656f1 100644
+index 0b783ec2..2d42d344 100644
--- a/Telegram/gyp/qt.gypi
+++ b/Telegram/gyp/qt.gypi
-@@ -27,25 +27,21 @@
+@@ -14,25 +14,21 @@
[ 'build_macold', {
'qt_version%': '5.3.2',
}, {
@@ -278,7 +278,7 @@ index dea127a3..bea656f1 100644
}]
]
},
-@@ -85,32 +81,13 @@
+@@ -72,32 +68,13 @@
],
}],
[ 'build_linux', {
@@ -314,7 +314,7 @@ index dea127a3..bea656f1 100644
],
}],
],
-@@ -135,16 +112,11 @@
+@@ -122,16 +99,11 @@
'qt_loc': '<(qt_loc_unix)',
}],
],
@@ -331,7 +331,7 @@ index dea127a3..bea656f1 100644
},
'configurations': {
-@@ -193,21 +165,21 @@
+@@ -180,21 +152,21 @@
},
'include_dirs': [
@@ -366,7 +366,7 @@ index dea127a3..bea656f1 100644
],
'defines': [
'QT_WIDGETS_LIB',
-@@ -218,32 +190,21 @@
+@@ -205,32 +177,21 @@
'conditions': [
[ 'build_linux', {
'dependencies': [
@@ -403,10 +403,10 @@ index dea127a3..bea656f1 100644
'-rdynamic',
],
diff --git a/Telegram/gyp/qt_moc.gypi b/Telegram/gyp/qt_moc.gypi
-index fae668dc..7c62da2f 100644
+index 464d3c81..4f4d9cef 100644
--- a/Telegram/gyp/qt_moc.gypi
+++ b/Telegram/gyp/qt_moc.gypi
-@@ -25,11 +25,12 @@
+@@ -12,11 +12,12 @@
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
],
'action': [
@@ -421,10 +421,10 @@ index fae668dc..7c62da2f 100644
# '<!@(python -c "for s in \'<@(_include_dirs)\'.split(\' \'): print(\'-I\' + s)")',
'<(RULE_INPUT_PATH)',
diff --git a/Telegram/gyp/qt_rcc.gypi b/Telegram/gyp/qt_rcc.gypi
-index eebc6967..3efa7d05 100644
+index f5624a82..b644ce29 100644
--- a/Telegram/gyp/qt_rcc.gypi
+++ b/Telegram/gyp/qt_rcc.gypi
-@@ -28,7 +28,7 @@
+@@ -15,7 +15,7 @@
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
],
'action': [
@@ -434,10 +434,10 @@ index eebc6967..3efa7d05 100644
'-no-compress',
'<(RULE_INPUT_PATH)',
diff --git a/Telegram/gyp/settings_linux.gypi b/Telegram/gyp/settings_linux.gypi
-index b93bace4..1a637e93 100644
+index a4b5f58a..9658b5c3 100644
--- a/Telegram/gyp/settings_linux.gypi
+++ b/Telegram/gyp/settings_linux.gypi
-@@ -22,10 +22,6 @@
+@@ -9,10 +9,6 @@
[ 'build_linux', {
'variables': {
'linux_common_flags': [
@@ -448,7 +448,7 @@ index b93bace4..1a637e93 100644
'-fPIC',
'-Wno-unused-variable',
'-Wno-unused-parameter',
-@@ -60,7 +56,6 @@
+@@ -47,7 +43,6 @@
],
'defines': [
'_REENTRANT',
@@ -457,10 +457,10 @@ index b93bace4..1a637e93 100644
],
'cflags_c': [
diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi
-index f6918c22..5307a518 100644
+index a5b4b197..05d3dca2 100644
--- a/Telegram/gyp/telegram_linux.gypi
+++ b/Telegram/gyp/telegram_linux.gypi
-@@ -28,99 +28,54 @@
+@@ -15,99 +15,53 @@
# QApplication() -> createPlatformIntegration -> QXcbIntegrationPlugin::create
#'xkbcommon',
],
@@ -535,7 +535,6 @@ index f6918c22..5307a518 100644
- '-Wl,-wrap,secure_getenv',
- '-Wl,-wrap,clock_gettime',
- '-Wl,--no-as-needed,-lrt',
-+ '-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld',
],
'configurations': {
'Release': {
@@ -581,10 +580,10 @@ index f6918c22..5307a518 100644
],
}]
diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt
-index 5d2f627e..b5a261f3 100644
+index 11b5c6ff..b765fba9 100644
--- a/Telegram/gyp/telegram_sources.txt
+++ b/Telegram/gyp/telegram_sources.txt
-@@ -703,7 +703,7 @@
+@@ -702,7 +702,7 @@
<(src_loc)/observer_peer.h
<(src_loc)/passcodewidget.cpp
<(src_loc)/passcodewidget.h
@@ -593,7 +592,7 @@ index 5d2f627e..b5a261f3 100644
<(src_loc)/settings.cpp
<(src_loc)/settings.h
<(src_loc)/shortcuts.cpp
-@@ -714,13 +714,6 @@
+@@ -713,13 +713,6 @@
<(emoji_suggestions_loc)/emoji_suggestions.h
platforms: !win
diff --git a/telegram-desktop.spec b/telegram-desktop.spec
index ff38d63..1d72905 100644
--- a/telegram-desktop.spec
+++ b/telegram-desktop.spec
@@ -2,23 +2,22 @@
%global appname tdesktop
# Git revision of crl...
-%global commit1 9e11a5c9291760d03df559d03d81fa7afdd0a46d
+%global commit1 344cbde9ae8d89a6530408d3176d2754ae0ff0e2
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
# Decrease debuginfo verbosity to reduce memory consumption...
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
-Summary: Telegram is a new era of messaging
+Summary: Telegram Desktop official messaging app
Name: telegram-desktop
-Version: 1.2.6
-Release: 2%{?dist}
+Version: 1.2.8
+Release: 1%{?dist}
# Application and 3rd-party modules licensing:
# * S0 (Telegram Desktop) - GPLv3+ with OpenSSL exception -- main source;
# * S1 (crl) - GPLv3+ -- build-time dependency;
# * P0 (qt_functions.cpp) - LGPLv3 -- build-time dependency.
License: GPLv3+ and LGPLv3
-Group: Applications/Internet
URL: https://github.com/telegramdesktop/%{appname}
# Warning! Builds on i686 may fail due to technical limitations of this
@@ -62,14 +61,15 @@ BuildRequires: xz-devel
%description
Telegram is a messaging app with a focus on speed and security, it’s super
fast, simple and free. You can use Telegram on all your devices at the same
-time — your messages sync seamlessly across any of your phones, tablets or
-computers.
+time — your messages sync seamlessly across any number of your phones,
+tablets or computers.
With Telegram, you can send messages, photos, videos and files of any type
-(doc, zip, mp3, etc), as well as create groups for up to 200 people. You can
-write to your phone contacts and find people by their usernames. As a result,
-Telegram is like SMS and email combined — and can take care of all your
-personal or business messaging needs.
+(doc, zip, mp3, etc), as well as create groups for up to 50,000 people or
+channels for broadcasting to unlimited audiences. You can write to your
+phone contacts and find people by their usernames. As a result, Telegram is
+like SMS and email combined — and can take care of all your personal or
+business messaging needs.
%prep
# Unpacking Telegram Desktop source archive...
@@ -119,36 +119,27 @@ install -d "%{buildroot}%{_datadir}/kde4/services"
install -m 0644 -p lib/xdg/tg.protocol "%{buildroot}%{_datadir}/kde4/services/tg.protocol"
# Installing appdata for Gnome Software...
-install -d "%{buildroot}%{_datadir}/appdata"
-install -m 0644 -p lib/xdg/telegramdesktop.appdata.xml "%{buildroot}%{_datadir}/appdata/%{name}.appdata.xml"
+install -d "%{buildroot}%{_datadir}/metainfo"
+install -m 0644 -p lib/xdg/telegramdesktop.appdata.xml "%{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml"
%check
-appstream-util validate-relax --nonet "%{buildroot}%{_datadir}/appdata/%{name}.appdata.xml"
-
-%post
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-%postun
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-fi
-
-%posttrans
-/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+appstream-util validate-relax --nonet "%{buildroot}%{_datadir}/metainfo/%{name}.appdata.xml"
%files
%doc README.md changelog.txt
-%license LICENSE
+%license LICENSE LEGAL
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/kde4/services/tg.protocol
%{_datadir}/icons/hicolor/*/apps/%{name}.png
-%{_datadir}/appdata/%{name}.appdata.xml
+%{_datadir}/metainfo/%{name}.appdata.xml
%changelog
-* Thu Jan 18 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.6-2
-- Rebuilt for ffmpeg-3.5 git
+* Wed Jan 03 2018 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.2.8-1
+- Updated to 1.2.8 (alpha).
+
+* Mon Jan 01 2018 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.2.7-1
+- Updated to 1.2.7 (alpha).
* Sat Dec 30 2017 Vitaly Zaitsev <vitaly(a)easycoding.org> - 1.2.6-1
- Updated to 1.2.6.
6 years, 10 months
[mjpegtools] Build without libquicktime for F28
by Leigh Scott
commit 365e1e109211ea96bd07473c9097ecde2febdc6c
Author: leigh123linux <leigh123linux(a)googlemail.com>
Date: Thu Jan 25 11:17:43 2018 +0000
Build without libquicktime for F28
mjpegtools.spec | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
---
diff --git a/mjpegtools.spec b/mjpegtools.spec
index 574280f..b0ed192 100644
--- a/mjpegtools.spec
+++ b/mjpegtools.spec
@@ -1,6 +1,6 @@
Name: mjpegtools
Version: 2.1.0
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: Tools to manipulate MPEG data
Group: Applications/Multimedia
License: GPLv2
@@ -15,7 +15,10 @@ BuildRequires: nasm
BuildRequires: libdv-devel
BuildRequires: SDL-devel >= 1.1.3
BuildRequires: SDL_gfx-devel
+# libquicktime is FTBFS in F28
+%if 0%{?fedora} <= 27
BuildRequires: libquicktime-devel >= 0.9.8
+%endif
BuildRequires: libpng-devel
BuildRequires: gtk2-devel >= 2.4.0
Requires: %{name}-libs = %{version}-%{release}
@@ -113,11 +116,11 @@ done
%build
%configure --disable-dependency-tracking --disable-static
-make %{?_smp_mflags}
+%make_build
%install
-make install DESTDIR=$RPM_BUILD_ROOT
+%make_install
rm -f $RPM_BUILD_ROOT{%{_infodir}/dir,%{_libdir}/lib*.la}
# too broken/outdated to be useful in 1.[89].0 (and would come with dep chain)
rm $RPM_BUILD_ROOT%{_bindir}/mpegtranscode
@@ -140,7 +143,6 @@ rm $RPM_BUILD_ROOT%{_bindir}/mpegtranscode
%files
-%defattr(-,root,root,-)
%doc CHANGES ChangeLog AUTHORS BUGS README.lavpipe NEWS TODO
%{_bindir}/*
%exclude %{_bindir}/glav
@@ -154,7 +156,6 @@ rm $RPM_BUILD_ROOT%{_bindir}/mpegtranscode
%{_infodir}/mjpeg-howto.info*
%files gui
-%defattr(-,root,root,-)
%doc README.glav
%{_bindir}/glav
# lavplay and yuvplay won't save console util users from X11 and SDL
@@ -167,28 +168,27 @@ rm $RPM_BUILD_ROOT%{_bindir}/mpegtranscode
%{_mandir}/man1/yuvplay.1*
%files libs
-%defattr(-,root,root,-)
-%doc COPYING
+%license COPYING
%{_libdir}/libm*.so.*
%files lav
-%defattr(-,root,root,-)
%{_libdir}/liblav*.so.*
%files devel
-%defattr(-,root,root,-)
%{_includedir}/%{name}
%exclude %{_includedir}/%{name}/*lav*.h
%{_libdir}/libm*.so
%{_libdir}/pkgconfig/%{name}.pc
%files lav-devel
-%defattr(-,root,root,-)
%{_includedir}/%{name}/*lav*.h
%{_libdir}/liblav*.so
%changelog
+* Thu Jan 25 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 2.1.0-8
+- Build without libquicktime for F28
+
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 2.1.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
6 years, 10 months
[kodi] Disable linker option for shared library definitions
by Michael Cronenworth
commit 3082f3cdaf7f90e5ad6267029b057ee8a5820eec
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Wed Jan 24 14:26:04 2018 -0600
Disable linker option for shared library definitions
Fedora 28 has just enabled "-Wl,-z,defs" for x86 32-bit, which is a
problem with shared libraries that perform dlopen() calls.
Signed-off-by: Michael Cronenworth <mike(a)cchtml.com>
kodi.spec | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/kodi.spec b/kodi.spec
index e29a8e2..809eea5 100644
--- a/kodi.spec
+++ b/kodi.spec
@@ -10,7 +10,7 @@
# * dvd - Include optical drive support and DVD decryption
#
# Default: Do not ship DVD decryption for legal reasons
-%bcond_with dvd 0
+%bcond_with dvd
Name: kodi
Version: 17.6
@@ -324,7 +324,7 @@ chmod +x bootstrap
%endif
CFLAGS="$RPM_OPT_FLAGS -fPIC -I/usr/include/afpfs-ng/ -I/usr/include/samba-4.0/ -D__STDC_CONSTANT_MACROS" \
CXXFLAGS="$RPM_OPT_FLAGS -fPIC -I/usr/include/afpfs-ng/ -I/usr/include/samba-4.0/ -D__STDC_CONSTANT_MACROS" \
-LDFLAGS="$RPM_LD_FLAGS -fPIC" \
+LDFLAGS="`echo "$RPM_LD_FLAGS -fPIC" | sed -e 's/-Wl,-z,defs//'`" \
ASFLAGS=-fPIC
make %{?_smp_mflags} V=1
6 years, 10 months
[libva-intel-driver/f27] Switch to github 1.8x branch
by Nicolas Chauvet
commit 530b557b18795b4465080478cf1d026505e2afe6
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Wed Jan 24 20:18:12 2018 +0100
Switch to github 1.8x branch
libva-intel-driver.spec | 12 ++++++++----
sources | 2 +-
2 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/libva-intel-driver.spec b/libva-intel-driver.spec
index 0aa7eb9..715308b 100644
--- a/libva-intel-driver.spec
+++ b/libva-intel-driver.spec
@@ -1,12 +1,13 @@
-#global _with_gen4asm 1
+%global commit fcf9041b29cee938a228dc7950955ccebb43c6bf
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: libva-intel-driver
Version: 1.8.3
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: HW video decode support for Intel integrated graphics
License: MIT and EPL
URL: https://01.org/linuxmedia
-Source0: https://github.com/01org/intel-vaapi-driver/archive/%{version}.tar.gz#/%{...
+Source0: https://github.com/01org/intel-vaapi-driver/archive/%{commit}/%{name}-%{s...
ExclusiveArch: %{ix86} x86_64 ia64
@@ -36,7 +37,7 @@ HW video decode support for Intel integrated graphics.
%prep
-%autosetup -p1 -n intel-vaapi-driver-%{version}
+%autosetup -p1 -n intel-vaapi-driver-%{commit}
%{?_with_gen4asm:
#Move pre-built (binary) asm code
for f in src/shaders/vme/*.g?b ; do
@@ -72,6 +73,9 @@ gendiff . .prebuilt
%changelog
+* Wed Jan 24 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 1.8.3-3
+- Switch to github snapshot from 1.8x branch
+
* Tue Aug 22 2017 Nicolas Chauvet <kwizart(a)gmail.com> - 1.8.3-2
- Enable hybrid codec - rhbz#1475962
diff --git a/sources b/sources
index dc8a071..babda79 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-3c75509a4338875bc8c315cce696af0f libva-intel-driver-1.8.3.tar.gz
+938dffda01210c0a9491cae1fc6a77d8 libva-intel-driver-fcf9041.tar.gz
6 years, 10 months
[kodi] Use correct python2 macro
by Leigh Scott
commit 0c0da9482c32a2267fa9bfc68479142b5fdc5cea
Author: leigh123linux <leigh123linux(a)googlemail.com>
Date: Wed Jan 24 18:21:40 2018 +0000
Use correct python2 macro
kodi.spec | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
---
diff --git a/kodi.spec b/kodi.spec
index 5faf34c..e29a8e2 100644
--- a/kodi.spec
+++ b/kodi.spec
@@ -5,11 +5,6 @@
#global DIRVERSION %{version}%{PRERELEASE}
%global _hardened_build 1
-%if (0%{?fedora} > 27)
-#Rawhide has stopped defining this correctly
-%global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
-%endif
-
# We support hte following options:
# --with,
# * dvd - Include optical drive support and DVD decryption
@@ -409,7 +404,7 @@ fi
%files eventclients
%license copying.txt LICENSE.GPL
-%{python_sitelib}/kodi
+%{python2_sitelib}/kodi
%dir %{_datadir}/pixmaps/kodi
%{_datadir}/pixmaps/kodi/*.png
%{_bindir}/kodi-ps3d
6 years, 10 months
[kodi] ffmpeg-3.5 support
by Michael Cronenworth
commit 424f0cd70cd564ef865e2dd546ccd4d484018c09
Author: Michael Cronenworth <mike(a)cchtml.com>
Date: Wed Jan 24 11:39:17 2018 -0600
ffmpeg-3.5 support
Signed-off-by: Michael Cronenworth <mike(a)cchtml.com>
kodi-17.6-ffmpeg-3.5.patch | 445 +++++++++++++++++++++++++++++++++++++++++++++
kodi.spec | 51 +++---
2 files changed, 474 insertions(+), 22 deletions(-)
---
diff --git a/kodi-17.6-ffmpeg-3.5.patch b/kodi-17.6-ffmpeg-3.5.patch
new file mode 100644
index 0000000..e0e1888
--- /dev/null
+++ b/kodi-17.6-ffmpeg-3.5.patch
@@ -0,0 +1,445 @@
+From 18265df6ad3134afbdaf9b09d937f7a5a16cb84c Mon Sep 17 00:00:00 2001
+From: Michael Cronenworth <mike(a)cchtml.com>
+Date: Wed, 24 Jan 2018 09:24:04 -0600
+Subject: [PATCH] ffmpeg: Initial support for ffmpeg 3.5
+
+- Renamed variables to current names
+- Removal of deprecated API types
+
+Most of this stuff was deprecated years ago.
+
+Signed-off-by: Michael Cronenworth <mike(a)cchtml.com>
+---
+ xbmc/cdrip/EncoderFFmpeg.cpp | 4 +--
+ xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h | 2 +-
+ .../AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 2 +-
+ .../Engines/ActiveAE/ActiveAEFilter.cpp | 6 ++--
+ .../DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp | 6 ++--
+ .../DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp | 2 +-
+ .../VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h | 5 ----
+ .../DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp | 34 ++--------------------
+ .../DVDCodecs/Video/DVDVideoPPFFmpeg.cpp | 5 +---
+ xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp | 4 +--
+ .../VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp | 6 ++--
+ .../VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 6 ++--
+ .../VideoPlayer/DVDDemuxers/DVDDemuxUtils.cpp | 4 +--
+ xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp | 8 ++---
+ xbmc/cores/omxplayer/OMXVideoCodec.h | 5 ----
+ xbmc/guilib/FFmpegImage.cpp | 2 +-
+ xbmc/utils/BitstreamConverter.cpp | 12 ++++----
+ 17 files changed, 36 insertions(+), 77 deletions(-)
+
+diff --git a/xbmc/cdrip/EncoderFFmpeg.cpp b/xbmc/cdrip/EncoderFFmpeg.cpp
+index 86f56ae2a6..f8a5370fdb 100644
+--- a/xbmc/cdrip/EncoderFFmpeg.cpp
++++ b/xbmc/cdrip/EncoderFFmpeg.cpp
+@@ -119,8 +119,8 @@ bool CEncoderFFmpeg::Init(audioenc_callbacks &callbacks)
+
+ if(m_Format->oformat->flags & AVFMT_GLOBALHEADER)
+ {
+- m_CodecCtx->flags |= CODEC_FLAG_GLOBAL_HEADER;
+- m_Format->flags |= CODEC_FLAG_GLOBAL_HEADER;
++ m_CodecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
++ m_Format->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+ switch(m_iInBitsPerSample)
+diff --git a/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h b/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h
+index 11c2e10b08..6bb40f285e 100644
+--- a/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h
++++ b/xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.h
+@@ -56,7 +56,7 @@ private:
+ SwrContext *m_SwrCtx;
+ CAEChannelInfo m_Layout;
+ AVPacket m_Pkt;
+- uint8_t m_Buffer[8 + FF_MIN_BUFFER_SIZE];
++ uint8_t m_Buffer[8 + AV_INPUT_BUFFER_MIN_SIZE];
+ int m_BufferSize;
+ int m_OutputSize;
+ double m_OutputRatio;
+diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
+index a1ea0791f4..54e5c1d830 100644
+--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
+@@ -2955,7 +2955,7 @@ IAESound *CActiveAE::MakeSound(const std::string& file)
+ int fileSize = sound->GetFileSize();
+
+ fmt_ctx = avformat_alloc_context();
+- unsigned char* buffer = (unsigned char*)av_malloc(SOUNDBUFFER_SIZE+FF_INPUT_BUFFER_PADDING_SIZE);
++ unsigned char* buffer = (unsigned char*)av_malloc(SOUNDBUFFER_SIZE+AV_INPUT_BUFFER_PADDING_SIZE);
+ io_ctx = avio_alloc_context(buffer, SOUNDBUFFER_SIZE, 0,
+ sound, CActiveAESound::Read, NULL, CActiveAESound::Seek);
+ io_ctx->max_packet_size = sound->GetChunkSize();
+diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
+index a4c3a51df3..8085d94c77 100644
+--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
++++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
+@@ -91,8 +91,8 @@ bool CActiveAEFilter::CreateFilterGraph()
+ return false;
+ }
+
+- AVFilter* srcFilter = avfilter_get_by_name("abuffer");
+- AVFilter* outFilter = avfilter_get_by_name("abuffersink");
++ const AVFilter* srcFilter = avfilter_get_by_name("abuffer");
++ const AVFilter* outFilter = avfilter_get_by_name("abuffersink");
+
+ std::string args = StringUtils::Format("time_base=1/%d:sample_rate=%d:sample_fmt=%s:channel_layout=0x%" PRIx64,
+ m_sampleRate,
+@@ -121,7 +121,7 @@ bool CActiveAEFilter::CreateFilterGraph()
+
+ bool CActiveAEFilter::CreateAtempoFilter()
+ {
+- AVFilter *atempo;
++ const AVFilter *atempo;
+
+ atempo = avfilter_get_by_name("atempo");
+ m_pFilterCtxAtempo = avfilter_graph_alloc_filter(m_pFilterGraph, atempo, "atempo");
+diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp
+index f5880cc25b..78712c9ed6 100644
+--- a/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp
++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp
+@@ -82,8 +82,8 @@ bool CDVDAudioCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
+ m_pCodecContext->debug = 0;
+ m_pCodecContext->workaround_bugs = 1;
+
+- if (pCodec->capabilities & CODEC_CAP_TRUNCATED)
+- m_pCodecContext->flags |= CODEC_FLAG_TRUNCATED;
++ if (pCodec->capabilities & AV_CODEC_CAP_TRUNCATED)
++ m_pCodecContext->flags |= AV_CODEC_FLAG_TRUNCATED;
+
+ m_matrixEncoding = AV_MATRIX_ENCODING_NONE;
+ m_channels = 0;
+@@ -98,7 +98,7 @@ bool CDVDAudioCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
+
+ if( hints.extradata && hints.extrasize > 0 )
+ {
+- m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + FF_INPUT_BUFFER_PADDING_SIZE);
++ m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + AV_INPUT_BUFFER_PADDING_SIZE);
+ if(m_pCodecContext->extradata)
+ {
+ m_pCodecContext->extradata_size = hints.extrasize;
+diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
+index 3a080d06c9..8ab62db5ec 100644
+--- a/xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
+@@ -73,7 +73,7 @@ bool CDVDOverlayCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &optio
+ if( hints.extradata && hints.extrasize > 0 )
+ {
+ m_pCodecContext->extradata_size = hints.extrasize;
+- m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + FF_INPUT_BUFFER_PADDING_SIZE);
++ m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + AV_INPUT_BUFFER_PADDING_SIZE);
+ memcpy(m_pCodecContext->extradata, hints.extradata, hints.extrasize);
+
+ // start parsing of extra data - create a copy to be safe and make it zero-terminating to avoid access violations!
+diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h
+index a2da9de437..5392231aa6 100644
+--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h
++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodec.h
+@@ -149,11 +149,6 @@ struct DVDVideoUserData
+
+ // DVP_FLAG 0x00000100 - 0x00000f00 is in use by libmpeg2!
+
+-#define DVP_QSCALE_UNKNOWN 0
+-#define DVP_QSCALE_MPEG1 1
+-#define DVP_QSCALE_MPEG2 2
+-#define DVP_QSCALE_H264 3
+-
+ class CDVDStreamInfo;
+ class CDVDCodecOption;
+ class CDVDCodecOptions;
+diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+index df2445d295..1a35ea0724 100644
+--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+@@ -382,16 +382,6 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
+ else
+ m_decoderState = STATE_SW_SINGLE;
+
+-#if defined(TARGET_DARWIN_IOS)
+- // ffmpeg with enabled neon will crash and burn if this is enabled
+- m_pCodecContext->flags &= CODEC_FLAG_EMU_EDGE;
+-#else
+- if (pCodec->id != AV_CODEC_ID_H264 && pCodec->capabilities & CODEC_CAP_DR1
+- && pCodec->id != AV_CODEC_ID_VP8
+- )
+- m_pCodecContext->flags |= CODEC_FLAG_EMU_EDGE;
+-#endif
+-
+ // if we don't do this, then some codecs seem to fail.
+ m_pCodecContext->coded_height = hints.height;
+ m_pCodecContext->coded_width = hints.width;
+@@ -400,7 +390,7 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options
+ if( hints.extradata && hints.extrasize > 0 )
+ {
+ m_pCodecContext->extradata_size = hints.extrasize;
+- m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + FF_INPUT_BUFFER_PADDING_SIZE);
++ m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + AV_INPUT_BUFFER_PADDING_SIZE);
+ memcpy(m_pCodecContext->extradata, hints.extradata, hints.extrasize);
+ }
+
+@@ -882,24 +872,6 @@ bool CDVDVideoCodecFFmpeg::GetPictureCommon(DVDVideoPicture* pDvdVideoPicture)
+ else
+ pDvdVideoPicture->color_range = 0;
+
+- int qscale_type;
+- pDvdVideoPicture->qp_table = av_frame_get_qp_table(m_pFrame, &pDvdVideoPicture->qstride, &qscale_type);
+-
+- switch (qscale_type)
+- {
+- case FF_QSCALE_TYPE_MPEG1:
+- pDvdVideoPicture->qscale_type = DVP_QSCALE_MPEG1;
+- break;
+- case FF_QSCALE_TYPE_MPEG2:
+- pDvdVideoPicture->qscale_type = DVP_QSCALE_MPEG2;
+- break;
+- case FF_QSCALE_TYPE_H264:
+- pDvdVideoPicture->qscale_type = DVP_QSCALE_H264;
+- break;
+- default:
+- pDvdVideoPicture->qscale_type = DVP_QSCALE_UNKNOWN;
+- }
+-
+ if (pDvdVideoPicture->iRepeatPicture)
+ pDvdVideoPicture->dts = DVD_NOPTS_VALUE;
+ else
+@@ -989,8 +961,8 @@ int CDVDVideoCodecFFmpeg::FilterOpen(const std::string& filters, bool scale)
+ return -1;
+ }
+
+- AVFilter* srcFilter = avfilter_get_by_name("buffer");
+- AVFilter* outFilter = avfilter_get_by_name("buffersink"); // should be last filter in the graph for now
++ const AVFilter* srcFilter = avfilter_get_by_name("buffer");
++ const AVFilter* outFilter = avfilter_get_by_name("buffersink"); // should be last filter in the graph for now
+
+ std::string args = StringUtils::Format("%d:%d:%d:%d:%d:%d:%d",
+ m_pCodecContext->width,
+diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp
+index 73b914f864..f367a534b1 100644
+--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp
++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp
+@@ -132,15 +132,12 @@ bool CDVDVideoPPFFmpeg::Process(DVDVideoPicture* pPicture)
+ }
+ }
+
+- int pict_type = (m_pSource->qscale_type != DVP_QSCALE_MPEG1) ?
+- PP_PICT_TYPE_QP2 : 0;
+-
+ pp_postprocess((const uint8_t**)m_pSource->data, m_pSource->iLineSize,
+ m_pTarget->data, m_pTarget->iLineSize,
+ m_pSource->iWidth, m_pSource->iHeight,
+ m_pSource->qp_table, m_pSource->qstride,
+ m_pMode, m_pContext,
+- pict_type); //m_pSource->iFrameType);
++ 0); //m_pSource->iFrameType);
+
+ //Copy frame information over to target, but make sure it is set as allocated should decoder have forgotten
+ m_pTarget->iFlags = m_pSource->iFlags | DVP_FLAG_ALLOCATED;
+diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp
+index 2f6502561d..b69cb61827 100644
+--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp
++++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp
+@@ -3090,8 +3090,8 @@ bool CFFmpegPostproc::Init(EINTERLACEMETHOD method)
+ return false;
+ }
+
+- AVFilter* srcFilter = avfilter_get_by_name("buffer");
+- AVFilter* outFilter = avfilter_get_by_name("buffersink");
++ const AVFilter* srcFilter = avfilter_get_by_name("buffer");
++ const AVFilter* outFilter = avfilter_get_by_name("buffersink");
+
+ std::string args = StringUtils::Format("%d:%d:%d:%d:%d:%d:%d",
+ m_config.vidWidth,
+diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
+index 76c37a33fe..ab77abb7b4 100644
+--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
++++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
+@@ -25,7 +25,7 @@
+ #include "settings/Settings.h"
+ #include "../DVDClock.h"
+
+-#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - FF_INPUT_BUFFER_PADDING_SIZE)
++#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE)
+
+
+ class CDemuxStreamClientInternal
+@@ -179,9 +179,9 @@ void CDVDDemuxClient::ParsePacket(DemuxPacket* pkt)
+ st->changes++;
+ st->disabled = false;
+ st->ExtraSize = len;
+- st->ExtraData = new uint8_t[len+FF_INPUT_BUFFER_PADDING_SIZE];
++ st->ExtraData = new uint8_t[len+AV_INPUT_BUFFER_PADDING_SIZE];
+ memcpy(st->ExtraData, pkt->pData, len);
+- memset((uint8_t*)st->ExtraData + len, 0 , FF_INPUT_BUFFER_PADDING_SIZE);
++ memset((uint8_t*)st->ExtraData + len, 0 , AV_INPUT_BUFFER_PADDING_SIZE);
+ stream->m_parser_split = false;
+ }
+ }
+diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+index 33d1e5ab62..f23e858825 100644
+--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
++++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+@@ -78,7 +78,7 @@ static const struct StereoModeConversionMap WmvToInternalStereoModeMap[] =
+ {}
+ };
+
+-#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - FF_INPUT_BUFFER_PADDING_SIZE)
++#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE)
+
+ std::string CDemuxStreamAudioFFmpeg::GetStreamName()
+ {
+@@ -1881,12 +1881,12 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPacket *pkt)
+ // Found extradata, fill it in. This will cause
+ // a new stream to be created and used.
+ st->codec->extradata_size = i;
+- st->codec->extradata = (uint8_t*)av_malloc(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
++ st->codec->extradata = (uint8_t*)av_malloc(st->codec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (st->codec->extradata)
+ {
+ CLog::Log(LOGDEBUG, "CDVDDemuxFFmpeg::Read() fetching extradata, extradata_size(%d)", st->codec->extradata_size);
+ memcpy(st->codec->extradata, pkt->data, st->codec->extradata_size);
+- memset(st->codec->extradata + i, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++ memset(st->codec->extradata + i, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+ }
+ else
+ {
+diff --git a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxUtils.cpp b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxUtils.cpp
+index df0f35bd49..10102a89d4 100644
+--- a/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxUtils.cpp
++++ b/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxUtils.cpp
+@@ -68,7 +68,7 @@ DemuxPacket* CDVDDemuxUtils::AllocateDemuxPacket(int iDataSize)
+ * Note, if the first 23 bits of the additional bytes are not 0 then damaged
+ * MPEG bitstreams could cause overread and segfault
+ */
+- pPacket->pData =(uint8_t*)_aligned_malloc(iDataSize + FF_INPUT_BUFFER_PADDING_SIZE, 16);
++ pPacket->pData =(uint8_t*)_aligned_malloc(iDataSize + AV_INPUT_BUFFER_PADDING_SIZE, 16);
+ if (!pPacket->pData)
+ {
+ FreeDemuxPacket(pPacket);
+@@ -76,7 +76,7 @@ DemuxPacket* CDVDDemuxUtils::AllocateDemuxPacket(int iDataSize)
+ }
+
+ // reset the last 8 bytes to 0;
+- memset(pPacket->pData + iDataSize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++ memset(pPacket->pData + iDataSize, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+ }
+
+ // setup defaults
+diff --git a/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp b/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
+index 920ac4ab75..383f4f88cb 100644
+--- a/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
++++ b/xbmc/cores/omxplayer/OMXAudioCodecOMX.cpp
+@@ -86,8 +86,8 @@ bool COMXAudioCodecOMX::Open(CDVDStreamInfo &hints)
+ m_pCodecContext->debug = 0;
+ m_pCodecContext->workaround_bugs = 1;
+
+- if (pCodec->capabilities & CODEC_CAP_TRUNCATED)
+- m_pCodecContext->flags |= CODEC_FLAG_TRUNCATED;
++ if (pCodec->capabilities & AV_CODEC_CAP_TRUNCATED)
++ m_pCodecContext->flags |= AV_CODEC_FLAG_TRUNCATED;
+
+ m_channels = 0;
+ m_pCodecContext->channels = hints.channels;
+@@ -110,7 +110,7 @@ bool COMXAudioCodecOMX::Open(CDVDStreamInfo &hints)
+
+ if( hints.extradata && hints.extrasize > 0 )
+ {
+- m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + FF_INPUT_BUFFER_PADDING_SIZE);
++ m_pCodecContext->extradata = (uint8_t*)av_mallocz(hints.extrasize + AV_INPUT_BUFFER_PADDING_SIZE);
+ if(m_pCodecContext->extradata)
+ {
+ m_pCodecContext->extradata_size = hints.extrasize;
+@@ -222,7 +222,7 @@ int COMXAudioCodecOMX::GetData(BYTE** dst, double &dts, double &pts)
+
+ if (m_iBufferOutputAlloced < m_iBufferOutputUsed + outputSize)
+ {
+- m_pBufferOutput = (BYTE*)av_realloc(m_pBufferOutput, m_iBufferOutputUsed + outputSize + FF_INPUT_BUFFER_PADDING_SIZE);
++ m_pBufferOutput = (BYTE*)av_realloc(m_pBufferOutput, m_iBufferOutputUsed + outputSize + AV_INPUT_BUFFER_PADDING_SIZE);
+ m_iBufferOutputAlloced = m_iBufferOutputUsed + outputSize;
+ }
+
+diff --git a/xbmc/cores/omxplayer/OMXVideoCodec.h b/xbmc/cores/omxplayer/OMXVideoCodec.h
+index d8063d05a2..0b9bdb804f 100644
+--- a/xbmc/cores/omxplayer/OMXVideoCodec.h
++++ b/xbmc/cores/omxplayer/OMXVideoCodec.h
+@@ -127,11 +127,6 @@ struct DVDVideoUserData
+
+ // DVP_FLAG 0x00000100 - 0x00000f00 is in use by libmpeg2!
+
+-#define DVP_QSCALE_UNKNOWN 0
+-#define DVP_QSCALE_MPEG1 1
+-#define DVP_QSCALE_MPEG2 2
+-#define DVP_QSCALE_H264 3
+-
+ class COMXStreamInfo;
+ class CDVDCodecOption;
+ class CDVDCodecOptions;
+diff --git a/xbmc/guilib/FFmpegImage.cpp b/xbmc/guilib/FFmpegImage.cpp
+index 15bae686fb..ee49824e54 100644
+--- a/xbmc/guilib/FFmpegImage.cpp
++++ b/xbmc/guilib/FFmpegImage.cpp
+@@ -551,7 +551,7 @@ bool CFFmpegImage::CreateThumbnailFromSurface(unsigned char* bufferin, unsigned
+ tdm.avOutctx->time_base.num = 1;
+ tdm.avOutctx->time_base.den = 1;
+ tdm.avOutctx->pix_fmt = jpg_output ? AV_PIX_FMT_YUVJ420P : AV_PIX_FMT_RGBA;
+- tdm.avOutctx->flags = CODEC_FLAG_QSCALE;
++ tdm.avOutctx->flags = AV_CODEC_FLAG_QSCALE;
+ tdm.avOutctx->mb_lmin = tdm.avOutctx->qmin * FF_QP2LAMBDA;
+ tdm.avOutctx->mb_lmax = tdm.avOutctx->qmax * FF_QP2LAMBDA;
+ tdm.avOutctx->global_quality = tdm.avOutctx->qmin * FF_QP2LAMBDA;
+diff --git a/xbmc/utils/BitstreamConverter.cpp b/xbmc/utils/BitstreamConverter.cpp
+index d0a4c2098b..4330ee3569 100644
+--- a/xbmc/utils/BitstreamConverter.cpp
++++ b/xbmc/utils/BitstreamConverter.cpp
+@@ -686,13 +686,13 @@ bool CBitstreamConverter::BitstreamConvertInitAVC(void *in_extradata, int in_ext
+ unit_size = extradata[0] << 8 | extradata[1];
+ total_size += unit_size + 4;
+
+- if (total_size > INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE ||
++ if (total_size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE ||
+ (extradata + 2 + unit_size) > ((uint8_t*)in_extradata + in_extrasize))
+ {
+ av_free(out);
+ return false;
+ }
+- tmp = av_realloc(out, total_size + FF_INPUT_BUFFER_PADDING_SIZE);
++ tmp = av_realloc(out, total_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!tmp)
+ {
+ av_free(out);
+@@ -713,7 +713,7 @@ pps:
+ }
+
+ if (out)
+- memset(out + total_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++ memset(out + total_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+
+ if (!sps_seen)
+ CLog::Log(LOGDEBUG, "SPS NALU missing or invalid. The resulting stream may not play");
+@@ -776,13 +776,13 @@ bool CBitstreamConverter::BitstreamConvertInitHEVC(void *in_extradata, int in_ex
+ }
+ total_size += unit_size + 4;
+
+- if (total_size > INT_MAX - FF_INPUT_BUFFER_PADDING_SIZE ||
++ if (total_size > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE ||
+ (extradata + unit_size) > ((uint8_t*)in_extradata + in_extrasize))
+ {
+ av_free(out);
+ return false;
+ }
+- tmp = av_realloc(out, total_size + FF_INPUT_BUFFER_PADDING_SIZE);
++ tmp = av_realloc(out, total_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ if (!tmp)
+ {
+ av_free(out);
+@@ -796,7 +796,7 @@ bool CBitstreamConverter::BitstreamConvertInitHEVC(void *in_extradata, int in_ex
+ }
+
+ if (out)
+- memset(out + total_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
++ memset(out + total_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
+
+ if (!sps_seen)
+ CLog::Log(LOGDEBUG, "SPS NALU missing or invalid. The resulting stream may not play");
+--
+2.14.3
+
diff --git a/kodi.spec b/kodi.spec
index 1691e9c..5faf34c 100644
--- a/kodi.spec
+++ b/kodi.spec
@@ -4,11 +4,22 @@
# use the line below for pre-releases
#global DIRVERSION %{version}%{PRERELEASE}
%global _hardened_build 1
-%global _with_dvd 0
+
+%if (0%{?fedora} > 27)
+#Rawhide has stopped defining this correctly
+%global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
+%endif
+
+# We support hte following options:
+# --with,
+# * dvd - Include optical drive support and DVD decryption
+#
+# Default: Do not ship DVD decryption for legal reasons
+%bcond_with dvd 0
Name: kodi
Version: 17.6
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Media center
License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD and MIT
@@ -24,7 +35,7 @@ Source0: %{name}-%{DIRVERSION}-patched.tar.xz
# ./kodi-generate-tarball-xz.sh
Source1: kodi-generate-tarball-xz.sh
-%if 0%{?_with_dvd}
+%if %{with dvd}
# kodi uses modified libdvd{css,nav,read} source and downloads at build time
# wget -O kodi-libdvdnav-master.tar.gz https://github.com/xbmc/libdvdnav/archive/master.tar.gz
Source2: kodi-libdvdnav-master.tar.gz
@@ -37,11 +48,14 @@ Source4: kodi-libdvdcss-master.tar.gz
# Set program version parameters
Patch1: kodi-16.0-versioning.patch
-%if 0%{?_with_dvd} == 0
+%if ! %{with dvd}
# Drop DVD library support
Patch2: kodi-17a2-libdvd.patch
%endif
+# FFmpeg 3.5 support
+Patch3: kodi-17.6-ffmpeg-3.5.patch
+
# Optional deps (not in EPEL)
%if 0%{?fedora}
# (libbluray in EPEL 6 is too old.)
@@ -169,8 +183,8 @@ BuildRequires: nasm
BuildRequires: pcre-devel
BuildRequires: pixman-devel
BuildRequires: pulseaudio-libs-devel
-BuildRequires: python-devel
-BuildRequires: python-pillow
+BuildRequires: python2-devel
+BuildRequires: python2-pillow
BuildRequires: sqlite-devel
BuildRequires: swig
BuildRequires: systemd-devel
@@ -213,7 +227,7 @@ Requires: xorg-x11-utils
# This is just symlinked to, but needed both at build-time
# and for installation
-Requires: python-pillow%{?_isa}
+Requires: python2-pillow%{?_isa}
%description
@@ -260,13 +274,14 @@ library.
%prep
%setup -q -n %{name}-%{DIRVERSION}
%patch1 -p1 -b.versioning
-%if 0%{?_with_dvd}
+%if %{with dvd}
cp -p %{SOURCE2} tools/depends/target/libdvdnav/libdvdnav-master.tar.gz
cp -p %{SOURCE3} tools/depends/target/libdvdread/libdvdread-master.tar.gz
cp -p %{SOURCE4} tools/depends/target/libdvdcss/libdvdcss-master.tar.gz
%else
%patch2 -p1 -b.libdvd
%endif
+%patch3 -p1 -b.ffmpeg-3.5
%build
@@ -296,7 +311,7 @@ chmod +x bootstrap
%else
--disable-ssh \
%endif
-%if 0%{?_with_dvd} == 0
+%if ! %{with dvd}
--disable-optical-drive \
%endif
--disable-optimizations --disable-debug \
@@ -349,19 +364,7 @@ mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/
mv docs/manpages ${RPM_BUILD_ROOT}%{_mandir}/man1/
-%post
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-
-%postun
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-fi
-
-
%posttrans
-/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
if [ ! -L %{_libdir}/xbmc ] ; then
if [ -d %{_libdir}/xbmc ] ; then
rmdir %{_libdir}/xbmc %{_datadir}/xbmc
@@ -406,7 +409,7 @@ fi
%files eventclients
%license copying.txt LICENSE.GPL
-%python_sitelib/kodi
+%{python_sitelib}/kodi
%dir %{_datadir}/pixmaps/kodi
%{_datadir}/pixmaps/kodi/*.png
%{_bindir}/kodi-ps3d
@@ -424,6 +427,10 @@ fi
%changelog
+* Wed Jan 24 2018 Michael Cronenworth <mike(a)cchtml.com> - 17.6-4
+- ffmpeg-3.5 support
+- Make dvd support an rpm build conditional
+
* Thu Jan 18 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 17.6-3
- Rebuilt for ffmpeg-3.5 git
6 years, 10 months
[libquicktime] Update to official git URL.
by Sérgio M. Basto
commit cc6ad034ce5b291281ade81929c1f89e11cc1137
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Wed Jan 24 00:41:53 2018 +0000
Update to official git URL.
.gitignore | 1 +
converttogit.sh | 7 +++++++
libquicktime.spec | 6 +++---
sources | 2 +-
4 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 0578870..10092eb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
libquicktime-1.2.4.tar.gz
/libquicktime-1.2.4-4d451774b8.tar.gz
+/libquicktime-git-4d451774b89fbdd2f53204f92b71837af7b06761.zip
diff --git a/converttogit.sh b/converttogit.sh
index dead042..a361eba 100644
--- a/converttogit.sh
+++ b/converttogit.sh
@@ -14,3 +14,10 @@ git push -u origin master
and I got this :
https://github.com/sergiomb2/libquicktime/commits/master
+
+and with:
+git remote set-url origin ssh://sergiomb@git.code.sf.net/p/libquicktime/git
+git push -u origin master
+
+and we got :
+https://sourceforge.net/p/libquicktime/git/ci/master/tree/
diff --git a/libquicktime.spec b/libquicktime.spec
index 6f11cc3..579685e 100644
--- a/libquicktime.spec
+++ b/libquicktime.spec
@@ -11,8 +11,7 @@ Release: 28%{?rel_string}%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://libquicktime.sourceforge.net/
-#Source0: http://downloads.sourceforge.net/libquicktime/%{name}-%{version}.tar.gz
-Source0: https://github.com/sergiomb2/%{name}/archive/%{githash}/%{name}-%{version...
+Source0: https://sourceforge.net/code-snapshots/git/l/li/libquicktime/git.git/libq...
BuildRequires: libdv-devel
BuildRequires: libpng-devel libjpeg-devel libGLU-devel
@@ -65,7 +64,7 @@ enhancements. This package contains development files for %{name}.
# --------------------------------------------------------------------
%prep
-%setup -q -n %{name}-%{githash}
+%setup -q -n %{name}-git-%{githash}
# --------------------------------------------------------------------
@@ -134,6 +133,7 @@ find $RPM_BUILD_ROOT%{_libdir} -type f -a -name \*.la -exec rm {} \;
- Update to 1.2.4-93-g4d45177
- Upstream have the official patches for ffmpeg_2.9.patch libav10.patch libquicktime-backport.patch
- This release have some security fixes
+- Update to official git URL.
* Wed Jan 17 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1.2.4-27
- Rebuilt for ffmpeg-3.5 git
diff --git a/sources b/sources
index 0b5e84a..73fab2c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a6d79eb99e6e6e35eead1cdb32cee9ea libquicktime-1.2.4-4d451774b8.tar.gz
+9688ebc5bc88fabac0b2e61dc8d6578c libquicktime-git-4d451774b89fbdd2f53204f92b71837af7b06761.zip
6 years, 10 months
[yle-dl] Epoch back to 2.26 as python-pyamf isn't available in fedora
by Leigh Scott
commit a03126f4974ef9d73d3447b1bfe8478d462d8d48
Author: leigh123linux <leigh123linux(a)googlemail.com>
Date: Tue Jan 23 18:40:47 2018 +0000
Epoch back to 2.26 as python-pyamf isn't available in fedora
.gitignore | 1 +
sources | 2 +-
yle-dl.spec | 8 ++++++--
3 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index d0413eb..98c1533 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ yle-dl-2.10.0.tar.gz
/yle-dl-2.13.tar.gz
/yle-dl-2.24.tar.gz
/yle-dl-2.30.tar.gz
+/yle-dl-2.26.tar.gz
diff --git a/sources b/sources
index a8f9d40..36ad602 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-f632381c47aa09d8601912286e10d406 yle-dl-2.30.tar.gz
+ad3313f2a7ed54bfeea15567d7d3dc07 yle-dl-2.26.tar.gz
diff --git a/yle-dl.spec b/yle-dl.spec
index db35f2e..66c163f 100644
--- a/yle-dl.spec
+++ b/yle-dl.spec
@@ -1,6 +1,7 @@
Name: yle-dl
-Version: 2.30
-Release: 1%{?dist}
+Epoch: 1
+Version: 2.26
+Release: 2%{?dist}
License: GPLv3
Summary: Command-line tool to download videos from Finnish broadcasting company
URL: http://aajanki.github.io/yle-dl/
@@ -53,6 +54,9 @@ chmod a+x %{buildroot}%{python2_sitelib}/yledl/yledl.py
%changelog
+* Tue Jan 23 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 1:2.26-2
+- Epoch back to 2.26 as python-pyamf isn't available in fedora
+
* Mon Jan 01 2018 Sérgio Basto <sergio(a)serjux.com> - 2.30-1
- Update to 2.30
6 years, 10 months