Initial import (#1295549).

epel9
Kevin Kofler 9 years ago
parent 564c80fe42
commit 17d0457fea

1
.gitignore vendored

@ -0,0 +1 @@
/qtwebengine-opensource-src-5.6.0-beta-clean.tar.xz

@ -0,0 +1,244 @@
#!/bin/bash
# Copyright 2013 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
where=`pwd`
generated_files=`./process_ffmpeg_gyp.py $1`
generated_files_headers="${generated_files//.c/.h}"
generated_files_headers="${generated_files_headers//.S/.h}"
generated_files_headers="${generated_files_headers//.asm/.h}"
cd $1
header_files=" libavutil/x86/asm.h \
libavutil/x86/bswap.h \
libavutil/x86/cpu.h \
libavutil/x86/emms.h \
libavutil/x86/intmath.h \
libavutil/x86/intreadwrite.h \
libavutil/x86/timer.h \
libavutil/atomic_gcc.h \
libavutil/attributes.h \
libavutil/audio_fifo.h \
libavutil/avassert.h \
libavutil/avutil.h \
libavutil/bswap.h \
libavutil/buffer_internal.h \
libavutil/common.h \
libavutil/colorspace.h \
libavutil/cpu_internal.h \
libavutil/cpu.h \
libavutil/dynarray.h \
libavutil/internal.h \
libavutil/intfloat.h \
libavutil/intreadwrite.h \
libavutil/libm.h \
libavutil/lls.h \
libavutil/lzo.h \
libavutil/macros.h \
libavutil/old_pix_fmts.h \
libavutil/pixfmt.h \
libavutil/replaygain.h \
libavutil/softfloat_tables.h \
libavutil/thread.h \
libavutil/timer.h \
libavutil/timestamp.h \
libavutil/time_internal.h \
libavutil/version.h \
libavutil/x86_cpu.h
libavcodec/x86/constants.h \
libavcodec/x86/dsputil_x86.h \
libavcodec/x86/fft.h \
libavcodec/x86/fpel.h \
libavcodec/x86/hpeldsp.h \
libavcodec/x86/inline_asm.h \
libavcodec/x86/mathops.h \
libavcodec/x86/vp56_arith.h \
libavcodec/avcodec.h \
libavcodec/blockdsp.h \
libavcodec/bytestream.h \
libavcodec/dct.h \
libavcodec/dsputil.h \
libavcodec/dv_profile_internal.h \
libavcodec/error_resilience.h \
libavcodec/fdctdsp.h \
libavcodec/flac.h \
libavcodec/fft.h \
libavcodec/fft-internal.h \
libavcodec/fft_table.h \
libavcodec/frame_thread_encoder.h \
libavcodec/get_bits.h \
libavcodec/h263dsp.h \
libavcodec/h264chroma.h \
libavcodec/h264pred.h \
libavcodec/hpeldsp.h \
libavcodec/idctdsp.h \
libavcodec/internal.h \
libavcodec/mathops.h \
libavcodec/me_cmp.h \
libavcodec/motion_est.h \
libavcodec/mpegpicture.h \
libavcodec/mpegutils.h \
libavcodec/mpegvideo.h \
libavcodec/mpegvideodsp.h \
libavcodec/mpegvideoencdsp.h \
libavcodec/old_codec_ids.h \
libavcodec/options_table.h \
libavcodec/pcm_tablegen.h \
libavcodec/pel_template.c \
libavcodec/pixblockdsp.h \
libavcodec/pixels.h \
libavcodec/pthread_internal.h \
libavcodec/put_bits.h \
libavcodec/qpeldsp.h \
libavcodec/ratecontrol.h \
libavcodec/rectangle.h \
libavcodec/rl.h \
libavcodec/rnd_avg.h \
libavcodec/thread.h \
libavcodec/tpel_template.c \
libavcodec/version.h \
libavcodec/videodsp.h \
libavcodec/vorbis_parser_internal.h \
libavcodec/vp3data.h \
libavcodec/vp3dsp.h \
libavcodec/vp56.h \
libavcodec/vp56dsp.h \
libavcodec/vp8data.h \
libavcodec/vp8.h \
libavcodec/vp8dsp.h \
libavformat/audiointerleave.h \
libavformat/avio_internal.h \
libavformat/avformat.h \
libavformat/dv.h \
libavformat/internal.h \
libavformat/pcm.h \
libavformat/rdt.h \
libavformat/rtp.h \
libavformat/rtpdec.h \
libavformat/spdif.h \
libavformat/srtp.h \
libavformat/options_table.h \
libavformat/version.h \
libavformat/w64.h \
libswresample/swresample.h \
libswresample/version.h \
compat/va_copy.h "
manual_files=" libavutil/x86/x86inc.asm \
libavutil/x86/x86util.asm \
libavcodec/x86/hpeldsp_rnd_template.c \
libavcodec/x86/rnd_template.c \
libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c \
libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c \
libavcodec/x86/constants.c \
libavcodec/x86/fft_init.c \
libavcodec/x86/h264_intrapred_init.c \
libavcodec/x86/hpeldsp_init.c \
libavcodec/x86/vp3dsp_init.c \
libavcodec/x86/vp8dsp_init.c \
libavutil/x86/autorename_libavutil_x86_cpu.c \
libavutil/x86/autorename_libavutil_x86_float_dsp_init.c \
libavutil/x86/lls_init.c \
libavcodec/x86/deinterlace.asm \
libavcodec/x86/fft.asm \
libavcodec/x86/fpel.asm \
libavcodec/x86/h264_intrapred.asm \
libavcodec/x86/h264_intrapred_10bit.asm \
libavcodec/x86/hpeldsp.asm \
libavcodec/x86/videodsp.asm \
libavcodec/x86/vorbisdsp.asm \
libavcodec/x86/vp3dsp.asm \
libavcodec/x86/vp8dsp.asm \
libavcodec/x86/vp8dsp_loopfilter.asm \
libavutil/x86/cpuid.asm \
libavutil/x86/float_dsp.asm \
libavutil/x86/lls.asm \
libavcodec/bit_depth_template.c \
libavcodec/fft_template.c \
libavcodec/h264pred_template.c \
libavcodec/hpel_template.c \
libavcodec/hpeldsp_template.c \
libavcodec/mdct_template.c \
libavcodec/videodsp_template.c \
libavcodec/h264pred.c \
libavcodec/hpeldsp.c \
libavcodec/videodsp.c \
libavcodec/vp3.c \
libavcodec/vp3_parser.c \
libavcodec/vp3dsp.c \
libavcodec/vp56rac.c \
libavcodec/vp8.c \
libavcodec/vp8_parser.c \
libavcodec/vp8dsp.c \
chromium/ffmpeg_stub_headers.fragment \
chromium/ffmpegsumo.sigs"
other_files=" Changelog \
COPYING.GPLv2 \
COPYING.GPLv3 \
COPYING.LGPLv2.1 \
COPYING.LGPLv3 \
CREDITS \
ffmpeg_generated.gypi \
ffmpeg.gyp \
ffmpegsumo.ver \
INSTALL \
LICENSE \
MAINTAINERS \
OWNERS \
README \
README.chromium \
RELEASE \
xcode_hack.c "
files=$generated_files$manual_files$other_files$generated_files_headers$header_files
prefix="tmp_"
for f in $files
do
dir_name=`echo $f | sed 's%/[^/]*$%/%'`
if [[ $dir_name == */* ]]; then
tmp_dir_name=$prefix$dir_name
mkdir -p ../tmp_ffmpeg/$tmp_dir_name
else
tmp_dir_name=$f
fi
cp $f ../tmp_ffmpeg/$tmp_dir_name 2>/dev/null
done
mkdir -p ../tmp_ffmpeg/tmp_chromium/config
cp -r chromium/config ../tmp_ffmpeg/tmp_chromium
cd ../tmp_ffmpeg
for tmp_directory in $(find . -type d -name 'tmp_*')
do
new_name=`echo $tmp_directory | sed 's/tmp_//'`
mv $tmp_directory $new_name
done
cd ..
rm -rf ffmpeg
mv tmp_ffmpeg ffmpeg
cd $where

@ -0,0 +1,67 @@
#!/bin/bash
# Copyright 2015 Kevin Kofler <Kevin@tigcc.ticalc.org>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
if [ -z "$1" ] ; then
echo "usage: ./clean_qtwebengine.sh VERSION"
echo "e.g.: ./clean_qtwebengine.sh 5.6.0"
exit 1
fi
DIRNAME="qtwebengine-opensource-src-$1"
echo "removing $DIRNAME"
rm -rf "$DIRNAME" || exit $?
if [ -f "$DIRNAME.tar.xz" ] ; then
echo "unpacking $DIRNAME.tar.xz"
tar xJf "$DIRNAME.tar.xz" || exit $?
elif [ -f "$DIRNAME.tar.bz2" ] ; then
echo "unpacking $DIRNAME.tar.bz2"
tar xjf "$DIRNAME.tar.bz2" || exit $?
elif [ -f "$DIRNAME.tar.gz" ] ; then
echo "unpacking $DIRNAME.tar.gz"
tar xzf "$DIRNAME.tar.gz" || exit $?
elif [ -f "$DIRNAME.7z" ] ; then
echo "unpacking $DIRNAME.7z"
if type 7za >/dev/null 2>/dev/null ; then
7za x "$DIRNAME.7z" || exit $?
elif type 7z >/dev/null 2>/dev/null ; then
7z x "$DIRNAME.7z" || exit $?
else
echo "error: p7zip required"
exit 1
fi
else
echo "error: no archive for $DIRNAME found"
exit 1
fi
echo "running clean_ffmpeg.sh"
./clean_ffmpeg.sh "$DIRNAME/src/3rdparty/chromium/third_party/ffmpeg" || exit $?
echo "repacking as $DIRNAME-clean.tar.xz"
XZ_OPT="-9 -f" tar cJf "$DIRNAME-clean.tar.xz" "$DIRNAME" || exit $?
echo "removing $DIRNAME"
rm -rf "$DIRNAME" || exit $?
echo "done"
exit 0

@ -0,0 +1,43 @@
#!/usr/bin/python
# Copyright 2013 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import sys
import re
if __name__ == "__main__":
path = "%s/ffmpeg_generated.gypi" % sys.argv[1]
with open(path, "r") as input_file:
content = input_file.read().replace('\n', '')
brandings = ['ChromeOS', 'ChromiumOS', 'win', 'Chrome']
output_duplicates = []
sections = re.findall('\[([^\}]*)\]', content)
for section in sections:
condition = re.findall("'([^']*)'", section)
if not any(x in condition[0] for x in brandings):
for source_file in condition[1:]:
output_duplicates.append(
source_file.replace('<(shared_generated_dir)/', ''))
output = list(set(output_duplicates))
output.remove('c_sources')
output.remove('asm_sources')
print ' '.join(output)

@ -0,0 +1,356 @@
%global qt_module qtwebengine
%global _hardened_build 1
# define to build docs, need to undef this for bootstrapping
# where qt5-qttools builds are not yet available
# only primary archs (for now), allow secondary to bootstrap
%ifarch %{arm} %{ix86} x86_64
%global docs 1
%endif
%global prerelease beta
Summary: Qt5 - QtWebEngine components
Name: qt5-qtwebengine
Version: 5.6.0
Release: 0.4.beta%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
# The other licenses are from Chromium and the code it bundles
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and (MPLv1.1 or GPLv2 or LGPLv2)
URL: http://www.qt.io
# cleaned tarball with patent-encumbered codecs removed from the bundled FFmpeg
# wget http://download.qt.io/development_releases/qt/5.6/5.6.0-beta/submodules/qtwebengine-opensource-src-5.6.0-beta.7z
# ./clean_qtwebengine.sh 5.6.0-beta
Source0: qtwebengine-opensource-src-5.6.0-beta-clean.tar.xz
# cleanup scripts used above
Source1: clean_qtwebengine.sh
Source2: clean_ffmpeg.sh
Source3: process_ffmpeg_gyp.py
# do not compile with -Wno-format, which also bypasses -Werror-format-security
Patch0: qtwebengine-opensource-src-5.6.0-beta-no-format.patch
# some tweaks to linux.pri (system libs, link libpci, run unbundling script)
Patch1: qtwebengine-opensource-src-5.6.0-beta-linux-pri.patch
BuildRequires: qt5-qtbase-devel >= %{version}
BuildRequires: qt5-qtdeclarative-devel >= %{version}
BuildRequires: qt5-qtxmlpatterns-devel >= %{version}
BuildRequires: qt5-qtlocation-devel >= %{version}
BuildRequires: qt5-qtsensors-devel >= %{version}
BuildRequires: qt5-qtwebchannel-devel >= %{version}
BuildRequires: qt5-qttools-static >= %{version}
BuildRequires: ninja-build
BuildRequires: bison
BuildRequires: gperf
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: re2-devel
BuildRequires: snappy-devel
%ifarch %{ix86} x86_64
BuildRequires: yasm
%endif
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libudev)
%if 0%{?fedora} || 0%{?rhel} > 6
BuildRequires: pkgconfig(libwebp)
%endif
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(jsoncpp)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(minizip)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libxslt)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(libsrtp)
BuildRequires: perl
BuildRequires: python
# does not compile against libvpx 1.4.0 (Fedora <= 23), the libvpx 1.5.0 in F24
# is reported to be built with incompatible options (FIXME: check this)
#BuildRequires: pkgconfig(vpx)
# extra (non-upstream) functions needed, see
# src/3rdparty/chromium/third_party/sqlite/README.chromium for details
#BuildRequires: pkgconfig(sqlite3)
## Various bundled libraries that Chromium does not support unbundling :-(
## Only the parts actually built are listed.
## Query for candidates:
## grep third_party/ build.log | sed 's!third_party/!\nthird_party/!g' | \
## grep third_party/ | sed 's!^third_party/!!g' | sed 's!/.*$!!g' | \
## sed 's/\;.*$//g' | sed 's/ .*$//g' | sort | uniq | less
## some false positives where only shim headers are generated for some reason
## some false positives with dummy placeholder dirs (swiftshader, widevine)
## some false negatives where a header-only library is bundled (e.g. x86inc)
## Spot's chromium.spec also has a list that I checked.
# Of course, Chromium itself is bundled. It cannot be unbundled because it is
# not a library, but forked (modified) application code.
# Some security fixes are backported, see:
# http://code.qt.io/cgit/qt/qtwebengine-chromium.git/log/?h=45-based
Provides: bundled(chromium) = 45
# Bundled in src/3rdparty/chromium/third_party:
# Check src/3rdparty/chromium/third_party/*/README.chromium for version numbers,
# except where specified otherwise.
Provides: bundled(angle) = 2422
Provides: bundled(brotli)
# Don't get too excited. MPEG and other legally problematic stuff is stripped
# out. See clean_qtwebengine.sh, clean_ffmpeg.sh, and process_ffmpeg_gyp.py.
# see src/3rdparty/chromium/third_party/ffmpeg/Changelog for the version number
Provides: bundled(ffmpeg) = 2.7
Provides: bundled(iccjpeg)
# bundled as "khronos", headers only
Provides: bundled(khronos_headers)
# bundled as "leveldatabase"
Provides: bundled(leveldb) = r80
Provides: bundled(libjingle) = 9564
Provides: bundled(libvpx) = 1.4.0
Provides: bundled(libXNVCtrl) = 302.17
Provides: bundled(libyuv) = 1444
Provides: bundled(modp_b64)
Provides: bundled(mojo)
# headers only
Provides: bundled(npapi)
Provides: bundled(openmax_dl) = 1.0.2
Provides: bundled(ots)
Provides: bundled(qcms) = 4
Provides: bundled(sfntly) = 0-0.1.svn111
Provides: bundled(skia)
# bundled as "smhasher"
Provides: bundled(SMHasher) = 0-0.1.svn147
Provides: bundled(sqlite) = 3.8.7.4
Provides: bundled(usrsctp) = 0-0.1.svn9045
Provides: bundled(webrtc) = 90
# header (for assembly) only
Provides: bundled(x86inc) = 0
# Bundled in src/3rdparty/chromium/base/third_party:
# Check src/3rdparty/chromium/third_party/base/*/README.chromium for version
# numbers, except where specified otherwise.
Provides: bundled(dmg_fp)
Provides: bundled(dynamic_annotations) = 4384
# only prtime.cc, a modified version of NSPR's prtime.c, is bundled
Provides: bundled(nspr)
Provides: bundled(superfasthash) = 0
Provides: bundled(symbolize)
# bundled as "valgrind", headers only
Provides: bundled(valgrind.h)
# bundled as "xdg_mime"
Provides: bundled(xdg-mime)
# bundled as "xdg_user_dirs"
Provides: bundled(xdg-user-dirs) = 0.10
# Bundled in src/3rdparty/chromium/net/third_party:
# Check src/3rdparty/chromium/third_party/net/*/README.chromium for version
# numbers, except where specified otherwise.
Provides: bundled(mozilla_security_manager) = 1.9.2
# Ewww... Chromium uses the system NSS, but bundles a heavily patched version of
# its SSL implementation. This might crash and burn sooner or later!
Provides: bundled(nss) = 3.19
# Bundled in src/3rdparty/chromium/url/third_party:
# Check src/3rdparty/chromium/third_party/url/*/README.chromium for version
# numbers, except where specified otherwise.
# bundled as "mozilla", file renamed and modified
Provides: bundled(nsURLParsers)
# Bundled outside of third_party, apparently not considered as such by Chromium:
# see src/3rdparty/chromium/v8/include/v8_version.h for the version number
Provides: bundled(v8) = 4.5.103.35
# bundled by v8 (src/3rdparty/chromium/v8/src/third_party/fdlibm)
# see src/3rdparty/chromium/v8/src/third_party/fdlibm/README.v8 for the version
Provides: bundled(fdlibm) = 5.3
%{?_qt5_version:Requires: qt5-qtbase%{?_isa} >= %{_qt5_version}}
%description
%{summary}.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: qt5-qtbase-devel%{?_isa}
Requires: qt5-qtdeclarative-devel%{?_isa}
%description devel
%{summary}.
%package examples
Summary: Example files for %{name}
%description examples
%{summary}.
%if 0%{?docs}
%package doc
Summary: API documentation for %{name}
# for qhelpgenerator
BuildRequires: qt5-qttools-devel
BuildArch: noarch
%description doc
%{summary}.
%endif
%prep
%setup -q -n %{qt_module}-opensource-src-%{version}%{?prerelease:-%{prerelease}}
%patch0 -p1 -b .no-format
%patch1 -p1 -b .linux-pri
%build
export STRIP=strip
export NINJAFLAGS="-v %{_smp_mflags}"
export NINJA_PATH=%{_bindir}/ninja-build
mkdir %{_target_platform}
pushd %{_target_platform}
%{qmake_qt5} WEBENGINE_CONFIG+="use_system_icu" ..
# workaround, disable parallel compilation as it fails to compile in brew
make %{?_smp_mflags}
%if 0%{?docs}
make %{?_smp_mflags} docs
%endif
popd
%install
make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}
%if 0%{?docs}
make install_docs INSTALL_ROOT=%{buildroot} -C %{_target_platform}
%endif
## .prl/.la file love
# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
pushd %{buildroot}%{_qt5_libdir}
for prl_file in libQt5*.prl ; do
sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file}
if [ -f "$(basename ${prl_file} .prl).so" ]; then
rm -fv "$(basename ${prl_file} .prl).la"
sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file}
fi
done
popd
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_qt5_libdir}/libQt5*.so.*
%{_qt5_libdir}/qt5/qml/*
%{_qt5_libdir}/qt5/libexec/QtWebEngineProcess
%{_qt5_translationdir}/*
%{_qt5_datadir}/qtwebengine_resources.pak
%{_qt5_datadir}/qtwebengine_resources_100p.pak
%{_qt5_datadir}/qtwebengine_resources_200p.pak
%files devel
%{_qt5_headerdir}/Qt*/
%{_qt5_libdir}/libQt5*.so
%{_qt5_libdir}/libQt5*.prl
%{_qt5_libdir}/cmake/Qt5*/
%{_qt5_libdir}/pkgconfig/Qt5*.pc
%{_qt5_archdatadir}/mkspecs/modules/*.pri
%files examples
%{_qt5_examplesdir}/
%if 0%{?docs}
%files doc
%{_qt5_docdir}/*
%endif
%changelog
* Fri Jan 08 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.6.0-0.4.beta1
- Fix License tag
- Use %%_qt5_examplesdir macro
- Add Provides: bundled(*) for all the bundled libraries that I found
* Wed Jan 06 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.6.0-0.3.beta1
- linux-pri patch: Add use_system_protobuf, went missing in the 5.6 rebase
* Wed Jan 06 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.6.0-0.2.beta1
- linux-pri patch: Add missing newline at the end of the log line
- Use export for NINJA_PATH (fixes system ninja-build use)
* Wed Jan 06 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.6.0-0.1.beta1
- Readd BR pkgconfig(jsoncpp) because linux.pri now checks for it
- BR yasm only on x86 (i686, x86_64)
- Add dot at the end of %%description
- Rebase no-format patch
- Replace unbundle-gyp.patch with new linux-pri.patch
- Use system ninja-build instead of the bundled one
- Run the unbundling script replace_gyp_files.py in linux.pri rather than here
- Update file list for 5.6.0-beta (no more libffmpegsumo since Chromium 45)
* Tue Jan 05 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.5.1-4
- Remove unused BRs flex, libgcrypt-devel, bzip2-devel, pkgconfig(gio-2.0),
pkgconfig(hunspell), pkgconfig(libpcre), pkgconfig(libssl),
pkgconfig(libcrypto), pkgconfig(jsoncpp), pkgconfig(libmtp),
pkgconfig(libexif), pkgconfig(liblzma), pkgconfig(cairo), pkgconfig(libusb),
perl(version), perl(Digest::MD5), perl(Text::ParseWords), ruby
- Add missing explicit BRs on pkgconfig(x11), pkgconfig(xext),
pkgconfig(xfixes), pkgconfig(xdamage), pkgconfig(egl)
- Fix BR pkgconfig(flac++) to pkgconfig(flac) (libFLAC++ not used, only libFLAC)
- Fix BR python-devel to python
- Remove unused -Duse_system_openssl=1 flag (QtWebEngine uses NSS instead)
- Remove unused -Duse_system_jsoncpp=1 and -Duse_system_libusb=1 flags
* Mon Jan 04 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.5.1-3
- Update file list for 5.5.1 (add qtwebengine_resources_[12]00p.pak)
* Mon Jan 04 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.5.1-2
- Add missing explicit BRs on pkgconfig(expat) and pkgconfig(libxml-2.0)
- Remove unused BR v8-devel (cannot currently be unbundled)
* Thu Dec 24 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.5.1-1
- Update to 5.5.1
- Remove patent-encumbered codecs in the bundled FFmpeg from the tarball
* Fri Jul 17 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-2
- Update with unbundle flags. Adapted from original 5.4 Suse package
- Disable vpx and sqlite as unbundle due some compilation issues
- Enable verbose build
* Fri Jul 17 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-1
- Initial spec
* Thu Jun 25 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-0.2.rc
- Update for official RC1 released packages

@ -0,0 +1,24 @@
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/core/config/linux.pri qtwebengine-opensource-src-5.6.0-beta-linux-pri/src/core/config/linux.pri
--- qtwebengine-opensource-src-5.6.0-beta/src/core/config/linux.pri 2015-12-14 16:27:24.000000000 +0100
+++ qtwebengine-opensource-src-5.6.0-beta-linux-pri/src/core/config/linux.pri 2016-01-06 04:43:23.115923478 +0100
@@ -43,3 +43,20 @@
use?(system_icu): GYP_CONFIG += use_system_icu=1
use?(system_ffmpeg): GYP_CONFIG += use_system_ffmpeg=1
+# some more system packages, that are not checked for for some reason
+GYP_CONFIG += \
+ use_system_yasm=1 \
+ use_system_expat=1 \
+ use_system_re2=1 \
+ use_system_protobuf=1
+
+# link libpci instead of dlopening it, our Qt packaging depends on it anyway
+GYP_CONFIG += linux_link_libpci=1
+
+# run the unbundling script Chromium provides
+CHROMIUM_SRC_DIR = "$$QTWEBENGINE_ROOT/$$getChromiumSrcDir()"
+R_G_F_PY = "$$CHROMIUM_SRC_DIR/build/linux/unbundle/replace_gyp_files.py"
+R_G_F_PY_ARGS =
+for (config, GYP_CONFIG): R_G_F_PY_ARGS += "-D $$config"
+log("Running python $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}")
+!system("python $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed")

@ -0,0 +1,30 @@
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/common.gypi qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/common.gypi
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/common.gypi 2015-12-10 18:17:21.000000000 +0100
+++ qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/common.gypi 2016-01-05 05:58:55.336938182 +0100
@@ -3142,11 +3142,6 @@
# Don't warn about hash_map in third-party code.
'-Wno-deprecated',
],
- 'cflags': [
- # Don't warn about printf format problems.
- # This is off by default in gcc but on in Ubuntu's gcc(!).
- '-Wno-format',
- ],
'cflags_cc!': [
# Necessary because llvm.org/PR10448 is WONTFIX (crbug.com/90453).
'-Wsign-compare',
diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/config/compiler/BUILD.gn qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/config/compiler/BUILD.gn
--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2015-12-10 18:17:21.000000000 +0100
+++ qtwebengine-opensource-src-5.6.0-beta-no-format/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2016-01-05 05:58:55.362938322 +0100
@@ -1013,11 +1013,6 @@
}
if (is_linux || is_android) {
- cflags += [
- # Don't warn about printf format problems. This is off by default in gcc
- # but on in Ubuntu's gcc(!).
- "-Wno-format",
- ]
cflags_cc += [
# Don't warn about hash_map in third-party code.
"-Wno-deprecated",

@ -0,0 +1 @@
60b11851cbe7049dcfadf3fa9472eb79 qtwebengine-opensource-src-5.6.0-beta-clean.tar.xz
Loading…
Cancel
Save