File OpenOffice_org-bootstrap.spec of Package OpenOffice_org-bootstrap

#
# spec file for package OpenOffice_org-bootstrap (Version 3.1.1.4)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           OpenOffice_org-bootstrap
BuildRequires:  ImageMagick ant ant-apache-regexp bison boost-devel ccache cups-devel curl-devel db-devel flac-devel flex gnome-vfs2-devel gperf gtk2-devel icu java-devel kdelibs3-devel krb5 libexif mono-devel neon-devel openldap2-devel pam-devel perl-Archive-Zip perl-Compress-Zlib postgresql-devel python-devel python-xml recode unixODBC-devel unzip xml-commons-apis xorg-x11 zip
# mozilla stuff
%if %suse_version > 1110
BuildRequires:  mozilla-xulrunner191-devel
%endif 
%if %suse_version > 1100 && %suse_version <= 1110
BuildRequires:  mozilla-xulrunner190-devel
%endif 
%if %suse_version > 1010 && %suse_version <= 1100
BuildRequires:  mozilla-xulrunner181-devel
%endif
%if %suse_version > 1000 && %suse_version <= 1010
BuildRequires:  gecko-sdk mozilla-xulrunner
%endif
%if %suse_version > 1100
# libexpat-devel is explicitely needed since openSUSE-11.1
BuildRequires:  libexpat-devel
# lpsolve-devel has been available since openSUSE-11.1
BuildRequires:  lpsolve-devel
%endif
# poppler is needed to build the PDF import extension
# the needed version 0.8.0 has been avaiable only since openSUSE-11.0
%if %suse_version >= 1100
BuildRequires:  libpoppler-devel
%endif
# 10.3 features
%if %suse_version > 1020
BuildRequires:  libicu-devel
%endif
# 11.0 features
%if %suse_version > 1030
BuildRequires:  hunspell-devel libwpd-devel libwpg-devel libwps-devel
%endif
# 11.2 features
%if %suse_version > 1110
BuildRequires:  libkde4-devel
%endif
# CODE10 features
%if %suse_version > 1000
BuildRequires:  gstreamer010-plugins-base-devel sablot-devel xalan-j2 xerces-j2 xml-commons-apis
%endif
# FIXME: part of the language-dependant stuff is still built here and
# put into the -devel package
# test_build_langs:   	   0 = only en-US
#			   1 = en-US, de, and cs
#			   2 = all supported languages 
%define		test_build_langs 	2
# test_build_binfilters:   0 = no
#			   1 = yes
%define		test_build_binfilters 	1
# test_build_SDK:  	   0 = no
#			   1 = yes (if possible, see below the definition of ooo_build_sdk)
%define		test_build_sdk 		1
# build_module_in_parallel 0 = no
#			   1 = yes (the number is defined be the number of cpus)
#			   2,3,4... = yes (force the number of modules to be built in parallel)
%define		build_module_in_parallel	1
# prepare_build:	   0 = no
#			   1 = yes (just build, install and create packages; without %%prep section and configure)
%define		prepare_build 		1
#
%if %test_build_langs == 0
%define       ooo_langs		"en-US"
%else
%if %test_build_langs == 1
%define       ooo_langs		"en-US cs de hu ja"
%else
%define       ooo_langs		"en-US af ar be-BY bg br ca cs cy da de el en-GB en-ZA es et fi fr ga gl gu-IN he hi-IN hu hr it ja ka km ko lt mk nb nl nn nr pa-IN pl pt pt-BR ru rw sh sk sl sr ss st sv tg th tr ts uk ve vi xh zh-TW zh-CN zu"
%endif
%endif
%define       ooo_poor_help_localizations "af bg be-BY br ca cy el fi ga he hr ka lt mk nb nn nr rw sh sr sk ss st tg th tr th ts uk ve vi xh zu"
# sdk stuff enable only on SL 10.2, SLED10 and higher
# force no if test_build_sdk is disabled
%if %test_build_sdk == 0
%define		ooo_build_sdk 		no
%else
%if %suse_version > 1010 || %sles_version == 10
%define		ooo_build_sdk 		yes
%else
%define		ooo_build_sdk 		no
%endif
%endif
# java stuff
%define	      with_java		yes
%define	      use_gij		no
# java target bytecode; should be compatible with the gcj
%if %suse_version > 1030
%define       java_target_version	1.5
%else
%define       java_target_version	1.4
%endif
# we would like to support also a non-conflicting OOo2 package
%define	      ooo_bin_suffix	no
# 
%define	      ooo_prefix	%_libdir
%define	      ooo_home		ooo3
%define	      ooo_basis_dir	basis3.1
%define	      ooo_build_dir	build
%define	      ooo_build_version 3.1.1.4
%define	      ooo_build_tag     ooo310-m19
License:        Artistic License .. ; BSD 3-clause (or similar) ; GPL v2 or later ; LPPL .. ; LGPL v2.1 or later ; LGPL v3 only ; MPL .. ; MIT License (or similar)
Group:          Productivity/Office/Suite
Version:        3.1.1.4
Release:        1.<RELEASE1>
AutoReqProv:    on
Summary:        OpenOffice.org Build Bootstrap
Url:            http://www.openoffice.org/
#Url-help:    ftp://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/
Source0:        ooo-build-%ooo_build_version.tar.gz
Source1:        %ooo_build_tag-bootstrap.tar.bz2
Source2:        ooo-sdf-bootstrap.tar.bz2
# necessary for SDK, http://udk.openoffice.org/common/man/spec/transparentofficecomponents.html
# FIXME: can be built using mingw32 C++ compiler
Source3:        unowinreg.dll
# hacked soures from setup_native
Source30:       setup_native_packinfo-ooo310-m2.tar.bz2
# Hmm, rpmlint complains about devel files in non-devel package
# We would like to keep the -bootstrap package name
# So we need to disable these rpmlint checks
Source100:      %name-rpmlintrc
# jsr173_1.0_api.jar can't be built with Java-1.4 on SLED10 easily
Source150:      jsr173_1.0_api.jar
#
# patches against ooo-build
# Patch0:       ooo-build-2.4-enable-foo.diff	# example
Patch0:         ooo-build-help-in-usr-share.diff
Patch1:         ooo-build-3.0.0.10-extensions-hack.diff
#
Patch1000:      piece-disable-pyuno-registration.diff
#
# patches against the upstream sources, must be -p0
# Patch1000:    bug-123456-fix-foo.diff		# example
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
ExclusiveArch:  %ix86 x86_64 ppc

%description
This packages provides the basic tools and framework for building
OpenOffice.org using separate source packages.



%prep
%if %prepare_build == 0
%setup -D -T -q -n ooo-build-%ooo_build_version
%else
%setup -q -n ooo-build-%ooo_build_version
#
# apply patches against ooo-build
# %patch0	# example
#
install -m 644 %{S:1} %{S:2} %{S:3} %{S:30} src/
%if %suse_version == 1010
install -m 644 %{S:150} src/
%endif
# apply patches against ooo-build
# %patch0	# example
%patch0
%patch1
%if %suse_version == 1010
# temporary disable registration of python components on SLED10
cp %{P:1000} patches/hotfixes
%endif
%endif

%build
%if %prepare_build != 0
#
# Parallel build settings ...
PARALLEL_BUILD=
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
  PARALLEL_BUILD="--with-gcc-speedup=icecream
                  --with-max-jobs=%jobs"
fi
# parallel build of modules; it makes sense on machines with more CPUs
if test "%build_module_in_parallel" = "1" ; then
    PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`"
fi
if test "%build_module_in_parallel" -gt "1" ; then
    PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
fi
#
# Distro settings ...
%if %suse_version <= 1110
    suse_major_ver=$((%suse_version / 100))
    suse_minor_ver=$((%suse_version / 10 - $suse_major_ver * 10))
    with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
%else
%if %suse_version > 1110 && %suse_version <= 1120
    with_distro="SUSE-11.2"
%else
    with_distro="SUSE"
%endif
%endif
#
# run autoreconf to make sure that everything works correctly on current system
# also the autoconf stuff might have been patched
autoreconf -fi
%endif
# make sure that JAVA_HOME is set correctly
source /etc/profile.d/alljava.sh
# use RPM_OPT_FLAGS, ...
export ARCH_FLAGS="`echo $RPM_OPT_FLAGS|sed -e 's/\-O[0-9]//g'` -fno-strict-aliasing"
# FIXME: genccode from the system icu is in /usr/sbin
export PATH="$PATH:/usr/sbin"
# FIXME: Sun Java is borken on 10.2-x86_64, see https://bugzilla.novell.com/show_bug.cgi?id=219982
#        javac from java-1_4_2-gcj-compat-devel uses ecj that is not able to compile OOo
#        gij requires JAVA_HOME=/usr
#        ant requires tools.jar from /usr/lib64/jvm/java/lib
%ifarch x86_64
%if %suse_version == 1020
export CLASSPATH=$JAVA_HOME/lib/tools.jar
%endif
%endif
%if %prepare_build != 0
./configure $PARALLEL_BUILD \
	--with-arch-flags="$ARCH_FLAGS" \
	--with-split \
	--with-piece=bootstrap \
	--libdir=%{_libdir} \
	--prefix=%{_prefix} \
	--mandir=%{_mandir} \
	--sysconfdir=/etc \
	--with-docdir=%{_docdir}/%{name} \
	--with-binsuffix=%ooo_bin_suffix \
	--with-installed-ooo-dirname=%ooo_home \
	--with-distro="$with_distro" \
%if %suse_version <= 1030
	--with-intro-bitmaps="%{S:140} %{S:142}" \
	--with-about-bitmaps="%{S:141} %{S:143}" \
%endif
	--with-tag=%ooo_build_tag \
	--with-lang=%ooo_langs \
	--with-poor-help-localizations=%ooo_poor_help_localizations \
	--with-mono-gac-root=%{_prefix}/lib \
%if %test_build_binfilters != 0
	--enable-binfilter \
%endif
%if %with_java == no
	--with-java=no \
	--with-jdk-home="" \
%else
%if %use_gij == yes
	--with-java=gij \
	--with-jdk-home=/usr \
%else
	--with-java=java \
	--with-jdk-home=$JAVA_HOME \
	--with-java-target-version=%java_target_version \
%endif
%endif
%if %ooo_build_sdk == yes
	--enable-odk \
%endif
%if %suse_version <= 1030
	--with-additional-sections="PostgreSQL" \
%endif
%if %suse_version < 920 && %sles_version <= 8
	--disable-openldap \
	--disable-gnome-vfs \
	--disable-gtk \
%endif
	--disable-access \
	--disable-post-install-scripts \
	--disable-strip \
	--disable-strip-solver \
	--enable-openxml \
	--disable-report-builder \
	--disable-pdfimport \
	--disable-presenter-console \
	--enable-build-noarch \
%if %suse_version > 1030
	--enable-pdfimport \
%endif
	--enable-minimizer --enable-presenter-console \
	--enable-wiki-publisher --enable-ogltrans --enable-report-builder \
	--enable-split-app-modules \
	--enable-split-opt-features
%endif
# FIXME: try to finish build even with the strange random build crash in officecfg
make || make || make || make

%install
%ifarch x86_64 ppc
%if %suse_version <= 1020
# FIXME: move this to ooo-build
export JAVA_HOME=/usr
%endif
%endif
#
make DESTDIR=$RPM_BUILD_ROOT install

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%dir %ooo_prefix/%ooo_home
%dir %ooo_prefix/%ooo_home/solver
%dir %ooo_prefix/%ooo_home/solenv
%dir %ooo_prefix/%ooo_home/ooo-build
%ooo_prefix/%ooo_home/solver/*
%ooo_prefix/%ooo_home/solenv/*
%ooo_prefix/%ooo_home/ooo-build/*

%changelog
openSUSE Build Service is sponsored by