version up : LibreOffice 3.6.5.
[slapos.git] / component / libreoffice-bin / buildout.cfg
1 [buildout]
2 extends =
3   ../cpio/buildout.cfg
4   ../rpm2cpio/buildout.cfg
5
6 parts =
7   libreoffice-bin
8
9 find-links =
10   http://www.nexedi.org/static/packages/source/
11
12 [libreoffice-bin]
13 recipe = slapos.recipe.build
14 # here, two %s are used, first one is for directory name (eg. x86_64), and second one is for filename (eg. x86-64).
15 version = 3.6.5
16 url = http://download.documentfoundation.org/libreoffice/stable/${:version}/rpm/%s/LibO_${:version}_Linux_%s_install-rpm_en-US.tar.gz
17 # supported architectures md5sums
18 md5sum_x86 = 9575c9a567d48a9feeaed2f915bfdf7f
19 md5sum_x86-64 = 302e326f2b2a524a78994705ea782770
20
21 # where office code can be found?
22 officedir = libreoffice3.6
23
24 # script to install
25 script =
26   location = %(location)r
27   self.failIfPathExists(location)
28   import sys
29   ARCH_DIR_MAP = { 'x86': 'x86', 'x86-64': 'x86_64' }
30   platform = guessPlatform()
31   url = self.options['url'] %% (ARCH_DIR_MAP[platform], platform)
32   md5sum = self.options['md5sum_' + platform]
33   extract_dir = self.extract(self.download(url, md5sum))
34   workdir = guessworkdir(extract_dir)
35   storagedir = os.path.join(workdir, 'storage')
36   os.mkdir(storagedir)
37   rpmsdir = os.path.join(workdir, [q for q in os.listdir(workdir) if q == 'RPMS'][0])
38   rpmlist = [os.path.join(rpmsdir, q) for q in os.listdir(rpmsdir) if q.endswith('.rpm') and 'javafilter' not in q and 'xsltfilter' not in q]
39   [self.pipeCommand([[sys.executable, '${:rpm2cpio}', rpm], ['${:cpio}', '-idum']], cwd=storagedir) for rpm in rpmlist]
40   self.copyTree(os.path.join(storagedir, 'opt', '${:officedir}'), location, ['ure-link'])
41   os.symlink('ure', os.path.join(location, 'ure-link'))
42   # backward compatibility for cloudooo configuration
43   os.mkdir(os.path.join(location, 'basis-link'))
44   os.symlink(os.path.join('..', 'program'), os.path.join(location, 'basis-link', 'program'))
45
46 # helper binaries
47 cpio = ${cpio:location}/bin/cpio
48 rpm2cpio = ${rpm2cpio:target}