summaryrefslogtreecommitdiffstats
path: root/extra/chromium/Pkgfile
blob: 75b66b163f9358ac5d9e5e325a628421e08ccafc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Description: Navigateur de chez Google
# URL: http://www.google.com
# Maintainer: NuTyX core team
# Packager: lesibel at free dot fr
# Depends on: perl, yasm, mesa3d, gperf, libgnome-keyring ,xorg-libxscrnsaver, xorg-libxrandr, xorg-libxcursor, xorg-libxinerama, xorg-libxtst, gtk, dbus-glib, nss, alsa-lib, xdg-utils, bzip2, libevent, dejavu-ttf, desktop-file-utils, hicolor-icon-theme
# Run on: gtk,dbus-glib,nss,alsa-lib,xdg-utils,bzip2,libevent,dejavu-ttf,desktop-file-utils,hicolor-icon-theme

name=chromium
version=12.0.742.100
release=1
source=(http://build.chromium.org/official/chromium-$version.tar.bz2
        chromium.desktop
        chromium.sh
        chromium-gcc-4.6.patch)

build() {
  cd "$SRC/chromium-$version"

  # Patches to fix gcc 4.6 compilation from
  # http://code.google.com/p/chromium/issues/detail?id=80071
  # http://code.google.com/p/chromium/issues/detail?id=70746
  # http://code.google.com/p/chromium/issues/detail?id=46411
  patch -Np0 -i "$SRC/chromium-gcc-4.6.patch"

### Configure

  # Use Python 2
  find . -type f -exec sed -i -r \
    -e 's|/usr/bin/python$|\02|g' \
    -e 's|(/usr/bin/python2)\.4$|\1|g' \
    {} +
  # There are still a lot of relative calls which need a workaround
  mkdir "$SRC/python2-path"
  ln -s /usr/bin/python2 "$SRC/python2-path/python"
  export PATH="$SRC/python2-path:$PATH"

  # We need to disable system_ssl until "next protocol negotiation" support is
  # available in our nss package.
  # (See https://bugzilla.mozilla.org/show_bug.cgi?id=547312)

  build/gyp_chromium -f make build/all.gyp --depth=. \
    -Dgcc_version=45 \
    -Dno_strict_aliasing=1 \
    -Dwerror= \
    -Dlinux_sandbox_path=/usr/lib/chromium/chromium-sandbox \
    -Dlinux_strip_binary=1 \
    -Drelease_extra_cflags="$CFLAGS" \
    -Dffmpeg_branding=Chrome \
    -Dproprietary_codecs=1 \
    -Duse_system_libjpeg=1 \
    -Duse_system_libxslt=0 \
    -Duse_system_libxml=0 \
    -Duse_system_bzip2=1 \
    -Duse_system_zlib=1 \
    -Duse_system_libpng=0 \
    -Duse_system_ffmpeg=0 \
    -Duse_system_yasm=1 \
    -Duse_system_libevent=1 \
    -Duse_system_ssl=0 \
    -Duse_gconf=0 \
    $([[ $CARCH == i686 ]] && echo '-Ddisable_sse2=1')

  make chrome chrome_sandbox BUILDTYPE=Release
  cd $SRC/chromium-$version

  install -D out/Release/chrome $PKG/usr/lib/chromium/chromium

  install -Dm4755 -o root -g root out/Release/chrome_sandbox \
    $PKG/usr/lib/chromium/chromium-sandbox

  install -Dm644 out/Release/chrome.pak $PKG/usr/lib/chromium/chrome.pak

  install -Dm644 out/Release/resources.pak \
    $PKG/usr/lib/chromium/resources.pak

  install -D out/Release/libffmpegsumo.so \
    $PKG/usr/lib/chromium/libffmpegsumo.so

  # These links are only needed when building with system ffmpeg
  #ln -s /usr/lib/libavcodec.so.52 ${PKG}/usr/lib/chromium/
  #ln -s /usr/lib/libavformat.so.52 ${PKG}/usr/lib/chromium/
  #ln -s /usr/lib/libavutil.so.50 ${PKG}/usr/lib/chromium/

  cp -a out/Release/locales out/Release/resources $PKG/usr/lib/chromium/

  find $PKG/usr/lib/chromium/ -name '*.d' -type f -delete

  install -Dm644 out/Release/chrome.1 $PKG/usr/share/man/man1/chromium.1

  install -Dm644 $SRC/chromium.desktop \
    $PKG/usr/share/applications/chromium.desktop

  for size in 16 22 24 32 48 64 128 256; do
    install -Dm644 chrome/app/theme/chromium/product_logo_$size.png \
      $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png
  done

  install -D $SRC/chromium.sh $PKG/usr/bin/chromium

  install -Dm644 LICENSE $PKG/usr/share/licenses/chromium/LICENSE
}