File libreoffice-help-en-US.spec.in of Package libreoffice

#
# spec file for package libreoffice-help-en-US
#
# Copyright (c) 2012 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/
#


Name:           libreoffice-help-en-US
@DO_NOT_EDIT_COMMENT@
Version:        3.5.4.13
Release:        0
%define         gnu_make_version  3.82
%define         gnu_make_snapshot 20120301
%define         zip_version       3.0
%define         lo_langs	  ""
%define         lo_home           libreoffice
# 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
# debug_build:	           0 = no
#			   1 = yes (enable depency tracking, ccache)
%define		debug_build 		0
# prepare_build:	   0 = no
#			   1 = yes (just build, install and create packages; without %%prep section and configure)
%define		prepare_build 		1
#!BuildIgnore:  libreoffice
# both zip and perl-Archive-Zip are needed; tested with ooo320-m3, 2009-10-22
BuildRequires:  ant
BuildRequires:  ant-apache-regexp
BuildRequires:  automake
BuildRequires:  bison
BuildRequires:  boost-devel
BuildRequires:  db-devel
BuildRequires:  flac-devel
BuildRequires:  flex
BuildRequires:  freetype2-devel
BuildRequires:  gcc-c++
BuildRequires:  gperf
BuildRequires:  icu
BuildRequires:  java-devel
BuildRequires:  libcppunit-devel
BuildRequires:  libexpat-devel
BuildRequires:  libicu-devel
BuildRequires:  libxml2-devel
BuildRequires:  libxslt-devel
BuildRequires:  openssl-devel
BuildRequires:  perl-Archive-Zip
BuildRequires:  perl-Compress-Zlib
BuildRequires:  pkg-config
BuildRequires:  procps
BuildRequires:  unzip
BuildRequires:  xorg-x11-devel
BuildRequires:  zip
%if 0%{?suse_version} == 01010
# is not required by Java SDKs by mistake on SLED10
BuildRequires:  update-alternatives
# needed by perl-Archive-Zip; is included in main perl package on newer distros
BuildRequires:  perl-Compress-Zlib
%endif
Provides:       locale(libreoffice:en_US)
%if 0%{?suse_version} > 01120
Requires(post):   coreutils
Requires(post):   grep
Requires(post):   libreoffice >= 3.5
Requires(postun): coreutils
Requires(postun): grep
Requires(postun): libreoffice >= 3.5
%endif
%if 0%{?suse_version} && 0%{?suse_version} <= 01120
PreReq:         coreutils
PreReq:         grep
PreReq:         libreoffice >= 3.5
%endif
Requires:       libreoffice = %{version}
# compat stuff
Provides:       OpenOffice_org-help-en-US = %version
Obsoletes:      OpenOffice_org-help-en-US < %version
Provides:       OpenOffice_org-help-en-US-devel = %version
Obsoletes:      OpenOffice_org-help-en-US-devel < %version
Provides:       libreoffice:%_prefix/ooo-2.0/help/en/default.css
# Arabic help was not realy localized
Provides:       OpenOffice_org-help-ar = %version
Obsoletes:      OpenOffice_org-help-ar < %version
Provides:       libreoffice-help-ar = %version
Obsoletes:      libreoffice-help-ar < %version
# Punjabi help is not really localized
Provides:       OpenOffice_org-help-pa-IN = %version
Obsoletes:      OpenOffice_org-help-pa-IN < %version
Provides:       libreoffice-help-pa-IN = %version
Obsoletes:      libreoffice-help-pa-IN < %version
#
Summary:        American Help Localization for LibreOffice
License:        LGPL-3.0
Group:          Productivity/Office/Suite
Url:            http://www.documentfoundation.org/
Source0:        libreoffice-core-%version.tar.bz2
Source1:        libreoffice-help-%version.tar.bz2
Source2:        libreoffice-translations-%version.tar.bz2
# make-3.82 is needed for parallel build
# this version extends plain make-3.82 with --warn-undefined-functions option
# URL: http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/tree/make-3.82-gbuild, snapshot 2011-08-17
Source30:       make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2
# zip-3.0 or newer is required because of the --filesync feature
Source31:       zip-%zip_version.tar.bz2
# helper stuff to produce pieces of the spec file
Source200:      libreoffice-help-en-US.spec.in
Source201:      lo-help-gen-spec
Source202:      lo-help-en-US
# cups is not needed for helpcontent build
Patch0:         build-helpcontent-do-not-check-cups.diff
#
# Patches against zip-3.0
Patch2000:      zip-3.0-iso8859_2.patch
Patch2001:      zip-3.0-add_options_to_help.patch
Patch2002:      zip-3.0-nonexec-stack.patch
Patch2003:      zip-3.0-optflags.patch
Patch2004:      zip-3.0-tempfile.patch
Patch2005:      zip-notimestamp.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
#!ExclusiveArch:  %ix86 x86_64 ppc
BuildArch:      noarch

%description
American help localization for LibreOffice. The other localized
stuff is in LibreOffice-l10n-en-US.


%prep
%if %prepare_build == 0
%setup -D -T -q -n libreoffice-core-%version
%else
%setup -q -a30 -a31 -n libreoffice-core-%version
%patch0
bin/unpack-sources `pwd` %{S:1}  %{S:2}
# extra fixes
#
# patch zip-3.0
%if %suse_version < 1140
tar -xjf %{S:31}
cd zip30
%patch2000
%patch2001
%patch2002
%patch2003
%patch2004
%patch2005
cd -
%endif
%endif

%build
%if %prepare_build != 0
# first build make-3.82
cd make-*
CFLAGS=$RPM_OPT_FLAGS ./configure
make %{?_smp_mflags}
cd -
#
# second build zip-3.0 on older distributions
%if %suse_version < 1140
cd zip30
make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc
cd -
%endif
#
# Parallel build settings ...
PARALLEL_BUILD=
BUILD_SCRIPT_FLAGS=
ncpus=
#
# Parallel build settings ...
BUILD_SCRIPT_FLAGS=
# dmake does not work with more than 64 jobs
lo_jobs="%{?jobs:%jobs}"
if test -n "$lo_jobs" -a "$lo_jobs" -gt "64" ; then
    echo "Warning: dmake does not support more than 64 processes => reducing number of parallel jobs"
    lo_jobs="64"
fi
# do not eat all memory
lo_jobs_reduced=
if test -n "$lo_jobs" -a "$lo_jobs" -gt 1 ; then
    if test `uname -i` = "x86_64" ; then
        mem_per_process=300
    else
        mem_per_process=200
    fi
    max_mem=`LANG=C free -t -m | sed -n "s|^Total: *\([0-9]*\).*$|\1|p"`
    max_jobs="$(($max_mem / $mem_per_process))"
    test "$lo_jobs" -gt "$max_jobs" && lo_jobs="$max_jobs" && lo_jobs_reduced="yes" && echo "Warning: Reducing number of jobs to $max_jobs because of memory limits"
    test "$lo_jobs" -le 0 && lo_jobs= && echo "Warning: Do not use the parallel build at all becuse of memory limits"
fi
# finally set jobs
PARALLEL_BUILD=
if test -n "$lo_jobs" ; then
  PARALLEL_BUILD="--with-max-jobs=$lo_jobs"
  BUILD_SCRIPT_FLAGS="-- -P$lo_jobs"
fi
# parallel build of modules
# it makes sense on machines with more CPUs
num_cpus=`grep ^processor /proc/cpuinfo | wc -l`
# again reduce to 64 CPUs because of dmake
test "$num_cpus" -gt "64" && num_cpus="64" && echo "Warning: dmake does not support more than 64 processes => reducing number of used cpus"
# allow only 2 modules if there more jobs allowed in one module
test -n "$lo_jobs" -a "$lo_jobs" -gt 1 && num_cpus="2"
PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=$num_cpus"
BUILD_SCRIPT_FLAGS="-P$num_cpus $BUILD_SCRIPT_FLAGS"
# using icecream
if test -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
  PARALLEL_BUILD="$PARALLEL_BUILD --with-gcc-speedup=icecream"
fi
%endif
# make sure that JAVA_HOME is set correctly
%if 0%{?suse_version}
source /etc/profile.d/alljava.sh
%endif
%if 0%{?meego_version}
export JAVA_HOME=%{java_home}
%endif
# use RPM_OPT_FLAGS, ...
export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing"
# FIXME: genccode from the system icu is in /usr/sbin
# FIXME: we need make-3.82 for parallel build
export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin"
# use the extra built zip-3.0 on older distributions
%if %suse_version < 1140
export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
%endif
%if %prepare_build != 0
./autogen.sh $PARALLEL_BUILD \
        --libdir=%{_libdir} \
        --prefix=%{_prefix} \
        --mandir=%{_mandir} \
        --sysconfdir=/etc \
        --docdir=%{_docdir}/%{name} \
        --with-vendor=SUSE \
        --with-lang=%lo_langs \
        --disable-fetch-external \
        --with-external-tar="$RPM_SOURCE_DIR" \
        --with-alloc=system \
        --disable-strip-solver \
        --with-jdk-home=$JAVA_HOME \
        --with-java-target-version=1.5 \
        --with-ant-home=/usr/share/ant \
        --without-fonts \
        --without-myspell-dicts \
        --disable-kde \
        --disable-kde4 \
        --disable-gtk \
        --disable-gconf \
        --disable-gnome-vfs \
        --disable-evolution2 \
        --disable-gstreamer \
        --disable-opengl \
        --disable-python \
        --disable-mono \
        --disable-odk \
        --without-junit \
%if %debug_build == 0
        --disable-ccache \
%endif
        --without-stlport \
        --disable-mozilla \
        --without-system-mozilla \
        --disable-ldap \
        --disable-cups \
        --disable-fontconfig \
        --with-system-dicts \
        --with-system-libxml \
        --with-system-openssl \
        --with-system-icu \
        --with-system-cppunit \
        --with-system-expat \
        --with-system-db \
        --with-system-boost \
        --without-system-jpeg 
%endif
./bootstrap
. ./Env.Host.sh
cd helpcontent2
build --all $BUILD_SCRIPT_FLAGS

%install
. ./Env.Host.sh
test -z %lo_langs && langs="en-US" || langs=%lo_langs
mkdir -p file-lists
for lang in $langs ; do
    test "$lang" = "en-US" && langdir="en" || langdir="$lang"
    mkdir -p $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir
    for pack in helpcontent2/$INPATH/bin/s*$lang.zip ; do
        unzip $pack -d $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir
    done
    lang_underscore=`echo $lang | sed "s/-/_/g"`
    filelist=help_${lang_underscore}_list.txt
    echo "%dir %_datadir/%lo_home"                     >file-lists/$filelist
    echo "%dir %_datadir/%lo_home/help" >>file-lists/$filelist
    find $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir -type d -printf "%%%%dir %_datadir/%lo_home/help/$langdir/%%P\n" >>file-lists/$filelist
    find $RPM_BUILD_ROOT/%_datadir/%lo_home/help/$langdir -type f -printf "%_datadir/%lo_home/help/$langdir/%%P\n"         >>file-lists/$filelist
    # the file list is needed to create compat symlinks
    cp file-lists/$filelist $RPM_BUILD_ROOT/%_datadir/%lo_home
    echo "%_datadir/%lo_home/$filelist" >>file-lists/$filelist
done

%clean
rm -rf $RPM_BUILD_ROOT

@SUBPACKAGES_SCRIPTS@
@SUBPACKAGES_FILELIST@
%changelog
openSUSE Build Service is sponsored by