summaryrefslogtreecommitdiffstats
path: root/extra/chromium/Pkgfile
blob: 852a84552b3b8f60e818d38fb7714f3de8c23a2f (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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Description: Navigateur de chez Google
# URL: http://www.google.com
# Maintainer: NuTyX core team
# Packager: sibelle at free dot fr
# Depends on: libjpeg, nss, gconf, alsa-lib, xdg-utils, hicolor-icon-theme, bzip2, libxslt, ffmpeg, p5-event, libevent, pyopenssl

name=chromium
build=46198
version=5.0.394.0
release=1

source=(chromium.desktop chromium.sh drop_sse2.patch ffmpeg_branding_mime.patch libpng-1.4.patch)

build() {

# Recuperation des sources 
	nonessential_dirs=(
        	'src/chrome/test/data'
        	'src/chrome/tools/test/reference_build'
        	'src/gears/binaries'
        	'src/net/data/cache_tests'
        	'src/o3d/documentation'
        	'src/o3d/samples'
        	'src/third_party/lighttpd'
        	'src/third_party/WebKit/LayoutTests'
        	'src/webkit/data/layout_tests'
        	'src/webkit/tools/test/reference_build'
	)
	if [ ! -d /usr/src/chromium-$build ]; then
		mkdir -p /usr/src/chromium-$build
	fi
	ln -s /usr/src/chromium-$build
	cd chromium-$build

# Pour obtenir la plus recente revision d'une maj majeure
	if [ ! -d depot_tools]; then

		svn co -r$build -q http://src.chromium.org/svn/trunk/tools/depot_tools/ depot_tools
	fi
	chmod +x ./depot_tools/*
	export PATH=./depot_tools/:$PATH
	if [ ! -f .gclient ]; then
		gclient.py config http://src.chromium.org/svn/releases/$version

		sed -e '15i\      "src/third_party/WebKit/LayoutTests": None,' \
    	    -e '15i\      "src/chrome/tools/test/reference_build": None,' \
	    -e '15i\      "src/third_party/ffmpeg/binaries/chromium/linux/ia32": None,' \
            -e '15i\      "src/third_party/ffmpeg/binaries/chromium/linux/ia32_dbg": None,' \
            -e '15i\      "src/third_party/ffmpeg/binaries/chromium/linux/x64": None,' \
            -e '15i\      "src/third_party/ffmpeg/binaries/chromium/linux/x64_dbg": None,' \
            -i .gclient
		gclient.py sync --force --nohooks

	fi

	for i in ${nonessential_dirs[@]}; do
        	rm -rf $i
	done

	find . -name '.svn' -type d -delete
	find . -iname '*.dll' -delete
	find . -iname '*.exe' -delete
	find . -iname '*.o' -delete
	find . -iname '*.nexe' -delete

# Compilation des sources

        export GYP_GENERATORS='make'
        export BUILDTYPE='Release'
        export GYP_DEFINES="gcc_version=44 \
                no_strict_aliasing=1 \
                linux_sandbox_path=/usr/lib/chromium/chromium-sandbox \
                linux_strip_binary=1 \
                release_extra_cflags='${CFLAGS}' \
                ffmpeg_branding=Chrome \
                use_system_libjpeg=1 \
                use_system_libxslt=1 \
                use_system_bzip2=1 \
                use_system_libpng=1 \
                use_system_ffmpeg=1 \
                use_system_yasm=1 \
                use_system_libevent=1 \
                use_system_ssl=0"

        patch -p0 -i $SRC/ffmpeg_branding_mime.patch  
        # i686 does not include SSE2
        # see http://code.google.com/p/chromium/issues/detail?id=9007
        patch -p0 -i $SRC/drop_sse2.patch  
        # see http://codereview.chromium.org/569009/show
        patch -p0 -i $SRC/libpng-1.4.patch  

        export PATH=./depot_tools/:$PATH
        gclient.py runhooks --force  

        cd src
        make chrome chrome_sandbox  

        cd $SRC/$name-$build

        install -m 0755 -D src/out/Release/chrome \
                $PKG/usr/lib/chromium/chromium
        install -m 4555 -o root -g root -D src/out/Release/chrome_sandbox \
                $PKG/usr/lib/chromium/chromium-sandbox
        install -m 0644 -D src/out/Release/chrome.pak \
                $PKG/usr/lib/chromium/chrome.pak
        ln -s /usr/lib/libavcodec.so.52 $PKG/usr/lib/chromium/libavcodec.so.52
        ln -s /usr/lib/libavformat.so.52 $PKG/usr/lib/chromium/libavformat.so.52
        ln -s /usr/lib/libavutil.so.50 $PKG/usr/lib/chromium/libavutil.so.50
        cp -a src/out/Release/locales src/out/Release/resources \
                $PKG/usr/lib/chromium/
        find $PKG/usr/lib/chromium/ -name '*.d' -type f -delete
        install -m 0644 -D src/out/Release/chrome.1 \
                $PKG/usr/share/man/man1/chromium.1

        install -m 0644 -D $SRC/chromium.desktop \
                $PKG/usr/share/applications/chromium.desktop
        for size in 16 32 48 256; do
                install -m 0644 -D \
                        src/chrome/app/theme/chromium/product_logo_${size}.png \
                        $PKG/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png
        done
        install -m 0755 -D $SRC/chromium.sh \
                $PKG/usr/bin/chromium

        install -m 0644 -D src/LICENSE \
                $PKG/usr/share/licenses/chromium/LICENSE
}