summaryrefslogblamecommitdiff
path: root/editors/openoffice.org-1.1-devel/Makefile
blob: a66b2cebe8c152c00cefc060301bd8646a46b395 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                   
                                        
                                    



           
                          
                                 
                 
                       
                                      
                                                          
                                                                                             


                                                                                                  
                                                                                               
                                           
                                                                  
                                                 
 

                                      

                                                               
                        
                   
                     

                                                         
                             
                                                        


                           


                   
                   
                   
 
                          


                    

      
                          

                                         


                            


                                



                                                                           
                                              
                                                                           
                                                                           
                                            


                                                                 
                                         
                                                                 

                                                                 
      
 
                                                                               
                           
                             
                                                   
                                     
                                                                               








                                        
                                            

                                                 




                                               

             
      
                                               
                                                   
                                                    
                                       
                                                                     
                     
                                        
      



                                                      

                                                   

                                                   
      
                   
                           
                                              

                                                                     



                                    
                     
 



                          
                                                          
                                                    
                                                          
 


                                      
                                                      
      
 


                                         
 
                                
                                       

                                                         

      


                                      

                                        


      
          
                           

                        
                                                         


                                                            
                                     
                
      








                                                             
                                                                                         
 
                
                                                                               














                                                       
             
                                                                                    

                                                             


                                                            
                                  
                                                                                           
      







                                                                                          





                                                                                                                                      

           

                                                                                                          
 
         


                                                                                                                                                                                
      
                                                     

                                                                                    
      
                     
         
                                                                 


                                                                                                           
                                                                                              


                                                    
                                                                                          
      
 


                                                                                                                          
             
                                                        


                                                 
                                                        
                                                         


                                                               
                                                    
                                                         
                                                      









                                                                                                         




                                                                                                


                                                                                       
                                                                   
                        




                                                                                                                         
     

                                                                                          
      
 
    
                                             
                                                                                                
                                                                                                     
                                                                                                                                                                         
 
       
                                                
                                                                                                                   
 
                           
# New ports collection makefile for: OpenOffice.org
# Date created:		28 February 2002
# Whom:                 Martin Blapp
#
# $FreeBSD$
#

PORTNAME=	openoffice
PORTVERSION=	1.1.4.${SNAPDATE}
PORTREVISION=	1
CATEGORIES+=	editors
MASTER_SITES+=	${MASTER_SITE_LOCAL} \
		ftp://ftp.cs.man.ac.uk/pub/toby/gpc/:gpc \
		http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.0/src/:moz \
		${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/openoffice/contrib/helpcontent/&,}:help \
		ftp://ftp.kddlabs.co.jp/office/openoffice/contrib/helpcontent/:help \
		ftp://sunsite.cnlab-switch.ch/mirror/OpenOffice/contrib/helpcontent/:help \
		http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/:help
MASTER_SITE_SUBDIR=	maho/openoffice.org
DISTFILES+=	OOo_${PORTVERSION}_source.tar.bz2 gpc231.tar.Z:gpc
EXTRACT_ONLY=	OOo_${PORTVERSION}_source.tar.bz2

MAINTAINER=	openoffice@FreeBSD.org

IGNORE=		"openoffice-1.1 is preceding this port a while"

SNAPDATE=	20041101
NO_LATEST_LINK=	yes
USE_GNOME=	gtk20
MOZILLA_PROJECT=	cws_srx645_mozooo.20040203.tar.gz
MOZILLA_SOURCE=		mozilla-source-1.0.tar.gz
.if !defined(WITHOUT_MOZILLA)
DISTFILES+=	${MOZILLA_PROJECT} ${MOZILLA_SOURCE}:moz
USE_GNOME+=	orbit gtk12
.endif

USE_PERL5=	yes
USE_BISON=	yes
USE_GMAKE=	yes
USE_REINPLACE=	yes
USE_BZIP2=	yes

.if !defined(WITHOUT_JAVA)
USE_JAVA=	yes
JAVA_VERSION=	1.4+
JAVA_BUILD=	jdk
.endif

.include <bsd.port.pre.mk>
.include <${FILESDIR}/Makefile.localized>

LANG_EXT?=	01
LANG_CONFIGURE_ARG?=	ENUS

.if defined(L10NHELP)
DISTFILES+=	${L10NHELP}:help
.endif
.if defined(ALL_LOCALIZED_LANGS)
DISTFILES+=	helpcontent_31_unix.tgz:help helpcontent_33_unix.tgz:help \
		helpcontent_34_unix.tgz:help helpcontent_39_unix.tgz:help \
		helpcontent_46_unix.tgz:help helpcontent_49_unix.tgz:help \
		helpcontent_55_unix.tgz:help \
		helpcontent_81_unix.tgz:help helpcontent_82_unix.tgz:help \
		helpcontent_86_unix.tgz:help helpcontent_88_unix.tgz:help \
		helpcontent_90_unix.tgz:help
L10NHELPS=	helpcontent_31_unix.tgz helpcontent_33_unix.tgz \
		helpcontent_34_unix.tgz helpcontent_39_unix.tgz \
		helpcontent_46_unix.tgz helpcontent_49_unix.tgz \
		helpcontent_55_unix.tgz \
		helpcontent_81_unix.tgz helpcontent_82_unix.tgz \
		helpcontent_86_unix.tgz helpcontent_88_unix.tgz \
		helpcontent_90_unix.tgz
.endif

COMMENT?=	Integrated wordprocessor/dbase/spreadheet/drawing/chart/browser
BUILD_NR=		645
RELEASE_NR=		1.1.4
INSTALLATION_BASEDIR=	OpenOffice.org${RELEASE_NR}
DIST_SUBDIR=		openoffice1.1
SIMPLEOSVER!=		${UNAME} -r | ${SED} -e 's/\.//g' | ${SED} -e 's/-.*//'

# FIXME (Somehow INDEX build fails)
.if defined(LANG_PKGNAME)
PKGNAMEPREFIX=          ${LANG_PKGNAME}-
.endif
.if defined(LANG_SUFFIX)
PKGNAMESUFFIX?=         -${LANG_SUFFIX}
.endif

BUILD_DEPENDS+=	gcc32:${PORTSDIR}/lang/gcc32

# FIXME (correctly add ccache before gcc and g++)
.if defined(WITH_CCACHE)
BUILD_DEPENDS+=	ccache:${PORTSDIR}/devel/ccache
CC=	ccache gcc32
CXX=	ccache g++32
.else
CC=	gcc32
CXX=	g++32
.endif
BUILD_DEPENDS+=	zip:${PORTSDIR}/archivers/zip \
		unzip:${PORTSDIR}/archivers/unzip \
		gcp:${PORTSDIR}/sysutils/coreutils \
		xmkmf:${X_IMAKE_PORT} \
		${X11BASE}/lib/libXft.so:${PORTSDIR}/x11-fonts/libXft
.if !defined(DISPLAY)
BUILD_DEPENDS+= Xvfb:${X_VFBSERVER_PORT}
.endif
LIB_DEPENDS=	jpeg.9:${PORTSDIR}/graphics/jpeg \
		png.5:${PORTSDIR}/graphics/png \
		mng.1:${PORTSDIR}/graphics/libmng \
		freetype.9:${PORTSDIR}/print/freetype2
.if defined(WITHOUT_JAVA)
LIB_DEPENDS=	xslt.2:${PORTSDIR}/textproc/libxslt
.else
BUILD_DEPENDS+=	${ANT}:${PORTSDIR}/devel/apache-ant
.endif
GNU_CONFIGURE=	yes
USE_AUTOCONF_VER=	259
WRKDIR=		${WRKDIRPREFIX}${.CURDIR}/work
WRKSRC=		${WRKDIR}/OOo_${RELEASE_NR}_src
CONFIGURE_WRKSRC=	${WRKDIR}/OOo_${RELEASE_NR}_src/config_office
ANT?=		${LOCALBASE}/bin/ant
TCSH?=		/bin/tcsh
ZIP?=		${PREFIX}/bin/zip
UNZIP?=		${PREFIX}/bin/unzip
BUILD=		dmake

.if !defined(DISPLAY)
DISPLAYHACK=localhost:1001
.endif

CONFIGURE_ENV=		PTHREAD_CFLAGS=${PTHREAD_CFLAGS} \
			PTHREAD_LIBS=${PTHREAD_LIBS}
CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp

.if defined(WITHOUT_JAVA)
CONFIGURE_ARGS+=	--disable-java
.else
CONFIGURE_ARGS+=	--with-jdk-home="${JAVA_HOME}"
.endif

.if defined(WITHOUT_MOZILLA)
CONFIGURE_ARGS+=	--disable-mozilla
.endif

.if defined(ALL_LOCALIZED_LANGS)
CONFIGURE_ARGS+=	--with-lang=ALL
.else
CONFIGURE_ARGS+=	--with-lang=${LANG_CONFIGURE_ARG}
.endif

.if defined(WITH_DEBUG)
.if ${WITH_DEBUG} == 2
CONFIGURE_ARGS+=	--enable-debug
.else
CONFIGURE_ARGS+=	--enable-symbols
.endif
.endif

pre-fetch:
	@${ECHO} "OPTIONS:"
.if !defined(WITH_DEBUG)
	@${ECHO}
	@${ECHO} "You can compile OOo with debug symbols"
	@${ECHO} "if you call make with WITH_DEBUG=1"
	@${ECHO}
	@${ECHO} "If you set WITH_DEBUG=2, you add internal"
	@${ECHO} "OOo debug support."
	@${ECHO}
.endif
	@${ECHO}
	@${ECHO} "NOTICE:"
	@${ECHO}
	@${ECHO} "To build Openoffice, you should have a lot"
.if defined(WITH_DEBUG)
	@${ECHO} "of free diskspace (~ 8GB)."
.else
	@${ECHO} "of free diskspace (~ 4GB)."
.endif
	@${ECHO} "If you want SDK and/or solver, please type make sdk and/or make solver"

pre-everything::
# really tweak, extremely useful when you build all localized language versions
# needed after when you build with ALL_LOCALIZED_LANGS.
.if defined(TWEAK_L10N)
	@${RM} -f ${WRKDIR}/.PLIST*
	@${RM} -f ${WRKDIR}/.install_done.*
	@${RM} -f ${WRKDIR}/.package_done.*
	@${RM} -f ${WRKDIR}/.extract_done.*
	@${RM} -f ${WRKDIR}/.patch_done.*
	@${RM} -f ${WRKDIR}/.configure_done.*
	@${RM} -f ${WRKDIR}/.build_done.*
	@${TOUCH} ${EXTRACT_COOKIE}
	@${TOUCH} ${PATCH_COOKIE}
	@${TOUCH} ${CONFIGURE_COOKIE}
	@${TOUCH} ${BUILD_COOKIE}
.endif

post-extract:
	@cd ${WRKDIR} ; ${CAT} ${DISTDIR}/${DIST_SUBDIR}/gpc231.tar.Z | ${TAR} xfz -
	@${CP} ${WRKDIR}/gpc231/gpc.c ${WRKSRC}/external/gpc/
	@${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/external/gpc/
.if defined(L10NHELP)
	@${ECHO_MSG} "===>  Extracting L10NHELP sub project"
	@${MKDIR} ${WRKDIR}/L10NHELP
	@cd ${WRKDIR}/L10NHELP ; \
		${CAT} ${DISTDIR}/${DIST_SUBDIR}/${L10NHELP} | ${GZIP_CMD} -d | ${TAR} xf -
.endif
.if defined(ALL_LOCALIZED_LANGS)
	@${ECHO_MSG} "===>  Extracting All available L10NHELPs"
	@${MKDIR} ${WRKDIR}/L10NHELP
	@cd ${WRKDIR}/L10NHELP ; \
	for file in ${L10NHELPS}; do \
		${CAT} ${DISTDIR}/${DIST_SUBDIR}/$$file | ${GZIP_CMD} -d | ${TAR} xf - ; \
	done
.endif
.if !defined(WITHOUT_MOZILLA)
	@cd ${WRKSRC} ; ${MV} moz moz.old ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_PROJECT} ; ${PATCH} < ${FILESDIR}/moz-patch
	@${MKDIR} ${WRKSRC}/moz/download
	@${CP} ${DISTDIR}/${DIST_SUBDIR}/${MOZILLA_SOURCE} ${WRKSRC}/moz/download
	@cd ${WRKSRC} ; ${MV} moz moz.runtime ; ${MV} moz.old moz
.endif

post-patch:
	@${REINPLACE_CMD} -e 's+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g;' ${WRKSRC}/odk/settings/settings.mk
	@${REINPLACE_CMD} -e 's+%%PTHREAD_CFLAGS%%+${PTHREAD_CFLAGS}+g' ${WRKSRC}/odk/settings/settings.mk

do-build:
	@cd ${WRKSRC} ; ./bootstrap
.if !defined(WITHOUT_MOZILLA)
	@cd ${WRKSRC}/moz.runtime ; ${SETENV} "BUILD_MOZAB=TRUE" ${TCSH} -c 'source ../FreeBSDEnv.Set ; build.pl ; dmake zip' ; cp unxfbsd.pro/zipped/FREEBSD*.zip ../moz/zipped
.endif
.if defined(L10NHELP) || defined(ALL_LOCALIZED_LANGS)
	@${MKDIR} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
	@${CP} ${WRKDIR}/L10NHELP/*.zip ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/pck
.endif
.if !defined(DISPLAY)
	#
	# This is a UGLY hack to not have to specify a X-Display.
	#
	${X11BASE}/bin/Xvfb :1001 -screen 0 800x600x24 > /dev/null 2>&1 & ${ECHO} $$! > ${WRKDIR}/.Xvfb.pid
	@sleep 5
	@cd ${WRKSRC} ; DISPLAY=${DISPLAYHACK} ; ${TCSH} -c 'source FreeBSDEnv.Set ; ${BUILD}'
	@-${CAT} ${WRKDIR}/.Xvfb.pid | ${XARGS} kill
	@${RM} -f ${WRKDIR}/.Xvfb.pid
.else
	@cd ${WRKSRC} ; DISPLAY=${DISPLAY} ; ${TCSH} -c 'source FreeBSDEnv.Set ; ${BUILD}'
.endif

do-install:
	@cd ${WRKSRC}/instsetoo/*.pro/${LANG_EXT}/normal/ ; TEMP=${WRKDIR} DISPLAY=${DISPLAY} ./install --prefix=${PREFIX}

install-user:
	@${PREFIX}/${INSTALLATION_BASEDIR}/program/setup

post-install:
	@${ECHO_MSG} "===>  Add wrapper scripts";
	@${CP} ${FILESDIR}/openoffice-wrapper ${WRKDIR}/
	@${REINPLACE_CMD} -e 's#%%PREFIX%%#${PREFIX}#g' \
			-e 's#%%LANG%%#${USE_LANG}#g' \
			-e 's#%%BUILD_NR%%#${BUILD_NR}#g' \
			-e 's#%%RELEASE_NR%%#${RELEASE_NR}#g' \
			${WRKDIR}/openoffice-wrapper
	@${INSTALL_SCRIPT} ${WRKDIR}/openoffice-wrapper \
		${PREFIX}/bin/openoffice-${RELEASE_NR}
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sagenda
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-scalc
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sdraw
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-setup
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sfax
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-smath
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-simpress
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-spadmin
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-sweb
	@${LN} -fs ${PREFIX}/bin/openoffice-${RELEASE_NR} ${PREFIX}/bin/openoffice-${RELEASE_NR}-swriter
	@cd ${PREFIX} ; ${FIND} -s bin -type f | ${GREP} openoffice-${RELEASE_NR} > ${TMPPLIST}
	@cd ${PREFIX} ; ${FIND} -s bin -type l | ${GREP} openoffice-${RELEASE_NR} >> ${TMPPLIST}
	@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type f >> ${TMPPLIST}
	@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type l >> ${TMPPLIST}
	@cd ${PREFIX} ; ${FIND} -s ${INSTALLATION_BASEDIR} -type d > ${WRKDIR}/dir.tmp
	@${SORT} -r ${WRKDIR}/dir.tmp | ${XARGS} -n 1 ${ECHO_CMD} @dirrm >> ${TMPPLIST}

package-rename:
	@${ECHO_MSG} "===>   Rename package for OOo mirror upload";
.if defined(LANG_SUFFIX)
	@${MV} ${PKGFILE} \
	    ${WRKDIR}/../OOo_${PORTVERSION}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}-${LANG_SUFFIX}${PKG_SUFX}
.elif defined(LANG_PKGNAME)
	@${MV} ${PKGFILE} \
	    ${WRKDIR}/../OOo_${PORTVERSION}_${OPSYS}${SIMPLEOSVER}Intel_install_${LANG_PKGNAME}${PKG_SUFX}
.else
	@${MV} ${PKGFILE} \
	    ${WRKDIR}/../OOo_${PORTVERSION}_${OPSYS}${SIMPLEOSVER}Intel_install${PKG_SUFX}
.endif

sdk:
	@${ECHO_MSG} "===>   Make SDK of OOo"
	@cd ${WRKSRC} ; DISPLAY=${DISPLAY} PATH="${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin" ; \
		${TCSH} -c 'source FreeBSDEnv.Set ; unsetenv TOP ; cd sdk_oo ; build.pl ; deliver.pl'
	@${MV} ${WRKSRC}/solver/${BUILD_NR}/unxfbsd.pro/bin/OpenOffice.org${RELEASE_NR}_SDK.tar.gz ${WRKDIR}/../OOo_${PORTVERSION}_${OPSYS}${SIMPLEOSVER}Intel_sdk.tar.gz

solver:
	@${ECHO_MSG} "===>   Make Solver of OOo"
	@cd ${WRKSRC} ; ${TAR} cfz ${WRKDIR}/../OOo_${PORTVERSION}_${OPSYS}${SIMPLEOSVER}Intel_solver.tar.gz solver

.include <bsd.port.post.mk>