libreoffice/libreoffice-help-group4.spec

470 lines
16 KiB
RPMSpec

#
# spec file for package libreoffice-help-group4
#
# 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-group4
###################################################################
## DO NOT EDIT THIS SPEC FILE
## Generated by:
## perl lo-help-gen-spec libreoffice-help-groupX.spec.in lo-help-groupX
###################################################################
Version: 3.5.4.7
Release: 0
%define gnu_make_version 3.82
%define gnu_make_snapshot 20120301
%define zip_version 3.0
%define lo_home libreoffice
# test_build_langs: 1 = de and cs
# 2 = all supported languages
%define test_build_langs 2
# 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
#
%if %test_build_langs == 0
%define lo_langs ""
%else
%if %test_build_langs == 1
%define lo_langs ""
%else
%define lo_langs "ko nl pl pt"
%endif
%endif
#!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: python-devel
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
%endif
# compat stuff
Provides: OpenOffice_org-help-group4 = %version
Obsoletes: OpenOffice_org-help-group4 <= %version
Summary: LibreOffice Help Development
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-groupX.spec.in
Source201: lo-help-gen-spec
Source202: lo-help-groupX
# 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
This package provides files related to the LibreOffice help
development.
%if %test_build_langs >= 2
%package -n libreoffice-help-ko
Summary: Korean Help Localization for LibreOffice
Group: Productivity/Office/Suite
Provides: locale(libreoffice:ko)
%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-ko = %version
Obsoletes: OpenOffice_org-help-ko <= %version
Provides: OpenOffice_org-ko:%_prefix/ooo-2.0/help/ko/default.css
%description -n libreoffice-help-ko
Korean help localization for LibreOffice. The other localized stuff
is in libreoffice-l10n-ko.
%package -n libreoffice-help-nl
Summary: Dutch Help Localization for LibreOffice
Group: Productivity/Office/Suite
Provides: locale(libreoffice:nl)
%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-nl = %version
Obsoletes: OpenOffice_org-help-nl <= %version
Provides: OpenOffice_org-nl:%_prefix/ooo-2.0/help/nl/default.css
%description -n libreoffice-help-nl
Dutch help localization for LibreOffice. The other localized stuff
is in libreoffice-l10n-nl.
%package -n libreoffice-help-pl
Summary: Polish Help Localization for LibreOffice
Group: Productivity/Office/Suite
Provides: locale(libreoffice:pl)
%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-pl = %version
Obsoletes: OpenOffice_org-help-pl <= %version
Provides: OpenOffice_org-pl:%_prefix/ooo-2.0/help/pl/default.css
%description -n libreoffice-help-pl
Polish help localization for LibreOffice. The other localized stuff
is in libreoffice-l10n-pl.
%package -n libreoffice-help-pt
Summary: Portuguese Help Localization for LibreOffice
Group: Productivity/Office/Suite
Provides: locale(libreoffice:pt)
%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-pt = %version
Obsoletes: OpenOffice_org-help-pt <= %version
Provides: OpenOffice_org-pt:%_prefix/ooo-2.0/help/pt/default.css
%description -n libreoffice-help-pt
Portuguese help localization for LibreOffice. The other localized stuff
is in libreoffice-l10n-pt.
%endif
%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}
#
# 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 ...
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="Novell, Inc." \
--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-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
%if %test_build_langs >= 2
# ko
%posttrans -n libreoffice-help-ko
%_datadir/%lo_home/link-to-ooo-home %_datadir/%lo_home/help_ko_list.txt || true
%preun -n libreoffice-help-ko
test "$1" = "0" && cp %_datadir/%lo_home/help_ko_list.txt %_datadir/%lo_home/help_ko_list.txt.postun || true
%postun -n libreoffice-help-ko
test "$1" = "0" && %_datadir/%lo_home/link-to-ooo-home --unlink %_datadir/%lo_home/help_ko_list.txt.postun || true
rm -f %_datadir/%lo_home/help_ko_list.txt.postun 2>/dev/null
# nl
%posttrans -n libreoffice-help-nl
%_datadir/%lo_home/link-to-ooo-home %_datadir/%lo_home/help_nl_list.txt || true
%preun -n libreoffice-help-nl
test "$1" = "0" && cp %_datadir/%lo_home/help_nl_list.txt %_datadir/%lo_home/help_nl_list.txt.postun || true
%postun -n libreoffice-help-nl
test "$1" = "0" && %_datadir/%lo_home/link-to-ooo-home --unlink %_datadir/%lo_home/help_nl_list.txt.postun || true
rm -f %_datadir/%lo_home/help_nl_list.txt.postun 2>/dev/null
# pl
%posttrans -n libreoffice-help-pl
%_datadir/%lo_home/link-to-ooo-home %_datadir/%lo_home/help_pl_list.txt || true
%preun -n libreoffice-help-pl
test "$1" = "0" && cp %_datadir/%lo_home/help_pl_list.txt %_datadir/%lo_home/help_pl_list.txt.postun || true
%postun -n libreoffice-help-pl
test "$1" = "0" && %_datadir/%lo_home/link-to-ooo-home --unlink %_datadir/%lo_home/help_pl_list.txt.postun || true
rm -f %_datadir/%lo_home/help_pl_list.txt.postun 2>/dev/null
# pt
%posttrans -n libreoffice-help-pt
%_datadir/%lo_home/link-to-ooo-home %_datadir/%lo_home/help_pt_list.txt || true
%preun -n libreoffice-help-pt
test "$1" = "0" && cp %_datadir/%lo_home/help_pt_list.txt %_datadir/%lo_home/help_pt_list.txt.postun || true
%postun -n libreoffice-help-pt
test "$1" = "0" && %_datadir/%lo_home/link-to-ooo-home --unlink %_datadir/%lo_home/help_pt_list.txt.postun || true
rm -f %_datadir/%lo_home/help_pt_list.txt.postun 2>/dev/null
%endif
%if %test_build_langs >= 2
%files -f file-lists/help_ko_list.txt -n libreoffice-help-ko
%defattr(-,root,root)
%files -f file-lists/help_nl_list.txt -n libreoffice-help-nl
%defattr(-,root,root)
%files -f file-lists/help_pl_list.txt -n libreoffice-help-pl
%defattr(-,root,root)
%files -f file-lists/help_pt_list.txt -n libreoffice-help-pt
%defattr(-,root,root)
%endif
%changelog