aboutsummaryrefslogblamecommitdiff
path: root/Mk/bsd.kde4.mk
blob: 9210318b750a0bf5970a9f35770ced13a22d1a93 (plain) (tree)
1
2
3
4
5
6
7
8
9
                      



           

                                                          
 
                                                                            
                                                                            
                                       
                                   

 


                                                                                


                                             
                                                 
                                                           


                        




                                                                            

                                




































                                                                                       

                     





                                                                                                                           

 
                                     
                                      
                                     
                                      
                                     
                                      
 
 
                                                                       
 

                                 

 
                                    
 












                                                                           


                                                 
                                                             
                                                         




































                                                                               
 
 


                                                                              
 
 







                                                                                                
 


                                                                
 


                                        
 

                                                                         
 


                                     
 

                                                          
 


                                                                     
 

                                                          
 

                                                                  
 

                                                          
 

                                                       
 

                                                       
 

                                                        
 

                                                                
 

                                                             
 


                                                                     
 


                                                                     
 

                                                      
 

                                                            
 


                                                                       
 


                                                           
 

                                                                
 

                                                   
 

                                                  
 

                                                            
 

                                                               
 

                                                              
 

                                                             
 

















                                                                           
 

















                                                                             
          



                                                                                
         










                                                                                             
       
 
                                                               
#-*- tab-width: 4; -*-
# ex:ts=4
#
# $FreeBSD$
#

.if !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)

# Please make sure all changes to this file are past through the maintainer.
# Do not commit them yourself (unless of course you're the Port's Wraith ;).
Kde_Include_MAINTAINER=	kde@FreeBSD.org
Kde_Pre_Include=	bsd.kde4.mk

#
# This file contains some variable definitions that are supposed to make your
# life easier when dealing with ports related to the KDE Software Compilation 4.
# It's automatically included when ${USE_KDE4} is defined in a port's Makefile.
#
# KDE4 related ports can use this as follows:
#
# USE_KDE4=		kdehier kdelibs kdeprefix
# USE_QT4=		corelib # Set Qt 4 components here.
#
# .include <bsd.port.mk>
#
# Additionally, '_build' and '_run' suffixes can be used to force components
# dependency type (e.g., 'marble_run'). If no suffix is set, a default
# dependency type will be used. If you want to force both types, add the
# component twice with both suffixes (e.g., 'pykde4_build pykde4_run').
#
# Available KDE4 components are:
#
# baseapps		- Basic applications for KDE Desktop
# kate			- KDE text editor framework
# kdehier		- Hierarchy of common KDE directories
# kdelibs		- KDE Developer Platform
# kdeprefix		- If set, port will be installed into ${KDE4_PREFIX} instead of
#				  ${LOCALBASE}
# korundum		- KDE Ruby bindings
# libkdcraw		- KDE LibRaw library
# libkdeedu		- Libraries used by KDE educational applications
# libkexiv2		- KDE Exiv2 library
# libkipi		- KDE Image Plugin Interface
# libkonq		- Konqueror core library
# libksane		- KDE SANE library
# marble		- KDE virtual globe
# okular		- KDE universal document viewer
# oxygen		- KDE icon theme
# perlkde		- KDE Perl bindings
# perlqt		- Qt 4 Perl bindings
# pimlibs		- KDE-Pim libraries
# pykde4		- KDE Python bindings
# pykdeuic4		- PyKDE user interface compiler
# qtruby		- Qt 4 Ruby bindings
# runtime		- Components required by many KDE Applications
# sharedmime	- MIME types database for KDE ports
# smokegen		- SMOKE base libraries
# smokekde		- KDE SMOKE libraries
# smokeqt		- Qt 4 SMOKE libraries
# workspace		- KDE user environments
# akonadi		- Storage server for KDE-Pim
# attica		- Qt library implementing Open Collaboration Services API
# automoc4		- Automatic moc for Qt 4 packages
# ontologies	- Shared ontologies for semantic searching
# qimageblitz	- KDE graphical effects and filters library
# soprano		- Qt 4 RDF framework
# strigi		- Desktop search daemon
#
# These read-only variables can be used in a port's Makefile:
#
# MASTER_SITE_KDE_kde
#				- It is equivalent to ${MASTER_SITE_KDE} with :kde tag. It could
#				  be used when port needs multiple distfiles from different
#				  sites. See for details the Porter's Handbook:
#				  http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-distfiles.html
# KDE4_PREFIX	- The place where KDE4 ports live. Currently it is
#				  ${LOCALBASE}/kde4, but this could change in the future.
#

KDE4_VERSION?=			4.8.4
KDE4_BRANCH?=			stable
CALLIGRA_VERSION?=		2.5.1
CALLIGRA_BRANCH?=		stable
KDEVELOP_VERSION?=		4.3.1
KDEVELOP_BRANCH?=		stable

#
# KDE4 is installed into its own prefix to avoid conflicting with KDE3.
#

KDE4_PREFIX?=	${LOCALBASE}/kde4

#
# Common definitions for KDE4 ports.
#

# ${PREFIX} and ${NO_MTREE} have to be defined in the pre-makefile section.
.if defined(USE_KDE4) && ${USE_KDE4:Mkdeprefix} != ""
. if ${.MAKEFLAGS:MPREFIX=*} == ""
PREFIX=					${KDE4_PREFIX}
.  if ${KDE4_PREFIX} != ${LOCALBASE}
NO_MTREE=				yes
.  endif
. endif
.endif

# Tagged ${MASTER_SITE_KDE}.
kmaster=				${MASTER_SITE_KDE:S@%/@%/:kde@g}
.if !defined(MASTER_SITE_SUBDIR)
MASTER_SITE_KDE_kde=	${kmaster:S@%SUBDIR%/@@g}
.else
ksub=					${MASTER_SITE_SUBDIR}
MASTER_SITE_KDE_kde=	${kmaster:S@%SUBDIR%/@${ksub}/@g}
.endif

PLIST_SUB+=				KDE4_PREFIX="${KDE4_PREFIX}"

# The following definitions are not intended for usage in KDE4-dependent ports.
.if defined(KDE4_BUILDENV)

USE_CMAKE=				yes
CMAKE_SOURCE_PATH=		${WRKSRC}
USE_LDCONFIG=			yes

. if ${KDE4_BRANCH} == "unstable"
WITH_DEBUG=				yes
. endif

. if defined(WITH_DEBUG)
CMAKE_BUILD_TYPE=		DebugFull
. endif

PLIST_SUB+=				KDE4_VERSION="${KDE4_VERSION}"

CONFIGURE_WRKSRC=		${CMAKE_SOURCE_PATH}/build
BUILD_WRKSRC=			${CONFIGURE_WRKSRC}
INSTALL_WRKSRC?=		${BUILD_WRKSRC}

post-extract:	kde4-create-builddir

kde4-create-builddir:
	${MKDIR} ${BUILD_WRKSRC}

.endif # defined(KDE4_BUILDENV)

.endif # !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)

.if defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)

Kde_Post_Include=	bsd.kde4.mk

#
# KDE4 components.
# Set ${component}_TYPE to 'build' or 'run' to specify default dependency type
# for ${component}; otherwise, it will default to 'build run'.
#

_USE_KDE4_ALL=		baseapps kdebase kate kdehier kdelibs kdeprefix korundum \
					libkdcraw libkdeedu libkexiv2 libkipi libkonq libksane \
					marble okular oxygen perlkde perlqt pimlibs pykde4 \
					pykdeuic4 qtruby runtime sharedmime smokegen smokekde \
					smokeqt workspace
# These components are not shipped with the Software Compilation.
_USE_KDE4_ALL+=		akonadi attica automoc4 ontologies qimageblitz soprano \
					strigi

# Do baseapps and runtime really need to be in ${BUILD_DEPENDS}?
baseapps_PORT=		x11/kde4-baseapps
baseapps_PATH=		${KDE4_PREFIX}/bin/kfmclient

# kdebase was replaced by baseapps.
kdebase_PORT=		${baseapps_PORT}
kdebase_PATH=		${baseapps_PATH}

kate_PORT=			editors/kate
kate_PATH=			${KDE4_PREFIX}/lib/libkateinterfaces.so.5

kdehier_PORT=		misc/kdehier4
kdehier_PATH=		kdehier4>=0
kdehier_TYPE=		run

kdelibs_PORT=		x11/kdelibs4
kdelibs_PATH=		${KDE4_PREFIX}/lib/libkdecore.so.7

korundum_PORT=		devel/kdebindings4-ruby-korundum
korundum_PATH=		${KDE4_PREFIX}/lib/kde4/krubypluginfactory.so
korundum_TYPE=		run

libkdcraw_PORT=		graphics/libkdcraw-kde4
libkdcraw_PATH=		${KDE4_PREFIX}/lib/libkdcraw.so.20

libkdeedu_PORT=		misc/libkdeedu
libkdeedu_PATH=		${KDE4_PREFIX}/lib/libkeduvocdocument.so.5

libkexiv2_PORT=		graphics/libkexiv2-kde4
libkexiv2_PATH=		${KDE4_PREFIX}/lib/libkexiv2.so.10

libkipi_PORT=		graphics/libkipi-kde4
libkipi_PATH=		${KDE4_PREFIX}/lib/libkipi.so.8

libkonq_PORT=		x11/libkonq
libkonq_PATH=		${KDE4_PREFIX}/lib/libkonq.so.7

libksane_PORT=		graphics/libksane
libksane_PATH=		${KDE4_PREFIX}/lib/libksane.so.0

marble_PORT=		astro/marble
marble_PATH=		${KDE4_PREFIX}/lib/libmarblewidget.so.13

okular_PORT=		graphics/okular
okular_PATH=		${KDE4_PREFIX}/lib/libokularcore.so.1

oxygen_PORT=		x11-themes/kde4-icons-oxygen
oxygen_PATH=		${KDE4_PREFIX}/share/icons/oxygen/index.theme
oxygen_TYPE=		run

perlkde_PORT=		devel/kdebindings4-perl-perlkde
perlkde_PATH=		${KDE4_PREFIX}/lib/kde4/kperlpluginfactory.so
perlkde_TYPE=		run

perlqt_PORT=		devel/kdebindings4-perl-perlqt
perlqt_PATH=		${KDE4_PREFIX}/bin/puic4

pimlibs_PORT=		deskutils/kdepimlibs4
pimlibs_PATH=		${KDE4_PREFIX}/lib/libkpimutils.so.5

pykde4_PORT=		devel/kdebindings4-python-pykde4
pykde4_PATH=		${KDE4_PREFIX}/lib/kde4/kpythonpluginfactory.so
pykde4_TYPE=		run

pykdeuic4_PORT=		devel/kdebindings4-python-pykdeuic4
pykdeuic4_PATH=		${LOCALBASE}/bin/pykdeuic4
pykdeuic4_TYPE=		run

qtruby_PORT=		devel/kdebindings4-ruby-qtruby
qtruby_PATH=		${KDE4_PREFIX}/lib/libqtruby4shared.so.2

runtime_PORT=		x11/kde4-runtime
runtime_PATH=		${KDE4_PREFIX}/bin/knotify4

sharedmime_PORT=	misc/kde4-shared-mime-info
sharedmime_PATH=	kde4-shared-mime-info>=0

smokegen_PORT=		devel/kdebindings4-smoke-smokegen
smokegen_PATH=		${KDE4_PREFIX}/lib/libsmokebase.so.3

smokekde_PORT=		devel/kdebindings4-smoke-smokekde
smokekde_PATH=		${KDE4_PREFIX}/lib/libsmokekdecore.so.3

smokeqt_PORT=		devel/kdebindings4-smoke-smokeqt
smokeqt_PATH=		${KDE4_PREFIX}/lib/libsmokeqtcore.so.3

workspace_PORT=		x11/kde4-workspace
workspace_PATH=		${KDE4_PREFIX}/lib/libkworkspace.so.5

akonadi_PORT=		databases/akonadi
akonadi_PATH=		${KDE4_PREFIX}/lib/libakonadiprotocolinternals.so.1

attica_PORT=		x11-toolkits/attica
attica_PATH=		${LOCALBASE}/lib/libattica.so.0

automoc4_PORT=		devel/automoc4
automoc4_PATH=		${LOCALBASE}/bin/automoc4
automoc4_TYPE=		build

ontologies_PORT=	x11-toolkits/shared-desktop-ontologies
ontologies_PATH=	${LOCALBASE}/share/ontology/core/rdf.ontology

qimageblitz_PORT=	x11/qimageblitz
qimageblitz_PATH=	${LOCALBASE}/lib/libqimageblitz.so.4

soprano_PORT=		textproc/soprano
soprano_PATH=		${LOCALBASE}/lib/libsoprano.so.4

strigi_PORT=		deskutils/strigi
strigi_PATH=		${LOCALBASE}/lib/libstreamanalyzer.so.0

# Iterate through components deprived of suffix.
.for component in ${USE_KDE4:O:u:C/_.+//}
  # Check that the component is valid.
. if ${_USE_KDE4_ALL:M${component}} != ""
   # Skip meta-components (e.g., kdeprefix).
.  if defined(${component}_PORT) && defined(${component}_PATH)
${component}_DEPENDS=	${${component}_PATH}:${PORTSDIR}/${${component}_PORT}
    # Check if a dependency type is explicitly requested.
.   if ${USE_KDE4:M${component}_*} != "" && ${USE_KDE4:M${component}} == ""
${component}_TYPE=	# empty
.    if ${USE_KDE4:M${component}_build} != ""
${component}_TYPE+=	build
.    endif
.    if ${USE_KDE4:M${component}_run} != ""
${component}_TYPE+=	run
.    endif
.   endif # ${USE_KDE4:M${component}_*} != "" && ${USE_KDE4:M${component}} == ""
    # If no dependency type is set, default to full dependency.
.   if !defined(${component}_TYPE)
${component}_TYPE=	build run
.   endif
    # Set real dependencies.
.   if ${${component}_TYPE:Mbuild} != ""
BUILD_DEPENDS+=		${${component}_DEPENDS}
.   endif
.   if ${${component}_TYPE:Mrun} != ""
RUN_DEPENDS+=		${${component}_DEPENDS}
.   endif
.  endif # defined(${component}_PORT) && defined(${component}_PATH)
. else # ! ${_USE_KDE4_ALL:M${component}} != ""
IGNORE=				can't be installed: unknown USE_KDE4 component '${component}'
. endif # ${_USE_KDE4_ALL:M${component}} != ""
.endfor

.endif # defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)