# $Id: PKGBUILD 163246 2012-07-11 20:12:36Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>

pkgbase="libreoffice"
pkgname=('libreoffice-common'
	'libreoffice-base'
	'libreoffice-calc'
	'libreoffice-draw'
	'libreoffice-gnome'
	'libreoffice-impress'
	'libreoffice-kde4'
	'libreoffice-math'
	'libreoffice-sdk'
	'libreoffice-sdk-doc'
	'libreoffice-writer'
	'libreoffice-en-US'
	'libreoffice-postgresql-connector'
	'libreoffice-extension-pdfimport'
	'libreoffice-extension-presenter-screen'
	'libreoffice-extension-presentation-minimizer'
	'libreoffice-extension-report-builder'
	'libreoffice-scripting-beanshell'
	'libreoffice-scripting-javascript'
	'libreoffice-extension-scripting-python'
	'libreoffice-extension-wiki-publisher'
	'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built
_LOver=3.5.5.3
pkgver=3.5.5
pkgrel=1
arch=('i686' 'x86_64')
license=('LGPL3')
url="http://www.libreoffice.org/"
makedepends=( # makedepends
             'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'hsqldb-java' # 'boost'
             'apache-ant' 'gperf' 'poppler>=0.20.1' 'kdelibs' 'gconf' 'cppunit'
             'beanshell'  'vigra' 'lucene' 'junit' 'libmythes' 'libwpg' 'imagemagick'
             'mesa' 'gstreamer0.10-base' 'java-environment' 'postgresql-libs'
              #'saxon' - currently broken 
             # the runtime dependencies
             "curl>=7.20.0" "hunspell>=1.2.8" "python2>=2.7" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6"
             'pango' 'nspr' 'libjpeg' 'libxrandr' 'libgl' 'dbus-glib' 'libxslt' 'librsvg' "icu>=49.1" 
             'redland' 'hyphen' 'lpsolve' 'gcc-libs' 'sh'  'libtextcat' 'graphite' 
             'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils'
	         'ttf-dejavu') # to satisfy regression tests

# http://download.documentfoundation.org/mirrors/all.html
# http://wiki.documentfoundation.org/Mirrors

_mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}"
#_mirror="http://dev-builds.libreoffice.org/pre-releases/src"
_additional_source_url="http://dev-www.libreoffice.org/src"
source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz
	${_additional_source_url}/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
	${_additional_source_url}/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
	${_additional_source_url}/a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2
	${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
	${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
	${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
	${_additional_source_url}/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
	${_additional_source_url}/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
	${_additional_source_url}/2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz
	${_additional_source_url}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
	${_additional_source_url}/3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
	${_additional_source_url}/2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz
	${_additional_source_url}/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
	${_additional_source_url}/af3c3acf618de6108d65fcdc92b492e1-commons-codec-1.3-src.tar.gz
	${_additional_source_url}/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
	${_additional_source_url}/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
	${_additional_source_url}/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
	${_additional_source_url}/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
	${_additional_source_url}/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
	${_additional_source_url}/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
	${_additional_source_url}/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
	${_additional_source_url}/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
	${_additional_source_url}/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
	${_additional_source_url}/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
	${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip
	${_additional_source_url}/0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2
	${_additional_source_url}/e1c178b18f130b40494561f02bc1a948-libexttextcat-3.2.0.tar.bz2
	${_additional_source_url}/7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz
	http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll
	gmake_install.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=1048d8fa4abd3e55a45dfb6884db808da1d72c9e
	smp_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=cf23f57ae6bb7af689a45e0a850c3c2f67a8f810
	fix_broken_hebrew_wordwrapping.diff
	libreoffice-common.sh libreoffice-common.csh)
noextract=(a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2
	18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz
	f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2
	185d60944ea767075d27247c3162b3bc-unowinreg.dll
	0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2
	ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip
	798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
	1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
	fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz
	e1c178b18f130b40494561f02bc1a948-libexttextcat-3.2.0.tar.bz2
	7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz
	35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
	2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz
	a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
	3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
	2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz
	2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
	af3c3acf618de6108d65fcdc92b492e1-commons-codec-1.3-src.tar.gz
	eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip
	39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip
	3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip
	97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip
	f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip
	8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip
	d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip
	3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip
	ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip
	db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip
	ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip)
md5sums=('ccb80344ae1ac546b3a6b6d85f3ae26a'
         '09153713133bddc49af99bd76129e929'
         'c2e66522b8adf0b3fb5789e295129ba9'
         '18f577b374d60b3c760a3a3350407632'
         'f02578f5218f217a9f20e9c30e119c6a'
         'a9a1db27688bad49418667b434d29c1f'
         '1f24ab1d39f4a51faf22244c94a6203f'
         '35c94d2df8893241173de1d16b6034c0'
         '798b2ffdc8bcfe7bca2cf92b62caf685'
         'fdb27bfe2dbe2e7b57ae194d9bf36bab'
         'ada24d37d8d638b3d8a9985e80bc2978'
         '2a177023f9ea8ec8bd00837605c5df1b'
         'a7983f859eafb2677d7ff386a023bc40'
         '3c219630e4302863a9a83d0efde889db'
         '2ae988b339daec234019a7066f96733e'
         '2c9b0f83ed5890af02c0df1c1776f39b'
         'af3c3acf618de6108d65fcdc92b492e1'
         'eeb2c7ddf0d302fba4bfc6e97eac9624'
         '39bb3fcea1514f1369fcfc87542390fd'
         '3404ab6b1792ae5f16bbd603bd1e1d03'
         '97b2d4dba862397f446b217e2b623e71'
         'f94d9870737518e3b597f9265f4e9803'
         '8ce2fcd72becf06c41f7201d15373ed9'
         'd8bd5eed178db6e2b18eeed243f85aa8'
         '3bdf40c0d199af31923e900d082ca2dd'
         'ace6ab49184e329db254e454a010f56d'
         'db60e4fde8dd6d6807523deb71ee34dc'
         'ba2930200c9f019c2d93a8c88c651a0f'
         '0ff7d225d087793c8c2c680d77aac3e7'
         'e1c178b18f130b40494561f02bc1a948'
         '7c2549f6b0a8bb604e6c4c729ffdcfe6'
         '185d60944ea767075d27247c3162b3bc'
         '60ce5dc9bd098f95c2e621a930c98dd9'
         '661a52a02a31b3afbe4b3b3146061afd'
         '025d9b17d9eb90dc282c5c1289a666aa'
         'f0e72d0e1bc93a50a3aa9d31350b156c'
         '867c682b45f477f916786e00c45d7ab7')

build() {

	unset J2REDIR; unset J2SDKDIR; unset JAVA_HOME; unset CLASSPATH; unset EXTRAOPTS
	[ -z "${JAVA_HOME}" ] && . /etc/profile.d/jdk.sh || . /etc/profile.d/openjdk6.sh
	[ -z "${ANT_HOME}" ] && . /etc/profile.d/apache-ant.sh

        cd ${srcdir}/libreoffice-core-$_LOver

	# move external sources into place
	mkdir ${srcdir}/ext_sources &&	pushd ${srcdir}/ext_sources
	for source in "${noextract[@]}"; do
	  ln -s ${srcdir}/$source .
	done
	popd
	
	ln -s ../libreoffice-help-$_LOver/helpcontent2 .
	ln -s ../libreoffice-translations-$_LOver/translations .

	# buildfixes & bugfixes
	# one late fix to solve make distro-pack-install issue
	patch -Np1 -i ${srcdir}/gmake_install.diff
	patch -Np1 -i ${srcdir}/smp_buildfix.diff
	# https://bugs.archlinux.org/task/29854 based on 3.6/master patch http://cgit.freedesktop.org/libreoffice/core/patch/?id=20c24114143d6d38774b56a142fd4ae05094308e
	patch -Np1 -i ${srcdir}/fix_broken_hebrew_wordwrapping.diff
	
	# unset C(XX)FLAGS
	# http://www.openoffice.org/issues/show_bug.cgi?id=103205
#	unset CFLAGS
#	unset CXXFLAGS

	#use the CFLAGS but remove the LibO overridden ones
	for i in $CFLAGS; do
		case "$i" in
			-O?|-pipe|-Wall|-g|-fexceptions) continue;;
		esac
        ARCH_FLAGS="$ARCH_FLAGS $i"
	done
	
	# python2 fix
	export PYTHON=python2

#	autoconf -f

	# non-SMP test build
#	export MAKEFLAGS="-j1"
	#./configure --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \
#	touch autogen.lastrun
	./autogen.sh --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \
		--with-unix-wrapper="libreoffice" \
		--enable-split-app-modules \
		--with-max-jobs=${MAKEFLAGS/-j/} --with-num-cpus=${MAKEFLAGS/-j/} \
		--with-external-tar="${srcdir}/ext_sources" \
		--disable-fetch-external \
		--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \
		--libdir=/usr/lib --mandir=/usr/share/man \
		--disable-verbose \
		--with-lang="" \
		--enable-crashdump \
		--enable-dbus \
		--enable-evolution2\
		--enable-gio\
		--disable-gnome-vfs\
		--disable-kde\
		--enable-kde4\
		--enable-gtk3 \
		--enable-lockdown\
		--enable-mergelibs \
		--enable-opengl \
		--enable-odk\
		--enable-ext-scripting-beanshell \
		--enable-ext-scripting-javascript \
		--enable-ext-wiki-publisher \
		--enable-ext-nlpsolver \
		--disable-ext-mysql-connector \
		--with-system-mysql \
		--enable-librsvg=system \
		--without-fonts\
		--without-afms\
		--without-ppds\
		--without-system-libwps\
		--without-system-mdds\
		--without-myspell-dicts \
		--without-system-libvisio \
		--without-system-libcmis \
		--without-system-sampleicc \
		--without-system-libexttextcat \
		--with-system-dicts \
		--with-external-dict-dir=/usr/share/hunspell \
		--with-external-hyph-dir=/usr/share/hyphen \
		--with-external-thes-dir=/usr/share/mythes \
		--with-system-beanshell \
		--with-system-cppunit\
		--with-system-graphite\
		--with-system-libwpg \
		--with-system-libwps \
		--with-system-redland\
		--without-system-saxon\
		--disable-mozilla \
		--without-system-mozilla \
		--without-system-mozilla-headers \
		--with-ant-home="/usr/share/java/apache-ant"\
		--without-system-boost\
		--with-system-cairo\
		--with-system-libs\
		--with-system-mythes\
		--with-system-headers\
		--with-system-hsqldb \
		--with-alloc=system\
		--with-system-lucene\
		--with-lucene-core-jar=/usr/share/java/lucene-core.jar\
		--with-lucene-analyzers-jar=/usr/share/java/lucene-analyzers.jar\
		--with-java-target-version=1.5 \
		$EXTRAOPTS

#--enable-split-opt-features Split file lists for some optional features, .e.g. pyuno, testtool

	touch src.downloaded
	#./download
	make
	# fake installation to create split file lists
	mkdir $srcdir/fakeinstall
	make DESTDIR=${srcdir}/fakeinstall distro-pack-install
}

#check() {
#	cd ${srcdir}/build
#	make check
#}

package_libreoffice-common() {

 pkgdesc="common files for LibreOffice - a productivity suite that is compatible with other major office suites"
 install=libreoffice-common.install
 depends=('libreoffice-langpack' "hunspell>=1.2.8" "python2>=2.7" "neon>=0.28.6"
          'nspr' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=49.1" 
          'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils' 'orbit2')
          #'saxon'
 optdepends=('libreoffice-langpack: additional language support'
             'java-runtime:     adds java support'
             'libcups:          adds printing support'
             'gconf:            adds additional gnome support'
             'nss:              adds support for signed files/macros'
             'pstoedit:         translates PostScript and PDF graphics into other vector formats'
             'poppler:          for shipped pdfimport extension'
             'libmythes:        for use in thesaurus'
             'beanshell:        interactive java -- good for prototyping /macros'
             'vigra:            C++ computer vision library, usable in Basebmp'
             'libmspack:        library for Microsoft compression formats for use in FontOOo'
             'libwpg:           library for importing and converting Corel WordPerfect(tm) Graphics images'
             'lucene:           full-text search engine library for Java needed in the help section'
             'sane:             for scanner access'
             'unixodbc:         adds ODBC database support'
             'gstreamer0.10-base: + some gstr-plugins to support multimedia content, e.g. in impress')
 backup=(etc/libreoffice/sofficerc
         etc/libreoffice/bootstraprc
         etc/libreoffice/psprint.conf)
 groups=('libreoffice')
 provides=('go-openoffice')
 conflicts=('go-openoffice')
 replaces=('go-openoffice' 'openoffice-base' 'libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/common_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/common_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
 
 # put configuration files into place
 install -dm755 ${pkgdir}/etc/libreoffice
 install -m644 ${pkgdir}/usr/lib/libreoffice/program/{bootstraprc,sofficerc} ${pkgdir}/etc/libreoffice/
 install -m644 ${pkgdir}/usr/lib/libreoffice/share/psprint/psprint.conf ${pkgdir}/etc/libreoffice/
 # install dummy links to make them found by LibO
 cd ${pkgdir}/usr/lib/libreoffice/program/
 ln -vsf /etc/libreoffice/{bootstraprc,sofficerc} .
 cd ${pkgdir}/usr/lib/libreoffice/share/psprint/
 ln -vsf /etc/libreoffice/psprint.conf .
 
 # set python-uno PYTHON path
 install -dm755 ${pkgdir}/etc/profile.d
 install -m755 ${srcdir}/libreoffice-common.{sh,csh} ${pkgdir}/etc/profile.d/
 
 # move bash-completion files to its new place
 install -dm755 ${pkgdir}/usr/share/bash-completion/completions
 mv ${pkgdir}/etc/bash_completion.d/libreoffice.sh ${pkgdir}/usr/share/bash-completion/completions/libreoffice.sh
 rm -rf ${pkgdir}/etc/bash_completion.d
}

package_libreoffice-base() {
 pkgdesc="GUI database front-end for LibreOffice. Allows creation and management of databases through a GUI."
 install=libreoffice-base.install
 depends=('libreoffice-common' 'hsqldb-java')
 optdepends=('libreoffice-postgresql-connector')
 backup=()
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/base_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/base_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-postgresql-connector() {
 pkgdesc="A PostgreSQL connector for the database front-end for LibreOffice"
 depends=('libreoffice-base' 'postgresql-libs')
 groups=('libreoffice')
 replaces=('libreoffice')

 # no file-list so far
 install -dm755 ${pkgdir}/usr/lib/libreoffice/program/services
 install -m644 ${srcdir}/fakeinstall/usr/lib/libreoffice/program/postgresql-sdbc.uno.so ${pkgdir}/usr/lib/libreoffice/program
 install -m644 ${srcdir}/fakeinstall/usr/lib/libreoffice/program/postgresql-sdbc-impl.uno.so ${pkgdir}/usr/lib/libreoffice/program
 install -m644 ${srcdir}/fakeinstall/usr/lib/libreoffice/program/postgresql-sdbc.ini ${pkgdir}/usr/lib/libreoffice/program
 install -m644 ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/postgresql-sdbc.rdb ${pkgdir}/usr/lib/libreoffice/program/services
 install -dm755 ${pkgdir}/usr/lib/libreoffice/share/registry
 install -m644 ${srcdir}/fakeinstall/usr/lib/libreoffice/share/registry/postgresqlsdbc.xcd ${pkgdir}/usr/lib/libreoffice/share/registry
 
# # create directories from *list.txt file
# for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/postgresql_list.txt`; do
#   install -dm755 ${pkgdir}/${directory/\%dir/}
# done
# # install files into the pkg from fakeinstall dir
# for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/postgresql_list.txt`; do
#   dirname=`dirname $file`
#   # check if directory has been already been created - some are missing like manpages
#   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
#   # mv file from fakeinstall to pkgdir
#   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
# done
}

package_libreoffice-calc() {
 pkgdesc="Spreadsheet application for LibreOffice."
 install=libreoffice-calc.install
 depends=('libreoffice-common' 'lpsolve' )
 optdepends=()
 backup=()
 groups=('libreoffice')
 replaces=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/calc_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/calc_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-draw() {
 pkgdesc="Drawing Application for LibreOffice."
 install=libreoffice-draw.install
 depends=('libreoffice-common')
 optdepends=()
 backup=()
 groups=('libreoffice')
 replaces=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/draw_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/draw_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-gnome() {
 pkgdesc="Plug-in for LibreOffice that enables integration into the Gnome and other gtk desktop environment."
 depends=('libreoffice-common' 'gtk2' 'gtk3') #'dbus-glib'
 optdepends=()
 backup=()
 groups=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/gnome_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/gnome_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-impress() {
 pkgdesc="Presentation Application for LibreOffice."
 install=libreoffice-impress.install
 depends=('libreoffice-common')
 optdepends=('mesa:             for the OGLTrans extension')
 backup=()
 groups=('libreoffice')
 replaces=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/impress_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/impress_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-kde4() {
 pkgdesc="Plug-in for LibreOffice that enables integration into the KDE4 desktop environment."
 depends=('libreoffice-common' 'kdelibs')
 optdepends=()
 backup=()
 groups=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/kde4_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/kde4_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-math() {
 pkgdesc="Equation Editor Applicationfor LibreOffice."
 depends=('libreoffice-common')
 optdepends=()
 backup=()
 groups=('libreoffice')
 replaces=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/math_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/math_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-sdk() {
 pkgdesc="Software Development Kit for LibreOffice."
 depends=('libreoffice-common' 'gcc-libs' 'sh' 'make' 'zip' 'gcc' 'java-environment')
 optdepends=()
 backup=()
 groups=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/sdk_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/sdk_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
 
  # fix environment path to keep compatibility with openjdk6 and openjdk7
  #sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:"          /usr/lib/libreoffice/sdk/setsdkenv_unix.{sh,csh}
  sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/usr/lib/libreoffice/sdk/setsdkenv_unix.{sh,csh}
}

package_libreoffice-sdk-doc() {
 pkgdesc="Software Development Kit documentation for LibreOffice"
 depends=('libreoffice-common' 'libreoffice-sdk')
 optdepends=()
 backup=()
 groups=('libreoffice')
 
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/sdk_doc_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/sdk_doc_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done

 #fix permissions
 find ${pkgdir}/usr/lib/libreoffice/sdk/examples -type f -exec chmod -x {} \;
}

package_libreoffice-writer() {
 pkgdesc="Word Processor Applicationfor LibreOffice."
 install=libreoffice-writer.install
 depends=('libreoffice-common' 'libwpd>=0.9.2' 'libwps' 'libxml2')
 optdepends=('libwpg:           library for importing and converting Corel WordPerfect(tm) Graphics images')
 backup=()
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/writer_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/writer_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-en-US() {
  pkgdesc="English (US) language pack for LibreOffice"
  #arch=('any')
  provides=('openoffice-en-US' 'libreoffice-langpack')
  replaces=(openoffice-en-US)
  conflicts=(openoffice-en-US)

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-core-$_LOver/file-lists/lang_en_US_list.txt`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-core-$_LOver/file-lists/lang_en_US_list.txt`; do
   dirname=`dirname $file`
   # check if directory has been already been created - some are missing like manpages
   [ -d ${pkgdir}/$dirname ] || install -dm755 ${pkgdir}/$dirname
   # mv file from fakeinstall to pkgdir
   mv ${srcdir}/fakeinstall${file} ${pkgdir}$file
 done
}

package_libreoffice-extension-pdfimport() {

 pkgdesc="This extension allows you to import and modify PDF documents"
 depends=('libreoffice-common' 'poppler')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/pdfimport/pdfimport.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/pdfimport
}

package_libreoffice-extension-presenter-screen() {

 pkgdesc="This extension provides more control over your slide show presentation, such as the ability to see the upcoming slide, the slide notes, and a presentation timer whereas the audience see only the current slide"
 depends=('libreoffice-common' 'java-environment')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/presenter-screen.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/presenter-screen
}

package_libreoffice-extension-presentation-minimizer() {

 pkgdesc="This extension reduce the file size of the current presentation"
 depends=('libreoffice-common' 'gcc-libs')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/presentation-minimizer.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/presentation-minimizer
}

package_libreoffice-extension-report-builder() {

 pkgdesc="This extension creates smart-looking database reports"
 #arch=('any')
 depends=('libreoffice-common' 'java-environment')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/report-builder.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/report-builder
}

package_libreoffice-scripting-beanshell() {

 pkgdesc="LibreOffice extension - Enables support for scripts in BeanShell"
 depends=('libreoffice-common' 'java-environment')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/program/{classes,services}
	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/classes/ScriptProviderForBeanShell.jar ${pkgdir}/usr/lib/libreoffice/program/classes/
	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/scriptproviderforbeanshell.rdb ${pkgdir}/usr/lib/libreoffice/program/services/
}

package_libreoffice-scripting-javascript() {

 pkgdesc="LibreOffice extension - Enables support for scripts in JavaScript"
 depends=('libreoffice-common' 'java-environment')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/program/{classes,services}
	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/classes/{js.jar,ScriptProviderForJavaScript.jar} ${pkgdir}/usr/lib/libreoffice/program/classes/
	mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/scriptproviderforjavascript.rdb ${pkgdir}/usr/lib/libreoffice/program/services/
}

package_libreoffice-extension-scripting-python() {

 pkgdesc="LibreOffice extension - Enables support for scripts in Python"
 depends=('libreoffice-common' 'python2')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/script-provider-for-python.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-python
}

package_libreoffice-extension-wiki-publisher() {

 pkgdesc="This extension enables you to create Wiki articles on MediaWiki servers without having to know the syntax of the MediaWiki markup language"
 #arch=('any')
 depends=('libreoffice-common' 'java-environment')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher
}

package_libreoffice-extension-nlpsolver() {

 pkgdesc="This extension integrates into Calc and offers new Solver engines to use for optimizing nonlinear programming models"
 #arch=('any')
 depends=('libreoffice-common' 'java-environment')
 groups=('libreoffice-extensions')

	install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions
	unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver
}
