Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag

COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
COMPONENT_TARGETS += $(HARDWARE_CB1X)
COMPONENT_TARGETS += $(HARDWARE_CB2X)
COMPONENT_TARGETS += $(HARDWARE_CB3X)
COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
COMPONENT_TARGETS += $(HARDWARE_POIN2)
COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
COMPONENT_TARGETS += $(HARDWARE_M201)
COMPONENT_TARGETS += $(HARDWARE_MXV)
COMPONENT_TARGETS += $(HARDWARE_P201)
COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
COMPONENT_TARGETS += $(HARDWARE_P212)
COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
COMPONENT_TARGETS += $(HARDWARE_Q201)
COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
COMPONENT_TARGETS += $(HARDWARE_CI20)
COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
COMPONENT_TARGETS += $(HARDWARE_S824L)
COMPONENT_TARGETS += $(HARDWARE_VESNIN)
COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)


NEED_ABS_PATH      = true
COMPONENT_IS_3PP   = true


include ../../../../build-system/constants.mk


SOURCE_REQUIRES    = sources/packages/x/libreoffice

REQUIRES           = X11/libs/gtk+3/3.24.37
REQUIRES          += X11/libs/qt5/5.15.8
REQUIRES          += X11/libs/cairo/1.17.8
REQUIRES          += X11/libs/pango/1.50.12
REQUIRES          += X11/libs/poppler/23.02.0
REQUIRES          += X11/libs/libepoxy/1.5.10
REQUIRES          += X11/libs/harfbuzz/3.3.1
REQUIRES          += X11/libs/gst-plugins-base/1.22.0
REQUIRES          += X11/app/cups-filters/1.28.16
REQUIRES          += X11/X.org/lib/libXinerama/1.1.5
REQUIRES          += X11/X.org/lib/libXrandr/1.5.3
REQUIRES          += X11/X.org/lib/libSM/1.2.4
REQUIRES          += app/fontconfig/2.13.95
REQUIRES          += app/sqlite/3.39.4.0
REQUIRES          += app/postgresql/14.1
REQUIRES          += app/mariadb/10.6.5
REQUIRES          += dev/python3/3.10.8
REQUIRES          += libs/expat/2.5.0
REQUIRES          += libs/hunspell/1.7.2
REQUIRES          += libs/hyphen/2.8.8
REQUIRES          += libs/icu4c/73.1
REQUIRES          += libs/boost/1.77.0
REQUIRES          += libs/lcms2/2.14
REQUIRES          += libs/libxslt/1.1.34
REQUIRES          += libs/dbus-glib/0.112
REQUIRES          += net/curl/7.75.0
REQUIRES          += net/gpgme/1.16.0
REQUIRES          += net/nss/3.97

# ======= __END_OF_REQUIRES__ =======


version            = 24.2.0.3
tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/x/libreoffice/libreoffice-$(version).tar.xz
SRC_ARCHIVE        = $(tar_xz_archive)
SRC_DIR            = $(TARGET_BUILD_DIR)/libreoffice-$(version)
src_dir_name       = libreoffice-$(version)
doc_dir_name       = libreoffice-$(version)
src_done           = $(TARGET_BUILD_DIR)/.source_done

tarballs = $(foreach add, dictionaries help translations, $(addsuffix .tar.xz, $(addprefix libreoffice-$(add)-, $(version))))


PATCHES = PATCHES

build_target       = $(TARGET_BUILD_DIR)/.build_done
configure_target   = $(TARGET_BUILD_DIR)/.configure_done
external_tarballs  = $(TARGET_BUILD_DIR)/.external_tarballs_done
install_target     = $(TARGET_BUILD_DIR)/.install_done


####### Targets

PKG_GROUP = xapp

#
# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
#
OFFICE_PKG_NAME                = libreoffice
OFFICE_PKG_VERSION             = 24.2.0.3
OFFICE_PKG_ARCH                = $(PKGARCH)
OFFICE_PKG_DISTRO_NAME         = $(DISTRO_NAME)
OFFICE_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
OFFICE_PKG_GROUP               = $(PKG_GROUP)
###                             |---handy-ruler-------------------------------|
OFFICE_PKG_SHORT_DESCRIPTION   = free office suite
OFFICE_PKG_URL                 = $(BUG_URL)
OFFICE_PKG_LICENSE             = custom
OFFICE_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(OFFICE_PKG_NAME)-pkg-description
OFFICE_PKG_DESCRIPTION_FILE_IN = $(OFFICE_PKG_NAME)-pkg-description.in
OFFICE_PKG_INSTALL_SCRIPT      = $(OFFICE_PKG_NAME)-pkg-install.sh

OFFICE_PKG       = $(CURDIR)/$(TARGET_BUILD_DIR)/$(OFFICE_PKG_NAME)-package

pkg_basename     = $(OFFICE_PKG_NAME)-$(OFFICE_PKG_VERSION)-$(OFFICE_PKG_ARCH)-$(OFFICE_PKG_DISTRO_NAME)-$(OFFICE_PKG_DISTRO_VERSION)

pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
pkg_signature    = $(call sign-name,$(pkg_archive))
pkg_description  = $(call desc-name,$(pkg_archive))
products         = $(call pkg-files,$(pkg_archive))

BUILD_TARGETS    = $(build_target)
BUILD_TARGETS   += $(configure_target)
BUILD_TARGETS   += $(external_tarballs)
BUILD_TARGETS   += $(install_target)

PRODUCT_TARGETS  = $(products)

ROOTFS_TARGETS   = $(pkg_archive)


include ../../../../build-system/core.mk


env_sysroot = DESTDIR=$(OFFICE_PKG)


extra_configure_switches  = --libdir=/usr/lib$(LIBSUFFIX)
extra_configure_switches += --mandir=/usr/share/man
extra_configure_switches += --docdir=/usr/share/doc/$(doc_dir_name)

extra_configure_switches += --sysconfdir=/etc
extra_configure_switches += --localstatedir=/var

extra_configure_switches += --with-extra-buildid='Build for $(DISTRO_SPEC) $(DISTRO_VERSION)'
extra_configure_switches += --with-vendor='RcL Team (Andrey V.Kosteltsev)'

extra_configure_switches += --without-java
extra_configure_switches += --without-junit

extra_configure_switches += --enable-dbus
extra_configure_switches += --enable-epm
extra_configure_switches += --enable-ext-nlpsolver
extra_configure_switches += --enable-ext-wiki-publisher
extra_configure_switches += --enable-odk

extra_configure_switches += --enable-gtk3
extra_configure_switches += --enable-qt5

extra_configure_switches += --enable-release-build
extra_configure_switches += --enable-scripting-beanshell
extra_configure_switches += --enable-scripting-javascript
extra_configure_switches += --disable-symbols
extra_configure_switches += --with-external-dict-dir=/usr/share/hunspell
extra_configure_switches += --with-external-hyph-dir=/usr/share/hyphen
extra_configure_switches += --with-external-thes-dir=/usr/share/mythes
extra_configure_switches += --with-fonts
extra_configure_switches += --with-help=html
extra_configure_switches += --with-system-expat
extra_configure_switches += --with-system-cairo
extra_configure_switches += --with-system-curl
extra_configure_switches += --with-system-dicts
extra_configure_switches += --with-system-expat
extra_configure_switches += --with-system-nss
extra_configure_switches += --with-system-icu
extra_configure_switches += --with-system-libxml
extra_configure_switches += --with-system-zlib
extra_configure_switches += --with-system-bzip2
extra_configure_switches += --with-system-jpeg
extra_configure_switches += --without-system-jars
extra_configure_switches += --with-system-openjpeg
extra_configure_switches += --with-system-lcms2
extra_configure_switches += --with-system-gpgmepp
extra_configure_switches += --without-system-libcmis
extra_configure_switches += --without-system-libvisio
extra_configure_switches += --with-system-openssl
extra_configure_switches += --with-tls='nss'
extra_configure_switches += --with-system-poppler
extra_configure_switches += --with-system-epoxy
extra_configure_switches += --with-system-libpng
extra_configure_switches += --with-system-libtiff
extra_configure_switches += --with-system-libwebp
extra_configure_switches += --with-system-bluez
extra_configure_switches += --with-x
extra_configure_switches += --without-gssapi
extra_configure_switches += --without-krb5
extra_configure_switches += --without-myspell-dicts
extra_configure_switches += --disable-dconf

extra_configure_switches += --enable-pch=no
extra_configure_switches += --disable-debug

# Skia requires clang:
extra_configure_switches += --disable-skia

extra_configure_switches += --with-lang='de en-GB en-US es fr it pt ru'
extra_configure_switches += --with-locales='de en-GB en-US es fr it pt ru'

dictionaries-list = de en es fr it pt-BR pt-PT ru

JOBS := $(shell echo 'if( $(NUMPROCS) > 4) { $(NUMPROCS) / 4 } else { if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 } }' | bc)

extra_configure_switches += --with-parallelism=$(JOBS)


PYTHON_VERSION=3.10

extra_configure_switches += PYTHON_PLATFORM=Linux
extra_configure_switches += PYTHON_VERSION=$(PYTHON_VERSION)

extra_configure_switches += PYTHON_LIBS="-lpython$(PYTHON_VERSION)"
extra_configure_switches += PYTHON_CFLAGS="-I$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)"

extra_configure_switches += PYTHON_FOR_BUILD=$(PYTHON3)


build-configure-switches  = --prefix=/usr
build-configure-switches += --libdir=/usr/lib$(BUILD_MULTILIB_SUFFIX)
build-configure-switches += --without-java
build-configure-switches += --without-junit
build-configure-switches += --with-system-icu
build-configure-switches += --with-system-curl

build-configure-switches += PYTHON_PLATFORM=Linux
build-configure-switches += PYTHON_VERSION=$(PYTHON_VERSION)
build-configure-switches += PYTHON_LIBS=-lpython$(PYTHON_VERSION)
build-configure-switches += PYTHON_CFLAGS=-I$(BUILDSYSTEM)/usr/include/python$(PYTHON_VERSION)

build-configure-switches += CC=/usr/bin/gcc
build-configure-switches += CXX=/usr/bin/g++
build-configure-switches += CFLAGS=-I/usr/include
build-configure-switches += CXXFLAGS=-I/usr/include
build-configure-switches += LDFLAGS=-L/usr/lib$(BUILD_MULTILIB_SUFFIX)
build-configure-switches += PKG_CONFIG_PATH=/usr/lib$(BUILD_MULTILIB_SUFFIX)/pkgconfig:/usr/share/pkgconfig

extra_configure_switches += --with-build-platform-configure-options='$(build-configure-switches)'

CFLAGS += -Wno-deprecated-declarations -Wno-incompatible-pointer-types
CFLAGS += -Wno-discarded-qualifiers

ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
LDFLAGS += -Wl,--allow-multiple-definition
endif

TARGET_LIB_RPATH = /usr/lib:\$$ORIGIN


####### Dependencies

$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
	$(UNPACK_SRC_ARCHIVE)
	# ======= Extract additional tarballs: =======
	@for tarball in $(tarballs) ; do \
	   tar xJf $(SRC_PACKAGE_PATH)/packages/x/libreoffice/$${tarball} -C $(TARGET_BUILD_DIR) ; \
	 done
	$(APPLY_PATCHES)
	@touch $@

$(configure_target): $(src_done)
	@cd $(SRC_DIR) && \
	  $(BUILD_ENVIRONMENT) ZIC=/usr/sbin/zic ./autogen.sh \
	  --prefix=/usr               \
	  --build=$(BUILD)            \
	  --host=$(TARGET)            \
	  $(extra_configure_switches)
	@touch $@

.NOTPARALLEL: $(external_tarballs)

$(external_tarballs): $(configure_target)
	@cd $(SRC_DIR) && env -i ZIC=/usr/sbin/zic verbose=t make download
	# ======= Patch CoinMP (cross MIPS failure): =======
	@( cd $(SRC_DIR)/external/tarballs ; \
	   tar -xzf CoinMP-1.8.4.tgz       ; \
	   rm -f CoinMP-1.8.4.tgz          ; \
	   sed -i 's,mips,mip,g' CoinMP-1.8.4/Cbc/src/CbcModel.hpp ; \
	   tar czf CoinMP-1.8.4.tgz CoinMP-1.8.4 ; \
	   rm -rf CoinMP-1.8.4             ; \
	 )
	@touch $@

$(build_target): $(external_tarballs)
	@cd $(SRC_DIR) && env -i ZIC=/usr/sbin/zic verbose=t make
	@cd $(SRC_DIR) && env -i ZIC=/usr/sbin/zic verbose=t make -C dictionaries
	@touch $@

$(install_target): $(build_target)
	@mkdir -p $(OFFICE_PKG)
	# ======= Install LibreOffice =======
	@cd $(SRC_DIR) && env -i make $(env_sysroot) distro-pack-install
	@( cd $(OFFICE_PKG) ; \
	   rm -f gid_Module* ; \
	 )
	@mkdir -p $(OFFICE_PKG)/usr/share/appdata
	@install -m644 $(SRC_DIR)/sysui/desktop/appstream-appdata/*.xml $(OFFICE_PKG)/usr/share/appdata/
	# ======= Improve symbolic links: =======
	@( cd $(OFFICE_PKG)/usr/bin ; \
	   rm -f libreoffice soffice ; \
	   ln -sf ../lib$(LIBSUFFIX)/libreoffice/program/soffice libreoffice ; \
	   ln -sf ../lib$(LIBSUFFIX)/libreoffice/program/soffice soffice ; \
	 )
	@mkdir -p $(OFFICE_PKG)/usr/share/libreoffice/sdk/classes
	@( cd $(OFFICE_PKG)/usr/lib$(LIBSUFFIX)/libreoffice/sdk ; \
	   if [ -L classes ] ; then \
	     rm -f classes ; \
	     ln -sf ../../../share/libreoffice/sdk/classes classes ; \
	   fi ; \
	   if [ -L docs ] ; then \
	     rm -f docs ; \
	     ln -sf ../../../share/doc/libreoffice-$(version)/sdk/docs docs ; \
	   fi ; \
	   if [ -L idl ] ; then \
	     rm -f idl ; \
	     ln -sf ../../../share/idl/libreoffice idl ; \
	   fi ; \
	   if [ -L include ] ; then \
	     rm -f include ; \
	     ln -sf ../../../include/libreoffice include ; \
	   fi ; \
	   if [ -L index.html ] ; then \
	     rm -f index.html ; \
	     ln -sf ../../../share/doc/libreoffice-$(version)/sdk/index.html index.html ; \
	   fi ; \
	 )
	@( cd $(OFFICE_PKG)/usr/share/applications ; \
	   for app in base calc draw impress math startcenter writer xsltfilter ; do \
	     rm -f libreoffice-$${app}.desktop ; \
	     ln -sf ../../lib$(LIBSUFFIX)/libreoffice/share/xdg/$${app}.desktop libreoffice-$${app}.desktop ; \
	   done ; \
	 )
	@( cd $(OFFICE_PKG)/usr/share/doc/libreoffice-$(version)/sdk ; \
	   rm -f examples ; \
	   ln -sf ../../../../lib$(LIBSUFFIX)/libreoffice/sdk/examples examples ; \
	 )
	# ======= Install Dictionaries =======
	@( cd $(SRC_DIR)/instdir/share/extensions ; \
	   for lang in $(dictionaries-list) ; do \
	     cp -a dict-$${lang} $(OFFICE_PKG)/usr/lib$(LIBSUFFIX)/libreoffice/share/extensions/ ; \
	   done ; \
	 )
	# ======= Create aliases for autocorrect locales: =======
	@( cd $(OFFICE_PKG)/usr/lib$(LIBSUFFIX)/libreoffice/share/autocorr ; \
	   en_GB_aliases="en-AG en-AU en-BS en-BW en-BZ en-CA en-DK en-GH en-HK en-IE en-IN en-JM en-NG en-NZ en-SG en-TT" ; \
	   for lang in $${en_GB_aliases} ; do \
	     ln -sf acor_en-GB.dat acor_$${lang}.dat ; \
	   done ; \
	   en_US_aliases="en-PH" ; \
	   for lang in $${en_US_aliases} ; do \
	     ln -sf acor_en-US.dat acor_$${lang}.dat ; \
	   done ; \
	   en_ZA_aliases="en-NA en-ZW" ; \
	   for lang in $${en_ZA_aliases} ; do \
	     ln -sf acor_en-ZA.dat acor_$${lang}.dat ; \
	   done ; \
	   af_ZA_aliases="af-NA" ; \
	   for lang in $${af_ZA_aliases} ; do \
	     ln -sf acor_af-ZA.dat acor_$${lang}.dat ; \
	   done ; \
	   nl_NL_aliases="nl-AW" ; \
	   for lang in $${nl_NL_aliases} ; do \
	     ln -sf acor_nl-NL.dat acor_$lang.dat ; \
	   done ; \
	   sv_SE_aliases="sv-FI" ; \
	   for lang in $${sv_SE_aliases} ; do \
	     ln -sf acor_sv-SE.dat acor_$${lang}.dat ; \
	   done ; \
	 )
	# ======= Install a menu icon for older desktops like XFCE: =======
	@mkdir -p $(OFFICE_PKG)/usr/share/pixmaps
	@for file in base calc draw impress math startcenter writer ; do \
	   ln -s ../icons/hicolor/128x128/apps/libreoffice-$${file}.png $(OFFICE_PKG)/usr/share/pixmaps/ ; \
	 done ; \
	# ====== Add the profile scripts: ====== 
	@mkdir -p $(OFFICE_PKG)/etc/profile.d
	@cat $(CURDIR)/scripts/libreoffice.csh > $(OFFICE_PKG)/etc/profile.d/libreoffice.csh.new
	@cat $(CURDIR)/scripts/libreoffice.sh  > $(OFFICE_PKG)/etc/profile.d/libreoffice.sh.new
	@chmod 755 $(OFFICE_PKG)/etc/profile.d/*
	# ======= Install Documentation =======
	@mkdir -p $(OFFICE_PKG)/usr/doc/$(doc_dir_name)
	@cp -a $(SRC_DIR)/COPYING* \
	       $(OFFICE_PKG)/usr/doc/$(doc_dir_name)
	@mkdir -p $(OFFICE_PKG)/usr/share/doc/$(doc_dir_name)
	@( cd $(SRC_DIR) ; \
	   cp -a COPYING* README* \
	         $(OFFICE_PKG)/usr/share/doc/$(doc_dir_name) ; \
	 )
	@( cd $(SRC_DIR) ; \
	   if [ -r ChangeLog -a -s ChangeLog ]; then \
	     DOCSDIR=`echo $(OFFICE_PKG)/usr/share/doc/$(doc_dir_name)` ; \
	     cat ChangeLog | head -n 1000 > $${DOCSDIR}/ChangeLog ; \
	     touch -r ChangeLog $${DOCSDIR}/ChangeLog ; \
	   fi ; \
	   for file in dictionaties helpcontent2 translations ; do \
	     if [ -r ChangeLog-$${file} -a -s ChangeLog-$${file} ]; then \
	       DOCSDIR=`echo $(OFFICE_PKG)/usr/share/doc/$(doc_dir_name)` ; \
	       cat ChangeLog-$${file} | head -n 1000 > $${DOCSDIR}/ChangeLog-$${file} ; \
	       touch -r ChangeLog-$${file} $${DOCSDIR}/ChangeLog-$${file} ; \
	     fi ; \
	   done ; \
	 )
	# ======= Install the same to $(TARGET_DEST_DIR) =======
	$(call install-into-devenv, $(OFFICE_PKG))
	# ======= Strip binaries =======
	@( cd $(OFFICE_PKG); \
	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
	 )
ifneq ($(PATCHELF),)
	# ======= Set RPATH/RUNPATH for target shared objects =======
	@( cd $(OFFICE_PKG)/usr/lib$(LIBSUFFIX)/libreoffice/program ; \
	   for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
	     rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
	     if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
	       $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
	     fi ; \
	   done ; \
	 )
endif
	@touch $@

$(OFFICE_PKG_DESCRIPTION_FILE): $(OFFICE_PKG_DESCRIPTION_FILE_IN)
	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@

$(pkg_certificate) : $(pkg_archive) ;
$(pkg_signature)   : $(pkg_archive) ;
$(pkg_description) : $(pkg_archive) ;

$(pkg_archive): $(install_target) $(OFFICE_PKG_DESCRIPTION_FILE) $(OFFICE_PKG_INSTALL_SCRIPT)
	@cp $(OFFICE_PKG_DESCRIPTION_FILE) $(OFFICE_PKG)/.DESCRIPTION
	@cp $(OFFICE_PKG_INSTALL_SCRIPT) $(OFFICE_PKG)/.INSTALL
	@$(BUILD_PKG_REQUIRES) $(OFFICE_PKG)/.REQUIRES
	@echo "pkgname=$(OFFICE_PKG_NAME)"                            >  $(OFFICE_PKG)/.PKGINFO ; \
	 echo "pkgver=$(OFFICE_PKG_VERSION)"                          >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "arch=$(OFFICE_PKG_ARCH)"                               >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "distroname=$(OFFICE_PKG_DISTRO_NAME)"                  >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "distrover=$(OFFICE_PKG_DISTRO_VERSION)"                >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "group=$(OFFICE_PKG_GROUP)"                             >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "short_description=\"$(OFFICE_PKG_SHORT_DESCRIPTION)\"" >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "url=$(OFFICE_PKG_URL)"                                 >> $(OFFICE_PKG)/.PKGINFO ; \
	 echo "license=$(OFFICE_PKG_LICENSE)"                         >> $(OFFICE_PKG)/.PKGINFO
	@$(PSEUDO) sh -c "cd $(OFFICE_PKG) && \
	                  chown -R root:root . && \
	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."