buildout.cfg 5.89 KB
Newer Older
Vivien Alger's avatar
Vivien Alger committed
1
[buildout]
2
extends =
3
  ../alsa/buildout.cfg
4
  ../dbus/buildout.cfg
5
  ../fontconfig/buildout.cfg
6
  ../gtk-2/buildout.cfg
7
  ../gtk-3/buildout.cfg
8
  ../libffi/buildout.cfg
9
  ../libpng/buildout.cfg
10
  ../mesa/buildout.cfg
11
  ../p11-kit/buildout.cfg
12
  ../pcre/buildout.cfg
13
  ../xorg/buildout.cfg
14
  ../xz-utils/buildout.cfg
15

Vivien Alger's avatar
Vivien Alger committed
16
parts =
17 18
  firefox-wrapper
  geckodriver
Vivien Alger's avatar
Vivien Alger committed
19

20 21 22
# XXX : Firefox binary tries to find libgnomeui-2.so.0 and it will
# fail to run if exists.

23 24 25 26 27 28 29 30 31 32 33

[firefox-wrapper]
# Install a firefox wrapper names ${:wrapper-name} in buildout's bin-directory,
# wrapping firefox installed in ${:part}
# This [firefox-wrapper] installs the default firefox with name `firefox` and
# can also be used as a macro to install under a different name.
wrapper-name = firefox
part = ${firefox:location}

recipe = slapos.recipe.build
location = ${buildout:bin-directory}/${:wrapper-name}
34 35 36
install =
  import os
  firefox = options['part']
37
  part = self.buildout[os.path.basename(firefox)]
38
  with open(location, 'w') as f:
39
    f.write("""#!/bin/sh -e
40 41 42
  cd {}
  export LD_LIBRARY_PATH=$PWD:{}
  export PATH={}:$PATH
43
  exec ./firefox "$@"
44
  """.format(
45 46 47 48 49 50
    firefox,
    ':'.join(part['library'].split()),
    ':'.join(part['path'].split()),
  ))
    os.fchmod(f.fileno(), 0o755)

51 52 53 54 55
[firefox-wrapper-68]
<= firefox-wrapper
wrapper-name = firefox-68
part = ${firefox-68:location}

56 57 58 59 60
[firefox-wrapper-60]
<= firefox-wrapper
wrapper-name = firefox-60
part = ${firefox-60:location}

61 62 63 64 65
[firefox-wrapper-52]
<= firefox-wrapper
wrapper-name = firefox-52
part = ${firefox-52:location}

66 67 68 69 70 71
[firefox-wrapper-51]
<= firefox-wrapper
wrapper-name = firefox-51
part = ${firefox-51:location}


72
[firefox]
73 74 75 76 77
# The default installed firefox version when installing firefox-wrapper.
# Note that users must install ${firefox-wrapper:} to have a usable firefox
# installed in ${buildout:bin-directory}.
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# would not be created.
78 79 80
<= firefox-68

[firefox-68]
81
<= firefox-download
82 83 84
version = 68.0.2esr
i686-md5sum = eaa9e0246eb2a31ccf55c100dc2edd5a
x86_64-md5sum = d22dc17ce0949cdff78009afca6f2043
85

86 87 88 89 90 91
[firefox-60]
<= firefox-download
version = 60.0.2esr
i686-md5sum = ce7c80716036dfb5c2fb1ca2538556ff
x86_64-md5sum = 6fe25d9a3fcc82670320242c9047d1da

92 93 94 95 96
[firefox-52]
<= firefox-download
version = 52.9.0esr
i686-md5sum = 9aa18888b7812670208490609d75c9bc
x86_64-md5sum = 9336d70f45070c743d08e5473b783a7a
97 98

[firefox-51]
99 100 101 102 103 104 105
<= firefox-download
version = 51.0.1
i686-md5sum = 9a5b67e9d759a1e4df004294a24b2b43
x86_64-md5sum = bd93f2652d1d90d59ae462439a93c85f


[firefox-download]
106 107 108 109
recipe = slapos.recipe.build
slapos_promise =
  file:firefox

110 111
x86 = https://download-installer.cdn.mozilla.net/pub/firefox/releases/${:version}/linux-i686/en-US/firefox-${:version}.tar.bz2 ${:i686-md5sum}
x86-64 = https://download-installer.cdn.mozilla.net/pub/firefox/releases/${:version}/linux-x86_64/en-US/firefox-${:version}.tar.bz2 ${:x86_64-md5sum}
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

library =
  ${alsa:location}/lib
  ${atk:location}/lib
  ${at-spi2-atk:location}/lib
  ${at-spi2-core:location}/lib
  ${bzip2:location}/lib
  ${cairo:location}/lib
  ${dbus:location}/lib
  ${dbus-glib:location}/lib
  ${fontconfig:location}/lib
  ${freetype:location}/lib
  ${gdk-pixbuf:location}/lib
  ${gettext:location}/lib
  ${glib:location}/lib
Boris Kocherov's avatar
Boris Kocherov committed
127
  ${gtk-2:location}/lib
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
  ${gtk-3:location}/lib
  ${harfbuzz:location}/lib
  ${libepoxy:location}/lib
  ${libffi:location}/lib
  ${libICE:location}/lib
  ${libpng:location}/lib
  ${libSM:location}/lib
  ${libtool:location}/lib
  ${libuuid:location}/lib
  ${libX11:location}/lib
  ${libXau:location}/lib
  ${libxcb:location}/lib
  ${libXcomposite:location}/lib
  ${libXcursor:location}/lib
  ${libXext:location}/lib
  ${libXi:location}/lib
  ${libxml2:location}/lib
  ${libXrender:location}/lib
  ${libXt:location}/lib
  ${mesa:location}/lib
  ${pango:location}/lib
  ${pcre:location}/lib
  ${pixman:location}/lib
  ${xdamage:location}/lib
  ${xfixes:location}/lib
  ${xz-utils:location}/lib
  ${zlib:location}/lib
path =
  ${fontconfig:location}/bin
157

158 159
install =
  url, md5sum = options[guessPlatform()].split()
160
  extract_dir = self.extract(self.download(url, md5sum))
161
  self.copyTree(guessworkdir(extract_dir), location)
162 163
  ${:post-install}
post-install =
164

165
[geckodriver]
166
# Current geckodriver installed as ${buildout:bin-directory}/geckodriver
167 168 169 170 171 172 173
<= geckodriver-0.24.0

[geckodriver-0.24.0]
<= geckodriver-base
version = 0.24.0
i686-md5sum = b88eee754f6c90b01f760f7a453dda95
x86_64-md5sum = 7552b85e43973c84763e212af7cca566
174

175 176 177 178 179 180
[geckodriver-0.22.0]
<= geckodriver-base
version = 0.22.0
i686-md5sum = 6de7544753fda56fbaa8382dcac99aaa
x86_64-md5sum = 81746200ce5841e00cabf3b8ea7db542

181 182 183 184 185
[geckodriver-0.21.0]
<= geckodriver-base
version = 0.21.0
i686-md5sum = 9fc1657dd1b94272d0cdb3b29ca80f79
x86_64-md5sum = 6bc36d4fd4975e296cdb3fa3c5e26a41
186

187 188 189 190 191 192
[geckodriver-0.19.0]
<= geckodriver-base
version = 0.19.0
i686-md5sum = 07cd383c8aef8ea5ef194a506141afd6
x86_64-md5sum = ca6935a72fd0527d15a78a17a35e56e8

193 194 195 196 197 198
[geckodriver-0.17.0]
<= geckodriver-base
version = 0.17.0
i686-md5sum = 79b1a158f96d29942a111c0905f1c807
x86_64-md5sum = be18faeea6e7db9db6990d8667e2298f

199 200 201 202 203
[geckodriver-0.16.1]
<= geckodriver-base
version = 0.16.1
i686-md5sum = not not on github
x86_64-md5sum = 57dfd55d4759d9878eb75b4c0123d00c
204

205 206 207 208 209
[geckodriver-0.14.0]
<= geckodriver-base
version = 0.14.0
i686-md5sum = b5836f5a944fe9f3ed1a67c7b342c6a7
x86_64-md5sum = 4a185d3179862a35104603b9274452e7
210 211


212 213 214 215 216 217 218
[geckodriver-base]
# Installs geckodriver ${version}
recipe = slapos.recipe.build
location = ${buildout:bin-directory}/${:_buildout_section_name_}

x86 = https://github.com/mozilla/geckodriver/releases/download/v${:version}/geckodriver-v${:version}-linux32.tar.gz ${:i686-md5sum}
x86-64 = https://github.com/mozilla/geckodriver/releases/download/v${:version}/geckodriver-v${:version}-linux64.tar.gz ${:x86_64-md5sum}
219

220 221 222
install =
  import shutil
  url, md5sum = options[guessPlatform()].split()
223
  extract_dir = self.extract(self.download(url, md5sum))
224
  shutil.copy(extract_dir + '/geckodriver', location)