# $Id$
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - patch to fix building icu

buildarch=20

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-wiki-publisher'
	'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built)
_LOver=4.2.3.3
pkgver=4.2.3
pkgrel=3
arch=('i686' 'x86_64')
license=('LGPL3')
url="http://www.libreoffice.org/"
makedepends=( # makedepends
             'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'apache-ant'
			 'gperf' 'kdelibs' 'gconf' 'gtk3' 'cppunit' 'beanshell2' 'vigra'
			 'clucene' 'junit' 'libmythes' 'libwpg'  'mesa' 'clucene'
			 'java-environment' 'postgresql-libs' 'bluez-libs' 'harfbuzz-icu'
			 'gdb' 'doxygen'
             # the runtime dependencies
             "curl>=7.20.0" "hunspell>=1.2.8" "python>=3.4" 'libwpd>=0.9.2'
			 'libwps' 'libxaw' "neon>=0.28.6" 'pango' 'nspr' 'libjpeg' 'libxrandr'
			 'libgl' 'dbus-glib' 'libxslt' 'librsvg' 'redland' #"icu>=52.1" 
			 'hyphen' 'lpsolve' 'gcc-libs' 'sh'  'libtextcat' 'graphite'
			 'lcms2' 'poppler>=0.24.0' 'libvisio' 'libetonyek' 'libodfgen'
			 #'libcdr' 'libmspub'
			 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info'
			 'gtk2' 'orbit2' 'translate-toolkit' 'xdg-utils' #'telepathy-glib'
			 'gst-plugins-base-libs' 'glu' 'ttf-liberation' # to satisfy regression tests
	         'git')
# there's only one single static library in libreoffice-sdk,
# the next build that removes it may lead to trouble if people may use it
# -rw-r--r-- 1 root root 5,1K 12. Okt 23:34 /usr/lib/libreoffice/sdk/lib/libsalcpprt.a
# options=('staticlibs')

# 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"
_additional_source_url2="http://dev-www.libreoffice.org/extern"
source=(${_mirror}/${pkgbase}{,-help,-translations}-${_LOver}.tar.xz{,.asc}
	${_additional_source_url}/15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
	${_additional_source_url}/9e96ed4c1d99c0d14ac03c140f9f346c-icu4c-52_1-src.tgz
	${_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}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
	${_additional_source_url}/3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
	${_additional_source_url}/625ff5f2f968dd908bca43c9469d6e6b-commons-lang-2.4-src.tar.gz
	${_additional_source_url}/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
	${_additional_source_url}/2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-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}/47203e7cade74e5c385aa812f21e7932-mdds_0.10.2.tar.bz2
	${_additional_source_url}/ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
	${_additional_source_url}/22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz
	${_additional_source_url}/ea2acaf140ae40a87a952caa75184f4d-liborcus-0.5.1.tar.bz2
	${_additional_source_url}/36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
	${_additional_source_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
	${_additional_source_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
	${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll
	${_additional_source_url}/libcdr-0.0.14.tar.bz2
	${_additional_source_url}/libmspub-0.0.6.tar.bz2
	${_additional_source_url}/libmwaw-0.2.0.tar.bz2
	${_additional_source_url}/libfreehand-0.0.0.tar.bz2
	${_additional_source_url}/Firebird-2.5.2.26540-0.tar.bz2
	${_additional_source_url}/libatomic_ops-7_2d.zip
	${_additional_source_url}/libe-book-0.0.3.tar.bz2
	${_additional_source_url}/libabw-0.0.2.tar.bz2
	make-pyuno-work-with-system-wide-module-install.diff
	icudata-stdlibs.patch
	libreoffice-common.sh libreoffice-common.csh)
noextract=(15cb8c0803064faef0c4ddf5bc5ca279-boost_1_54_0.tar.bz2
	9e96ed4c1d99c0d14ac03c140f9f346c-icu4c-52_1-src.tgz
	185d60944ea767075d27247c3162b3bc-unowinreg.dll
	47203e7cade74e5c385aa812f21e7932-mdds_0.10.2.tar.bz2
	798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
	1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz
	ae330b9493bd4503ac390106ff6060d7-libexttextcat-3.4.3.tar.bz2
	22f8a85daf4a012180322e1f52a7563b-libcmis-0.4.1.tar.gz
	35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
	a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip
	3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz
	625ff5f2f968dd908bca43c9469d6e6b-commons-lang-2.4-src.tar.gz
	2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz
	2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-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
	ea2acaf140ae40a87a952caa75184f4d-liborcus-0.5.1.tar.bz2
	36271d3fa0d9dec1632029b6d7aac925-liblangtag-0.5.1.tar.bz2
	0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
	17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
	libcdr-0.0.14.tar.bz2
	libmspub-0.0.6.tar.bz2
	libmwaw-0.2.0.tar.bz2
	libfreehand-0.0.0.tar.bz2
	Firebird-2.5.2.26540-0.tar.bz2
	libatomic_ops-7_2d.zip
	libe-book-0.0.3.tar.bz2
	libabw-0.0.2.tar.bz2)
md5sums=('0347f2c919e809b3f3794ed509caa902'
         'SKIP'
         'fa82b4c4510c78fe22a3a56d53fb9752'
         'SKIP'
         '81759541de9ce626a02d652399cd1ffe'
         'SKIP'
         '15cb8c0803064faef0c4ddf5bc5ca279'
         '9e96ed4c1d99c0d14ac03c140f9f346c'
         '1f24ab1d39f4a51faf22244c94a6203f'
         '35c94d2df8893241173de1d16b6034c0'
         '798b2ffdc8bcfe7bca2cf92b62caf685'
         'a7983f859eafb2677d7ff386a023bc40'
         '3c219630e4302863a9a83d0efde889db'
         '625ff5f2f968dd908bca43c9469d6e6b'
         '2c9b0f83ed5890af02c0df1c1776f39b'
         '2e482c7567908d334785ce7d69ddfff7'
         'eeb2c7ddf0d302fba4bfc6e97eac9624'
         '39bb3fcea1514f1369fcfc87542390fd'
         '3404ab6b1792ae5f16bbd603bd1e1d03'
         '97b2d4dba862397f446b217e2b623e71'
         'f94d9870737518e3b597f9265f4e9803'
         '8ce2fcd72becf06c41f7201d15373ed9'
         'd8bd5eed178db6e2b18eeed243f85aa8'
         '3bdf40c0d199af31923e900d082ca2dd'
         'ace6ab49184e329db254e454a010f56d'
         'db60e4fde8dd6d6807523deb71ee34dc'
         'ba2930200c9f019c2d93a8c88c651a0f'
         '47203e7cade74e5c385aa812f21e7932'
         'ae330b9493bd4503ac390106ff6060d7'
         '22f8a85daf4a012180322e1f52a7563b'
         'ea2acaf140ae40a87a952caa75184f4d'
         '36271d3fa0d9dec1632029b6d7aac925'
         '0168229624cfac409e766913506961a8'
         '17410483b5b5f267aa18b7e00b65e6e0'
         '185d60944ea767075d27247c3162b3bc'
         'd88f9b94df880d2c05be943b000ca112'
         '1120705cd0f0d9bd5506360bf57b6c2e'
         'd794625f156a9fb1c53b3f8a8aa13b5e'
         '496dd00028afcc19f896b01394769043'
         '21154d2004e025c8a3666625b0357bb5'
         'c0b86562d5aa40761a87134f83e6adcf'
         '2f1ceaf2ac8752ed278e175447d9b978'
         '40fa48e03b1e28ae0325cc34b35bc46d'
         '07d2bf5ad839a394cca008b3ec6e7bb1'
         '0fa64bbd473ad7da9eb78a3890c29c2a'
         '4195735a80876ae812fca5736b50192a'
         'e7e4b3e70e99e5cba8f8dfcacf3b0d87')

prepare() {

    cd libreoffice-$_LOver
#return 1
    # fix exttextcat build error
    # /usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
    unset CPPFLAGS

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

    # unowinreg.dll must be a file not a symlink or the result will become a broken symlink
    # /usr/share/libreoffice/sdk/classes/win/unowinreg.dll -> /build/libreoffice/src/185d60944ea767075d27247c3162b3bc-unowinreg.dll
    rm ${srcdir}/ext_sources/185d60944ea767075d27247c3162b3bc-unowinreg.dll
    cp -f ${srcdir}/185d60944ea767075d27247c3162b3bc-unowinreg.dll ${srcdir}/ext_sources

    # fix not upstreamable pyuno paths - patch taken from Debian
    patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff

	#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


    # qt4 fix
    sed -i "s:qmake:qmake-qt4:g" configure.ac
    
    # icu fix
    patch -p1 -i ../icudata-stdlibs.patch
}

build() {
    cd libreoffice-$_LOver

	#autoconf -f

	# non-SMP test build
	#export MAKEFLAGS="-j1"
	#./configure --with-build-version="${_LOver} Arch Linux build-${pkgrel}" --with-vendor="Arch Linux" \

	./autogen.sh --with-build-version="${_LOver} Arch Linux build-${pkgrel}" --with-vendor="Arch Linux" \
		--enable-split-app-modules \
		--with-parallelism=${MAKEFLAGS/-j/} \
		--with-external-tar="${srcdir}/ext_sources" \
		--disable-fetch-external \
		--disable-verbose \
		--enable-release-build \
		--prefix=/usr --exec-prefix=/usr --sysconfdir=/etc \
		--libdir=/usr/lib --mandir=/usr/share/man \
		--with-lang="" \
		--enable-crashdump \
		--enable-avahi \
		--enable-dbus \
		--enable-evolution2\
		--enable-gio\
		--disable-gnome-vfs\
		--disable-kde\
		--enable-kde4\
		--enable-gtk3 \
		--enable-gstreamer \
		--disable-gstreamer-0-10 \
		--enable-lockdown\
		--enable-opencl \
		--enable-opengl \
		--enable-openssl \
		--enable-odk\
		--enable-orcus \
		--enable-python=system \
		--enable-scripting-beanshell \
		--enable-scripting-javascript \
		--disable-telepathy \
		--enable-ext-wiki-publisher \
		--enable-ext-nlpsolver \
		--without-fonts\
		--without-afms\
		--without-system-libwps\
		--without-system-libcdr \
		--without-system-mdds\
		--without-myspell-dicts \
		--with-system-libvisio \
		--without-system-libcmis \
		--without-system-libmspub \
		--without-system-libexttextcat \
		--without-system-orcus \
		--without-system-liblangtag \
		--without-system-jfreereport \
		--without-system-apache-commons \
		--with-system-libodfgen \
		--without-system-libmwaw \
		--with-system-libetonyek \
		--without-system-libfreehand \
		--without-system-firebird \
		--without-system-libatomic-ops \
		--without-system-libebook \
		--without-system-libabw \
		--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-npapi-headers \
		--with-ant-home="/usr/share/apache-ant"\
		--without-system-boost\
		--without-system-icu \
		--with-system-cairo\
		--with-system-libs\
		--with-system-mythes\
		--with-system-headers\
		--without-system-hsqldb \
		--with-alloc=system\
		--with-system-clucene \
		--disable-dependency-tracking \
		--enable-hardlink-deliver #--help

#		--enable-mergelibs=<all/yes> \ # https://bugs.archlinux.org/task/34414
#		--without-ppds\ # breaks spadmin permission

#--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 # -o build -o check
}

#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" "python>=3.3" "neon>=0.28.6"
		  'dbus-glib' 'librsvg' 'libcups' 'nss' 'libsm' 'redland' 'hyphen'
		  'graphite' 'clucene' 'lcms2' "poppler>=0.24.0" #"icu>=52.1"
		  #'telepathy-glib' # (calc telepathy-glib libtubeslo.so)
          'libodfgen'  'libvisio' 'harfbuzz-icu' 'hicolor-icon-theme' 'glu'
		  'desktop-file-utils' 'shared-mime-info' 'xdg-utils')
 optdepends=('libreoffice-langpack: additional language support'
             'java-runtime:     adds java support'
             'pstoedit:         translates PostScript and PDF graphics into other vector formats'
             'libmythes:        for use in thesaurus'
             'beanshell2:       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 and for MS visual import'
             'sane:             for scanner access'
             'unixodbc:         adds ODBC database support'
             'gst-plugins-base-libs:        + some gstr-plugins to support multimedia content, e.g. in impress'
             'gtk2:             for browser plugin'
             'libpaper:         takes care of papersize')
 backup=(etc/libreoffice/sofficerc
         etc/libreoffice/bootstraprc
         etc/libreoffice/psprint.conf
         etc/profile.d/libreoffice-common.sh
         etc/profile.d/libreoffice-common.csh)
 groups=('libreoffice')
 provides=('go-openoffice' 'libreoffice-extension-pdfimport' 'libreoffice-extension-presenter-screen'
           'libreoffice-scripting-beanshell' 'libreoffice-scripting-javascript'	'libreoffice-extension-scripting-python'
           'libreoffice-extension-report-builder')
 conflicts=('go-openoffice')
 replaces=('go-openoffice' 'openoffice-base' 'libreoffice' 'libreoffice-extension-pdfimport' 'libreoffice-extension-presenter-screen'
           'libreoffice-scripting-beanshell' 'libreoffice-scripting-javascript' 'libreoffice-extension-scripting-python'
           'libreoffice-extension-report-builder' 'libreoffice-extension-presentation-minimizer' 'libreoffice-extension-presentation-minimizer')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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 .

 # allow to preset desired VLC
 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

 # make pyuno find its modules
 install -dm755 ${pkgdir}/usr/lib/python3.4/site-packages
 ln -svf /usr/lib/libreoffice/program/uno.py ${pkgdir}/usr/lib/python3.4/site-packages/uno.py
 ln -svf /usr/lib/libreoffice/program/unohelper.py ${pkgdir}/usr/lib/python3.4/site-packages/unohelper.py

 # workaround all packages now depend on that file
 cp ${srcdir}/fakeinstall/usr/lib/libreoffice/share/registry/writer.xcd ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd
 # workaround lowriter depending on a lib that's part of calc
 # https://bugs.archlinux.org/task/39038 - https://bugs.freedesktop.org/show_bug.cgi?id=75506
# cp ${srcdir}/fakeinstall/usr/lib/libreoffice/program/libtubeslo.so ${pkgdir}/usr/lib/libreoffice/program/libtubeslo.so

 # add missing files from Beanshell provider
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; do
   install -dm755 ${pkgdir}/${directory/\%dir/}
 done
 # install files into the pkg from fakeinstall dir
 for file in `grep -v ^%dir $srcdir/libreoffice-$_LOver/file-lists/orig/gid_Module_Optional_Extensions_Script_Provider_For_BS`; 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 || /bin/true # some double file entries make it fail
 done
}

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')
 optdepends=('libreoffice-postgresql-connector')
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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')

 # workaround double entries in the file list
 mv ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt.orig
 sort ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt.orig | uniq 1>& ${srcdir}/libreoffice-$_LOver/file-lists/postgresql_list.txt

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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')
 #depends=('libreoffice-writer' 'lpsolve' ) # some hidden uno linking to parts of the writer pkg - https://bugs.archlinux.org/task/34332
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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
 # workaround lowriter depending on a lib that's part of calc
 # https://bugs.archlinux.org/task/39038 - https://bugs.freedesktop.org/show_bug.cgi?id=75506
# rm -vf ${pkgdir}/usr/lib/libreoffice/program/libtubeslo.so
}

package_libreoffice-draw() {
 pkgdesc="Drawing Application for LibreOffice."
 install=libreoffice-draw.install
 depends=('libreoffice-common')
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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' 'gconf')
 optdepends=('gtk3: for gtk3 Gnome integration'
             'gtk2: for older gtk2 desktop integration')
 groups=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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' 'libetonyek')
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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-$_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-$_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

 # one file (libkde4be1lo.so) is part of kde_list.txt
 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_LOver/file-lists/kde_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-$_LOver/file-lists/kde_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 Application for LibreOffice."
 depends=('libreoffice-common')
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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')
 groups=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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 other java-environments
#  sed -i -e "s:\/usr\/lib\/jvm\/java-7-openjdk:\$J2SDKDIR:" ${pkgdir}/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
}

package_libreoffice-sdk-doc() {
 pkgdesc="Software Development Kit documentation for LibreOffice"
 depends=('libreoffice-common' 'libreoffice-sdk')
 groups=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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 Application for 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')
 groups=('libreoffice')
 replaces=('libreoffice')

 # create directories from *list.txt file
 for directory in `grep ^%dir ${srcdir}/libreoffice-$_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-$_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

 # for workaround this file belongs now to common
 rm -vf ${pkgdir}/usr/lib/libreoffice/share/registry/writer.xcd
}

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-$_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-$_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-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-$_LOver/workdir/Extension/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-$_LOver/workdir/Extension/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver
}