]> git.pld-linux.org Git - packages/chromium-browser.git/blobdiff - chromium-browser.spec
start with 38.0.2125.101
[packages/chromium-browser.git] / chromium-browser.spec
index be86a742ceb8f28c677f84cec113541d7861b612..06e4c9383883a789cb98f57cb5254376e7682e80 100644 (file)
@@ -2,25 +2,27 @@
 # Conditional build:
 %bcond_without cups                    # with cups
 %bcond_without debuginfo               # disable debuginfo creation (it is huge)
+%bcond_with    dev                     # with dev optimizations (skip clean source)
 %bcond_without gconf                   # with GConf
 %bcond_without kerberos                # build with kerberos support (dlopened if support compiled, library names in net/http/http_auth_gssapi_posix.cc)
 %bcond_without keyring                 # with keyring support (gnome-keyring dlopened, kwalletd via dbus)
 %bcond_with            gps                     # with gps support (linked), if enabled must use exactly same gpsd as shm structures may change leading to unexpected results (crash)
 %bcond_without libjpegturbo    # use libjpeg-turbo features
 %bcond_with    nacl                    # build Native Client support, disabled: http://crbug.com/269560
+%bcond_without ninja                   # use Ninja instead of make to build
 %bcond_without pulseaudio              # with pulseaudio
 %bcond_without sandboxing              # with sandboxing
 %bcond_with            selinux                 # with SELinux (need policy first)
 %bcond_with            shared_libs             # with shared libs
 %bcond_with            sse2                    # use SSE2 instructions
 %bcond_without system_flac             # system flac
-%bcond_without system_ffmpeg   # system ffmpeg instead of ffmpegsumo
+%bcond_with    system_ffmpeg   # system ffmpeg instead of ffmpegsumo
 %bcond_without system_harfbuzz # system harfbuzz
 %bcond_without system_jsoncpp  # system jsoncpp
 %bcond_without system_libexif  # system libexif
 %bcond_without system_libmtp   # system libmtp
 %bcond_with    system_libusb   # system libusb-1, disabled: http://crbug.com/266149
-%bcond_with    system_libwebp  # system libwebp, disabled: http://crbug.com/288019
+%bcond_without system_libwebp  # system libwebp
 %bcond_without system_libxnvctrl       # system libxnvctrl
 %bcond_with    system_mesa             # system Mesa
 %bcond_without system_minizip  # system minizip
 %bcond_with    system_sqlite   # system sqlite WebSQL (http://www.w3.org/TR/webdatabase/) will not work
 %bcond_without system_libsrtp  # system srtp (can be used if using bundled libjingle)
 %bcond_with            system_v8               # system v8
-%bcond_without system_libvpx   # system libvpx
+%bcond_with    system_libvpx   # system libvpx
 %bcond_without system_yasm             # system yasm
 %bcond_without system_zlib             # system zlib
-%bcond_without tcmalloc                # use tcmalloc
+%bcond_with    tcmalloc                # use tcmalloc
 %bcond_without verbose                 # verbose build (V=1)
 
 %ifarch %{ix86}
@@ -59,9 +61,9 @@
 # - http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
 # - to look for new tarball, use update-source.sh script
 
-%define                branch          31.0.1650
-%define                basever         57
-#define                patchver        114
+%define                branch          38.0.2125
+%define                basever         101
+#define                patchver        132
 %define                gyp_rev 1014
 Summary:       A WebKit powered web browser
 Name:          chromium-browser
@@ -74,10 +76,10 @@ Release:    1
 License:       BSD%{!?with_system_ffmpeg:, LGPL v2+ (ffmpeg)}
 Group:         X11/Applications/Networking
 Source0:       http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{branch}.%{basever}.tar.xz
-# Source0-md5: 8fcdee6bdefad83dedaecc7ca2a1cf5f
+# Source0-md5: be4d3ad6944e43132e4fbde5a23d1ab8
 %if "%{?patchver}" != ""
 Patch0:                http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{version}.patch.xz
-# Patch0-md5:  ccc99af9e31d866c174d824eeed5aab2
+# Patch0-md5:  4eafe1e64bd47a11dbfaf61a2dd50b6e
 %endif
 Source1:       %{name}.default
 Source2:       %{name}.sh
@@ -87,15 +89,13 @@ Source6:    update-source.sh
 Source7:       clean-source.sh
 Source8:       get-source.sh
 Source9:       master_preferences.json
-Patch1:                plugin-searchdirs.patch
+Patch2:                enable-video-decode-accel.patch
 Patch4:                path-libpdf.patch
 Patch7:                dlopen_sonamed_gl.patch
 Patch8:                chromium_useragent.patch.in
-Patch10:       system-libxnvctrl.patch
 # https://bugs.gentoo.org/show_bug.cgi?id=393471
 # libjpeg-turbo >= 1.1.90 supports that feature
 Patch11:       chromium-revert-jpeg-swizzle-r2.patch
-Patch12:       system-ffmpeg.patch
 Patch15:       nacl-build-irt.patch
 Patch16:       nacl-linkingfix.patch
 Patch18:       nacl-no-untar.patch
@@ -103,10 +103,11 @@ Patch24:  nacl-verbose.patch
 Patch25:       gnome3-volume-control.patch
 Patch26:       master-prefs-path.patch
 Patch28:       system-mesa.patch
-Patch29:       system-icu.patch
 Patch30:       system-ply.patch
 Patch31:       system-jinja.patch
 Patch32:       remove_bundled_libraries-stale.patch
+Patch35:       etc-dir.patch
+Patch36:       angle.patch
 URL:           http://www.chromium.org/Home
 %{?with_gconf:BuildRequires:   GConf2-devel}
 %{?with_system_mesa:BuildRequires:     Mesa-libGL-devel >= 9.1}
@@ -149,12 +150,13 @@ BuildRequires:    libpng-devel
 %{?with_selinux:BuildRequires: libselinux-devel}
 BuildRequires: libstdc++-devel
 %{?with_system_libusb:BuildRequires:   libusb-devel >= 1.0}
-%{?with_system_libvpx:BuildRequires:   libvpx-devel >= 0.9.5-2}
-%{?with_system_libwebp:BuildRequires:  libwebp-devel >= 0.1.99}
+%{?with_system_libvpx:BuildRequires:   libvpx-devel >= 1.3.0}
+%{?with_system_libwebp:BuildRequires:  libwebp-devel >= 0.4.0}
 BuildRequires: libxml2-devel
 BuildRequires: libxslt-devel
 BuildRequires: man-db
 %{?with_system_minizip:BuildRequires:  minizip-devel}
+%{?with_ninja:BuildRequires:   ninja >= 1.3.0}
 BuildRequires: nspr-devel
 BuildRequires: nss-devel >= 1:3.12.3
 %{?with_system_opus:BuildRequires:     opus-devel >= 1.0.2}
@@ -198,7 +200,7 @@ Requires:   fonts-Type1-urw
 Requires:      hicolor-icon-theme
 Requires:      libevent >= 2.0.21
 %{?with_libjpegturbo:Requires: libjpeg-turbo >= 1.2.0}
-%{?with_system_libvpx:Requires:        libvpx >= 0.9.5-2}
+%{?with_system_libvpx:Requires:        libvpx >= 1.3.0}
 Requires:      lsb-release
 %{?with_system_re2:Requires:   re2 >= 20130115-2}
 Requires:      shared-mime-info
@@ -223,6 +225,16 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # Usage: gyp_with BCOND_NAME [OPTION_NAME]
 %define                gyp_with() %{expand:%%{?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=1}%%{!?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=0}}
 
+%ifarch %{ix86}
+%define                target_arch ia32
+%endif
+%ifarch %{x8664}
+%define                target_arch x64
+%endif
+
+%define                buildtype       %{?debug:Debug}%{!?debug:Release}
+%define                builddir        out/%{buildtype}
+
 %if %{without debuginfo}
 %define                _enable_debug_packages  0
 %endif
@@ -259,11 +271,11 @@ zh-TW
 %prep
 %setup -qc
 %if "%{?patchver}" != ""
-cd %{name}-%{branch}.%{basever}
+cd chromium*-%{branch}.%{basever}
 %patch0 -p1
 cd ..
 %endif
-mv %{name}-%{branch}.%{basever}/* .
+mv chromium*-%{branch}.%{basever}/* .
 
 # Google's versioning is interesting. They never reset "BUILD", which is how we jumped
 # from 3.0.201.0 to 4.0.202.0 as they moved to a new major branch
@@ -274,9 +286,6 @@ test "$chrome" = %{version}
 gyp_rev=$(grep googlecode_url.*gyp DEPS | cut -d'"' -f6 | cut -d@ -f2)
 test "$gyp_rev" = %{gyp_rev} || :
 
-. ./v8.sh
-v8=$MAJOR_VERSION.$MINOR_VERSION.$BUILD_NUMBER.$PATCH_LEVEL
-
 # add chromium and pld to useragent
 %define pld_version %(echo %{pld_release} | sed -e 'y/[at]/[AT]/')
 sed -e 's/@BUILD_DIST@/PLD %{pld_version}/g' \
@@ -287,23 +296,24 @@ sed -e 's/@BUILD_DIST@/PLD %{pld_version}/g' \
 %{__sed} -e 's,@localedir@,%{_datadir}/%{name},' %{SOURCE5} > find-lang.sh
 ln -s %{SOURCE7} .
 
-%patch1 -p1
+#%patch2 -p1 NOT COMPILING
 %patch4 -p3
 %patch7 -p1
-%patch10 -p1
 %patch15 -p2
 %{!?with_libjpegturbo:%patch11 -p0}
-%patch12 -p1
 %patch16 -p1
 %patch28 -p1
-%patch25 -p2
+%patch25 -p1
 %{?with_nacl:%patch18 -p1}
-%patch24 -p2
+%patch24 -p1
 %patch26 -p2
-%patch29 -p0
-%patch30 -p1
-%patch31 -p0
+#%patch30 -p1
+#%patch31 -p0
 %patch32 -p1
+%patch35 -p1
+%patch36 -p1
+
+%{?with_dev:exit 0}
 
 sh -x clean-source.sh \
        %{!?with_nacl:nacl=0} \
@@ -317,6 +327,7 @@ sh -x clean-source.sh \
        %{!?with_system_v8:v8=0} \
        %{!?with_system_libwebp:libwebp=0} \
        %{!?with_system_zlib:zlib=0} \
+       %{!?with_system_ffmpeg:ffmpeg=0} \
        %{nil}
 
 %build
@@ -356,21 +367,33 @@ cd ../../../../..
 fi
 %endif
 
-flags="
-%ifarch %{ix86}
-       -Dtarget_arch=ia32 \
-%endif
-%ifarch %{x8664}
-       -Dtarget_arch=x64 \
+%if %{without system_ffmpeg}
+if [ ! -d third_party/ffmpeg/build.%{target_arch}.linux ]; then
+       # Re-configure bundled ffmpeg
+       cd third_party/ffmpeg
+       chromium/scripts/build_ffmpeg.py linux %{target_arch}
+       chromium/scripts/copy_config.sh
+       chromium/scripts/generate_gyp.py
+       cd -
+fi
 %endif
+
+third_party/libaddressinput/chromium/tools/update-strings.py
+
+flags="
+       -Dtarget_arch=%{target_arch} \
+       -Dpython_arch=%{target_arch} \
+       -Dffmpeg_branding=Chromium \
+       -Dsystem_libdir=%{_lib} \
+       -Dpython_ver=%{py_ver} \
 %if "%{cc_version}" >= "4.4.0" && "%{cc_version}" < "4.5.0"
        -Dno_strict_aliasing=1 -Dgcc_version=44 \
 %endif
-       %{!?debug:-Dwerror=} \
+       %{!?debug:-Dwerror= -Ddisable_fatal_linker_warnings=} \
        %{!?debuginfo:-Dfastbuild=1 -Dremove_webcore_debug_symbols=1} \
        %{?with_shared_libs:-Dlibrary=shared_library} \
        %{!?with_system_ffmpeg:-Dbuild_ffmpegsumo=1} -Dproprietary_codecs=1 \
-       -Dinclude_tests=0 \
+       -Dinclude_tests__=0 \
 %if %{with nacl}
        -Dnaclsdk_mode=custom:/usr/x86_64-nacl \
        -Ddisable_glibc_untar=1 \
@@ -387,9 +410,10 @@ flags="
        -Dusb_ids_path=$(pkg-config --variable usbids usbutils) \
        -Dlinux_link_libpci=1 \
        -Dlinux_link_libspeechd=1 -Dlibspeechd_h_prefix=speech-dispatcher/ \
-       %{!?with_tcmalloc:-Dlinux_use_tcmalloc=0} \
+       -Duse_allocator=%{!?with_tcmalloc:none}%{?with_tcmalloc:tcmalloc} \
        %{?with_gps:-Dlinux_use_libgps=1 -Dlinux_link_libgps=1} \
-       -Dlinux_use_gold_binary=0 \
+       -Dlinux_use_bundled_binutils=0 \
+       -Dlinux_use_bundled_gold=0 \
        -Dlinux_use_gold_flags=0 \
        -Dlogging_like_official_build=1 \
        -Dgoogle_api_key=%{google_api_key} \
@@ -408,7 +432,7 @@ flags="
        %{gyp_with system_libmtp} \
        %{gyp_with system_libsrtp} \
        %{gyp_with system_libusb} \
-       %{gyp_with system_libvpx} -Dmedia_use_libvpx=0 \
+       %{gyp_with system_libvpx} -Dmedia_use_libvpx=1 \
        %{gyp_with system_libwebp} \
        %{gyp_with system_libxnvctrl} \
        %{gyp_with system_mesa} \
@@ -424,7 +448,7 @@ flags="
        %{gyp_with system_zlib} \
        -Duse_system_bzip2=1 \
        -Duse_system_expat=1 \
-       -Duse_system_icu=1 \
+       -Duse_system_icu=1 -Dicu_use_data_file_flag=0 \
        -Duse_system_libevent=1 \
        -Duse_system_libjpeg=1 \
        -Duse_system_libpng=1 \
@@ -436,8 +460,13 @@ flags="
 
 build/linux/unbundle/replace_gyp_files.py $flags
 
-test %{_specdir}/%{name}.spec -nt Makefile && %{__rm} -f Makefile
-test -e Makefile || \
+%if %{with ninja}
+chkfile=%{builddir}/build.ninja
+%else
+chkfile=Makefile
+%endif
+test %{_specdir}/%{name}.spec -nt $chkfile && %{__rm} -f $chkfile
+test -e $chkfile || \
        CC="%{__cc}" \
        CXX="%{__cxx}" \
        LDFLAGS="%{rpmldflags} -fuse-ld=gold" \
@@ -447,20 +476,26 @@ test -e Makefile || \
        CXX_host="%{__cxx}" \
        LD_host="%{__cxx}" \
 %{__python} build/gyp_chromium \
-       --format=make \
+       --format=%{?with_ninja:ninja}%{!?with_ninja:make} \
        --depth=. \
        build/all.gyp \
        $flags
 
+%if %{with ninja}
+ninja %{?_smp_mflags} %{?with_verbose:-v} -C %{builddir} \
+%else
 # need {CC/CXX/LDFLAGS}.host overrides for v8 build
-%{__make} -r chrome %{?with_sandboxing:chrome_sandbox} \
-       BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
+%{__make} -r \
+       BUILDTYPE=%{buildtype} \
        %{?with_verbose:V=1} \
        CC.host="%{__cc}" \
        CXX.host="%{__cxx}" \
        LDFLAGS.host="%{rpmldflags} -fuse-ld=gold" \
+%endif
+       chrome %{?with_sandboxing:chrome_sandbox} \
+       %{nil}
 
-cd out/%{!?debug:Release}%{?debug:Debug}
+cd %{builddir}
 MANWIDTH=80 man ./chrome.1 > man.out
 %{__sed} -e '1,/OPTIONS/d; /ENVIRONMENT/,$d' man.out > options.txt
 
@@ -468,9 +503,10 @@ MANWIDTH=80 man ./chrome.1 > man.out
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins \
        $RPM_BUILD_ROOT%{_datadir}/%{name}/{locales,resources} \
-       $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}/%{name},%{_mandir}/man1,%{_desktopdir}}
+       $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_desktopdir}} \
+       $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{native-messaging-hosts,policies/managed}
 
-cd out/%{!?debug:Release}%{?debug:Debug}
+cd %{builddir}
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default
 install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
 %{__sed} -i -e '
@@ -482,7 +518,7 @@ install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
        }
 ' $RPM_BUILD_ROOT%{_bindir}/%{name}
 cp -a locales resources $RPM_BUILD_ROOT%{_datadir}/%{name}
-cp -a *.pak $RPM_BUILD_ROOT%{_libdir}/%{name}
+cp -p *.pak $RPM_BUILD_ROOT%{_libdir}/%{name}
 ln -s %{_datadir}/%{name}/locales $RPM_BUILD_ROOT%{_libdir}/%{name}/locales
 ln -s %{_datadir}/%{name}/resources $RPM_BUILD_ROOT%{_libdir}/%{name}/resources
 cp -p chrome.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1
@@ -491,6 +527,7 @@ install -p chrome_sandbox $RPM_BUILD_ROOT%{_libdir}/%{name}/chrome-sandbox
 %if %{without system_ffmpeg}
 install -p libffmpegsumo.so $RPM_BUILD_ROOT%{_libdir}/%{name}
 %endif
+install -p libpdf.so $RPM_BUILD_ROOT%{_libdir}/%{name}
 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/master_preferences
 
@@ -563,6 +600,9 @@ fi
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/default
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/master_preferences
+%dir %{_sysconfdir}/%{name}/native-messaging-hosts
+%dir %{_sysconfdir}/%{name}/policies
+%dir %{_sysconfdir}/%{name}/policies/managed
 %attr(755,root,root) %{_bindir}/%{name}
 %{_mandir}/man1/%{name}.1*
 %{_desktopdir}/*.desktop
@@ -570,6 +610,7 @@ fi
 %dir %{_libdir}/%{name}
 %{_libdir}/%{name}/chrome*.pak
 %{_libdir}/%{name}/content_resources.pak
+%{_libdir}/%{name}/keyboard_resources.pak
 %{_libdir}/%{name}/resources.pak
 %{_libdir}/%{name}/locales
 %{_libdir}/%{name}/resources
This page took 0.065941 seconds and 4 git commands to generate.